MySQLの暗号化機能を活用するための鍵管理入門

2週間後に、このMLでよく話題にする「暗号鍵管理」のウェブセミナーを開催することになりました。今回は、MySQL5.7から機能追加された透過的テーブルスペース暗号化を利用する場合の利点と欠点、そして、どのように鍵管理をすべきかについて具体的な方法をご紹介したいと思います。

インターネットをご利用可能な環境でしたら、簡単に参加可能ですので、お気軽にお申し込みいただければと思います。
http://www.softagency.co.jp/webinar/20170309/

【ウェブセミナー開催概要】
タイトル: MySQLの暗号化機能を活用するための鍵管理入門

MySQL5.7では無料のCommunity版を含むすべてのバージョンでInnoDBの透過的テーブルスペース暗号化機能が利用できるようになりました。しかし、暗号化というものは暗号鍵の管理がとても重要になります。この暗号鍵をどのように管理すればよいのか、実際の動作を確認しながら、Community版でも活用できるノウハウを含めて紹介します。

日時:      2017年3月9日(木)16:00 – 17:00
参加費:     無料(事前登録制)
参加方法:    インターネットに接続可能なPCとヘッドセットをご用意ください。
         前日までに参加するためログインURLをご連絡します。
主催:      株式会社ソフトエイジェンシー
         ( MySQL 5 Specialization認定パートナー )
協力:      日本オラクル株式会社
申し込み方法:  下記、お申込みフォームよりご登録をお願いします。
         http://www.softagency.co.jp/webinar/20170309/
申し込み締切:  2017年3月8日(水)まで
お問い合わせ:  電話: 050-5505-5509
メール:     sales@softagency.co.jp

以上、よろしくお願いします。

Linuxサーバデータ暗号化ソリューション「Server-GENERAL」
http://www.softagency.co.jp/products/server-general/
MySQLのカラム単位で暗号化を実現する「MyDiamo」
http://www.softagency.co.jp/products/mydiamo/
MySQL監査のための操作記録を残せる「MySQL Enterprise Edition」
http://www.softagency.co.jp/products/mysql/#Enterprise

クラウド内の暗号鍵マネジメントは主流になるか

先月、米グーグルはクラウドベースの暗号鍵マネジメントサービス(CLOUD KMS)を発表しました。

暗号鍵マネジメントとは、データを暗号化するときに必要な暗号鍵の「生成」「利用」「ローテーション」「破棄」の暗号鍵のライフサイクルを管理することです。いままでもグーグルは自社のクラウドプラットフォームで暗号鍵の管理ができましたが、ほとんど自動化されていて暗号鍵を意識する必要があまりありませんでした。

しかし、今回のサービスでは、ユーザ側で管理できる項目が増え、暗号鍵の管理に加えて、暗号化と復号化のためのREST APIも提供されています。また鍵のローテーションも自動と任意を選べるようになっています。

そもそも、本気でセキュリティを考える人の中では、鍵管理をグーグルのサービスに依存させることを嫌う人も多いでしょうが、このようなサービスが普及していくことで、暗号化における鍵管理の重要性が話題になり、セキュリティ対策を考えるきっかけになればよいのではないかと思います。

Linuxサーバデータ暗号化ソリューション「Server-GENERAL」
http://www.softagency.co.jp/products/server-general/
MySQLのカラム単位で暗号化を実現する「MyDiamo」
http://www.softagency.co.jp/products/mydiamo/
MySQL監査のための操作記録を残せる「MySQL Enterprise Edition」
http://www.softagency.co.jp/products/mysql/#Enterprise

無料VPNアプリの恐怖

前回、VPNによって通信の暗号化ができるというお話をさせていただきましたが、最近ではスマートフォンでも多くのVPNアプリケーションが提供されています。しかし、スマートフォンでVPNを利用するにはかなり注意が必要なようです。

昨年の8月にオーストラリアのCSIRO(Commonwealth Scientific and Industrial Research Organisation)が発表した論文によると、AndroidのGoogle Playで提供されている283個のVPNアプリのうち18%が実際には暗号化をしておらず、さらに、38%にマルウエアが含まれていました。また、82%が個人情報データへのアクセス権限を要求しているとのことです。中には悪意をもって個人情報を収集していたアプリも存在したということですので、本当に恐ろしいことです。

このように氾濫しているアプリの中から、信頼のおけるVPNアプリを探すのは容易ではないかもしれませんが、少なくとも開発元のホームページなどを確認して、個人なのか法人なのか、オープンソースなのか、他にどんなサービスを提供しているのか、など自分なりの判断基準をもって選択することが必要でしょう。

