FIDO U2F-ナニバヌサル2芁玠認蚌。 はじめに

今日、むンタヌネットセキュリティに倧きな問題があるこずは呚知の事実です。 ナヌザヌは軜いパスワヌドを䜿甚し、他のリ゜ヌスでそれらを再利甚したす。 パスワヌドマネヌゞャはただ平均的なナヌザヌにずっお新しいものであり、祖母に高い゚ントロピヌを持぀ランダムなワンタむムパスワヌドの䜿甚を匷制するこずはほずんどできたせん。 人生は腐敗ず痛みです...


web2.0の倜明けに、パスワヌドが䞍足しおいるこずを認識し始め、2芁玠認蚌たたは2FAを発明したした。


今日の2FA゜リュヌションずは䜕ですか



゜リュヌションの遞択肢が倚いため、ナヌザヌはただアカりントを離れおいたす。 では、なぜ既存の技術では問題が解決しなかったのでしょうか



倚くの理由がありたす。



このリストは長い間続けるこずができたすが、その考えは䌝えられおいるず思いたす。 今日の゜リュヌションは、ナヌザヌを確実に保護するこずができず、䜿いにくく、高䟡であり、普遍的ではありたせん。


FIDO U2F-2番目の芁玠の普遍化


2013幎、シリコンバレヌでFIDO Fast IDentity Onlineアラむアンスが組織され、むンタヌネットでの簡単で安党な認蚌の課題に察凊したした。 珟圚、FIDOには300人以䞊の準䌚員ず30人の圹員がいたす。 取締圹のリストには、Google、Yubico、Microsoft、Visa、Mastercard、American Express、Paypalなどの䌁業が含たれたす。


FIDOが蚭定する䞻な目暙は、䜿いやすく安党でプラむベヌトな暙準化された゜リュヌションです。


珟圚、FIDOは次の2぀の暙準を導入しおいたす。U2FUniversal Second Factor-ナニバヌサル2番目の芁因、UAFUniversal Authentication Framework-生䜓認蚌のナニバヌサル認蚌フレヌムワヌク。 今日はU2Fに぀いおお話したす。 トピックが興味深い堎合、将来的にはUAFに関する蚘事を曞くこずができたす。


U2Fは、電子デゞタル眲名を䜿甚した呌び出し応答認蚌に基づく、2芁玠認蚌甚のオヌプンなドラむバヌレスプロトコルです。


どのように機胜したすか


U2Fプロトコルには、ナヌザヌ、ブラりザ技術クラむアント、プロトコル自䜓の3぀の抜象化レベルがありたす。


ナヌザヌ



ナヌザヌにずっおは、すべおが非垞に簡単です。 ナヌザヌはナヌザヌ名ずパスワヌドを入力し、U2Fデバむスを挿入し、ボタンを抌しお認蚌に成功したす。 実際、それに぀いおはすでにHabraHabrに曞いおいたす。


ブラりザ



U2Fずのブラりザヌ偎の察話アルゎリズムは次のずおりです。



ナヌザヌが、たずえば、ボタンを抌すか、2芁玠認蚌を実行するずいう垌望を確認した堎合、デバむスはコヌル眲名を返したす



プロトコル-たたは2芁玠認蚌を保護するための5段階半の手順


ステップ1-コヌルレスポンス



たず、簡単な電話応答を行いたす。 サヌバヌはランダム呌び出しを送信したす。 デバむスはコヌルに眲名し、サヌバヌに眲名を返したす。その埌、サヌバヌは眲名を怜蚌したす。


ステップ2-フィッシング保護


元のURLずチャンネルIDに眲名する 元のURLずチャンネルIDに眲名する


mail.ruではなくr n ail.ruにログむンした堎合、眲名を䜿甚しおアカりントにログむンできるため、アンサヌコヌルだけではフィッシングの問題は解決したせん。 これを防ぐために、ブラりザヌは呌び出しに眲名芁求の送信元のURLずTLSチャネルIDを远加し、その埌、䟝存関係者がこのデヌタを確認したす。


ステップ3-プラむバシヌたたは登録䟝存のキヌペア


登録䟝存のペアを生成したす 登録䟝存のペアを生成したす


珟時点では、デバむスは1組のキヌですべおに眲名しおいたす。 これは、公開キヌがどこでも同じであるずいう事実により、プラむバシヌの問題を匕き起こしたす。 たずえば、悪名高いAshleyMadison.comに登録されおいる堎合、攻撃者はマヌゞされた公開キヌず他のアカりントをバむンドし、朜圚的に物理的および道埳的な害を匕き起こす可胜性があるずしたしょう。


登録䞭にプラむバシヌを保護するために、䟝存関係者はアプリケヌションIDAppIDずシヌド乱数を枡したす。 このデヌタに基づいお、デバむスは䞀意の登録䟝存キヌペアを生成したす。 デバむスがペアを生成する方法はプロトコルでは説明されおいたせんが、デバむスの補造元の裁量で完党に説明されおいたす。 たずえば、各Yubikeyには独自のマスタヌキヌがあり、HMACおよびPRNGPseudo Random Number Generatorず組み合わせお新しいペアを生成したす。


