# NoteRichのローカル優先AES-GCM暗号化の説明:あなたのデータ、あなたのキー データ漏洩が増えているデジタル世界において、個人のメモ、アイデア、記録は最高レベルの保護が必要です。NoteRichでは、プライバシーは単なる機能ではなく、基本的な権利だと考えています。 ローカル優先のメモアプリケーションとして、NoteRichはデータが完全に端末内に保管されることを保証します。しかし、データベースをバックアップしたり、他のデバイス間でメモを共有したい場合はどうなるでしょうか?そこで、**AES-GCM暗号化**が役立ちます。これにより、データの送信時および保存時の軍用級のセキュリティが実現します。 --- ## 🛡️ ローカル優先の哲学が実世界のセキュリティと合体 NoteRichは、高度なブラウザデータベースを使用してメモをローカルに保存します。これにより、インターネット接続がなくてもメモにアクセス、編集、検索することができます。しかし、ワークスペース全体を`.nrs`ファイルにエクスポートしたり、P2P(ピアツーピア)を通じてデータベースを他のデバイスに同期したりする場合、データはローカルストレージから離れます。 これらの操作中にデータが完全にプライベートな状態を保つために、NoteRichは**エンドツーエンド暗号化(E2EE)**を採用しています。エクスポートされたファイルが公共のクラウドドライブにアップロードされたり、P2P転送中に傍受されたりしても、パスワードなしでは数学的に読むことができません。 --- ## 🔐 NoteRichがデータをどのように保護するか データベースのエクスポートやP2P共有を暗号化する際、NoteRichは最大限のセキュリティとシームレスなユーザー体験を両立させるための2段階のセキュリティプロセスを使用します。 ### 1. PBKDF2キー生成 ユーザーが入力するパスワードは、適切に処理されない場合、ブルートフォース攻撃に弱いです。NoteRichは**PBKDF2(パスワードベースのキー生成機能2)**を使用して、シンプルなパスワードを強力な256ビットの暗号キーに変換します。このプロセスでは独自の「ソルト」と何千回もの繰り返しが加わり、ハッカーがパスワードを推測するのは非常に遅く、計算コストが高くなります。 ### 2. AES-GCM暗号化 キーが生成された後、NoteRichは**AES-GCM(高度暗号化標準 - ガロア/カウンターモード)**を使用してデータを暗号化します。 * **AES**は、政府や金融データの機密性を保護するための世界的な標準です。 * **GCM**はデータを暗号化するだけでなく、*認証*も提供します。つまり、暗号化されたファイルの1ビットでも改ざんされたり破損したりした場合、NoteRichは即座にそれを検出し、インポートを防ぎ、悪意のある変更からあなたを守ります。 --- ## 🔄 暗号化の流れ:視覚ガイド NoteRichエコシステム内でのデータの安全な流れを見てみましょう。 ```mermaid graph TD A[あなたのデバイス / ローカルIndexedDB] -->|暗号化されていないローカルアクセス| B(NoteRichエディター) subgraph 安全なエクスポートと同期 B -->|`.nrs`ファイルへのエクスポート| C{パスワードを設定するか?} C -->|はい| D[PBKDF2 + AES-GCM] D --> E[暗号化されたバックアップファイル] B -->|P2Pデータベース同期| F{パスワードを有効にするか?} F -->|はい| G[PBKDF2 + AES-GCM] G --> H[P2P暗号化ストリーム] end E --> I[安全なクラウド / 外部ドライブ] H --> J[ターゲットデバイス] style D fill:#e0f2fe,stroke:#0284c7,stroke-width:2px style G fill:#e0f2fe,stroke:#0284c7,stroke-width:2px ``` --- ## 🌐 使用例:いつ暗号化が行われるか? NoteRichは、いつ暗号化を適用するかを完全にコントロールできます。以下はAES-GCMが知識ベースを保護する主なシナリオです: ### 📦 暗号化されたデータベースエクスポート (.nrs) 外部ハードドライブにメモをバックアップするか、個人用クラウドストレージにアップロードする場合、エクスポート時に**"パスワードを設定"**オプションを切り替えることができます。結果として得られる`.nrs`ファイルは完全に乱された状態になります。正しいパスワードを持つ人だけがワークスペースを復元できます。 ### 📡 安全なP2P共有 NoteRichはP2P技術を使用してデバイス間の直接同期をサポートします。P2Pは既に中央サーバーを避けていますが、パスワードを追加することで**ゼロトラストセキュリティ**が確保されます。 * 暗号化されたストリームを含む安全なリンクやQRコードを生成します。 * 受信デバイスは、送信されたデータブロックを復号するために正確なパスワードを入力する必要があります。 * これは、ネットワークスニッフィングを心配することなく、自分のデバイス間で機密性の高い記録やプロジェクトノートを共有するのに最適です。 --- ## 🛑 「ゼロ知識」の保証 NoteRichの暗号化の最も重要な側面の一つは、**私たちはあなたのデータについて何も知らない**ということです。 ```mermaid sequenceDiagram participant U as ユーザー participant N as NoteRichアプリ participant F as 暗号化されたファイル / P2P U->>N: 1. パスワードを入力 N->>N: 2. キーを生成(PBKDF2) N->>N: 3. データを暗号化(AES-GCM) N->>F: 4. 保存/送信 Note over F: 🔒 データは読めない意味不明の文字です U->>N: 5. インポート/受信 U->>N: 6. パスワードを入力 N->>N: 7. キーを生成し、完全性を確認 N->>U: 8. 復元されたメモにアクセス ``` 暗号化と復号化は完全にブラウザの安全な環境内で行われるため、NoteRichサーバーはパスワードを見ることも、ファイルを復号することもできません。**あなたはキーの唯一の所有者です**。 --- ## 💡 NoteRichユーザーのためのベストプラクティス NoteRichのセキュリティ機能を最大限に活用するため、以下のヒントを覚えておいてください: 1. **強力なパスワードを使用する**:NoteRichはパスワードを保存しないため、パスワードを失うと暗号化されたファイルへのアクセスが失われます。パスワードマネージャーを使用して複雑なパスワードを生成し、保存してください。 2. **完全性を確認する**:暗号化されたインポートが「パスワードが間違っている」または「データが破損している」というエラーで失敗した場合、それはAES-GCMの認証が正しく機能しており、ファイルの改ざんからあなたを守っています。 3. **ワークスペースを活用する**:NoteRichのワークスペースの隔離と暗号化されたエクスポートを組み合わせて、個人用およびプロフェッショナルなノートのための独立した、高度に安全な環境を維持してください。 --- ## 🎯 結論 プライバシーは妥協されるべきではありません。**NoteRichのローカル優先アーキテクチャ**と**AES-GCM暗号化**により、ローカルストレージの高速性と現代の暗号技術の信頼性の高さを両方得ることができます。 人生の作品をアーカイブする場合でも、デバイス間でメモを同期する場合でも、NoteRichはあなたの思考があなたのものであり、唯一のものであることを保証します。 --- <div class="flex flex-wrap gap-2 mt-8 mb-12"> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">ローカル優先</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">AES-GCM</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">プライバシー</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">エンドツーエンド暗号化</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">P2P同期</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">データセキュリティ</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">NoteRich</span> </div>