SlideShare a Scribd company logo
1 of 32
Download to read offline
OpenSC JPKIカードドラ
イバ
Open Source Solution Technology Corporation
HAMANO Tsukasa <hamano@osstech.co.jp>
PKI Day 2017
1
OpenSC JPKI カードドライバ
個人番号カード(マイナンバー
カード)
2
OpenSC JPKI カードドライバ
2種類の証明書
• 署名用証明書
• 身分証明
• 電子申請
• 利用者認証用証明書
• 行政・民間サイトでの認証用
3
OpenSC JPKI カードドライバ
データモデル
4
OpenSC JPKI カードドライバ
APDU(ISO 7816-4)
5
OpenSC JPKI カードドライバ
APDU通信例 - SELECT FILE
6
OpenSC JPKI カードドライバ
APDU通信例 - PIN入力
< 00 20 00 80 04 XX XX XX XX
> 90 00 # 成功
> 63 C2 # 失敗
7
OpenSC JPKI カードドライバ
APDU通信例 - 署名
秘密鍵IEFをSELECT FILE
< 00 A4 02 0C 02 00 17
> 90 00
署名
< 80 2A 00 80 [PKCS1 DigestInfo]
> [署名データ]
8
OpenSC JPKI カードドライバ
PKCS1 DigestInfo
SEQUENCE {
SEQUENCE {
OBJECT IDENTIFIER 
sha1(1 3 14 3 2 26)
NULL
}
OCTET STRING XX XX .. XX XX
}
9
OpenSC JPKI カードドライバ
ロードマップ
• カードエッジ仕様の解析
• OpenSCカードドライバ開発
• オープンな PKCS#11 実装
• PKCS#15 カードエミュレーション
• 公的個人認証の普及
10
OpenSC JPKI カードドライバ
仕様を隠さないで
• 安全性の為に
• 普及の為に
11
OpenSC JPKI カードドライバ
OpenSCスタック
12
OpenSC JPKI カードドライバ
OpenSCカードドライバ
• esteid(エストニア)
• Belpic(ベルギー)
• DNIe(スペイン)
• CNS(イタリア)
• pteID(ポルトガル)
• PIV(米国)
13
OpenSC JPKI カードドライバ
PKCS#11 APIs
• C_Initialize()
• C_FindObjects()
• C_Login()
• C_Sign()
• C_Finalize()
14
OpenSC JPKI カードドライバ
PKCS#15エミュレーション
15
OpenSC JPKI カードドライバ
マイナンバーカードでSSH
https://www.osstech.co.jp/~hamano/
posts/jpki-ssh/
16
OpenSC JPKI カードドライバ
SSHプロトコル
17
OpenSC JPKI カードドライバ
SSH公開鍵認証
18
OpenSC JPKI カードドライバ
ブラウザ対応状況
19
OpenSC JPKI カードドライバ
TLSクライアント認証 with
Microsoft Edge
20
OpenSC JPKI カードドライバ
TLSクライアント認証 with
Mozilla Firefox
21
OpenSC JPKI カードドライバ
目指すべき社会
• 電子先進国(エストニア・ベルギー)
• オープン・スタンダード
• オープン・ソース
• OS・ブラウザ非依存
• 高い普及率と利用率
• 電子後進国(日本)
• 仕様が非公開
• クローズドソース
• Java Applet(笑)
22
OpenSC JPKI カードドライバ
課題
• 運用に対する不安
• マイナンバーに対する不信
• 鍵生成の仕組み
• 仕様公開されないと安心できない
• 失効情報の検証
• 総務大臣の認可
• 名寄せの問題
• 信頼できる ID Provider が必要
• 複数の鍵管理
23
OpenSC JPKI カードドライバ
github.com/open-eid
24
OpenSC JPKI カードドライバ
github.com/JPKI
25
OpenSC JPKI カードドライバ
OpenSCソースレポジトリ
• github.com/OpenSC
• OpenSC/master
• github.com/JPKI
• OpenSC/jpki = 0.16.0 + JPKI patch
26
OpenSC JPKI カードドライバ
GNU Lesser General Public
License
• アプリ + LGPLライブラリ別配布
• アプリ + LGPLライブラリ同梱
• アプリ + LGPLライブラリstatic link
適用例: glibc, GTK+
27
OpenSC JPKI カードドライバ
mynaコマンド
https://github.com/jpki/myna
$ myna --help
COMMANDS:
card 券面事項を表示
cert 証明書を表示
sign CMS署名
pin_status PINステータス
28
OpenSC JPKI カードドライバ
5種類のOSで動く!
29
OpenSC JPKI カードドライバ
CMS署名(RFC 5652)
$ myna sign 
-i 文書ファイル 
-o 署名付きファイル
30
OpenSC JPKI カードドライバ
検証
$ openssl cms -verify 
-CAfile CA.pem 
-inform der -in 署名ファイル
31
OpenSC JPKI カードドライバ
GUI版もある
32

