Slide 1

Slide 1 text

マイナンバーカードの 暗号技術とセキュリティ @tex2e セキュリティ・ミニキャンプ新潟 2023

Slide 2

Slide 2 text

自己紹介 ● @tex2e ● 得意分野 ○ 暗号技術、プロトコル、セキュリティ ● 活動 ○ セキュリティ・キャンプ2018 TLS 1.3/暗号ゼミ(参加者) ○ セキュリティ・キャンプ2019〜2021(チュータ) ○ セキュリティ・キャンプ2022〜2023(講師) ○ Hardening Project 2021〜2022(競技者)

Slide 3

Slide 3 text

今日の目的 ● 暗号技術で社会インフラをより良くする方法を学ぶ ○ 本人確認

Slide 4

Slide 4 text

今日の目標 ● マイナンバー制度について知る(0.5h) ○ マイナンバー、情報連携 ● マイナンバーカードの仕組みを理解する(1.5h) ○ 2種類の証明書、APDUコマンド ● デジタル本人確認について知る(0.5h) ○ 犯収法、身元確認と本人認証の違い

Slide 5

Slide 5 text

サンプルプログラム ● 講義中に使用するプログラムはGitHubで公開しています。 ● 事前に各自でダウンロードしてください   https://github.com/tex2e/secminicamp2023-mynumber/

Slide 6

Slide 6 text

Overview of Number System マイナンバー制度の概要

Slide 7

Slide 7 text

マイナンバー制度の目的 ● 行政を効率化する ○ 情報照会・転記・入力に要する時間を削減する ● 国民の利便性を高める ○ 行政手続きに必要な添付書類を削減する ○ 行政機関からのお知らせを受け取る ● 公平・公正な社会を実現する ○ 所得や他の行政サービスの受給状況を把握し、 脱税や不正受給を防止する

Slide 8

Slide 8 text

マイナンバー制度 ● 住民票コードからマイナンバーへの変換は一方向性である ○ 行政手続における特定の個人を識別するための番号の利用等に関する法律(平成二十五年法律 第二十七号)第八条 ● 制度改正前:住民票コード (11桁の数字) のみで管理 ○ 民間企業では利用禁止 ● 制度改正後:マイナンバー (12桁の数字) でも管理 ○ 民間企業でも社会保障・税・災害の分野で利用可

Slide 9

Slide 9 text

余談:マイナンバーの検査用数字 ● マイナンバーの12桁目はチェックデジット ※実質11桁 最下位の桁を1桁目としたときのn桁目 ● 行政手続における特定の個人を識別するための番号の利用等に関する法律に規定する個人番号、個人番号 カード、特定個人情報の提供等に関する命令(平成二十六年総務省令第八十五号)第五条 ※11で除算した余りが1のときは  0とする

Slide 10

Slide 10 text

マイナンバー付番の流れ マイナンバーの付番の流れ(参考資料2) ― 法務省の資料 https://www.moj.go.jp/content/001154671.pdf

Slide 11

Slide 11 text

住民基本台帳 ● 住民票 ○ 氏名、生年月日、住所、性別などが記載された情報 ● 住民基本台帳 ○ 様々な人の住民票をまとめた台帳 住民票とは/札幌市  https://www.city.sapporo.jp/shimin/koseki/shomei/what_juminhyo.html

Slide 12

Slide 12 text

住民票コード ● 法律で定められた行政機関の申請や届出に利用する ○ 転入届、パスポート申請、年金の裁定請求など ● 住基ネットを経由して自治体間で連携できる (2002〜) 住民票とは/札幌市  https://www.city.sapporo.jp/shimin/koseki/shomei/what_juminhyo.html

Slide 13

Slide 13 text

住基ネット 住基ネットの回線構成図 ― 総務省の資料 https://www.soumu.go.jp/main_content/000767707.pdf

Slide 14

Slide 14 text

住基ネット ● 住基ネットで照会できる情報は本人確認情報のみ ⇒ 本人確認情報だけでは社会保障制度に関する手続きができない ● 社会保障制度に関する各種手続きは、 様々な行政機関が発行する証明書の提出が必要になる ○ 例)住民票、課税証明書、生活保護受給証明書、障害者手帳 など

Slide 15

Slide 15 text

消えた年金問題 (2007) ● 年金手帳などに記載されている基礎年金番号に統合されていない記 録(持ち主不明の年金記録)約5095万件の存在が明らかに ● 紙台帳で管理していた年金記録を電子化する際に不正確な転記 年金記録問題とは? ― 日本年金機構 https://www.nenkin.go.jp/service/nenkinkiroku/torikumi/sonota/kini-cam/20150601-05.html

Slide 16

Slide 16 text

消えた年金問題への対策 ● 地方自治体、日本年金機構、事業主のそれぞれが共通番号で個人を 特定・管理すれば、転職・結婚などの異動があっても年金情報の整合 性を保てる ⇒ 社会保障番号制度の導入

Slide 17

Slide 17 text

社会保障・税番号制度の導入 ● 民主党政権マニフェストに登場 (2009) ● 共通番号(後にマイナンバー)で個人を識別 ● 税や社会保障分野の個人情報は情報連携基盤 (情報提供ネットワークシステム)を経由して連携 ● 住民票コードとは異なり共通番号は民間でも広く利用可 ● マイナンバー法案が可決、成立 (2013)

