マイナンバーカードの仕組みはどうなっている? RustでAndroidアプリを作ってみて分かったこと【デブスト2021】
【B-3】Rustでマイナンバーカードを操作するスマホアプリを作りたい話
2020年コロナ禍の特別定額給付金では、マイナンバーカードがあればオンライン申請できて早めに給付金を受け取ることができた。少しずつマイナンバーカードを持つメリットが増えてきた。将来的には健康保険証や運転免許証の代替として利用できるという話もある。しかしもっと大きなメリットがあるという。ゆめみ 池口直希氏がRustを使ったマイナンバーカードを操作するアプリの作成を通して解説する。
マイナンバーカードの仕組みはどうなっている?
国立豊田高専を中退し、2021年4月にゆめみに入社した池口直希氏。サーバーサイドエンジニアでPHP、TypeScript、C#、Go、Rustといった言語のほか、AWS、Terraform、Dockerなどを使う。「なんでも屋なので、フロントエンドにも手を出したりもしています」と池口氏。
池口氏が所属するゆめみでは興味深い制度がいくつもある。まず、ぱくぱくスタディ制度。社内の勉強会で1人1回あたり1500円(税抜)まで、お菓子や飲み物を会社が補助する。この制度にかけて、「お菓子などを食べながら気軽に聴いてほしい」と呼びかけた。また池口氏は副業も行っている。 副業し放題制度では副業を許可するだけではなく、営業時間内の副業も許可する。ゆめみが社員に副業として社内発注したり、社内で副業についての相談をしたりすることも可能だ(ゆめみでの労働時間としてはカウントされないが)。多様な制度で、社員の心理的安全性を高めることを重視している。
本題に入ろう。今回のテーマはマイナンバーカード。裏面からはICチップの接触端子が見えるほか、NFC規格に準ずる非接触通信にも対応している。カード発行時には、カードOSを基盤として4つのAP(アプリケーション)が搭載されている[※1]。それらが公的個人認証AP(JPKI AP)、券面事項確認AP、券面事項入力補助AP、住基APだ。
[※1] 西村,小野津,志賀 (2017) 『マイナンバーカードの技術仕様と利活用方式』 富士通株式会社。
なお、ここでいうJPKIとは地方公共団体情報システム機構の提供する公開鍵認証基盤(Public Key Infrastracture)のこと。このJPKIを用いて発行され、マイナンバーカードに記録された秘密鍵を利用して書類に電子署名をつけることが可能となっている。
マイナンバーカードには署名用と利用者証明用、2つのキーペアが入っている[※2]。どう使い分けるかというと、例えば前者はe-Taxで書類に署名を添付する時、後者はマイナポータルへのログイン時に使う。それぞれデジタル技術で公的なアイデンティティーを証明できるようになっている。
この記事は参考になりましたか?
- 【デブスト2021】セッションレポート連載記事一覧
-
- より自発的な挑戦をし、自分の関心事を仕事にしよう――「ジョブ・クラフティング」で築くエンジ...
- 事業をスケールさせるエンジニアへの転身で、技術のコモディティ化に打ち勝つ【デブスト2021...
- マイナンバーカードの仕組みはどうなっている? RustでAndroidアプリを作ってみて分...
- この記事の著者
-
加山 恵美(カヤマ エミ)
フリーランスライター。茨城大学理学部卒。金融機関のシステム子会社でシステムエンジニアを経験した後にIT系のライターとして独立。エンジニア視点で記事を提供していきたい。EnterpriseZine/DB Onlineの取材・記事や、EnterpriseZine/Security Onlineキュレーターも担当しています。Webサイト:http://emiekayama.net
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
