2

を使用してSybase SQL Anywhere 11います。データベース内のいくつかのテーブルを暗号化する必要があります。私は指示に従い、それを行いました。暗号化キーとAES256_FIPSアルゴリズムで「強力な」オプションを選択しました。しかし、私がそれらについてはっきりしていないことがあります。

  1. データベースを作成し、データベースを削除してデータベースサーバーを起動する場合はencryptonKeyが必要ですが、データベースサーバーを停止し、サーバーに接続してテーブルを作成してデータを追加する場合は、encryptionKeyは必要ありません。接続するとき、またはサーバーを停止しようとするときに、encryptionKeyが要求されないのはなぜですか?私は何か間違ったことをしていますか?

  2. 暗号化をテストする方法がわかりませんか?Sybase Centralツールを使用すると、暗号化されたテーブルにすべてのプレーンテキストが表示されます。誰かがデータベースのユーザー名とパスワードを知っている場合、その人はデータベースに接続し、encryptionKeyなしでコンテンツを読み取ることができます。これは正しいですか?

4

2 に答える 2

2

Sybaseのシステムについて具体的に話すことはできませんが、データベースの暗号化は一般に、データベースのデータへのバックドアアクセスを防ぐためにファイルシステムレベルで暗号化するように設計されています(つまり、RDBMSを経由するのではなく、バイナリファイルを読み取って自分で解析します)。標準のデータベースインターフェイスを介したデータへのアクセスを妨げたり、データを難読化したりしないでください(これを行うには、RDBMSのセキュリティメカニズムを使用することが期待されます)。

于 2010-06-09T15:48:36.367 に答える
0

ほとんどの場合、SQL Anywhereツールは、暗号化キーを最初に入力したとき(つまり、サーバーの起動時)にキャプチャし、他の操作のために復号化するためにメモリに保存します。@Adam Robinsonが言ったように、データはファイルシステムで暗号化する必要があります。そうでない場合は、「アナログソリューション」を使用して、生のファイルを解析するだけでバックドアがあります。これは、2番目の質問に対する良いセグエです...

暗号化をテストする場合は、Sybaseツールの外部でファイルを見つけて開き、識別可能なデータを見つけることができるかどうかを確認してください。文字列の単純なテキスト検索(検索できる一意の文字列を使用してセルを作成する)から始めて、暗号化されたファイルに文字列がないことを確認します。確認するために、暗号化されていないバージョンのデータベースを解析して、そこに文字列が見つかることを確認することもできます。

于 2010-06-09T15:55:43.867 に答える