Developers Boost 2021 登壇資料. https://event.shoeisha.jp/devboost/20211211/session/3555/
B-3Rust でマイナンバーカードを操作するスマホアプリを作りたい話Naoki Ikeguchi @siketyanYUMEMI Inc.Keywords: Rust, FFI, JPKI, マイナンバー, X.509, NFC, APDU, Android, NDK
View Slide
2提 供
3ぱくぱくスタディ制度制度紹介 ①• 社内の勉強会でのお菓子・飲み物を補助する• 1 人 1 回あたり 1,500 JPY まで会社が負担
$ whoami池口 直希 (いけぐち なおき)• 国立豊田高専を 3 年次で中退• 今年 4 月,株式会社ゆめみに新卒で入社• サーバサイドエンジニア• PHP, TypeScript, C#, Go, Rust• AWS, Terraform, Docker4@s6n_jp
5副業し放題制度制度紹介 ②• ゆめみの営業時間内の副業を可能とする• ゆめみが副業として社内発注を行うこともある• 他社の副業についての質問・相談を業務時間中にゆめみ Slackで行うことができる
マイナンバーカードとは6
7内閣府,総務省 (2021) 『こんなとき、あってよかった!マイナンバーカード』https://www.cao.go.jp/bangouseido/pdf/leaf20210531_yokatta_a3.pdf,2021/11/26 閲覧.
マイナンバーカード• NFC Type-B (ISO/IEC 14443) に準拠• カード OS の上に 4 つの AP (アプリケーション) を搭載• 公的個人認証 AP (JPKI AP)• 券面事項確認 AP• 券面事項入力補助 AP• 住基 AP西村,小野津,志賀 (2017) 『マイナンバーカードの技術仕様と利活用方式』 富士通株式会社,https://www.fujitsu.com/jp/documents/about/resources/publications/magazine/backnumber/vol68-4/paper10.pdf, 2021/11/26 閲覧.8
JPKI (Japanese Public Key Infrastructure)9署名用認証局署名GPKI署名署名用証明書利用者証明用認証局署名利用者証明用証明書マイナンバーカード 地方公共団体情報システム機構『認証局の運営』https://www.jpki.go.jp/ca/index.html,2021/12/02 閲覧.
つくりたいもの10
11
1210 %ルール制度紹介 ③• 業務時間の 10 %を研究開発や OSS 貢献に利用できる• 複数のメンバーで行うことも可能
アーキテクチャ13NFC APDU 委譲Android アプリ他環境Rust LibraryFFIFFI
実装14
Available on GitHub ❤siketyan/jpki-rsコアの Rust 実装部分と Android とのアダプタ部分https://github.com/siketyan/jpki-rssiketyan/easy-jpkiAndroid アプリとしての Kotlin 実装部分https://github.com/siketyan/easy-jpki15
16
17
デモ18
19
まとめ20
21
22edunham (2016) 『Plushie Rustacean Pattern』,http://edunham.net/2016/04/11/plushie_rustacean_pattern.html,2021/12/03 閲覧.Licenced under CC-BY-NC
23We are hiring!https://www.yumemi.co.jp/
Thank you24