VPNアプリの場合は、ルータやスイッチなどのネットワーク機器メーカが提供しているアプリは素性がはっきりしているので比較的安心して使えると思います。しかしながら、特定の機種やサービスにしか繋がらないような機能の制約があったりするので注意が必要です。次にオープンソースソフトウエアも選択肢としては良いと思います。人気のあるものは脆弱性の対応も素早いですので、十分実用に耐えることができます。

暗号化の重要度が増すにつれて、詐欺まがいのツールも増えてくると思いますので、そういったものに注意しながらVPNアプリの選択をしていただければと思います。

Linuxサーバデータ暗号化ソリューション「Server-GENERAL」
http://www.softagency.co.jp/products/server-general/

MySQLのカラム単位で暗号化を実現する「MyDiamo」
http://www.softagency.co.jp/products/mydiamo/

MySQL監査のための操作記録を残せる「MySQL Enterprise Edition」
http://www.softagency.co.jp/products/mysql/#Enterprise

VPNと通信の秘密

中国ではグレートファイアウォールというインターネットの検閲システムがあるのは有名ですが、その監視を逃れるためにVPNを使うユーザが多くいました。しかし、最近、中国政府はそれを取り締まるために、無許可のVPNを禁止すると発表しました。どういう場合にVPNが許可されるのかは詳しくは分かりませんが、おそらく政府が必要い応じて検閲できない通信は不許可になるのでしょう。

ちなみに、日本国憲法では、第21条 第2項において
「検閲は、これをしてはならない。通信の秘密は、これを侵してはならない。」
とありますので、VPNに制限はないと考えるのが一般的ですが、実際には犯罪捜査などの名目で警察などによる通信の盗聴等は許可されており、米国のスノーデン事件にも見られるようにインターネット上においても諜報機関が盗聴をしていることが明らかになっており、現状では通信の秘密はかなり侵されています。

VPNとは、そもそもバーチャルプライベートネットワークの略で、通信を暗号化して情報の漏えいを防ぐ技術です。インターネットで利用する場合はインターネットVPNとも呼ばれ、企業間の通信のために専用線を使わずに安価なインターネットを利用することでコストを削減し、安全な通信を実現しています。

では、なぜ暗号化しているのに盗聴が可能になるのでしょうか?
盗聴が簡単なのは、サーバを経由する通信です。通常はサーバ内では必ずデータは復元されていますので、盗聴はとても簡単になります。捜査機関がサービス事業者に協力を依頼するのはそのためです。SNSなどのサービスは必ず事業者のサーバを経由しますのでこれはとても簡単になります。

しかし、サーバを経由しないピアツーピアと呼ばれる1対1のVPN通信では、かなり盗聴は難しくなります。それを盗聴するには通信の暗号鍵が入手できないと不可能ですので、そのような暗号鍵を入手できるバックドアがないと中国ではVPNを利用できなくなるのかもしれません。

データセキュリティライフサイクルと暗号化

ライフサイクルとは、一般的にはある商品を生命に例えて、「導入」「成長」「成熟」「衰退」という4段階をたどるとするものです。期間の長短はあると思いますが、ほとんどこのライフサイクルに当てはめて考えることができます。

データに関しても同様のライフサイクルがあります。CSA(クラウドセキュリティアライアンス)の作成したガイダンスによると
「作成」「保存」「利用」「共有」「アーカイブ」「破棄」
の6段階となります。このライフサイクルは必ずこの順番になるという意味ではなく、これらの状態を行き来するとされています。そして、これらのあらゆる段階で暗号化を利用することが推奨されています。

最近はストレージの単価が安価になったことにより、データを破棄するということが、ほとんどありません。データを破棄するためには将来的にデータを再利用することがないことを十分に検討しなければなりませんが、そのような合意形成をすることは難しいので、「アーカイブされたあと最終アクセスから○年以上経過後に強制的に破棄する」というようなルールを決める場合も多いようです。

データを長期に渡って保存する場合、従来はどのようなメディアに保存するかが重要でした。保存したメディアが将来において読み出せるかどうかわからないからです。テープやフロッピーディスクもほとんど使われなくなり、バックアップもUSBメディア、外付けHDDやNASに置き換わっていきました。そして、今ではクラウド上でオブジェクトストレージが容量制限なしで利用できます。これらも10年後、20年後に利用可能か誰が予測できるのでしょうか?

そうなると、長期保存で一番重要なのは、実はデータを複数の方法で保存することなのです。あらゆる商品やサービスにライフサイクルがあるのであれば、将来何が生き残るかは予測はできません。複数の方法でデータを保存してあれば、すべてが読めなくなるリスクは減らすことができます。

暗号化も同様です。過去に暗号化したファイルが必ず復元できる保証はありません。共有ディスクに保存された暗号化ZIPファイルを開けようとしてパスワードを忘れてしまったことはありませんか? ZIP程度なら解析可能ですが、これが高度な暗号化ソフトを使っていたらどうでしょう?

