2016-11-17 6 views
0

私は現在、データベースの暗号化が組み込まれていないMySQLデータベースを持っています。私は暗号化が利用可能であることを認識していますが、私が使用しているインスタンスサイズについてはAWS RDSでは利用できません。MySQLのすべての値を暗号化することは理にかなっていますか?

代わりに、AWS KMS(基本的に標準のハッシュ暗号化)を使用して、すべての単一の値をハッシュしてからデータテーブルに入力する予定です。私はHIPAAに準拠する必要がある機密データを扱っています。

私の質問は、値をハッシュすることによって、本質的には無用のクエリをレンダリングすることです。さらに、その場合、すべての値(ファーストネーム、ラストネーム、DOBなど)をハッシングするか、行全体を単一のJSON文字列として扱うか、それをハッシュして単一カラム)。

誰かがHIPAA /機密データを使用してアプリケーションレベルで暗号化してMySQLに保存した経験があれば、何かお勧めします。

+0

すべてを暗号化するのは少し過度で、私はそれがHIPPA要件ではないと思います。また、すべてのユーザー情報を暗号化されたJSONに入れることはありません。その方法では検索が少し遅くなるのは、姓を検索するために各行の暗号化を解除して比較を行い、各行に多くの情報が含まれている可能性があります。 – CptMisery

+0

@CptMiseryうん、それはまさに私が考えていたものです。私はよりよいアプローチがあるはずだと思います。 –

+0

うん。私は最良の方法が何であるか分かりませんが、MySQLの暗号化/復号化機能は使いやすく簡単に実行できます。私はSSNとクレジットカード情報のためにそれらを使用しました。だからあなた自身のサーバーやより良いAWSを得ることは良い考えです。 – CptMisery

答えて

1

私は過去にいくつかのHIPPAプロジェクトに取り組んできましたが、私は専門家ではありません。 HIPAAにはあなたが考慮する必要のある多くのコンポーネントがありますので、非HIPPA固有のものとして以下を取ってください。

完全なディスクとデータベースの暗号化を使用して独自のリレーショナルDBサーバーを操作することを検討します(とにかくJSON文字列を使用することができれば)Dynamo DBのようなNOSQL DBを使用します。

最後に私が取り組んだプロジェクトでは、暗号化されたリレーショナルDBにデータを保存し、それをロックしました(私たちはセキュリティエンジニアを雇っていました)。

私はあなたが https://d0.awsstatic.com/whitepapers/compliance/AWS_HIPAA_Compliance_Whitepaper.pdf

だけでなく、DynamoDBのでPHIを管理するため、このツールは、このリンクが役立つかもしれませんが、可能であればそれが追加された複雑

最後につながるとして、アプリケーションレベルで暗号化を回避しよう https://github.com/awslabs/aws-dynamodb-encryption-java

+0

私はここで皆が慣れ親しんでいるという理由だけで、MySQLを使って作業することをお勧めします。私たちはおそらくデータについてたくさんの質問をしています。私はリンクを見て、追加された暗号化オプションのために大きなRDSのインスタンスサイズに行くだけの価値があるようです。私はMySQLサーバーを起動して自分でそれを暗号化するのは間違いです。 –

0

私はDB暗号化コンサルタントとして働いていますが、あなたの場合は、列ベースの暗号化ソリューションを使用することをお勧めします。こうすることで、どの列に機密情報が含まれているかを選択したり、列固有のenc/decとアクセス制御ポリシーを定義したり、各列に異なるキーを割り当てることができます。

MySQLを使用しているので、MyDiamoをチェックアウトしたい場合は、ソリューションの試用版ライセンスがあります。私は、クライアントがHIPAAのコンプライアンスを具体的に目標としていた場合(KMSソリューションが本当に完全に準拠する必要がある場合)に展開しました。ソリューションのセキュリティエージェントはDBエンジンにあり、CLIが管理に役立ちます。

関連する問題