このページは、シンガポール CLS / iM8 の各条項および対応する ETSI EN 303 645 の規定を、それを満たすソースコードにマッピングします。各行には Japan JC-STAR の相互参照と SS 711:2025 設計原則のアライメントが含まれています。
凡例:
- ✅ 実装済み
- ⚠️ 部分的
- 🔲 計画中
- ➖ スコープ外
シンガポールの国内 IoT 標準 SS 711:2025 は 4 つの原則を定義しています。完全なモジュールマッピングについてはロードマップを参照してください。
| 原則 | SS 711:2025 要件 | ステータス |
| セキュア・バイ・デフォルト | 一意のデバイス同一性、署名付き OTA アップデート | ✅ identity.rs、update.rs |
| 防御の厳格性 | STRIDE の脅威モデル、改ざん検知 | ✅ ハッシュチェーン(integrity.rs)+ STRIDE 脅威モデル |
| アカウンタビリティ | 監査証跡、操作ログ、 RBAC 設計 | ✅ ingest/( AuditLedger 、 OperationLog ) |
| 回復力 | デフォルト拒否のネットワーキング、 DoS 対策 | ✅ ingest/network_policy.rs |
| 項目 | 詳細 |
| JC-STAR | STAR-1 R3.1 |
| 要件 | デバイスは汎用デフォルト認証情報を使用してはならない |
| ステータス | ➖ スコープ外 — このプロジェクトはソフトウェア監査レコードを実装するものであり、デバイスの認証情報管理ではない |
| 項目 | 詳細 |
| JC-STAR | STAR-1 R4.1 |
| 要件 | SLA が定められた、公開・実行可能な脆弱性報告チャネル |
| ステータス | ✅ 実装済み |
| 実装 | SECURITY.md — 対応バージョン・プライベート報告窓口(GitHub Security Advisory)・承認 SLA(3営業日)・パッチ SLA(重大/高: 30日、中/低: 90日)・スコープ定義を含む公開開示ポリシー |
| 実装 | GitHub プライベート脆弱性報告機能を有効化済み — 報告者は Security Advisories フォームを使用 |
| 項目 | 詳細 |
| JC-STAR | STAR-2 R2.2 |
| 要件 | ソフトウェアアップデートパッケージはインストール前に署名・検証されなければならない |
| ステータス | ✅ 実装済み |
| 実装 | UpdateVerifier::verifyが BLAKE3 ペイロードハッシュと Ed25519 パブリッシャー署名をチェックしてからインストールを許可。失敗したチェックはUpdateVerificationLogにUpdateVerifyDecision::Rejectedとして記録される(src/update.rs) |
| テスト | tests/unit/update_tests.rs — 承認パス・改ざんペイロード・無効な署名・不明なパブリッシャー・マルチパブリッシャー分離をカバー |
| 項目 | 詳細 |
| JC-STAR | STAR-1 R1.1 |
| 要件 | データは真正性の保証を持って送信されなければならない |
| ステータス | ✅ 実装済み |
| 実装 — レコード真正性 | すべてのAuditRecordは BLAKE3 ペイロードハッシュに対する Ed25519 署名を持つ — build_signed_record(src/agent.rs)、sign_payload_hash(src/identity.rs:12) |
| 実装 — チャネル機密性(HTTP) | transport-tls フィーチャー:rustls TLS 1.2/1.3 の serve_tls()、ハンドシェイク前の IP アローリスト適用、eds serve-tls --tls-cert / --tls-key CLI — closed #176(src/transport/tls.rs) |
| 実装 — チャネル機密性(MQTT) | transport-mqtt-tls フィーチャー:CA 証明書パスを持つ MqttTlsConfig、rumqttc::TlsConfiguration::Rustls 経由の rustls ClientConfig、eds serve-mqtt --tls-ca-cert CLI — closed #180(src/transport/mqtt.rs) |
| 項目 | 詳細 |
| JC-STAR | STAR-1 R3.2 |
| 要件 | 必要なインターフェースとサービスのみを公開すべき |
| ステータス | ✅ 実装済み |
| 実装 — IP アローリスト | NetworkPolicyがデフォルト拒否の IP/CIDR アローリスト強制を提供(src/ingest/network_policy.rs) |
| 実装 — HTTP トランスポート | ingest_handlerが暗号検証の前にNetworkPolicy::check(source_ip)を強制;未登録ソースに403 Forbiddenを返す(src/transport/http.rs) |
| 実装 — MQTT トランスポート | serve_mqttは単一のサブスクライブ専用トピックを公開;管理インターフェースなし;ブローカーレベルの ACL を推奨(src/transport/mqtt.rs) |
| 備考 | ネットワークレベルのコントロール(VPN・ファイアウォールルール)はデプロイ担当者の責任 |
| 項目 | 詳細 |
| JC-STAR | STAR-1 R1.3 |
| 要件 | デバイスはソフトウェアとデータの完全性を検証しなければならない |
| ステータス | ✅ 実装済み |
| 実装 — ペイロードハッシュ | 生ペイロードに対する BLAKE3 ハッシュ:compute_payload_hash(src/integrity.rs:12) |
| 実装 — ハッシュチェーン | prev_record_hashが各レコードを前のレコードにリンク。挿入/削除はverify_chainで検知(src/integrity.rs:35) |
| テスト | tampered_lift_demo_chain_is_detected(src/lib.rs:338) |
| 項目 | 詳細 |
| JC-STAR | STAR-2 R4.1 |
| 要件 | 送信または保存される個人データは保護されなければならない |
| ステータス | ➖ スコープ外 — 現在の実装では監査レコードに個人データを含まない |
| 項目 | 詳細 |
| JC-STAR | STAR-2 R3.2 |
| 要件 | デバイスは運用状態を維持し、優雅に回復すべき |
| ステータス | ➖ スコープ外(部分的なパスは計画中) |
| 注意 | 完全な HA はデプロイ担当者の責任だが、ライブラリは接続断失中に署名済みレコードを蓄積し、リンク回復時にチェーン順序で再送するオフラインバッファ/ストア&フォワードモジュールを提供できる。#74で追跡中 |
| 項目 | 詳細 |
| JC-STAR | STAR-2 R3.1 |
| 要件 | セキュリティ関連イベントはログに記録され、リプレイ/並べ替え攻撃が検知されなければならない |
| ステータス | ✅ 実装済み |
| 実装 — シーケンス | デバイスごとの厳密な単調増加sequence。重複・順序違いのレコードはIngestState::verify_and_acceptで拒否(src/ingest/verify.rs:45) |
| 実装 — 監査証跡 | 承認/拒否の決定はIngestServiceとAuditLedger経由で永続化(src/ingest/storage.rs) |
| 項目 | 詳細 |
| JC-STAR | — |
| 要件 | ユーザーは個人データを削除できるべき |
| ステータス | ➖ スコープ外 |
| 項目 | 詳細 |
| JC-STAR | STAR-2 R1.4 |
| 要件 | 秘密鍵は HSM 内に保存・使用されなければならない |
| ステータス | 🔲 計画中 |
| ギャップ | HSM バックの鍵保存はフェーズ 3 ( IEC 62443-4-2 / CII/OT )で計画中。#54および#98を参照 |
| 項目 | 詳細 |
| CLS | CLS-10 |
| 要件 | リプレイ攻撃は検知・拒否されなければならない |
| ステータス | ✅ 実装済み |
| 実装 | IngestStateのseen HashSet が重複した(device_id, sequence)ペアを拒否(src/ingest/verify.rs:56) |
| レベル | 総条項数 | ✅ 実装済み | ⚠️ 部分的 | 🔲 計画中 | ➖ スコープ外 |
| CLS レベル 3 | 11 | 5 | 3 | 0 | 3 |
| CLS レベル 4 | 1 | 0 | 0 | 1 | 0 |
| JC-STAR 追加 | 1 | 1 | 0 | 0 | 0 |
注意: 「スコープ外」の条項は、デバイスレベルの懸念事項(パスワード・ネットワークインターフェース・個人データ)をカバーしており、監査レコードライブラリではなくデプロイ担当者の責任となるものです。