データセキュリティライフサイクルにおいて「破棄」をしないということは、逆に破棄しない限り、安全にデータを取り出せなくてはいけません。つまり、データが「破棄」されない世界では、さらに暗号化の重要度は増していくことになるでしょう。

暗号化とバックドア

バックドアというと「裏口」という意味ですが、暗号化の分野でのバックドアは、暗号化した本人以外の者が復号化できることを表します。例えとして、マンションの住居の鍵をマンションの管理人も鍵を持っていて、住人でなくても自由に出入りできるというようなイメージになります。この場合、管理人が善良な第三者であれば、緊急時の解錠に対応できますが、もし管理人が悪意を持っていればプライバシー侵害や盗難の被害に遭う可能性があります。

暗号化にバックドアが必要かどうかは常に議論の対象です。暗号化の仕組みに詳しくない人が暗号化サービスを利用すると、暗号鍵を紛失したり、解除のパスワードを忘れたりするので、サービス事業者は顧客サービスの一環として直接又は間接的な方法で暗号鍵を復活したり、パスワードを解除できる方法を提供することがあります。しかし、通常はこのようなバックドアが無いので、暗号鍵の紛失やパスワード失念すると二度とデータを復元できません。

厳しい目で見ればバックドアは常に悪意ある攻撃の対象となる可能性があります。バックドアがあると分かれば、攻撃による情報漏えいのリスクは高まるので、理想を言えばバックドアが無いことが望ましいのですが、データ紛失の危険や、利便性を考えて、何重にもセキュリティロックがかかった状態でバックドアを利用するというのが現実的かもしれません。

さて、それとは別に米国FBIは犯罪捜査のために暗号化にバックドアの設置を義務付けるように法整備を求めています。米議会の暗号化ワーキンググループが昨年末にこれを議論した報告書では、暗号化のバックドアは利点よりも害のほうが多いとしています。それは通常のプライベート環境の暗号化のバックドアと違い、影響範囲が大きく、暗号化の本来の目的が薄れていくことになります。また、これは先に述べたようなユーザの利便性のためのバックドアではないですので、公的な機関による安易なバックドアの設置は格好の攻撃者の餌食となり、プライバシー侵害や機密情報の漏洩といった被害に直結する可能性が高くなります。

暗号化では常に機密性と利便性を考慮しながら利用を検討しなければなりません。利便性を重視しすぎてそれがバックドアとなり、悪意ある攻撃者に利用されないように注意していただければと思います。

報道の自由と暗号化

先週、「Freedom of the Press Foundation(報道の自由基金)」は世界の主要なカメラメーカーに対して、カメラ機器に暗号化機能を搭載するように要望しました。これは現在のカメラにまったく暗号化機能がないので、ジャーナリストやカメラマンが機材を押収されたり、発表をしないように脅されたりする危険があるため、暗号化やロックができればジャーナリストや機材の安全性が高まるとしています。

この要望書に署名した人たちの中には映画「シチズンフォー スノーデンの暴露」の監督など、国家権力と対立することを厭わない人たちですので、彼らにとって、データの安全と身の安全は切っても切り離せない事案なのです。

さて、技術的な面から考察すると、カメラ内のデータを暗号化することは、そんなに難しいことではないでしょう。しかし、それでデータが安全かと言われると、iPhoneのロックがFBIに解析されてしまったように、適切な暗号化をしないと簡単に解読されてしまいます。

では、例えばこのような秘密を保持したいジャーナリスト向けのカメラの暗号化はどのようなものが理想でしょうか?
具体的には次のようなものになればよいのではないかと思います。

1)秘密鍵と公開鍵を作成する。
2)秘密鍵は自宅又はオフィスで保管する。
3)公開鍵をカメラに持たせて撮った瞬間に画像を暗号化する。
(この場合撮ったらその場での画像確認は不可能)
4)自宅又はオフィスの戻った時に秘密鍵でデータを復号化する。

このように公開鍵暗号方式を用いれば、公開鍵は暗号化するときだけに、秘密鍵は復号化するときだけにと使い分けができるので安全なカメラ機器が作れることになります。

しかし、これでは撮ったその場では確認できないような「デジカメ」になるので、一般には全く売れないような気がします(笑)。
ジャーナリストのための暗号化カメラを作るメーカが現れたら、その実装方式が本当に安全かに注目しましょう。

今年はこれで最後の記事です。来年もよろしくお願いいたします。

暗号化で個人情報漏えいの報告義務が変わる?

個人情報漏えいの事件や事故が起きた場合、事業者は関係機関への報告が義務付けられていますが、その義務が少し緩和されようとしています。

