新人の栗田です。
2/8−9に開催されたDroidKaigi2018に参加して来ました!
出席したセッションを紹介したいと思います。
▼セッション会場の様子
セッション:アプリの鍵が消える時
「Android Keystore」における鍵の消失パターンと、開発時の注意点という流れでした。
- 内容:
1. Android Keystoreとは
鍵の生成や保持を安全な場所で行ってくれる仕組みのことです。
Androidのアプリで機密情報を保持しようとする場合は、データを暗号化してから保存するのですが、
鍵が誰でも使える状況だと暗号化しても意味がありません。
そこで有効なのがAndroid Keystoreです。
鍵を使えるのは「鍵を生成したアプリ」と「デバイス」に限定されるため、データ保持のセキュリティが向上する利点があります。
2. Android Keystoreの注意点
Android Keystoreには、以下の注意点があります。
(1)バージョンによる制約がある
API Lv.23で新APIが追加されたため、旧APIで生成した鍵が使えなくなる
→ 解決法:新しく鍵を作り直して置き換える
(2)Root化された端末上では、他アプリに鍵を利用される可能性がある
(3)ユーザー操作によって鍵か消える場合がある
具体的には、以下の操作で鍵が消える場合があります。
a.アプリをアンインストールする
b.端末のパスワード変更や再設定
c.登録した指紋を全て消去する
d.ファクトリーのリセット
3. 設計開発時の注意点
OSのバージョンで鍵消失の条件が若干異なるため一概には言えないものの、
下記に挙げた内容を意識して設計開発することで、「ユーザーの操作」という開発側ではコントロールできないところで
鍵が消えるリスクを減らせると話していました。
(1)そもそも端末で持つ必要のあるデータなのか
(2)消えても再取得、入力が可能か
(非推奨ですが、やむを得ない場合別のカギで暗号化、その鍵の保護に使うといった対策が可能です)
(3)再取得・再入力を見越した作り方をする
- 感想:
DroidKaigiはイベント終了後、各セッションで使用されたPDFがネット上にアップされ、セッション内容も、動画で視聴できるようになります。
セッション中理解できなかった部分なども、自分のペースで内容を振り返ることができるのはとても助かります。
次回のDroidKaigiは理解できる範囲をより広げて、レベルアップして参加したいと思いました。
イベント全体としては、今の私にとってまだまだレベルの高い内容が多く、とても勉強になるイベントでした!
DroidKaigi2018の資料はこちら