キヌベヌスず真の豆腐

゚ンドツヌ゚ンド暗号化E2Eを䜿甚するメッセンゞャヌでは、ナヌザヌがキヌを管理したす。 圌がそれらを倱うず、圌は圌のアカりントをリセットするこずを䜙儀なくされたす。



アカりントのリセットは危険です。 あなたは公開鍵を消去し、すべおの䌚話で暗号の芋知らぬ人になりたす。 IDを埩元する必芁がありたす。ほずんどすべおの堎合、これは個人的な䌚議ず各連絡先ずの「セキュリティ番号」の比范を意味したす。 MiTMからの唯䞀の保護であるこのようなテストを実際にどのくらいの頻床で受けたすか



セキュリティ番号を真剣に考えおいる堎合でも、䌚議で幎に䞀床だけ倚くのチャットパヌトナヌが衚瀺されるため、行き詰たっおいたす。



しかし、これはめったに起こりたせんよね



リセットはどのくらいの頻床で発生したすか 回答ほずんどのE2Eチャットアプリケヌションでは垞に。



これらのメッセンゞャヌでは、暗号化を萜ずし、サヌバヌを信頌し始めるだけです。1新しい電話に切り替えるたびに。 2人が新しい電話に切り替えるたび。 3電話の工堎出荷時蚭定にリセットされたずき。 4察話者が工堎蚭定ぞのリセットを実行したずき。 5アプリケヌションをアンむンストヌルしお再むンストヌルするずき、たたは6話しおいる人がそれをアンむンストヌルしお再むンストヌルするずき。 倚数の連絡先がある堎合、数日ごずにリセットが発生したす。



リセットは非垞に定期的に行われるため、これらのアプリケヌションはこれが問題ではないふりをしたす。









セキュリティのアップグレヌドがあるようです しかし、そうではありたせん



本圓に豆腐ですか



暗号化では、甚語TOFU「最初の䜿甚に察する信頌」は、2人の圓事者が初めお話すずきの偶然のゲヌムを衚したす。 調停者は盎接䌚うのではなく、それぞれの偎に責任を負いたす...そしお、圓事者が自らを提瀺した埌、各偎はキヌを泚意深く監芖しお、䜕も倉曎されおいないこずを確認したす。 キヌが倉曎された堎合、䞡偎がアラヌムを発したす。



このような状況でリモヌトホストのキヌがSSHで倉曎された堎合、「正垞に動䜜」するこずはありたせんが、完党に奜戊的になりたす。



@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@



IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!

It is also possible that a host key has just been changed.

The fingerprint for the RSA key sent by the remote host is

00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff

Please contact your system administrator.

Add correct host key in /Users/rmueller/.ssh/known_hosts to get rid of this message.

Offending RSA key in /Users/rmueller/.ssh/known_hosts:12

RSA host key for 8.8.8.8 has changed and you have requested strict checking.

Host key verification failed.






これが正しい動䜜です。 そしお、芚えおおいおください。小さな譊告を出しおさらに䜜業を進めるこずができれば、これは豆腐ではありたせん。 どくろのある巚倧な頭蓋骚が芋えるはずです。



もちろん、これらのむンスタントメッセンゞャヌは、ナヌザヌに譊告があるため、すべおが正垞であるず䞻匵したす。 必芁に応じお、セキュリティ番号を確認できたす。 それが私たちが同意しない理由です



  1. 怜蚌は頻繁に行われるため、実行されたせん。

  2. チェックを吞いたす。

  3. セキュリティを心配しおいる友人の倧たかな調査でさえ、誰もこのテストを心配しおいないこずが瀺されたした。

  4. したがっお、これはサヌバヌに察する信頌ずSMSぞの信頌にすぎたせんたあ 䜕床も䜕床も 。

  5. 最埌に、これらのアプリケヌションはこの方法で動䜜しないはずです。 特にデバむスを倉曎するずき。 通垞の通垞のケヌスはスムヌズか぀安党に凊理できたすが、たれに状況が悪化するほど、芋た目が悪くなりたす。 すぐに、キヌベヌス゜リュヌションを玹介したす。


豆腐ず呌ぶのをやめる



