MySQLの透過暗号化対応版が遂にリリース、ただし注意書き有り。

前回、MySQLの透過型暗号化のリリースが、次のメジャーリリースに持ち越されるのではないかと話題にしましたが、その二日後にバージョン5.7.11の新機能としてリリースされました。よく見てみるとマニュアルの紹介ページが変更になっていて、それが原因でリリース時期が変更されたのではないかと勘違いしたようです。大変失礼いたしました。

さて、変更前はTDE(Transparent Data Encryption)という章だったのですが、今回はInnoDB Tablespace Encryptionに変わっていました。つまり、MySQLのInnoDBストレージエンジンに特化した機能であるので、そのように書き直したようです。しかし、そこには大きく目立つように注意書きが添えられています。それは

「これは法規制のコンプライアンスソリューションとして意図されていない。」
そして
「セキュリティ基準を満たすには鍵管理システムの利用が必須」

と明記されています。読者の方はお分かりと思いますが、これは非常に重要なメッセージです。

MySQLほど広く普及しているデータベースが透過型暗号に正式に対応したとなれば、セキュリティ技術に詳しく無い人も多く利用することになるでしょう。その中で暗号鍵の管理の重要性について理解していない人が安易な暗号化を採用しないように釘を差したとも言えます。

マニュアルを見ると鍵管理はプラグイン化されているようなので、今後、商用版のリリースの中で本格的なMySQLの暗号化の鍵管理システムが提供されていくのではないかと思います。それでも暗号化されるのはInnoDBだけですので、まだまだ機能的には不十分です。何が不十分なのかは、次回以降で検証していきたいと思います。

オープンソースデータベースの暗号化対応が本格化

クラウド上でのシステムというのは多くのオープンソースソフトウエアが利用されています。その中でもデータベースはさまざまな情報の保存先として利用されています。オープンソースのデータベースとして世界的にもっとも利用されているのがMySQLですが、暗号化機能は単純な関数だけが用意されているだけという非常に貧弱なものでした。

商用のデータベースではオラクルデータベースがTDE(Transparent Data Encryption)という透過型暗号機能を提供しており、ご利用されている方もいるのではないかと思います。このTDEがついにMySQLにも採用されるようです。

実はこの機能MySQL5.7.11でリリース予定と一部で発表され、その時はマニュアルページも存在したのですが、今年に入り削除されました。おそらくマイナーリリースで発表するには、もったいない機能なので、次のメジャーリリースの発表(おそらく今春)以降に持ち越されたのではないかと想像できます。

いずれにせよ、オープンソースデータベースのMySQLがTDEのリリースを発表すれば、大きくクラウド上のデータ暗号化に貢献することは間違いありませんので、非常に楽しみな機能です。もちろん実際の機能を検証をして紹介していきたいと思います。

JavaScriptで書かれた初のランサムウエア現る

昨年、Linuxで書かれたランサムウエアが登場したとお伝えしました。ランサムウエアとはファイルを勝手に暗号化して、復号化に金銭を要求するマルウエア(コンピュータウイルス)です。前回は設計が不備があり、暗号鍵の場所が判別できたので解読ツールがすぐに提供されましが、今回のランサムウエアはJavaScriptで動作し、もっと高度な設計になっています。

JavaScriptは通常の利用では直接ファイルシステムにはアクセスできません。しかし、今回はNode.jsというサーバサイドでJavaScriptを動かすモジュールが同梱されています。これにより、直接ローカルファイルにアクセスできるようになっています。

さらにやっかいなことに、暗号鍵を匿名通信ネットーワークであるTorを利用して取得し、ファイルをAESで暗号化します。つまり、今回のランサムウエアの作者は暗号技術における暗号鍵の保管場所の重要性を理解しており、外部サーバから暗号鍵を取得する方法を採用しているのです。

こうなってしまうと、攻撃者にお金を払っても元に戻る保証はないわけですから、バックアップファイルを頼るしかありません。通常の暗号化の運用でも、暗号化したファイルが壊れて元に戻せなくなることはありますので、普段からバックアップとリストアの手順を確実なものにしていただければと思います。

MySQL暗号化の実践ウェブセミナー開催