Slide 18

Slide 18 text

マイナンバー制度の重点3項目 ● マイナンバー ○ 行政手続き等で特定の個人を識別するための番号 ● マイナンバーカード ○ 本人確認書類、証明書のコンビニ交付、健康保険証(運転免許証) ● マイナポータル ○ 電子申請(ぴったりサービス、引越し手続きオンラインサービス)

Slide 19

Slide 19 text

マイナンバー ● 住民票を持つ日本国内の全住民に付番される12桁の番号 ● 社会保障、税、災害対策に関する法律で定められた手続きで使用 マイナンバー(日本国内のID) 団体内統合宛名番号(市区町村内の ID) 宛名番号(行政システム内のID)

Slide 20

Slide 20 text

マイナンバーカード ● 公的な身分証明書として利用できる写真付き本人確認書類 ● ICチップに電子証明書が格納され、公的個人認証サービスで利用 ・電子証明書の取り出し ・データへの署名作成

Slide 21

Slide 21 text

マイナンバーカード ● 取得も返納も自由 ○ カードの有無に関係なく住民には住民票コード及びマイナンバーが割り当てら れているため管理上の影響はない ● 未取得・返納によるデメリット ○ 行政手続きなどの本人確認作業に時間がかかる ○ 情報連携(行政機関間の個人情報提供)の記録をマイナポータル上でチェック できない

Slide 22

Slide 22 text

マイナポータル ● 子育てや介護などの行政手続のオンライン申請がワンストップででき るサイト ● 行政からのお知らせを受け取れるサイト

Slide 23

Slide 23 text

マイナンバー制度Q&A ● デジタル庁へのご意見・ご要望の一部を要約して紹介 https://www.digital.go.jp/policies/mynumber/faq-insurance-card/ マイナンバー制度は安全と言えるの?

Slide 24

Slide 24 text

マイナンバーの疑問1 ● Q. マイナンバーを人に見られても大丈夫ですか? ● A. マイナンバーを使う行政手続きでは顔写真で本人確認することが義 務化されているため、直ちに悪用できない 行政職員が不正行為を したらどうする?

Slide 25

Slide 25 text

マイナンバーの疑問2 ● Q. マイナンバーカードから、マイナンバーに紐付けられた自分の個人 情報が流出することはないのですか? ● A. 行政手続きを行う職員だけが、業務に関する個人情報だけを、情報 連携で取得できるように制限されています。 業務上、行政機関間で情報連携が発生した場合は、マイナポータルで そのやり取りの内容を全て確認できるのでご安心ください。

Slide 26

Slide 26 text

情報連携 ● 行政機関同士がLGWAN上でマイナンバーから生成された符号を元 に、行政手続きに必要な情報をやり取りする(2017〜) 3-3 番号制度の導入に向けて(総務省) https://www.soumu.go.jp/main_content/000567415.pdf

Slide 27

Slide 27 text

情報連携 住民が必要な添付資料 を窓口に持参する必要 がなくなる マイナンバー制度における情報連携について(総務省) https://www.soumu.go.jp/main_content/000429540.pdf

Slide 28

Slide 28 text

情報連携 ● 法律で定められている情報照会者と 情報提供者機関の間だけで情報連携ができる マイナンバー制度における情報連携について(総務省) https://www.soumu.go.jp/main_content/000429540.pdf 例)日本年金機構が「国民年金保険料の免除 を勧奨する手続」で必要な課税証明書と住民 票の写しを市町村に照会する例

Slide 29

Slide 29 text

情報連携(自治体中間サーバ) マイナンバー制度における情報連携について(総務省) https://www.soumu.go.jp/main_content/000429540.pdf (1) 市町村が正本を持つ (2) 中間サーバに副本を 登録する

Slide 30

Slide 30 text

情報連携の全体の流れ (総務省)https://www.soumu.go.jp/main_content/000691748.pdf (1) 付番 (2) 符号生成 (3) 情報提供・照会

Slide 31

Slide 31 text

情報連携のメリット ● 各行政機関は、社会保障と税の手続き処理を効率化できる ● 住民は、必要書類の添付などの負担が減る 今日の本題はマイナンバーカードで できること

Slide 32

Slide 32 text

理解度チェック ● 住民に付番されたIDのそれぞれの用途は何か? ○ 住民票コード ○ マイナンバー ● マイナンバー制度を導入した目的は何か?

Slide 33

Slide 33 text

Individual Number Card System マイナンバーカードの仕組み

Slide 34

Slide 34 text

マイナンバーカード ● 住民からの申請で発行されるICカード ● 表面には顔写真があり、本人確認書類として利用できる ● 裏面には12桁のマイナンバーが記載されている マイナンバーカード(総務省) https://www.soumu.go.jp/kojinbango_card/03.html QRコードからマイナンバー を読み取れる点に注意

Slide 35

Slide 35 text

次期マイナンバーカード デジタル社会の実現に向けた重点計画(デジタル庁)  https://www.digital.go.jp/policies/priority-policy-program ● 券面から性別やマイナンバーなどの表記がなくなるかも? (2026〜)

