SQL Server 2016の新しい概念として、北川氏は「Always Encrypted」(常に暗号化)も挙げました。これは、「オンプレミス環境でもクラウド環境でも、ストレージ上、メモリ上、ネットワーク上でも、常にデータを保護する技術」と説明しています。サーバ上のデータはいかなる場所、いかなる段階でも暗号化された状態となり、データが読めるのは許可されたユーザーのみとなります。
サーバにあるデータはさまざま状態があります。「データ暗号化」というと一般的には、ストレージに保存されたデータや、ネットワークで通信中のデータに施されると想像します。当然これらもそうですが、それだけではありません。バッファプールなどのメモリ上にあるデータはどうでしょう。このように、データが暗号化されていない“状態”も多いそうです。
そこでSQL Server 2016は、ストレージだけでなく、メモリ上にあるデータも暗号化するのが標準仕様となります。例えば、ある担当者がマイナンバーを検索ワードに情報を探すシーンがあるとします。検索文字列はクライアント側で暗号化され、ネットワークを経由してサーバに投げられます。サーバ内のデータも暗号化されていますが、暗号化されたまま合致したものが検索結果としてヒットします。ヒットしたデータは暗号化されたままユーザーの端末まで送られ、ユーザーが閲覧する段階で初めて復号されるという流れです。ユーザーのアプリケーション環境以外は暗号化が施されているため“Always Encrypted(常に暗号化)”ということになります。
最後におまけです。2016年3月7日、マイクロソフトは「SQL Server on Linux」を発表しました。Windows Serverではなく、Linuxで動くマイクロソフトのデータベース製品だなんて、データベースウォッチャーとしても衝撃が走りました。
しかし、技術的には想像するほど困難ではありません。なぜならば、SQL Serverには内部に「SQL OS」と呼ばれるOSに近いことを行う層があるからです。その上位にリレーショナルデータベースとして働く層があります。
今回発表されたLinux版は「SQLOS」部分をLinuxに対応することで実現するのでしょう。報道によると、Linux版SQL Serverの正式公開は来年2017年中盤を予定しているそうです。今後も詳細を追っていきたいと思います。
Copyright © ITmedia, Inc. All Rights Reserved.