6.6 技術安全控制
6.6.0 本項說明
該項用于定義簽發CA為保護其密鑰和激活數據(如PIN碼、口令字或手持密鑰共享)而采取的安全措施。該項也用于對信息庫、主體CA、訂戶和其他參與者進行限制,以保護他們的私鑰、私鑰激活數據和關鍵安全參數。安全密鑰管理十分重要,以確保所有的秘密密鑰、私鑰和激活數據都在保護之中,并且只被授權的人員使用。
該項也描述簽發CA使用的其他技術安全控制,用以安全地實現密鑰生成、用戶鑒別、證書注冊、證書吊銷、審計和歸檔等功能。安全控制包含生命周期安全控制(包括軟件開發環境安全,可信的軟件開發方法論)和操作安全控制。
該項還可用來定義其他的用于信息庫、主體CA、RA、訂戶和其他參與者的技術安全控制。
6.6.1 密鑰對的生成和安裝
對于簽發CA、信息庫、主體CA、RA和訂戶,都需要考慮密鑰對的生成和安裝。對其中的每類實體,都需要回答下列問題:
a) 由誰來生成實體的公、私鑰對?是訂戶、RA還是CA。進一步,密鑰對的生成是如何實現的?由硬件還是軟件生成?
b) 私鑰是如何安全地提供給實體的?可能的方法包括實體自生成從而自動擁有、用物理的方式將私鑰傳遞給實體、郵寄保存私鑰的令牌、或是通過SSL會話傳遞。
c) 如何將實體公鑰安全地提供給證書認證機構?可通過在線SSL會話或經RA簽署的消息。
d) 對于簽發CA,如何將CA公鑰安全地提供給潛在的依賴方?可能的方式包括用人工將公鑰發送給依賴方、用物理方式郵寄一份拷貝給依賴方、或通過SSL會話傳遞。
e) 密鑰長度是多少?如RSA的模長是1024比特、DSA的大素數是1024比特。
f) 由誰來生成公鑰參數?在生成密鑰時是否對參數的質量進行檢查?
g) 密鑰的使用目的是什么?或者密鑰的使用目的限制在什么范圍內?對于GB/T16264.8證書,這些目的需要映射到第三版證書的密鑰用途標志位。
6.6.2 私鑰保護和密碼模塊工程控制
對于簽發CA、信息庫、主體CA、RA和訂戶,都要考慮私鑰保護和密碼模塊的要求。對其中的每個實體類型,都可能要回答下列問題:
a) 如果有,對用來產生密鑰的模塊需要哪些標準?密碼模塊可以由硬件、軟件、固件或其組合構成。例如,被基礎設施認證的密鑰是否需要由符合國家有關密碼標準的模塊產生?如果是,模塊需要達到的級別是多少?是否存在與密碼模塊相關的其他工程或控制,如密碼模塊邊界的標定、輸入/輸出、角色和服務、有限狀態機、物理安全、軟件安全、操作系統安全、算法一致性、電磁兼容性和自檢測等。
b) 私鑰是否由M選N多人控制?如果是,N和M是多少(兩人控制是一個特殊的例子,其中N=M=2)。
c) 私鑰是否被托管?如果是,誰是托管機構,密鑰以什么形式托管(如明文、密文、分割密鑰),并且托管系統的安全控制如何?
d) 私鑰是否備份?如果是,誰是備份機構,私鑰以什么形式備份(如明文、密文、分割密鑰),并且備份系統的安全控制如何?
e) 密鑰是否歸檔?如果是,誰是歸檔機構,私鑰以什么形式歸檔(如明文、密文、分割密鑰),并且歸檔系統的安全控制如何?
f) 在什么條件下私鑰可以從密碼模塊導入或導出?誰能夠執行此類操作?在導入/導出時私鑰的形式怎樣(如明文、密文、分割密鑰)?
g) 私鑰如何被保存在模塊中(如明文、密文、分割密鑰)?
h) 誰能激活(使用)私鑰?為激活私鑰必須執行哪些操作(例如登錄、上電、提供PIN、插入令牌/鑰匙、自動等等)?一旦密鑰被激活,密鑰是活動無限長的時間、只活動一次、還是活動于一個定義的時間段?
i) 誰能夠凍結私鑰以及如何做?凍結私鑰的方式包括退出、切斷電源、移開令牌/鑰匙、自動凍結或者有效期屆滿。
j) 誰能夠銷毀私鑰以及如何做?銷毀密鑰的方式包括交出令牌、銷毀令牌或者重寫密鑰。
k) 給出密碼模塊在下列方面的指標:密碼模塊邊界的標定、輸入/輸出、角色和服務、有限狀態機、物理安全、軟件安全、操作系統安全、算法一致性、電磁兼容性和自檢測。指標可以以與某標準兼容的方式給出,如符合國家有關標準。
6.6.3 密鑰對管理的其他方面
對于簽發CA、信息庫、主體CA、RA、訂戶和其他參與者,還要考慮密鑰管理的其他方面。對其中的每個實體類型,都需要回答下列問題:
a) 公鑰是否歸檔?如果歸檔,誰是歸檔機構以及歸檔系統的安全控制如何?進一步,還需將什么軟件和硬件作為檔案的一部分一同保存,以能夠在日后使用公鑰?注:該子項并不限于要求或描述對歸檔數據使用數字簽名,還包括當檔案需要防止篡改時其數字簽名的完整性控制。數字簽名并不提供對篡改的保護,或保護數據的完整性,它們僅僅驗證數據的完整性。并且,歸檔期可能會長于密碼分析期,在該時期內利用公鑰能夠驗證應用于歸檔數據的任何數字簽名。
b) 頒發給訂戶的證書的操作期是多少?訂戶密鑰對的使用期或生命期又是多少?
6.6.4 激活數據
激活數據指的是用以操作私鑰或包含私鑰的密碼模塊所需的數據值,如PIN、口令字或私鑰的一部分(使用某種密鑰分割方案),而不是整個私鑰。對激活數據的保護是為了防止對私鑰的非授權使用,簽發CA、主體CA、RA和訂戶都需要考慮保護激活數據。這些考慮可能需要說明激活數據的整個生命周期,從產生到歸檔和銷毀。對每個實體類型(簽發CA、信息庫、主體CA、RA、訂戶和其他參與者),所有問題(6.6.1-6.6.3)都要回答,只是關于激活數據而不是關于密鑰。
6.6.5 計算機安全控制
該子項用來描述計算機安全控制,例如使用可信計算基的概念、自主訪問控制、標簽、強制訪問控制、對象重用、審計、標識與鑒別、可信路徑、安全測試和滲透測試,也可以說明產品的安全保證。
可以要求計算機系統需要達到一定的安全級別,分級標準可以基于國家頒布的計算機信息系統安全等級保護要求中對PKI公鑰基礎設施的技術要求、可信系統評估標準、加拿大可信產品評估準則、歐洲信息技術安全評估準則或信息技術安全評估通用準則。該子項也能說明對下列事宜的要求:產品評估分析、測試、描述、產品認證、和/或與產品認可相關的活動。
6.6.6 生命周期技術控制
該子項描述系統開發控制和安全管理控制。
系統開發控制包括:開發環境安全、開發人員安全、產品維護期的配置管理安全、軟件工程實施、軟件開發方法論、模塊化、層次化、使用容錯設計和實現技術(如防御性編程)、以及開發工具安全。
安全管理控制包括執行工具和程序來保證操作系統和網絡符合設置的安全,這些工具和程序包含檢查安全軟件、固件和硬件的完整性來確保它們正確運行。
該子項還可以說明生命周期安全等級,例如基于可信軟件開發方法學級別IV和V、獨立的生命周期安全控制審計和能力成熟度模型
6.6.7 網絡安全控制
該子項說明與網絡安全相關的控制,如防火墻等。
6.6.8 時間戳
該子項說明與不同數據使用時間戳相關的要求或業務實踐,還可聲明時間戳應用是否需要使用可信時間源。
推薦文章: