[PHP-users 23758] Re: DB の暗号化について

Tomoyuki Asakawa tom @ asakawa.ne.jp
2004年 11月 30日 (火) 08:15:45 JST


あさかわ

> 単なる興味からではなく、仕事でという前提ですが、ちょっと違う観点で。
> まずは、データベース自体を暗号化することで、
> 1.どういう脅威から
> 2.何を守ることができるのか
> を考えるべきかと思いますが。

とは、思うのですが、どうもそういう観点から考えられない人たちが世の中にいるので
こまっています.

> 個人的な経験では、データベース自体の暗号化が必要/有効なケースというの
> は、世の多くのエンジニアは出会うことはないように思います。
> すくなくとも、ショッピングサイトの顧客情報の保護に必要/有効だとは(僕に
> は)思えないです。

「必要」なケースはごろごろあります.(なぜ必要なのかが別ですが)
しかし、「有効」だとは思えないですね.

> データベース自体を盗まれてしまう可能性が高いなど、ちょっと想定しにくい前
> 提があっても、例えば公開鍵暗号方式で防げるとは思えませんね。
> 必要なときに秘密鍵はどこからどうやって持ってくるの?データベースと同様か
> それ以上に厳重に秘密鍵を守らないといけないですよね。データベースが盗まれ
> てしまう可能性が高いのに秘密鍵は大丈夫という前提は難しいのでは?

ということが、わからない人がおおいみたいですよ、
技術者なら、ちょっと考えればDBの暗号化が、DBを利用することに矛盾するという
ことに気がつくはずなのですが.

技術者じゃない人どころか、技術者でも
特に,困るのが、エセコンサル屋ですね.
なんでもかんでも、FWを置け,SSLを使え,暗号化しろ.
ほとんどワンパターンです.

> 手軽なデータベース暗号化のソリューションが世の中に見当たらないというのが
> 僕の認識ですが、それで困るケースというのがほとんどない、ということの証明
> でもあると思っています。

「暗号化」というと、シロートさんは、安心してしまうのです.というより
「暗号化してない」というと、不安になってしまうのです.

とくに、個人情報保護法なんてのがあるので
暗号化してますというと、それでOKになり
してませんというと、それで駄目になるのです.

> 実は、僕にはデータベースの暗号化が有効なケースというのを想像できないので
> すが、なにか説得力のあるケース/理由があれば知りたいと思います。

わたしも、データーベースの暗号化が有効だとは思えないのですが
暗号というと何か凄いものだと思いこんだ人たちには
有効ではないという理由を、いくつ並べても,理解できないみたいです.
コンサル屋さんも、必要とさえ言っていれば,お金になるし、
ベンダーも、そうやって、見積もりをつり上げれば利益になるという
構図が、DBを暗号化しないとならないという常識にしてしまうみたいです.

エセコンサルから最近言われた極端にアホな例は

+---------------+
| ファイヤーウオール |
+-------+-------+
         |
+-------+-------+
| ロードバランサー   |
+-------+-------+
                |
               +--------------------------+---
                |                          |
+-------+--+               +-------+---+
|WEBサーバ   |  - - - - - -  |WEBサーバ  n |
+----------+               +-----------+
                 |                          |
               +--------------------------+---
         |
+---------------+
| ファイヤーウオール |
+-------+-------+
         |
+-------+-------+
| ロードバランサー   |
+-------+-------+
                |
               +--------------------------+---
                |                          |
+-------+--+               +-------+---+
|DBサーバ    |  - - - - - -  |DB サーバ  n |
+----------+               +-----------+

で、DBサーバは暗号化しなさい.

なのです.

そもそも、80番ポートしか空いてない、WEBサーバの前に80番だけ通すFW置く意味はないし、
マルチホームな、WEBサーバの、プライベートセグメントに、さらに、DBのポートをあけた
FWを置いても仕方が無い.

ところが、1段でも、関所が多い方が,安心
というのですよ、エセコンサル屋は.

もちろん、FWも、ロードバランサも、壊れたら困るから2重化です.




PHP-users メーリングリストの案内