web-dev-qa-db-ja.com

Androidリモート認証用のプラットフォームで利用可能なメカニズムはありますか?

最近 リモート認証 に使用されるTPMチップが付属するPC /デスクトップについて読みました。

だから私の質問は次のとおりです:

  1. AndroidスマートフォンにTPMチップが付属していますか?

  2. サービスプロバイダーが、ユーザーが侵害されたサービスからサービスにアクセスしているかどうかを確認する方法はありますかAndroid OS?(つまり、Androidプラットフォームはメカニズムを提供しますか?リモート認証用?)

4
aMa
  1. 私の知る限り、AndroidスマートフォンにはTPMが付属していません。ただし、理論的には、TPMはARMのTrustZone内のソフトウェアに実装できますが、実際にはこれを見たことがありません。

  2. Samsung KNOXはこれをセキュアブートおよび [〜#〜] tima [〜#〜] (a [〜#〜] tee [〜#〜] )の一部として提供していますTrustZone内。

    • 彼らは、信頼できる(既知の)環境が確実にロードされるようにするセキュアブートを実装しました(おそらく HIBv4 -ARMのefuseのようなものを使用しています)およびn、
    • TIMAはOSを時々一時停止し、Androidの整合性を評価します。 TZ用語では、TIMAはセキュアワールドで実行されますが、Android=は通常の世界にあるため、TIMAにはAndroidよりも多くの特権があります。

セキュアブートは、リモート認証が実行できるようなデバイスのポスチャに関する「実行時」の表示を提供しませんが、OSの整合性に関して何らかの形の保証を提供します。この リンク は、信頼を得ることができるSamsung KNOXデバイスを認証する方法も説明しています(セキュアブートとTIMAが実行されています)。

他のデバイスはセキュアブートを提供しますが、私の知る限りでは、KNOXは起動後の整合性を監視し、これらの制御が行われているという信頼を得る手段を実際に提供する唯一のものです。

3
northox

ここでの現在の答えは古くなっています。 Google Pixel 2には、リモート認証用のハードウェアサポートが含まれるようになり、TPMのニーズを満たす独自のバリアントが追加されました。 「TEE-信頼できる実行環境」

ソフトウェアのサポートについては、何をインストールするかによって異なります。

ソース: https://copperhead.co/Android/docs/verified_boot

リモート認証。

Copperheadは、ハードウェアベースのキーストアとキー認証を使用して、別のAndroidデバイスからのローカル検証の両方を提供するAuditorアプリを実装します(QRコードを介して)。アプリは、 https://attestation.copperhead.co/ でホストされている当社の認証サーバー

1
Ev0xFrost
  1. ハードウェアベースのストレージを備えたAndroidの電話があります。これはAndroid 4.3以降でサポートされています。 2013年半ば、(SDK18) KeyChain API。 変更ログから:

AndroidはKeyChainクレデンシャルのハードウェアバックアップストレージもサポートするようになり、キーを抽出できないようにすることでセキュリティを強化しています。つまり、キーがハードウェアベースのキーストア(Secure Element、TPM、またはTrustZone)に格納されると、それらを暗号化操作に使用できますが、秘密キーマテリアルはエクスポートできません。 OSカーネルでさえ、この主要な資料にアクセスできません。すべてのAndroid搭載デバイスがハードウェア上のストレージをサポートしているわけではありませんが、KeyChain.IsBoundKeyAlgorithm()を呼び出して、ハードウェアベースのストレージが利用可能かどうかを実行時に確認できます。

  1. GoogleはPlayサービスを介して Safty Net API を提供しており、デバイスが侵害されたかどうかを確認できます。ここに彼らのサイトの説明があります:

このサービスは、アプリがインストールされているデバイスを分析するためにアプリが使用できるAPIを提供します。 APIは、アプリがインストールされているデバイスのソフトウェアおよびハードウェア情報を使用して、そのデバイスのプロファイルを作成します。次に、サービスは、Android互換性テストに合格したデバイスモデルのリストとの照合を試みます。このチェックは、デバイスがAndroidプラットフォームの仕様と一致するように構成され、アプリを実行する機能を備えているかどうかを判断するのに役立ちます。

Google Pay アプリで使用されます。

1
patrickf