今回、MySQLを暗号化するという大変具体的な目的をもったウェブセミナーを日本オラクル株式会社の協力で開催することになりましたので、ご案内いたします。

■【ウェブセミナー】クラウド・仮想化時代のMySQL暗号化のポイント
http://www.softagency.co.jp/webinar/20160128
主催:株式会社ソフトエイジェンシー 協力:日本オラクル株式会社
事前登録制です。ウェブセミナーですので、インターネットにつながる環境であればどこからでもご参加いただけます。

MySQLはクラウド上のシステムで利用されるデータベースとして大変多く利用されています。ウェブシステムにおけるMySQLは個人情報や取引データなどの重要な情報を保存することも多く最もセキュリティを意識しなければなりません。

コスト削減のために、システムをクラウドへ移動するという流れは、もはや止めることはできません。しかし、クラウド上へシステムを移動することによるセキュリティ上の不安は残ったままです。一番、大きな問題はクラウドが多くのコンピュータで構成されており、データが保存先が不明瞭になることです。

それであればデータを暗号化するということが一つの解決手段となります。本セミナーではMySQLをServer-GENERALで暗号化して、実際にデモンストレーションも行います。

鍵管理、パフォーマンス、アクセス制限、さまざまな問題に直面する暗号化の課題をどう解決しているのか実際にご覧いただける良い機会ですので、ぜひご参加ください。

中国で暗号化解除義務の反テロ法案成立

昨年、フランスのパリで起きたテロ事件以来、暗号化技術が政治的な標的にされる懸念を伝えてきましたが、先月末、こっそりと中国で暗号化解除義務の反テロ法案が成立しました。

「中国だから」と思われるかもしれませんが、中身は前回、英国で審議中と伝えた法案の内容とほぼ同じです。米国は立場上は懸念を表明していますが、米国内で同じことをしようと議論していますので、中国側から逆に「ダブルスタンダード」だと非難されています。

今回の内容は、中国国内の通信会社やインターネットプロバイダーに暗号鍵の提出を求めており、いわゆる当局が通信を傍受するためのバックドアを設けるというものです。

しかし、状況はそんなに単純なものではないでしょう。当局がバックドアを設けていると分かれば、さらにテロ組織の地下活動が増えるだけで、結局、一般ユーザへの監視が強化されただけということになりかねません。(実際は、そちらが真の目的という説もあります。)

そうなると、機密保護のために第三者の影響を受けない自前の暗号鍵管理の技術は今後さらに重要な役割を果たすことになりそうです。プライベート空間での暗号鍵管理を当局が規制することは、かなり難しいでしょうから、今後そのような技術の普及のきっかけとなる出来事になるかもしれません。

暗号化制限法案と鍵管理

現在、英国でモバイル通信の暗号化に制限をかける法案が審議されています。これは以前、ここでもテロ対策と称して当局の暗号化規制が厳しくなる可能性があると取り上げましたが、その流れの中にあります。

一般的に端末同士の通信の暗号化では途中を中継するサーバでは解読できません。しかし、この法案では解読用の鍵を事前に事業者が確保しておくように要請され、必要に応じて当局が利用できることになっています。

プライバシーやセキュリティに敏感な企業、団体は、こぞってこの法案に反対しています。また、事業者が鍵を管理することで当局以外の第三者が悪用する可能性も否定できません。さらに事業者はもともと通信データも保持していますから、他人の鍵とデータを同時に持つということになります。これは暗号化の管理上もっとも危険なことです。

英国だけで法案が成立してしまうとグローバルなサービスを提供する企業にとって余計な負担が増えるという側面もあるでしょう。実際、中国で米国の多くのサービスが利用できないのは、当局の検閲要求に答えるのが難しいからにほかなりません。

当局や第三者が絶対に悪用しないという性善説に立つのは、かなりの楽観主義者でなければ無理でしょう。セキュリティというのは最悪の事態を考えて準備するものなので、安全のためには第三者が鍵とデータを同時に取得できる状況になることは少なくとも避けることが今後も重要になってくることでしょう。

オブジェクトストレージの活用と暗号化