More Related Content

Viewers also liked

個人番号カードと公的個人認証の民間利用について - OpenID Summit 2015
個人番号カードと公的個人認証の民間利用について - OpenID Summit 2015個人番号カードと公的個人認証の民間利用について - OpenID Summit 2015
個人番号カードと公的個人認証の民間利用について - OpenID Summit 2015OpenID Foundation Japan
 
Android 6.0 Marshmallow 指紋認証対応のポイント
Android 6.0 Marshmallow 指紋認証対応のポイントAndroid 6.0 Marshmallow 指紋認証対応のポイント
Android 6.0 Marshmallow 指紋認証対応のポイントKenichi Kambara
 
Making AutoRun USB HID Device / 自動入力するHIDデバイスを安く簡単に作る
Making AutoRun USB HID Device / 自動入力するHIDデバイスを安く簡単に作るMaking AutoRun USB HID Device / 自動入力するHIDデバイスを安く簡単に作る
Making AutoRun USB HID Device / 自動入力するHIDデバイスを安く簡単に作る玲 佐藤
 
Android カスタムROMの作り方
Android カスタムROMの作り方Android カスタムROMの作り方
Android カスタムROMの作り方Masahiro Hidaka
 
Windows10タブレットにUbuntu16.04を色々入れてみた 2016年度版 Install Ubuntu16.04 on Windows10 T...
Windows10タブレットにUbuntu16.04を色々入れてみた 2016年度版 Install Ubuntu16.04 on Windows10 T...Windows10タブレットにUbuntu16.04を色々入れてみた 2016年度版 Install Ubuntu16.04 on Windows10 T...
Windows10タブレットにUbuntu16.04を色々入れてみた 2016年度版 Install Ubuntu16.04 on Windows10 T...Netwalker lab kapper
 

Viewers also liked (8)

ldapcon2015 hamano
ldapcon2015 hamanoldapcon2015 hamano
ldapcon2015 hamano
 
個人番号カードと公的個人認証の民間利用について - OpenID Summit 2015
個人番号カードと公的個人認証の民間利用について - OpenID Summit 2015個人番号カードと公的個人認証の民間利用について - OpenID Summit 2015
個人番号カードと公的個人認証の民間利用について - OpenID Summit 2015
 
公的個人認証Ict2009
公的個人認証Ict2009公的個人認証Ict2009
公的個人認証Ict2009
 
Android 6.0 Marshmallow 指紋認証対応のポイント
Android 6.0 Marshmallow 指紋認証対応のポイントAndroid 6.0 Marshmallow 指紋認証対応のポイント
Android 6.0 Marshmallow 指紋認証対応のポイント
 
Jim kleinbio1may16
Jim kleinbio1may16Jim kleinbio1may16
Jim kleinbio1may16
 
