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
150
[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.7k
DeNAにおけるデータ活用事例 〜移動体データ活用によるサービス創出とその基盤 / Data Driven Service in Taxi hiring app MOV
soymsk
0
300
Introduction of GCP Dataflow
soymsk
1
200
wavenet
soymsk
0
57
Other Decks in Technology
See All in Technology
マルチアカウント環境への発見的統制の導入
ch1aki
1
1.3k
ここが嬉しいABAC ここが辛いよABAC #再解説+補足編
masahirokawahara
1
260
Terraformあれやこれ/terraform-this-and-that
emiki
8
1.3k
反実仮想機械学習とは何か
usaito
PRO
8
3k
コンテナセキュリティの基本と脅威への対策
kyohmizu
3
740
JSON攻略法.pdf
miyakemito
8
4.5k
アクセス制御にまつわる改善 / Improving access control
itkq
0
470
日本におけるデータエンジニアリングのこれまでとこれから
foursue
16
4k
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
200
本当のAWS基礎
toru_kubota
0
370
MLOpsの「壁」を乗り越える、LINEヤフーの Data Quality as Code
lycorptech_jp
PRO
3
120
JAWS-UG Bedrock Claude Night
yamahiro
3
470
Featured
See All Featured
Happy Clients
brianwarren
91
6.4k
Done Done
chrislema
178
15k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
16
1.4k
Unsuck your backbone
ammeep
662
57k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
13
1.5k
Design by the Numbers
sachag
274
18k
Code Reviewing Like a Champion
maltzj
513
39k
[RailsConf 2023] Rails as a piece of cake
palkan
22
3.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Fantastic passwords and where to find them - at NoRuKo
philnash
36
2.5k
What's new in Ruby 2.0
geeforr
337
31k
What's in a price? How to price your products and services
michaelherold
237
11k
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