如何加密電子招標(biāo)系統(tǒng)

電子招標(biāo)投標(biāo)系統(tǒng)是一個(gè)以網(wǎng)絡(luò)技術(shù)為基礎(chǔ),招標(biāo)、投標(biāo)、評(píng)標(biāo)、合同等業(yè)務(wù)全過程實(shí)現(xiàn)數(shù)字化、網(wǎng)絡(luò)化、高度集成化的系統(tǒng),它能提高國內(nèi)廠商的競爭意識(shí)與生存能力,為國內(nèi)廠商的提供更多參與國際競爭的機(jī)會(huì),讓他們更多了解國際市場行情和國際技術(shù)標(biāo)準(zhǔn)、國際競爭方式,能提高國內(nèi)廠商的國際競爭水平,提高國內(nèi)企業(yè)的整體水平,提高國產(chǎn)設(shè)備在國際市場的競爭能力。但由于建設(shè)工程的標(biāo)底巨大,怎樣保證招標(biāo)人、投標(biāo)人在一個(gè)公開公正公平的系統(tǒng)環(huán)境中進(jìn)行招投標(biāo)活動(dòng)是電子招標(biāo)系統(tǒng)實(shí)施的關(guān)鍵。因此在招標(biāo)文件、投標(biāo)文件的傳遞過程中如何防止泄密、保證文件在傳遞過程中一致性是系統(tǒng)的重中之重。

為此在分析比較當(dāng)前較為流行的加密算法的基礎(chǔ)上,針對(duì)建設(shè)工程施工電子招標(biāo)系統(tǒng)的實(shí)際應(yīng)用,提出了對(duì)于電子招標(biāo)系統(tǒng)的兩種不同的加密方案。

一、加密體系

數(shù)據(jù)加密作為一項(xiàng)基本技術(shù)是所有通信安全的基石。網(wǎng)絡(luò)安全的實(shí)現(xiàn)很大程度上依賴于各種密碼學(xué)算法,包括對(duì)網(wǎng)絡(luò)通道上傳輸?shù)臄?shù)據(jù)進(jìn)行加密、解密處理以及散列處理等。