非垞に効果的な攻撃がありたす。 むブがアリスずボブの既存の䌚話に䟵入し、それらの間に立ちたいず仮定したす。 アリスずボブは長幎連絡を取り合っおおり、長い間豆腐を亡くしおいたす。



Eveは、AliceにBobが新しい電話を買ったず思わせるだけです。



ボブむブちょっず、ちょっず



アリスペ、ボブ 新しいセキュリティ番号があるようです。



BobEveはい、私はiPhone XSを賌入したした。これは良い電話で、ずおも満足しおいたす。 RWC 2020でセキュリティ番号を亀換したしょう。珟圚のキャロラむンの䜏所はありたすか サンフランシスコにいる間に圌女を驚かせたいです。



アリス私は比范できない、Android 4ラむフ はい、Cozy Street 555。


したがっお、ほずんどの暗号化されたメッセンゞャヌは、TOFUコンプラむアンスを獲埗する可胜性は䜎いです。 これはTADAに䌌おいたす-デバむスを远加した埌の信頌。 これは、既存の䌚話に悪意のある実装の機䌚を䜜成するため、架空の問題ではなく、実際の問題です。 本圓の豆腐では、誰かがあなたの䌚話に興味を持぀時たでに、圌らはそれに浞透するこずができたせん。 TADAを䜿甚するず、これが可胜になりたす。



グルヌプチャットでは、状況はさらに悪化したす。 チャットの参加者が倚いほど、アカりントが頻繁に再むンストヌルされたす。 わずか20人の䌚瀟では、これは玄2週間に1回発生するず芋積もっおいたす。 そしお、䌚瀟のすべおの人がこの人に䌚わなければなりたせん。 個人的に。 そうしないず、1人のほくろたたはハッカヌによっおチャット党䜓が危険にさらされたす。



解決策



秘密鍵サヌバヌぞの信頌を暗瀺しない良い解決策はありたすか 私たちは、耇数のデバむスに察する真のサポヌトがあるず考えおいたす。 これは、あなたの個性を衚す䞀連のデバむスを管理するこずを意味したす。 新しいデバむス電話、ラップトップ、デスクトップコンピュヌタヌ、iPadなどを受け取るず、独自のキヌペアが生成され、以前のデバむスがそれに眲名したす。 デバむスを玛倱した堎合、残りのデバむスの1぀から「削陀」したす。 技術的には、そのような削陀はリコヌルであり、この堎合、䜕らかの皮類のキヌの反転も自動的に発生したす。



その結果、 察談者や同僚が新しいデバむスを受け取ったずきにサヌバヌを信頌したり、盎接䌚ったりする必芁はありたせん 。 同様に、デバむスが最埌でなかった堎合、デバむスを取り倖すずきにサヌバヌを信頌したり、盎接䌚ったりする必芁はありたせん。 譊告を衚瀺する必芁があるのは、誰かがすべおの蚭定に実際にアクセスできなくなったずきだけです。 この堎合、次のような重倧な譊告が衚瀺されたす。









特にSpecialい



その結果、リセットおよび再むンストヌルされるアカりントははるかに少なくなりたす。 歎史的に、キヌベヌスでは、デバむスのアドオンずレビュヌの合蚈数はアカりントの解玄数の10倍ですこれに぀いお蚀葉にする必芁はありたせん。これはマヌクルツリヌで公開されおいたす。 他のむンスタントメッセンゞャヌずは異なり、最近キヌを再むンストヌルした人ず話しおいるずきに、本圓に恐ろしい譊告を衚瀺できたす。



デバむス管理は耇雑な゚ンゞニアリング操䜜であり、䜕床か修正されおいたす。 既存のデバむスは、新しいデバむスの公開鍵に眲名し、新しいデバむスの公開鍵のすべおの重芁な秘密デヌタを暗号化したす。 ナヌザヌの泚意範囲に぀いお話しおいるため、この操䜜は迅速に1秒以内に実行する必芁がありたす。 その結果、キヌベヌスはキヌ階局を䜿甚するため、叀いデバむスから32バむトの秘密デヌタを転送する堎合、新しいデバむスはすべおの長期暗号デヌタ​​を芋るこずができたす詳现に぀いおは、以䞋のFAQを参照しおください。 これは少し驚くかもしれたせんが、 それがたさに暗号化のポむントです 。 秘密管理の問題を解決するのではなく、システムのスケヌラビリティを高めるだけです。



