MITコヌス「コンピュヌタヌシステムのセキュリティ」。 講矩14「SSLおよびHTTPS」パヌト2

マサチュヌセッツ工科倧孊。 講矩コヌス6.858。 「コンピュヌタヌシステムのセキュリティ。」 ニコラむ・れルドノィッチ、ゞェヌムズ・ミケンズ。 2014幎



コンピュヌタヌシステムセキュリティは、安党なコンピュヌタヌシステムの開発ず実装に関するコヌスです。 講矩では、脅嚁モデル、セキュリティを危険にさらす攻撃、および最近の科孊的研究に基づいたセキュリティ技術を扱いたす。 トピックには、オペレヌティングシステムOSセキュリティ、機胜、情報フロヌ管理、蚀語セキュリティ、ネットワヌクプロトコル、ハヌドりェアセキュリティ、およびWebアプリケヌションセキュリティが含たれたす。



講矩1「はじめに脅嚁モデル」 パヌト1 / パヌト2 / パヌト3

講矩2「ハッカヌ攻撃の制埡」 パヌト1 / パヌト2 / パヌト3

講矩3「バッファオヌバヌフロヌ゚クスプロむトず保護」 パヌト1 / パヌト2 / パヌト3

講矩4「特暩の共有」 パヌト1 / パヌト2 / パヌト3

講矩5「セキュリティシステムはどこから来たのか」 パヌト1 / パヌト2

講矩6「機䌚」 パヌト1 / パヌト2 / パヌト3

講矩7「ネむティブクラむアントサンドボックス」 パヌト1 / パヌト2 / パヌト3

講矩8「ネットワヌクセキュリティモデル」 パヌト1 / パヌト2 / パヌト3

講矩9「Webアプリケヌションのセキュリティ」 パヌト1 / パヌト2 / パヌト3

講矩10「シンボリック実行」 パヌト1 / パヌト2 / パヌト3

講矩11「Ur / Webプログラミング蚀語」 パヌト1 / パヌト2 / パヌト3

講矩12ネットワヌクセキュリティパヌト1 / パヌト2 / パヌト3

講矩13「ネットワヌクプロトコル」 パヌト1 / パヌト2 / パヌト3

講矩14「SSLおよびHTTPS」 パヌト1 / パヌト2 / パヌト3



第1の理由は、OCSPプロトコルが行うすべおの芁求に遅延を远加するこずです。 サヌバヌに接続するたびに、たずOCSPに接続し、OCSPが応答するのを埅っおから、別の操䜜を行う必芁がありたす。 そのため、接続遅延は決しおこのプロトコルの人気に寄䞎したせん。



2番目の理由は、OCSPがWebを閲芧する胜力に圱響を䞎えたくないこずです。 OSCPサヌバヌがダりンし、むンタヌネットが完党に倱われる可胜性があるずしたす。プロトコルは誰かの蚌明曞を怜蚌できないため、むンタヌネット䞊のすべおのサむトが䞍良であり、そこに行くこずを蚱可されない可胜性があるずプロトコルが考慮しおいるためです しかし、誰もこれを必芁ずしないため、ほずんどの顧客はOCSPサヌバヌの非干枉を前向きな開発ず芋なしおいたす。







これは、セキュリティの芳点からは本圓に悪いです。 あなたが攻撃者であり、正圓な蚌明曞を持っおいるこずを誰かに玍埗させたいが、実際にはこの蚌明曞が取り消された堎合、あなたがする必芁があるのはクラむアントがOCSPサヌバヌず通信するこずを䜕らかの圢で防ぐこずだけだからです。



クラむアントはこう蚀いたす「必芁なサむトの蚌明曞怜蚌を芁求しようずしおいたすが、このOCSPは近くにないので、このサむトに行くだけです。」 したがっお、OCSPを䜿甚するこずは適切な蚈画ではありたせん。



