Daily Post Aug 24 2026JP

| Cost Assessment | Questions?' | Weekly Letter | Monthly Blog | Our Partners |
Email us |TEL: 050-1720-0641 | LinkedIn | English | 日々のブログ | Q & A
エンドツーエンド暗号化とCryptPadのセキュリティの真実:ゼロ知識アーキテクチャの徹底解剖
CryptPad は、これまでのクラウドオフィスの常識を覆す、プライバシー最優先のコラボレーション・スイートです。このツールは「ゼロ知識(Zero-Knowledge)」の原則とクライアントサイドでの処理を中心に設計されており、暗号鍵の管理とテキスト処理の主導権をWebブラウザ側に完全に移譲しています。
これにより、ユーザーのデータは「ローカルデバイスから外へ出る前に」必ず暗号化・変換され、絶対的な機密性が担保されます。
クラウド環境におけるエンドツーエンド暗号化(E2EE)の違い
CryptPadのアーキテクチャは完全なエンドツーエンド暗号化(E2EE)です。これが従来のクラウドサービスとどう違うのかを理解することは非常に重要です。
従来のクラウドサービス(Google WorkspaceやMicrosoft 365など)では、ドキュメントは暗号化されたHTTPS通信でサーバーに送信されますが、サーバーに到着した時点で一度復号(解読)されます。 これは、プラットフォーム側が変更をレンダリングしたり、検索用インデックスを作成したりするためです。その後、暗号化されたデータベースに保存されます。 この標準的な「サーバーサイド保護」は通信中のデータを守りますが、サーバーのメモリ上に展開されている間や、システム管理者が管理するストレージディスク上に置かれている間、データは本質的に無防備な状態にあります。
CryptPad は、この「サーバー管理者への信頼(Trust)」を「暗号学的な保証(Cryptographic guarantees)」へと置き換えます。すべての暗号化処理は、ユーザーのクライアント環境(ブラウザ)内で直接実行されるのです。
クライアントサイドでのデータ変換と WebCrypto API
クライアントサイド暗号化により、平文(読める状態)のドキュメント、アップロード画像、スプレッドシート、チャットのログが存在できるのは、「ローカルブラウザの一時メモリ内のみ」に限定されます。
ユーザーがCryptPadに文章を打ち込むと、アプリケーションはそのキーストロークや状態変化を直列化されたデータの断片に変換します。この断片は、Webブラウザ内部にのみ存在する「共通鍵」を用いて暗号化されます。暗号化されたペイロード(データ本体)は完全に解読不能なバイト列、すなわち「暗号文(Ciphertext)」へと変わります。この暗号文だけが、WebSocketを通じてネットワーク上のデータベースに送信され、他の共同編集者へと中継されます。
- WebCrypto APIによる高速化
かつて、クライアントサイドで重い暗号化処理を行おうとするWebアプリは、巨大な外部JavaScriptライブラリをバンドルする必要がありました。これらは動作が遅く、サイドチャネル攻撃に弱く、リアルタイムのデータストリーム処理には不向きでした。 CryptPadは、ブラウザエンジンに統合された標準かつ低レベルのインターフェースである WebCrypto API を使用してこのボトルネックを解消しています。これにより、鍵生成、鍵導出、大規模な暗号化タスクを、ブラウザの裏側にあるハードウェア・アクセラレーションが効いたネイティブなC++ルーチンで高速に実行できます。
- URLの「ハッシュ(#)」に隠された鍵の仕組み
ユーザーがCryptPadのリンクを生成または共有するとき、ドキュメントのURLには「ハッシュ記号(#)」に続いて復号キーが含まれています。(例:`https://cryptpad.fr/pad/#/2/pad/edit/暗号キー...`) 標準的なHTTPの仕様上、Webブラウザはハッシュ記号(#)以降の文字列を、ホスティングサーバーへのリクエストに一切含めません。 したがって、サーバーのアクセスログに暗号キーが記録されることは物理的に不可能です。 アプリのコードがブラウザに読み込まれると、ローカルのJavaScriptがURLからキーを抽出し、WebCrypto APIを使ってデータベースから取得した暗号文を「ブラウザの中だけで」復号します。
ゼロ知識アーキテクチャとサーバー管理者の完全隔離
この暗号化マテリアルの徹底した隔離により、「ゼロ知識(Zero-Knowledge)アーキテクチャ」が成立します。
CryptPadをホスティングしているサーバー管理者の視点から見ると、システム全体は「暗号文の塊(Ciphertext blobs)」を保管・中継するだけの「盲目の中継器(Blind relayer)」に過ぎません。管理者がデータベースやWebSocketの通信内容を覗き見ても、そこには文章も、名前も、表のデータもありません。見えるのはランダム化された文字列と、通信認証用の署名キーだけです。
仮に攻撃者がホスティングサーバーのroot権限を奪取してデータベースをダンプ(丸ごと抜き出し)したり、法的な強制力によって管理者がストレージドライブを提出させられたりしても、抜き出されたデータは完全に無価値です。クライアント側のURLやローカルに保存されたキーがなければ、数学的に元のテキストに戻すことは不可能です。サーバー管理者は、自分自身のハードウェア上で何がホストされているかを一切知らずに運用できるのです。
露出なきリアルタイム・コラボレーション
ゼロ知識かつE2EEの環境で「リアルタイムの共同編集」を実現するのは極めて困難な技術的課題です。 従来のテキストエディタは、複数ユーザーによる編集の衝突(コンフリクト)を「中央サーバー」のロジックで解決していました。CryptPadは、この限界をクライアント層に「分散型オペレーショナル・トランスフォーメーション(OT)」または「CRDT(競合状態を持たない複製データ型)」を実装することで解決しています。
- ユーザーAが編集を行うと、ローカルで暗号化される
- 暗号化された「差分(パッチ)」がWebSocketでサーバーへ送られる
- サーバーは「何が書かれているか全く理解しないまま」、その暗号化パッチを接続中の他ユーザーへブロードキャスト(中継)する
- ユーザーBのブラウザがローカルのセッションキーでパッチを復号し、リアルタイムに画面に反映させる
ゼロ知識のトレードオフ:管理者の限界と「自己責任」
ゼロ知識モデルがもたらすトレードオフ(代償)は、従来のWebソフトウェアとは根本的に異なります。サーバー管理者がマスターキーを持たず、ユーザーコンテンツの中身を一切把握していないため、従来当たり前だった「パスワードの自動リセット」や「サーバー管理者によるデータ復旧」は数学的に不可能です。
| 従来のクラウド(M365 / Nextcloud 等) | ゼロ知識プラットフォーム(CryptPad) | |
|---|---|---|
| セキュリティの前提 | 管理者がマスターキーを保持しアクセス制御を行う | システム上にマスターキーが存在しない |
| パスワード喪失時 | 管理者がパスワードをリセット・データ復旧可能 | 永久にデータへアクセス不可(復号不可能) |
| 退職者・不在時の対応 | 管理者がアカウントの所有権を強制的に移譲可能 | キーを共有していなければ永遠に解読不能のまま |
ユーザーがパスフレーズを忘れたり、ドキュメントのURL(暗号鍵)を紛失し、かつバックアップを取っていなかった場合、管理者が裏口(バックドア)から救済する手段は存在しません。セキュリティの主導権と責任は、完全にエンドユーザー(企業自身)へと回帰します。
リスクを低減する運用ポリシー
この「データ喪失リスク」は、技術的なバックドアを作るのではなく、運用ポリシーによって軽減する必要があります。
- 1. 共有ドライブ(Shared Drives)の活用:
重要な企業資産を個人の隔離されたアカウントに保存するのではなく、アクセスキーが複数メンバーに分散される「共有チームドライブ」を使用します。これにより、一人がパスワードを忘れたり退職したりしても、権限を持つ他のメンバーがドキュメントを再共有・管理できます。
- 2. ローカルバックアップの徹底:
CryptPadはブラウザ上で動作し、データはローカルで復号されているため、定期的にドキュメントやデータをエクスポートし、自社管理下の安全な物理ドライブ等にバックアップを保存するルーティンを確立します。
- 3. エンタープライズ・パスワードマネージャーの導入:
クライアントサイド暗号化ツールを全社導入する場合、Bitwarden や KeePassXC のようなパスワードマネージャーとの併用が必須です。パスフレーズ、リカバリーキー、そして「ハッシュ(#)付きのドキュメントURL」を社内の管理Vault(金庫)に保存しておくことで、従業員個人が忘却した場合でも、会社として認証情報を安全に保全できます。
---
💡 【初心者向けコラム】要するにどういうこと?クラウド上で複数人で同時編集できるツールといえば「Google ドキュメント」などが有名ですが、これらは例えるなら「ホテルの金庫」です。 ホテル(GoogleやMicrosoft)は「勝手に中身は見ませんよ」と約束してくれていますが、構造上、ホテルの支配人はマスターキーを持っているので、やろうと思えばいつでも中身を見ることができます。 一方、今回紹介した CryptPad(クリプトパッド) は、「自分たちしか鍵を持っていない魔法の金庫」です。 金庫の箱自体はサーバーに置いてありますが、文章を暗号化したり元に戻したりする作業はすべて「皆さんのパソコン(ブラウザ)の中」だけで行われます。パスワード(鍵)はインターネットの通信に乗ることすらありません。 したがって、サーバーを管理している会社や、万が一サーバーに侵入したハッカーでさえ、あなたが書いた文章の「中身」を絶対に覗き見ることができません。 ⚠️ ただし、絶対に注意すべき「代償」があります! ホテルの支配人すら鍵を持っていないということは、もしあなたがパスワード(ドキュメントのURL)を忘れてしまったら、「サポートセンターに泣きついても、二度とデータを取り出せない(一生開かなくなる)」ということです。 CryptPadは「誰にも覗かれない究極のプライバシー」を手に入れられる代わりに、「自分たちの鍵は自分たちでしっかり管理する(パスワード管理ツールを使うなど)」という自己責任が求められる、プロ向けの安全なツールなのです。 |