セキュリティの党䜓像



これで、キヌベヌスアプリケヌションの4぀の基本的なセキュリティプロパティを定匏化できたす。



  1. 長期にわたる秘密鍵は、それらが䜜成されたデバむスから離れるこずはありたせん

  2. マルチデバむスの完党サポヌトにより、アカりントのドロップを最小限に抑えたす

  3. キヌの取り消しを悪意を持っお遅延たたはロヌルバックするこずはできたせん

  4. はかない時間メッセヌゞを䜿甚した盎接秘密


最初の2぀は理解できるようです。 3番目は、デバむスのリコヌルが予想され、正垞ず芋なされる蚭蚈で重芁になりたす。 システムには、悪意のあるサヌバヌがデバむスのレビュヌを遅らせるこずができないこずをチェックする必芁がありたす。



4番目のセキュリティ機胜の詳现に぀いおは、 短呜メッセヌゞングに関する蚘事を参照しおください 。



倚くの新しい暗号化、すべおが正しく実装されおいたすか



Keybaseは、これたでにKeybaseによっお実装されたこずはなく、科孊蚘事にも蚘茉されおいたせん。 暗号化プロトコルを自分で発明する必芁がありたした。 幞いなこずに、あらゆる状況に察応する、垂販の暙準化され、広く䜿甚されおいる暗号化アルゎリズムがたくさんありたす。 すべおのクラむアントコヌドは公開されおいたす。 理論的には、誰でも蚭蚈たたは実装゚ラヌを芋぀けるこずができたす。 しかし、内郚構造を実蚌し、完党な分析のために最高のセキュリティ監査䌚瀟を雇いたかったのです。



本日、NCCグルヌプレポヌトを発衚し、その結果に非垞に勇気づけられたした。 キヌベヌスは監査に10䞇ドル以䞊を費やし、NCCグルヌプはトップレベルのセキュリティおよび暗号化の専門家を雇いたした。 圌らは私たちの実装で2぀の重芁な゚ラヌを発芋し、すぐに修正したした。 これらのバグは、サヌバヌが悪意を持っお動䜜した堎合にのみ発生する可胜性がありたす。 圌らがそのように振る舞わないこずは保蚌できたすが、あなたは私たちを信じる理由はありたせん。 それがポむントです



NCCチヌムは玠晎らしい仕事をしたず信じおいたす。 圌らが私たちのアヌキテクチャず実装を完党に理解するのに費やした時間を尊重しおください。 圌らは最近、コヌドベヌスのこの郚分を繰り返し芋おいたすが、開発者の泚意を匕く埮劙な゚ラヌを芋぀けたした。 こちらのレポヌトをご芧になるか、よくある質問をご芧になるこずをお勧めしたす。



よくある質問



XYZ補品をどのように攻撃したすか



蚘事から特定の補品ぞの参照を既に削陀したした。



他に䜕



Keybaseは電話番号を必芁ずせず、誰かを知っおいればTwitter、HackerNews、Reddit、Githubの識別子を暗号で怜蚌できるこずを誇りに思っおいたす。



そしお...たもなく...マストドンのサポヌトがありたす。



電話リダむレクト攻撃はどうですか



倚くのアプリケヌションはリダむレクトされた攻撃を受けやすくなっおいたす。 むブはショッピングセンタヌのキオスクに足を螏み入れ、モバむルオペレヌタヌのボブに、ボブの電話番号をデバむスに転送するように説埗したす。 たたは、電話で代衚者を説埗したす。 これで、Eveはメッセンゞャヌサヌバヌで認蚌でき、自分がBobであるず䞻匵したす。 結果は、アリス、ボブ、むブの䟋のほうが高いように芋えたすが、むブはサヌバヌに䟵入する必芁はありたせん。 䞀郚のアプリケヌションは、この攻撃から保護するために「登録ブロック」を提䟛したすが、デフォルトでは迷惑です。



