あなたのすべての考えや欲望は、あなたとあなたの友人だけから始めて、1秒以内に匿名で世界中に広めることができます。
秘密はたった4日前に明らかになり、私たちが見たすべてが私たちにインスピレーションを与えます。 全国に広がる考えは正直で、感動的で、面白く、予想に反してめったにわいせつではありません。 これは、匿名性が世界の前向きな変化に貢献できるという私たちの信念を裏付けています。
シークレットが個人データをどのように保護するかについて、いくつか質問があります。 私たちはこれを非常に真剣に受け止めており、コミュニティとの信頼関係を構築するためには、システムがどのように機能するかについてオープンで正直であることが重要であると考えています。
ボンネットの下を見てください
2つの問題に焦点を当てましょう。 ストレージ-情報を保存する方法と場所。 配達-知人に秘密を届ける方法。
保管
まず、データはGoogleのサーバーのGmailと同じ場所に保存されます。 これは、あなたの秘密がメールと同様に保護されていることを意味します(これは、Gmailと同じデータセンターにあるディスクへのデータ書き込みの信頼性を意味します)。 バックエンドの深い知識を持つ元Googleエンジニアとして、私はこの選択に自信を持っています。
いくつかの高レベルの詳細:
- シークレットはGoogle App Engineでホストされます。 ほとんど完全にGoで書かれていますが、JavaとPythonのコンポーネントがいくつかあります。
- 回線を介して送信されるすべてのデータは、TLSを使用して暗号化されます。
- Google BigTableの非リレーショナルデータベースを使用します。
- すべてのメッセージは、データベースに書き込まれる前に暗号化されます。 キーは、キーローテーションをサポートするサードパーティのサービスにあります。
- 画像はGoogle Cloud Storageに保存され、TLSを介して送信されます。
連絡先 連絡先から知り合いを探す場合、電話番号や電子メールをクリアテキストでサーバーに送信することはありません。 まず、サーバーが他のハッシュとの一致を見つけるために使用する
ハッシュ (ソルト付き)をローカルで計算します。 たとえば、番号[+15552786005]は[a22d75c92a630725f4]になり、元の電話番号がデバイスから離れることはありません。 これは一方向の変換です。 つまり、他のサービスとは異なり
、実際のデータはわかりません 。
重要な注意:ハッシュに「塩」を追加しますが、特に攻撃者が「塩」を持っている場合は特に、ハッシュと電話番号を比較することが可能です。 より安全にする方法を探しています(たとえば、ユーザー固有のデータをハッシュに追加するか
、Diffieプロトコルを使用します)。 セキュリティを改善するための提案があれば、security @ secret.lyに書いてください。 このエリアは私たちにとって非常に興味深いものです。
秘密 秘密のメタデータは、ユーザーへの参照なしで保存されます。 代わりに、ユーザーにシークレットを配信するときに、ユーザーに一意のトークンを作成し、多対1の関係としてシークレットへのアクセスを提供します。 トークンは、ユーザーではなく、シークレット
ACLにあります。 メッセージ(コメントと投稿)はサーバー上で暗号化され、一意のトークンがシークレットと交換されると解読されます。 サーバーは、個人の機密データを秘密と共に返すことはありません。
これらのデータ構造(ユーザー、投稿、ASL)は、データベース内で論理的に分離されています。 この抽象化は物理的なセキュリティを提供しないという事実にもかかわらず、単純な観察者が秘密の作者を発見することを防ぎ、将来データを簡単に分離できるようにします。
識別。 モデレーターが特定のユーザーによって作成された投稿を見つける方法はありません。 デバッグまたは管理目的で情報にアクセスする必要がある場合は、
「2人ルール」を使用します。 2人が同時に鍵を提供する必要があります。 この場合、2人の管理者(現在の創設者)は、Googleアカウント(2要素認証)を使用して、一定期間内に必要なリソースを要求する必要があります。 Red Octoberと呼ばれるこのシステムについて
は、 Cloudflare
ブログで詳しく説明
しています。
配送
シークレット配信システムは、次の基準を満たすように設計されています。
- 安全でなければなりません。
- 高速でなければなりません。
- 学ぶ必要があります。
投稿するとどうなりますか
- 投稿は最初に保存され、作成者に配信されます。
- 次に、非同期プロセスにより、投稿を配信できるユーザー(接続しているユーザーまたは関心のあるユーザー)が決定されます。 あなたの本の連絡先は、アルゴリズムにとって強力なシグナルです。
- 各配信はユーザーに固有であり、キャンセルできます。これは、スパムとの戦いにおける重要な特性です(この記事では説明していません)。
何が起きていない
- 私たちはあなたの連絡先から人々に秘密を届けません。 人がノートブックにいる場合、これは必ずしも彼が秘密を受け取ることを意味しません。
時間。 私たちのシステムは高い帯域幅を持っていますが、これは秘密が常に即座に配信されることを意味しません。 たとえば、ユーザーの「友人」の数が少ないほど、ユーザーの表示は少なくなります。 これにより、だれが秘密を書いたかを把握できる場合に、このトリックを回避できます。
ユーザーに友人がいなかったり、友達が少ない場合、知り合いからの多くの秘密は表示されません。 彼が追加する友人が多いほど、彼の「サークル」(友人および友人の友人)からより多くの秘密が得られます。 多くの友人がいる場合、特定の投稿が友人から来たのか、友人の友人から来たのかを表示します。 これは、身元を明かすことなく信頼を築くために重要です。
すべてをまとめる
テクノロジーの安全性を高めると同時に、柔軟性を高め、製品をより人道的にする機会を提供するよう努めています。 優れた製品を作成できるのは、洗練されたテクノロジーをシンプルで美しく完全な形で提示できる場合のみです。
今日と私たちの世紀、セキュリティとプライバシーはこれまで以上に重要です。 これはGoogleとSquareにとって重要であり、常にSecretの最優先事項です。
デビッド・バイトー
共同設立者、秘密