Slide 36

Slide 36 text

マイナンバーカード ● ICカードから証明書(公開鍵)を取り出すことができる ● ICカードは秘密鍵で署名する機能を持つ 公開鍵と秘密鍵を格納、 アクセスするには暗証番号が必要

Slide 37

Slide 37 text

マイナンバーカード ● マイナンバーは社会保障・税・災害対策にしか使えない ● マイナンバーカードの電子証明書は民間でも利用できる マイナンバーカード マイナンバー (個人番号) 電子証明書 マイナンバーを使わなくても 本人確認に使える

Slide 38

Slide 38 text

暗証番号 ● ICチップ内のデータにアクセスするには暗証番号が必要 ● 暗証番号を3回(署名用は5回)間違えるとロックされる 解除するには住民票のある市町村の窓口で再設定が必要 マイナンバーカードの安全性(デジタル庁) https://www.digital.go.jp/policies/mynumber/pros-and-safety/

Slide 39

Slide 39 text

耐タンパ性 ● ICチップは偽造などの不正行為に対する耐タンパ性を有する ※タンパー (tamper):勝手にいじる の意味 マイナンバーカードの安全性(デジタル庁) https://www.digital.go.jp/policies/mynumber/pros-and-safety/ ICチップ内の秘密鍵は取 り出せない

Slide 40

Slide 40 text

ICチップ内のアプリ構成 ● 公的個人認証 (JPKI) AP ○ 2種類の電子証明書とその秘密鍵を扱う ● 券面AP ○ 券面記載事項(顔写真含む)を扱う ● 券面事項入力補助AP ○ 基本4情報(氏名、住所、生年月日、性別)を扱う ● 住基AP ○ 住民票コードを扱う

Slide 41

Slide 41 text

ICチップ内のアプリ構成 マイナンバーカードについて②(総務省) https://www.soumu.go.jp/main_content/000528384.pdf

Slide 42

Slide 42 text

マイナンバーカードでできる処理 処理 出力 認証用証明書の取得 DER形式のデータ 認証用秘密鍵による署名 データに対する署名 署名用証明書の取得 DER形式のデータ 署名用秘密鍵による署名 データに対する署名 個人番号の取得 文字列 基本4情報の取得 UTF-8文字列

Slide 43

Slide 43 text

署名と認証 ● オンライン手続きにおける脅威 ○ なりすまし(他人のフリをして申請される) ○ 改ざん(申請後に申請内容を変更される) ○ 否認(実際には申請済みなのに、その事実を否認される) ● 電子署名 ○ 署名を検証することで電子データの作成者を認証する ○ なりすまし、改ざん、否認の全ての対策になる ● 認証 ○ なりすましに対する対策になる

Slide 44

Slide 44 text

電子署名(身元確認) (総務省)公的個人認証認証サービス利用のための民間事業者向けガイドライン https://www.soumu.go.jp/main_content/000883568.pdf

Slide 45

Slide 45 text

認証(当人認証) (総務省)公的個人認証認証サービス利用のための民間事業者向けガイドライン https://www.soumu.go.jp/main_content/000883568.pdf

Slide 46

Slide 46 text

認証用証明書・署名用証明書 J-LIS 地方公共団体情報システム機構 署名は RSA-SHA256

Slide 47

Slide 47 text

署名用証明書 基本4情報 (氏名、生年月日、 性別、住所)

Slide 48

Slide 48 text

秘密鍵による署名 ● マイナンバーカードから秘密鍵を取り出すことはできない ● 署名対象データをAPDUプロトコルでICカードに渡すことで、 その署名データを取得できる 80 2A 00 80 33 (...署名対象データ ...) 00 (...署名データ...) 90 00 COMPUTE DIGITAL SIGNATURE

Slide 49

Slide 49 text

【演習1】証明書と秘密鍵 ● ICカード内には認証用と署名用の証明書(公開鍵)と秘密鍵がある ● 【演習】 ○ opensslコマンドで自己署名証明書を作ろう $ openssl genrsa -out private.key $ openssl req -new -key private.key -out server.csr -subj "/C=JP/ST=Niigata/L=Niigata/O=SecurityMiniCamp/CN=example.com" $ openssl x509 -req -days 365 -signkey private.key -in server.csr -out server.crt $ openssl rsa -in private.key -text $ openssl req -in server.csr -text $ openssl x509 -in server.crt -text

Slide 50

Slide 50 text

【演習2】証明書と秘密鍵 ● ICカード内には認証用と署名用の証明書(公開鍵)と秘密鍵がある ● 【演習】 ○ opensslで証明書から公開鍵を取り出そう $ openssl x509 -pubkey -in server.crt -noout > server.pub $ openssl asn1parse -inform PEM -in server.crt $ openssl asn1parse -inform PEM -in server.pub

Slide 51

Slide 51 text

【演習3】証明書と秘密鍵 ● ICカード内には秘密鍵で署名する機能がある ● 【演習】 ○ opensslで秘密鍵でmsg.txtを署名しよう ○ opensslで公開鍵でmsg.txt.sigを検証しよう $ openssl dgst -sha256 -sign private.key msg.txt > msg.txt.sig $ openssl dgst -sha256 -verify server.pub -signature msg.txt.sig msg.txt Verified OKと出力されたら検証成功