如果加密算法的保密性是基于保持算法的秘密,這種加密算法稱為受限制的算法。受限制的算法有很多缺陷:首先,大的或經(jīng)常變幻的用戶組織不能使用它們,因?yàn)槿绻粋€(gè)用戶離開了這個(gè)組
織,其他的用戶就必須改換另外不同的算法。如果有人無意間暴露了這個(gè)秘密,所有人都必須改變他們的算法。另外,受限制的加密算法不可能進(jìn)行質(zhì)量控制或標(biāo)準(zhǔn)化。每個(gè)用戶組織必須有他們自己的唯一算法。這樣的組織不可能采用流行的硬件或軟件產(chǎn)品,因?yàn)楦`聽者可以買到這些流行產(chǎn)品并學(xué)習(xí)算法,于是用戶不得不自己編寫算法并予以實(shí)現(xiàn),如果這個(gè)組織中沒有好的密碼學(xué)家,那么他們就無法知道他們是否擁有安全的算法。

加密算法是用于加密和解密的數(shù)學(xué)函數(shù),通常情況下,有兩個(gè)相關(guān)的函數(shù):一個(gè)用作加密,另一個(gè)用作解密。

加密和解密的算法分為對(duì)稱算法和不對(duì)稱算法。

1、對(duì)稱加密算法

對(duì)稱加密算法是應(yīng)用較早的加密算法,技術(shù)成熟。在對(duì)稱加密算法中,數(shù)據(jù)發(fā)信方將明文(原始數(shù)據(jù))和加密密鑰一起經(jīng)過特殊加密算法處理后,使其變成復(fù)雜的加密密文發(fā)送出去。收信方收到密文后,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對(duì)密文進(jìn)行解密,才能使其恢復(fù)成可讀明文。在對(duì)稱加密算法中,使用的密鑰只有一個(gè),發(fā)收信雙方都使用這個(gè)密鑰對(duì)數(shù)據(jù)進(jìn)行加密和解密,這就要求解密方事先必須知道加密密鑰。

常用的對(duì)稱加密算法有:DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法。

2、非對(duì)稱加密算法

非對(duì)稱加密算法(asymmetric cryptographic algorithm)又名“公開密鑰加密算法”,非對(duì)稱加密算法需要兩個(gè)密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。對(duì)稱加密體制中只有一種密鑰,并且是非公開的,如果要解密就得讓對(duì)方知道密鑰。所以保證其安全性就是保證密鑰的安全,而非對(duì)稱加密體制有兩種密鑰,其中一個(gè)是公開的,這樣就可以不需要像對(duì)稱密碼那樣傳輸對(duì)方的密鑰了。

常用的加密算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(橢圓曲線加密算法)。

二、如何加密電子招標(biāo)系統(tǒng)

密碼學(xué)除了提供機(jī)密性外,通常還有以下作用:

(1)鑒別 消息的接收者應(yīng)該能夠確認(rèn)消息的來源,入侵者不可能偽裝成他人;

(2)完整性 消息的接受者應(yīng)該能夠驗(yàn)證消息在傳送過程中沒有被修改,入侵者不可能用假消息代替合法消息;

(3)抗抵賴 發(fā)送者事后不可能虛假地否認(rèn)他發(fā)送的消息。

這些功能是通過計(jì)算機(jī)進(jìn)行安全交流敏感信息的至關(guān)重要的需求。針對(duì)電子招標(biāo)系統(tǒng)的要求,提出以下方案。

1、方案一:文件進(jìn)行加密處理

由于非對(duì)稱算法比對(duì)稱算法更難破解,同時(shí)由于解密密鑰是不公開的,因此方案一中,我們?cè)O(shè)想在電子招標(biāo)系統(tǒng)中的招標(biāo)人、投標(biāo)人、招標(biāo)辦三方采用各自的數(shù)字證書對(duì)招標(biāo)文件和投標(biāo)文件進(jìn)行加密處理。

CA即Certification Authoritie8,作為第三方CA能保證數(shù)字證書的身份確認(rèn),對(duì)使用數(shù)字證書的用戶提供一個(gè)中介證明。另外在流程中用私鑰加密的部分,其實(shí)就是通常所說的數(shù)字簽名,它能保證所得的加密文件確實(shí)由某個(gè)用戶發(fā)出,公鑰加密就確定了只有持有私鑰的用戶才能解密該加密包。在該方案中酌數(shù)字證書存儲(chǔ)采用了iKey(iKey是由RainBow公司提供的具有IC芯片的智能讀卡器)。

2、方案二:非對(duì)稱算法與對(duì)稱算法結(jié)合

采用非對(duì)稱算法與對(duì)稱算法結(jié)合的方式,在此方案中只需招標(biāo)辦向CA申請(qǐng)數(shù)字證書,對(duì)稱加密的密鑰拆分成兩個(gè),分別由招標(biāo)辦(key1)和投標(biāo)人(key2)形成。

此方案中用于對(duì)稱加密的密鑰通過非對(duì)稱加密算法進(jìn)行保護(hù),確保對(duì)稱加密的密鑰不泄露,同時(shí)對(duì)稱加密的密鑰是招標(biāo)辦和投標(biāo)人兩方持有的,保證了現(xiàn)場開標(biāo)的公正性。

在上述兩個(gè)方案中,都滿足了整個(gè)電子招標(biāo)系統(tǒng)所需的公開公平公正的原則。方案一應(yīng)該是加密與身份確認(rèn)最嚴(yán)格的系統(tǒng),但是處理速度較慢,而且參與三方均需向CA中心申請(qǐng)數(shù)字證書。方案=在加密與身份確認(rèn)上較方案一弱,但是該方案處理速度快,并且只有一方需向CA中心申請(qǐng)數(shù)字證書。另外安全接口層(SSL)建立服務(wù)器和瀏覽器之間的安全對(duì)話使用的就是方案二的工作方式。

3、基于.NET的加密實(shí)現(xiàn)

.NET將原來獨(dú)立的非托管的win32 Crypto API庫和SDK合并到一個(gè)框架中,這對(duì)于程序開發(fā)人員非常有利。它將CryptoAPI改編進(jìn).NET相應(yīng)的名字空間中。使密碼服務(wù)擺脫了SDK平臺(tái)的神秘性,變成了簡單的.NET名字空間的使用。由于隨著整個(gè)框架組件一起共享,密碼服務(wù)更容易實(shí)現(xiàn)了。

.NET Fnunework有3個(gè)密碼命名空間:

(1)System. Security. Cryptography——包含完成所有加密任務(wù)的核心類。

(2)System. Security. Cryptography.Xml——包含可結(jié)合使用System. Security.Cryptography類,對(duì)Xml文檔部分內(nèi)容進(jìn)行加密和簽名的類。

(3)System. Security. CrypLography. X509CertiflcaLes——包含允許檢索證書信息的類。

System.Security.Cryptography中的核心加密類分為3層。

第一層是一組抽象類,它們表示加密算法的類型,用于完成特定的加密任務(wù),包括A8ymmetricAlgorithm(表示非對(duì)稱加密)、SymmetricAlgorithm(表示對(duì)稱加密)、HashAlgorithm(表示散列的生成和檢驗(yàn))。第二層包含表示特定加密算法的類,均由加密基類派生而來。如DES算法類由SymmetricAlgorithm派生而來。第三層就是一組加密實(shí)現(xiàn)方案。每種實(shí)現(xiàn)類都由算法類派生而來。如.NET Framework只提供了DES一個(gè)實(shí)現(xiàn)類(DESCryp-toServieeProvider)。具體的類方法可參見Microsoft MSDN。

如果加密密鑰長度較大時(shí),需由高加密包支持。WindowsXP和WindoWs.Net Server不需要其他安裝,Windows 2000需安裝Service Pack 2或安裝Windows 2000 High Encryption Pack,Windows NT 4.0需安裝Sp6a,WindOW8 98或ME可以通過安裝IE5.5來獲取高加密包的支持。

小知識(shí)之.NET

.NET是 Microsoft XML Web services 平臺(tái)。XML Web services 允許應(yīng)用程序通過 Internet 進(jìn)行通訊和共享數(shù)據(jù),而不管所采用的是哪種操作系統(tǒng)、設(shè)備或編程語言。Microsoft .NET 平臺(tái)提供創(chuàng)建 XML Web services 并將這些服務(wù)集成在一起之所需。對(duì)個(gè)人用戶的好處是無縫的、吸引人的體驗(yàn)。