Androidのファイルベース暗号化とメタデータ保護

AndroidのFBE(File-Based Encryption)は、セキュリティを強化するための重要な技術です。以下では、その基本概念と実装方法について説明します。 FBEの概要 FBEは、異なるファイルに異なる鍵を使用して個別に暗号化できる仕組みです。Android 7.0以降でサポートされ、デバイスのロック状態に関係なく一部のアプリケーションが動作するDirect Boot機能と密接に関連して ...

7月20日 22:03 投稿

keymasterデバッグ用の補助関数

CA側でのcmd id文字列の出力: const char* get_command(uint32_t command_id) { switch(command_id) { case KM_GENERATE_KEY: return "KM_GENERATE_KEY"; case KM_BEGIN_OPERATION: return "KM_BEGIN_OPERATION"; case KM_UPDATE_OPERATION: return "KM_UPDATE_OPERATION"; case KM_FINISH_OP ...

7月11日 22:05 投稿

OP-TEE Keymaster 4.0 における Triple DES ECB モードの VTS テスト対応

VTS(Vendor Test Suite)のテストケース PerInstance/EncryptionOperationsTest.TripleDesEcbRoundTripSuccess/0_default は、Keymaster HAL が Triple DES(3DES)アルゴリズムの ECB モードを正しくサポートしているかを検証するものである。このテストは OP-TEE 上の Keymaster TA(Trusted Application)に 3DES の実装が不足している場合、複数のエラーを引き起こす ...

6月20日 20:03 投稿

OP-TEE KM4.0 VTS テストにおける RSA 鍵使用時のアプリケーション識別子検証

問題の発生とログ解析 VTS(Vendor Test Suite)テスト実行中に、以下のコマンドで特定のテストケースが失敗しました。 # ./VtsHalKeymasterV4_0TargetTest --gtest_filter=PerInstance/SigningOperationsTest.RsaUseRequiresCorrectAppIdAppData/0_default テスト結果の出力から、次の3つのアサーションが期待通りに失敗していることが確認できます: Begin(KeyPurpo ...

6月15日 20:11 投稿

Keymaster HAL VTSテストにおけるRSAアテステーションエラーの解析と修正

./VtsHalKeymasterV4_0TargetTest --gtest_filter=PerInstance/AttestationTest.RsaAttestation/0_default エラー1: hardware/interfaces/keymaster/4.0/vts/functional/keymaster_hidl_hal_test.cpp:364: Failure 期待される値は一致しません: ErrorCode::OK これは: OK error これは: UNKNOWN_ERROR hardware/interfaces/keymaster/4.0/vts/functional/keymaster_hidl_h ...

6月10日 19:05 投稿

Optee KM4.0 VTSテスト: VerificationOperationsTest.HmacSigningKeyCannotVerifyの失敗

VTSテストの結果として、複数のテストケースが失敗しました。特に、VerificationOperationsTest.HmacSigningKeyCannotVerifyというテストケースがエラーを発生しています。 失敗したテストケース: ./VtsHalKeymasterV4_0TargetTest --gtest_filter=PerInstance/VerificationOperationsTest.HmacSigningKeyCannotVerify/0_default テストログから明らかなように、HMAC署名鍵 ...

6月6日 20:41 投稿