2016-09-06 6 views
2

TEEを使用して信頼できるアプリケーションを開発することに興味があります。 Nexus 5で、Android 5.1.1(LMY48M)が表示されています。実際のデバイスで動作するTEEロジックを理解するために、非常に基本的なhello worldアプリケーションを作成したいと思います。 Nexus 5はQSEE(Qualcomm Secure Execution Environment)をサポートしていますが、QSEE通信ライブラリを通常のAndroidアプリケーションに組み込む方法に関するドキュメントは見つかりませんでした。 ADBルートシェルでAndroidアプリケーションでQSEEと通信する方法は?

cat /d/tzdbg/log 
cat /d/tzdbg/qsee_log 

コマンドは、空の結果を表示します。

これまでにこのようなアプリケーションを開発しようとしていた人はいますか? 助けていただければ幸いです。

答えて

0

あなたが見つかった場合、この:http://source.android.com/security/trusty/index.html私は、これは関連するセクションであると考えてい

:だから

Currently all Trusty applications are developed by a single party and packaged with the Trusty kernel image. The entire image is signed and verified by the bootloader during boot. Third-party application development is not supported in this version of Trusty.

あなたがあなた自身のカスタムROMを作成している場合を除き、私はあなたがトラスティで何でもできるとは思いません。

+1

あなたのレスポンスのおかげで、私は前にそのドキュメントを読みました。私はTrusty TEEとQSEEが異なるTEE OSであると思いますが、これが間違っていれば私を修正してください。 Androidのソースコードには、QSEE(QSEEComAPI.h、libQSEEComAPI.so、qseecom.hなど)に関連するファイルがいくつかありますが、Trusty TEEには何も関係ありません。これは、特定のACLに対してのみ使用可能な別のレポです。そこでQSEEComAPIを使用してTrustZoneでSMC呼び出しを行いたいと考えています。 – acalb

+0

私はTEEがQSEEによって実装されていると解釈しています。あなたは見たことがあります:https://www.blackhat.com/docs/us-14/materials/us-14-Rosenberg-Reflections-on-Trusting-TrustZone.pdf第3ページの図は、「正常な世界」と「安全な世界'。私の期待は、「安全な世界」で何かをするにはクアルコムのライセンスが必要だということです。カスタムROMを使用してTEEとしてTrustyを構築しない限り。 –

0

最初に、TEEに対して、APPは、TA(Trust APP、TEEで動作する)とCA(クライアントAPP、REEで動作する)の2つの部分を含む。

QSEEにはGlobalPlatform(GP)API(すべてのGP API)が実装されているため、GP APIホワイトペーパーを読んでCAとTAを開発する必要があります。

ただし、CAとTAはTSMによってディスパッチする必要があるため、自分でCAとTAをインストールすることはできません。

+0

私は[Open-TEE](http://open-tee.github.io)を使用してCAとTAを開発しました。このプロジェクトはGPにも準拠していますが、仮想TEE環境を提供します。 QSEE APIを使用して実際のハードウェア環境でTEEと通信する方法を探しています。 ちなみに、TSMはどういう意味ですか?もう少し説明していただけますか? – acalb

+0

@acalbこんにちは、TAとCAを開発したことを皆様からお聞きしたいと思います。 Open-TEEプロジェクトに問題があります。 core/build-binary.mk 1.Error :(688)Android NDK:モジュールnativelibtee-jniは定義されていないモジュールに依存します:cエラー:(701)*** Android NDK:中止(APP_ALLOW_MISSING_DEPS = trueを設定して不足している依存関係を許可します) 。停止:サービス:ビルドネイティブFAILED 2. /ユーザー/ドキュメント/ドキュメント/オープン/テンポ/オープン/テンシオ/サービス/ソース/ライブラリ/ラブテックラップ.pp エラー:(17,35)tee_shared_data_types.h:いいえファイルまたはディレクトリ コンパイルが終了しました。 –

0

私は現在、これを行う簡単な方法はないと思う。

TEEを今すぐ使用する方法を知りたい場合は、OP-TEEまたはOpen-TEEを実行しているVMを使用することをお勧めします(上記の@Cobainへの返信として読んでいます)、GlobalPlatform APIはさまざまなデバイスで広くサポートされています。

残念なことに、デバイスOEMまたは既存のソフトウェアサプライヤであることが今のところ必要ですが、これは将来容易になる可能性があります。これは比較的新しいテクノロジで作業することの欠点です。

TSMはTrusted Services Managerであり、一部のGlobalPlatform TEE実装でTEEにTAをロードするために使用される技術です。 QSEEには適用されません。

TrustyはGoogle独自のTEEで、これをユーザーに公開する利用可能なデバイスは認識していません。 QSEEはクアルコムのTEEです。残念ながら、私はそれが何をしているのか、していないのかについて正確にコメントすることはできません。

0

私は同じことをしたいと思っていましたが、ラスベリー・パイ3のOP-TEEでTrustedアプリケーションを開発するためにsequiturlabsフレームワークを使用しました。これはハードウェア上でのハロー・ワールドTAを有効にしましたが、TA開発REEとしてAndroidを搭載した安全なOSの場合

https://www.sequiturlabs.com/media_portfolio/sequitur-labs-collaborates-with-linaro-to-lower-barriers-to-iot-security-education-for-raspberry-pi-maker-community/

関連する問題