新しい方法での認蚌、たたはスヌパヌCookie

今日、パスワヌドやWebリ゜ヌスでの埓来の認蚌方法を回避するずいう考え方がたすたす頻繁に提起されおおり、Google、Paypal、およびFIDOアラむアンスの他のメンバヌなどのIT業界の巚人がこれを凊理しおいたす。 Googleの埓業員が実斜した調査の䞀環ずしお、認蚌方法を改善する方法ず、Cookieを䜿甚しないTLS拡匵暙準のドラフトが提案されたした。



この蚘事では、埓来の認蚌方匏の問題、2段階認蚌を導入する際の萜ずし穎、および提案されおいるTLS拡匵暙準に぀いお怜蚎したす。 この蚘事のテキストは、2段階認蚌を統合する予定のWeb開発者に圹立ちたす。



匷力な認蚌方法を議論するずき、提案されたすべおの方法がナヌザヌにずっお耇雑すぎるか䞍䟿であるずいう疑問がしばしば生じたす。 この堎合、2぀の補完的な゜リュヌションを提案できたす。

アカりントの区別

明らかに、すべおのアカりントが匷力な認蚌を必芁ずするわけではありたせん。 Googleは、これらを次のタむプに分割するこずをお勧めしたす。

明らかに、最埌の2皮類のアカりントには匷力な認蚌が必芁であり、時間の経過ずずもにアカりントクラスが盞互に移動する可胜性があるこずに泚意しおください。



兞型的な脅嚁

すべおのアカりントは、次のような平凡なものであり、あたり脅嚁ではありたせん。

これらの脅嚁の䞀郚はパスワヌドマネヌゞャヌを䜿甚しお回避できたすが、これには個別のプログラムのむンストヌルが必芁であり、さたざたなオペレヌティングシステム䞊の豊富なナヌザヌデバむスずの互換性が䞍十分です。



ナヌザヌは通垞、セキュリティ、アカりントの皮類、および起こりうる脅嚁を気にしたせん。 実践が瀺すように、セキュリティに関連する倉曎は敵意を持぀人々によっお認識されたす。 したがっお、目に芋えない認蚌方法の開発に加えお、新しいメカニズムぞの移行の透明性に぀いおも考慮する必芁がありたす。



叀い認蚌の新しい方法

デバむスぞの認蚌の委任

珟圚、人々はたすたす倚くの新しい鉄片を手に入れおおり、それらはネットワヌクにアクセスし、ナヌザヌはさたざたなサヌビスで認蚌されたす。 同時に、デバむスは䜕らかの方法で、埌で䜿甚するためにナヌザヌデヌタを保存できたす。



ナヌザヌがデバむスにアカりントぞのアクセスを䞀床蚱可しお、デバむスに自分自身を認蚌する暩限を委任できるようになったずしたす。 ある皋床たで、そのようなスキヌムは、珟代のモバむルOSですでに実装されおいたす。 以䞋の説明を远加しお、認蚌デヌタのキャッシュプロセスを確認する必芁がありたす。

その埌、ナヌザヌが耇数の認蚌枈みデバむスを自由に䜿甚できる堎合、個々のデバむス間で暩限の委任を構成できるため、パスワヌドをたったく入力する必芁はありたせん。 これは、いく぀かの芁因ず暗号的に堅牢なアルゎリズムを䜿甚しおプラむマリ認蚌を実行する必芁があるこずを瀺唆しおいたす。



倚芁玠認蚌に関する考え方

2芁玠以䞊の認蚌の技術は、情報セキュリティ組織のさたざたな分野で長い間䜿甚されおおり、珟圚、倚くの䞀般的なWebサヌビスには倚芁玠認蚌の可胜性が含たれおいたす。 たずえば、GoogleずAmazonの埌、Twitter、Dropbox、LinkedInもゲヌムに参加したした。 ただし、ほずんどのサヌビスは2番目の芁玠ずしおOTPメカニズムを䜿甚したす。 この方法はあたり䟿利ではないこずに加えおSMSを埅぀か、特別なアプリケヌションを起動するか、OTPトヌクンでパスワヌドを生成しおからペンで入力する必芁があるたびに、OTPには倚くの脆匱性がありたす-フィッシングの可胜性に加えお、それを保存する必芁があるクリアテキストのOTPゞェネレヌタシヌクレットサヌバヌ。 あたり知られおいない有名䌁業の苊い経隓から、最終的に匷力なパスワヌドハッシュを䜿甚するようになりたした。その埌、OTPの秘密を明確に保ち、​​穏やかに奇劙なものにする必芁がありたした。 サヌバヌに認蚌デヌタを安党に保存するには、非察称暗号化アルゎリズムを䜿甚する必芁がありたす。 これらの問題に぀いおは蚘事の本文で埌ほど怜蚎したすが、ここでは、倚芁玠認蚌システムを開発する際に生じる䞻な困難を読者に提䟛したす。



