次の画面はセキュリティに大きく影響します。必ず[Enable encryption]チェックボックスをオンにしてください。単純な暗号化(simple encryption)と強力な暗号化(strong encryption)のどちらかを選ぶことができます。単純な暗号化は、いわゆる難読化のことです。データをプレーンテキストで保存するとデータベースのコンテキストが外部からそのまま見えてしまうので、そのような形で保存しないことで簡単に読み取られるのを防ぐ方式です。しかし、単純な暗号化は鍵を持たないので、簡単に破られてしまいます。強力な暗号化は、接続時に毎回入力しなければならない鍵を利用する方式です。これはAES(Advanced Encryption Standard)という暗号化方式を利用しており、鍵なしで破るのは困難です。強力な暗号化の方を選ぶと、FIPS承認の暗号化を使うかどうかの選択肢が有効になります。ただし、この暗号化を使うには、前に述べたように別途ライセンスとライブラリをインストールする必要があります。ここでは'Strong encryption'と'AES'を選択し、暗号化鍵の値を'secure'としてください。データベース全体を暗号化するか、特定のテーブルだけを暗号化するかを選択できます。
FIPSという略語が2回現れたので、これをもう少し説明しておきます。FIPS(Federal Information Processing Standard: 連邦情報処理標準)は、セキュリティとその実装に関する規格です。証明書はNIST(National Institute of Standards and Testing: 米国国立標準技術研究所)とCSE(Canadian Communication Security Establishment: カナダ通信安全保障局)から提供されます。主に軍事以外の政府機関や政府請負業者によって利用されています。政府と取引のある企業は、このオプションを使うことになるでしょう。
この画面で必要な設定を終えたら、[Next]をクリックして次へ進みます。データベースページサイズは、デフォルトのままでかまいません。[Finish]をクリックします。
データベースの作成が成功すると、次のウィンドウが表示されます。[Close]をクリックして次へ進みます。
Sybase Centralを閉じると、データベースプロセスが自動的に停止します。コンソールからデータベースエンジンを再起動します。使用するコマンドはdbeng11 securedb.db ‐ek "secure" ‐ec tls(tls_type=RSA;certificate=id.pem;certificate_password=pwd)
です。‐ek
スイッチは、データベースエンジンにデータベースを暗号化するよう指示し、暗号化の鍵を指定します。‐ec
スイッチは、データベースエンジンにRSA暗号化TLS(Transport Layer Security)ですべての通信を暗号化するよう指示します。前に述べたように、RSA暗号化では、サーバのIDファイルと鍵ファイルが必要です。
データベースエンジンの起動が成功すると、次のログが表示されます。RSA暗号化とTCPIPが使われていること、この2点に注目してください。データベースは確かにセキュリティ保護されています。
まとめ
本稿では、SQL Anywhere 11のWebサービスに関するセキュリティオプションとプライバシーオプションを取り上げ、証明書を作成してサービスをセットアップするまでの手順を詳しく説明しました。さらに、データベースのストレージを暗号化でセキュリティ保護する手順を具体的に示し、FIPS暗号化の意味を簡単に説明しました。また、簡単なテストの意味で、セキュリティ保護されたWebサービスにMozilla Firefoxでアクセスしました。SOAP Webサービスは、柔軟性を高めることができる優れた方式ですが、完全性を保証する非常に多くのセキュリティオプションがあります。
参考資料
- IBM & Microsoft (Joint). Security in a Web Services World: A Proposed Architecture and Roadmap. IBM developerWorks. [Online] April 1, 2002. [Cited: May 26, 2008.]
- Digital Certificate. Webopedia. [Online] Internet.com, July 14, 2005. [Cited: May 26, 2008.]