Slide 52

Slide 52 text

証明書の失効確認 ● 署名用電子証明書は異動(氏名や住所の変更)時などに失効する ● 一般的な失効確認方法: ○ 証明書失効リスト(CRL; Certificate Revocation List) ○ OCSP(Online Certificate Status Protocol) ○ OCSP Stapling ● 実際は公的個人認証サービス(J-LIS)などと通信して確認する

Slide 53

Slide 53 text

CRL ● 失効した証明書一覧を配布する ● リストのサイズが大きくなると負荷が高くなる Client CA CRL

Slide 54

Slide 54 text

OCSP ● 特定の証明書の有効性だけを確認する ● 通信サイズが小さくなるので負荷が小さくなる Client OCSP Responder CRL CA OCSP Request OCSP Response

Slide 55

Slide 55 text

公的個人認証サービス利用の流れ 公的個人認証サービス利用のための民間事業者向けガイドライン 1.2版(総務省)https://www.soumu.go.jp/main_content/000883568.pdf

Slide 56

Slide 56 text

公的個人認証サービス ● 電子証明書の失効情報を確認して、本人確認を行うサービス ○ 地方公共団体情報システム機構( J-LIS)により運営 ● 行政機関だけでなく民間事業者の各種サービスにも導入できる ○ 主務大臣認定を受けて自社が認定事業者になる。または、 ○ 認定事業者に署名検証業務を委託する形で利用する。 ● 公的個人認証法 (電子署名等に係る地方公共団体情報システム機構の認証業務に関する法律)

Slide 57

Slide 57 text

【演習4】証明書の失効確認 ● 証明書の失効状態を確認してから、その公開鍵を利用すること ● 【演習】 ○ opensslコマンドでOCSPによる証明書検証をしよう $ openssl s_client -connect google.com:443 -showcerts -servername google.com < /dev/null $ # 証明書チェーンの0番目をTARGET.crt(サーバ証明書)に保存 $ # 証明書チェーンの1番目をINTERMEDIATE.crt(中間証明書)に保存 $ openssl x509 -in TARGET.crt -text -noout | grep OCSP $ # OCSPリクエストの送信先URLを確認 $ openssl ocsp -issuer INTERMEDIATE.crt -cert TARGET.crt -url URL -text $ # Response verify OKと表示されたら検証成功

Slide 58

Slide 58 text

理解度チェック ● マイナンバーカードではどのような処理ができるか? ○ 公的個人認証AP ○ 券面AP、券面事項入力補助AP ● マイナンバーカードから秘密鍵は取り出せないが、 実際にはどのように署名しているのか?

Slide 59

Slide 59 text

Individual Number Card and Digital Signing マイナンバーカードと署名

Slide 60

Slide 60 text

APDUプロトコル ● ISO 7816-4 + ベンダー独自仕様のICカード向け通信プロトコル https://www.blackhat.com/presentations/bh-usa-08/Buetler/BH_US_08_Buetler_SmartCard_APDU_Analysis_V1_0_2.pdf

Slide 61

Slide 61 text

ICカードの論理データ構造 MF DF EF IEF DF 専用ファイル 基礎ファイル 内部基礎ファイル (鍵情報) マスターファイル ※カードを起動した直後は  MFがカレントになる

Slide 62

Slide 62 text

マイナンバーカードのデータ構造 ● AID(アプリケーションID)で識別 DF AID 公的個人認証AP D3 92 F0 00 26 01 00 00 00 01 券面入力補助AP D3 92 10 00 31 00 01 01 04 08 MF 公的個人認証AP 券面AP 券面入力補助AP 住基AP

Slide 63

Slide 63 text

マイナンバーカードのデータ構造 IEF001B 署名用PIN MF 公的個人認証AP 券面AP 券面入力補助AP 住基AP IEF001A 署名用鍵 EF0001 署名証明書 EF000A 認証証明書 EF0002 署名用CA EF000B 認証用CA IEF0017 認証用鍵 IEF0018 認証用PIN EF0002 基本4情報 IEF0011 入力補助用PIN EF0001 個人番号 (1) 暗証番号入力 (2) アクセス

Slide 64

Slide 64 text

APDUプロトコル APDU (Application Protocol Data Unit) プロトコル (Smart Card Guy) https://smartcardguy.hatenablog.jp/entry/2018/08/11 /153334 コマンド構造 コマンド例 Case 1 CLA INS P1 P2 — Case 2 CLA INS P1 P2 Le READ BINARY Case 3 CLA INS P1 P2 Lc data SELECT FILE Case 4 CLA INS P1 P2 Lc data Le COMPUTE DIGITAL SIGNATURE Le : 期待する返信データ長 Lc : 送信するデータ長 data : 送信するデータ data : 返信データ

Slide 65

Slide 65 text

APDUプロトコル ● SELECT FILE ○ APを選択したり、証明書やロック解除用の PINにアクセスする ● パラメータ ○ 命令クラス : 00、命令コード : A4 ○ 引数1 : 04 (DF名で選択) または 02 (現在のDF直下のEF名で選択) ○ 引数2 : 00 (最初のレコード) ○ ファイル名:00 1B > 00 A4 02 0C 02 00 1B < 90 00