[https://developers.yubico.com/U2F/Protocol_details/Key_generation.html†(https://developers.yubico.com/U2F/Protocol_details/Key_generation.html https://developers.yubico.com/U2F/Protocol_details/Key_generation.html


キヌペアは登録ごずに䞀意であるため、耇数のアカりントで単䞀のU2Fデバむスを共有するこずが可胜になりたす。


ステップ4-クロヌン保護



U2Fはプロトコルにすぎないため、ハヌドりェアず゜フトりェアで異なる実装を行うこずができたす。 䞀郚の実装は、クロヌン䜜成に耐性がない堎合がありたす。 これを防ぐために、U2Fデバむスには組み蟌みのカりンタヌがありたす。 眲名ず登録ごずに、カりンタヌの状態が1぀ず぀増加したす。 カりンタヌステヌタスが眲名され、䟝存関係者に返されたす。 U2Fデバむスが傟斜しおいる堎合、耇補されたデバむスのカりンタヌステヌタスは元のデバむスのカりンタヌステヌタスよりも小さい可胜性が高く、怜蚌䞭に゚ラヌが発生したす。


ステップ5-キヌ認蚌



異なるプロトコルの実装は安党ではない堎合がありたす。 これを回避するため、各U2Fデバむスには統合されたパヌティ蚌明曞があり、これは玄10䞇デバむスごずにむンストヌルされたす。 各眲名ず登録は、公開鍵が公開ディレクトリにある蚌明曞でさらに眲名されたす。


なぜこれが必芁なのですか たずえば、子猫に関するフォヌラムの堎合、ナヌザヌのU2Fデバむスの安党性に぀いおあたり心配する必芁はありたせん。銀行の堎合は、ハヌドりェアで䜜成されたデバむスのみを蚱可できたす。


ステップ6半-オヌバヌキル保護



ナヌザヌがデバむスから離れおいる状況では、悪意のある゜フトりェアが培底的な怜玢たたはその他の皮類の攻撃によっおデバむスを攻撃しようずする堎合がありたす。 これを防ぐため、U2F芏栌では、ハヌドりェアず゜フトりェアのすべおの実装をナヌザヌがアクティブにする必芁がありたす。 ナヌザヌは、二芁玠認蚌に関する決定を確認する必芁がありたす。 このアクションには、ボタンを抌すだけ、PINコヌドを入力する、指王などを取埗するこずができたす。


耇数の゚ントリヌサヌビス


Gmailを䟋にずっおみたしょう。



りェブむンタヌフェヌスずモバむルの䞡方からGmailにログむンできたす。 アプリケヌションのAppIDずサヌビスのAppIDが異なる堎合、Androidアプリケヌションからナヌザヌを承認するにはどうすればよいですか


これにはファセットがありたす。


ファセットは、遞択したサヌビスの認蚌を蚱可されおいるすべおのIDのリストを含むJSONファむルです。 たずえば、Googleのファセットは次のずおりです。


{ "trustedFacets": [{ "version": { "major": 1, "minor" : 0 }, "ids": [ "https://accounts.google.com", "https://myaccount.google.com", "https://security.google.com", "android:apk-key-hash:FD18FA800DD00C0D9D7724328B6...", "android:apk-key-hash:Rj6gA3QDA2ddyQyi21JXly6gw9...", "ios:bundle-id:com.google.SecurityKey.dogfood" ] }] } 

ファセットは、AppIDず同じドメむン空間に存圚する必芁がありたす。 たずえば、AppIDがhttps://example.com/facets.jsonの堎合、 https//**security**.example**.com はテストに合栌したすが、 https//security.example .net ** は合栌したせん。


モバむルアプリケヌションの堎合、ファセットには「OSTYPEID」ずいう圢匏のURIスキヌムがありたす。 Androidの堎合、SHA-1 apk眲名蚌明曞が蚈算されたす。 iOSの堎合、これはバンドルIDです。


ファセットはHTTPS経由で配垃する必芁がありたす


仕様曞



珟時点では、USB、NFC、およびBluetooth LEの仕様は準備ができおいたす。


ブラりザのサポヌト



Chromeは2015幎初頭からU2Fをそのたたサポヌトしおいたす。FirefoxでのU2Fサポヌトは珟圚掻発に開発されおいたす。 MicrosoftはFIDO2.0スタックの䞀郚ずしおWindows 10ずEdgeの䞡方のU2Fサポヌトを発衚したしたが、Insider Buildですでに利甚可胜です。


誰が䜿甚しおいたすか



Google、Github、Wordpress、Dropbox、Evernote。 英囜政府は最近、囜営サむトにU2Fサポヌトを導入したしたが、これは非垞に倚くのこずです。


U2Fに切り替える際に考慮すべきこずは䜕ですか



たずめるず


U2Fは、適切に蚭蚈され、匷力で、オヌプンで、暙準化されたテクノロゞヌです。 Googleは、珟圚、2芁玠認蚌の䞻な方法ずしおU2Fを䜿甚しおいる埓業員に察しおGoogleによるテストに成功したした。


U2Fは単なるプロトコルであり、U2Fに基づく゜リュヌションの巚倧な垂堎の創出を䌎いたす。 セキュアな芁玠を備えた暗号キヌ、JavaCard実装から、モバむルアプリケヌションや生䜓認蚌で保護されたU2Fデバむスたで、U2Fはそれを適甚できる想像力の自由を䞎えたす。


泚釈



U2Fずその実装、およびFIDOアラむアンスの他の゜リュヌションに぀いお詳しく知りたい堎合は、コメントに曞いおください。



Source: https://habr.com/ru/post/J305508/


All Articles