Keybaseがいく぀かの秘密鍵をサヌバヌに送信するず聞きたしたか



初期2014幎から2015幎初期では、KeybaseはPGP Webアプリケヌションずしお機胜し、ナヌザヌは自分のPGP鍵をパスフレヌズで暗号化されたサヌバヌに保存する機胜を遞択できたしたKeybaseは知りたせんでした。



2015幎9月に 、新しいキヌベヌスモデルを導入したした。 PGPキヌは、キヌベヌスチャットたたはファむルシステムでは決しお䜿甚されたせん䜿甚されたせん。



叀い電話は新しい電話ですぐに衚瀺されたすか



他の䞀郚のアプリケヌションでは、サヌバヌを介しお叀いメッセヌゞを同期するこずは盎接の秘密に反するため、新しいデバむスでは叀いメッセヌゞが衚瀺されたせん。 キヌベヌスアプリを䜿甚するず、特定のメッセヌゞ、たたは䌚話党䜓を「䞀時的な」ものずしお指定できたす。 それらは䞀定の時間埌に砎棄され、2回暗号化されたす。1回は長寿呜のチャット暗号化キヌを䜿甚し、もう1回は頻繁に倉曎される䞀時キヌを䜿甚したす。 したがっお、䞀時メッセヌゞは盎接の秘密を提䟛し、電話間で同期するこずはできたせん。



非䞀時的メッセヌゞは、ナヌザヌが明瀺的に削陀し、E2Eを暗号化のみで新しいSlackスタむルのデバむスず同期するたで残りたす したがっお、誰かをチヌムに远加するか、自分で新しいデバむスを远加するず、メッセヌゞのブロックは解陀されたす。



次の段萜で同期に぀いお詳しく説明したす。



PUKに぀いお教えおください



2幎前、 ナヌザヌ向けキヌPUKを導入したした。 PUKのパブリック半分は、ナヌザヌのパブリックsigchainでアドバタむズされたす。 秘密の半分は、各デバむスの公開鍵甚に暗号化されたす。 アリスが新しいデバむスを準備しおいるずき、圌女の叀いデバむスは、PUKの秘密の半分ず新しいデバむスの公開鍵を知っおいたす。 新しいデバむスの公開キヌ甚にPUKの秘密の半分を暗号化し、新しいデバむスはこの暗号文をサヌバヌからダりンロヌドしたす。 新しいデバむスはPUKを埩号化し、すべおの長呜のチャットメッセヌゞにすぐにアクセスできたす。



アリスはデバむスをリコヌルするたびにPUKを倉曎したす。これにより、最近リコヌルされたデバむスを陀くすべおのデバむスが新しいPUKを受け取りたす。



この同期スキヌムは、初期のキヌベヌスPGPシステムずは根本的に異なりたす。 ここで、関係するすべおのキヌには32バむトの真の゚ントロピヌがあり、サヌバヌハッキングの堎合にブルヌトフォヌスで壊れるこずはありたせん。 True、 Curve25519たたはGoのPRNGが砎損しおいる堎合、すべおが砎損したす。 ただし、PUK同期では、他の重芁な暗号化の仮定は行われたせん。



倧きなグルヌプチャットはどうですか



tL; drグルヌプには、ロヌルの倉曎、メンバヌの远加および削陀のための独自の監査枈み眲名チェヌンがありたす。



セキュリティ研究者は 、グルヌプチャットに察する仮想ナヌザヌ攻撃に぀いお曞いおいたす。 ナヌザヌのクラむアントがグルヌプメンバヌシップを暗号で怜蚌できない堎合、悪意のあるサヌバヌがグルヌプチャットにスパむりェアずモルを埋め蟌むこずができたす。 キヌベヌスには、ここでグルヌプの特別な機胜ずいう圢で非垞に信頌性の高いシステムがありたすが、これに぀いおは今埌説明したす。



NCC-KB2018-001に぀いお話しおもらえたすか



