データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

透過的なデータ暗号化

Oracle®は、セキュリティの目的でOracle 12Cに透過的データ暗号化(TDE)機能を導入し、ユーザーが機密データのテーブルスペースおよび列レベルの暗号化を有効にできるようにしました。

はじめに

データを暗号化すると、許可されたユーザーまたはアプリケーションのみがデータにアクセスできます。 Oracleは、ツールとプロセスを使用してデータベースを認証、承認、監査しますが、データを格納するOSデータファイルは使用しません。

Oracle Database Advanced Security Guide(ASOAG)によると、「TDEはデータファイルに保存されている機密データを暗号化します。不正な復号化を防ぐために、TDEは暗号化キーをデータベースの外部にあるキーストアと呼ばれるセキュリティモジュールに保存します。」

必要なTDE権限

TDEを構成するには、ユーザーにSYSKMを付与します 管理者権限。次に、ASOAGは、「ユーザーがパスワードを使用してSYSKMとしてデータベースに接続できるように、そのパスワードファイルを作成することをお勧めします。 …TDE列またはテーブルスペースの暗号化を構成するために、SYSKM…特権は必要ありません。」ただし、ASOAGは、次の「テーブル列とテーブルスペースを暗号化するための特権」が必要であると付け加えています。

  • テーブルを作成
  • 代替テーブル
  • テーブルスペースの作成
  • ALTER TABLESPACE(オンラインおよびオフラインのテーブルスペース暗号化用)
  • ALTER DATABASE(高速オフラインテーブルスペース暗号化用)」

これらの特権とは別に、enableTDEに対して常に開いている必要があるウォレットを作成する必要があります。ウォレットはキーストアとも呼ばれます 12cで。

2種類のTDE

次のセクションでは、2種類のTDEについて説明します。

1。透過的なデータ暗号化列の暗号化

これにより、テーブルに保存されているクレジットカードや社会保障番号などの機密データが保護されます。 ASOAGによると、「2層のキーベースのアーキテクチャを使用して、機密性の高い列を透過的に暗号化および復号化します。 TDEマスター暗号化キーは、Oracleソフトウェアまたはハードウェアキーストアである外部セキュリティモジュールに保存されます。このTDEマスター暗号化キーはTDEテーブルキーを暗号化および復号化し、TDEテーブルキーはテーブル列のデータを暗号化および復号化します。」

透過的なデータ暗号化

画像ソース:https://docs.oracle.com/database/121/ASOAG/introduction-to-transparent-data-encryption.htm#ASOAG10137


2。透過的なデータ暗号化テーブルスペース暗号化

暗号化されたテーブルスペースで作成されたすべてのオブジェクトは、自動的に暗号化されます。テーブル全体または複数の列を暗号化するのに役立ちます。ASOAGは次のように追加します。「TDEテーブルスペース暗号化は、2層のキーベースのアーキテクチャを使用して、テーブルスペースを透過的に暗号化(および復号化)します。 TDEマスター暗号化キーは、外部セキュリティモジュール(ソフトウェアまたはハードウェアキーストア)に保存されます。このTDEマスター暗号化キーは、TDEテーブルスペース暗号化キーを暗号化するために使用されます。TDEテーブルスペース暗号化キーは、テーブルスペース内のデータを暗号化および復号化するために使用されます。」

透過的なデータ暗号化

画像ソース:https://docs.oracle.com/database/121/ASOAG/introduction-to-transparent-data-encryption.htm#ASOAG10137

TDEの目的

ASOAGは、TDEを使​​用する次の理由について言及しています。

  1. 誰かがストレージメディアやデータファイルを盗んだ場合でも機密データを保護するため。
  2. セキュリティ関連の規制コンプライアンスの問題に対処するため。
  3. アプリケーションデータを復号化するための追加の補助ビューまたはビューを作成するため。アプリケーションにほとんどまたはまったく変更を加えることなく、データベースユーザーとアプリケーションのテーブルデータを透過的に復号化します。
  4. DBおよびアプリケーションのユーザーは、アクセスしているデータが暗号化されていることに気付く必要はありません。
  5. オンライン再定義を使用するか、オフラインモードで暗号化することにより、ダウンタイムなしでデータを暗号化できます。
  6. 暗号化されたデータを処理するためにアプリケーションを変更する必要はありません。データベースはデータを暗号化および復号化します。
  7. Oracle Databaseは、TDEマスター暗号化キーおよびキーストア管理操作を自動化します。

TDEを構成する