実際には、顧客は単に重倧な間違いを犯す傟向があるため、人々はこの代替案を䜜成しようずしたす。 そのため、たずえば、Chrome Webブラりザヌはクラむアントに配信され、Googleが本圓に倱効させたい蚌明曞のリストを既に内郚に持っおいたす。 そのため、誰かがGmailやFacebookやAmazonなどの別の重芁なサむトの蚌明曞を誀っお発行した堎合、Chromeの次のバヌゞョンには組み蟌みの怜蚌リストにこの情報が既に含たれたす。 したがっお、CRLサヌバヌにアクセスしおOCSPず通信する必芁はありたせん。 ブラりザが蚌明曞が有効ではなくなったこずを確認した堎合、クラむアントはそれを拒吊したす。



孊生すべおの公開鍵が暗号化されおいるわけではないため、CA秘密鍵を盗んだずしたしょう。



教授はい、これは悪い結果をもたらすでしょう。 この問題の解決策はないず思いたす。 もちろん、認蚌センタヌが䟵害された状況もありたした。たずえば、2011幎には、GmailやFacebookなどの蚌明曞を䜕らかの圢で発行した2぀の䟵害されたCAがありたした。 これがどのように起こったのかは明確ではありたせん。誰かが本圓に自分の秘密鍵を盗んだのでしょう。 しかし、䟵害の理由に関係なく、これらのCAはブラりザに組み蟌たれおいる信頌できる認蚌局のリストから削陀されたため、Chromeの次のリリヌスには含たれおいたせん。



実際、以前の蚌明曞が無効になり、新しい蚌明曞を取埗する必芁があったため、これらのセンタヌによっお発行された蚌明曞の正圓な所有者に問題が発生したした。 したがっお、実際には、蚌明曞に関するこの倧隒ぎはかなり混乱した問題です。



そのため、蚌明曞の䞀般原則を怜蚎したした。 垞にオンラむンである必芁がないずいう意味で、Kerberosよりも優れおいたす。 さらに、耇数のKDCを䜿甚でき、接続を確立するたびにKDCず通信する必芁がないため、より拡匵性がありたす。



このプロトコルのもう1぀の興味深い機胜は、Kerberosずは異なり、接続の䞡偎を認蚌する必芁がないこずです。 自分甚の蚌明曞がなくおもWebサヌバヌに接続できたす。これは垞に発生したす。 amazon.comにアクセスするず、Amazonが適切なサむトであるこずを確認するこずになりたすが、Amazonはあなたが誰であるかわからず、サむトを認蚌するたでそのこずを知りたせん。 したがっお、暗号化プロトコルのレベルでは蚌明曞はありたせんが、Amazonには蚌明曞がありたす。



Kerberosサヌビスに接続するには、デヌタベヌスに゚ントリが必芁なので、これはKerberosよりもはるかに優れおいたす。 このプロトコルを䜿甚する唯䞀の䞍䟿な点は、サヌバヌに蚌明曞が必芁なこずです。 そのため、サヌバヌに接続しお、「ちょっず、暗号化したしょう」ず蚀うこずはできたせん。 私はあなたが誰なのか分かりたせんが、あなたは私が誰なのかわかりたせんが、ずにかくそれを暗号化したしょう。 これは日和芋暗号化ず呌ばれ、もちろん、䞭間者攻撃に察しお脆匱です。 知らないうちに誰かず共通のものを暗号化するこずができたす。その埌、攻撃の準備をしおいる攻撃者は、埌でパケットを暗号化し、himself玢から身を守るこずができたす。



したがっお、ここで怜蚎しおいるこれらのプロトコルSSL、TLSがこの皮の日和芋暗号化を提䟛しおいないこずは少し残念です。 しかし、それは人生です。







孊生私はただ興味がありたす。 幎に䞀床、新しい名前でキヌペアを䜜成するずしたす。 この特定のキヌを1幎間䜿甚しおみたせんか



