Oracle

符合 Oracle HIPAA/FIPS 的加密連接

  • March 10, 2017

我目前正在根據 HIPAA 要求評估 Oracle SE2 12.1 Amazon RDS 實例的傳輸中數據加密。

具體來說,我正在考慮使用 Oracle Native Network Encryption

$$ 1,2 $$(替代選項是 Oracle SSL$$ 3,4 $$)。我正在嘗試將 Oracle、Amazon、HIPAA、NIST 等的文件拼湊起來,以確定合適的 HIPAA 兼容方法。 來自亞馬遜的HIPAA 白皮書

$$ 5 $$:

與包含 PHI 的 Amazon RDS for Oracle 的連接必須使用傳輸加密並評估配置以確保與指南的一致性。這是使用 Oracle Native Network Encryption 完成的,並在 Amazon RDS for Oracle 選項組中啟用。

來自HIPAA 指南

$$ 6 $$:

有效的動態數據加密過程是那些符合 NIST 特別出版物 800-52,傳輸層安全 (TLS) 實施選擇和使用指南的過程;800-77,IPsec VPN 指南;或 800-113,SSL VPN 指南,或其他已通過聯邦資訊處理標準 (FIPS) 140-2 驗證的內容。

根據此文件,Oracle 網路加密似乎必須經過 FIPS 140-2 驗證。但是,我不確定 Oracle 網路加密是否符合這個標準;我還不能從 Oracle/FIPS/其他文件中確認這一點。

特別是,我發現了以下與 FIPS 140-2 相關的Oracle 12.1 文件:

FIPS 140-2 加密庫旨在保護靜態數據和通過網路傳輸的數據。

Oracle 數據庫將這些加密庫用於安全套接字層 (SSL)、透明數據加密 (TDE) 和 DBMS_CRYPTO PL/SQL 包。

要將透明數據加密和 DBMS_CRYPTO PL/SQL 包程序單元配置為在 FIPS 模式下執行,請將 DBFIPS_140 初始化參數設置為 TRUE。

您可以為安全套接字層配置 SSLFIPS_140 參數。

但是,鑑於文件,我不確定這些 FIPS 參數是否適用於 Oracle 本機網路加密,也不確定它們是否必要。

  • 是 Oracle 本地網路加密嗎$$ 1,2 $$符合 HIPAA/FIPS 標準?
  • 如果是這樣,是否需要任何配置或預設情況下是否兼容?
  • 是否存在某些不合規的加密算法?

$$ 1 $$ http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.NetworkEncryption.html

$$ 2 $$ http://docs.oracle.com/cd/E11882_01/network.112/e40393/asoconfg.htm#ASOAG9581

$$ 3 $$ http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.SSL.html

$$ 4 $$ http://docs.oracle.com/cd/E11882_01/network.112/e40393/asossl.htm#ASOAG9689

$$ 5 $$ https://d0.awsstatic.com/whitepapers/compliance/AWS_HIPAA_Compliance_Whitepaper.pdf

$$ 6 $$ https://www.hhs.gov/hipaa/for-professionals/breach-notification/guidance/index.html

SSLFIPS_140用於基於 SSL 的加密。這與本機網路加密無關。

是 Oracle 本地網路加密嗎

$$ 1,2 $$符合 HIPAA/FIPS 標準? 如果是這樣,是否需要任何配置或預設情況下是否兼容?

https://docs.oracle.com/database/121/DBSEG/asoappe.htm#DBSEG1061

對於本機加密,這種加密操作登陸 RSA/Micro Edition Suite (MES) 並被加速的行為與上述類似,不同之處在於它由 中的FIPS_140 設置sqlnet.ora(而不是 中的SSL_FIPS140設置 fips.ora)決定。

此參數從 12.1 版本開始可用。

是否存在某些不合規的加密算法?

https://docs.oracle.com/database/121/DBSEG/asoappe.htm#DBSEG9828

只有以下密碼套件獲准進行 FIPS 驗證:

  • SSL_DH_anon_WITH_3DES_EDE_CBC_SHA
  • SSL_RSA_WITH_AES_256_CBC_SHA
  • SSL_RSA_WITH_AES_128_CBC_SHA
  • SSL_RSA_WITH_AES_256_GCM_SHA384
  • SSL_RSA_WITH_3DES_EDE_CBC_SHA

找不到專門針對本機加密的列表,但您可以根據上述設置算法。設置上述參數後,如果選擇了不符合要求的算法,將無法連接數據庫,會收到如下錯誤:

ORA-12630: Native service operation not supported

來自Oracle 文件

9.1.1 高級加密標準Oracle Advanced Security 支持聯邦資訊處理標準 (FIPS) 加密算法,即高級加密標準 (AES)。所有美國政府組織和企業都可以使用 AES 來保護網路上的敏感數據。該加密算法定義了三種標準密鑰長度,分別為 128 位、192 位和 256 位。所有版本均在外部密碼塊連結 (CBC) 模式下執行。

甲骨文有 140-*

**本附錄介紹如何為聯邦資訊處理標準 (FIPS)、目前標準 140-2 和 140-1 配置 Oracle 數據庫。**要驗證認證的目前狀態,您可以在美國國家標準與技術研究院的電腦安全資源中心 (CSRC) 網站地址找到資訊:

根據您的文件 140-2 是 HIPAA

所以只要設置SSLFIPS_140=TRUE

**對於 FIPS 模式操作,**它必須在客戶端和伺服器上都設置為TRUE。

特別說明..

為了符合 FIPS 140-2 第 2 級要求,安全策略必須包括防止未經授權的使用者讀取、修改或執行 Oracle 加密庫程序以及他們在作業系統中使用的記憶體的程序。

“安全策略”即chmod a-w那些庫。

引用自:https://dba.stackexchange.com/questions/166742