透過的データ暗号化を使用してOracleデータベースを保護する
このブログでは、高度なセキュリティオプションを使用して、Transparent DataEncryption(TDE)を使用してOracle®データベース内の機密データを保護する方法の基本について説明します。この機能を使用すると、データベース列を暗号化し、暗号化キーを管理できます。
TDEは、オペレーティングシステムファイルに保存されている機密データベースデータの暗号化を有効にします。データベースの外部にあるセキュリティモジュールで暗号化キーの安全な保存と管理を提供します。
暗号化されたデータは、データにアクセスできるデータベースユーザーに対して透過的に復号化されます。 TDEは、暗号化キーをデータベース外部のセキュリティモジュールに保存します。
泥棒がデータベースのバックアップテープを盗み、それを自分のサーバーに復元した場合、彼らは会社の最も機密性の高いデータにアクセスできます。これは容認できないリスクです。ほとんどの企業の規制とガイドラインでは、データベースデータの保護をコンプライアンス要件と見なしています。この脆弱性からデータベースをどのように保護できますか?
1つの解決策は、データベース内の機密データを暗号化し、暗号化キーを別の場所に保存することです。キーがなければ、盗まれたデータは価値がありません。
TDEはどのように機能しますか?
TDEは、キーベースのアクセス制御システムです。暗号化されたデータが取得されたとしても、テーブルへのアクセスを許可されたユーザーに対して自動的に行われる許可された復号化なしでは役に立ちません。
暗号化された列を含むテーブルの場合、暗号化キーは列暗号化キーと呼ばれます。各テーブルの列暗号化キーは、データベースサーバーのマスターキーで暗号化されます。マスター暗号化キーは、データベースの外部のOracleWalletに保存されます。
暗号化されたテーブルキーはデータディクショナリに配置されます。ユーザーが暗号化されていると定義されている列にデータを入力すると、Oracleは次のタスクを実行します。
- ウォレットからマスターキーを取得します。
- データディクショナリからそのテーブルの暗号化キーを復号化します。
- 入力値にその暗号化キーを使用します。
- 暗号化されたデータをデータベースに保存します。
画像ソース :https://docs.oracle.com/database/121/ASOAG/img/GUID-5FD3A3BB-441C-4C42-A520-1248974627B0-default.png
TDEは、次のデータベースファイルのデータを暗号化します。
- データファイル
- REDOログとアーカイブログファイル
- メモリ
- ファイルのバックアップ
このセクションでは、ウォレットの作成、開閉について説明します。
TDEを最初に有効にするときは、マスターキーが保存されるウォレットを作成する必要があります。
デフォルトでは、ウォレットは $ ORACLE_BASE / admin / $ ORACLE_SID / walletに作成されます。 、ただし、 sqlnet.ora で指定することにより、別の場所を設定できます 次の行で:
ENCRYPTION_WALLET_LOCATION = (SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY =D:\oracle\product\Wallet)))
次に、次のコマンドを実行してウォレットを作成します。
ALTER SYSTEM SET ENCRYPTION KEY [certificate_ID] IDENTIFIED BY password;
-
ウォレットのパスワード 大文字と小文字が区別されます。パスワード文字列を二重引用符( "")で囲みます。
-
certificate_ID Oracleウォレットに格納されている証明書の一意の識別子を含むオプションの文字列です。 V $ WALLET にクエリを実行すると、acertificate_IDを検索できます。 ウォレットが開いているときの固定ビュー。
ウォレットを作成してパスワードを設定したら、SYS
を使用してウォレットを明示的に開く必要があります 、SYSTEM
、またはSYSDBA
データベースを起動するたびにアカウントを作成します。
たとえば、次のコマンドを実行します。
alter system set encryption wallet open identified by "oracle12345";
重要: データベースでアクションを実行するには、ウォレットを開く必要があります。
次の例は、データベースが稼働しているがウォレットが閉じているデータベース操作を示しています。
alter system set encryption wallet close;
ここで、暗号化された列からデータを取得しようとすると、ウォレットが閉じているため、次のエラーメッセージが表示されます。
暗号化された列からデータを取得するには、次のコマンドを使用してウォレットを開く必要があります。
alter system set encryption wallet open identified by "oracle12345";
ウォレットが開いているため、暗号化された列からデータを取得できるようになりました。
次のコマンドを使用して、暗号化された列を持つテーブルを作成します。
CREATE TABLE test2 (id number,name varchar2(20),s_s_num number ENCRYPT);
SALTはランダムな文字列であり、暗号化される前にデータに追加されるため、データの安全性がさらに高まり、ハッキングが困難になります。デフォルトでは、TDEは暗号化する前にクリアテキストにSALTを追加します。
SALTオプションで暗号化された列を作成してインデックスを作成することはできません。暗号化された列にインデックスを追加する場合は、次の例のようにNOSALTオプションを使用する必要があります。
CREATE TABLE test3 (id number,name varchar2(20),s_s_num number ENCRYPT NO SALT,Ph_no number ENCRYPT USING '3DES168');
ここでは、 S_S_NUM 列はNOSALTオプションとPH_NOで暗号化されます 列はデフォルトのSALTオプションで作成されます。
次の例は、 PH_NOにインデックスを作成できないことを示しています デフォルトでSALTオプションを使用して作成したため、列。
次のコマンドは、既存のテーブルの列を暗号化します。
ALTER TABLE test1 ADD (ssn VARCHAR2(11) ENCRYPT);
次のコマンドは、列の暗号化を無効にします:
ALTER TABLE test1 MODIFY (ssn DECRYPT);
TDEの使用に関する制限
TDEの使用に関する次の制限に注意してください。
- 暗号化された列にBツリー以外のインデックスを作成することはできません。
- 外部の大きなオブジェクト(BFILE)では暗号化は許可されていません。
- ウォレットが閉じている場合、インポートまたはエクスポート操作を実行することはできません。
ウォレットが閉じているためエラーが発生しました
ウォレットが開いているため成功
不正なアクセスやバックドアアクセスから機密データを保護する必要がある場合は、TDEセキュリティオプションを使用してください。この機能により、コーディングやキー管理を複雑にすることなく、データの暗号化とコンプライアンスを即座に提供できます。したがって、より戦略的な取り組みに集中することができます。
[フィードバック]タブを使用して、コメントを書き込んだり、質問したりします。
専門家による管理、管理、構成で環境を最適化する
Rackspaceのアプリケーションサービス(RAS) 専門家は、幅広いアプリケーションポートフォリオにわたって次の専門的かつ管理されたサービスを提供します。
- eコマースおよびデジタルエクスペリエンスプラットフォーム
- エンタープライズリソースプランニング(ERP)
- ビジネスインテリジェンス
- Salesforceの顧客関係管理(CRM)
- データベース
- メールホスティングと生産性
お届けします:
- 偏りのない専門知識 :私たちは、即時の価値を提供する機能に焦点を当てて、お客様の近代化の旅を簡素化し、導きます。
- 狂信的な経験 ™:最初にプロセスを組み合わせます。テクノロジーセカンド。包括的なソリューションを提供するための専用のテクニカルサポートを備えたアプローチ。
- 比類のないポートフォリオ :豊富なクラウドエクスペリエンスを適用して、適切なテクノロジーを適切なクラウドに選択して導入できるようにします。
- アジャイルデリバリー :私たちはあなたがあなたの旅の途中であなたに会い、あなたの成功と一致します。
今すぐチャットして始めましょう。
-
透過的なデータ暗号化
Oracle®は、セキュリティの目的でOracle 12Cに透過的データ暗号化(TDE)機能を導入し、ユーザーが機密データのテーブルスペースおよび列レベルの暗号化を有効にできるようにしました。 はじめに データを暗号化すると、許可されたユーザーまたはアプリケーションのみがデータにアクセスできます。 Oracleは、ツールとプロセスを使用してデータベースを認証、承認、監査しますが、データを格納するOSデータファイルは使用しません。 Oracle Database Advanced Security Guide(ASOAG)によると、「TDEはデータファイルに保存されている機密データを暗号化し
-
Oracle19cでDBCAコマンドを使用してデータベースのクローンを作成する
このブログでは、Oracle19cの新機能であるDatabaseConfiguration Assistant(DBCA)を使用して、ソースデータベースのバックアップを作成せずにリモートプラガブルデータベース(PDB)をコンテナデータベース(CDB)に複製する方法を紹介します。 ソースからターゲットへのクローン作成にかかる時間は最小限です。 ソースDBの詳細 CDB:LCONCDBPDB:LCON 以下は総数です。ソース内の各コンテナ(CDBおよびPDB)の下にあるDBFファイルのうち、クローンがターゲット内にある後に検証する必要があります。上記のソースDBから、ターゲットホスト内にCDB