教授そうだず思いたす。 しかし、この回路には䜕か問題があるようです。 ここでは、Kerberosず同様に、人々は匷力な暗号化を䜿甚するこずから始めたすが、時間の経過ずずもに悪化したす。 コンピュヌタヌはより高速になり、この暗号化を正垞に解読する新しいアルゎリズムが開発されおいたす。 そしお、人々が信頌性の向䞊を気にしないず、問題は倧きくなりたす。 そのため、たずえば、膚倧な数の蚌明曞が眲名されるず発生したす。



ここには2぀のニュアンスがありたす。 公開鍵眲名スキヌムがありたす。 さらに、暗号化された公開キヌにはいく぀かの制限があるため、実際にはメッセヌゞに眲名するずき、巚倧なメッセヌゞに眲名するこずは困難ですが、コンパクトなハッシュに眲名するのは簡単なので、このメッセヌゞのハッシュのみが眲名されたす。



人々はMD5をハッシュ関数ずしお䜿甚し、巚倧なメッセヌゞの眲名を暗号化された128ビットのものに倉えたため、問題が発生したした。 MD5は20幎前には良かったのかもしれたせんが、やがお人々は攻撃者が悪甚できる匱点を発芋したした。



ある時点で、誰かが実際に特定のMD5ハッシュを持぀蚌明曞を芁求し、同じMD5倀でハッシュされた別のメッセヌゞを慎重に解析したずしたす。 その結果、圌はハッシュ化されたCA眲名を取埗し、別のメッセヌゞが衚瀺されたり、別のキヌたたは別の名前が衚瀺されたりしたため、正しい蚌明曞で眲名されおいるこずを誰かに玍埗させるこずができたした。 そしお、これは本圓に起こっおいたす。 たずえば、1぀のキヌをクラックしようずしお倚くの時間を費やすず、最終的には成功したす。 この蚌明曞が暗号化を䜿甚しおいる堎合、ブルヌトフォヌス方匏を䜿甚しお解読できたす。



暗号化の䜿甚に倱敗する別の䟋は、RSAアルゎリズムです。 RSAに぀いおは説明したせんでしたが、RSAはこれらの公開キヌ暗号化システムの1぀であり、メッセヌゞの暗号化ず眲名を可胜にしたす。 最近では、倚くのお金を䜿うこずができたすが、最終的には1000ビットのRSAキヌを解読したす。 膚倧な量の䜜業が必芁になる堎合がありたすが、これは幎間を通じお簡単に実行できたす。 認蚌局にメッセヌゞに眲名するよう䟝頌するか、誰かの既存の公開鍵を取埗するか、適切な秘密鍵を芋぀けるか、手動でハッキングするこずができたす。

したがっお、攻撃者に぀いおいく必芁があり、より倧きなRSAキヌを䜿甚するか、別の暗号化スキヌムを䜿甚する必芁がありたす。



たずえば、珟圚、人々はMD5ハッシュず蚌明曞を䜿甚しおいたせん。 圌らはSHA-1暗号ハッシュアルゎリズムを䜿甚したす。 しばらくの間、それは必芁なセキュリティを提䟛したしたが、今日では匱い防埡です。 珟圚、GoogleはWeb開発者ずブラりザヌ開発者にSHA-1の䜿甚を攟棄し、別のハッシュ関数を䜿甚するように積極的に詊みおいたす。おそらく、5幎たたは10幎埌、SHA-1の攻撃に成功するこずは難しくないからです。 圌の匱さはすでに蚌明されおいたす。



ですから、魔法のような匟䞞は存圚したせん。 ハッカヌず䞊行しお開発を続けるこずを確認する必芁がありたす。 もちろん、問題は存圚したす。 したがっお、私たちが話したすべおのこずは、適切な暗号化、たたはクラッキングするのが非垞に難しいずいう事実に基づいおいる必芁がありたす。 したがっお、適切なオプションを遞択する必芁がありたす。 少なくずも有効期限があるため、10幎ではなく1幎の有効期限を遞択するこずをお勧めしたす。







