クライアント側の暗号化とは

要点:

クライアント側の暗号化とは、あなた自身の端末で、あなた自身の演算装置を使って錠を下ろすことです。サーバーに届くのは暗号化された結果だけです。反対にあるのが サーバー側の暗号化 で、読める形のまま送り、向こうで錠を下ろし、鍵も向こうが持ちます。

✉️ 封筒のたとえ

秘密の契約書を倉庫へ預けるところを思い浮かべてください。

  • サーバー側、よくあるやり方: 契約書を管理人に手渡します。管理人はそれを読み、封筒に入れ、封をして棚に置きます。もう開けないと約束はしますが、封をしたのは本人なので、開けることもできます。
  • クライアント側、TaskNote のやり方: 自宅で 契約書を鋼の箱に入れ、自分の錠を掛け、閉じたまま渡します。箱は棚に置かれます。管理人には読めません。開いた姿を見ておらず、鍵も持っていないからです。

⚠️ 「暗号化」という言葉が隠しがちなこと

銀行並みの暗号化、保存時の暗号化。そう謳われている場合、たいていは サーバー側の暗号化 を指します。

これは施設に押し入る 盗人 からは守ります。データを預かっている 会社そのもの からは守りません。

  • そこの管理者は、あなたの書いたものを読めます。
  • 裁判所の命令があれば、復号したうえで引き渡す義務が生じます。
  • 認証の仕組みが破られれば、中身も一緒に出ていきます。

クライアント側の暗号化 は、この式から信頼を取り除きます。サーバーは、信頼しなくてよい置き場として扱われます。

⚙️ ブラウザの中での動き

ブラウザはページを映すだけの道具ではありません。現代のものはどれも暗号の機構、Web Crypto API を備えています。

  1. 書く。 TaskNote にノートを打ちます。
  2. 演算装置が受け取る。 保存の前に、あなたの鍵と本文を手に取ります。
  3. 錠を下ろす。 AES-256 の演算が、あなたの機械の上で走ります。
  4. 送る。 出てきた意味不明の塊が、こちらのサーバーへ届きます。
クライアント側とサーバー側の暗号化の比較図

電池はわずかに減ります。その代わり、プライバシーは約束ではなく数学に支えられます。

🛡️ こう作っている理由

プライバシーは、探し出して有効にする設定であってはなりません。

手元で暗号化すると、三つのものが手に入ります。

  1. 速さ。 作業はあなたのいる場所で行われます。サーバーが文章を処理し終えるのを待ちません。
  2. 安全。 あなたとこちらの間の線をのぞいた人が手にするのは、暗号化された雑音だけです。
  3. 確かさ。 あなたの私的な考えで学習しているものはありません。こちら側に読めるものが何もないからです。

❓ よくある質問

電池は減りませんか。

気づくほどは減りません。端末にはこのための専用の回路があります。ノートひとつの暗号化は、写真を一枚読み込むより軽い仕事です。

暗号化されていても検索できますか。

できます。行われる場所が違うだけです。暗号化された索引が手元に降りてきて、記憶の中で開かれ、そこで探されます。検索が速いのはそのためで、すべて手元で済むからです。

なぜどのアプリもそうしないのですか。

作るのが難しく、そして扉を閉じることになるからです。サーバー側は簡単で、中身は広告にも学習にも使えるままです。クライアント側にするとその道が消えるので、多くの会社は黙って避けます。

考えはあなたのもので、サーバーのものではありません

読める相手に私的なものを預けるのは、そろそろやめにしませんか。

TaskNote を無料で使う