Making AutoRun USB HID Device / 自動入力するHIDデバイスを安く簡単に作る
Making AutoRun USB HID Device / 自動入力するHIDデバイスを安く簡単に作るMaking AutoRun USB HID Device / 自動入力するHIDデバイスを安く簡単に作る
Making AutoRun USB HID Device / 自動入力するHIDデバイスを安く簡単に作る
 
Android カスタムROMの作り方
Android カスタムROMの作り方Android カスタムROMの作り方
Android カスタムROMの作り方
 
Windows10タブレットにUbuntu16.04を色々入れてみた 2016年度版 Install Ubuntu16.04 on Windows10 T...
Windows10タブレットにUbuntu16.04を色々入れてみた 2016年度版 Install Ubuntu16.04 on Windows10 T...Windows10タブレットにUbuntu16.04を色々入れてみた 2016年度版 Install Ubuntu16.04 on Windows10 T...
Windows10タブレットにUbuntu16.04を色々入れてみた 2016年度版 Install Ubuntu16.04 on Windows10 T...
 

Similar to OpenSC JPKIカードドライバ

『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説Takashi Yahata
 
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
 
新しい認証技術FIDOの最新動向
新しい認証技術FIDOの最新動向新しい認証技術FIDOの最新動向
新しい認証技術FIDOの最新動向FIDO Alliance
 
OpenID ConnectとSCIMのエンタープライズ利用ガイドライン
OpenID ConnectとSCIMのエンタープライズ利用ガイドラインOpenID ConnectとSCIMのエンタープライズ利用ガイドライン
OpenID ConnectとSCIMのエンタープライズ利用ガイドラインTakashi Yahata
 
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)Tatsuo Kudo
 
#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor auth#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor authRyo Ito
 
OpenID Connect - Nat Sakimura at OpenID TechNight #7
OpenID Connect - Nat Sakimura at OpenID TechNight #7OpenID Connect - Nat Sakimura at OpenID TechNight #7
OpenID Connect - Nat Sakimura at OpenID TechNight #7OpenID Foundation Japan
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014Nov Matake
 
IDaaSにSign in with Appleをつないでみた
IDaaSにSign in with AppleをつないでみたIDaaSにSign in with Appleをつないでみた
IDaaSにSign in with AppleをつないでみたNaohiro Fujie
 
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014Takashi Yahata
 
認証から見たリモート署名 ー利用認証と鍵認可ー
認証から見たリモート署名 ー利用認証と鍵認可ー認証から見たリモート署名 ー利用認証と鍵認可ー
認証から見たリモート署名 ー利用認証と鍵認可ーNaoto Miyachi
 
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けてOpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けてTakashi Yahata
 
Sec019 30分で理解 !_初心者向
Sec019 30分で理解 !_初心者向Sec019 30分で理解 !_初心者向
Sec019 30分で理解 !_初心者向Tech Summit 2016
 
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜Masaru Kurahayashi
 
NFT/VCを活用した「キャリア証明書」の発行を通じて企業の認知形成・採用を支援するサービス「sakazuki」紹介資料【2023年度版】
NFT/VCを活用した「キャリア証明書」の発行を通じて企業の認知形成・採用を支援するサービス「sakazuki」紹介資料【2023年度版】NFT/VCを活用した「キャリア証明書」の発行を通じて企業の認知形成・採用を支援するサービス「sakazuki」紹介資料【2023年度版】
NFT/VCを活用した「キャリア証明書」の発行を通じて企業の認知形成・採用を支援するサービス「sakazuki」紹介資料【2023年度版】y moe
 
マイクロソフトのITコンシューマライゼーション2 - フレキシブルワークスタイルを支えるテクノロジー 第2版
マイクロソフトのITコンシューマライゼーション2 - フレキシブルワークスタイルを支えるテクノロジー 第2版マイクロソフトのITコンシューマライゼーション2 - フレキシブルワークスタイルを支えるテクノロジー 第2版
マイクロソフトのITコンシューマライゼーション2 - フレキシブルワークスタイルを支えるテクノロジー 第2版junichi anno
 
