セキュリティとプライバシー
Z-Textはゼロトラストセキュリティモデルでゼロから構築されています。分析なし、 追跡なし、サーバー側のデータ保存なし。
PIN保護
Z-Textは、初期設定時に設定する8桁のPINでアプリをロックします。 アプリは以下の操作の前にPINを求めます:
- アプリを開く
- トランザクションを送信する(メッセージとBTCZ送金)
- シードフレーズを表示する
- セキュリティ設定を変更する
PIN自体が読み取れる形で保存されることはありません。ロック画面で誤った入力を 繰り返すと、クールダウン期間が適用されます。
生体認証
対応デバイスでは、アプリへのアクセス時にPIN入力の代わりとして 指紋認証または顔認証を有効にできます。生体データはデバイスのセキュアエンクレーブで 完全に処理されます -- Z-Textは生の生体データにアクセスしません。
二層暗号化
Z-Textは多層防御を提供するデュアル暗号化アーキテクチャを採用しています:
レイヤー1:ブロックチェーンシールディング(zk-SNARKs)
BitcoinZブロックチェーンのシールドトランザクションはzk-SNARKsを使用して トランザクションメモフィールドを暗号化します。これにより:
- メッセージ内容がオンチェーンで暗号化
- 送信者と受信者のz-addressが隠蔽
- トランザクション金額が隠蔽
- z-addressのビューイングキー保持者のみがメモを復号可能
レイヤー2:コンタクト鍵暗号化
メッセージをトランザクションメモに格納する前に、Z-Textはハンドシェイクで導出された 共有鍵でメッセージを暗号化します。これにより第二の保護レイヤーが追加されます:
- z-addressのビューイングキーを入手しても、メッセージは読めない
- 共有鍵はコンタクトペアごとに固有
- 鍵はECDHにより導出され、直接送信されることはない
なぜ二層なのか?
レイヤー1はブロックチェーン観察者から保護します。レイヤー2はビューイングキーの 漏洩から保護します。メッセージを読むには両方のレイヤーを突破する必要があり -- これは極めて困難です。
zk-SNARKsの解説
Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge(zk-SNARKs)は、 ある当事者が値を明かすことなく、その値を知っていることを証明できる 暗号学的証明です。
Z-Textの文脈では、zk-SNARKsはトランザクションが有効(正しい残高、認可された送信者) であることを、誰が送信し、誰が受信し、いくら送金されたかを明かすことなく証明します。 これがシールドトランザクションを真にプライベートにするものです。
ゼロテレメトリー
Z-Textはユーザーデータを一切収集しません:
- いかなる種類の分析やトラッキングもなし
- 外部にデータを送信するクラッシュレポートなし
- 私たちへの利用データの送信なし
- アプリは、あなたが選択したlightdサーバー(既定では私たちのサーバー、または自分のノード)に接続し、公開されているBTCZ価格を参照します。Torがオンの場合は、どちらもTorを経由します
- パスワードボールトのウェブサイトアイコンは、オンにした場合にのみ取得されます
- アプリ自体によるIPアドレスのログ記録なし
ソースコード
Z-Textアプリはクローズドソースです。ワイヤープロトコルは、公開レビューのために 仕様として公開される予定です。
脅威モデル
Z-Textは以下の脅威から保護するよう設計されています:
| 脅威 | 保護対策 |
|---|---|
| サーバー侵害 | サーバーなし -- メッセージはブロックチェーン上に存在 |
| ネットワーク監視 | zk-SNARKシールドトランザクションが送信者、受信者、金額、メモを隠蔽 |
| ロックされたあなたのデバイスを他人が所持 | PIN/生体認証によるロック画面、暗号化されたローカルストレージ |
| ビューイングキー漏洩 | レイヤー2暗号化がメッセージの読み取りを防止 |
| 検閲 | 分散型ブロックチェーンはシャットダウン不可能 |