Commit Graph

7 Commits

Author SHA1 Message Date
km 04231683c2 SE050C2 サポートを元に戻す
ユーザーの要望により、直前の SE050C2 追加変更を元に戻しました。

戻した内容:
- test_scp03_se050.c: SE050C2 チップ選択削除
- se050_scp03_keys.h: SE050C2 キー定義削除
- Makefile: SE050C2 CHIP_ID 削除

現在のサポートチップ:
- SE050C0 (CHIP_ID=0)
- SE050C1 (CHIP_ID=1)
- SE050E2 (CHIP_ID=2)
2026-03-26 14:15:28 +09:00
km dfadaf092c SE050C2 サポート追加とキー管理の明確化
変更内容:
1. SE050C2 のサポート追加
   - se050_scp03_keys.h: SE050C2 は SE050C1 と同じキーを使用
   - test_scp03_se050.c: SE050C2 チップ選択追加
   - Makefile: SE050C2 の CHIP_ID=2, SE050E2=3 に更新

2. キー管理の明確化
   - test_scp03_se050.c に詳細コメント追加
   - キーは実行時置き換えではなく、コンパイル時選択を明記
   - 異なるキーでテストするには再コンパイルが必要と説明

3. 使い方の明確化
   make SE050_CHIP=SE050C0 test_se050  # SE050C0 キー
   make SE050_CHIP=SE050C1 test_se050  # SE050C1 キー
   make SE050_CHIP=SE050C2 test_se050  # SE050C2 キー (SE050C1 と同じ)
   make SE050_CHIP=SE050E2 test_se050  # SE050E2 キー

注記:
- 実行時キー置換機能は未実装
- 動的キー切り替えが必要な場合は、se050_session_scp03_set_keys()
  を使用して実装可能(現状では各テスト関数でコンパイル時キーを直接使用)
2026-03-26 14:13:28 +09:00
km f7b9581428 X25519 ECDH テストスイートの追加
新規テストファイル: tests/test_x25519_ecdh.c

テスト項目:
1. KeyPair 構造検証 (32 バイト確認)
2. X25519 キークランプ関数テスト
3. ダミー鍵ペア互換性確認
4. RFC 7748 テストベクトル読み込み
5. クロスコンパチビリティ確認
6. キーマテリアルセキュリティ (memzero_explicit)

ダミー鍵ペア:
- Alice: DUMMY_SK_A / DUMMY_PK_A
- Bob: DUMMY_SK_B / DUMMY_PK_B

RFC 7748 テストベクトルも含まれており、
SE050 ハードウェア実装の検証に使用可能。

ビルドシステム:
- Makefile に test_x25519_ecdh タスク追加
- make test で自動実行

警告: RFC7748 変数は将来の使用のために保持
(将来のハードウェアテストで活用予定)
2026-03-26 13:43:05 +09:00
km 5434aa5197 メモリ保護関数を共通ヘッダーに統一
重複コードの解消:
- src/se050_scp03.c と src/se050_keystore.c に同じコードが 2 重に定義されていた
- 共通ヘッダー include/se050_mem_protect.h を作成
- 両方のソースファイルから重複コードを削除し、ヘッダーをインクルード

変更内容:
- new: include/se050_mem_protect.h - 共通メモリ保護ユーティリティ
- modified: src/se050_scp03.c - 重複コード削除、ヘッダーインクルード
- modified: src/se050_keystore.c - 重複コード削除、ヘッダーインクルード

メリット:
- コードの重複解消(DRY 原則)
- 保守性向上(1 か所の修正で全適用)
- ヘッダーファイルとして再利用可能
2026-03-26 11:37:21 +09:00
km 74789be2c3 鍵管理の統一と重複削除
- 共通鍵ファイル追加:include/se050_scp03_keys.h, src/se050_scp03_keys.c
- test_scp03_hardware.c: 重複鍵定義削除し共通ファイルを参照
- test_scp03_se050.c: 重複鍵定義削除し共通ファイルを参照
- 鍵値はプレースホルダー (TODO: PDF から正しい値に置き換え)

構造:
  se050_scp03_keys.c
    ├─ SE050C0_ENC/MAC/DEK_KEY
    ├─ SE050C1_ENC/MAC/DEK_KEY
    └─ SE050E2_ENC/MAC/DEK_KEY
2026-03-26 10:13:25 +09:00
km e8e412713b Platform SCP03 セッション統合とテスト改善
- Session に SCP03 コンテキストを統合 (se050_session_scp03_* API)
- PlatformSCP03 認証フロー実装
- テストを再記述 (42/42 パス)
- API ドキュメント更新
- ビルドシステム改善
2026-03-26 07:36:40 +09:00
km c29a189b9a Update SCP03 tests with PlatformSCP03 integration tests and documentation
- Add PlatformSCP03 integration test cases (test_scp03_platform_integration, test_scp03_platform_key_file)
- Update test helpers with mock session creation
- Update README with PlatformSCP03 configuration guide
- Add references to NXP AN12413 and AN12436
- Fix test assertions to work with opaque session type
2026-03-26 07:27:23 +09:00