「セキュリティ」ず䞀口に蚀っおも、セキュリティベンダヌだけではなく、さたざたなベンダヌが、DoS攻撃からマルりェアによる攻撃たで、さたざたなサむバヌ攻撃ぞの察策補品を提䟛しおいたす。この連茉では、ネットワヌクベンダヌから芋たセキュリティの珟状を解説しおいきたす。第1回のテヌマは「SSL」における問題点です。

SSLが増えるWebの䞖界

よく知られおいるように、WebブラりザずWebサヌバ間で通信を暗号化し、盗聎や改ざんを防止する技術がSSLです。

SSLを䜿甚する際は暗号化凊理が必芁になりたすが、CPUに倧きな負荷がかかりたす。HTTPSでWebペヌゞにアクセスした堎合、画像を含め、すべおのコンテンツが暗号化されおから転送されたす。そのため、トラフィックが増えれば増えるほど、Webサヌバに䞎える負荷も増倧したす。

最近ではサむト党䜓の安党性を確保するため、すべおのペヌゞをSSL化する「垞時SSL」に螏み切るサむトも増えおいたす。Googleが2014幎8月に「SSL化されたWebサむトをSEOの評䟡ずしお優遇する」ず公匏に発衚したこずも、垞時SSL化ぞの動きを埌抌ししおいるず蚀えたす。垞時SSL化が進めば、凊理負荷の問題はさらに倧きくなるでしょう。

WebサヌバにおけるSSLの暗号化凊理負荷は、暗号鍵の長さが短かった頃は我慢できる範囲の凊理負荷だったず蚀えたす。しかし2004幎8月に、NIST(National Institute of Standards and Technology:アメリカ囜立暙準技術研究所)の瀺したガむドラむンが、状況を倧きく倉化させたした。

その内容は、「これたで䜿甚されおきた暗号鍵は1024ビットだったが、1024ビットのたたでは安党性を確保するこずが難しい。1024ビットの暗号鍵は䜿甚期限を2010幎にすべき」ずいうものです。これは「暗号アルゎリズムの2010幎問題」ず呌ばれおいたす。

暗号鍵の2048ビット化で顕圚化したSSLのパフォヌマンス問題

NISTによる勧告を受け、珟圚は2048ビットの暗号鍵によるSSLが䞀般的になっおいたす。では、暗号鍵長が1024ビットから2048ビットになるこずで、凊理負荷はどれだけ倧きくなるのでしょうか。「ビット数が2倍だから、負荷も2倍になる」ず思われるかもしれたせんが、実はそうではありたせん。

SSLパフォヌマンス
䞀般的なハヌドりェア
鍵長 32bit 64bit
1024 525 TPS 1570 TPS
2048 96 TPS 273 TPS
4096 15 TPS 38 TPS

䞊の衚は、2010幎問題が改めおクロヌズアップされた2011幎1月に䜜成されたものです。䞀般的な64ビット・サヌバでSSLを凊理した堎合、暗号鍵長が1024ビットのケヌスでは1570 TPS(Transactions Per Second)、2048ビットのケヌスでは273 TPSであるこずが瀺されおいたす。぀たり暗号鍵長が2倍になるこずで、凊理負荷は玄6倍になっおいるのです。

この衚が䜜成されおから玄5幎が経過しおおり、CPUの凊理胜力も向䞊しおいたす。今幎9月2日に独ベルリンで開催された䞖界最倧玚のコンシュヌマヌ ゚レクトロニクス ショヌ「IFA 2015」でむンテルが行った発衚では、ベンチマヌク スコアはこの5幎間で「2.5倍になった」ずうたっおいたす。しかし、この数字を先ほどの衚ず照らし合わせるず、暗号鍵の2048ビット化に䌎う凊理負担増加が、この5幎間で実珟したCPU性胜向䞊ではカバヌできおいないこずになりたす。

SSLの暗号化凊理をWebサヌバごずに凊理すれば、本来のWeb凊理に費やすべきリ゜ヌスがSSL凊理に割り圓おられるこずになり、パフォヌマンスは䜎䞋したす。凊理速床の䜎䞋を補うには、より高速なサヌバを䜿甚するか、サヌバの台数を増やしお負荷を分散するしかありたせん。぀たり、WebサヌバでSSLを凊理するこずは、䞍経枈な遞択ずいうこずになるのです。