Slide 66

Slide 66 text

APDUプロトコル ● VERIFY ○ 入力した暗証番号と比較して、内部のステータスを更新する > 00 20 00 80 04 31 32 33 34 < 90 00 ● パラメータ ○ 命令クラス : 00、命令コード : 20 ○ 引数1 : 00 ○ 引数2 : 80 (特定のDF/EFのパスワード) ○ パスワード:31 32 33 34

Slide 67

Slide 67 text

APDUプロトコル ● READ BINARY ○ 選択したファイルのバイナリデータを読み取る ● パラメータ ○ 命令クラス : 00、命令コード : B0 ○ 引数1〜2 : オフセット値(先頭から読み取るときは00 00を指定) ○ Leフィールド : 読み取るバイト数 > 00 B0 00 00 04 < 30 82 06 1F 90 00

Slide 68

Slide 68 text

APDUプロトコル ● COMPUTE DIGITAL SIGNATURE ○ ハッシュ値を入力して、署名を生成する ● パラメータ ○ 命令クラス : 80、命令コード : 2A、引数1〜2 : 00 80 ○ Lcフィールド : 署名対象データ長、Data : 署名対象データ ○ Leフィールド : 署名結果データ長(00は無制限?) > 80 2A 00 80 33 ...対象データ... 00 < ...署名結果... 90 00

Slide 69

Slide 69 text

APDUプロトコル通信例 > 00 A4 04 0C 0A D3 92 F0 00 26 01 00 00 00 01 # SELECT FILE: 公的個人認証AP < 90 00 > 00 A4 02 0C 02 00 18 # SELECT FILE: 認証用PIN < 90 00 > 00 20 00 80 04 31 32 33 34 # VERIFY: 暗証番号入力 < 90 00 > 00 A4 02 0C 02 00 17 # SELECT FILE: 認証用秘密鍵 < 90 00 > 80 2A 00 80 33 ...対象データ... 00 # COMPUTE DIGITAL SIGNATURE < ...署名結果... 90 00

Slide 70

Slide 70 text

【演習5】カードとお話ししよう ● 【演習】 ○ マイナンバーカードから証明書を取り出してみよう ○ 発展:証明書に記載されている内容を確認しよう $ cd secminicamp2023-mynumber $ cp secrets.sample.conf secrets.conf $ vi secrets.conf [secrets] password1=4桁の数字 password2=6桁以上の英数字 $ # __main__のcardreader.get_cert()のコメントアウトを外して実行 $ python mynumber.py

Slide 71

Slide 71 text