最近、オブジェクトストレージを利用したいというお客様が増えてきました。オブジェクトストレージとは最近の多くのクラウドサービスで提供されるストレージサービスで、一般的には頻繁に利用しないバックアップファイルや、大容量の画像や動画などの保存に向いているとされています。

オブジェクトストレージは、バックエンドのサーバを増やすことで、動的に実質無制限に拡張できるので、保存容量をあまり気にする必要がありません。また、複数のサーバにデータが分散して保存されるので耐障害性が高いのも特徴です。このオブジェクトストレージの一般的な実装では、一つのファイルは3台のサーバに分散して保存されます。これは、データの紛失を防ぐために非常に重要な仕組みで最大2台まで同時にサーバが壊れても復旧できるということになります。

利用者の観点からするとデータ紛失のリスクが少ないことは大変ありがたいことですが、データのコピーが3つもできることはセキュリティ上のデータ漏洩の不安を感じることも少なくありません。クラウド事業者のサーバのオペレーションは基本的に非公開ですので裏でどのようなことが起きているのかは一般ユーザは知るよしもありませんので、それは仕方のないことなのかもしれません。

しかし、実際の業務での利用においては、厳しい目で判断しなければなりません。多少でもリスクがあるのであれば、それを回避する方法を考える必要があります。クラウド事業者側で暗号化の機能を提供している場合もありますが、リスク分散という意味では、独自に保存するデータを暗号化する方が、セキュリティは、より高くなるでしょう。

オープンソースの暗号化と特許

先日、米国企業の大手66社がHTTPSの暗号化の特許を侵害していると訴えられました。このような暗号化の特許に対しての訴訟は最近では非常に珍しいものです。

というのも、ソフトウエア業界では特許による独占の否定的な考え方として、オープンソースソフトウエアが普及してきたからです。

ある会社が、特定のソフトウエア技術で特許を主張すると、それを回避するための別のソフトウエアがすぐに開発され無償で公開されるという繰り返しが行われてきました。

OSではBSDの特許問題を避けるように、Linuxが普及し、画像フォーマットのGIFの特許問題に対してPNGが生まれ普及しました。

オープンスースの暗号化を使うメリットは、公開技術であるがゆえに検証が容易で、特許侵害のリスクが比較的少なく、もし侵害があったとしても代替手段がすぐに提供されるということにあります。

ちなみに、Server-GENERALはオープンソースのecryptfsという暗号化を採用しています。

企業における暗号化ポリシー

企業における暗号化が顧客のデータを守るために使われる場合、暗号化ポリシーの策定は非常に重要になります。

一般的にプライバシーポリシーとして、ホームページ上で顧客情報の取り扱いについて公開する企業が増えていますが、よく似た大雑把な文章が並んでいて、その文章だけで顧客の信頼を得られるのか、怪しくなっています。

もし、顧客データを暗号化しているのであれば、暗号化ポリシーを明確化することで、プライバシーポリシーを強化することができます。
暗号化ポリシーとは、いつどのように暗号化しているのかということを開示可能な範囲で公開することです。また社内のおいても、誰が暗号化されたデータにアクセスできるのかを明確化することで、セキュリティが格段に向上します。

データの暗号化ポリシーを作成することは、顧客の信頼を勝ち取り、社内のセキュリティ意識の向上のために、非常に良い手段となりますので、活用いただければと思います。

暗号化は善か悪か

テロリストが暗号化技術を使っていることが問題になっていることを前回述べましたが、それにより、暗号化技術自体を悪者扱いする論調がアメリカなどで活発になっています。しかし、その議論はほとんどが監視や規制を強化したい当局側の立場のもので、あまり賛同できるものではありません。

そもそも、暗号化技術はプライバシーの保護や、企業秘密の保全などに有用な技術であり、それ自体に善悪があるわけではありません。また、インターネットの商取引などではプライバシーの保護が重要であることは、いまや周知の事実であり、犯罪者から大事な情報を守るために暗号化をすることのほうが、大多数の人にとっては有益なことです。

暗号化にいくら規制をかけても、規制の抜け道はいくらでもありますし、すべてを監視するような非効率で無駄なことにコストをかけずに、テロリストを生まない社会にするための議論を活発にしていただきたいものです。