WebサヌバでのSSL凊理は運甚面でも䞍経枈

WebサヌバによるSSL凊理の䞍経枈性は、パフォヌマンスの䜎䞋だけではありたせん。

SSL凊理を行うにはSSL蚌明曞の実装も必芁です。蚌明曞をただ"眮く"だけではなく、有効期限も適切に管理した䞊で、必芁に応じお曎新するずいう䜜業も必芁になりたす。これを倚くのWebサヌバで行うには、倧きな運甚負担ずなり、芏暡が増倧するほど、負担も环積的に増倧したす。これに加えお、システムに実装する暗号鍵の数が増えれば増えるほど、管理䞊のセキュリティ確保にも負担がかかりたす。

1台のサヌバで耇数のドメむンを運甚する「バヌチャルホスト」では、原則ずしおSSLが䜿えないこずにも泚意が必芁です。SSLではHTTPヘッダが暗号化されおいるため、「クラむアントがどのホスト名を芁求しおいるのか」を刀断できたせん。

この問題の解決策ずしおは、SSL/TLSの拡匵仕様の1぀であるSNI(Server Name Indication)を掻甚する方法があり、バヌチャルサヌバでもSSLが䜿えるようになりたす。

ただし、泚意するポむントずしお、「SNIを䜿甚する堎合にはWebサヌバ偎だけではなく、Webブラりザ偎の察応も必芁」ずいうこずが挙げられたす。SNIは比范的新しい拡匵仕様のため、察応しおいないWebブラりザも少なくありたせん。

セキュリティが逆に䜎䞋する危険性も

WebサヌバのSSL凊理に぀いお、䞍経枈性に䌎うパフォヌマンスの䜎䞋や運甚管理面でのデメリットを挙げたしたが、それ以倖にも問題点がありたす。

䟋えば、Webサヌバずむンタヌネットの間に、IDSやIPSなどのいわゆる「ディヌプ パケット むンスペクション」を行う、セキュリティ・アプラむアンスを蚭眮するケヌスがありたす。しかし、SSLのトラフィックは暗号化されおいるため、これらのアプラむアンスではパケットの䞭をチェックできず、本来の機胜が果たせたせん。同様の理由から、ゲヌトりェむ型のアンチ・りィルス補品でもマルりェアの怜出が䞍可胜になりたす。

解決策は、「すべおのWebサヌバの暗号鍵をアプラむアンスに展開し、トラフィックの解読ず再暗号化をアプラむアンスで行う」ずいう方法が挙げられたすが、圓然ながらパフォヌマンスは倧幅に悪化しおしたいたす。

問題に察する根本的な解決策ずは

これらの䞍経枈性やリスクはどのように回避すべきなのでしょうか。根本的な解決策は、最もむンタヌネットに近い境界郚分に、SSL凊理を集䞭的に行う仕組みを蚭眮するこずです。

これにより、Webサヌバの負荷増倧を回避でき、暗号鍵の展開・曎新に必芁な運甚負担が軜枛されるずずもに、暗号鍵が増えるこずによるセキュリティのリスクも回避されたす。

たた、この仕組みの内偎に、先ほど挙げたセキュリティ・アプラむアンスを蚭眮すれば、暗号化によっおパケットが隠蔜されないため、本来の性胜を発揮できたす。

「SSL凊理はWebサヌバで行うもの」ずいう"思い蟌み"は、早く捚お去るべきなのです。

著者プロフィヌル

䌊藀 悠玀倫(いずう ゆきお)
F5ネットワヌクスゞャパン
セヌルス゚ンゞニアリング本郚
プリセヌルスコンサルタント

UNIXサヌバヌ、ストレヌゞ、シン・クラむアントずいったむンフラ゚ンゞニアを経お、F5ネットワヌクスゞャパンぞ2012幎に入瀟。
珟圚はセキュリティ・クラりドをキヌワヌドにむベント講挔やハンズオンラボを行い、F5゜リュヌションの啓蒙掻動に奮闘䞭。
最近はOpenStackやIoTずいったキヌワヌドを䞭心に連携゜リュヌションを暡玢しおいる。