このバグはNCC監査の最も重芁な発芋であるず考えおいたす。 キヌベヌスは䞍倉のデヌタ構造を積極的に䜿甚しお、サヌバヌのあいたいさから保護したす。 バグの堎合、正盎なサヌバヌが回避を開始する可胜性がありたす。「以前Aに蚀ったが、バグが発生したため、Bを意味した」。 しかし、クラむアントには、サヌバヌにこのような柔軟性を蚱可しないずいう共通のポリシヌがありたす。バグの堎合には、 ハヌドコヌディングされた䟋倖がありたす。



最近、 Sigchain V2も導入したした 。このシステムは、最初のバヌゞョンでは正しく予枬できなかったスケヌラビリティの問題を解決したす。 珟圚、クラむアントは、各䞭間リンクの眲名ではなく、眲名チェヌンの末尟から1぀の眲名のみを受信するサヌバヌから取埗する暗号化デヌタを䜿甚する方が経枈的です。 したがっお、顧客は特定の眲名ハッシュを怜玢するサむクルに行く機䌚を倱いたしたが、以前はこれらのハッシュを䜿甚しお、このハヌドコヌディングされた䟋倖のリストで䞍良チェヌンリンクを怜玢したした。 Sigchain V2のリリヌスの準備をしおいたしたが、抜象化のいく぀かの局に埋もれおいたこの詳现を忘れおいたため、システムはサヌバヌ応答からフィヌルドを単玔に信頌しおいたした。



NCCがこの゚ラヌを発芋するず、 修正は非垞に簡単でした。チェヌンリンク眲名ハッシュではなく、チェヌンリンクハッシュを䜿甚しおハヌドコヌディングされた䟋倖を探したす。 クラむアントは垞にこれらのハッシュを盎接蚈算できたす。



この゚ラヌは、Sigchain V1ずSigchain V2を同時にサポヌトするために必芁な远加の耇雑さに起因するこずもありたす。 最新のクラむアントはSigchain V2リンクを蚘述したすが、すべおのクラむアントは無期限にレガシヌv1リンクをサポヌトする必芁がありたす。 顧客は各デバむスの秘密鍵でリンクに眲名するこずを思い出しおください。 これらのクラむアントは単にオフラむンである可胜性があるため、すべおの顧客が劥圓な時間内に履歎デヌタを䞊曞きするよう調敎するこずはできたせん。



NCC-KB2018-004に぀いお話しおもらえたすか



001䞊蚘参照のように、時代遅れの゜リュヌションの同時サポヌトず最適化の特定の組み合わせに倱望したした。これは、システムの操䜜経隓を積むに぀れお重芁に思われたした。



Sigchain V2では、ナヌザヌの怜玢に必芁な垯域幅を削枛するために、チェヌンのサむズをバむト単䜍で削枛したす。 この節玄は、携垯電話では特に重芁です。 したがっお、チェヌンリンクをJSONではなくMessagePackで゚ンコヌドしたす 。 次に、顧客はこれらのチェヌンの眲名に眲名しお怜蚌したす。 NCCの研究者は、JSONずMessagePackのように芋える「眲名」を䜜成するための巧劙な方法を発芋し、競合を匕き起こしおいたす。 JSONパヌサヌを暙準のGoパヌサヌからより効率的なパヌサヌに切り替えたずきに、最適化䞭にデコヌドのこのあいたいさを意図せずに導入したした。 この高速パヌサヌは、このポリグロット攻撃機胜を含む実際のJSONを芋぀ける前に、倧量のゎミを静かにスキップしたした。 この゚ラヌは、 远加の入力怜蚌によっお修正されたす 。



Sigchain V2では、眲名者がパッケヌゞの前にコンテキストラむンプレフィックスずバむト\0



眲名を付けるこずで、怜蚌者が眲名者の意図に混乱しないようにするずいうAdam Langleyの提案も受け入れたした。 このコンテキストプレフィックスアむデアの怜蚌偎には、他のポリグロット攻撃に぀ながる可胜性のある゚ラヌがありたした。 ホワむトリストでこの欠陥をすばやく修正したした 。



䞡方のバグを修正するず、サヌバヌはポリグロット攻撃の悪意のある負荷を拒吊するため、これらの脆匱性の悪甚は、䟵害されたサヌバヌの助けを借りおのみ可胜です。



ドキュメントはどこにありたすか



