㈠ 基於PKI技術的網路安全平台設計分析
基於PKI技術的網路安全平台設計分析
[摘要]採用USB加密機和PKI技術設計並實現一個網路安全平台。該安全平台實現身份驗證、安全傳輸和訪問許可權管理等功能。研究該平台所使用的協議的工作流程,並詳細介紹客戶端、訪問控制伺服器和證書管理系統的工作原理。
[關鍵詞]信息安全 PKI 安全協議 USB加密機 網路安全平台
一、概述
本文的目的是開發基於PKI技術的網路安全認證和連接平台。該平台使用USB 密碼機,利用PKI體系的相關技術,構建一個供擁有密碼機的合法用戶通過內網或者互聯網訪問內部網路的資源伺服器的安全平台。平台要求實現用戶的和伺服器的雙向認證、密鑰磋商、用戶訪問許可權管理,保證信息傳輸的保密性、完整性、不可否認性。
這個網路安全平台的伺服器端分為兩個部分,訪問控制伺服器和證書管理伺服器。訪問控制伺服器是直接與客戶端交換數據的伺服器,負責的是與客戶端完成密鑰磋商,實現加密傳輸,控制客戶端的訪問許可權。證書管理伺服器負責包括訪問控制伺服器在內的所有用戶的證書牛成和證書頒發。證書採用X.509v3格式,並且在連接的時候負責用戶的身份鑒定。
二、USB密碼機介紹
本文中採用的SJW-21C型USB密碼機是採用USB介面的密碼設備。
SJW-21C型密碼機的對稱加密演算法使用的是經國家密碼局鑒定的專用密碼演算法晶元,其加密分組為64位,密鑰長度為128位,密碼機的對稱加密速度≥SMbps,公鑰演算法支持1024何的RSA,簽名速度≥4 次/秒,摘要演算法則支持SHA—l和MDS。密碼機還內置通過國家有關部門鑒定的隨機數發生器,並且支持隨機數的篩選,也就是會自動檢查隨機數的質量,如果達不到要求,會自動捨去。另外,密碼機本身也硬體支持生成RSA密鑰對。
三、PKI同絡安全平台原理介紹
基於PKI的網路安全平台的安全認證過程分為兩個部分,一個是認證信息初始化過程,一個是對用戶的入網認證過程,
(一)認證信息初始化
認證信息初始化指的是這個網路安傘平台在架設起來之後,證書管理系統會生成所有用戶包括訪問控制伺服器的證書和私鑰,然後分發到各自的密碼機中去,具體過程如下。
1,將證書管理系統安裝好之後,會進行初始化。
2,證書系統會開始根據需要牛成其他認證實體的證書。
3,各用戶將自己的密碼機拿到證節管理系統裡面來初始化,寫入證書和私鑰。
4,密碼機初始化完畢之後,只要把密碼機安裝到任何一個可以連接到訪問控制伺服器的電腦上,運行客戶端,輸入正確的PIN碼,就可以開始按照自己的許可權來使用資源伺服器上面的內容。以上就是整個安全平台系統的初始化過程。
(二)安全平台認證協議的認證過程
安全平台的認證協議設計思想來自SSL/TLS協議,但不是純粹的將兩者簡單的加在一起,因為那樣不僅小能發揮USB密碼機的真正優勢,密碼機本身的特性也會對SSL/TLS協議的安全性帶來影響,所以這個協議是在理解了SSL/TLS協議的設計思想之後根據密碼機的安全功能和實際情況之後設計的。在下面的介紹里,會將密碼機所自帶的128位國產對稱加密演算法稱為SAl28。
1、客戶端密碼機生成一個12 8位的隨機數R1,然後用SHA一1演算法取這個隨機數和密碼機TD的信息摘要H1,用SAl28演算法以Rl為密鑰將H1加密,然後用密碼機的私鑰加密R1,並在前頭加上密碼機的ID發送給訪問控制伺服器。
2、訪問控制伺服器將用戶發來的數據直接轉發給證書管理伺服器。
3、證書伺服器收到包之後,先根據這個ID在證書資料庫裡面找這個ID所對應的證書,然後用證書電所包含的公鑰解密被客戶端私鑰加密過的Rl,然後用這個R1通過SAl28演算法解密得到H1,驗證通過後。證書伺服器會生成一個新隨機數R2,然後將R2用客戶端的公鑰進行RSA加密,把加密後的數據加上 Rl之後取摘要值H2,然後將Rl和加密之後的R2還有H2以R2為密鑰用SAl28演算法加密,再將R2用訪問控制伺服器的公鑰進行RSA加密,再將以上數據發送給訪問控制伺服器。
4、伺服器收到上述數據後,首先用自己的公鑰解出R2,然後用R2通過SAl28演算法得到RsC(R2)+RI+H2,驗證通過後,將R2取摘要H3,然後將RsC(R2)+H3以R1用SAl28演算法加密之後發送給客戶端。
5、客戶端收到數據後,先用Rl解出Rsl(R2)和H3,在確認之後,用自己的私鑰解出R2,然後以R2為SA 128演算法的密鑰開始和伺服器進行通信,到此,驗證過程結束,客戶端和訪問控制伺服器之問建立起安全連接。
四、安全平台的主要橫塊
這個網路安傘認證平台的安全連接部分主要分成3個部分,客戶端,訪問控制伺服器和證書管理伺服器。這個系統是一個網路安全的應用,所以網路通信和安全非常重要。在Internet公網上的通訊採用TCP/IP協議,使用MFC封裝的一步SOCKET類CasyncSocket建屯網路連接。至於安全方面的連接是採用密碼機,編程採用對USB的.驅動程序應用介面的訪問,這里使用的是針對這個密碼機的軟體開發包。
(一)客戶端的實現
客戶端的實現土要分為兩個部分,一個是對密碼機的控制,一個是對網路安全協議的支持。客戶端被設置為驗證PIN碼之後,就開始進行公私鑰自檢,自檢成功後就開始向連接控制伺服器提交驗證申請。
(二)訪問控制伺服器的實現
訪問控制伺服器的主要功能是負責外網和內網的數據交換,並判斷數據的屬性以做不同的處理。在訪問伺服器上面,維護了一個訪問許可權資料庫,這個資料庫鶚面含有資源伺服器上面所有的資源並且對每個不間的用戶ID標明了許可權。在客戶端和訪問控制伺服器之間建立了安全連接之後,伺服器就會將和這個客戶端聯系的線程轉變成一個轉發線程,客戶端將自己的需求加密之後發過來,經過轉發線程的解密處理之後,會按 貺 客戶端的許可權范圍決定是否將需求發送給資源伺服器,如果需求符合客戶端的許可權,那麼轉發線程會將得到的資源加密之後發送給客戶端。
(三)證書管理伺服器的實現
在這個安全平台裡面,證書管理伺服器的作用是證書生成和頒發,驗證客戶端和伺服器端的身份,並且生成對稱加密密鑰。證書管理伺服器有一個證書庫,存有安全平台系統里所有密碼機的證書。
PKI
PKI(Public Key Infrastructure ) 即"公開密鑰體系",是一種遵循既定標準的密鑰管理平台,它能夠為所有網路應用提供加密和數字簽名等密碼服務及所必需的密鑰和證書管理體系,簡單來說,PKI就是利用公鑰理論和技術建立的提供安全服務的基礎設施。PKI技術是信息安全技術的核心,也是電子商務的關鍵和基礎技術。
PKI的基礎技術包括加密、數字簽名、數據完整性機制、數字信封、雙重數字簽名等。
PKI的基本組成:
完整的PKI系統必須具有權威認證機構(CA)、數字證書庫、密鑰備份及恢復系統、證書作廢系統、應用介面(API)等基本構成部分,構建PKI也將圍繞著這五大系統來著手構建。
認證機構(CA):即數字證書的申請及簽發機關,CA必須具備權威性的特徵;
數字證書庫:用於存儲已簽發的數字證書及公鑰,用戶可由此獲得所需的其他用戶的證書及公鑰;
密鑰備份及恢復系統:如果用戶丟失了用於解密數據的密鑰,則數據將無法被解密,這將造成合法數據丟失。為避免這種情況,PKI提供備份與恢復密鑰的機制。但須注意,密鑰的備份與恢復必須由可信的機構來完成。並且,密鑰備份與恢復只能針對解密密鑰,簽名私鑰為確保其唯一性而不能夠作備份。
證書作廢系統:證書作廢處理系統是PKI的一個必備的組件。與日常生活中的各種身份證件一樣,證書有效期以內也可能需要作廢,原因可能是密鑰介質丟失或用戶身份變更等。為實現這一點,PKI必須提供作廢證書的一系列機制。
應用介面(API):PKI的價值在於使用戶能夠方便地使用加密、數字簽名等安全服務,因此一個完整的PKI必須提供良好的應用介面系統,使得各種各樣的應用能夠以安全、一致、可信的方式與PKI交互,確保安全網路環境的完整性和易用性。
通常來說,CA是證書的簽發機構,它是PKI的核心。眾所周知,構建密碼服務系統的核心內容是如何實現密鑰管理。公鑰體制涉及到一對密鑰(即私鑰和公鑰),私鑰只由用戶獨立掌握,無須在網上傳輸,而公鑰則是公開的,需要在網上傳送,故公鑰體制的密鑰管理主要是針對公鑰的管理問題,目前較好的解決方案是數字證書機制。
㈢ 網路安全之PKI技術原理
PKI:利用公鑰理論和技術建立的提供網路信息安全服務的基礎設施。為用戶提供所需的密鑰和證書管理,用戶可以利用PKI平台提供的安全服務進行安全通信。
PKI內容
1、認證機構
PKI的核心部分,認證中心,是數字證書的簽發機構,權威可信任的第三方機構
2、數字證書庫
在使用公鑰體制的網路環境中,必須向公鑰的使用者證明公鑰的真實合法性。因此,在公鑰體制環境中,必須有一個可信的機構來對任何一個主體的公鑰進行公證,證明主體的身份以及它與公鑰的匹配關系。
3、密鑰備份
如果用戶丟失了密鑰,會造成已經加密的文件無法解密,引起數據丟失,為了避免這種情況,PKI提供密鑰備份及恢復機制
4、證書作廢
身份變更或密鑰遺失
5、應用介面系統
PKI應用介面系統是為各種各樣的應用提供安全、一致、可信任的方式與PKI交互,確保所建立起來的網路環境安全可信,並降低管理成本。
目前網路交互、網路交易、電子商務、電子政務,可信賴的數字信息環境,必需建立在這些安全要素之上
PKI基於公鑰理論,建立在公鑰加密技術之上,了解PKI就先了解公鑰加密技術。
Public Key Infrastructure 公鑰基礎設施
在傳統密碼體制中,用於加密的密鑰和解密的密鑰完全相同,通過這兩個密鑰來共享信息。
這種體制所使用的加密演算法比較簡單,但高效快速,密鑰簡短,破譯困難。然而密鑰的傳送和保管是一個問題。例如,通訊雙方要用同一個密鑰加密與解密,首先,將密鑰分發出去是一個難題,在不安全的網路上分發密鑰顯然是不合適的;另外,任何一方將密鑰泄露,那麼雙方都要重新啟用新的密鑰。
常見演算法:MD5、RSA、DES
問題:共享的密鑰不安全、通信者都需要不通密鑰、通信雙方都可否認信息。