ROOT_KEY
サーバー上のハードウェア支援シークレットストアにのみ存在。各ユーザーの KEK を包み、金庫を出ません。
クラウド · 暗号化
スマホで書き、ノートPCで仕上げる。AES-256-GCM 封筒暗号化により、データベースですら暗号文しか見えません。Free は単一端末、Premium はすべての端末を開放します。
銀行水準の金庫
三層鍵チェーンの AES-256-GCM 封筒暗号化。サーバー側 DB も暗号文しか見えず、回線に平文が流れることはありません。
鍵チェーン
各層が次を包むため、単一の鍵漏洩でユーザーデータは露呈しません。端末を失っても、KEK を失っても、ノートは ROOT_KEY の奥に封印されたまま。
サーバー上のハードウェア支援シークレットストアにのみ存在。各ユーザーの KEK を包み、金庫を出ません。
ユーザーごとに 1 つの Key Encryption Key。ROOT_KEY で封印され DB には暗号文として保存。プロセスローカルなメモリ内でのみ復号。
各ノートは固有の Data Encryption Key を持ちます。KEK で封印され編集ごとに回転。流出した DEK は 1 つの版のみを露出。
データフロー
平文 + KEK 由来の新しい DEK が AES-256-GCM 暗号文を生成。
暗号文 + nonce + tag が、ピン留めされた TLS 1.3 チャネルで /notes へ。
DB には暗号化ブロックのみが書き込まれます。ROOT_KEY が復号することはありません。
暗号文が降りてきます。ローカル KEK が DEK を解き、平文はメモリ内にだけ復元。
あらゆる端末
どこでも同じ暗号化ノート。一度書けばどこでも同期。道中ずっとエンドツーエンドで封印。
帰り道にスマホでメモを書き、ノートPCを開く — 同じノートがそこにあり、TLS 1.3 上で Noteminator クラウドと同期しています。
各ノートは自身の DEK で、各 DEK はユーザーの KEK で、各 KEK はサーバー側で ROOT_KEY によって包まれます。
データベース漏洩で露出するのは暗号文ブロブのみ — サーバーに平文は存在しません。憲法第 23 条が SQL 層でこれを強制します。
接続切断? ノートはローカルで保存され続けます。ネットワーク復帰時にキューの変更が同期されます。
広告なし、分析なし、回線上に平文なし。銀行口座を守るのと同じ暗号化姿勢が、Noteminator で作るすべてにノート単位で適用されます。