TDEとウォレットを構成するには、次の手順を実行します。

  1. ウォレットまたはキーストアの場所を作成します:

     mkdir -p /u01/oracle/wallet
    
  2. sqlnet.oraでウォレットまたはキーストアの場所を更新します :

     cat $ORACLE_HOME/network/admin/sqlnet.ora
     # sqlnet.ora Network Configuration File: /home/oracle/app/oracle/product/12.1.0/dbhome_1/network/admin/sqlnet.ora
     # Generated by Oracle configuration tools.
     NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
     ENCRYPTION_WALLET_LOCATION =
     (SOURCE =(METHOD = FILE)(METHOD_DATA =
     (DIRECTORY = /u01/oracle/wallet)))
    
  3. キーストアを作成する:

     SQL> ADMINISTER KEY MANAGEMENT CREATE KEYSTORE '/u01/oracle/wallet/' IDENTIFIED BY Oraclewallet#123 ;
     keystore altered.
     SQL> host ls /u01/oracle/wallet/
     Oraclewallet.P12
    
  4. キーストアを開きます:

    SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY Oraclewallet#123;
    keystore altered.
    
  5. キーをアクティブにします:

     SQL> SET LINESIZE 100
     SELECT con_id, key_id FROM v$encryption_keys;SQL> 
    
     no rows selected
     SQL> ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY Oraclewallet#123 WITH BACKUP;
     keystore altered.
     SQL> SET LINESIZE 100
     SELECT con_id, key_id FROM v$encryption_keys;SQL> 
    
     CON_ID KEY_ID
     ---------- ------------------------------------------------------------------------------
         0 HTDRKP*%GRLOHNRWMrX2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
     SQL> SET LINESIZE 200
     COLUMN wrl_parameter FORMAT A50
     SELECT * FROM v$encryption_wallet;
     SQL> SQL> 
     WRL_TYPE      WRL_PARAMETER                                                     STATUS             
     WALLET_TYPE              WALLET_OR FULLY_BAC     CON_ID
     -------------------- -------------------------------------------------- ------------------------------ -------------------- --------- --------- ----------
     FILE                   
     /u01/oracle/wallet/                                             OPEN       
     PASSWORD        SINGLE   
     NO                  0
    
  6. 暗号化されたテーブルスペースを作成します:

     SQL> CREATE TABLESPACE ENCRYPTION_TEST 
     datafile '/u01/oracle/app/oracle/oradata/db/encrytest.dbf' size 2G 
     ENCRYPTION USING 'AES256'
     DEFAULT STORAGE(ENCRYPT);  2   
     3    4  
     Tablespace created.
     SQL> create table ENCRYPTION_EMP(
       empno   Number(3),
       Name     varchar(10)
     ) tablespace ENCRYPTION_TEST;  2   
     3    4  
     Table created.
     SQL> select tablespace_name,encrypted from dba_tablespaces where tablespace_name='ENCRYPTION_TEST';
     TABLESPACE_NAME              ENC
     ------------------------------ ---
     ENCRYPTION_TEST                           YES
    
  7. 暗号化された列を持つテーブルを作成します:

     SQL> CREATE TABLE employee (
     first_name VARCHAR2(128),
     last_name VARCHAR2(128),
     empID NUMBER,
     salary NUMBER(6) ENCRYPT
     ); 2 3 4 5 6
     Table created.
     SQL> select owner,table_name,column_name,encryption_alg from dba_encrypted_columns where table_name='EMPLOYEE';
     OWNER TABLE_NAME COLUMN_NAME ENCRYPTION_A
     ---------- ------------ ------------ -----
     RAJ EMPLOYEE SALARY AES 192 bits
     key
    
  8. 自動ログインを有効にする:

     SQL> SELECT * FROM v$encryption_wallet;
     WRL_TYPE      WRL_PARAMETER       STATUS       WALLET_TYPE     WALLET_OR     FULLY_BAC     CON_ID
     ----------    ------------------- ------------ --------------- ------------- ------------- ----------
     FILE          /u01/oracle/wallet/   OPEN         PASSWORD      SINGLE         NO            0
    

ここにwallet_type PASSWORDです 。データベースを再起動するたびに、キーまたはウォレットを明示的に開く必要があります。これを回避するには、自動ログインを有効にして、データベースの再起動時にウォレットを自動的に開きます。

結論

TDEを使​​用すると、機密性の高いデータを保護できます。データファイルまたはメディアストレージが盗まれた場合でも、ユーザーがデータを復号化するためのキーを取得するまで、データは利用できません。

データベースサービスの詳細をご覧ください。

コメントや質問をするには、[フィードバック]タブを使用します。私たちと会話を始めることもできます。


  1. Windows 向け暗号化ソフトウェア ベスト 9

    個人データであろうと仕事上のデータであろうと、常に適切に保護する必要があります。フォルダを非表示にしたり、偽名を付けたりしても解決しない場合があります。 不正アクセスからデータを保護できるものを探す必要があります。機密データに永続的なセキュリティを提供するディスク暗号化ソフトウェアが登場します。 データの盗難/損失を回避するには、暗号化ソフトウェアが大いに役立ちます。これらのソフトウェアを使用してデータにアクセスするには、正当なパスフレーズが必要です。今日は、Windows に最適な 9 つの暗号化ソフトウェアについて説明します。 Windows 10、8、7 でデータを暗号化するのに最適

  2. Windows 11 で自動デバイス暗号化を無効にする方法

    データを暗号化するということは、データを強力な保管庫に入れ、鍵を持っている人だけがアクセスできるようにロックしておくことを意味します。これは素晴らしいアイデアのように聞こえますが、キーを忘れた場合でも、あなたを含むすべての人からデータが安全に保護されていることを確認してください.データ暗号化の概念は、所有者が自分のデータをいつでもどこでもロック解除するための鍵を持っている場合にのみ成功します。そうしないと、データが永久にロックされて、役に立たないデジタル ジャンクになってしまう可能性があります。 Microsoft は常にユーザーのデータのセキュリティと安全性に関心を持っており、同じ理由で