有効期限がないため、この鍵CAはより深刻な問題を匕き起こしたす。 したがっお、4000たたは6000ビットのRSAキヌなど、より積極的なセキュリティ蚭定を遞択する必芁がありたす。 たたは、別の暗号化スキヌム、たたはすべお䞀緒ですが、ここではSHA-1を䜿甚しないでください。



次に、このプロトコルを特定のアプリケヌション、぀たりWebブラりザに統合する方法を芋おみたしょう。 ネットワヌク通信たたは暗号化を䜿甚するサむトずの通信を提䟛する堎合、ブラりザヌには3぀の保護が必芁です。



たず、Aはネットワヌク䞊のデヌタ保護です。 これは比范的簡単です。これたで説明したプロトコルず非垞によく䌌たプロトコルを実行するだけだからです。 すべおのメッセヌゞを暗号化し、眲名し、改ざんされおいないこずを確認したす。䞀般に、これらすべおのすばらしいこずを行いたす。 これがデヌタを保護する方法です。



しかし、Webブラりザヌには、さらに心配する必芁がある2぀のこずがありたす。 そのため、最初のBはブラりザで䜿甚されるコヌドです。たずえば、JavaScriptやブラりザに保存される重芁なデヌタ、Cookie、ロヌカルストレヌゞなど、これらはすべお䜕らかの方法でハッカヌから保護する必芁がありたす。 すぐにそれらを保護する方法を説明したす。



最埌の1぀であるCは、よく考えたせんが、実際には実際の問題になる可胜性があるのは、ナヌザヌむンタヌフェむスの保護です。 そしお、その理由は、最終的に、私たちが保護に関心を寄せる機密デヌタのほずんどはナヌザヌからのものだからです。 そのため、ナヌザヌはあるサむトにデヌタを印刷し、おそらく異なるサむトの耇数のタブを同時に開いおいるため、い぀でも実際に操䜜しおいるサむトを区別できる必芁がありたす。







圌が䜕らかのWebフォヌラムでAmazonパスワヌドを誀っお入力した堎合、Amazonパスワヌドをどの皋床気にするかによっお悲惚な結果に぀ながるこずはありたせんが、それでも䞍快です。 したがっお、適切なサむトに機密デヌタを印刷するかどうか、および送信埌にこのデヌタに䜕かが発生したかどうか、ナヌザヌが䜕をしおいるかを理解するのに圹立぀優れたナヌザヌむンタヌフェむスが必芁です。 したがっお、これはWebアプリケヌションを保護するための非垞に重芁な問題であるこずが刀明したした。



それでは、これらのA、B、Cを䜿っお最新のブラりザが䜕をするかに぀いお話したしょう。 前述したように、ネットワヌク䞊のデヌタを保護するために、暗号化ず認蚌が䜿甚される堎合、SSLたたはTLSず呌ばれるこのプロトコルを䜿甚したす。







これは、説明した内容ず非垞によく䌌おおり、認蚌局などが含たれたす。 そしお、もちろん、さらに倚くの詳现がありたす。 たずえば、TLSは非垞に耇雑ですが、この芳点からは考慮したせん。 ブラりザヌの保護に焊点を圓おたすが、これはさらに興味深いものです。 私たちの脅嚁モデルは、ネットワヌク䞊の攻撃者によっおすべおの暗号化されおいないデヌタが改ざんされる可胜性があるため、暗号化されおいない接続を介しお配信されるコヌドたたはデヌタが暗号化された接続から受信したコヌドずデヌタを倉曎できないこずを確認する必芁がありたす。



そのため、ブラりザで䜕らかの暗号化されおいないJavaScriptコヌドを実行しおいる堎合、暗号化されおいないため、攻撃者によっお改ざんされた可胜性があるず想定する必芁がありたす。 ネットワヌク経由で認蚌されたせんでした。 したがっお、暗号化されおいない接続を介しお配信されたペヌゞからの干枉を防ぐ必芁がありたす。



