已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)字證書在WEB應(yīng)用中登錄 1數(shù)字證書登錄認(rèn)證的優(yōu)點(diǎn)作為企業(yè)信息系統(tǒng)的第一道大門,身份認(rèn)證是確保企業(yè)信息資源只能被合法用戶所訪問(wèn)的重要保障。傳統(tǒng)的口令認(rèn)證方式雖然簡(jiǎn)單,但是由于其易受到竊聽、重放等攻擊的安全缺陷,使其已無(wú)法滿足當(dāng)前復(fù)雜網(wǎng)絡(luò)環(huán)境下的安全認(rèn)證需求。傳統(tǒng)賬號(hào)+口令登錄的弊端:1. 口令易被猜測(cè)。由于有的用戶為了方便記憶,使用非常簡(jiǎn)單的口令,比如“1234”、“abcd”等這些非常容易被猜測(cè)的口令。2. 口令易被竊聽。大家都知道,WEB應(yīng)用在互聯(lián)網(wǎng)上是基于TCP/IP協(xié)議的,該協(xié)議本身并不負(fù)責(zé)數(shù)據(jù)傳輸?shù)陌踩裕脩艨诹钤诨ヂ?lián)網(wǎng)上的傳輸,需要經(jīng)過(guò)很多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)(比如路由器),可以在這任意一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)去竊聽到用戶的口令。3. 口令記憶麻煩。用戶在不同的WEB應(yīng)用上建立不同的帳戶,需要記憶不同的口令,記憶這么多的口令形成用戶很大的負(fù)擔(dān),于是有的用戶把不同WEB應(yīng)用的口令設(shè)置成相同的口令,這樣又引入了新的安全隱患,只需破解用戶的一個(gè)WEB口令,就等于破解了該用戶別的WEB應(yīng)用口令。4. 可以從服務(wù)器攻擊客戶口令。WEB應(yīng)用服務(wù)上,由于需要校驗(yàn)用戶的口令,所以需要保留用戶的口令或口令的摘要值。若這個(gè)用戶口令表被黑客非法獲取,整個(gè)WEB應(yīng)用的用戶認(rèn)證將形同虛設(shè)。5. 無(wú)法確定用戶的真實(shí)身份。正因?yàn)榭诹畹拇嗳跣裕沟每诹詈苋菀妆桓`用。隨著PKI技術(shù)體系的成熟,擁有強(qiáng)有力的理論基礎(chǔ)和眾多國(guó)際標(biāo)準(zhǔn)的CA數(shù)字證書身份認(rèn)證技術(shù),在法律上得到了國(guó)家的大力支持。電子簽名法的頒布實(shí)施以及數(shù)字加密和數(shù)字簽名技術(shù)所具有的保密性、完整性、真實(shí)性、不可否認(rèn)性等特點(diǎn),使得CA數(shù)字證書身份認(rèn)證正在被廣泛采用。作為個(gè)人數(shù)字證書及其對(duì)應(yīng)私鑰的存儲(chǔ)介質(zhì)的USBkey、IC卡等,在此統(tǒng)稱為eKey(電子密鑰),自帶CPU,內(nèi)嵌加密算法,可進(jìn)行加密運(yùn)算,其中的私密信息不可復(fù)制。因此,eKey以其安全可靠、易于攜帶、使用方便、成本低廉、性價(jià)比高等特點(diǎn),在身份認(rèn)證領(lǐng)域也正發(fā)揮著越來(lái)越多的作用,成為身份認(rèn)證技術(shù)的一個(gè)重要發(fā)展方向和趨勢(shì)。引進(jìn)eKey+數(shù)字證書登錄帶來(lái)的好處:1. 安全。雙因子認(rèn)證。用戶在使用eKey之前,需要輸入PIN碼驗(yàn)證;驗(yàn)證通過(guò)后再調(diào)用eKey里的私鑰作用于身份認(rèn)證用的簽名運(yùn)算。這樣就等于設(shè)置了2道門,都通過(guò)后才能最終進(jìn)入。2. 方便。用戶只需隨身攜帶一個(gè)eKey,就可不限時(shí)間、不限地點(diǎn)的證明自己的身份??梢杂猛粋€(gè)eKey登錄不同的Web站點(diǎn)而不怕安全問(wèn)題。3. 用戶身份具有法律保障。用戶的數(shù)字證書由權(quán)威的CA簽發(fā)。用戶的登錄認(rèn)證可以保留日志用于以后追溯,即可防偽造又可防抵賴。 2身份認(rèn)證原理2.1數(shù)字簽名數(shù)字簽名的產(chǎn)生和驗(yàn)證過(guò)程:1. Alice產(chǎn)生文件的單向散列值。2. Alice用她的私人密鑰對(duì)散列加密,以此表示對(duì)文件的簽名。3. Alice將文件和散列簽名送給Bob。4. Bob用Alice發(fā)送的文件產(chǎn)生文件的單向散列值,同時(shí)用Alice的公鑰對(duì)簽名的散列解密。如果簽名的散列值與自己產(chǎn)生的散列值匹配,簽名是有效的。數(shù)字簽名具有以下特性:1. 完整性。因?yàn)樗峁┝艘豁?xiàng)用以確認(rèn)電子文件完整性的技術(shù)和方法,可認(rèn)定文件為未經(jīng)更改的原件。2. 可驗(yàn)證性??梢源_認(rèn)電子文件之來(lái)源.由于發(fā)件人以私鑰產(chǎn)生的電子簽章惟有與發(fā)件人的私鑰對(duì)應(yīng)的公鑰方能解密,故可確認(rèn)文件之來(lái)源。3. 不可否認(rèn)性。由于只有發(fā)文者擁有私鑰,所以其無(wú)法否認(rèn)該電子文件非由其所發(fā)送。 2.2身份認(rèn)證流程如下: 在實(shí)際的部署中,認(rèn)證服務(wù)器的功能可以在應(yīng)用服務(wù)器實(shí)現(xiàn)。步驟說(shuō)明:1. 瀏覽器打開應(yīng)用登錄頁(yè)面,里面包含一個(gè)被簽名的隨機(jī)數(shù),隨機(jī)數(shù)在應(yīng)用服務(wù)器端產(chǎn)生,記作RS2. 瀏覽器調(diào)用Ekey對(duì)RS進(jìn)行簽名3. Ekey返回對(duì)RS的簽名,記作SS2_C(RS)4. 瀏覽器提交表單,里面包含用戶證書SCertC和簽名SS2_C(RS),并用PKCS#7的SignedData封裝5. 應(yīng)用服務(wù)器把RS和SignedData交給認(rèn)證服務(wù)器驗(yàn)證6. 認(rèn)證服務(wù)器解開SignedData里面的簽名內(nèi)容、用戶證書和數(shù)據(jù)簽名,比較簽名內(nèi)容是否和RS相同,證書是否有效,簽名是否有效,若都有效,再查詢?cè)撟C書對(duì)應(yīng)的用戶ID。返回驗(yàn)證成功消息及用戶賬號(hào)7. 應(yīng)用服務(wù)器返回登錄成功頁(yè)面,給以該用戶賬號(hào)使用應(yīng)用服務(wù)該流程的優(yōu)點(diǎn)是:l 挑戰(zhàn)-響應(yīng)機(jī)制:客戶端在發(fā)起認(rèn)證請(qǐng)求時(shí),服務(wù)器端首先產(chǎn)生并返回一個(gè)隨機(jī)數(shù)(挑戰(zhàn));客戶端在提交認(rèn)證請(qǐng)求時(shí),將數(shù)字簽名后的隨機(jī)數(shù)發(fā)送到服務(wù)器端(響應(yīng)),由服務(wù)器端比較本地的隨機(jī)數(shù)和收到的隨機(jī)數(shù),以校驗(yàn)認(rèn)證請(qǐng)求的有效性,從而有效防止截獲和重放攻擊。l 數(shù)字簽名機(jī)制:客戶端提交的認(rèn)證請(qǐng)求,均由客戶端認(rèn)證組件調(diào)用eKey進(jìn)行簽名處理。eKey隨身攜帶,其中的私鑰不可復(fù)制,保證了私鑰的唯一性,由于數(shù)字簽名不可偽造和篡改,服務(wù)器端通過(guò)校驗(yàn)客戶端用戶證書和數(shù)字簽名的有效性,并結(jié)合認(rèn)證數(shù)據(jù)庫(kù)鑒別用戶身份。 3數(shù)字證書登錄認(rèn)證的實(shí)現(xiàn)以下討論如何實(shí)現(xiàn)數(shù)字證書在Web應(yīng)用中作登錄認(rèn)證。3.1SSL方式SSL在握手過(guò)程中,服務(wù)端接受客戶端證書SSL的用戶端認(rèn)證: CertificateRequest消息指示客戶端要進(jìn)行客戶端認(rèn)證,并就服務(wù)器愿意接受的認(rèn)證類型提供指導(dǎo):struct ClientCertificateType certificate_types; DistinguishedName certificate_authorities;CertificateRequest;enmu rsa_sign(1),dss_sign(2),rsa_fixed_db(3),dss_fixed_dh(4), (255)ClientCertificateType;opaque DistinguishedName;certificate_types指示支持哪種類型的客戶端證書。certificate_authorities指示服務(wù)器愿意接受哪些CA簽發(fā)的客戶端證書。Certificate消息是客戶端向服務(wù)端提交的表明身份的數(shù)字證書鏈,證書鏈的第一個(gè)證書就是表明用戶身份的數(shù)字證書。struct ASN.1Cert certificate_listCertificate; opaque ASN.1Cert;CertificateVerify消息用于真正的客戶端認(rèn)證。它包含由客戶端私鑰簽名的消息,簽名內(nèi)容為自ClientHello到本消息(不包含本消息)所收發(fā)的所有握手消息。且由于這些握手消息帶有導(dǎo)出主密鑰(master_secret)的隨機(jī)數(shù),所以本消息可以防止被重放。struct Signature signature; CertificateVerify;select (SignatureAlgorithm) case anonymous: struct ; case rsa: digitally-signed struct opaque md5_hash16; opaque sha_hash20; ; case dsa: digitally-signed struct opaque sha_hash20; ; Signature;CertificateVerify.signature.md5_hash=MD5(handshake_messages);CertificateVerify.signature.sha_hash=SHA(handshake_messages); 3.1.1WEB服務(wù)器設(shè)置WEB服務(wù)器設(shè)置成需要客戶端認(rèn)證。iis需要首先在服務(wù)端和客戶端都安裝CA證書鏈,可以通過(guò)MMC控制臺(tái)對(duì)計(jì)算機(jī)帳戶受信任根證書進(jìn)行添加 tomcat需要首先在服務(wù)端和客戶端都安裝CA證書鏈,可以在JDK目錄下的cacerts進(jìn)行添加修改c:/tomcat/conf/server.xml,添加如下內(nèi)容:3.1.2得到客戶端證書當(dāng)WEB服務(wù)器設(shè)置成需要客戶端認(rèn)證時(shí),客戶端在建立SSL鏈接時(shí)會(huì)提交用戶證書鏈,證書鏈的第一個(gè)即是表明用戶身份的個(gè)人證書。j2ee .net c#3.2表單方式表單方式的原理是:服務(wù)器產(chǎn)生一個(gè)隨機(jī)數(shù);客戶端用數(shù)字證書對(duì)應(yīng)的私鑰隨機(jī)數(shù)簽名,把隨機(jī)數(shù)、用戶證書、數(shù)字簽名以PKCS#7格式打包發(fā)送到服務(wù)器;服務(wù)器再分析此PKCS#7數(shù)據(jù)包,得到簽名隨機(jī)數(shù)、用戶證書和數(shù)字簽名,再驗(yàn)證這3個(gè)元素是否有效。3.2.1客戶端調(diào)用CAPICOM的JS腳本(capicom.js)var CAPICOM_CURRENT_USER_STORE = 2;var CAPICOM_STORE_OPEN_READ_ONLY = 0;var CAPICOM_ENCODE_BASE64 = 0;var CAPICOM_ENCODE_BINARY = 1;var CAPICOM_INFO_SUBJECT_SIMPLE_NAME = 0;var CAPICOM_INFO_ISSUER_SIMPLE_NAME = 1;var CAPICOM_INFO_SUBJECT_EMAIL_NAME = 2;var CAPICOM_INFO_ISSUER_EMAIL_NAME = 3;function SelectMySignCert() /cert store var mystore = new ActiveXObject(CAPICOM.Store); mystore.Open(CAPICOM_CURRENT_USER_STORE,My,CAPICOM_STORE_OPEN_READ_ONLY); var certs= mystore.Certificates; /myca sign certs/ var mycacerts= certs; var mycacerts= new ActiveXObject(CAPICOM.Certificates); for(i=1;i=certs.Count;i+) /check issuer var issuer=certs.Item(i).IssuerName; if(issuer.indexOf(CN=MYCA)0) /not myca continue; /check key usage var ku=certs.Item(i).KeyUsage(); if(!ku.IsDigitalSignatureEnabled) /not sign cert continue; /add mycerts.Add(certs.Item(i); if(mycerts.Count=0) if(window.confirm(沒(méi)有找到MYCA簽發(fā)的證書,/r/n請(qǐng)插入相應(yīng)的Ekey再按確定)=true) return SelectMySignCert(); else return null; /select cert var certsel= mycerts.Select(選擇證書,請(qǐng)選擇證書:,false); if(certsel=null)return null; var cert= certsel.Item(1);/ cert.Display(); return cert;function SignText(strtext) /select cert var mysigncert= SelectMySignCert(); if(mysigncert=null)return null; /signed data var signer = new ActiveXObject(CAPICOM.Signer); signer.Certificate = mysigncert; var signeddata = new ActiveXObject(CAPICOM.SignedData); var utils = new ActiveXObject(CAPICOM.Utilities); signeddata.Content = utils.BinaryStringToByteArray(strtext); return signeddata.Sign(signer,false,CAPICOM_ENCODE_BASE64);/*var signature= SignText(hello);WScript.Echo(signature);*/ 登錄頁(yè)面(login.aspx)登錄頁(yè)面function submitform() var signature= SignText(); if(signature=null)return; form1.passport.value= signature; form1.submit(); 3.2.2服務(wù)端JDK1.5中自帶的JCE并不支持PKCS#7,.net framework是支持的。登錄判斷邏輯(verify.aspx)% string challenge = (string)Sessionchallenge; Sessionchallenge = null; if(challenge=null) Response.Write(沒(méi)有隨
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024項(xiàng)目融資合同協(xié)議書
- 2025年度中醫(yī)食療研究與推廣合同4篇
- 2025年度特色餐飲連鎖品牌授權(quán)合同3篇
- 2025年度生態(tài)修復(fù)工程承包商借款合同范本4篇
- 2025年度數(shù)據(jù)中心運(yùn)維外包合同4篇
- 2025年度體育用品代理服務(wù)合同模板4篇
- 2025年度物流車輛環(huán)保排放檢測(cè)合同4篇
- 2025年度人工智能技術(shù)應(yīng)用與開發(fā)合同2篇
- 2024版全新銷售擔(dān)保合同范本下載
- 2025年度新能源汽車充電站車位銷售與管理協(xié)議4篇
- 專升本英語(yǔ)閱讀理解50篇
- 施工單位值班人員安全交底和要求
- 中國(guó)保險(xiǎn)用戶需求趨勢(shì)洞察報(bào)告
- 數(shù)字化轉(zhuǎn)型指南 星展銀行如何成為“全球最佳銀行”
- 中餐烹飪技法大全
- 靈芝孢子油減毒作用課件
- 現(xiàn)場(chǎng)工藝紀(jì)律檢查表
- 醫(yī)院品管圈與護(hù)理質(zhì)量持續(xù)改進(jìn)PDCA案例降低ICU病人失禁性皮炎發(fā)生率
- 新型電力系統(tǒng)研究
- 烘干廠股東合作協(xié)議書
- 法院服務(wù)外包投標(biāo)方案(技術(shù)標(biāo))
評(píng)論
0/150
提交評(píng)論