基于ASP.net的網(wǎng)上書店系統(tǒng)安全性研究
出處:cpu51 發(fā)布于:2012-04-10 15:59:53
摘 要:為了提高網(wǎng)上書店交易過程的安全性,利用ASP.NET提供的安全技術(shù),構(gòu)建了基于RSA公鑰密碼體系的安全網(wǎng)上書店系統(tǒng)。在系統(tǒng)中設(shè)計(jì)了一個(gè)CA子系統(tǒng),給交易雙方頒發(fā)數(shù)字證書,CA對(duì)含有公鑰的證書進(jìn)行數(shù)字簽名,使證書無法偽造,用戶使用私鑰對(duì)所下訂單進(jìn)行數(shù)字簽名,保證信息的完整性、真實(shí)性,從而防止交易抵賴。對(duì)CA子系統(tǒng)的關(guān)鍵技術(shù),包括客戶數(shù)字證書的生成、訂單的生成給出具體的實(shí)現(xiàn)方法。該系統(tǒng)對(duì)網(wǎng)上書店的健康發(fā)展起到促進(jìn)作用。
0 引 言
書店擔(dān)心讀者提交訂單卻不付款,或收到假訂單;而讀者擔(dān)心付款后收不到書,或自己的金融信息被別人竊取等。在傳統(tǒng)的購書過程中,買賣雙方是面對(duì)面的,很容易建立起信任關(guān)系,但是在網(wǎng)上書店交易過程中,彼此遠(yuǎn)隔千山萬水,由于互聯(lián)網(wǎng)絡(luò)既不安全,也不可信,很難建立起交易雙方的信任。網(wǎng)上書店從初發(fā)展開始,就擺脫不了網(wǎng)絡(luò)帶給它的安全問題。
隨著信息化的深入,制約網(wǎng)上書店發(fā)展的安全問題更為突出。因此,本文著重在網(wǎng)上書店交易時(shí)引入CA系統(tǒng)而使交易雙方不能抵賴,從而提高網(wǎng)上書店交易過程中的安全性。這將對(duì)網(wǎng)上書店的發(fā)展起到促進(jìn)作用。
1 ASP.NET提供的安全技術(shù)
ASP.NET是Microsoft公司于2000年推出的一種Internet編程技術(shù),是。NET Framework的組成部分,.NET Framework具有兩個(gè)主要組件:公共語言運(yùn)行庫(CLR)和。NET Framework 基礎(chǔ)類庫(BCL)。
CLR的主要功能是把。NET語言編譯成與機(jī)器無關(guān)的中間語言MSIL(Microsoft Intermediate Language),然后在執(zhí)行代碼時(shí)再用即時(shí)編譯器JIT(Just In Time)將MSIL翻譯成面向機(jī)器的二進(jìn)制代碼。BCL是一個(gè)綜合性的、面向?qū)ο蟮暮涂芍赜妙愋偷募?,可以使用它開發(fā)多種應(yīng)用程序。
.NET Framework包括兩種支持?jǐn)?shù)字簽名的非對(duì)稱算法。一種是RSA算法:RSA支持?jǐn)?shù)據(jù)加密和數(shù)字簽名;另一種是數(shù)字簽名算法(DSA):DSA僅支持?jǐn)?shù)字簽名,不支持?jǐn)?shù)據(jù)加密。DSA 的應(yīng)用沒有RSA廣泛。
目前RSA公鑰密碼算法在網(wǎng)絡(luò)上廣泛應(yīng)用于保密通信和數(shù)字簽名。RSA算法的安全性是基于數(shù)論中大素?cái)?shù)分解的困難,所以RSA 需采用足夠大的整數(shù)。因子分解越困難,密碼就越難以破譯,加密強(qiáng)度就越高。
RSA算法如下所述:
1.1 作為通信一方的A方生成公鑰及私鑰
?。?)選擇兩素?cái)?shù)p,q,這兩個(gè)素?cái)?shù)一定要保密,且要求一般為100~200十進(jìn)制數(shù),甚至更大,目的是使解密者難于分解p 與q 的乘積;計(jì)算n=pq.
?。?)計(jì)算n的歐拉函數(shù)Φ(n)= (p-1)(q-1)(即n的Euler函數(shù))。選擇整數(shù)e,使e 與Φ(n)互質(zhì),且1<e<Φ(n)。
?。?)計(jì)算d,使d×e=1modΦ(n),即求e的逆。然后A 方將以下數(shù)對(duì)作為公鑰及私鑰:公鑰(PublicKey):PK= ?e,n?,私鑰(Secret Key):SK= ?d,n?.
1.2 加密/解密過程
利用RSA加密,首先需將明文數(shù)字化,取長(zhǎng)度小于log n位的數(shù)字作為明文塊。對(duì)于明文塊M 和密文塊C,加/解密的形式如下:
?。?)B方若給A 方傳遞秘密信息,則可能用A 方產(chǎn)生的公鑰進(jìn)行加密如下:
加密:C=Me mod n;此時(shí),由于沒有解密密鑰d,因此即使是加密者B也不能將此密文C 再解密為明文M ,這就是公鑰密碼的特點(diǎn)。
?。?)A方在收到B傳來的信息C 后,用其自己的私鑰(也稱秘密鑰)d 進(jìn)行解密如下:
解密:M=Cd mod M;1.3 數(shù)字簽名過程。
若A 方用自己的私鑰對(duì)明文進(jìn)行加密:S=Mdmod n,則任何人(知道A 方公鑰的人)都可以進(jìn)行解密,如:M=Se mod n,但是由于只有A方才能將信息M轉(zhuǎn)變?yōu)镾,因此S 相當(dāng)于A方對(duì)信息M 的數(shù)字簽名,是RSA基本和原始的數(shù)字簽名方案。這也是RSA 既作為數(shù)據(jù)加密算法,又可以作為數(shù)字簽名算法的原因。
相對(duì)于散戶而言,有一些網(wǎng)上書店的客戶是長(zhǎng)期、業(yè)務(wù)量大的合作伙伴,比如院校、個(gè)體書商、中小型書店等。這些客戶的每筆業(yè)務(wù)量通常較大,要求網(wǎng)上書店所給予的服務(wù)應(yīng)該是快捷、準(zhǔn)確、無誤的。伴隨著業(yè)務(wù)量的增大,雙方結(jié)賬可能并不及時(shí),這就要求這些大的客戶在與網(wǎng)上書店進(jìn)行電子交易的時(shí)候,雙方的及信息都不可抵賴是至關(guān)重要的。為此,該系統(tǒng)采用ASP.NET作為開發(fā)工具,利用。NET提供的安全技術(shù),構(gòu)建基于RSA公鑰密碼體系的安全網(wǎng)上書店。在網(wǎng)上書店系統(tǒng)中設(shè)計(jì)了一個(gè)CA子系統(tǒng),可以給交易雙方頒發(fā)數(shù)字證書,并可以對(duì)訂單進(jìn)行數(shù)字簽名,從而防止交易抵賴。
2 CA子系統(tǒng)的設(shè)計(jì)
網(wǎng)上書店系統(tǒng)劃分為若干個(gè)子系統(tǒng),包括前臺(tái)銷售子系統(tǒng)、后臺(tái)管理子系統(tǒng)、網(wǎng)上銀行子系統(tǒng)和CA 子系統(tǒng)[4-5].電子證書及其系統(tǒng)的設(shè)計(jì)是網(wǎng)上書店的重要安全保障,本文只討論CA子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。
CA子系統(tǒng)是保證書店安全的關(guān)鍵,在書店交易中,消費(fèi)者、商家、銀行都應(yīng)向CA 中心申請(qǐng)數(shù)字證書,并在交易中使用數(shù)字證書,以確保交易過程中各方身份的真實(shí)性,保證信息安全性和交易的不可抵賴性。CA對(duì)含有公鑰的證書進(jìn)行數(shù)字簽名,使證書無法偽造,每個(gè)用戶可以獲得CA的公開密鑰,驗(yàn)證任何一張數(shù)字證書的數(shù)字簽名,從而確定證書是否合法,在這樣的安全體制保證下,消費(fèi)者就可以放心地在網(wǎng)上購書了。
下面是系統(tǒng)設(shè)計(jì)的CA系統(tǒng)的工作步驟:
CA子系統(tǒng)的工作包括如下步驟:申請(qǐng)證書、訂單、給訂單簽名、更新證書、撤銷證書。
用戶首先數(shù)字簽名軟件,然后安裝在個(gè)人電腦上。在產(chǎn)生密鑰對(duì)后,軟件自動(dòng)向外界傳送公開密鑰。
用戶在獲取公開密鑰時(shí),首先向鑒定中心請(qǐng)求數(shù)字確認(rèn),鑒定中心確認(rèn)用戶身份后,發(fā)出數(shù)字確認(rèn),同時(shí)鑒定中心向數(shù)據(jù)庫發(fā)送確認(rèn)信息。然后用戶使用私有密鑰對(duì)所下訂單簽名,保證信息的完整性、真實(shí)性,也使發(fā)送方無法否認(rèn)信息的發(fā)送,之后上傳到網(wǎng)上書店;書店方工作人員接收到信息后,使用公開密鑰確認(rèn)數(shù)字簽名,進(jìn)入數(shù)據(jù)庫檢查用戶確認(rèn)信息的狀況;之后數(shù)據(jù)庫返回用戶的確認(rèn)信息。如果驗(yàn)證簽名成功,書店方就對(duì)訂單附加一些確認(rèn)信息,并使用自己的私鑰對(duì)信息簽名,然后放到網(wǎng)站上供用戶,這就完成了數(shù)字簽名過程,可以防止雙方的抵賴。不過,在使用這種技術(shù)時(shí),簽名者必須注意保護(hù)好私有密鑰,因?yàn)樗枪_密鑰體系安全的重要基礎(chǔ)。如果密鑰丟失,應(yīng)該立即鑒定中心取消,將其列入確認(rèn)取消列表之中。
3 CA子系統(tǒng)關(guān)鍵技術(shù)的實(shí)現(xiàn)
3.1 客戶數(shù)字證書的生成過程
?。?)注冊(cè)客戶信息。
由客戶本身填寫客戶注冊(cè)信息,并與網(wǎng)上書店經(jīng)營(yíng)方一起提供:主體名稱(SubjectName)、證書注冊(cè)日期(CreateDate)、有效期限(ValidDate),包括附加一些雙方約定的信息(AddInfo)等,然后生成惟一的客戶數(shù)字證書編碼(SerialNumber)。
(2)生成客戶惟一RSA公/私鑰對(duì)
RSACryptoServiceProvider RSASubject=new RSACryptoServiceProvider();
SubjectPK=RSASubject.ToXmlString(false);//導(dǎo)出公鑰
string SubjectPrivateKey = RSASubject.ToXmlString(true);
?。?)將信息進(jìn)行鏈接,以便計(jì)算數(shù)字摘要算法SHA1
sMSG=證書標(biāo)識(shí)||版本號(hào)||證書序列號(hào)||發(fā)行者名稱||主體名稱||附加信息||建立日期||有效日期||主體公鑰
即算法為:
sMSG=" CA" +Version.ToString()+SerialNumber.ToString()+IssuerName+SubjectName+AddInfo+CreateDate+ValidDate+SubjectPK;
?。?)對(duì)鏈接的信息進(jìn)行數(shù)字簽名
?、?發(fā)送方將此信息轉(zhuǎn)換為字節(jié)序列;
?、?計(jì)算數(shù)字摘要SHA1,將信息存入內(nèi)存文件,然后以字節(jié)的形式讀出,再計(jì)算數(shù)字摘要SHA1值;
?、?建立一個(gè)發(fā)送方RSA加密服務(wù)對(duì)象,并將自身的私鑰導(dǎo)入;
④ 約定采用SHA1Hash算法,將數(shù)字摘要進(jìn)行私鑰加密,即數(shù)字簽名;
?。?)計(jì)算各信息段的字符長(zhǎng)度,并依次寫入數(shù)字證書文件。
至此,整個(gè)數(shù)字證書文件即告生成。該證書同時(shí)在網(wǎng)上書店的服務(wù)器上保留一個(gè)副本,由于此證書含有客戶的基本信息及公鑰,書店方可憑此證書驗(yàn)證客戶對(duì)信息的數(shù)字簽名,客戶方可對(duì)書店方的確認(rèn)信息的數(shù)字簽名進(jìn)行驗(yàn)證。
3.2 訂單的生成
大客戶在生成數(shù)字證書之前,已經(jīng)將自己的信息注冊(cè)到網(wǎng)上書店的服務(wù)器中??蛻艨稍谌魏我慌_(tái)計(jì)算機(jī)上登錄,進(jìn)入自己的訂單填寫界面,用戶在確定所購圖書后,提交訂單。一般情況下,訂單的數(shù)量可能較大,為避免不必要的糾紛,以及防止惡意的攻擊、信息變更、偽造假訂單等,在這里要充分利用所簽發(fā)數(shù)字證書的功能進(jìn)行驗(yàn)證,而且雙方都要進(jìn)行簽名,其基本步驟及協(xié)議如下:
?。?)用戶打開瀏覽器登錄網(wǎng)站;
?。?)填寫訂單信息,由服務(wù)器端程序自動(dòng)生成一份訂單的詳細(xì)信息,分別用數(shù)據(jù)庫的字段形式及文件形式進(jìn)行存儲(chǔ);
?。?)用戶文件形式的訂單信息,并采用生成數(shù)字證書時(shí)獲得的本用戶的私鑰對(duì)此信息進(jìn)行簽名,將此文件及其簽名鏈接后,上傳至服務(wù)器;
?。?)網(wǎng)上書店的工作人員登錄進(jìn)入服務(wù)器;檢查大客戶的訂單,并對(duì)客戶的訂單信息進(jìn)行核對(duì)及數(shù)字簽名的驗(yàn)證。驗(yàn)證后,將所回復(fù)的信息及對(duì)信息的簽名一并放入服務(wù)器,讓客戶;
?。?)客戶經(jīng)店方簽名的信息文件,并進(jìn)行簽名驗(yàn)證。通過后,保存此文件,以備以后發(fā)生糾紛時(shí)作為證據(jù)。
4 結(jié) 語
網(wǎng)上書店系統(tǒng)包括前臺(tái)銷售子系統(tǒng)、后臺(tái)管理子系統(tǒng)、網(wǎng)上銀行子系統(tǒng)和CA 子系統(tǒng)[10]幾個(gè)不可或缺的子系統(tǒng)。在此只討論CA 子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。這里將ASP.NET提供的安全技術(shù)結(jié)合RSA公鑰密碼體系技術(shù)構(gòu)建了安全網(wǎng)上書店,并將CA技術(shù)應(yīng)用于網(wǎng)上書店。這里介紹CA 證書的實(shí)現(xiàn)過程以及應(yīng)用流程,該研究?jī)?nèi)容對(duì)電子商務(wù)安全有促進(jìn)作用,能夠推動(dòng)電子商務(wù)的發(fā)展。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 工業(yè)5G技術(shù)在智能制造中的應(yīng)用與實(shí)踐解析2025/12/31 10:57:21
- 工業(yè)以太網(wǎng)交換機(jī)選型與現(xiàn)場(chǎng)應(yīng)用技術(shù)指南2025/12/18 10:48:14
- 無線傳輸電路基礎(chǔ),射頻前端設(shè)計(jì)、天線匹配與鏈路預(yù)算計(jì)算2025/10/27 13:55:50
- ASK 解調(diào)的核心要點(diǎn)與實(shí)現(xiàn)方式2025/9/5 16:46:17
- 雙偶極子天線:結(jié)構(gòu)、特性與應(yīng)用全解析2025/9/3 10:29:21
- PCB焊盤與過孔設(shè)計(jì)核心實(shí)操規(guī)范(含可焊性與可靠性保障)
- 汽車電子常用電子元器件選型指南
- MOSFET驅(qū)動(dòng)與隔離方案設(shè)計(jì)
- 高溫環(huán)境下電源IC選型建議
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法









