摘要:人工閱卷工作比較繁瑣,通過(guò)網(wǎng)上閱卷解決了一份試卷在同一時(shí)間只能由一位閱卷者批改的缺點(diǎn),但在網(wǎng)絡(luò)上傳輸閱卷信息也帶來(lái)的安全問(wèn)題,SSL協(xié)議為閱卷信息在網(wǎng)上傳輸提供安全通道, 保障了閱卷信息在網(wǎng)上傳輸?shù)耐暾约伴喚碚呱矸莸目勺R(shí)別性。
關(guān)鍵詞:網(wǎng)上閱卷;SSL協(xié)議;安全;數(shù)字證書(shū)
隨著網(wǎng)絡(luò)的發(fā)展,信息化建設(shè)的加快,人工閱卷也使用網(wǎng)絡(luò)技術(shù)。由于人工閱卷工作比較繁瑣,而且一份試卷在同一時(shí)間只能由一位閱卷者批改。通過(guò)使用計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)進(jìn)行網(wǎng)上閱卷克服了以上缺點(diǎn),但閱卷信息在網(wǎng)上傳輸也帶來(lái)了安全問(wèn)題,SSL協(xié)議為閱卷信息在網(wǎng)上傳輸提供安全通道, 保障了閱卷信息在網(wǎng)上傳輸?shù)耐暾约伴喚碚呱矸莸目勺R(shí)別性。
一、SSL協(xié)議
安全套接層,簡(jiǎn)稱(chēng)為SSL)協(xié)議是Netscape公司提出的基于Web應(yīng)用的安全協(xié)議,它位于TCP/IP層和應(yīng)用層之間,為應(yīng)用層程序提供一條安全的網(wǎng)絡(luò)傳輸通道。SSL通過(guò)使用非對(duì)稱(chēng)加密算法加密會(huì)話密鑰,使用該會(huì)話密鑰及其對(duì)稱(chēng)加密算法加密數(shù)據(jù),保證數(shù)據(jù)的傳輸安全,通過(guò)消息摘要保證數(shù)據(jù)的完整性,通過(guò)驗(yàn)證數(shù)字證書(shū)對(duì)服務(wù)器端進(jìn)行身份驗(yàn)證、客戶(hù)端身份驗(yàn)證,保證用戶(hù)身份的可識(shí)別性。
SSL協(xié)議具有兩層結(jié)構(gòu),其底層是SSL記錄協(xié)議層,簡(jiǎn)稱(chēng)記錄層;其高層是SSL握手協(xié)議層(SSL Handshake Protocol Layer),簡(jiǎn)稱(chēng)握手層,如圖1所示:
握手層允許通信實(shí)體在應(yīng)用SSL協(xié)議傳送數(shù)據(jù)之前互相驗(yàn)證身份、協(xié)商加密算法、生成密鑰等。記錄層封裝各種高層協(xié)議,具體實(shí)施壓縮與解壓縮、加解密、計(jì)算與驗(yàn)證MAC等與安全有關(guān)的操作。
(1)記錄協(xié)議層
記錄協(xié)議層的功能是,根據(jù)當(dāng)前會(huì)話狀態(tài)指定的壓縮算法CipherSpec指定的對(duì)稱(chēng)加密算法、MAC算法、密鑰長(zhǎng)度、散列長(zhǎng)度、IV長(zhǎng)度等參數(shù),以及連接狀態(tài)中指定的客戶(hù)和服務(wù)器的隨機(jī)數(shù)、加密密鑰、MAC密鑰、IVs、消息序列號(hào)等,對(duì)當(dāng)前連接中要傳送的高層數(shù)據(jù)實(shí)施壓縮與解壓縮、加解密、計(jì)算與校驗(yàn)MAC等操作。記錄層協(xié)議需要封裝的高層協(xié)議有以下4類(lèi):change cipher spec協(xié)議、Alert協(xié)議、握手協(xié)議和應(yīng)用層協(xié)議。
壓縮算法(compression method)是當(dāng)前會(huì)話狀態(tài)中的一個(gè)元素,明文結(jié)構(gòu)SSL plaintext經(jīng)過(guò)壓縮算法生成壓縮結(jié)構(gòu)SSL compressed。每個(gè)會(huì)話都有一個(gè)有效的壓縮算法,在會(huì)話的初始狀態(tài),Compression method被置為“空”。同樣,每個(gè)會(huì)話都有一個(gè)有效的CipherSpec,包含指定的加密算法和MAC算法。壓縮機(jī)構(gòu)SSL compressed經(jīng)MAC算法和加密算法生成密文結(jié)構(gòu)SSL ciphertext。會(huì)話的初始狀態(tài),對(duì)稱(chēng)加密算法和MAC算法都被置“空”。以發(fā)送方為例,記錄層的工作流程如圖2所示,接收方的流程相反。
從應(yīng)用層接收任意大小的數(shù)據(jù)塊,將數(shù)據(jù)塊分成不超過(guò)214字節(jié)的明文記錄。用當(dāng)前會(huì)話中指定的壓縮算法將明文結(jié)構(gòu)SSL plaintext變換為壓縮機(jī)構(gòu)SSL compressed。用當(dāng)前CipherSpec中指定的MAC算法對(duì)SSL compressed計(jì)算MAC;用加密算法加密壓縮數(shù)據(jù)和MAC,形成密文結(jié)構(gòu)SSL Ciphertext。
(2)握手協(xié)議層
握手協(xié)議層的功能是驗(yàn)證實(shí)體身份,協(xié)商密鑰交換算法、壓縮算法和加密算法,完成密鑰交換以及生成密鑰等。SSL協(xié)議的握手過(guò)程用到了三種協(xié)議:SSL handshake協(xié)議、SSL change cipher spec協(xié)議和SSL Alert協(xié)議。SSL handshake協(xié)議用于建立會(huì)話狀態(tài)的加密參數(shù)。
SSL協(xié)議可以實(shí)現(xiàn)信息傳遞的保密性、完整性,并且會(huì)話雙方能鑒別對(duì)方身份。不同于常用的http協(xié)議,在與網(wǎng)站建立SSL安全連接時(shí)使用https協(xié)議,即采用https://ip:port/的方式來(lái)訪問(wèn)。當(dāng)與一個(gè)網(wǎng)站建立https連接時(shí),客戶(hù)端瀏覽器與Web Server之間要經(jīng)過(guò)一個(gè)握手的過(guò)程來(lái)完成身份鑒定與密鑰交換,從而建立安全連接。
二、認(rèn)證機(jī)構(gòu)與數(shù)字證書(shū)
數(shù)字證書(shū)作為現(xiàn)實(shí)實(shí)體在虛擬網(wǎng)絡(luò)上的唯一身份標(biāo)識(shí),必須由權(quán)威公正的第三方認(rèn)證機(jī)構(gòu)CA來(lái)頒發(fā)。以數(shù)字證書(shū)為核心的身份認(rèn)證、數(shù)字簽名、數(shù)字信封等數(shù)字加密技術(shù)是目前通用可行的安全問(wèn)題解決方案。使用數(shù)字證書(shū),通過(guò)運(yùn)用對(duì)稱(chēng)和非對(duì)稱(chēng)密碼體制等密碼技術(shù)建立起一套嚴(yán)密的身份認(rèn)證系統(tǒng),從而保證信息除發(fā)送方和接收方外不被其它人竊取,信息在傳輸過(guò)程中不被篡改,發(fā)送方能夠通過(guò)數(shù)字證書(shū)來(lái)確認(rèn)接收方的身份,發(fā)送方對(duì)于自己的信息不能抵賴(lài)。
認(rèn)證系統(tǒng)生成CA根證書(shū),根證書(shū)提供給用戶(hù)下載安裝。根證書(shū)包含了認(rèn)證機(jī)構(gòu)的公鑰,用來(lái)驗(yàn)證其頒發(fā)的用戶(hù)證書(shū)的有效性。在雙方通信時(shí),通過(guò)出示由某個(gè)CA簽發(fā)的證書(shū)來(lái)證明自己的身份。用戶(hù)通過(guò)認(rèn)證系統(tǒng)申請(qǐng)證書(shū),在Windows 2000中,當(dāng)生成新證書(shū)申請(qǐng)時(shí),信息將首先從申請(qǐng)程序傳送到Microsoft加密應(yīng)用程序接口和加密服務(wù)提供程序(CSP)。CSP將在計(jì)算機(jī)上生成密鑰對(duì):公鑰和私鑰。生成密鑰后,CSP加密并在計(jì)算機(jī)的注冊(cè)表中保護(hù)私鑰,公鑰連同證書(shū)申請(qǐng)者信息被發(fā)送到CA。CA根據(jù)其策略驗(yàn)證證書(shū)請(qǐng)求后,將使用自己的私鑰在證書(shū)中創(chuàng)建數(shù)字簽名,然后將其頒發(fā)給申請(qǐng)者,于是證書(shū)申請(qǐng)者將獲得來(lái)自CA的證書(shū)。
認(rèn)證系統(tǒng)由考試主管部門(mén)建立并進(jìn)行數(shù)字證書(shū)的頒發(fā),閱卷者使用數(shù)字證書(shū)進(jìn)行身份識(shí)別。
三、系統(tǒng)的應(yīng)用
網(wǎng)上閱卷系統(tǒng)的設(shè)計(jì)采用B/S架構(gòu),學(xué)生考試試卷通過(guò)電子掃描錄入服務(wù)器,認(rèn)證機(jī)構(gòu)負(fù)責(zé)數(shù)字證書(shū)的頒發(fā),主要頒發(fā)服務(wù)器證書(shū)和閱卷者個(gè)人證書(shū),如圖3所示:
基于SSL協(xié)議的網(wǎng)上閱卷系統(tǒng)中的應(yīng)用過(guò)程如下:
(1)認(rèn)證機(jī)構(gòu)CA頒發(fā)閱卷系統(tǒng)服務(wù)器證書(shū),并將其導(dǎo)入閱卷系統(tǒng)服務(wù)器,用于服務(wù)器身份識(shí)別。服務(wù)器證書(shū)包含服務(wù)器信息、公鑰、認(rèn)證機(jī)構(gòu)的簽名等信息,這些信息是公開(kāi)的,同時(shí)服務(wù)器私鑰受系統(tǒng)保護(hù),私鑰用來(lái)簽名和驗(yàn)證加密信息。同時(shí)將CA根證書(shū)導(dǎo)入服務(wù)器。
(2)認(rèn)證機(jī)構(gòu)CA頒發(fā)閱卷者個(gè)人證書(shū),個(gè)人證書(shū)包含閱卷者的個(gè)人信息、公鑰、認(rèn)證機(jī)構(gòu)的簽名等信息。證書(shū)導(dǎo)入閱卷者的計(jì)算機(jī),個(gè)人證書(shū)私鑰受系統(tǒng)保護(hù)。同時(shí)將CA根證書(shū)導(dǎo)入計(jì)算機(jī),這樣當(dāng)收到本CA簽發(fā)的數(shù)字證書(shū)時(shí),可確認(rèn)這個(gè)CA 機(jī)構(gòu)是可信的。
(3)客戶(hù)端(閱卷者計(jì)算機(jī))訪問(wèn)服務(wù)器時(shí),服務(wù)器發(fā)回服務(wù)器證書(shū)給客戶(hù)端,同時(shí)服務(wù)器發(fā)出請(qǐng)求要求客戶(hù)端提供用戶(hù)證書(shū)。
(4)客戶(hù)端檢查服務(wù)器證書(shū),如果檢查失敗,提示不能建立SSL連接。如果成功,則繼續(xù)。
(5)客戶(hù)端瀏覽器為本次會(huì)話生成pre-master secret,并將其用服務(wù)器公鑰加密后發(fā)送給服務(wù)器??蛻?hù)端還要再對(duì)另外一些數(shù)據(jù)簽名后并將其與客戶(hù)端證書(shū)一起發(fā)送給服務(wù)器。
(6)服務(wù)器檢查簽署客戶(hù)端證書(shū)的CA是否可信。
(7)客戶(hù)端與服務(wù)器均使用此master secret生成本次會(huì)話的會(huì)話密鑰(對(duì)稱(chēng)密鑰)。在雙方SSL握手結(jié)束后傳遞任何消息均使用此會(huì)話密鑰。
(8)客戶(hù)端通知服務(wù)器此后發(fā)送的消息都使用這個(gè)會(huì)話密鑰進(jìn)行加密。并通知服務(wù)器客戶(hù)端己經(jīng)完成本次SSL握手。
(9)本次握手過(guò)程結(jié)束,會(huì)話己經(jīng)建立。雙方使用同一個(gè)會(huì)話密鑰分別對(duì)發(fā)送以及接收的信息進(jìn)行加解密。SSL協(xié)議的握手過(guò)程對(duì)用戶(hù)是透明的。
(10)閱卷者使用其私鑰對(duì)評(píng)分結(jié)果及評(píng)分試卷進(jìn)行數(shù)字簽名,保證了成績(jī)的真實(shí)性及不可否認(rèn)性。
該系統(tǒng)應(yīng)用SSL協(xié)議,保證信息傳輸?shù)陌踩约巴暾?,使用?shù)字證書(shū)保證用戶(hù)身份的可識(shí)別性。SSL協(xié)議為網(wǎng)上信息傳輸提供了安全通道:信道是保密的,經(jīng)過(guò)SSL握手之后,協(xié)商好的會(huì)話密鑰可以對(duì)信道上的信息加密;信道是經(jīng)過(guò)驗(yàn)證的,通信的服務(wù)器端總是被加以驗(yàn)證,客戶(hù)端可以選擇性的加以驗(yàn)證;信道是可靠的,對(duì)信道中的信息進(jìn)行完整性校驗(yàn)。
使用SSL協(xié)議滿(mǎn)足了閱卷信息在網(wǎng)上傳輸?shù)陌踩?,使用?shù)字簽名保證成績(jī)的真實(shí)性及不可否認(rèn)性。SSL安全協(xié)議是信息安全的重要協(xié)議,在電子商務(wù)、電子政務(wù)等應(yīng)用越來(lái)越廣泛。
參考文獻(xiàn):
[1] 卿斯?jié)h. Security Protocol 安全協(xié)議[M]. 北京: 清華大學(xué)出版社, 2005: 259-280.
[2] 張煥國(guó), 劉玉珍. 密碼學(xué)引論[M]. 湖北: 武漢大學(xué)出版社, 2003: 7-139.
[3] 謝冬青, 冷健. PKI原理與技術(shù)[M]. 北京: 清華大學(xué)出版社, 2004: 1-70.
[4] 蘇成, 殷兆麟. SSL協(xié)議的安全性分析與應(yīng)用[J]. 現(xiàn)代計(jì)算機(jī), 2002(29): 29-32.