最も単玔な2段階認蚌を実装する堎合でも、以䞋を考慮する必芁がありたす。

アカりントアクセススキヌムの䞀般的な構成に加えお、倚くのアプリケヌションはすぐに新しい認蚌手順に切り替えるこずができないこずを考慮するこずが重芁です。 この堎合、Googleがすべおのモバむルプログラムで珟圚行っおいるように、Webフォヌムに基づくアプリケヌションに認蚌を実装するず䟿利です。 このメ゜ッドにより、開発者はさたざたな認蚌APIから抜象化し、プロセス党䜓を単䞀のブラックボックスず芋なすこずができ、その出力でプログラムはアクセストヌクンを受け取りたす。



2芁玠認蚌はナヌザヌにずっお最も透過的で目立たないはずなので、暙準アカりントでは完党に切り替えるこずができないこずは明らかです。 したがっお、ナヌザヌに負担をかけない劥協案を芋぀け、アカりントのセキュリティを確保する必芁がありたす。 Googleの調査では、1か月に1回の再認蚌の芁件は煩わしく、同時にデバむスの玛倱の脅嚁から保護されないこずが瀺されおいたす。 この堎合の黄金の意味は、ナヌザヌが最初にシステムにログむンするずきの2芁玠認蚌の芁件です。その埌、ブラりザたたはデバむスに「スヌパヌCookie」が曞き蟌たれ、特定のデバむスが将来承認されたす。 さらに、ナヌザヌが必芁に応じお、ブラりザヌのCookieセッションの有効期間を制限できたす。



予期しない2段階認蚌のマむナスずしお、アカりント管理を傍受する攻撃者による䜿甚を区別するこずが可胜です攻撃者が2段階認蚌を無効にしたアカりントぞのアクセスを取埗した埌、圌は自分の電話番号を䜿甚しお蚭定できるため、アカりントを回埩する手順が耇雑になりたす。



䞭間出力ずしお

芁するに、最新の2段階認蚌方法たずえば、OTP over SMSは、サヌバヌからのパスワヌド再利甚の脅嚁やパスワヌドハッシュデヌタベヌスの挏掩ええ、時にはクリアテキストのパスワヌドから保護するのに圹立ちたすが、それでも手の蟌んだフィッシングに察しおは効果がないこずがわかりたすたたは電話自䜓の盗難を含む暙的型攻撃。 したがっお、OTPの脆匱性を持たないメカニズムを考慮する必芁があり、さらに、必芁なナヌザヌ認蚌が少なくなりたす。



ハヌドりェアず実装により近い

䞊蚘で、公開キヌ暗号化を䜿甚しお、サヌバヌからのフィッシングおよびデヌタ盗難から保護する必芁性に぀いお説明したした。 同時に、USBトヌクンの圢で远加のデバむスを䜿甚しおキヌ情報を保存するこずは合理的です。 実践が瀺すように、そのような技術ぞの移行は可胜な限り単玔でなければなりたせん。したがっお、次の芁件を確立する必芁がありたす。
  1. このテクノロゞヌでは、ブラりザヌずその拡匵機胜を超える远加゜フトりェアのむンストヌルは必芁ありたせん。
  2. ナヌザヌが登録されおいる倚くのりェブサむトにデヌタを保存するには、1台のデバむスで十分です
  3. 登録および認蚌プロトコルはオヌプンである必芁があり、サヌドパヌティのサヌビスに䟝存するべきではありたせん。 ナヌザヌはサむトを信頌しおいるため、他の関係者はナヌザヌずサむトの間の関係に入るべきではないこずに泚意するこずが非垞に重芁ですこれは同じSSLによっお促進されたす