情報処理技術者試験で学ぶ SAML
情報処理技術者試験で学ぶ SAML情報処理技術者試験で学ぶ SAML
情報処理技術者試験で学ぶ SAMLhigher_tomorrow
 

Similar to OpenSC JPKIカードドライバ (20)

OpenID Connect Summit Transfer of Information
OpenID Connect Summit Transfer of InformationOpenID Connect Summit Transfer of Information
OpenID Connect Summit Transfer of Information
 
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説
 
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
 
新しい認証技術FIDOの最新動向
新しい認証技術FIDOの最新動向新しい認証技術FIDOの最新動向
新しい認証技術FIDOの最新動向
 
OpenID ConnectとSCIMのエンタープライズ利用ガイドライン
OpenID ConnectとSCIMのエンタープライズ利用ガイドラインOpenID ConnectとSCIMのエンタープライズ利用ガイドライン
OpenID ConnectとSCIMのエンタープライズ利用ガイドライン
 
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
 
#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor auth#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor auth
 
OpenID Connect - Nat Sakimura at OpenID TechNight #7
OpenID Connect - Nat Sakimura at OpenID TechNight #7OpenID Connect - Nat Sakimura at OpenID TechNight #7
OpenID Connect - Nat Sakimura at OpenID TechNight #7
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
 
IDaaSにSign in with Appleをつないでみた
IDaaSにSign in with AppleをつないでみたIDaaSにSign in with Appleをつないでみた
IDaaSにSign in with Appleをつないでみた
 
Standard-based Identity (1)
Standard-based Identity (1)Standard-based Identity (1)
Standard-based Identity (1)
 
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
 
認証から見たリモート署名 ー利用認証と鍵認可ー
認証から見たリモート署名 ー利用認証と鍵認可ー認証から見たリモート署名 ー利用認証と鍵認可ー
認証から見たリモート署名 ー利用認証と鍵認可ー
 
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けてOpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
 
Sec019 30分で理解 !_初心者向
Sec019 30分で理解 !_初心者向Sec019 30分で理解 !_初心者向
Sec019 30分で理解 !_初心者向
 
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
 
Introduction of Bridging IMS and Internet Identity
Introduction of Bridging IMS and Internet IdentityIntroduction of Bridging IMS and Internet Identity
Introduction of Bridging IMS and Internet Identity
 
NFT/VCを活用した「キャリア証明書」の発行を通じて企業の認知形成・採用を支援するサービス「sakazuki」紹介資料【2023年度版】
NFT/VCを活用した「キャリア証明書」の発行を通じて企業の認知形成・採用を支援するサービス「sakazuki」紹介資料【2023年度版】NFT/VCを活用した「キャリア証明書」の発行を通じて企業の認知形成・採用を支援するサービス「sakazuki」紹介資料【2023年度版】
NFT/VCを活用した「キャリア証明書」の発行を通じて企業の認知形成・採用を支援するサービス「sakazuki」紹介資料【2023年度版】
 
マイクロソフトのITコンシューマライゼーション2 - フレキシブルワークスタイルを支えるテクノロジー 第2版
マイクロソフトのITコンシューマライゼーション2 - フレキシブルワークスタイルを支えるテクノロジー 第2版マイクロソフトのITコンシューマライゼーション2 - フレキシブルワークスタイルを支えるテクノロジー 第2版
マイクロソフトのITコンシューマライゼーション2 - フレキシブルワークスタイルを支えるテクノロジー 第2版
 
情報処理技術者試験で学ぶ SAML
情報処理技術者試験で学ぶ SAML情報処理技術者試験で学ぶ SAML
情報処理技術者試験で学ぶ SAML
 

OpenSC JPKIカードドライバ