Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[SUSTEN 勉強会]マイナンバーカードの仕組み
Search
soymsk
April 30, 2022
Technology
0
180
[SUSTEN 勉強会]マイナンバーカードの仕組み
#susten
マイナンバーの仕組み
・マイナンバーの内部構造
・マイナンバーのセキュリティ
・カードAP
・[Demo]Macからマイナンバーのデータを読み取る
soymsk
April 30, 2022
Tweet
Share
More Decks by soymsk
See All by soymsk
Google_Cloud_Next_19_AI_ML_Summary_public.pdf
soymsk
6
1.8k
DeNAにおけるデータ活用事例 〜移動体データ活用によるサービス創出とその基盤 / Data Driven Service in Taxi hiring app MOV
soymsk
0
330
Introduction of GCP Dataflow
soymsk
1
220
wavenet
soymsk
0
77
Other Decks in Technology
See All in Technology
開発者のための FinOps/FinOps for Engineers
oracle4engineer
PRO
2
290
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる #jawsdays2025
non97
1
280
DeepSeekとは?何がいいの? - Databricksと学ぶDeepSeek! 〜これからのLLMに備えよ!〜
taka_aki
2
210
ライフステージの変化を乗り越える 探索型のキャリア選択
tenshoku_draft
2
360
入門 PEAK Threat Hunting @SECCON
odorusatoshi
0
190
Amazon Bedrock 2025 年の熱いアップデート (2025/3 時点)
icoxfog417
PRO
3
420
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
250
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
35
24k
MLflowはどのようにLLMOpsの課題を解決するのか
taka_aki
0
160
開発者体験を定量的に把握する手法と活用事例
ham0215
0
150
[OpsJAWS Meetup33 AIOps] Amazon Bedrockガードレールで守る安全なAI運用
akiratameto
1
140
AI自体のOps 〜LLMアプリの運用、AWSサービスとOSSの使い分け〜
minorun365
PRO
10
1.3k
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
13
1k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Into the Great Unknown - MozCon
thekraken
35
1.7k
Typedesign – Prime Four
hannesfritz
41
2.5k
Building an army of robots
kneath
303
45k
Docker and Python
trallard
44
3.3k
4 Signs Your Business is Dying
shpigford
183
22k
Faster Mobile Websites
deanohume
306
31k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Transcript
マイナンバーカードの仕組み なぜマイナンバーカードで本人確認ができるのか SUSTEN 2022/04/28 Ryosuke Mashiko
モチベーション • マイナンバーカードの技術要素を知りたい • マイナンバーカードで本人確認ができるって聞いたけどなぜかわからない • eTaxでマイナンバーカードが利用できる仕組みが知りたい 2
マイナンバーカード • みんなご存じマイナンバーカード • 2022/04/01時点で普及率は43.3% ◦ マイナポイント (2020年9月1日~)効 果? •
今後マイナポイント第2弾、第3 弾のキャンペーンにより、さらに 普及率は加速すると思われる。 3 マイナポイント第1弾 データ引用元: https://mynumbercard.code4japan.org/data/20220401
マイナンバーカード格納データ 4 • 券面 ◦ 表面: 氏名・住所・生年月日・性別(以上、基本4情報)・顔写真・電子証明書の有効期限・ セキュリティコード・サインパネル領域・臓器提供意思表示欄 ◦ 裏面:マイナンバー番号
• 各種電子証明書 ◦ 利用者証明用電子証明書 ◦ 署名用電子証明書 引用:https://www.city.hannan.lg.jp/kakuka/shimin/shimin/mynumbercard/1589764470892.html
マイナンバーカードのセキュリティ 5 • 表面は簡単に偽造できないように、レーザー印字・パターン印字 • 耐タンパー性(tamper: 「干渉する」「弄る」) ◦ IC チップ内の情報を不正に(物理的に)アクセスされた場合に、
▪ 光が当たるとメモリー内容が消去される ▪ メモリカー回路素子が表面から観察できない ▪ 電圧異常、クロック異常等を検知した場合は動作停止 ▪ メモリー素子のランダム配列、格納情報の暗号化 ◦ 消費電力や処理時間で格納データを推測する攻撃(サイドチャネル攻撃)に対しては、消費 電力や処理時間をランダムに攪拌することで対応 • AP間の格納情報にはアクセスできないようアプリケーションファイヤウォー ルにより独立性を担保
マイナンバーカードAP(1/3) 6 • カードOS上に各種カードAP(カー ドアプリケーション)が搭載 ◦ カードOSはベンダーごとに異なるが、カード APのI/Fが規格化されているので、どのベンダ ー製でも同じ形式で通信できる •
カードAP一覧 ◦ 公的個人認証AP ◦ 券面事項確認AP ◦ 券面事項入力補助AP ◦ 住基AP 公的個人認証AP 券面事項確認AP 券面事項入力補助AP 住基AP カードOS 空き領域 条例利用領域 拡張利用領域 マイナンバーカードの内部構成
マイナンバーカードAP(2/3) 7 • 公的個人認証AP ◦ PKI(公開鍵基盤)による電子署名や本人認証を提供 ◦ 電子証明書 ▪ 利用者証明用電子証明書
• 住民票や印鑑登録証のコンビニ交付に利用。暗証番号4桁 ▪ 署名用電子証明書 • インターネット経由で厳格な本人確認が可能。押印が必要な書類の電子化。 暗証番号は6桁 ◦ 住所が変更になると証明書は無効になる ▪ 顧客から提出された証明書の有効・無効を取得することで、事業者側が顧客の 住所変更を能動的に検知することが可能 • → 金融機関にとって利便性が高い
マイナンバーカードAP(2/3) 8 発表中、補足資料
マイナンバーカードAP(3/3) 9 • 券面事項確認AP ◦ カード券面の「画像」が保存されている。アクセスには券面記載事項の入力が必要 ◦ 利用ケース: 券面の偽造の有無の確認 •
券面事項入力補助AP ◦ 個人番号や基本4情報を「テキストデータ」として保存 ◦ アクセスには4桁の暗証番号入力や、券面記載情報の入力などが必要 • 住基AP ◦ 住民票コードを保存。自治体のみが利用化
電子証明書の有効性検証 10 • マイナンバーカードに搭載されている証明書はPKIを利用しているため、 証明書検証が必須 • 公的個人認証サービスは地方公共団体情報システム機構(J-LIS)が一括して 運営 ◦ J-LIS
▪ マイナンバーの発行 ▪ 認証局の運営 ▪ 証明書失効情報の管理 ▪ 認証局のCAファイルはこちらで配布されている • https://www.jpki.go.jp/ca/ca_rules3.html ・認証局 ・証明書失効情報 利用者 J -LIS 事業者 証明書 証明書の正当性の検証 失効の把握
マイナンバーカードの今後の展望 • 健康保険証機能 • 免許証機能 • スマートフォンへの電子証明書機能搭載 • マイキーID(マイキープラットフォーム)の活用 ◦
マイナンバーカードに搭載された「マイキーID」を利用した広く民間サービスの本人確認に 利用できるID (マイキーID ≠ マイナンバーカード) ▪ 利用者証明用電子証明書を用いて任意に生成可能なID • マイナンバーに比べ、より幅広い用途での利用が想定されており、民間事業者が サービス利用者IDとマイキーIDとの対応を管理することができ、マイナンバーカ ードをユーザー認証に利用できる ◦ 図書館カード, ポイントカード, 会員証 11
デモ 12
非接触型(Type B ISO/IEC 14443) マイナンバーカードのI/F 13 規格 特長 利用例 Type
A ISO/IEC 14443 ISO/IEC 18092 低機能、安価、小容量 入退室カード, taspo Type B ISO/IEC 14443 高機能・高セキュリティ 運転免許証、マイ ナンバーカード FeliCa ISO/IEC 18092 本来は14443 TypeCとして 規格化する方向で提案され ていたが、色々あり 18092 での採択となった。日本で 広く普及 Suica, 楽天Edy, nanaco 接触型(ICチップ ISO/IEC 7816) • クレカ • B-CASカード • SIMカード
マイナンバーと通信する • PC: 2021 M1 Mac • Reader: 接触型カードリーダー(SCR3310-NTTCom) •
Lib: OpenSC(https://github.com/OpenSC/OpenSC) ◦ $ brew install opensc openssl 14
マイナンバーと通信する 15 PIN試行回数 PIN規定長
マイナンバーと通信する 16 PIN試行回数 PIN規定長 失敗すると減る
マイナンバーと通信する 17
マイナンバーと通信する 18
マイナンバーと通信する 19 • 格納情報の閲覧であれば、 JPKIアプリで簡単にできる https://play.google.com/store/apps/details?id=jp.go.jpki.mobile.utility&hl= ja ◦ pinコード回数のリセットに使った。。。 •
署名証明書を使えば、基本4情報を直接入力させずに、オンラインかつ本人 性が担保された状態で情報を取得できる Confidential
次回予告..? 20 • Pythonでマイナンバーと通信してみる ◦ opensc ◦ cryptography Confidential
参考 21 • https://www.soumu.go.jp/main_content/000528384.pdf • https://www.fujitsu.com/jp/documents/about/resources/publications/magazine/backnumber/v ol68-4/paper10.pdf • マイナンバー制度とマイナンバーカード ◦
https://www.jstage.jst.go.jp/article/itej/70/7/70_593/_pdf