web-dev-qa-db-ja.com

iOSおよびAndroidのハードウェアベースのキーチェーン

一部の証明書をソフトウェアではなくハードウェアに保存するために、iOSとAndroidのハードウェアベースのキーチェーンについて調査しています。 Android docs( https://source.Android.com/security/keystore )によるとAndroidバージョン4.3以降のサポートハードウェアベースのキーチェーンですが、デバイスに制限があります。ARM Trustzone(または同等のIntel x86カウンターパート)を備えたSoCが必要です。このようなデバイスのリストと/またはSoC?

IOSの世界では、Appleは安全なエンクレーブテクノロジー( http://spr.com/ios-security-protecting-the-ios-keychain )を提供しているようです)アプリの開発者は、キーと証明書をこの安全なエンクレーブに保存できますか?

ありがとう。

2
user1118764

エンクレーブは、iOSの暗号化プロセス専用ではありません。

これは、AppleがTouchIDで前進できるようにするために必要な相乗効果の完全な収束であることがわかりました。 Appleは、TrustZoneの高度に最適化されたバージョンをカスタマイズし、現在知られているSecure Enclaveを作成しました。もちろん、Appleは、多くの理由で、カスタムハードウェアでの動作の詳細を決して公開しません。したがって、私はTrustZoneについて直接話し、Secure Enclaveを推定します。

...をちょきちょきと切る...

Appleは、Touch IDへのアクセスを非常に制限しており、開発者が利用できるAPIはありません。実際、AppleはiOS 7の最新の開発者ビルドからiCloudキーチェーンを削除しました。これには、今後数か月で非常に明確になる多くの理由があることを公に言えます。現在、このテクノロジーは、デバイスのロック解除とiTunesおよびApp Storeでの購入という2つの使用例に限定されています。もちろん、これはこのテクノロジーの制限された目的ではなく、いつかは完全に開発者APIアクセスがあり、おそらくAppleがそれらの領域の唯一のプロバイダーになりたいために制限するいくつかの領域ではないでしょう。

ソース

詳細はこちら: iOS およびこちら: Android

1
HashHazard

HashHazardからの回答は古くなっていることに注意してください。その間Appleはセキュアエンクレーブにキーを保存するためのAPIを公開しました: https://developer.Apple.com/documentation/security/certificate_key_and_trust_services/keys/storing_keys_in_the_secure_enclave =

1
K. Biermann