摘 要:隨著科技的發(fā)展,數(shù)字化技術(shù)得到了非常廣泛的應(yīng)用。為了使人們對(duì)數(shù)字證書系統(tǒng)的設(shè)計(jì)原理及應(yīng)用情況得到進(jìn)一步的了解,實(shí)現(xiàn)數(shù)字證書應(yīng)用教學(xué)系統(tǒng)的完善,本文以Java為開發(fā)語言,開發(fā)出具有申請(qǐng)、簽發(fā)、掛失、加密、數(shù)字簽名等功能的數(shù)字證書系統(tǒng)。此數(shù)字證書系統(tǒng)的應(yīng)用,不但將存在于網(wǎng)絡(luò)中的信息泄密、用戶否認(rèn)等問題進(jìn)行有效的解決,而且促進(jìn)了使用者對(duì)數(shù)字證書系統(tǒng)直接、全面的了解。
關(guān)鍵詞:數(shù)字證書;設(shè)計(jì)方案;應(yīng)用原理
中圖分類號(hào):TP393.08
自計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)開發(fā)以來,病毒、黑客、泄密、網(wǎng)絡(luò)攻擊等安全問題不斷涌現(xiàn)出來,經(jīng)常發(fā)生的數(shù)字證書偽造情況給一些用戶帶來了較為嚴(yán)重的經(jīng)濟(jì)損失,人們也逐步加大了對(duì)數(shù)字證書應(yīng)用系統(tǒng)及技術(shù)的重視。為了數(shù)字證書應(yīng)用教學(xué)系統(tǒng),本文利用計(jì)算機(jī)將數(shù)字證書的應(yīng)用進(jìn)行模擬實(shí)驗(yàn),再將其應(yīng)用在實(shí)際的教學(xué)及學(xué)習(xí)過程中,讓學(xué)習(xí)者快速、有效掌握數(shù)字證書應(yīng)用原理的基礎(chǔ)上,實(shí)現(xiàn)學(xué)習(xí)效率與質(zhì)量的提高。
1 數(shù)字證書應(yīng)用系統(tǒng)的整體設(shè)計(jì)方案
在對(duì)數(shù)字證書的簽名、加密技術(shù)及原理進(jìn)行全面、深入研究的基礎(chǔ)上,通過利用RSA加密算法及MD5簽名算法,在Eclipse的開發(fā)環(huán)境下,以Java作為開發(fā)語言,以Microsoft SQL Server 2008作為數(shù)據(jù)管理平臺(tái),開發(fā)出數(shù)字證書應(yīng)用系統(tǒng)。
在本應(yīng)用系統(tǒng)中,有普通用戶及管理兩種登錄模式,以不同的模式登錄可進(jìn)入不同的模塊中,并對(duì)數(shù)字證書開展不同的操作。在普通用戶登錄模式下,可進(jìn)入數(shù)字證書申請(qǐng)、加密、掛失以及簽名這幾大模塊,而管理員登錄模式下,進(jìn)入的模塊有證書簽發(fā)、銷毀、處理掛失。使用本應(yīng)用系統(tǒng)的普通用戶可申請(qǐng)數(shù)字證書,在導(dǎo)出后,將其安裝在本地電腦,并利用數(shù)字證書進(jìn)行數(shù)字簽名,加密數(shù)據(jù)。系統(tǒng)管理員可開展的操作有簽發(fā)用戶申請(qǐng)的證書、銷毀違規(guī)使用或過期的證書,以及處理掛失的證書[1]。數(shù)字證書應(yīng)用系統(tǒng)框架圖如圖1所示。
圖1 數(shù)字證書應(yīng)用系統(tǒng)框架示意圖
2 數(shù)字證書應(yīng)用系統(tǒng)的應(yīng)用原理及實(shí)現(xiàn)
2.1 系統(tǒng)注冊(cè)界面
數(shù)字證書應(yīng)用系統(tǒng)的注冊(cè)界面模塊有效保證了一個(gè)用戶在證書的后續(xù)申請(qǐng)過程中,對(duì)應(yīng)的數(shù)字證書只有一個(gè)。在新用戶的注冊(cè)界面下,需要輸入證書的類型及號(hào)碼、用戶名、密碼等。在信息輸入過程中,選擇身份證作為確認(rèn)證件時(shí),必須填寫合法的,且唯一的18位身份證號(hào)。系統(tǒng)在信息填寫成功后,會(huì)將新申請(qǐng)用戶的信息自動(dòng)加載到系統(tǒng)數(shù)據(jù)庫中。
2.2 系統(tǒng)登錄界面
系統(tǒng)的登陸界面有普通用戶與管理員兩種登錄模式。用戶在根據(jù)自身需求選擇登錄模式后,將信息填寫在用戶名及密碼這兩欄中。系統(tǒng)采用update方法參數(shù)提取數(shù)據(jù)庫信息,并將其與用戶所填信息進(jìn)行比較,兩者一致時(shí)則進(jìn)入系統(tǒng)成功,如果不一致,則發(fā)出“用戶名或密碼錯(cuò)誤”的提示,并要求用戶重新輸入用戶名及密碼[2]。
2.3 數(shù)字證書申請(qǐng)界面
在證書申請(qǐng)模塊,已登錄成功的用戶還需輸入證書申請(qǐng)所需的信息。在此應(yīng)用系統(tǒng)中,能夠申請(qǐng)、導(dǎo)出安裝證書,并進(jìn)行加密簽名操作。在此模塊下,采用genkey命令將證書及密鑰一同存儲(chǔ)帶密鑰倉中,并利用update函數(shù)將數(shù)字證書加載到系統(tǒng)數(shù)據(jù)庫中,進(jìn)行統(tǒng)一管理。
完成數(shù)字證書的申請(qǐng)步驟后,便是等待管理員的審核通過。普通用戶在管理員簽發(fā)證書后,有權(quán)利導(dǎo)出證書。在用戶將證書導(dǎo)出的過程中,系統(tǒng)會(huì)根據(jù)普通用戶的別名在密鑰倉中將申請(qǐng)時(shí)填寫的信息找出,并通過利用X.509標(biāo)準(zhǔn)將用戶信息以完整的形式進(jìn)行保存。完成這些操作后,普通用戶便可選擇相應(yīng)的保存路徑將證書進(jìn)行保存,在保存文件時(shí),用戶可隨意填寫文件名,文件的類型為.cer。普通用戶最后便可本地安裝數(shù)字證書,并開展后續(xù)的加密、簽名等操作。
2.4 數(shù)字證書加密及解密界面
由于數(shù)據(jù)在網(wǎng)絡(luò)傳輸過程中存在竊取的風(fēng)險(xiǎn),因而需要采取加密等信息安全保護(hù)手段。加密技術(shù)是利用公鑰將信息數(shù)據(jù)編程亂碼,進(jìn)行加密后得到相應(yīng)的密文,利用證書的私鑰則可解密密文。通過將加密前的信息數(shù)據(jù)與解密后的明文進(jìn)行比較,便可有效驗(yàn)證數(shù)字證書的公鑰及私鑰是否有效。
數(shù)字證書在經(jīng)過管理員的簽發(fā)后,可接受加密及解密操作。在此界面模塊,普通用戶將自己證書的別名及密碼輸入后,便可在系統(tǒng)“待加密消息”一欄中,填寫證書中需要加密的消息,然后點(diǎn)擊加密按鈕,系統(tǒng)便會(huì)加密此項(xiàng)消息,點(diǎn)擊解密按鈕便或逆時(shí)針進(jìn)行解密操作。在證書加密及解密界面模塊中,RSA加密算法為其主要的信息加密算法。
2.5 系統(tǒng)數(shù)字簽名界面
在數(shù)字證書應(yīng)用系統(tǒng)中,數(shù)字簽名具有確定信息發(fā)送者、防止傳輸文件遭到他人破壞等功能。本系統(tǒng)模擬了數(shù)字簽名在電子商務(wù)的技術(shù),首先摘要原始文件,得到digest.dat摘要文件,其次通過利用數(shù)字證書的私鑰對(duì)摘要文件進(jìn)行數(shù)字簽名,得到Sign.dat簽名文件,最后利用數(shù)字證書的公鑰驗(yàn)證簽名文件,驗(yàn)證成功后,系統(tǒng)顯示“簽名正確”,驗(yàn)證不成功則顯示“簽名匹配錯(cuò)誤”。
系統(tǒng)簽名界面模塊通過MD5算法將原始文件整合成摘要,并利用私鑰將摘要加密成數(shù)字簽名,形成的數(shù)字簽名不僅能對(duì)用戶的真實(shí)在身份進(jìn)行確認(rèn),而且還可充分保證信息完整、安全地進(jìn)行傳輸[3]。
2.6 管理員界面
數(shù)字證書的簽發(fā)、銷毀,以及掛失請(qǐng)求的處理等,為系統(tǒng)管理員界面模塊幾大主要功能。
在證書簽發(fā)模塊中,進(jìn)行審核、簽發(fā)以申請(qǐng)證書的操作,證書只有經(jīng)過簽發(fā)后,才進(jìn)行本地安裝、加密等應(yīng)用。在本系統(tǒng)中,經(jīng)過申請(qǐng)后的證書以flag值為0的形式將用戶所有的信息存儲(chǔ)在系統(tǒng)數(shù)據(jù)庫中,管理員登陸界面后,便可查看申請(qǐng)的證書,通過點(diǎn)擊簽發(fā)按鈕便可實(shí)現(xiàn)證書的簽發(fā)。用戶保存在系統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)在簽發(fā)后,flag值便由0變?yōu)?。對(duì)于已簽發(fā)的證書,如果存在違規(guī)操作,或是超過了有效期,管理員則需對(duì)此類證書進(jìn)行銷毀。銷毀后的證書無法進(jìn)行其他操作,其flag值也會(huì)便1變?yōu)?。此外,如果有用戶申請(qǐng)掛失證書的情況,管理員也可通過數(shù)據(jù)庫對(duì)掛失請(qǐng)求進(jìn)行處理:在管理界面將所有申請(qǐng)掛失的證書列出,點(diǎn)擊掛失按鈕,彈出“掛失成功!”的對(duì)話框后,此證書flag值便會(huì)會(huì)由4變?yōu)?。此外,用戶在管理員更新數(shù)據(jù)的16秒內(nèi)可將掛失取消。
3 結(jié)束語
綜上可知,數(shù)字證書應(yīng)用系統(tǒng)具有靈活性強(qiáng)、操作簡(jiǎn)單的優(yōu)勢(shì),通過利用計(jì)算機(jī)對(duì)數(shù)字證書的申請(qǐng)及管理進(jìn)行模擬,有效加密并鑒別了在網(wǎng)絡(luò)中傳輸?shù)男畔?shù)據(jù),充分保證了信息的完整性及機(jī)密性,極大程度上減少了數(shù)字證書系統(tǒng)的探索成本。此外,由于系統(tǒng)的簡(jiǎn)易性,促進(jìn)了學(xué)習(xí)者對(duì)數(shù)字證書應(yīng)用系統(tǒng)的深入學(xué)習(xí)和研究,加快其對(duì)數(shù)字證書技術(shù)及應(yīng)用方法的掌握,充分滿足業(yè)內(nèi)人士的實(shí)驗(yàn)需求。
參考文獻(xiàn):
[1]許平.基于X.509標(biāo)準(zhǔn)的CA數(shù)字證書系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,2011(09):305-306.
[2]萬明明,許杰,鄭東.數(shù)字證書技術(shù)在圖書館網(wǎng)站身份認(rèn)證中的應(yīng)用[J].農(nóng)業(yè)圖書情報(bào)學(xué)刊,2011(02):452-453.
[3]張萍,李國慶,解吉波.基于Expect數(shù)字證書自動(dòng)簽發(fā)設(shè)計(jì)和實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2011(03):94-96.
作者簡(jiǎn)介:王兵(1980.06-),女,吉林輝南人,講師,本科,研究方向:計(jì)算機(jī)信息安全、圖形圖像處理及動(dòng)畫制作。
作者單位:遼寧行政學(xué)院,沈陽 110161