SSL安全傳輸技術(shù)的探索應(yīng)用實(shí)踐
熱點(diǎn)探究信息安全SSL安全傳輸技術(shù)的探索應(yīng)用實(shí)踐中國(guó)銀行信息中心高國(guó)奇段慧軍周波勇近年來(lái),隨著IBM主機(jī)通信技術(shù)的進(jìn)一步發(fā)展,在互聯(lián)網(wǎng)中應(yīng)用廣泛的TCP/IP協(xié)議逐漸成為主機(jī)通信網(wǎng)絡(luò)的主要工作協(xié)議之一
熱點(diǎn)探究
信息安全
SSL安全傳輸技術(shù)的探索應(yīng)用實(shí)踐
中國(guó)銀行信息中心
高國(guó)奇
段慧軍
周波勇
近年來(lái),隨著IBM主機(jī)通信技術(shù)的進(jìn)一步發(fā)展,在互聯(lián)網(wǎng)中應(yīng)用廣泛的TCP/IP協(xié)議逐漸成為主機(jī)通信網(wǎng)絡(luò)的主要工作協(xié)議之一。
IBMWebSphereMQ是一個(gè)優(yōu)秀的消息傳遞中間件,它被廣泛地應(yīng)用于各種企業(yè)應(yīng)用系統(tǒng)之間的互聯(lián)。WebSphereMQ也作為重在許多大型銀行業(yè)務(wù)系統(tǒng)中,
要的聯(lián)機(jī)傳輸工具被大量投入應(yīng)用。由于WebSphere在很多的銀行業(yè)務(wù)系統(tǒng)部署中,MQ支持TCP/IP協(xié)議,
開(kāi)始逐步采用TCP/IP作為基礎(chǔ)的網(wǎng)絡(luò)平臺(tái)系統(tǒng)。但TCP/IP體系結(jié)構(gòu)的天然開(kāi)放性,人們?cè)谙硎芷鋷?lái)便利的同時(shí),也很容易遭受各種有意或無(wú)意的攻擊,如:破壞信息的完整性、仿冒他人非法獲取機(jī)密資料、在傳輸過(guò)程中截獲各種信息等。為了保證TCP/IP通信的安全性,人們提出了安全套接層(SSL,SecuritySocketLayer)協(xié)議。目前,SSL已經(jīng)成為一種安全有效的網(wǎng)絡(luò)安全技術(shù),被人們廣泛地部署到各種應(yīng)用系統(tǒng)中。IBM公司的WebSphereMQ從5.3版本開(kāi)始支持SSL,可以利用它建立安全可靠的數(shù)據(jù)傳輸通道。
本文結(jié)合數(shù)據(jù)安全通信的一些基本概念和要點(diǎn),簡(jiǎn)要介紹了SSL技術(shù)的工作過(guò)程,并針對(duì)IBM公司的z/OS平臺(tái)和AIX平臺(tái)上的WebSphereMQ應(yīng)用,探討和驗(yàn)證了SSL技術(shù)對(duì)于WebSphereMQ安全通信的應(yīng)用和部署方法。
體的劃分有賴(lài)于所涉及的對(duì)象。目前常將其分成以下三個(gè)主要類(lèi)別:保密性(Confidentiality)、消息完整性(MessageIntegrity)和端點(diǎn)認(rèn)證(EndpointAuthentica-tion)。
①保密性。通常來(lái)說(shuō),人們?cè)谝?guī)劃網(wǎng)絡(luò)安全時(shí)首先考慮的是其保密性,目的就是希望能保證信息對(duì)無(wú)關(guān)的用戶(hù)是不可用的。
②消息完整性。消息完整性是指通信雙方需要確認(rèn)自己所收到的信息就是發(fā)送者發(fā)送的信息,目的是要保證發(fā)送方發(fā)送的信息在到達(dá)接收方之前沒(méi)有被任何第三方篡改。
③端點(diǎn)認(rèn)證。端點(diǎn)認(rèn)證的目的是要確定通信中的某個(gè)端點(diǎn)(通常為發(fā)送方)就是明確已知的那個(gè)端點(diǎn)。如果沒(méi)有端點(diǎn)認(rèn)證,要想提供保密性和消息完整性就會(huì)非常困難。例如,我們收到了一份來(lái)自客戶(hù)端張三的消息,如果無(wú)法確定該消息是由客戶(hù)端還是攻擊者發(fā)送的,那么消息的完整性和保密性對(duì)于我們來(lái)說(shuō)就沒(méi)有任何意義。與之類(lèi)似,當(dāng)我們向服務(wù)器端李四發(fā)送一份機(jī)密信息,而實(shí)際上卻將機(jī)密信息發(fā)送給了攻擊者,對(duì)我們來(lái)說(shuō)也同樣毫無(wú)意義可言。
下面簡(jiǎn)單介紹一些常用的網(wǎng)絡(luò)安全應(yīng)用技術(shù)。
1.密碼學(xué)
密碼學(xué)是一種設(shè)計(jì)各種安全算法的理論,研究使用此類(lèi)算法的目的是為了保證系統(tǒng)和協(xié)議的安全。其
一、網(wǎng)絡(luò)安全技術(shù)
通信安全由許多不同而相互關(guān)聯(lián)的特性構(gòu)成,具
基本思想是:加密算法接收一定長(zhǎng)度的用戶(hù)數(shù)據(jù)并在密鑰的控制下將其轉(zhuǎn)換為密文(Ciphertext)。密文看上去就像隨機(jī)數(shù)據(jù),沒(méi)有密碼就無(wú)法收集與明文(Plain-
中國(guó)金融電腦2007年第3期?19
,熱點(diǎn)探究
信息安全
text)有關(guān)的各種有用信息。
在密碼學(xué)中,待加密的消息稱(chēng)為明文,經(jīng)過(guò)一個(gè)以密鑰為參數(shù)的函數(shù)變換,輸出的結(jié)果稱(chēng)為密文,這個(gè)過(guò)程稱(chēng)為加密。當(dāng)密文通過(guò)網(wǎng)絡(luò)傳送到接收方之后,使用一個(gè)與加密過(guò)程相同的密鑰(對(duì)稱(chēng)加密)或不同的密鑰(非對(duì)稱(chēng)加密)為參數(shù)的函數(shù)進(jìn)行變換,這個(gè)過(guò)程稱(chēng)為解密,輸出的結(jié)果為原始的明文。
評(píng)價(jià)一個(gè)加密算法的好壞主要取決于兩個(gè)方面:算法的強(qiáng)健性(即牢固程度)、密鑰的長(zhǎng)度。
公開(kāi)密鑰密碼體系一般不用于數(shù)據(jù)信息加密,而主要用于解決密鑰發(fā)布和身份認(rèn)證問(wèn)題。數(shù)據(jù)信息的加密主要采用對(duì)稱(chēng)密碼方式。
3.消息摘要
消息摘要(MD,MessageDigest)是一種函數(shù),它以單向散列函數(shù)作為基礎(chǔ),接受一個(gè)任意長(zhǎng)度消息明文作為輸入,并且根據(jù)此明文計(jì)算出一個(gè)固定長(zhǎng)度的位串。消息摘要有以下四個(gè)重要特征。
①給定消息P,很容易計(jì)算MD(P);
②給定MD(P),在實(shí)踐中要想找到P是不可能的;)=MD③在給定P的情況下,無(wú)法找到滿(mǎn)足MD(P′(P)的P′;
也會(huì)導(dǎo)致④在輸入的消息中即使只有1位的變化,完全不同的輸出。
直白地說(shuō),消息摘要最重要的屬性是不可逆性(Ir-reversibility),給定摘要值,要想計(jì)算出它對(duì)應(yīng)的消息幾乎是不可能的。
消息摘要的主要用途是用于計(jì)算數(shù)字簽名和信息驗(yàn)證碼。目前使用最為廣泛的消息摘要算法是消息摘要5(MD5)和安全散列算法1(SHA-1)。
2.加密算法
常用的數(shù)據(jù)加密算法有對(duì)稱(chēng)密鑰加密和非對(duì)稱(chēng)密鑰加密兩大體系。在對(duì)稱(chēng)密鑰體系中,通信雙方持有相同的密鑰,信息發(fā)送方用密鑰將信息加密,密文到達(dá)接收方后,使用同一個(gè)密鑰將其解密。在實(shí)際應(yīng)用中有多種加密算法屬于對(duì)稱(chēng)密鑰體系,如常見(jiàn)的數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)、三重DES(3DES)和高級(jí)加密標(biāo)準(zhǔn)AES)等。(
DES是由IBM公司在20世紀(jì)70年代開(kāi)發(fā)的一個(gè)美國(guó)官方加密標(biāo)準(zhǔn),曾經(jīng)廣泛應(yīng)用于很多安全產(chǎn)品中。由于其密鑰長(zhǎng)度只有56位,很容易遭到破解,目前已經(jīng)無(wú)法提供足夠的安全保障。后來(lái)IBM公司意識(shí)到DES的密鑰長(zhǎng)度太短,通過(guò)三重加密的方法對(duì)其進(jìn)行了有效的改進(jìn),改進(jìn)的算法稱(chēng)為3DES,其密鑰長(zhǎng)度擴(kuò)展為168位。由于改進(jìn)的算法能夠提供良好的數(shù)據(jù)信息保密性,3DES加密算法當(dāng)前已獲得了廣泛的應(yīng)用。
AES算法是目前可選的最佳加密算法之一,其算法支持128、192和256位密鑰長(zhǎng)度,具有極強(qiáng)的加密安全性和可靠性,在目前及可以預(yù)見(jiàn)的將來(lái)都會(huì)廣泛應(yīng)用于各種安全產(chǎn)品中。
在非對(duì)稱(chēng)密鑰體系(一般稱(chēng)為公開(kāi)密鑰密碼體系)中,密鑰是由一個(gè)密鑰對(duì)組成的,一個(gè)密鑰對(duì)包括一個(gè)私鑰和一個(gè)公鑰。公鑰和私鑰一起產(chǎn)生并且相互依存。密鑰的發(fā)布者自己擁有私鑰,并且將公鑰公開(kāi)給所有需要與之通信的人。由公鑰加密的信息可以由私鑰解密,反之亦然。
目前公開(kāi)密鑰密碼體系中常用的算法是RSA算法。在實(shí)踐中大量的安全性都是建立在它的基礎(chǔ)之上。其主要缺點(diǎn)是:要想達(dá)到好的安全性,要求至少使用1024位長(zhǎng)度的密鑰,這使得RSA算法的速度非常慢。
20?中國(guó)金融電腦2007年第3期
4.信息驗(yàn)證碼
信息驗(yàn)證碼(MAC)類(lèi)似于摘要算法,但是它在計(jì)算的時(shí)候還需要采用一個(gè)密鑰,因此MAC同時(shí)依賴(lài)于所使用的密鑰及信息本身。目前常用的構(gòu)造MAC的方法是HMAC。
5.?dāng)?shù)字簽名
為了能夠在信息系統(tǒng)中驗(yàn)證各種敏感信息和參與方的真實(shí)有效性,需要構(gòu)建一個(gè)經(jīng)過(guò)授權(quán)的數(shù)字簽名系統(tǒng),其中一方向另一方發(fā)送的簽名消息必須滿(mǎn)足以下的條件。
①接收方可以驗(yàn)證發(fā)送方宣稱(chēng)的身份;②發(fā)送方以后無(wú)法否認(rèn)該消息的內(nèi)容;③接收方不可能自己編造這樣的消息。
滿(mǎn)足以上三個(gè)條件的數(shù)字簽名系統(tǒng)可以實(shí)現(xiàn)身份確認(rèn)、不可抵賴(lài)性。
利用公開(kāi)密鑰密碼體系和消息摘要技術(shù)可以實(shí)現(xiàn)數(shù)字簽名技術(shù)。如圖1所示,客戶(hù)端張三首先計(jì)算明文P的消息摘要MD(P),然后針對(duì)消息摘要用自己的私鑰DA加密進(jìn)行簽名,并且將簽名之后的摘要和明
,熱點(diǎn)探究
信息安全
文本身一起發(fā)送給服務(wù)器端李四。如果中途有攻擊者偷偷將P更換為P′,則當(dāng)李四計(jì)算MD(P′)時(shí)就會(huì)發(fā)現(xiàn)這一點(diǎn)。
英文域名
中文域名版本序列號(hào)
含義
表1數(shù)字證書(shū)中的主要域
VersionX.509的具體版本號(hào)序列號(hào)加上CA的名字唯一
標(biāo)識(shí)當(dāng)前證書(shū)
用于為證書(shū)做簽名的算法
張三
圖1
P,D[]AMD(P)
使用消息摘要的數(shù)字簽名
李四
Serialnumber
Signaturealgorithm簽名算法Issuer
頒發(fā)者有效期主題名公鑰
頒發(fā)者標(biāo)識(shí)符主題標(biāo)識(shí)符擴(kuò)展域簽名
CA的X.500名字有效期的起止時(shí)間
該證書(shū)所證明的密鑰所有者
實(shí)體
主題的公鑰及使用該公鑰的算法的ID
一個(gè)可選的ID,唯一標(biāo)識(shí)了證書(shū)的頒發(fā)者
一個(gè)可選的ID,唯一標(biāo)識(shí)了證書(shū)的主題
目前已經(jīng)定義了許多擴(kuò)展域證明的簽名(用CA的私鑰做的簽名)
采用數(shù)字簽名,能夠保證信息是由簽發(fā)者自己簽名發(fā)送的,簽名者不能否認(rèn);信息自簽發(fā)后到收到為止沒(méi)被修改過(guò),簽發(fā)的信息真實(shí)有效。
ValidityperiodSubjectnamePublickeyIssuerIDSubjectIDExtensionsSignature
6.?dāng)?shù)字證書(shū)
利用公開(kāi)密鑰密碼體系和消息摘要可以計(jì)算數(shù)字簽名,但是無(wú)法解決公鑰的安全發(fā)布問(wèn)題。為了解決這個(gè)問(wèn)題,人們成立了一個(gè)名為證書(shū)權(quán)威機(jī)構(gòu)(CA,Certi-ficationAuthority)的組織來(lái)管理公鑰的發(fā)布問(wèn)題。CA所做的主要工作就是證明每個(gè)公鑰的確屬于某個(gè)真實(shí)的個(gè)人、公司或者組織。例如,李四希望張三和其他的人能出示他的公鑰夠安全地與他通信,他可以找到一個(gè)CA,和能夠證明其真實(shí)身份的材料。然后,CA給他頒發(fā)一個(gè)包含其公鑰的證書(shū),并且使用CA自己的私鑰對(duì)證書(shū)的摘要散列值進(jìn)行簽名。這樣李四就獲得了經(jīng)過(guò)CA簽名的數(shù)字證書(shū)。如果簽署證書(shū)的上級(jí)證書(shū)就是自身,這種證書(shū)就稱(chēng)為自簽證書(shū)。在沒(méi)有CA的環(huán)境下,可以使用自簽證書(shū)。
證書(shū)的基本任務(wù)是將一個(gè)公鑰與安全主體(個(gè)人、公司等)的名字綁定在一起。為了保證證書(shū)格式的一致性,ITU設(shè)計(jì)了一套專(zhuān)門(mén)針對(duì)證書(shū)格式的標(biāo)準(zhǔn)X.509。X.509的核心是提供了一種描述證書(shū)的格式。表1列出了一個(gè)證書(shū)中最主要的域。
證書(shū)本身沒(méi)有加密,同時(shí)也無(wú)須保護(hù),而是其他用戶(hù)通過(guò)驗(yàn)證該證書(shū)的合法性來(lái)確保獲得安全主體的公鑰。
CA、證書(shū)和目錄。公開(kāi)密鑰基礎(chǔ)設(shè)施的主要任務(wù)是提供一種方法將這些部件有序地組織起來(lái),并且定義各種文檔和協(xié)議標(biāo)準(zhǔn)。一個(gè)實(shí)際的PKI形式可能是一個(gè)單層的CA,也可能是一個(gè)多層的CA。公開(kāi)密鑰基礎(chǔ)設(shè)施通常為樹(shù)形的組織結(jié)構(gòu),其中最頂級(jí)的為根CA,它的責(zé)任是證明第二級(jí)的CA,依次類(lèi)推。處于中間層次的CA有時(shí)又稱(chēng)為區(qū)域權(quán)威機(jī)構(gòu)(RA,RegionalAuthority),它們可能覆蓋一個(gè)特定的分支機(jī)構(gòu)或一個(gè)特定的地理區(qū)域。處于最底層的CA真正為組織和個(gè)人頒發(fā)X.509證書(shū)。
每一由于在公開(kāi)密鑰基礎(chǔ)設(shè)施的CA層次關(guān)系中,個(gè)直接上層CA都為其直接下層提供了簽名證書(shū),這樣就形成了從最終用戶(hù)到根CA的證書(shū)鏈,我們稱(chēng)之為信任鏈(ChainOfTrust)或者證書(shū)路徑(CertificationPath)。其中根CA有時(shí)被稱(chēng)為信任錨(TrustAnchor)。
公開(kāi)密鑰基礎(chǔ)設(shè)施還要負(fù)責(zé)處理有關(guān)證書(shū)撤銷(xiāo)的事情,每個(gè)CA?xí)ㄆ诎l(fā)布一個(gè)證書(shū)撤銷(xiāo)列表(CRL,CertificateRevocationList),該CRL列出了所有已被撤銷(xiāo)證書(shū)的序列號(hào)。用戶(hù)可以通過(guò)定期更新CRL列表來(lái)查詢(xún)證書(shū)的有效性。
中國(guó)金融電腦2007年第3期?21
7.公開(kāi)密鑰基礎(chǔ)設(shè)施
使用CA可以解決公鑰安全發(fā)布的問(wèn)題,但是對(duì)于CA本身也需要建設(shè)一個(gè)合適的管理架構(gòu)。為此,人們又提出了另外一種證明公鑰身份的方法,它的通用名稱(chēng)是公開(kāi)密鑰基礎(chǔ)設(shè)施(PKI,PublicKeyInfrastructure)。
一個(gè)公開(kāi)密鑰基礎(chǔ)設(shè)施有許多部件,包括用戶(hù)、
,熱點(diǎn)探究
信息安全
消息用來(lái)指示之后所有的消息都將使用剛剛商定的密
二、SSL技術(shù)
SSL是美國(guó)網(wǎng)景(Netscape)公司提出的數(shù)據(jù)安全通信協(xié)議。SSL定義了在應(yīng)用程序協(xié)議(如HTTP、Telenet、WebSphereMQ和FTP等)和TCP/IP協(xié)議之間提供數(shù)據(jù)安全性分層的機(jī)制。
SSL在兩個(gè)套接字之間建立一個(gè)安全的連接,其中包括以下功能。
①客戶(hù)和服務(wù)器之間的參數(shù)協(xié)商;②客戶(hù)和服務(wù)器的雙向認(rèn)證;③保密的通信;④數(shù)據(jù)完整性保護(hù)。
SSL支持多種密碼學(xué)算法,定義了多種安全參數(shù)組合,每種安全參數(shù)組合包括三個(gè)部分:簽名算法、加密算法和信息驗(yàn)證算法。其中,簽名算法用來(lái)完成數(shù)字簽名的功能,加密算法用于防止數(shù)據(jù)泄密,信息驗(yàn)證算法用于保證數(shù)據(jù)完整性。目前較好的一種組合是使用RSA作為簽名算法,使用三個(gè)獨(dú)立密鑰的3DES作為加密算法,使用SHA-1來(lái)保護(hù)數(shù)據(jù)完整性。這種組合具有很高的安全性,主要應(yīng)用于銀行和其他一些對(duì)安全要求比較高的行業(yè)。
SSL由兩個(gè)子協(xié)議組成,一個(gè)用于安全連接的建立,另一個(gè)用于數(shù)據(jù)的安全傳輸。
張三
碼進(jìn)行加密,并用Finished消息來(lái)包含對(duì)整個(gè)連接過(guò)程的校驗(yàn)。
一旦服務(wù)器收到客戶(hù)端的Finished消息,就會(huì)發(fā)送自己的ChangeCipherSpec和Finished消息,從而完成了建立安全連接階段。
2.使用安全的連接傳送用戶(hù)數(shù)據(jù)
為了傳輸實(shí)際的數(shù)據(jù),我們需要使用SSL的第二個(gè)子協(xié)議,如圖3所示。
來(lái)自應(yīng)用程序的信息數(shù)據(jù)首先被分割成最大16KB的單元,如果當(dāng)前連接支持壓縮功能的話(huà),則每個(gè)單元被獨(dú)立壓縮。然后利用協(xié)商好的散列算法(如MD5或SHA-1)作散列運(yùn)算,這個(gè)散列值被附加到每一個(gè)分段的尾部,作為它的MAC,之后利用協(xié)商好的對(duì)稱(chēng)加密算法對(duì)整個(gè)分段(包括MAC尾部)進(jìn)行加密。最后每個(gè)分段被附加一個(gè)分段頭,通過(guò)TCP連接被傳送出去。
1996年,SSL被IETF組織進(jìn)行了標(biāo)準(zhǔn)化工作,最終形成了傳輸層安全(TLS,TransportLayerSecurity)。
握手:ClientHelloRA握手:ServerHelloRB握手:CertificateChain握手:ServerHelloDone握手:ClientKeyExchangeChangeCipherSpec握手:完成ChangeCipherSpec握手:完成
李四
1.建立安全的連接
圖2示出了連接建立子協(xié)議的工作過(guò)程。
張三(客戶(hù)端)向李四(服務(wù)如圖2所示,
器端)發(fā)送一個(gè)建立連接的請(qǐng)求,發(fā)送的第一條消息為ClientHello,其中包含了客戶(hù)端推薦的加密參數(shù)和密鑰產(chǎn)生過(guò)程中使用的隨機(jī)數(shù)RA。服務(wù)器以三條消息進(jìn)行響應(yīng):首先發(fā)送選擇加密參數(shù)與壓縮算法的ServerHello和使用的隨機(jī)數(shù)RB,然后發(fā)送包含服務(wù)器公鑰的證書(shū)鏈,最后發(fā)送ServerHelloDone消息表示握手結(jié)束。
接下來(lái)客戶(hù)端發(fā)送ClientKeyExchange消息,并隨機(jī)產(chǎn)生一個(gè)用服務(wù)器公鑰加密的密鑰。隨后發(fā)送一條ChangeCipherSpec消息,該
22?中國(guó)金融電腦2007年第3期
加密
加上分段頭
分段壓縮加上MAC
圖2SSL連接建立子協(xié)議
來(lái)自應(yīng)用的信息數(shù)據(jù)部分1
……
部分n
圖3使用SSL的數(shù)據(jù)傳輸
熱點(diǎn)探究
信息安全
下三個(gè)方面的工作。
三、WebSphereMQ的SSL應(yīng)用探討
為了在IBMz/OS平臺(tái)和AIX平臺(tái)上實(shí)現(xiàn)Web-SphereMQ的SSL安全連接,需要考慮和規(guī)劃下列內(nèi)容。
(1)制作和存儲(chǔ)數(shù)字證書(shū)
制作數(shù)字證書(shū)可以通過(guò)各自系統(tǒng)提供的工具來(lái)實(shí)現(xiàn)。在z/OS平臺(tái)中我們可以使用系統(tǒng)提供的RACF組件;在AIX平臺(tái)可以使用系統(tǒng)提供的iKeyman或GSK工具。
為了存儲(chǔ)數(shù)字證書(shū),還需要指定系統(tǒng)使用的證書(shū)存儲(chǔ)機(jī)制。對(duì)于z/OS平臺(tái)可以使用密鑰存儲(chǔ)環(huán),對(duì)于AIX平臺(tái)使用密鑰數(shù)據(jù)庫(kù)(KDB)。(KeyRing)
如果使用CA簽名證書(shū),使用WebSphereMQ通信的各方需要將CA機(jī)構(gòu)的證書(shū)鏈及經(jīng)過(guò)CA簽名的證書(shū)存儲(chǔ)在各自的系統(tǒng)中。如圖4所示,四個(gè)利用Web-SphereMQ進(jìn)行安全數(shù)據(jù)傳輸?shù)南到y(tǒng)只需要保存CA的證書(shū)鏈、自身的CA簽名證書(shū)和私鑰。
如果使用自簽證書(shū),通信各方分別需要保存自身和其他各個(gè)節(jié)點(diǎn)的證書(shū)。如圖5所示,四個(gè)利用Web-SphereMQ進(jìn)行安全數(shù)據(jù)傳輸?shù)南到y(tǒng)需要分別保存其他三個(gè)系統(tǒng)的自簽證書(shū)、自身的證書(shū)和私鑰。
(2)設(shè)置SSL工作參數(shù)
為了在IBMz/OS平臺(tái)和AIX平臺(tái)上正確部署WebSphereMQ的SSL安全應(yīng)用,需要確定以下SSL具
1.?dāng)?shù)字證書(shū)
獲取數(shù)字證書(shū)可以選擇以下兩個(gè)方式之一。①向證書(shū)認(rèn)證機(jī)構(gòu)申請(qǐng)CA證書(shū);②系統(tǒng)自制自簽證書(shū)。
如果不需要通過(guò)第三方進(jìn)行身份確認(rèn),即在互信的應(yīng)用環(huán)境中,可以使用操作系統(tǒng)提供的工具制作數(shù)字可以通過(guò)從證書(shū)并進(jìn)行自我簽名。如果使用CA證書(shū),
CA認(rèn)證中心下載或者提交個(gè)人證書(shū)請(qǐng)求來(lái)獲得經(jīng)過(guò)CA簽名的證書(shū)。
在大型銀行系統(tǒng)中,我們可以通過(guò)建設(shè)PKI系統(tǒng)來(lái)構(gòu)建企業(yè)自身使用的CA認(rèn)證機(jī)構(gòu)以提供CA證書(shū)管理服務(wù)。
2.SSL安全參數(shù)
SSL安全參數(shù)是安全套件集合中的成員,我們?cè)诰唧w應(yīng)用中需要指明實(shí)際使用的安全參數(shù)。一個(gè)安全參數(shù)主要包括以下幾個(gè)方面。
①密鑰交換和認(rèn)證算法;②傳輸數(shù)據(jù)用的對(duì)稱(chēng)加密算法;
③消息認(rèn)證算法。
在IBMz/OS平臺(tái)上支持的安全參數(shù)集合有基本安全級(jí)別和安全級(jí)別3兩個(gè)等級(jí)。基本安全級(jí)別提供最為基本的安全功能,無(wú)法滿(mǎn)足對(duì)數(shù)據(jù)安全有著極高要求的銀行業(yè)務(wù)系統(tǒng)的需求。安全級(jí)別3提供的安全參數(shù)大大增強(qiáng)了使用SSL進(jìn)行數(shù)據(jù)傳輸?shù)陌踩?,能夠滿(mǎn)足銀行業(yè)務(wù)系統(tǒng)對(duì)于數(shù)據(jù)的安全性。
密鑰存儲(chǔ)庫(kù)私鑰系統(tǒng)3密鑰存儲(chǔ)庫(kù)私鑰系統(tǒng)1
系統(tǒng)2
私鑰
CA證書(shū)
CA證書(shū)
經(jīng)過(guò)CA簽名
的個(gè)人證書(shū)
密鑰存儲(chǔ)庫(kù)
經(jīng)過(guò)CA簽名的個(gè)人證書(shū)
系統(tǒng)4
私鑰
CA證書(shū)
CA證書(shū)
經(jīng)過(guò)CA簽名的個(gè)人證書(shū)
密鑰存儲(chǔ)庫(kù)
經(jīng)過(guò)CA簽名的個(gè)人證書(shū)
3.部署SSL
為了在WebSphereMQ通信中實(shí)現(xiàn)SSL安全功能,需要做好以
中國(guó)金融電腦2007年第3期?23
圖4使用CA簽名證書(shū)利用WebSphereMQ進(jìn)行安全數(shù)據(jù)傳輸?shù)南到y(tǒng)
,熱點(diǎn)探究
信息安全
系統(tǒng)1
系統(tǒng)2
四、WebSphereMQSSL使用案例
系統(tǒng)3
自簽證書(shū)
系統(tǒng)4自簽證書(shū)密鑰
系統(tǒng)2自簽證書(shū)系統(tǒng)3自簽證書(shū)系統(tǒng)4自簽證書(shū)密鑰
系統(tǒng)1自簽證書(shū)
為了在IBMz/OS和AIX平臺(tái)上測(cè)試和驗(yàn)證WebSphereMQ的SSL安全應(yīng)用實(shí)施方法和效果,我們利用兩臺(tái)IBM主機(jī)和兩臺(tái)RS6000小型機(jī)分別搭建環(huán)境進(jìn)行SSL安全數(shù)據(jù)
密鑰存儲(chǔ)庫(kù)自簽證書(shū)密鑰存儲(chǔ)庫(kù)自簽證書(shū)
系統(tǒng)3系統(tǒng)4
系統(tǒng)1
自簽證書(shū)系統(tǒng)2自簽證書(shū)系統(tǒng)4自簽證書(shū)密鑰
系統(tǒng)1自簽證書(shū)系統(tǒng)2自簽證書(shū)系統(tǒng)3自簽證書(shū)密鑰
傳輸測(cè)試。
1.系統(tǒng)軟硬件平臺(tái)
在我們的測(cè)試環(huán)境中,分別選擇兩臺(tái)IBMZ系列主機(jī)和RS6000小型機(jī)作為測(cè)試硬件平臺(tái)。
在兩臺(tái)主機(jī)上選擇兩個(gè)
密鑰存儲(chǔ)庫(kù)自簽證書(shū)
密鑰存儲(chǔ)庫(kù)自簽證書(shū)
圖5使用自簽證書(shū)利用WebSphereMQ進(jìn)行安全數(shù)據(jù)傳輸?shù)南到y(tǒng)
體配置參數(shù)。
①選擇合適的安全參數(shù);
②提供保存數(shù)字證書(shū)的密鑰存儲(chǔ)文件;。③準(zhǔn)備數(shù)字證書(shū)(CA證書(shū)或者自簽證書(shū))在一些特殊的應(yīng)用環(huán)境中,下列配置作為可選項(xiàng)也需要明確。
①證書(shū)標(biāo)識(shí)名過(guò)濾;
②通過(guò)LDAP檢查證書(shū)撤銷(xiāo)列表;③使用硬件加密卡。
(3)設(shè)置WebSphereMQ工作參數(shù)
為了在特定的隊(duì)列管理器和特定的連接通道上設(shè)置SSL安全應(yīng)用,需要分別設(shè)置它們的安全屬性。
隊(duì)列管理器的安全屬性設(shè)置如表2所示。連接通道的安全屬性設(shè)置如表3所示。
表2
屬性
LPAR:LPAR1和LPAR2,分別運(yùn)行z/OS1.7版本作為軟件平臺(tái)。在兩臺(tái)RS6000機(jī)器上分別運(yùn)行AIX4.3.3版本和AIX5.2L版本(AIX2)作為軟件平臺(tái)。所有系統(tǒng)(AIX1)
平臺(tái)上均安裝運(yùn)行WebSphereMQ5.3.1,該版本提供了基于SSL的安全應(yīng)用實(shí)現(xiàn)。
AIX平臺(tái)上運(yùn)行的WebSphereMQ5.3.1版本在啟用SSL安全傳輸功能時(shí),對(duì)C++運(yùn)行時(shí)的版本有嚴(yán)格要求。對(duì)于AIX4.3.3版本,要求C++運(yùn)行時(shí)的版本不低于5.0.2.0;對(duì)于AIX5.2L版本要求C++運(yùn)行時(shí)的版本不低于6.0.0.2。
另外,我們還選擇了一臺(tái)運(yùn)行Windows2003企業(yè)版的PC機(jī),利用其自帶證書(shū)服務(wù)組件搭建了一個(gè)CA認(rèn)證中心,來(lái)提供證書(shū)簽名服務(wù)。
隊(duì)列管理器的安全屬性設(shè)置
描述
證書(shū)存儲(chǔ)庫(kù)的名稱(chēng)
(不帶擴(kuò)展名)
必須可選可選可選
屬性
表3連接通道的安全屬性設(shè)置
描述
加密套件名稱(chēng)
(隊(duì)列兩端必須保持一致)
必須可選可選
SSLKEYRSSLCRYPSSLCRLNLSSLTASKS
SSLCIPHSSLCAUTHSSLPEER
SSL加密硬件(Unixonly)SSL證書(shū)撤銷(xiāo)列表庫(kù)SSL啟動(dòng)任務(wù)數(shù)量(z/OSonly)
SSL客戶(hù)端認(rèn)證可選參數(shù)(REQUIRED/OPTIONAL)X.509證書(shū)標(biāo)識(shí)名過(guò)濾
24?中國(guó)金融電腦2007年第3期
,熱點(diǎn)探究
信息安全
2.配置和組網(wǎng)
對(duì)于WebSphereMQ的具體配置如下。
(1)在LPAR1上使用“MQUSER”用戶(hù)來(lái)啟動(dòng)MQ應(yīng)用作業(yè),隊(duì)列管理器的名稱(chēng)為“MQZ1”,并配置如下通道。
發(fā)送通道:C_MQZ1.MQZ2、C_MQZ1.MQA1;接收通道:C_MQZ2.MQZ1、C_MQA1.MQZ1。(2)在LPAR2上使用“MQUSER”用戶(hù)來(lái)啟動(dòng)MQ應(yīng)用作業(yè),隊(duì)列管理器的名稱(chēng)為“MQZ2”,并配置如下通道。
發(fā)送通道:C_MQZ2.MQZ1、C_MQZ2.MQA2;C_MQZ1.MQZ2、C_MQA2.MQZ2。接收通道:
(3)在AIX1上使用“root”用戶(hù)來(lái)啟動(dòng)MQ應(yīng)用作業(yè)(root用戶(hù)需要加入到mqm組中),隊(duì)列管理器的名稱(chēng)為,并配置如下通道?!埃停眩粒薄?/p>
發(fā)送通道:C_MQA1.MQA2、C_MQA1.MQZ1;C_MQA2.MQA1、C_MQZ1.MQA1。接收通道:
(4)在AIX2上使用“root”用戶(hù)來(lái)啟動(dòng)MQ應(yīng)用作業(yè)(root用戶(hù)需要加入到mqm組中),隊(duì)列管理器的名稱(chēng)為“MQA2”,并配置如下通道。
C_MQA2.MQA1、C_MQA2.MQZ2;發(fā)送通道:
接收通道:C_MQA1.MQA2、C_MQZ2.MQA2。具體組網(wǎng)連接如圖6所示。
主機(jī)系統(tǒng)1(MQZ1)
C_MQZ1.MQZ2C_MQZ2.MQZ1
主機(jī)系統(tǒng)2(MQZ2)
用了自簽證書(shū)和CA簽名證書(shū)兩種形式。
需要注意的是,WebSphereMQ對(duì)于數(shù)字證書(shū)的標(biāo)簽有嚴(yán)格的要求,它規(guī)定必須以“ibmWebSphereMQ”作為前綴,后面加上隊(duì)列管理器的名稱(chēng)。例如,本次測(cè)試過(guò)程中LPAR1的隊(duì)列管理器名稱(chēng)為“MQZ1”,則標(biāo)簽名稱(chēng)必須是“ibmWebSphereMQMQZ1”,LPAR2的隊(duì)列管理器的名稱(chēng)為“MQZ2”,則標(biāo)簽名稱(chēng)必須是“ibmWebSphereMQMQZ2”。另外,z/OS平臺(tái)對(duì)于證書(shū)標(biāo)簽名稱(chēng)大小寫(xiě)敏感,而AIX平臺(tái)則必須全部用小寫(xiě),如隊(duì)列管理器“MQA1”對(duì)應(yīng)的證書(shū)的標(biāo)簽必須是?!埃椋猓恚鳎澹猓螅穑瑁澹颍澹恚瘢恚瘢幔薄?/p>
4.配置WebSphereMQSSL參數(shù)
我們使用WebSphereMQ提供的MQSC來(lái)進(jìn)行SSL參數(shù)的配置。在z/OS平臺(tái)還可以通過(guò)PDF/ISPF提供的菜單界面對(duì)WebSphereMQ中SSL的相關(guān)參數(shù)進(jìn)行配置。
(1)隊(duì)列管理器配置
具體的操作步驟請(qǐng)參見(jiàn)IBM公司的紅寶書(shū)“WebSphereMQSecurityinanEnterpriseEnvironment”(SG246814)。
連接通道配置(2)
對(duì)于通道配置,我們需要指定其使用的SSL安全參通道之間必須指定相數(shù)組合,對(duì)于一對(duì)發(fā)送/接收組合,同的SSL安全參數(shù)組合??梢酝ㄟ^(guò)設(shè)置SSLCIPH參數(shù)來(lái)使用不同的SSL安全參數(shù)組合。
配置完上述步驟之后,需要將隊(duì)列管理器和通道重新啟動(dòng)一次以便應(yīng)用上述配置參數(shù)。當(dāng)重新啟動(dòng)發(fā)送端之后,MQ就會(huì)采用安全的SSL通道進(jìn)行連接。
綜上所述,隨著TCP/IP網(wǎng)絡(luò)體系架構(gòu)在金融領(lǐng)域應(yīng)用部署的增加,網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)陌踩砸苍絹?lái)越多的受到了關(guān)注。在IBMz/OS操作系統(tǒng)的不斷更新的過(guò)程中,其安全部分的功能一直在得到更新和增強(qiáng),并對(duì)SSL/TLS提供了完善的支持,我們可以方便地將其部署在大量的基于TCP/IP的應(yīng)用中,這樣就能為金融系統(tǒng)的各種關(guān)鍵應(yīng)用提供良好的安全保障。FCC
圖6WebSphereMQ配置和組網(wǎng)的具體連接方式
3.使用RACF和GSK制作數(shù)字證書(shū)
在z/OS平臺(tái),我們使用RACF來(lái)制作數(shù)字證書(shū)和我們使用GSK工具來(lái)制作數(shù)證書(shū)存儲(chǔ)環(huán);在AIX平臺(tái),字證書(shū)和證書(shū)存儲(chǔ)數(shù)據(jù)庫(kù)。在測(cè)試過(guò)程中,我們分別使
C_MQZ1.MQA1
C_MQA2.MQZ2
主機(jī)系統(tǒng)1(MQA1)
C_MQA1.MQZ1
C_MQA2.MQA1C_MQA1.MQA2
主機(jī)系統(tǒng)2(MQA2)
C_MQZ2.MQA2
中國(guó)金融電腦2007年第3期?25