署名対象データ(DigestInfo) ● マイナンバーカードに署名させるデータを送るためのデータ構造 ● RFC 2315 (PKCS #7: Cryptographic Message Syntax Version 1.5)

Slide 72

Slide 72 text

署名対象データ(DigestInfo) ● RFC 5280 (Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile)

Slide 73

Slide 73 text

署名対象データ(DigestInfo) ● RFC 2315とRFC 5280をまとめると DigestInfo ::= SEQUENCE { SEQUENCE { algorithm OBJECT IDENTIFIER, parameters ANY DEFINED BY algorithm OPTIONAL } digest OCTET STRING }

Slide 74

Slide 74 text

ASN.1とSHA256 OID ● algorithm:SHA256ハッシュ関数のObject ID(RFC 5754) DigestInfo ::= SEQUENCE { SEQUENCE { algorithm OBJECT IDENTIFIER, parameters ANY DEFINED BY algorithm OPTIONAL } digest OCTET STRING } ● OID:数字とドットだけで世の中にある物事を識別するための符号

Slide 75

Slide 75 text

OIDからバイト列への変換 ● algorithm:SHA256ハッシュ関数のObject ID(RFC 5754) ASN.1 でのオブジェクトID (OID) とバイト列の表記 | 晴耕雨読 https://tex2e.github.io/blog/protocol/oids

Slide 76

Slide 76 text

ASN.1とSHA256 OID ● parameters:ハッシュ関数のパラメータ。一般的にはNULL DigestInfo ::= SEQUENCE { SEQUENCE { algorithm OBJECT IDENTIFIER, parameters ANY DEFINED BY algorithm OPTIONAL } digest OCTET STRING } 05 00 ⇐ タグがNULL(0x05)、長さが0x00、データはなし(ASN.1参照)

Slide 77

Slide 77 text

ASN.1とSHA256 OID ● digest:文書(ファイル)のハッシュ値 DigestInfo ::= SEQUENCE { SEQUENCE { algorithm OBJECT IDENTIFIER, parameters ANY DEFINED BY algorithm OPTIONAL } digest OCTET STRING } digest ← SHA256(input file)

Slide 78

Slide 78 text

DERエンコード ● DERエンコードしたDigestInfo: 30 31 30 0B 06 09 60 86 48 01 65 03 04 02 01 05 00 04 20 22 D6 28 B5 3B C6 B3 56 F5 91 3E 98 C5 A3 BC 8A E1 A5 BE 91 C2 91 68 02 35 8E 0E C2 BC FE 71 E7 30 31 30 0B 06 09 608648016503040201 05 00 04 20 22D628B53BC6B356F5913E98C5A3BC8AE1A5BE91C2916802… ● 読みやすさ重視: [ASN.1 タグ早見表] 0x30 : SEQUENCE型 0x06 : OID型 0x05 : NULL型 0x04 : OCTET STRING型

Slide 79

Slide 79 text

【演習6】カードとお話ししよう ● 【演習】 ○ マイナンバーカードで署名データを作成しよう ○ 発展:署名データを検証して正しいことを確認しよう $ cd secminicamp2023-mynumber $ cp secrets.sample.conf secrets.conf $ vi secrets.conf [secrets] password1=4桁の数字 password2=6桁以上の英数字 $ # __main__のcardreader.get_sign()のコメントアウトを外して実行 $ python mynumber.py

Slide 80

Slide 80 text

理解度チェック ● 2種類の証明書はどう使い分けるか? ○ 利用者証明用電子証明書 ○ 署名用電子証明書 ● 基本4情報の取得方法はどう使い分けるか? ○ 公的個人認証APで取得できる署名用電子証明書の基本 4情報 ○ 券面事項入力補助APで取得できる基本4情報

Slide 81

Slide 81 text

Usage Example of Individual Number Card マイナンバーカードの利用例

Slide 82

Slide 82 text

Know Your Customer ● KYC ○ 顧客を知る(反社チェック。サービスが犯罪に使われないように) ○ 本人確認をするための方法の1つ ○ 行政手続き、金融機関、携帯電話の手続きなど ● eKYC ○ electronic KYC ○ オンラインによるKYC(便利だが不正を防ぐための技術が必要)

Slide 83

Slide 83 text

犯罪収益移転防止法(犯収法) ● マネーロンダリング(資金洗浄) ○ 犯罪による収益の出所や帰属を隠そうとする行為 ● 2018年の改正 ○ 今までリモートの時は本人確認書類の郵送が必要だったが、 ○ eKYCの手法が認められた (ソフトウェアを使った本人確認ができるようになった) ○ 特定事業者と特定取引で、本人特定事項などの 取引時確認が必要 ○ ⇒ 犯罪による収益の移転を防ぐ

Slide 84

Slide 84 text

犯罪収益移転防止法(犯収法) ● 犯収法規則 6条1項1号 ○ イ、ロ、ハ、ニ、...、ワ、カ までの14種類の本人確認方法が規定 ● 犯収法規則 6条1項1号ワ方式 ○ マイナンバーカードのICチップに保存された基本4情報が記載された電子 証明書と、電子署名された申請情報を利用者が送信する。 ⇒ 対面相当の最高の保証レベルの身元確認が可能

Slide 85

Slide 85 text

犯罪収益移転防止法(犯収法) ● 犯収法規則 6条1項1号ホ方式 ○ 顔写真付き本人確認書類の画像+容貌の撮影(顔写真) ⇒ 写真撮影の手間がかかる & 不正防止チェックに時間がかかる ● 犯収法規則 6条1項1号ヘ方式 ○ 顔写真付き本人確認書類のICチップ読み取り+容貌の撮影 ⇒ 写真撮影の手間が少しかかる ⇒ ICチップ読み取りは券面APや券面事項入力補助APに対応

Slide 86

Slide 86 text

本人確認に関する法令 ● 犯罪収益移転防止法 ○ マネーロンダリングの防止 ● 携帯電話不正利用防止法 ○ 携帯電話を利用した特殊詐欺の防止 ● 古物営業法 ○ 盗品の売買の防止 いずれも非対面でオンラインによる本人確認手法が認められている

Slide 87

Slide 87 text

本人確認の拡大 民間事業者向けデジタル本人確認ガイドライン 第1.0版 – p.13 背景②

Slide 88

Slide 88 text

本人確認 ● 身元確認と当人確認の組み合わせ ● 当人認証 (Authentication) ○ 事前に登録された情報と照合して本人の当人性を確認 ○ 知識要素、所有情報、生体情報を使う ○ ログイン時 ● 身元確認 (Identity Proofing) ○ 提出された書類などから本人の実在性を確認 ○ ユーザ登録時

Slide 89

Slide 89 text

NISTガイドライン ● NIST SP 800-63-3 ○ NISTが作成した米国政府向けのユーザ認証に関するガイドライン 文書名 概要 NIST SP 800-63-3 デジタルサービスでのユーザ認証について NIST SP 800-63A IALに基づいて要求されるユーザ身元確認方法 NIST SP 800-63B AALに基づいて要求されるユーザ認証方法 NIST SP 800-63C FALに基づいて要求されるアカウント連携方法

Slide 90

Slide 90 text

身元確認の保証レベル (IAL) ● 身元確認において不正を防ぐ強度 (Identity Assurance Level) ● IAL1 ○ 身元確認のない自己表明。メールアドレスなど ● IAL2 ○ リモートまたは対面での身元確認。個人の基本 4情報で身元確認 ● IAL3 ○ 対面での身元確認。電子署名の検証による身元確認

Slide 91

Slide 91 text

身元確認の保証レベル (IAL) の選択 行政手続におけるオンラインによる本人確認の手法に関するガイドライン(デジタル庁) 図A-10 NIST SP 800-63-3 IALの選択概要図

Slide 92

Slide 92 text

当人認証の保証レベル (AAL) ● 当人認証において不正を防ぐ強度 (Authentication Assurance Level) ● AAL1 ○ 単一の認証要素。パスワードだけ ● AAL2 ○ 複数の認証要素。多要素認証 ● AAL3 ○ 耐タンパ性が確保されたハードウェアトークンも使用する

Slide 93

Slide 93 text

当人認証の保証レベル (AAL) の選択 行政手続におけるオンラインによる本人確認の手法に関するガイドライ(デジタル庁) 図A-12 NIST SP 800-63-3 AALの選択概要図

Slide 94

Slide 94 text

リスクの評価 ● 選択概要図の「デジタルサービスを提供するリスクは何ですか?」 1. 利用者に不便・苦痛を与える、機関が信頼を失う ○ 短期的〜長期的 ○ 当惑する〜地位や評判に影響がある 2. 利用者に金銭的被害を与える、機関に賠償責任が生じる ○ 軽微〜壊滅的 3. 機関の活動計画や公共の利益に対して影響を与える ○ 若干〜深刻

Slide 95

Slide 95 text

リスクの評価 ● 選択概要図の「デジタルサービスを提供するリスクは何ですか?」 4. 利用者の個人情報が漏洩するリスク ○ 限定的〜致命的または壊滅的な機密性損失 5. 利用者の身の安全に影響を与えるリスク ○ 軽傷〜深刻な負傷または死亡 6. 法律に違反するリスク ○ 法執行の対象にならない〜対象になる ⇒ 過剰対応すると負担が増えるため、リスクを適切に見極めること

Slide 96

Slide 96 text

マイナンバーカードによる本人確認 ● 電子証明書による公的個人認証を利用する方法 ○ 保証レベルはIAL3(最も強力) ○ 行政手続きや犯収法などの法令に定める手法として利用可 ○ 公的個人認証サービスによる証明書の有効性検証にコストがかかる ● 券面を撮影またはICチップ内の券面情報を送信する方法 ○ 保証レベルはIAL2相当 ○ 自撮り写真(本人容貌撮影)と共に申請して、犯収法の法令に定める手法とし て利用可

Slide 97

Slide 97 text

理解度チェック ● 本人確認はどのような場面で使うか? ○ 身元確認 ○ 当人認証 ● IALやAALのレベルはどのように決めるか? ● マイナンバーカードによる本人確認は常に採用すべきか?

Slide 98

Slide 98 text

Government Services 行政サービスの例

Slide 99

Slide 99 text

マイナポータル マイナポータル https://myna.go.jp/ ● 行政機関への各種申請や行政機関からのお知らせ

Slide 100

Slide 100 text

マイナポータル 情報連携 ぴったりサービス 情報連携 情報連携の 記録確認 e-Tax、 年金ネットなど

Slide 101

Slide 101 text

ぴったりサービス(電子申請) https://myna.go.jp/SCK1501_02_001/SCK1501_02_001_Init.form

Slide 102

Slide 102 text

マイナポータル申請管理 マイナポータル(ぴったりサービス)の取組について(総務省) https://www.digital.go.jp/policies/mynumber/pros-and-safety/

Slide 103

Slide 103 text

引越し手続きオンラインサービス https://myna.go.jp/SCK1501_02_001/SCK1501_02_001_Init.form

Slide 104

Slide 104 text

引越し手続きオンラインサービス 住民記録システム標準仕様書 の改定について(総務省) https://www.soumu.go.jp/main_content/000754596.pdf

Slide 105

Slide 105 text

コンビニ交付 コンビニ交付導入のメリットと参加要件( J-LIS)https://www.j-lis.go.jp/rdd/card/convinikoufu/cms_93099520.html カード内の情報に基づき 住所地のシステムと接続 公的個人認証方式 住民票の写しなど

Slide 106

Slide 106 text

確定申告 (e-Tax) ● 税務署に行かなくても所得税申告ができる (国税庁)https://www.nta.go.jp/taxes/tetsuzuki/mynumberinfo/pdf/mynapo_gaiyo.pdf

Slide 107

Slide 107 text

Private Services 民間サービスの例

Slide 108

Slide 108 text

金融機関での口座開設・取引 マイナンバーカードを活用したオンライン取引等の可能性について(総務省) https://www.soumu.go.jp/main_content/000805608.pdf

Slide 109

Slide 109 text

手続きや取引での本人確認 マイナンバーカードと公的個人認証制度の概要について 資料3(総務省) https://www.soumu.go.jp/main_content/000528384.pdf

Slide 110

Slide 110 text

顧客情報の異動の把握 公的個人認証サービス利用のための民間事業者向けガイドライン 1.2版(総務省) https://www.soumu.go.jp/main_content/000883568.pdf

Slide 111

Slide 111 text

顧客情報の異動の把握 公的個人認証サービス利用のための民間事業者向けガイドライン 1.2版(総務省) https://www.soumu.go.jp/main_content/000883568.pdf 住民都合による住基異動 のときは異動事由を「軽微 な修正」で送信するため証 明書は失効しない (例:外字の変更)

Slide 112

Slide 112 text

顧客情報の異動の把握 公的個人認証サービス利用のための民間事業者向けガイドライン 1.2版(総務省) https://www.soumu.go.jp/main_content/000883568.pdf

Slide 113

Slide 113 text

最新の基本4情報提供サービス 公的個人認証サービス( JPKI)(デジタル庁) https://www.digital.go.jp/policies/mynumber/private-business/jpki-introduction ● 公的個人認証サービスにおける本人同意に基づく最新の住所情報な どの提供を開始

Slide 114

Slide 114 text

委託による個人情報の取り扱い アドバイザリーボードからの提言(個人情報の取り扱いについて)( TRUSTDOCK) https://biz.trustdock.io/advisory-board/20211214_first-summary

Slide 115

Slide 115 text

API連携(OpenID Connect) ⼈間事業者向けデジタル本 ⼈確認ガイドライン第1.0版(OpenID Japan) https://www.openid.or.jp/news/kyc_guideline_v1.0.pdf

Slide 116

Slide 116 text

マイナンバーカード機能のスマホ搭載 (OpenID Japan)⼈間事業者向けデジタル本 ⼈確認ガイドライン第1.0版 https://www.openid.or.jp/news/kyc_guideline_v1.0.pdf (総務省)第2次とりまとめ 〜デジタル社会の新たな基盤の構築に向けて〜 https://www.soumu.go.jp/main_content/000809835.pdf ● スマホの生体認証で2つの電子証明書を利用できる

Slide 117

Slide 117 text

民間サービスにおける利用イメージ (総務省)第2次とりまとめ 〜デジタル社会の新たな基盤の構築に向けて〜 https://www.soumu.go.jp/main_content/000809835.pdf

Slide 118

Slide 118 text

Future Development 今後の展開

Slide 119

Slide 119 text

デジタル庁の重点計画 ● 2023年6月にデジタル社会の実現に向けた重点計画が閣議決定 ○ デジタル社会を実現する内閣の意思決定 ● 資料 https://www.digital.go.jp/policies/priority-policy-program ● 本講座に関連する部分や個人的に注目している部分だけ抜粋して紹 介します

Slide 120

Slide 120 text

本人確認、年齢確認 デジタル社会の実現に向けた重点計画(デジタル庁)  https://www.digital.go.jp/policies/priority-policy-program

Slide 121

Slide 121 text

本人確認手法の一本化 デジタル社会の実現に向けた重点計画(デジタル庁)  https://www.digital.go.jp/policies/priority-policy-program ● 犯収法や携帯電話不正利用防止法における複数の本人確認手法が 「犯収法規則 6条1項1号ワ方式」に統一されるかも

Slide 122

Slide 122 text

資格情報のデジタル化 ● 国が提供する身分や資格証明サービスが開始される(2025〜) ○ 情報連携による資格取得・更新手続の添付資料の省略 ○ 2023年成立の「マイナンバー法等の一部改正法」で範囲拡大

Slide 123

Slide 123 text

カード更新のオンライン化 デジタル社会の実現に向けた重点計画(デジタル庁)  https://www.digital.go.jp/policies/priority-policy-program ● マイナンバーカードの更新がオンライン化されるかも

Slide 124

Slide 124 text

暗証番号を入力しない利用方法 デジタル社会の実現に向けた重点計画(デジタル庁)  https://www.digital.go.jp/policies/priority-policy-program ● リスクの低い手続きでは暗証番号なしで本人確認するようになるか?

Slide 125

Slide 125 text

プッシュ型行政 デジタル社会の実現に向けた重点計画(デジタル庁)  https://www.digital.go.jp/policies/priority-policy-program ● 地方自治体側からプッシュ型で、対象者に受けるべき行政サービスを 通知する仕組みができるかも(申請主義からプッシュ型へ) ● そうなればマイナポータルを使いたくなるので、自然とマイナンバー カードは普及するはず!

Slide 126

Slide 126 text

Summary まとめ

Slide 127

Slide 127 text

デジタル社会の実現を後押しする ● セキュリティを実現するための暗号技術 ● 暗号技術がデジタル本人確認の実現を後押しする ● 日本の社会や経済を便利に安全で信頼性のあるものに!

Slide 128

Slide 128 text

参考文献 ● 行政手続におけるオンラインによる本人確認の手法に関するガイドラ イン (2019) https://www.digital.go.jp/assets/contents/node/basic_page/field_re f_resources/e2a06143-ed29-4f1d-9c31-0f06fca67afc/f1be078e/20 220422_resources_standard_guidelines_guideline_07.pdf ● 公的個人認証サービス利用のための民間事業者向けガイドライン第 1.2版 (2023) https://www.soumu.go.jp/main_content/000883568.pdf

Slide 129

Slide 129 text

参考文献 ● NIST SP 800-63 Digital Identity Guidelines https://pages.nist.gov/800-63-3/ ● 民間事業者向けデジタル本人確認ガイドライン第1.0版 (2023) https://www.openid.or.jp/news/kyc_guideline_v1.0.pdf