km
|
aff6c301e6
|
Linux メモリ保護機能の実装 (mlock, MADV_DONTDUMP, MADV_WIPEONFORK)
セキュリティ強化のため、Linux 固有のメモリ保護機能を追加:
### 実装した保護機能
1. **mlock()** - スワップ防止
- センシティブなメモリをディスクへのスワップから保護
- 権限不足の場合は警告出力の上継続(フォールバック)
2. **MADV_DONTDUMP** - コアダンプ漏洩防止
- コアダンプ生成時にメモリ内容を除外
- プライベート鍵がダンプに含まれないようにする
3. **MADV_WIPEONFORK** - fork() 子プロセス漏洩防止
- fork() 後の子プロセスからメモリ内容を消去
- 子プロセスへの鍵漏洩を防止
### 変更ファイル
- src/se050_scp03.c - SCP03 コンテキストのメモリ保護
- src/se050_keystore.c - キーストアコンテキストのメモリ保護
### 実装詳細
- Linux 環境でのみ有効(#ifdef __linux__)
- 非 Linux プラットフォームではフォールバック
- mlock 失敗時は警告のみ出力(処理継続)
- madvise 失敗時はエラーログ出力(非致命的)
### 注意事項
- mlock には CAP_IPC_LOCK 権限または RLIMIT_MEMLOCK クォータが必要
- 権限不足の場合でも機能は動作(保護なしで継続)
- 本番環境では適切な権限設定を推奨
|
2026-03-26 11:04:14 +09:00 |
|
km
|
f89ca4f471
|
高優先度タスク完了
1. CMake ビルドシステム対応 (Makefile 追加)
- cmake がない環境でも gcc でビルド可能
- make test で全テスト実行
- インストール/アンインストールターゲット追加
2. エラーハンドリング強化
- 全コンパイラ警告解消 (0 warning, 0 error)
- 未使用パラメータの (void) cast 追加
- SCP03 フォールバック実装整理
結果:
- 基本テスト:42/42 パス
- ハードウェアテスト:41/45 パス (4 つはモックレスポンス形式の問題)
- SCP03 暗号化/復号機能正常動作確認済み
|
2026-03-26 09:07:40 +09:00 |
|