これから日和は、保険証券や年金の通知、通帳のありか、かかりつけのお医者さん ── 他人には見られたくないことをお預かりするアプリです。 「安全です」と言葉で言うだけでは意味がないと考えているので、どういう仕組みでそうなっているのかを 包み隠さず書きます。技術的な内容も省略していません。ご家族に勧めるかどうかの判断材料にしてください。
これは方針や約束ではなく、仕組み上そうなっているという話です。 書類はあなたの端末の中で暗号化されてから送信され、暗号を解くための鍵は端末の外に出ません。 私たちのサーバーに届くのは、鍵のない暗号文だけです。
これは開発用アカウントの実データです。書類の内容は、データベース上ではこう見えます。
先頭の v1: は形式のバージョン、続く3つは順に「初期化ベクトル」「暗号文」「改ざん検知用の署名」です。
私たちが見られるのはこれだけで、元に戻すことはできません。
| 暗号方式 | AES-256-CBC(鍵の長さ 256 ビット) |
|---|---|
| 改ざん検知 | HMAC-SHA256 による Encrypt-then-MAC。暗号文が1ビットでも書き換わると復号を拒否します |
| 初期化ベクトル(IV) | 1件ごとにランダム生成。同じ内容でも毎回違う暗号文になります |
| 鍵の分離 | マスターキーから「暗号用の鍵」と「署名用の鍵」を別々に導出し、用途を混ぜません |
| 鍵の保管場所 | 端末のセキュアな保管領域(iOS: キーチェーン/Android: Keystore)。サーバーには送信しません |
| 家族への鍵の受け渡し | Curve25519(NaCl box)による公開鍵暗号。詳細は下記 |
| 通信 | すべて TLS(HTTPS)。暗号化された状態でさらに保護されます |
ここまで書いたことが本当にその通りに作られているのかを確かめていただけるよう、 暗号化に関わる部分のソースコードを、アプリ本体から一文字も変えずに公開しています。
公開しているのは「書類の暗号化」「家族への鍵の受け渡し」「鍵の保管」の3つのファイルです。 お客様の鍵の実体やサーバーの情報は含まれていないため、公開しても安全性は損なわれません。 暗号の世界には「仕組みが公開されても、鍵さえ秘密なら安全でなければならない」という 古くからの原則があります(ケルクホフスの原理)。世界中で使われている暗号は、すべて仕様が公開されています。
プログラムにお詳しい方にご覧いただければ、私たちの説明が正しいかどうかを判断できます。 都合の悪い点も隠さず書いています。
暗号化の強さと同じくらい大事なのが、そもそも何を預からないかです。 これから日和は、次のものを保存する欄をアプリ内に持っていません。
| 預からないもの | キャッシュカードの暗証番号/ネットバンキングのパスワード/カード番号のすべての桁とセキュリティコード/暗号資産の秘密鍵・シードフレーズ/2段階認証の設定/スマートフォンのロック解除番号 |
|---|---|
| お預かりするもの | 「どこに、何が、いくつあるか」と「原本がどこにあるか」、そしてもしもの時の手続きに必要な連絡先や必要書類 |
第一に、相続のお手続きに暗証番号は必要ないからです。 金融機関が求めるのは、戸籍謄本・印鑑証明書・遺産分割協議書といった「相続人であることの証明」です。 暗証番号は必要書類に含まれていません。ご家族は暗証番号でお金を下ろすのではなく、正規の相続手続きで受け取ります。
第二に、預けること自体がご利用者に不利益をもたらしうるからです。 銀行の規定では、暗証番号を他人に知られた状態での不正利用について、補償を受けられない場合があります。 これから日和がそれを助長する形は取りません。
第三に、これは業界の標準的な線引きだからです。 たとえば三菱UFJ信託銀行のエンディングノートサービスも、利用規定で 「金融機関との取引に用いる各種暗証番号、インターネットバンキングのパスワード」の入力を明文で禁じています。 資本も法務体制も潤沢な金融機関が引いている線を、私たちが越える理由はありません。
なお、遺されたご家族が本当に困るのは「暗証番号が分からないこと」ではなく、 「どこに何があるのか分からないこと」です。口座やカードの存在さえ分かれば、 あとは正規の手続きで到達できます。これから日和はそこに集中しています。
ここが最も設計に気を使った部分です。以前は招待コードと鍵を1通のメッセージにまとめて送る方式でしたが、 それでは1通盗み見られただけで第三者が書類を復号できてしまうため、作り直しました。
現在はこうなっています。
つまり、招待メッセージが誤送信されても、LINEアカウントが乗っ取られても、 オーナーが承認しない限り書類は開けません。
これは欠点ではなく、上に書いた設計の裏返しです。運営者が復元できるということは、 運営者が中身を読めるということだからです。 リカバリーコード(64桁の鍵)は必ず紙に控えて保管してください。
書類の内容を自動で読み取る処理は、Anthropic 社の Claude を利用しています。 このときだけ、撮影した画像が暗号化されない状態で解析サーバーに送信されます。 送信されたデータは学習に使われず、解析後は保持されません。 読み取り結果は端末に戻ってから暗号化して保存されます。 この点はプライバシーポリシーにも明記しています。
鍵は端末の中にあるので、ロックを解除された端末を他人が操作すれば書類は開けます。 端末のパスコード設定と、アプリの生体認証ロックの併用をおすすめします。
個人が開発しているアプリを信用してよいのか、というご不安はもっともです。 そこで、私たちがいなくなっても困らないように設計しています。
大切な書類ほど、アプリだけに頼らず、書き出したPDFや原本を手元に置いておいてください。 私たちは、お客様を囲い込むつもりはありません。