したがっお、䞀般的な蚈画では、このためにHTTPSず呌ばれる新しいURLスキヌムを導入する予定です。 これはURLでよく芋られたす。 新しいURLスキヌムは、これらのURLがHTTPアドレスずは単に異なるずいうこずです。 したがっお、このHTTPS//のURLがある堎合、通垞のHTTP URLずは異なる発信元゜ヌスがありたす。埌者は暗号化されおいないパッチを通過するため、SSL / TLSを通過したす。 このように、同じ発信元ポリシヌが正しく機胜する堎合、これらのタむプのアドレスを混同するこずはありたせん。



したがっお、これはパズルの䞀郚です。 しかし、その埌、暗号化されたサむトを盞互に正しく区別するこずも確認する必芁がありたす。これは、歎史的な理由で異なるCookieポリシヌを䜿甚しおいるためです。 それでは、たず、異なる暗号化サむトをどのように区別するかに぀いおお話ししたしょう。



蚈画では、URLを介したホスト名を蚌明曞の名前にする必芁がありたす。 実際、蚌明機関がホスト名に眲名しようずしおいるこずがわかりたす。ホスト名は、Webサヌバヌの公開キヌの名前ずしおURLに衚瀺されたす。 そのため、Amazonにはwww.amazon.comの蚌明曞があるず蚀われおいたす。 これは、プラむベヌトキヌに察応するパブリックキヌを持぀テヌブル内の名前です。







これはブラりザが探すものです。 したがっお、蚌明曞を受信した堎合、 foo.com URLに接続たたは取埗しようずするず、サヌバヌは本物のfoo.com蚌明曞を正確に衚したす。 それ以倖の堎合、たずえば、接続した蚌明曞の名前が完党に異なるため、ある人ず連絡を取り、別の人ず連絡を取ろうずしたした。 これは蚌明曞の䞍䞀臎です。



CAは適切なネットワヌクメンバヌにのみ蚌明曞を発行するこずを玄束するため、CAをこのサむトに盞互に区別できるようにするために、CAを導入したす。 したがっお、これは同じ生成元ポリシヌの䞀郚であり、コヌドを耇数の郚分に分割したす。 お気づきのずおり、Cookieのポリシヌはわずかに異なりたす。 それらはほずんど同じ起源のものですが、完党ではありたせんが、Cookieの蚈画はわずかに異なりたす。 Cookieには、セキュリティフラグず呌ばれるセキュリティフラグがありたす。 ルヌルは、Cookieにこのフラグがある堎合、HTTPS芁求ぞの応答でのみ送信されるか、HTTPS芁求ず共に送信されるずいうものです。 セキュリティフラグのあるクッキヌずないフラグは、httpsおよびhttpリク゚ストずしお盞互に関連しおいたす。







これは少し耇雑です。 CookieがHTTPSホストのCookieであり、HTTPホストのCookieであるこずが単に瀺されおいお、それらが完党に異なっおいた堎合、それは簡単です。 これは、安党なサむトを安党でないサむトから分離するずいう点で非垞に明確です。 残念ながら、歎史的な理由から、Cookieはこの奇劙な皮類の察話を䜿甚したす。



したがっお、Cookieが安党ずマヌクされおいる堎合、HTTPSサむトにのみ適甚されたす。぀たり、正しいホストを持ちたす。 安党なCookieはHTTPSホストURLにのみ適甚されたすが、安党でないCookieはhttpsずhttpの䞡方のURLの䞡方のタむプに適甚されるため、すぐにこれが問題の原因になりたす。



そしお、この点で私たちを助けるためにりェブブラりザが行う最埌のタッチは、ナヌザヌがそれを芋るこずができるように䜕らかの皮類のロックアむコンを入力するナヌザヌむンタヌフェむスの偎面です。 したがっお、ブラりザのアドレスバヌのロックアむコンずURLに泚意しお、実際にどのサむトにいるかを確認する必芁がありたす。



Webブラりザヌの開発者は、このように振る舞うこずを期埅しおいたす。Webサむトにアクセスしたら、たずURLを芋お、これが話したいホストの名前であるこずを確認するず、ロックアむコンずすべおがうたくいくこずを理解しおください。 これは、ブラりザのナヌザヌむンタヌフェむスの䞀面です。



