
2026/11/06 19:58
KEM、AEAD および鍵導出ワークフローを中心に設計した Rust API
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
はい、改善された要約の推奨はあります。 それは特定の Rust バージョン要件を取り入れ、Go モジュールの分離を明確にし、「監査対応 (Audit-Ready)」ステータスを強化するための具体的なアルゴリズムを列挙し、ネイティブバックエンドのリスクプロファイルの説明を Key Points に厳密に合わせるために少し修正すべきです。
## 要約:改善版 NEXUS-Q v4.1.2 リリースは堅牢なセキュリティモデルを特徴とする監査対応 (Audit-Ready) の基盤となりますが、FIPS 140-3 や独立した外部監査など、公式の生産環境での使用適合性を示す認証は明記して含まれていません。未検証の最適化に依存せずに即時の安全性を確保するため、プロジェクトはすべての重要な暗号処理パスで安定した **RustCrypto** 実装をデフォルトとしています。ベンチマーク結果では、AMD EPYC ハードウェア上でオプトイン可能なネイティブバックエンドが競合他社(具体的には AWS-LC)より 1.5 倍高速であることを示していますが、その使用は、妥損されたエンドポイントと特権攻撃者に関するセキュリティモデルのリスクを認識しているため、非クリティカルなシナリオにのみ厳格に制限されています。 このリリースでは、安定したデフォルト機能と実験的な機能を明確に分離しています。特に、Rust コアは **Rust 1.88+(エディション 2024)** を必要とし、Rust ライブラリは MIT/Apache-2.0 のデュアルライセンスですが、Go モジュールは Rust リリースとは独立した `v0.x` バージョン付けを維持しています。実装には標準化された古典的およびポスト量子暗号プリミティブ——具体的には **Ed25519、ML-KEM-768/1024、SLH-DSA** ——が含まれており、RUSTSEC-2023-0071 (RSA) については設定による例外が文書化されています。今後の進展は新しいアルゴリズムではなく、ハードウェアによるバックアップされた隔離に焦点を当てます。したがって、このライブラリを統合する組織は、デプロイ前にアダプタドキュメントを通じて特定のハードウェアプロバイダへの対応を確認し、検証されたセキュリティが未検証の速度向上よりも優先されることを受諾する必要があります。
本文
NEXUS-Q プロジェクトステータス報告書
最終確認日:2026 年 10 月 28 日
現在の実装ステータス
リリースバージョン情報
- 現在のリリース:
NEXUS-Q v4.1.2 - カテゴリ: 監査対応版 (Audit-Ready Release)
- 重要な制限事項:
- 「運用環境への適合性(Production-readiness)」を断言するものではありません。
- FIPS 認証は取得されていません。
- 外部からの第三者監査は現在待機中です。
- 詳細および制限事項については
をご参照ください。docs/V4_RELEASE.md
バックエンド実装状況
- デフォルトパス: RustCrypto が引き続き使用されます。
- ML-KEM / ML-DSA 対応ネイティブバックエンド:
- ステータス:実験的 (Experimental) です。
- 利用方式:オプトイン(手動有効化) 必要です。
- 監査状況:独立した第三者監査は受けていません。
プロジェクト概要 (At a Glance)
| 項目 | 内容・位置づけ |
|---|---|
| 言語 | Rust (Edition 2024) |
| ツールチェーン | Rust 1.88 以上(アーティファクトの整合性は別途確認を) |
| 暗号化 | 古典的および後量子計算セキュリティ対応アルゴリズム標準 |
| ライセンス | MIT または Apache-2.0 の二者択一 |
| 保証境界 | セキュリティ CI、フジティングターゲット、文書化された脅威モデルに限定されます。独立した第三者監査または認定を謳っていません。 |
機能性と成熟度マトリックス
| ステータス | 機能 (Capability) | 資格認定・補足情報 |
|---|---|---|
| Available (利用可能) | Rust コア、CLI、サーバー、ストレージワークフロー、ポリシーチェック、監査ロギング、SDK バインディング。 | インストールガイドで具体的なパッケージとターゲットを確認してください。 |
| Available (利用可能) | 標準化された暗号アルゴリズム(RustCrypto パス)。ML-KEM/ML-DSA 機能を含む。 | ライブラリレベルでのサポートは、すべての CLI コマンドや SDK が全てのオペレーションを公開しているとは限りません。 |
| Experimental / opt-in (実験的) | ML-KEM/ML-DSA ネイティブ実装()。 | デフォルトでは無効です。独立した監査を受けていません。 |
| Integration-specific (統合依存) | HSM モジュールおよびハードウェアプロバイダのアブストラクション層。 | 特定の HSM やエンクレーブのサポートは暗黙的に保証されていません。アダプタードキュメントを参照してください。 |
| Planned (予定) | ハードウェアによる隔絶およびプラットフォーム固有の統合。 | ロードマップ上の計画であり、実装完了までの待ちが必要です。 |
セキュリティモデル概要 (Security Model)
主要なセキュリティ質問と制限事項
- 考慮される敵対者: ネットワーク攻撃者とローカルでの非特権攻撃者(脅威モデルを参照)。
- 制限: エンドポイント侵害や特権的な悪意あるインフラが存在する場合は前提条件が破られます。
- セーフハウスファイルの盗難: データは「保存時」に暗号化され、鍵マテリアルはライフサイクルを通じて管理されます。
- 制限: 保護の有効性はパスワード強度や、攻撃者がシークレット/メモリを取得しないことに依存します。
- デバイスの侵害時対応: ゼロ化(秘密情報の消去)、ポリシーチェック、多層防御を提供します。
- 制限: OS や特権アカウントを制御する攻撃者からの保護は保証しません。
- パスワードの喪失時: 文書化されたバックアップおよび回復手順に従ってください。
- 制限: パスワードリセットで暗号学的シークレットが常に復元されるわけではありません。運用使用前に回復テストを行ってください。
- 外部監査・認定: FIPS 140-3 または共通基準 (Common Criteria) の認証は謳っていません。
- 制限: 自動テストや CI は、独立したレビューの代わりにはなりません。
- 依存関係の注意報:
(RSA) は例外として残っています。RUSTSEC-2023-0071
モジュールと SDK
リポジトリは暗号学的コアからインターフェース、言語バインディングを分離しています。各パッケージは異なる成熟度やプラットフォームサポートを持つ可能性があります。
| 領域 | メインコンポーネント | 目的・境界 |
|---|---|---|
| コアとプリミティブ | , , , | セキュリティロジックおよびアルゴリズムに焦点を当てたクリエート群。 |
| アプリケーションインターフェース | , , | 集約された Rust API、CLI、認証済み HTTP サービス。 |
| ネイティブ統合 | , , | C/C++ および Python 拡張/バインディング。 |
| オプションサービス | , , , , , , , | 管理、HA、HSM、PKI 関連モジュール。詳細は個別ドキュメントを参照。 |
| 言語バインディング | (Dart, .NET, Go, Java など) | 主要言語へのインターフェース提供。 |
| パフォーマンス証拠 | , | ベンチマークアダプターおよび測定レポート。 |
オブザビューと機能性
保護対象とコア機能
NEXUS-Q は次世代の暗号セキュリティエンジンであり、以下のものを保護します:
- 🔒 データ
- 🗝️ 鍵 (Keys)
- 🪪 アイデンティティ (Identities)
コア機能:
- ファイルおよびストリームの認証付き暗号化。
- 完全なライフサイクル管理:生成、ローテーション、撤回、破壊。
- デジタル署名と検証可能な資格証明書。
アーキテクチャ原則
- 暗号学は独自に考案しません: 標準化されたアルゴリズムとメンテナンスされているライブラリのみを使用します。
- Library-first (ライブラリー優先): コアは Rust ライブラリであり、CLI/SDK はその上位レイヤーです。
- Hardware-agnostic boundary: ハードウェアプロバイダインターフェースは分離されており、具体的な隔絶の主張は実装完了時にのみ行われます。
- Zeroization: 必要不再の秘密情報はメモリから消去されます。
- Auditability: セキュリティアクションは、改ざん検知不可能な HMAC 認証付きログに記録されます。
コンポーネント定義
| コンポーネント | 役割 |
|---|---|
| すべての暗号化、鍵管理、アイデンティティ、ポリシーのロジックが含まれるライブラリ。 |
| CLI ツール(薄 wrapper)。暗号機能は持たず、ライブラリへ依存。 |
| 認証済み HTTP サービスを提供するサーバーバイナリ。 |
| 他言語向けのバインディング集約ディレクトリ。 |
ビルド要件
- 必須: Rust 1.88 以上 (Edition 2024)、Git。
- プラットフォーム検証: Linux (x86_64, aarch64), Android / Termux, RISC-V。macOS/Windows は V2 CI で検証済み(リリースビルド)。
暗号化 (Cryptography)
標準アルゴリズムおよび後量子計算セキュリティに対応した以下のファミリを使用しています。詳細は
docs/CRYPTOGRAPHY.md を参照してください。
| ファミリー | 目的・用途 | 実装状況・アルゴリズム |
|---|---|---|
| Randomness | 鍵、ランダム数(nonces)、塩の生成 | OS CSPRNG, TRNG (ヘルスチェック付き) |
| Hashing | ダイジェストとコミットメント | SHA-2, SHA-3 |
| KDF | パスワードおよび鍵マテリアルから鍵へ | Argon2id, HKDF |
| AEAD | 対称認証付き暗号化 | AES-256-GCM, ChaCha20-Poly1305 |
| KEM | 後量子計算セキュリティ対応鍵カプセル化 | ML-KEM-768/1024, X25519 ハイブリッド |
| Signatures | 真正性証明 | Ed25519, ML-DSA-65, SLH-DSA-SHAKE-128f |
完了済み機能リスト (Completed Features)
- 基礎文書、脅威モデル、暗号ルール。
- Crypto コア: ML-KEM-768 の X25519 ハイブリッド、AES-256-GCM など。
- 鍵管理: 完全なライフサイクル(生成〜破壊)サポート。
- ストレージ: アトミックライト対応の暗号化セーフハウス(形式 F-01)、エンベロープ暗号化(形式 F-02)。
- アイデンティティ: 署名、検証、ローテーション、撤回機能付き資格証明書。
- セキュリティ機能: TPM/HSM/RISC-V 向けソフトウェア HA (Hardware Abstraction)、TRNG サポート、HMAC 認証付き監査ログ。
- ポリシー: デフォルト拒否ポリシーエンジン。
- CLI コマンド: セーフハウス、鍵、データ、署名、アイデンティティ、資格証明書、監査機能への対応。
ベンチマーク結果
重要なお断り
以下のデータは示唆的な数値に過ぎず、万能なパフォーマンス保証や最終的なセキュリティ認定の代わりにはなりません。ハードウェア、ランナー環境、サンプル数が異なる場合があります。総合スコアは算出されていません。低遅延が望ましいです。
1. ローカル診断 (2026 年 10 月 21 日 x86-64)
オプトインネイティブバックエンド(AWS-LC RNG 使用)を最良のコンパレータと対比した結果です。9 の操作中で 6 つが中央値・p95 でコンパレータを上回り、残りはほぼ同等でした。
| オペレーション | NEXUS-Q (µs) | AWS-LC (µs) | 比率 (NEXUS-Q / AWS-LC) |
|---|---|---|---|
| ML-KEM-768 鍵生成 | 12.90 | 12.33 | 1.05× |
| ML-KEM-768 エンカプス | 12.94 | 12.75 | 1.01× |
| ML-KEM-768 デキャプス | 15.38 | 15.43 | 1.00× |
| ML-KEM-1024 鍵生成 | 18.34 | 17.85 | 1.03× |
| ML-KEM-1024 エンカプス | 18.66 | 18.56 | 1.01× |
| ML-KEM-1024 デキャプス | 22.01 | 22.19 | 0.99× |
| ML-DSA-65 鍵生成 | 35.79 | 40.00 | 0.89× |
| ML-DSA-65 署名 | 83.22 | 96.57 | 0.86× |
| ML-DSA-65 検証 | 33.54 | 34.31 | 0.98× |
2. v4.1.0 ステータスライン (CI ゲート結果)
公式パスゲート(1.5× 中央値および p95)を達成した測定結果です。AMD EPYC 7763 環境での測定。
| オペレーション | NEXUS-Q 中央値 (µs) | AWS-LC 中央値 (µs) | 中央値比率 | ゲート結果 |
|---|---|---|---|---|
| ML-KEM-768 鍵生成 | 12.90 | 12.33 | 1.046 | pass |
| ML-KEM-768 エンカプス | 12.94 | 12.75 | 1.015 | pass |
| ML-KEM-768 デキャプス | 15.38 | 15.43 | 0.997 | pass |
| ML-KEM-1024 鍵生成 | 18.34 | 17.85 | 1.028 | pass |
| ML-KEM-1024 エンカプス | 18.66 | 18.56 | 1.005 | pass |
| ML-KEM-1024 デキャプス | 22.01 | 22.19 | 0.992 | pass |
| ML-DSA-65 鍵生成 | 35.79 | 40.00 | 0.895 | pass |
| ML-DSA-65 署名 | 83.22 | 96.57 | 0.862 | pass |
| ML-DSA-65 検証 | 33.54 | 34.31 | 0.978 | pass |
注記: ネイティブバックエンドは実験的かつオプトインです。デフォルトビルドでは RustCrypto が使用されています。
3. アリーナ比較とバージョン推移 (歴史的データ)
- v1 ベースライン: ML-KEM/ML-DSA オペレーションにおいて最速の成熟実装よりも遅れていました(例:署名で 4.46× のオーバーヘッド)。V4 での主要な目標はこのギャップ縮小でした。
- V2 vs V3 比較: V1 と比較して、特定のオペレーション(特に ML-DSA-65 署名)でパフォーマンス増悪が見られますが、V3 はセキュリティ強化を維持する方針として設計されています。
- V4.1.0 ゲート: メインブランチでの PQC ベンチマークアリーナランと、運用パスゲート(1.5× ゲート)の両方で緑色(パス) となりました。
リリースラインステータス
| ライン | ステータス | 位置づけ・補足 |
|---|---|---|
| V4.1.2 | 現在リリース | Audit-Ready Release。運用環境適合性主張なし、FIPS 無。 |
| V4.1.1 | 歴史的リリース | レジストリ利用可能性に制限あり。外部監査継続中。 |
| V4.1.0 | 歴史的リリース | オプトインネイティブバックエンド運用パスワイアリング。 |
| V4 (Engineering) | エンジニアリングスナップショット | 実験的ネイティブバックエンドワーク。 |
| V3 | エンジニアリングリリース | ハーデン化された実装およびベンチマーク証拠統合済み。 |
| V2 | Frozen(凍結) | セキュリティ/正しさを保証するエンジニアライン。 |
| V1 | 歴史的ベースライン | オリジナルのフローズンベースライン。 |
- V4 エンジニアリングタグ:
がメインブランチ統合済み。公式 1.5× ゲートパス済み。v4-engineering-2026-10-16 - V3: ハーデン化された実装であり、独立した監査や認定の主張ではありません。
- V2/V1: セキュリティモデルを維持しつつ、パフォーマンス調査やアーカイブ証拠が整備されています。
クイックスタートとコマンド
ビルドおよび基本操作
環境要件: Rust 1.88+ のインストール完了後、リポジトリルートから以下のコマンドを実行します。
# ワークスペースをビルド cargo build --workspace --release # セーフハウスの作成とステータス調査 ./target/release/nexusq vault create ./example.nqv ./target/release/nexusq vault status ./example.nqv ./target/release/nexusq health # 署名鍵の生成(--password-file を推奨) ./target/release/nexusq key generate \ ./example.nqv \ --algorithm ed25519 \ --purpose sign \ --password-file ./password.txt # データの暗号化と復号化 ./target/release/nexusq data encrypt \ ./example.nqv \ --key-id <key-id> \ ./secret.txt ./target/release/nexusq data decrypt \ ./example.nqv \ ./secret.txt.nqx \ ./secret.out
セキュリティと運用の注意
- パスワード管理:
は厳重に管理し、コミットしないでください。password.txt - アルゴリズム選択: クイックスタート例では古典暗号(Ed25519)を使用していますが、後量子計算対応の ML-KEM/ML-DSA についてはライブラリドキュメント(
など)を参照してください。docs/user/CLI.md - クロスコンパイル: RISC-V 向けビルドは
を参照してください。docs/CROSS_COMPILE.md
リリースデプロイ
cargo build --workspace --release ./deploy/package-release.sh
生成アーカイブ内容: CLI、サーバー、設定例、SHA-256 マニフェストを含む。運用トークン、セーフハウス、秘密鍵は含まれません。詳細は
を参照してください。docs/DEPLOYMENT.md
インストール (Installation)
現在の推奨リリース: NEXUS-Q v4.1.2 (Audit-Ready Release) です。 Go モジュールおよび実験的なネイティブバックエンド (
nexusq-native-backend) は独立したバージョンラインを維持しています。
| チャンネル | インストールコマンド・情報 | 備考 |
|---|---|---|
| Rust ライブラリ (オールインワン) | | crates.io |
| Rust コアライブラリ | | crates.io |
| Rust ネイティブバックエンド | | 実験的、オプトイン必須 (デフォルト無効) |
| CLI ツール | | crates.io |
| サーバー | | crates.io |
| Python | | PyPI (sdist のみ) |
| TypeScript/Node.js | | npm |
| Java | | Maven Central |
| Kotlin | | Maven Central |
| C# / .NET | | NuGet (ネイティブランタイム含む) |
| Swift | | SwiftPM |
| Dart | | pub.dev |
| Go | | 独立した v0.x リンク版 |
| PHP | | Packagist |
| Ruby | | RubyGems |
Maven / Gradle サンプル
Maven
<dependency> <groupId>io.github.lecodev-26</groupId> <artifactId>nexusq</artifactId> <version>4.1.2</version> </dependency>
Gradle (Kotlin DSL)
implementation("io.github.lecodev-26:nexusq:4.1.2") implementation("io.github.lecodev-26:nexusq-kotlin:4.1.2")
ネイティブランタイムへの注記
- バインディング言語 (Go, PHP など): C SDK (
) に対する FFI Wrapper です。自動ランタイムダウンロードは SDK 依存です。libnexusq - Python:
(PyO3) からビルドされたネイティブ拡張モジュールです(ホイールなし)。crates/nexusq-py - .NET / Swift: P/Invoke やシステムライブラリを通じて C SDK にリンクします。
- C SDK: ソースから直接ビルド(
)またはパッケージを使用可能。cargo build -p nexusq-c --release
ドキュメント (Documentation)
ユーザー向けのタスク指向ガイドと技術的なリファレンスドキュメントは以下のディレクトリにあります。
| ドキュメント | 内容のカバー範囲 |
|---|---|
| ARCHITECTURE | システムデザイン、構成要素の概要 |
| THREAT_MODEL | 防御対象と脅威の境界 |
| CRYPTOGRAPHY | アルゴリズム仕様と暗号ルール |
| KEY_MANAGEMENT | キーライフサイクル管理手順 |
| SECURITY_MODEL | セキュリティ保証とモデル詳細 |
| STORAGE | 永続化フォーマット (Vault) |
| API | 公開されたライブラリインターフェース |
| POLICY | アクセス制御エンジン仕様 |
| CROSS_COMPILE | クロスコンパイルガイド |
| ROADMAP | プロジェクトの進捗計画 |
| performance/ | ベンチマーク手法、ネイティブバックエンド注記 |
| security/ | セキュリティデザイン評価と決定記録 |
セキュリティと保証 (Security and Assurance)
重要なステートメント
| ✅ 主張および証拠付き | ❌ 主張していないこと |
|---|---|
| メンテナンスされたライブラリによる標準化アルゴリズム | 独立した外部監査 (Phase 21 待機中) |
| 必要不再の秘密情報のゼロ化 | FIPS 検証または共通基準認定 |
| 改ざん検知不可能な HMAC 認証付き監査ログ | 形式的検証 (Formal verification) |
| デフォルト拒否ポリシーエンジン | 運用環境への適合性保証 |
| セキュリティ CI、フジティングターゲット | レジストリ公開が運用準備承認であることを意味しないこと |
- 疑わしい脆弱性: GitHub Security Advisories を通じて非公開に報告してください (
参照)。SECURITY.md - 依存関係: すべての検証ステートメントを確認する前に、現在のメイン CI 結果をチェックしてください。
コントリビューティング (Contributing)
Issue でのバグ報告、ドキュメント改善、およびプルリクエストは歓迎されます。変更を開く前に以下の手順に従ってください:
- 文書化の確認: アーキテクチャ、脅威モデル、暗号ルール、セキュリティポリシーを読み込んでください。
- 暗号プリミティブの委任: 独自に暗号学を考案したり、シリアル化フォーマットを変更しないでください(既存ライブラリを使用)。
- テストとドキュメント: 動作変化に合わせてテストを追加/更新し、パフォーマンスワークの場合は生証拠を保存してください。
- ローカルチェックの実行:
cargo fmt --all -- --check cargo test --workspace cargo build --workspace --release - セキュリティ影響の説明: プルリクエストでセキュリティ影響と互換性影響を明確に記述してください。機密情報を含めないでください。
ライセンス (License)
本プロジェクトは、MIT ライセンス または Apache License 2.0 から選択することでデュアルライセンスされています。これは Rust エコシステムにおける慣習(Tokio や Serde などと同様)に準拠しています。