王晨飛,趙文華,徐 青,宋鵬飛,邵 楠
(1.國家電網有限公司客戶服務中心信息運維中心,天津 300309;2.天津市普迅電力信息技術有限公司,天津 300303)
計算機技術、App技術和網絡平臺技術的廣泛應用,提高了信息的泄密幾率,致使信息被黑客盜用事件頻發[1]。因此,如何提高平臺的整體安全性,增強平臺對黑客攻擊的防護能力,降低平臺中關鍵信息的丟失率,是目前各網絡平臺亟待解決的問題,也是本文研究的目的。目前,國內網絡平臺存在安全水平低,網絡架構不完善的問題,使其網絡平臺經常出現安全問題。有學者認為PKI技術作為一種公鑰的基礎設施,通過硬件、軟件、人員、策略和規程的集合,為各個平臺提供安全支持,并節約相應的安全管理成本[2]。也有學者認為,公鑰密碼機制、密鑰證書的配發與管理,能夠彌補網絡安全平臺安全構建的不足,增強平臺的整體安全性[3]。另外,網絡平臺的安全機制屬于基礎層的構建,無法進行徹底性的改變,只有在原有平臺基礎上進行完善。因此,將PKI技術與網絡平臺融合,具有技術層面、理論層面的可行性,成為目前國內研究的熱點。PKI技術自身具備完善的Internet安全解決方案,利用證書服務器,與各客戶端進行公鑰、私鑰傳遞,進行安全證書的可信驗證,有效地實現公鑰與用戶信息的捆綁。PKI技術能提高Internet通訊中的密鑰管理水平,保證網上數據的機密性和完整性。基于此背景,本文構建基于PKI技術的網絡安全平臺,分析PKI安全傳輸的公鑰、私鑰傳遞過程,以及相關證書的驗證機制,旨在提高現有平臺的信息傳輸安全。
PKI網絡安全平臺分為兩部分,一部分是認證信息的初始化,網絡平臺與PKI融合后,可以獲得證書服務器的公鑰,并在訪問控制服務器中進行驗證。然后,系統平臺會將所有私鑰的密碼發送到客戶端[4],存儲于密碼機中;另一部分是用戶Internet訪問的入網認證。平臺利用SSL/TLS協議進行認證,但不是簡單地認證疊加,而是依據安全要求進行協議調用。為了發揮USB密碼機的安全優勢,要將SSL/TLS協議進行動態調用[5]。雖然PKI網絡的傳輸協議比較簡單[6],但是SSL中的v3記錄協議,可以實現密碼算法轉換,將MAC算法轉化為SA128算法,提高認證密碼的安全等級。
安全平臺由3部分構成,分別為客戶端(client)、訪問服務器(Access server)和認證管理服務器(Authentication management server)。整個平臺的數據通訊采用TCP/IP協議[7],并以SOCKET類被MFC封裝[8],平臺的架構為CasyncSocket。客戶端利用USB上的密碼機隨機產生私鑰,與訪問服務器進行數據通訊,以獲得服務器的公鑰。在得到認證管理服務器確認后,客戶端與服務器之間實現安全通信。
客戶端分為兩部分,一部分是向訪問服務器發送私鑰,并獲得服務器的公鑰和身份驗證;另一部分是支持現有的TCP/IP協議。平臺可以在客戶端設置PIN碼[9],以提高私鑰的安全性,并定期對PIN進行自檢,避免私鑰被泄露。私鑰自檢完成后,客戶端與服務器進行私鑰傳遞,并獲得身份驗證。具體內容如圖1所示。
圖1 客戶端向服務器發生驗證申請的過程
密碼機是存儲于USB中的私鑰生成器,客戶端的計算機無法對密碼機進行更改,所以密碼機的PIN碼的安全性更高。但是,在部分極端情況下,諸如,USB電壓突然變化、人為破壞,密碼就會出現數據丟失的問題,影響密碼的安全[10]。因此,網絡安全平臺運行后,要對公私鑰的完整程度進行驗證。首先,密碼機對私鑰進行RSA加密,對公鑰進行RSA解密。如果前后數字一致,代表密碼機運行正常,并通過自檢,否則將顯示數據錯誤。由訪問控制服務器直接轉到證書管理服務器,以此完成客戶端的請求驗證信息驗證。經過安全協議處理后,訪問控制服務器與客戶端完成連接,具體過程如圖2所示。
圖2 客戶端驗證流程
客戶信息認證完成后,可以調用服務器中的數據和資源,實現相關數據的安全傳輸。
訪問控制服務器依據客戶端的調用要求,將外網的數據附上公鑰,并發送給客戶端,完成內外網的數據獲取。訪問數據庫內設有權限數據庫,依據用戶的ID和權限[11],分配其訪問的資源和內容。客戶端和訪問控制服務器之間建立安全鏈接后,服務器會向客戶端直接發送數據。客戶端將自己的需求加密,由轉發專線發送給訪問控制服務器,并獲得服務器的反饋數據。訪問控制服務器對客戶端的請求和權限進行判斷,符合相關要求后,對數據進行加密并發送給客戶端。
證書管理服務器(Certificate Management Server)的作用是向客戶端發送安全證書,驗證客戶端和訪問服務器的合法身份,并生成加密密鑰。證書管理服務器中存儲大量證書,可以對安全平臺中的所有密碼機進行有效驗證。證書管理服務器的驗證過程如圖3所示。
圖3 證書管理服務器的驗證過程
在證書管理服務器中還存在CRL地址,以提高證書的驗證效率。由于證書存在于管理服務器和密碼機兩部分,所以CRL地址中的過期證書,要由管理員進行手動修改和刪除。
PKI技術下網絡安全平臺涉及4個數據庫,分別為2個訪問數據庫和2個訪問控制數據庫。相對于其他數據庫來說,PKI技術下網絡安全平臺的數據庫相對較少[12]。由于安全平臺并不是基于公眾網絡的平臺,所以其訪問用戶量較小。為了提高安全平臺的運行效率,可以采用Berkeley數據庫系統。為了建立數據庫中的應用程序,要對數據庫的環境進行設置,所以要在Berkeley數據庫系統中,采用不同的設置形式。目前,Berkeley數據庫系統有2種設置形式,一種是獨立的數據庫應用程序,另一種是多函數連接的數據庫應用程序。Berkeley數據庫系統主要任務為,客戶端數據的安全傳輸、防止數據通訊存在死鎖、對各個客戶端進行數據安全檢查,數據庫視圖的自我維護、數據備份,以及平臺日志的歸檔、刪除。
數據庫的操作接口函數被封裝在函數數據庫中,當認證服務啟動后,會通過函數接口進行在線驗證,完成相關證書的讀取。在數據庫與管理程序操作過程中,數據庫服務器會依據客戶端的請求、身份驗證結果,進行數據發送。首先,服務器調用函數庫中接口命令recordorder(),將數據發送給客戶端;其次,在后臺服務器中進行log日志記錄、修改,并用closed()命令關閉服務器,斷開與客戶端的通訊。
不同于其他安全平臺,PKI具有以下優點。
(1)PKI技術下的安全平臺具有雙向認證系統
現有平臺的慣性思維是加強客戶端的安全等級,忽視服務器端的安全。部分用戶會上傳一些敏感信息,在缺乏服務器身份驗證的情況下,會造成信息泄露或者其他不良影響。因此,增加安全平臺的雙向認證機制,對于系統安全具有十分重要的作用。
(2)PKI技術下的安全平臺能有效隔離敏感信息
在以往的安全平臺中,敏感數據服務器與訪問服務器統一,并未進行有效的隔離,致使外網可以竊取服務器中的敏感信息。PKI技術下的安全平臺能有效隔離敏感信息,如果服務器被攻擊,也不會造成用戶數據外流。因此,PKI技術下的安全平臺具有維護成本低、安全性高,以及敏感信息少的優點。
(3)PKI技術下的安全平臺所需硬件水平低
高等級安全平臺對于硬件的要求較為苛刻,需要進行大成本的硬件鋪設。PKI技術下的安全平臺只是通過USB密碼機進行認證,所需的密碼都是由密碼機隨機完成,與整個計算機的硬件無關[13]。因此,PKI技術下的安全平臺所需硬件水平較低,符合我國現有國情。
(4)PKI技術下的安全平臺身份認證可靠性高
每一臺計算機的USB密碼機都含有啟動的PIN值,其他計算機與密碼機連接后,能夠獲得統一的隨機密碼。因此,擁有USB密碼機的PIN號,才能完成整個的攻擊操作。但是,USB密碼機與計算機的隔離,大大降低了黑客攻擊的成功率。
(1)認證證書的發放需要用戶在場
證書管理服務器是對USB密碼機進行讀寫的唯一設備,所以在進行證書發放時,用戶要將USB密碼機帶到證書管理服務器旁,才能完成密碼機的證書放。部分用戶由于工作、學習原因,無法按時到場,所以給用戶帶來一定的不便。另外,少部分用戶缺乏安全意識,在進行USB密碼機證書發放時,會被植入木馬、蠕蟲等病毒,降低通訊的安全率。
(2)PKI技術下安全平臺的擴展性差
PKI技術下安全平臺通過訪問控制服務器,與外界進行信息交流和訪問。雖然訪問控制服務器能夠有效地隔離外部攻擊,但也限制了客戶端的訪問范圍,無法實現不同安全平臺間的信息共享。因此,擴展性差是PKI技術下安全平臺的不足,減少了平臺的功能。
(3)存在安全協議的公鑰漏洞
由于PKI技術下安全平臺主要是通過公鑰進行認證,私鑰與公鑰聯合后才能實現傳輸連接。公鑰的有效保存對于平臺的安全至關只要,而其自身的安全等級卻比較低,所以容易出現公鑰泄露的問題。另外,公鑰在不同客戶端間的傳輸,會被客戶端中的木馬盜用,致使整個安全平臺的安全受到威脅。
(4)PKI技術下安全平臺的效率低
PKI技術下安全平臺適用于少量的高端客戶認證,不適用大量客戶的驗證情況[14]。另外,USB密碼機與計算機之間存在通訊效率的問題,USB口的傳輸速度對于平臺的影響比較明顯。
我國的網絡安全受到威脅,需要具有自主知識產權的網絡產品。針對上述情況,本文利用TCP/IP協議,以及USB密碼機,實現公鑰、私鑰的聯合運用,提高平臺的整體安全性。但是,PKI技術下的安全平臺也存在自身的不足,有待于進一步的改善和增強。本文只是對PKI技術下的安全平臺進行安全傳輸機制、安全傳輸技術進行分析,其他相關內容有待于進一步深入討論。隨著PKI技術的不斷完善,未來PKI技術下的安全平臺將會具備更高的安全性,增強自身的傳輸效率,提高擴展性,滿足國內對網絡安全平臺的需要。