Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rust でマイナンバーカードを操作するスマホアプリを作りたい話

Rust でマイナンバーカードを操作するスマホアプリを作りたい話

Developers Boost 2021 登壇資料.
https://event.shoeisha.jp/devboost/20211211/session/3555/

D5744e72b6a5e6673f991cab987a31ab?s=128

Naoki Ikeguchi

December 11, 2021
Tweet

Transcript

  1. B-3 Rust でマイナンバーカードを操作する スマホアプリを作りたい話 Naoki Ikeguchi @siketyan YUMEMI Inc. Keywords:

    Rust, FFI, JPKI, マイナンバー, X.509, NFC, APDU, Android, NDK
  2. 2 提 供

  3. 3 ぱくぱくスタディ制度 制度紹介 ① • 社内の勉強会でのお菓子・飲み物を補助する • 1 人 1

    回あたり 1,500 JPY まで会社が負担
  4. $ whoami 池口 直希 (いけぐち なおき) • 国立豊田高専を 3 年次で中退

    • 今年 4 月,株式会社ゆめみに新卒で入社 • サーバサイドエンジニア • PHP, TypeScript, C#, Go, Rust • AWS, Terraform, Docker 4 @s6n_jp
  5. 5 副業し放題制度 制度紹介 ② • ゆめみの営業時間内の副業を可能とする • ゆめみが副業として社内発注を行うこともある • 他社の副業についての質問・相談を業務時間中にゆめみ

    Slack で行うことができる
  6. マイナンバーカードとは 6

  7. 7 内閣府,総務省 (2021) 『こんなとき、あってよかった!マイナンバーカード』 https://www.cao.go.jp/bangouseido/pdf/leaf20210531_yokatta_a3.pdf,2021/11/26 閲覧.

  8. マイナンバーカード • 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
  9. JPKI (Japanese Public Key Infrastructure) 9 署名用 認証局 署名 GPKI

    署名 署名用 証明書 利用者証明用 認証局 署名 利用者証明用 証明書 マイナンバーカード 地方公共団体情報システム機構『認証局の運営』 https://www.jpki.go.jp/ca/index.html,2021/12/02 閲覧.
  10. つくりたいもの 10

  11. 11

  12. 12 10 %ルール 制度紹介 ③ • 業務時間の 10 %を研究開発や OSS

    貢献に利用できる • 複数のメンバーで行うことも可能
  13. アーキテクチャ 13 NFC APDU 委譲 Android アプリ 他環境 Rust Library

    FFI FFI
  14. 実装 14

  15. Available on GitHub ❤ siketyan/jpki-rs コアの Rust 実装部分と Android とのアダプタ部分

    https://github.com/siketyan/jpki-rs siketyan/easy-jpki Android アプリとしての Kotlin 実装部分 https://github.com/siketyan/easy-jpki 15
  16. 16

  17. 17

  18. デモ 18

  19. 19

  20. まとめ 20

  21. 21

  22. 22 edunham (2016) 『Plushie Rustacean Pattern』, http://edunham.net/2016/04/11/plushie_rustacean_ pattern.html, 2021/12/03 閲覧.

    Licenced under CC-BY-NC
  23. 23 We are hiring! https://www.yumemi.co.jp/

  24. Thank you 24