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
170
[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
320
Introduction of GCP Dataflow
soymsk
1
210
wavenet
soymsk
0
74
Other Decks in Technology
See All in Technology
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
350
大規模言語モデルとそのソフトウェア開発に向けた応用 (2024年版)
kazato
1
190
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
39k
プロダクト組織で取り組むアドベントカレンダー/Advent Calendar in Product Teams
mixplace
0
510
3年でバックエンドエンジニアが5倍に増えても破綻しなかったアーキテクチャ そして、これから / Software architecture that scales even with a 5x increase in backend engineers in 3 years
euglena1215
11
4.1k
20240522 - 躍遷創作理念 @ PicCollage Workshop
dpys
0
210
Google Cloud で始める Cloud Run 〜AWSとの比較と実例デモで解説〜
risatube
PRO
0
120
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
5
320
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
2
730
ZOZOTOWN の推薦における KPI モニタリング/KPI monitoring for ZOZOTOWN recommendations
rayuron
1
200
AWS re:Invent 2024 ふりかえり勉強会
yhana
0
630
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
150
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Done Done
chrislema
182
16k
Documentation Writing (for coders)
carmenintech
67
4.5k
YesSQL, Process and Tooling at Scale
rocio
170
14k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Embracing the Ebb and Flow
colly
84
4.5k
A Philosophy of Restraint
colly
203
16k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
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