先週、内閣総理大臣の所轄する行政委員会である個人情報保護委員会は「個人データの漏えい等の事案が発生した場合等の対応について(案)」に関する意見募集を開始しました。この中で個人情報の漏えい事故の起きた場合の報告義務に関して新たな指針を示しています。

それは、「実質的に個人データ又は加工方法等報が外部に漏えいしていないと判断される場合」には報告しなくてよいということです。

報告の必要のない例のひとつとして、
・漏えい等事案に係る個人データ又は加工方法等情報について高度な暗号化等の秘匿化がされている場合
というのが記載されています。

簡単に言えば、「暗号化されて解読が困難であれば個人情報の漏えいは報告しなくてよい」とするつもりのようです。
その他にも、実質的に第三者の閲覧がないと見なせる場合もいくつか例として挙げられており、今までのすべてを報告しなければならない状態から緩和されるようです。

しかし、事故の報告が必要がないとされる「高度な暗号化」とは、いったいどのようなものなのでしょうか?

それはまだ、具体的には示されておらず、今後どのようなガイドラインが示されるのかに注目です。厳密に言えば暗号化されていても、情報の漏えいには違いはないと思うのですが、この暗号化による報告義務の緩和により、暗号化の採用が進むのであれば、それはセキュリティの向上に寄与するものになるかもしれません。

自動運転車のガイドラインと暗号化

世界中で自動運転車の開発が活発に行なわれるようになり、実用化が目の前に迫っています。特に安全性の議論が活発に行なわれていて、自動運転車へのサイバー攻撃に対して、システムとデータの保護が不可欠であるとして、日本とドイツが中心となって国連の分科会で自動運転車の基本的な考え方のガイドラインがまとめられました。

このなかでもデータと通信の暗号化は世界標準のものを用いることが推奨されており、今後の自動車産業にも大きな影響を与えるものと思われます。今でも、自動車は十分に電子化されていますが、あくまでもドライバーの運転を補助するため機能でしたので、暗号化の必要性というのはありませんでした。しかし、外部の情報と連携して自律的に動作する自動運転者は常にハッキングと戦わなければなりませんので暗号化が必須とされたのです。

また、それだけが問題ではありません。

自動車はマイクロ秒単位で制御が求められるリアルタイムコンピューティングという特殊な世界です。Windows、Mac、iOSやAndroidといった私たちが考えている一般的なコンピュータのように、すこし反応が遅くても気にしないというわけにはいかないのです。このような世界で処理に負荷のかかる暗号化に求められる性能はとても厳しいものになります。

暗号化のICチップも多く発表されるようになりましたし、この自動運転車の暗号化のガイドラインが今後どのように具体化されていくのか注目していきたいと思います。

無料の暗号化システムを活用するポイント

クラウド上でのシステム構築にあたって、大事なデータを暗号化したいという要望は非常に増えてきました。そのとき、できるだけコストを抑えて実現したいということはあると思います。最近ではオープンソースソフトウエアのデータベースであるMySQLが標準で透過的暗号化をサポートし、無料で利用できるようになったということで、大きく注目されています。

しかしながら無料のシステムには、常に不安がつきまといます。特に暗号化というものは、暗号鍵を盗まれないようにすることが大事であり、無料のシステムはその配慮が欠けているからです。例えば一般的な暗号化のアプリケーションは以下のような動作をしています。

1)アプリケーションの起動
2)暗号鍵を指定場所からメモリ内へ読み込み
3)暗号鍵を使ってデータ処理

これが一般的な動作ですが、この動作で問題なのは2)の部分です。暗号化の処理をするためには暗号鍵が必要になりますが、無料のアプリケーションでは暗号鍵を認証なしで読み込み、保存場所も保護されていません。これでは簡単に暗号鍵が盗まれてしまいセキュリティ上問題があります。

単純にこれを解決する方法として、アプリケーション起動後に暗号鍵を削除するという方法があります。この場合、アプリケーションが起動後に暗号鍵をメモリ上に取り込みキャッシュするような作りであれば、問題なく動作します。もちろん、次回起動時には暗号鍵が必要になりますので、バックアップから暗号鍵を元に戻さなくてはなりません。

つまり、暗号鍵の場所が明確であり、暗号鍵が起動後にメモリ上にキャッシュされるようなアプリケーションであれば、自分で暗号鍵管理をすることで簡単にセキュリティを向上させることができるということになります。また、暗号鍵の保存フォルダの部分に別途商用のフォルダ暗号化ソフトウエアを使って暗号化することで、無料のアプリケーションの暗号化機能をより安全にコストを抑えて使うことができます。

いずれにせよ、無料の暗号化システムはご使用前にその構造を詳しく理解して、暗号鍵の安全性を確かめていただければと思います