基於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標明了權限。在客戶端和訪問控制服務器之間建立了安全連接之後,服務器就會將和這個客戶端聯系的線程轉變成壹個轉發線程,客戶端將自己的需求加密之後發過來,經過轉發線程的解密處理之後,會按 貺 客戶端的權限範圍決定是否將需求發送給資源服務器,如果需求符合客戶端的權限,那麽轉發線程會將得到的資源加密之後發送給客戶端。
(三)證書管理服務器的實現
在這個安全平臺裏面,證書管理服務器的作用是證書生成和頒發,驗證客戶端和服務器端的身份,並且生成對稱加密密鑰。證書管理服務器有壹個證書庫,存有安全平臺系統裏所有密碼機的證書。