セキュリティ・バイ・デザイン
Statusは、真の分散型コミュニケーションツールを目指しています。最終的にはすべての第三者を排除し、悪意のある行為者の攻撃ベクトルを最小化します。
Web3の真の利点は、中間者を介さずに、自分の決めた条件でトランザクションやコミュニケーションができることです。こうした自由なコミュニケーションを楽しむためには、メッセージ、トランザクション、アイデンティティ、資産がセキュアであると確信できなければなりません。セキュリティに対するStatusのアプローチについては、以下をご覧ください。
Statusのセキュアメッセージング
セキュアな
メッセージング
メッセージは検閲もブロックもされません。ユーザが望むなら疑似匿名のままで使い続けられます。意図した受信者だけがメッセージを表示できます。
セキュアな
金融トランザクション
Statusウォレット内での暗号資産やトークンの保管、送受信は、攻撃に対して安全です。秘密鍵が公開されることはありません。トランザクションは、秘密鍵の所有者によって開始、確認された場合にのみ実行されます。
セキュアな
ブラウジング
Web3を閲覧する際、エンドユーザのデータや閲覧情報は、同意なしに第三者にアクセスされることはありません。Statusブラウザを使用している間に行われるすべてのトランザクションは、Statusウォレットで使用されているのと同じセキュリティ基準とベストプラクティスを実装しています。
セキュアなアイデンティティ
StatusでのあなたのIDは、ローカルで生成された暗号キーペアで始まり、パスワードで保護されます。必要なのはそれだけです。その後、ユーザは自分のプロフィールに情報を追加して、Statusでの自分を作り上げることができます。ユーザはいつでも自分の情報とそこにアクセスできる人を完全にコントロールすることができます。エンドユーザは、公開または非公開を自由に設定することができます。
ピアツーピアメッセージングプロトコル
Statusはピアツーピア(p2p)通信にWakuプロトコルを使用します。 Wakuは、ピアのネットワークに依存してメッセージを相互にルーティングします。送信された各メッセージはネットワーク全体にブロードキャストされ、意図した受信者のみが開くことができるように暗号化されます。集中管理サーバのようなチョークポイントを取り除くことで、あなただけがメッセージのコンテンツとメタデータをコントロール可能になります。ただしピアがオフラインのときは履歴ノードがメッセージを管理するため、StatusとWakuは今のところ完全なピアツーピアとは言えません。Waku履歴ノードは、メッセージを保存し、ピアがオンラインに戻ってきたときにメッセージを配信する Waku の拡張機能です。
デフォルトのエンドツーエンド暗号化
Statusで送信されるすべてのプライベートメッセージは、デフォルトでエンドツーエンド暗号化されます。Statusアカウントを作成すると、メッセージを暗号化するための暗号化キーペアが生成され、デバイスのローカルに保存されます。Statusで新しい連絡先を追加すると、公開鍵を交換し、相手がネットワーク経由で受信したときにメッセージを復号化できるようにします。
Perfect Forward Secrecy(前方秘匿性)
PFSは、参加者が秘密鍵を漏洩してもセッションキーが漏洩しないことを保証する、特定の鍵共有プロトコルの機能です。具体的には、第三者が秘密鍵を入手したとしても過去のメッセージを復号化することはできません。これは、Open Whisper Systems の X3DH とダブルラチェット仕様をベースに、分散環境で動作するようにいくつかの改良を加えたものです。Perfect Forward Secrecy は、すべての 1:1 プライベートチャットに一段階上のセキュリティをもたらします。
疑似匿名アカウントの作成
Statusで新しいアカウントを作成する際、電子メールや電話番号などの第三者認証を要求されることはありません。これはサインアップ時に、Statusアカウントを作成しても疑似匿名のままでいられるということです。アカウントを作成するときにあるのは、シンプルにあなた(ユーザ名)とあなたの鍵だけです。これはまた、二要素認証やパスワードの復旧がStatusの機能ではないということでもあります。ですので、あなたのパスワードとニーモニックフレーズを忘れずに、オフラインの安全な場所で保存するようにしてください。
鍵はどのように保管されますか?
Statusは、公開鍵と秘密鍵の管理と保存にサードパーティのサービスを使用することはありません。生成されると、最初のBIP44キーは、デバイス上のローカルにあるkeystore jsonファイルに保存されます。このファイルは、Statusアカウント用にあなたが作成したパスワードで暗号化され、Statusアプリからのみアクセス可能です。お使いのデバイスが利用可能な状態のときは、機密情報をセキュアなハードウェアに保存することを優先しています。
セキュリティの追加レイヤーとして、秘密鍵管理とその運用がオフラインのコールドストレージのように機能する Keycard を紹介します。
Keycardの詳細については、keycard.tech にアクセスしてください。
セキュアなブラウジング
Statusブラウザは、エンドユーザに情報を提供し、資産を安全に保管するように設計されています。ブラウザはデフォルトでプライバシーモードが有効になっています。これは、DAppsがウォレットに接続する前に都度許可を要する機能です。そのためこのセキュリティ対策に対応していない一部のDAppsは機能しない可能性があります。最後に、StatusブラウザはEIP712を実装しています。これは、オンチェーンで使用するためのオフチェーンメッセージ署名のユーザビリティを向上させることを目的としています。オフチェーンメッセージ署名はガスを節約し、ブロックチェーン上のトランザクション数を減らすことができるため、ますます採用が進んでいます。現在署名されているメッセージはわかりにくい16進数の文字列で、ほとんどメッセージを構成するアイテムに関するコンテキストはありません。
Statusは私の暗号資産をどのように守るのか?
Statusは、サーバを使用せず自身で資産を完全にコントロールできる非保管型ウォレットで構築されています。秘密鍵は暗号化された状態であなたのデバイスに保存されます。あなたの資産はあなたの管理下にあり、秘密鍵なしでは誰もアクセスできません。そのため、ニーモニックフレーズを紛失した場合、あなたの資産へのアクセスを復旧することができなくなります。ですので、秘密鍵はオフラインの場所で大切に保管してください。
フィッシング攻撃から守るための署名フレーズ
Statusは、すべてのトランザクションを確認および「署名」するために必要な署名フレーズを実装しています。署名フレーズは、3つの単語のフレーズで、ランダムに生成され、あなたのデバイスのローカルに保存されます。署名フレーズは、トランザクションを実行する際に表示され、目視で正常性を確かめる必要があります。3つの単語に覚えがない場合や、3つの単語が全く表示されない場合は、トランザクションをキャンセルしてStatusからログアウトし、問題をsecurity@status.imに報告してください。
厳格なコード監査
開発の重要なマイルストーンに到達すると、私たちは内部レビューと監査を繰り返した後、業界をリードするサードパーティ監査会社によって当社の健全性を検証し、当社の作業を二重、三重にチェックします。これらのセキュリティ監査そのものが、関連するプロジェクトのセキュリティを保証するものではありません。これらの監査は、客観的な第三者による追加的なチェックであり、目的とする機能においてセキュリティの信頼性を高めるためのものです。
すべての外部監査の情報と詳細については、security repositoryを参照してください。
当社のコードにバグや脆弱性を見つけた場合は、security@status.imに報告してください。
正しく学び安全を確保する
Statusのような分散化されたサーバーレスプロダクトは、多くの不要な仲介者を取り除き、監視、検閲、データ漏洩の心配なくチャット、取引、ブラウジングを可能にします。これは、あなたが自分のデータと自分自身のデジタルセーフティを管理できるからです。そのため、自分の身を守る方法を理解することが重要になります。こちらのStatusセキュリティ・ベストプラクティスガイドで、安全を確保する方法をご覧ください。
セキュリティサポート
セキュリティに関する質問やご不明点がありましたら、メール(security@status.im)またはStatusセキュリティチャンネル #status-security までご連絡ください。
バグバウンティプログラム
セキュリティ研究者や開発者の方で脆弱性を報告したい場合は、Statusバグバウンティプログラムについてsecurity@status.imまでご連絡ください。また、HackerOneとのキャンペーンも行っています。これはハッカーにプロジェクトを見てもらうためのインセンティブを与えるバグバウンティプログラムです。私たちはプライベートキャンペーンについても積極的に展開しており、それらは近日中に公開する予定です。バグバウンティプログラムの詳細についてはsecurity@status.imまでお問い合わせください。
DejaVu社ベータ監査
自分自身で守る
Statusは、プロダクトが可能な限りセキュアであることを保証するために、最先端の技術で構築されています。Web3のナビゲートに関して、あなたがコントロールすることになります。セキュリティのベストプラクティスを参照してコントロールしてください。