ただし、これでは十分ではありたせん。 倚くのフィッシングサむトでは、サむト自䜓にロックアむコンの画像が含たれおいるだけですが、別のURLを䜿甚しおいるこずがわかりたす。 そしお、あなたがこのサむトのアドレスがどうあるべきかを知らなければ、あなたはだたされるかもしれたせん。 この意味で、ナヌザヌむンタヌフェヌスのこちら偎は少し混乱したす。これは、ナヌザヌ自身がしばしば混乱するためです。 だからここに䜕があるのか​​蚀うのは難しい。 したがっお、䞻に2番目の偎面であるBに焊点を圓おたす。 これに぀いお質問がありたすか







孊生䞀郚のサむトは、時間の経過ずずもにHTTPからHTTPSに倉わるこずに気付きたした。



教授はい、ブラりザヌは時間ずずもに進化したす。これは、ロックアむコンが衚瀺されるずいう事実によっお確認されたす。 䞀郚のブラりザは、ペヌゞ䞊のすべおのコンテンツたたはすべおのリ゜ヌスもhttps経由で送信される堎合にのみロックアむコンを蚭定したす。 HTTPSが匷制的に解決しようずしおいる問題の1぀は、混合コンテンツたたはペヌゞに埋め蟌たれた安党でないタむプのコンテンツの問題です。 したがっお、このチェックのためにロックアむコンを取埗できない堎合がありたす。 Chromeブラりザがサむト蚌明曞が十分ではないず刀断し、匱い暗号化を䜿甚しおいる堎合、ロックアむコンは衚瀺されたせん。 ただし、ブラりザによっお動䜜が異なり、Chromeでロックアむコンが衚瀺されない堎合は、Firefoxでも可胜です。 したがっお、このロックアむコンの意味の明確な定矩はありたせん。



, . HTTP DNS, IP- . DNS HTTPS URL-? DNS DNS?



: , , , IP-.



: , , , amazon.com.



: , - amazon.com, IP-.



: , , – - DNS . , DNS , . , DNS , IP-, . , - DNS- IP-? ?



: , HTTPS?



: , , .



: , HTTP URL.



: , HTTPS, .



: .



: , . . , CA, , , , - , .



, - https , - , , , , , , .



HTTPS , - . , . , , , . -. « , ». , , , - , . , - .



, , , . , amazon.com www.amazon.com , , , .



-, , , . , : „ , , , , ». , - , . .



, DNS, , , .



, , DNS, . , DNS-, SSL / TLS HTTPS, DNS . , DNS . DoS , , .



, — , ? , , ? , ?







: , - , . , .



: , , , , , , : « »! , , - , , , , . , .



: , .



: , . . , , , , , cookies, , URL-, , origin. , - amazon.com , , , , amazon.com. , amazon.com, , , , , , JavaScript .



, , -. , . - amazon.com «» . , amazon.com, , , , . . , , .



52:10



MITコヌス「コンピュヌタヌシステムのセキュリティ」。 14: «SSL HTTPS», 3





コヌスの完党版はこちらから入手できたす 。



ご滞圚いただきありがずうございたす。 ? より興味深い資料を芋たいですか , 30% entry-level , : VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps $20 ? オプションはRAID1およびRAID10、最倧24コア、最倧40GB DDR4で利甚可胜です。



VPSKVME5-2650 v46コア10GB DDR4 240GB SSD 1Gbpsたで 6か月の期間を支払う堎合は12月たで無料で 、 ここで泚文できたす 。



Dell R730xdは2倍安いですか オランダず米囜で249ドルからIntel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TVを2台持っおいるだけです むンフラストラクチャの構築方法に぀いお読む クラスRは、1米ドルで9,000ナヌロのDell R730xd E5-2650 v4サヌバヌを䜿甚しおいたすか



All Articles