質問編集履歴

1

s0r4syl

s0r4syl score 12

2017/12/24 01:16  投稿

暗号鍵の安全性について
## 背景
暗号化に使用する鍵をメモリ上に置くとメモリへの物理攻撃(コールドブート攻撃等)によって盗まれてしまう.そこでハードウェア保護された領域で鍵を扱うことでメモリを見ても鍵を盗まれないようにしたい.
## 曖昧なこと
* 鍵をハードウェア保護された領域で扱うためにAndroidKeyStoreを利用できると言った資料を見たが,ハードウェア保護された領域とはSoc上に存在する(?)耐タンパ性のあるハードウェアのことなのか,TrustZoneなどのTEEでソフトウェア的にに隔離された領域なのか.
* 後者の場合,TrustZone自体はメモリの物理攻撃には無力だと思われるがどうなのか.
* Credential Storageというものがあるが,これはハードウェア的にどこにあるのか.Android6.0でのKeyStoreの実装ではここに保存することをHardware-backed KeyStoreといっているのか
## 参考にしたもの
* [https://developer.android.com/training/articles/keystore.html?hl=ja](https://developer.android.com/training/articles/keystore.html?hl=ja)
* [https://source.android.com/security/keystore/](https://source.android.com/security/keystore/)
* [https://qiita.com/KazaKago/items/8b24f0a3f8744de35b4e](https://qiita.com/KazaKago/items/8b24f0a3f8744de35b4e)
* [https://www.jssec.org/dl/20160323_Akira_Ando.pdf](https://www.jssec.org/dl/20160323_Akira_Ando.pdf)
* [Galaxy Nexusへのコールドブート攻撃](https://www1.informatik.uni-erlangen.de/frost)
  • Android

    8110 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • 暗号化

    124 questions

    ネットワークを通じてデジタルデータをやり取りする際に、第三者に解読されることのないよう、アルゴリズムを用いてデータを変換すること。

  • セキュリティー

    604 questions

    このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る