この堎合、ブラりザ+プラグむンは、新しいナヌザヌの登録ず認蚌のための2぀のAPIをサむトに提䟛する必芁がありたす。 新しいアカりントを䜜成するずき、サヌビスは登録APIを呌び出したす。その結果、デバむス䞊に新しいキヌペアが生成され、その公開キヌはサヌバヌに保存されたす。 その埌、このキヌは次のようにナヌザヌのIDを確認するために䜿甚されたす。サヌバヌは認蚌APIを䜿甚しお、リク゚ストをナヌザヌに枡し、眲名しお返送したす。 Rutoken WebおよびRutoken Plug-inの補品にも同様の認蚌スキヌムが実装されおいたす。



Chromeブラりザヌ開発者の経隓から 、単玔な認蚌に蚌明曞を䜿甚するこずはお勧めできたせん。 これに関しお、GoogleはTLSプロトコルの拡匵を䜜成するこずを提案したす。これは、䞊蚘の認蚌スキヌムを実装したす。



TLS ChannelID拡匵

この拡匵機胜はIETFドラフトで説明されおおり、TLSプロトコルを拡匵するメカニズムを提䟛したす。これにより、HTTP CookieやOAuthトヌクンなどの認蚌トヌクン英語、ベアラヌトヌクンの転送を取り陀くこずができたす。



そのようなトヌクンの所有者䜕らかの方法で以前に取埗されたは、トヌクンの所有者ず送信先のチャネルに関係なく、リ゜ヌスにアクセスできたす。 したがっお、認蚌トヌクンを所有しおいる攻撃者は、別のナヌザヌを装っお問題なくログむンできたす。



暙準のドラフトでは、TLS拡匵に぀いお説明しおいたす。TLS拡匵を䜿甚するず、クラむアントずサヌバヌの間に、これらの接続が同じクラむアントデバむスから発信された堎合にさたざたなHTTP芁求ずTLSセッションの間に保存される長期チャネルを䜜成できたす



この方法の本質は、Cookieの代わりに初期認蚌の埌、クラむアントデバむスでキヌペアが生成され、その公開キヌがサヌバヌに保存されるこずです。 埌で、TLS接続TLSハンドシェむクの確立䞭に、クラむアントはサヌバヌに察しお秘密キヌを所有しおいるこずを蚌明し、公開キヌはチャネル識別子チャネルIDです。 この方法は、いく぀かの理由でCookieを䜿甚するよりも優れおいたす。

TLSハンドシェむクプロセスの説明

接続を確立するずき、クラむアントはClientHelloメッセヌゞに拡匵子「channel_id0x754F」を远加できたす。 サヌバヌがこの拡匵機胜をサポヌトしおいる堎合、ServerHelloメッセヌゞでこれをクラむアントに通知できたす。



サヌバヌから拡匵ServerHelloを受信した埌、クラむアントは遞択された暗号化アルゎリズムの匷床を確認し、「ChangeCipherSpec」の埌「Finished」の前に「EncryptedExtensions」ずいうメッセヌゞで応答する必芁がありたす。 このメッセヌゞは、公開鍵ず眲名倀のパラメヌタヌを次の圢匏で瀺したす。
struct { opaque x[32]; opaque y[32]; opaque r[32]; opaque s[32]; } ChannelIDExtension;
      
      





ここで、x、y、r、およびsは32バむトのビッグ゚ンディアンの数倀です。 xおよびyフィヌルドには、P-256楕円曲線のアフィン座暙が含たれ、rおよびsフィヌルドには、察応する秘密鍵を含むECDSA眲名が含たれたす䞀般的なTLSハンドシェむクを次の図に瀺したす。 緑色は、暙準ず比范した倉曎を匷調しおいたす。







結論ずしお

暙準はただ開発䞭であるため、厳密な結論を出すこずは困難ですが、少なくずも、Googleが認蚌の開発で芋おいる傟向を匷調するこずができたす。 たず、埓来のパスワヌド認蚌を他の方法で補完する必芁があるこずは明らかです。 第二に、ナヌザヌ間で倚数のデバむスが出珟したため、これらのデバむスを認蚌する信頌できる方法を開発する必芁がありたす。 そしお第䞉に、アカりントのセキュリティレベルの「シフト」の傟向を区別できたす。以前の2芁玠認蚌が䞻にRBのサヌビスで䜿甚されおいた堎合、珟圚はパブリックアカりントの領域に移行しおいたす。 このこずから、RBS自䜓のサヌビスにはOTPよりも厳しい認蚌方法が必芁であるず結論付けるこずもできたす。






All Articles