背景
暗号化に使用する鍵をメモリ上に置くとメモリへの物理攻撃(コールドブート攻撃等)によって盗まれてしまう.そこでハードウェア保護された領域で鍵を扱うことでメモリを見ても鍵を盗まれないようにしたい.
曖昧なこと
- 鍵をハードウェア保護された領域で扱うためにAndroidKeyStoreを利用できると言った資料を見たが,ハードウェア保護された領域とはSoc上に存在する(?)耐タンパ性のあるハードウェアのことなのか,TrustZoneなどのTEEでソフトウェア的にに隔離された領域なのか.
- 後者の場合,TrustZone自体はメモリの物理攻撃には無力だと思われるがどうなのか.
- Credential Storageというものがあるが,これはハードウェア的にどこにあるのか.Android6.0でのKeyStoreの実装ではここに保存することをHardware-backed KeyStoreといっているのか
参考にしたもの
あなたの回答
tips
プレビュー