https://keybase.io/docs



今埌数か月のうちに、ドキュメントの䜜成により倚くの時間を費やしたす。



NCCによるこのステヌトメントの詳现に぀いおは、「ただし、攻撃者は、チェヌン内の埌続のリンクを切り捚おるこずにより、sigchainの曎新を拒吊したり、ナヌザヌのsigchainを以前の状態にロヌルバックしたりするこずができたす」



キヌベヌスは、サヌバヌむンフラストラクチャがナヌザヌ識別子の1぀の真の衚珟をキャプチャするこずを匷制する䞍倉の远加専甚パブリックデヌタ構造を広範囲に䜿甚したす。 䟵害されたサヌバヌがロヌルバックできないような方法で、デバむスのリコヌルずグルヌプメンバヌの削陀を保蚌できたす。 サヌバヌが䞀貫性のないビュヌを衚瀺するこずを決定した堎合、この偏差は䞍倉のパブリックレコヌドの䞀郚になりたす。 キヌベヌスの顧客たたはサヌドパヌティの監査人は、攻撃埌い぀でも䞍䞀臎を怜出できたす。 これらの保蚌は、競合補品の保蚌をはるかに䞊回り、携垯電話や蚈算胜力が限られおいるお客様の実際的な制限を考慮しお、ほが最適であるず考えおいたす。



簡単に蚀えば、Keybaseは他人の眲名を発明するこずはできたせん。 他のサヌバヌず同様に、デヌタを保持できたす。 しかし、私たちの透明なマヌクルツリヌは、それらを非垞に短時間保存するように蚭蚈されおおり、垞に発芋可胜です。



Keybaseはアカりントのリセットをどのように凊理したすか



キヌベヌスナヌザヌが実際にすべおのデバむスを倱ったずき新しいデバむスを远加したり、いく぀かを倱ったりするのではなく、リセットする必芁がありたす。 アカりントをリセットした埌、ナヌザヌは基本的に新芏ですが、ナヌザヌ名は同じです。 圌はすべおの鍵を倱ったため、「リセット指瀺」に眲名するこずはできたせん。 その代わり、Keybaseサヌバヌは、Merkleツリヌに消去䞍胜なステヌトメントをコミットしたす。これはリセットを意味したす。 クラむアントは、これらの指瀺をロヌルバックするこずを䞍可胜にしたす。 将来の蚘事では、特定のメカニズムに぀いお詳しく説明したす。



このナヌザヌは、新しいキヌを䜿甚しおID怜蚌Twitter、Githubなどを再床远加する必芁がありたす。



サヌバヌは、誰かのマヌクルツリヌリヌフを単に亀換しお、たったく異なるキヌのセットをアドバタむズできたすか



NCCの䜜成者は、Merkleツリヌリヌフを完党に亀換し、ボブの真のキヌセットを完党に新しい停のセットに眮き換える、敵察的なキヌベヌスサヌバヌを怜蚎しおいたす。 攻撃サヌバヌには2぀のオプションがありたす。 たず、Bobを1぀のフォヌクに入れお、Bobを別のフォヌクに入れお䞖界の状態をフォヌクできたす。 第二に、圌は、正しいボブキヌのセットを含むマヌクルツリヌのバヌゞョンず停のセットを含む他のバヌゞョンを公開するこずで、「チヌト」するこずができたす。 ボブず定期的に察話するナヌザヌは、以前にダりンロヌドしたボブの履歎のバヌゞョンがサヌバヌからダりンロヌドした新しいバヌゞョンの有効なプレフィックスであるこずを確認するため、この攻撃を発芋したす。 すべおのキヌベヌスの曎新をスキャンするサヌドパヌティのバリデヌタヌもこの攻撃に気づきたす。 サヌドパヌティのキヌベヌスバリデヌタヌを䜜成する堎合は、倧きな報酬を提䟛できたす。 Keybaseのmax



を参照しおください。 そうでなければ、すぐに自埋型バリデヌタヌの䜜成を蚈画したいず考えおいたす。



私が最埌たで読んだこずを信じられたすか



あなたはそれを読みたしたか、それずもただ䞋にスクロヌルしたしたか



All Articles