sql >> データベース >  >> RDS >> MariaDB

データベースの暗号化:データの暗号化が必要な理由と場所

    データベースの暗号化により、保存中および転送中のデータのセキュリティが強化されます。多くの組織は、最近のセキュリティ侵害の事例でデータ暗号化を真剣に検討し始めています。ほとんどの場合、データベースサーバーは、ほとんどの組織にとって最も価値のある資産を保持しているため、攻撃者の一般的な標的になります。侵入者がサーバーから貴重なデータにアクセスできるようになると、侵入者がサーバーからデータを盗む可能性があります。次に、攻撃した組織からの身代金、データの悪用、またはその他の金銭的利益のためにデータを使用します。

    このブログでは、データベースの暗号化が重要である理由と、データの暗号化がデータベースの保護に重要な役割を果たす方法について説明します。

    データベース暗号化が必要な理由

    データベースの暗号化は、アルゴリズムを使用してデータベース内のデータを「暗号文」(読み取り不可能なテキスト)に変換するプロセスです。テキストを復号化するには、アルゴリズムから生成されたキーを使用する必要があります。データベースの暗号化プロセスは、特に金融、ヘルスケア、または電子商取引を扱う企業に強くお勧めします。最近、サイバー攻撃、データの盗難、またはデータ侵害が横行しています。したがって、個人データに対する懸念が高まっています。人々はデータのプライバシーとセキュリティを非常に認識しており、必要な場合にのみデータを保護して使用することを望んでいます。データベースを暗号化することのいくつかの良い利点は次のとおりです。

    セキュリティ攻撃を回避する

    セキュリティ攻撃は避けられませんが、セキュリティとデータ暗号化の方法が優れているため、侵入者はデータ侵害のデータをさらに理解するために分析または復号化できない可能性があります。サーバー間のバックアップまたは転送中に、中間者(MITM)攻撃または盗聴が発生しているとします。これが暗号化されていないデータ転送である場合、攻撃者にとって間違いなく有利です。自分の環境で望んでいる状況ではありません!

    暗号化されたデータベースがある場合、攻撃者は暗号化されたデータを復号化する方法を見つける必要があります。それらがどこまで進むことができるかは、暗号化されたデータを生成するために適用される暗号の複雑さとアルゴリズムに依存します。また、攻撃者は暗号化キーにアクセスするために最善を尽くし、金の採掘と同様に、ボールトを開いたり、暗号化されたデータを復号化したりします。結局のところ、データは最近の新しい金です。この種のデータ侵害の試みを回避するには、可能な場合はサーバーへのアクセスを制限するなど、あらゆる方法でインフラストラクチャを保護することが重要です。

    セキュリティ規制への準拠

    PCI-DSSなどのセキュリティ規制に対処する場合、暗号化は最も重要な要件の1つです。これは必須の要件です。たとえば、すべてのカード会員データは、業界で認められているアルゴリズム(AES-256、RSA 2048など)を使用して暗号化するか、切り捨てるか、トークン化するか、ハッシュ化する必要があります(FIPS 180-4で指定されている承認済みハッシュアルゴリズム:SHA-1、SHA-224、 SHA-256、SHA-384 SHA-512、SHA-512/224およびSHA-512/256)。データを暗号化するためにカバーするのはそれだけではありませんが、PCI-DSSには、PCI-DSS暗号化キー管理プロセスの使用についてもカバーする必要があります。

    機密データの保護

    暗号化キー管理は、一元化されたキー管理とデータ暗号化用のシンプルなAPIを使用して、機密データを保護するのに理想的です。これらのキー管理の例としては、Hashicorp Vault(オープンソース)を使用するか、パブリッククラウド(クローズドソース)を使用している場合、最も一般的なクローズドソースキー管理はAmazon Web Service(AWS)キー管理サービス(KMS)、Google Cloud KMS、 Microsoft AzureKeyVault。

    データ暗号化とは何ですか?

    暗号化は、データを可能な限り安全に保つための最も重要なセキュリティ機能の1つです。処理するデータによっては、必ずしも必須ではありませんが、少なくとも組織のセキュリティの向上を考慮する必要があります。実際、データの盗難や不正アクセスを避けることをお勧めします。

    データの暗号化は、データをエンコードするプロセスです。これは主に双方向の機能です。つまり、暗号化されたデータは有効な暗号化キーを使用して復号化する必要があります。暗号化は、暗号化のそのような手法の1つです。暗号化は、ランダムなデータのように見えるように情報を変更することで情報を隠す方法です。暗号化の方法では、データ(メッセージなど)の機密性を高めることができますが、同時に、整合性と信頼性を提供するには、他の技術と戦略が必要です。メッセージの。暗号化は数学的な操作です。

    データベースの暗号化には、データの暗号化に関して2つの基本的なタイプがあります。これらの暗号化タイプは、保存データと転送中のデータです。それらの意味を見てみましょう。

    保存データの暗号化

    システムに保存されているデータは、保存データと呼ばれます。このデータの暗号化は、アルゴリズムを使用してテキストまたはコードを変換し、読み取り不能にすることで構成されます。暗号化されたデータをデコードするには、暗号化キーが必要です。

    データベース全体の暗号化は、パフォーマンスに深刻な影響を与える可能性があるため、注意して行う必要があります。したがって、個々のフィールドまたはテーブルのみを暗号化することをお勧めします。保存データを暗号化することで、ハードドライブの物理的な盗難や不正なファイルストレージアクセスからデータを保護します。この暗号化は、特にファイルシステムに財務データまたは健康データが保存されている場合は、データセキュリティ規制にも準拠しています。

    保存データの暗号化:どこに適用されますか?

    これは、特定の場所に保存されているデータベースデータなどの保存データを対象としています。たとえば、PostgreSQLのdata_directory、MySQL / MariaDB data_dir、またはMongoDBのdbPathストレージの場所です。暗号化を提供するための一般的なプロセスは、透過的データ暗号化(TDE)を使用することです。コンセプトは主に、永続的なものすべてを暗号化することです。

    その上、データベースのバックアップはデータの盗難や不正アクセスの可能性が非常に高くなります。これらは、物理的に不揮発性ストレージに保存されます。これらのセットアップは、不正アクセスやデータ盗難によって読み取られる可能性がありますが、データを暗号化することで、不要なアクセスを回避できます。もちろん、暗号化キーをどこかに隠して同じサーバーに保存しないように保護することもできます。バイナリとして保存されたデータベースデータと、論理バックアップかバイナリバックアップかに関係なくバックアップを暗号化すると、暗号化されたデータがパフォーマンスに影響を与え、ファイルサイズが大きくなることに注意してください。

    データ転送中の暗号化

    トランザクション間で転送または移動されるデータは、データ転送中と呼ばれます。 Webページの閲覧中にサーバーとクライアント間を移動するデータは、この種のデータの良い例です。常に移動しているため、データが宛先に到達する前にデータが盗まれたり変更されたりしないように、暗号化する必要があります。

    転送中のデータを保護する理想的な状況は、データを移動する前に暗号化し、最終的な宛先に到達したら復号化することです。

    転送中のデータの暗号化:どこに適用されますか?

    上記のように、これはデータベースクライアントとデータベースサーバー間の通信チャネルに関連しています。侵害されたアプリケーションサーバーとデータベースサーバーのチャネルを考えてみてください。攻撃者または侵入者が盗聴またはMITM攻撃を行っています。攻撃者は、安全でないチャネルを介して送信されているデータをリッスンしてキャプチャする可能性があります。これは、データベースクライアントとデータベースサーバーの通信チャネルからネットワーク経由で送信されるデータがTLS/SSL暗号化を使用して暗号化されている場合に回避できます。

    データベース暗号化の処理には、克服すべき多くの課題もあります。メリットはありますが、デメリットとなる場合があります。これらが何であるかを調べてみましょう。

    データ暗号化の利点

    これは、データの暗号化を利点として求める一般的なケースと実際のケースのリストです。

    • すべてのデータに常にセキュリティを提供します

    • プライバシーと機密情報を常に保護します

    • デバイス間でデータを保護

    • 政府の規制コンプライアンスを確保する

    • 競争上の優位性を確保するための優位性を提供します

    • データ保護のための暗号化の基盤となるテクノロジーの存在は、信頼を高める可能性があります

    • 暗号化されたデータは整合性を維持します

    データ暗号化のデメリット

    データの暗号化は、ビジネスの成功を意味するものではありません。これを実装して対処するための課題とベストプラクティスを知らなければ、成長している革新的で高度なテクノロジーとしての優位性を得ることができません。 「輝くものすべてが金ではない」ということわざは真実です。データの主な目的を理解していないときにデータを暗号化すると、いくつかの欠点があります。

    データの暗号化とパフォーマンスのペナルティ

    暗号化には、データの意味を隠すための複雑で洗練された数学演算が含まれます。データのハッシュまたは復号化に選択する暗号またはアルゴリズムのタイプに応じて。複雑で上位のビットは、データベースが大量の要求を処理するように設計されている場合、リソース、特にCPUをダウンさせることになります。財務能力がこの種の結果を監視していない場合、転送中のTLSなどのデータ暗号化の設定やRSA2048ビットの使用は多すぎる可能性があります。これはリソースを大量に消費し、システムのプロセッサに余分な圧力をかけます。最新のコンピューティングシステムは強力であり、特にパブリッククラウド製品にとって手頃な価格ですが、受け入れられる可能性があります。最初にいくつかの評価を準備し、それを使用するコンテキストで暗号化がパフォーマンスにどのような影響を与えるかを特定します。さまざまな暗号化ソリューションのパフォーマンスが異なることを理解することも重要です。つまり、スピードとセキュリティの必要性は、互いに慎重にバランスを取る必要があります。

    データ暗号化キーの紛失

    前述のように、Hashicorp Vault、AWSKMSなどの安全なVaultに暗号化キーを保存することが一般的になりつつあります。暗号化の大きな問題の1つは、誰かが復号化キーを紛失した場合、それは大きな問題を意味するということです。パスワードを持っているのとほとんど同じですが、暗号化されたすべてのデータを復号化するためのグローバルキーとして扱われます。データベースのあらゆる側面に異なる暗号化キーがない限り、それは多くのパスワードを覚えておく必要があり、安全に保管する必要があることを意味する可能性があります。

    データの暗号化はリカバリ時間に影響します

    バックアップなどの保存データが暗号化されている場合、大規模な災害が発生した場合、タイプの設定方法に応じて、独自のバックアップを使用したリカバリにかかる時間は2倍または3倍、さらにはそれ以上になる可能性があります。アルゴリズムまたは暗号の。これにより、クラスターとアプリケーションを時間どおりに稼働させる必要がある場合は常にプレッシャーがかかりますが、データの復号化または復号化のために、時間とシステムリソースがかかりすぎるためにできません。

    アプリケーションレベルまたはインサイダー攻撃に対する限定的な保護

    もちろん、これは暗号化の本質から理解できます。ただし、これは、アプリケーションレベルで保護が適用されないという理由だけで、暗号化する必要がなくなったことを意味するものではありません。もちろん、これはアプリケーション層に適用する必要のあるセキュリティのもう1つの層です。間違いなく、誰かが特に管理アクセスでデータベースのユーザー/パスワードにアクセスできる場合、暗号化はここでは役に立ちません。攻撃者は、データの真の意味を暗号化する特定のレベルのアプリケーションロジックがない限り、もちろん人間が読める一連のSQLクエリを実行することでデータを取得できます。一方で、それはあなたが使用している全体的な結びついた技術の余分な仕事と複雑さを追加するだけです。これらの各レイヤーに指定された大規模なチームがある場合、複雑さの管理は、彼らが集中することになっているすべての役割にのみ専念できるため、これは大きな利点です。

    データ暗号化キーを保持しているピアとの協力と信頼 ここで検討するのは間違いなく良いことです。キーとキーが保存されている場所、またはストレージボールトのパスワードを知っているピアが残した場合はどうなりますか?キーとパスワードが保存されているサーバーの物理アクセスを指定することは非常に重要です。役割の指定と、これらのキーとパスワードへのアクセスの制限は非常に重要です。また、パスワードの組み合わせが長く複雑な場合は、覚えにくいと同時に、必要なときに簡単に取得できるので便利です。それは皮肉に聞こえますが、秘密は神聖なままでなければなりません。

    データの暗号化を気にする必要がありますか?

    前述のように、データの暗号化は望ましく、多くの場合必須です。これは、アプリケーションの概略プロセスと設計、および従事しているビジネスのレベルによって異なります。

    データの暗号化を気にする必要がありますか?絶対そうです。それは、個人的な依存関係とビジネス目的で同様に発生します。ただし、機密データが存在する場合、特に組織や会社で独自のペルソナと財務能力をすでに構築している場合は、すべてのデータの機密性が非常に高くなります。誰かがあなたのデータを盗み、あなたの会社の成長に関係するすべての戦略的およびビジネス上の事柄を知っていることを望まないでしょう。この場合、データは保護する必要があります。したがって、暗号化はデータベースとデータ自体を保護するための重要な側面です。

    結論

    機密データは私たちの日常生活にも常に存在するため、組織内では機密データと貴重なデータの量が並行して増加します。すべてのデータに暗号化が必要なわけではないことを理解することが重要です。確かに、一部のデータはグローバルに共有されているか、頻繁に再利用されています。このタイプのデータは暗号化する必要はありません。データベースで暗号化を使用することの長所と短所に注意してください。適用する場所と適用方法を決定することで、パフォーマンスに影響を与えることなく安全な環境を実現できます。


    1. MySQLエラー2006:mysqlサーバーがなくなりました

    2. java.sql.SQLException:jdbc:microsoft:sqlserverに適したドライバーが見つかりません

    3. 列と複数の行で1つの行の複数の列にグループ化する

    4. (英語)Oracle Database 19c Pre-BuiltDeveloperVMの使用方法