• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      數(shù)字證書安全性研究

      2021-08-23 06:04:54陳怡丹李馥娟
      信息安全研究 2021年9期
      關(guān)鍵詞:數(shù)字證書私鑰公鑰

      陳怡丹 李馥娟

      (江蘇警官學(xué)院計(jì)算機(jī)信息與網(wǎng)絡(luò)安全系 南京 210031)(2632470270@qq.com)

      安全與應(yīng)用如影相伴.隨著互聯(lián)網(wǎng)應(yīng)用范圍和領(lǐng)域的進(jìn)一步拓展,網(wǎng)絡(luò)安全問(wèn)題越來(lái)越突出并引起社會(huì)各界的普遍關(guān)注,各類有針對(duì)性的網(wǎng)絡(luò)攻擊嚴(yán)重影響著互聯(lián)網(wǎng)應(yīng)用向著縱深發(fā)展.近年來(lái),電子商務(wù)、電子政務(wù)等在線應(yīng)用的發(fā)展越來(lái)越快,廣泛應(yīng)用于人們的生產(chǎn)生活中,在這一過(guò)程中,用戶身份的真實(shí)性、數(shù)據(jù)傳輸?shù)陌踩?、終端接入的可信性等問(wèn)題日益受到重視.在此情況下,數(shù)字證書作為一種網(wǎng)絡(luò)安全機(jī)制出現(xiàn),為身份授權(quán)管理、代碼簽名保護(hù)、可信網(wǎng)站服務(wù)、安全終端保護(hù)、安全電子郵件等應(yīng)用提供了必要的安全保障.然而,安全是相對(duì)的,任何一種安全技術(shù)在解決了某一類安全問(wèn)題的同時(shí),其自身存在的不安全因素以及應(yīng)用過(guò)程中衍生出的安全隱患也應(yīng)引起足夠重視[1-3].本文基于目前普遍使用的公鑰基礎(chǔ)設(shè)施 (public key infrastructure, PKI),以典型的RSA算法和廣泛使用的USBKey數(shù)字證書為研究對(duì)象,在系統(tǒng)介紹PKI體系及相關(guān)技術(shù)實(shí)現(xiàn)原理和主要功能的基礎(chǔ)上,分析數(shù)字證書存在的安全問(wèn)題,并提出相應(yīng)的解決方法和思路.

      1 數(shù)字證書的實(shí)現(xiàn)原理

      1976年,為解決在公共網(wǎng)絡(luò)中傳輸信息和進(jìn)行密鑰交換的需要,美國(guó)學(xué)者Diffie和Hellman提出了公鑰密鑰機(jī)制的設(shè)想;接著,Merkle和Hellman提出了基于該設(shè)想的MH背包公鑰密碼算法,它是1個(gè)非對(duì)稱算法,該算法的特點(diǎn)是生成的1個(gè)私鑰同時(shí)對(duì)應(yīng)多個(gè)公鑰,其中私鑰自己保存,而公鑰分發(fā)給他人用于加密文件,一個(gè)私鑰可以同時(shí)解密由多個(gè)公鑰加密后的文件,MH背包公鑰密碼算法只是公鑰密鑰的一個(gè)雛形,而不是真正意義上的公鑰密鑰加密機(jī)制;1978年,由Rivest,Shamir,Adleman共同提出了RSA算法,成為第1個(gè)安全、實(shí)用的公鑰加密算法,是對(duì)傳統(tǒng)對(duì)稱加密機(jī)制的一次重要革命.

      與對(duì)稱加密算法不同,公鑰密鑰加密(非對(duì)稱加密)算法要求生成的密鑰是成對(duì)出現(xiàn)的,其中一個(gè)為可以公開的公鑰,另一個(gè)為不能公開的私鑰,而且不能從一個(gè)公鑰推導(dǎo)出對(duì)應(yīng)的私鑰,同時(shí)公鑰加密的文件不能用公鑰解密,私鑰加密的文件無(wú)法用私鑰解密.RSA算法是一個(gè)典型的公鑰密鑰算法,另外還有EIGamal,Rabin,ECC等算法.

      公鑰加密機(jī)制為數(shù)字證書的實(shí)現(xiàn)提供了技術(shù)支撐,PKI為數(shù)字證書的應(yīng)用提供了平臺(tái)保障.PKI是以公鑰密鑰算法為理論基礎(chǔ)提出的一套安全服務(wù)體系,其主要內(nèi)容包括數(shù)字證書、具體的公鑰密鑰算法、證書頒發(fā)機(jī)制 (certificate authority, CA)等.其中CA是PKI的核心,它是一個(gè)可靠、可信的第三方權(quán)威機(jī)構(gòu),負(fù)責(zé)數(shù)字證書的簽發(fā)和管理.

      數(shù)字證書是由CA經(jīng)過(guò)簽名后頒發(fā)的一個(gè)具有特殊功能的電子文檔,它與實(shí)體(用戶、終端等)身份一一對(duì)應(yīng).證書的內(nèi)容包含Version(證書版本)、Serial Number(序列號(hào))、Algorithm Identifier(簽名算法)、Issuer(身份驗(yàn)證機(jī)構(gòu))、Period of Validity(證書有效期)、Subject(證書技術(shù)者)、Subject’s Public Key(證書技術(shù)者的公鑰)和Signature(CA對(duì)證書的簽名),具體內(nèi)容在X.509標(biāo)準(zhǔn)中進(jìn)行定義.

      2 RSA算法的安全性

      2.1 RSA算法

      RSA算法的理論基礎(chǔ)是基于一種特殊的可逆模指數(shù)運(yùn)算,算法描述如下:

      1) 選擇2個(gè)大素?cái)?shù)p和q,在實(shí)際應(yīng)用中一般要求大于1 024 b,在安全性要求較高的領(lǐng)域建議大于2 048 b;

      2) 計(jì)算n=p×q,φ(n)=(p-1)(q-1),其中φ(n)為n的歐拉函數(shù);

      3) 隨機(jī)選取一個(gè)正整數(shù)e(1

      4) 用歐幾里得擴(kuò)展算法計(jì)算私鑰d,以滿足d×e=1(modφ(n)),即d≡e-1(modφ(n)).則e和n是公鑰,d是私鑰.

      2.2 RSA算法的安全威脅

      從算法的實(shí)現(xiàn)過(guò)程可以看出,RSA算法的安全性在很大程度上取決于對(duì)大整數(shù)的素?cái)?shù)分解問(wèn)題,即模數(shù)n被分解為素因子p與q的過(guò)程.目前,隨著計(jì)算機(jī)處理能力的增強(qiáng)和分析算法的不斷優(yōu)化,解決這一問(wèn)題已不再是難題,只是算力和運(yùn)算時(shí)間的問(wèn)題.對(duì)RSA算法的攻擊主要體現(xiàn)在以下2個(gè)方面:

      1) 因子分解法.

      2) 針對(duì)參數(shù)的攻擊[4-6].

      可以利用RSA算法實(shí)現(xiàn)過(guò)程中對(duì)參數(shù)選擇的不當(dāng),從而實(shí)現(xiàn)對(duì)算法的攻擊.主要表現(xiàn)為以下3個(gè)方面:

      ② 低指數(shù)攻擊.低指數(shù)攻擊主要是由于過(guò)于追求加密的高效性,而選擇了較小的加密密鑰e,由此帶來(lái)了安全隱患.同樣,解密密鑰d也不能取得太小.在實(shí)踐中已經(jīng)證明,如果d

      ③ 素因子攻擊.假設(shè)攻擊者獲得了密文c,可以進(jìn)行重復(fù)加密:ce≡(me)e≡me2(modn),ce2≡(me)e2≡me3(modn),…,cet≡(me)et≡met+1(modn),如果cet(modn)≡c(modn),即(met)e(modn)≡c(modn),則有met≡m(modn),即(cet-1)≡m(modn),由此可以看出,在重復(fù)加密的倒數(shù)第2步就已經(jīng)恢復(fù)出了明文m.為此,如果要提高RSA算法的抗攻擊性,在選擇素因素p和q時(shí),必須保證t足夠大.

      2.3 安全防范措施

      針對(duì)存在的安全威脅,可以重點(diǎn)從密鑰長(zhǎng)度和參數(shù)選擇2個(gè)方面加強(qiáng)RSA密碼機(jī)制的安全防御能力.

      2.3.1 密鑰長(zhǎng)度

      RSA加密機(jī)制中密鑰長(zhǎng)度的確定需要在安全性與效率之間取得平衡,密鑰越長(zhǎng),抗攻擊能力越強(qiáng),但效率會(huì)降低.在具體設(shè)計(jì)和部署一個(gè)RSA加密系統(tǒng)時(shí),要充分考慮網(wǎng)絡(luò)環(huán)境下針對(duì)RSA算法分析的計(jì)算能力,以不可破解為前提.在此基礎(chǔ)上,還要考慮被保護(hù)對(duì)象的數(shù)據(jù)類型、保護(hù)期限、可能的攻擊行為以及遭受的威脅類型等因素.512 b的密鑰長(zhǎng)度早已確定為不安全而被淘汰,1 024 b密鑰在安全要求較高的系統(tǒng)中也不建議使用,2 048 b成為目前RSA加密機(jī)制的首選.

      2.3.2 參數(shù)選擇

      根據(jù)RSA算法的實(shí)現(xiàn)原理,為了實(shí)現(xiàn)系統(tǒng)的安全性,在選取大整數(shù)n時(shí)確保其值足夠大的前提下,對(duì)素?cái)?shù)p和q的選取應(yīng)滿足以下條件:

      1) |p-q|的值不能太大.如使用2 048 b的模數(shù)n,則數(shù)p和q的模長(zhǎng)選取建議在1 024 b左右.

      3)gcd(p-1,q-1)應(yīng)盡可能小.

      4)p和q應(yīng)為強(qiáng)素?cái)?shù),即素?cái)?shù)p-1和q-1的都應(yīng)有大的素因子.

      5) 在選取加密指數(shù)e和解密指數(shù)d時(shí)其值不能太小,以防止低指數(shù)攻擊.

      3 USBKey的安全性

      3.1 USBKey結(jié)構(gòu)

      USBKey是網(wǎng)上銀行、第三方支付等領(lǐng)域使用的用于數(shù)據(jù)加密和身份認(rèn)證的“電子鑰匙”,不同行業(yè)和應(yīng)用領(lǐng)域?qū)SBKey有不同的稱法,如工行的“U盾”、招行的“優(yōu)Key”、支付寶公司的“支付盾”等.USBKey借助USB接口技術(shù)和U盤的介質(zhì)特性,結(jié)合智能卡和現(xiàn)代密碼學(xué)技術(shù),在PKI體系中實(shí)現(xiàn)了對(duì)數(shù)字證書文件及安全密鑰的有效保護(hù).USBKey的邏輯結(jié)構(gòu)如圖1所示:

      圖1 USBKey的邏輯結(jié)構(gòu)

      3.1.1 USBKey內(nèi)部結(jié)構(gòu)

      USBKey的內(nèi)部結(jié)構(gòu)可以分為硬件、CoS和通信接口3層.

      1) 硬件.安全智能卡和USB通信是硬件的主要組成部分,而且兩者在功能上實(shí)現(xiàn)了相互融合,安全智能卡在提供數(shù)據(jù)存儲(chǔ)安全性的同時(shí),還實(shí)現(xiàn)了安全計(jì)算功能,如RSA,ECC計(jì)算等.

      2) CoS.片上系統(tǒng)(system on chip, CoS)是一個(gè)固化在智能卡只讀存儲(chǔ)器(ROM)中的小型操作系統(tǒng),以嵌入式系統(tǒng)軟件方式實(shí)現(xiàn)了公鑰密鑰對(duì)的生成、對(duì)私鑰的安全保護(hù)、用戶數(shù)字證書的申領(lǐng)與安全管理等功能.

      3) 通信接口.通信接口實(shí)現(xiàn)USBKey與外部設(shè)備之間的安全通信.

      3.1.2 USBKey外部結(jié)構(gòu)

      外部結(jié)構(gòu)通過(guò)加密設(shè)備接口標(biāo)準(zhǔn)實(shí)現(xiàn)與PC和智能卡(SmartCard,SC)等外部設(shè)備之間的數(shù)據(jù)交換.

      1) 接口規(guī)范.USBKey中的安全智能卡必須符合PC/SC接口,以實(shí)現(xiàn)安全智能卡的透明性、可擴(kuò)展性和通用性.目前廣泛使用的USBKey中的安全智能卡,由于與PC和SC之間的數(shù)據(jù)交換量較少,對(duì)通信帶寬的要求也不高,所以開始配置為類似于USB鼠標(biāo)、鍵盤的人體學(xué)接口設(shè)備(human interface device, HID),在Windows操作系統(tǒng)下還實(shí)現(xiàn)了免安裝驅(qū)動(dòng)程序等操作.

      2) 加密設(shè)備接口標(biāo)準(zhǔn)[7].為了適應(yīng)不同環(huán)境的應(yīng)用需要,USBKey提供了目前應(yīng)用最為廣泛的CSP和PKCS加密設(shè)備接口標(biāo)準(zhǔn).加密服務(wù)提供程序 (cryptographic service provider, CSP)是Windows操作系統(tǒng)針對(duì)應(yīng)用層提供的標(biāo)準(zhǔn)接口函數(shù)和底層加密接口,實(shí)現(xiàn)數(shù)據(jù)的加密、解密、數(shù)字簽名、驗(yàn)證和報(bào)文摘要等操作.CSP是PKI推薦使用的加密API,用戶可以直接使用微軟公司的加密應(yīng)用程序接口(cryptographic application programming interface, CryptoAPI)調(diào)用CSP函數(shù)來(lái)實(shí)現(xiàn)所選擇的密碼算法(如RSA,ECC等)的運(yùn)算.公鑰密碼標(biāo)準(zhǔn)(public key cryptography standards, PKCS)是由美國(guó)RSA數(shù)據(jù)安全公司及其合作伙伴制定的一組公鑰密碼學(xué)標(biāo)準(zhǔn),其中包括證書申請(qǐng)、證書更新、證書管理、擴(kuò)展證書內(nèi)容以及數(shù)字簽名、數(shù)字信封的格式等方面的一系列相關(guān)協(xié)議,其中PKCS#11(稱為密鑰管理接口(Cyptoki))定義了一套與平臺(tái)無(wú)關(guān)的獨(dú)立于技術(shù)的程序設(shè)計(jì)接口,用于智能卡的加密設(shè)備.在接口定義上,PKCS#11比CSP更加靈活,更加方便開發(fā)者的使用,同時(shí)也具有更好的擴(kuò)展功能.考慮到應(yīng)用的靈活性和兼容性,目前許多廠商的USBKey同時(shí)提供了對(duì)PKCS與CSP的支持.

      3.2 USBKey自身的安全性

      早期的數(shù)字證書以文件形式存放在計(jì)算機(jī)硬盤或外部存儲(chǔ)介質(zhì)中,極易被復(fù)制、竊取和破壞,存在較大的安全隱患.USBKey雖然外形與U盤沒有區(qū)別,但其內(nèi)置了SoC和碼算法庫(kù),可以存儲(chǔ)用戶的數(shù)字證書文件和私鑰,對(duì)外提供了I/O接口.USBKey提供了多項(xiàng)安全技術(shù)和措施,實(shí)現(xiàn)其自身的安全性.

      3.2.1 密鑰對(duì)在USBKey中產(chǎn)生

      PKI體系中使用的密鑰對(duì)在USBKey中產(chǎn)生.其中,私鑰在生成后將得到SoC的保護(hù),用戶無(wú)法導(dǎo)出和復(fù)制,以確保密鑰永久保存在USBKey中;產(chǎn)生的公鑰用于向CA申請(qǐng)用戶數(shù)字證書,在此過(guò)程中USBKey通過(guò)PKCS保證了用戶信息及所申領(lǐng)數(shù)字證書的安全性.

      3.2.2 用戶進(jìn)行USBKey初始化操作

      USBKey的初始化操作及數(shù)字證書的申領(lǐng)都由用戶直接操作完成.沒有進(jìn)行初始化的USBKey只是一個(gè)智能芯片,這時(shí)還沒有與用戶相關(guān)聯(lián)的信息存儲(chǔ)在介質(zhì)中.只有在進(jìn)行數(shù)字證書的申領(lǐng)時(shí),USBKey在外部設(shè)備(如PC)端程序(如瀏覽器)的配合下,運(yùn)行相應(yīng)的公鑰密碼算法生成密鑰對(duì),再用其中的公鑰向CA申領(lǐng)數(shù)字證書.所以,USBKey的初始化操作以及數(shù)字證書的全部申領(lǐng)過(guò)程都需要用戶輸入和確認(rèn)相關(guān)信息后才能逐步完成,在一定程度上確保了數(shù)字證書生成的安全性.

      3.2.3 基于介質(zhì)和PIN碼的雙因子安全認(rèn)證[8]

      USBKey在使用時(shí)需要同時(shí)提供硬件介質(zhì)和PIN碼,實(shí)現(xiàn)了雙因子認(rèn)證功能.類似銀行卡,用戶在開始使用USBKey時(shí),都需要修改初始PIN碼,設(shè)置一個(gè)只有用戶知道的新的PIN碼.雙因子認(rèn)證的應(yīng)用,只有在擁有USBKey介質(zhì),并知道PIN碼的前提下,才能完成認(rèn)證操作.

      3.3 安全防范措施

      隨著數(shù)字證書的廣泛使用,市面上USBKey的品牌類型越來(lái)越多,不同USBKey在硬件質(zhì)量、性能及安全、使用的便捷性等方面會(huì)存在一些差異.除此之外,還需要從以下2個(gè)方面加強(qiáng)USBKey應(yīng)用的安全性:

      1) 加強(qiáng)應(yīng)用管理.

      “三分技術(shù),七分管理”是信息安全領(lǐng)域普遍接受的一個(gè)道理,在USBKey的使用過(guò)程中,加強(qiáng)對(duì)USBKey介質(zhì)和PIN碼的安全管理是基礎(chǔ),尤其在使用過(guò)程中要防止PC端植入木馬后修改PIN碼,再通過(guò)遠(yuǎn)程桌面等方式進(jìn)行在線交易.

      2) 加強(qiáng)對(duì)木馬的防范.

      雖然目前很少有用戶會(huì)使用直接存儲(chǔ)在計(jì)算機(jī)硬盤或U盤等介質(zhì)中的數(shù)字證書文件來(lái)實(shí)現(xiàn)用戶身份認(rèn)證和數(shù)據(jù)的安全性,但由于USBKey技術(shù)實(shí)現(xiàn)涉及的內(nèi)容和范圍較廣,所以其應(yīng)用的安全性同樣存在一定的挑戰(zhàn).伴隨著USBKey的應(yīng)用從早期身份認(rèn)證發(fā)展到所有使用數(shù)字證書的領(lǐng)域,出現(xiàn)了一些專門針對(duì)USBKey的木馬程序.例如,不同品牌的USBKey對(duì)PKCS#11和CSP接口規(guī)范操作細(xì)節(jié)存在一定的差異,有些甚至存在可被攻擊者利用的安全漏洞,攻擊者通過(guò)開發(fā)專門針對(duì)該類漏洞的木馬程序,可以中間人攻擊方式實(shí)時(shí)修改銀行轉(zhuǎn)賬等信息,完成非法交易[9-10];再如,用戶普遍使用Windows操作系統(tǒng)及IE瀏覽器來(lái)操作USBKey,在此過(guò)程中,不同品牌的USBKey廠商開發(fā)了各自針對(duì)IE瀏覽器的控件,IE瀏覽器控件實(shí)現(xiàn)技術(shù)自身的安全隱患以及部分控件在開發(fā)過(guò)程中存在的不嚴(yán)謹(jǐn)性為木馬程序攻擊提供了便利.為此,定期(至少在使用USBKey之前)查殺用戶計(jì)算機(jī)上的木馬等惡意程序,是安全使用USBKey的前提.

      4 PKI體系的安全性

      4.1 USBKey在PKI體系中的應(yīng)用

      PKI是一種利用公鑰加密技術(shù)為互聯(lián)網(wǎng)應(yīng)用提供一套安全基礎(chǔ)平臺(tái)的技術(shù)規(guī)范和遵循標(biāo)準(zhǔn),它能夠?yàn)榫W(wǎng)絡(luò)應(yīng)用提供身份認(rèn)證、數(shù)據(jù)加密和數(shù)字簽名等密碼服務(wù)及所必需的密鑰和證書管理體系.更具體地講,PKI就是利用公鑰密鑰理論和技術(shù)建立的提供安全服務(wù)的基礎(chǔ)設(shè)施.目前,在PKI體系應(yīng)用中USBKey已經(jīng)逐漸取得了早期使用的單純“數(shù)字證書文件”形式,通過(guò)存儲(chǔ)其中的用戶密鑰和數(shù)字證書實(shí)現(xiàn)用戶身份認(rèn)證和數(shù)據(jù)安全傳輸.圖2是PKI體系中使用USBKey實(shí)現(xiàn)用戶身份認(rèn)證和數(shù)據(jù)加密的流程示意圖[11],其工作過(guò)程如下:

      圖2 PKI體系中USBKey實(shí)現(xiàn)用戶身份認(rèn)證和數(shù)據(jù)加密

      1) 通過(guò)步驟①輸入U(xiǎn)SBKey使用者的信息,生成用戶證書.在面向社會(huì)服務(wù)的PKI體系或大型組織中,一般會(huì)有一個(gè)注冊(cè)機(jī)構(gòu)(registration authority, RA),專門負(fù)責(zé)證書發(fā)放、更新、撤銷等操作,RA提供用戶和CA之間的接口,在獲取并認(rèn)證用戶的身份后,向CA提出證書請(qǐng)求.同時(shí),對(duì)于服務(wù)器SSL證書,系統(tǒng)維護(hù)人員(管理員)在申請(qǐng)服務(wù)器數(shù)字證書時(shí)需要輸入生成證書簽名請(qǐng)求(certificate signing request, CSR)文件所需要的信息.

      2) 通過(guò)步驟②③向CA申領(lǐng)數(shù)字證書.根據(jù)服務(wù)功能和對(duì)象的不同,CA既可以由機(jī)構(gòu)自建,也可以使用第三方可信機(jī)構(gòu)提供的CA系統(tǒng).RA管理員客戶端程序調(diào)用USBKey驅(qū)動(dòng),在USBKey中生成公鑰密鑰對(duì),之后RA將從USBKey中獲得已生成的公鑰,并與用戶信息一體經(jīng)格式化后發(fā)給CA.CA使用自己的私鑰對(duì)請(qǐng)求進(jìn)行簽名,生成用戶數(shù)字證書;管理員將認(rèn)證服務(wù)器CSR導(dǎo)出,同樣將請(qǐng)求發(fā)給CA,CA使用自己的私鑰對(duì)請(qǐng)求進(jìn)行簽名,生成服務(wù)器數(shù)字證書.

      3) 通過(guò)步驟④⑤獲取到數(shù)字證書.RA管理員的客戶端程序獲得由CA簽發(fā)的符合X.509標(biāo)準(zhǔn)的數(shù)字證書后,調(diào)用USBKey驅(qū)動(dòng)程序?qū)?shù)字證書寫入U(xiǎn)SBKey.同時(shí),RA管理員將該用戶的相關(guān)信息和對(duì)應(yīng)的數(shù)字證書導(dǎo)入到認(rèn)證服務(wù)器中,以便該用戶在后續(xù)操作中使用;管理員將返回符合X.509標(biāo)準(zhǔn)的服務(wù)器證書導(dǎo)入到認(rèn)證服務(wù)器.

      4) 通過(guò)步驟⑥導(dǎo)入CA證書.管理員將CA自己的證書導(dǎo)入到認(rèn)證服務(wù)器中,以便于認(rèn)證服務(wù)器通過(guò)CA證書來(lái)驗(yàn)證所有經(jīng)CA簽發(fā)的用戶證書;同時(shí),用戶將CA的證書導(dǎo)入客戶端瀏覽器.

      5) 通過(guò)步驟⑦~⑨實(shí)現(xiàn)用戶身份認(rèn)證和數(shù)據(jù)加密操作.用戶向認(rèn)證服務(wù)器發(fā)起認(rèn)證請(qǐng)求,認(rèn)證服務(wù)器返回服務(wù)器證書,用戶客戶端檢查證書的有效性(證書的有效期、是否為可信CA簽發(fā)等),并驗(yàn)證服務(wù)器的真實(shí)性,完成對(duì)服務(wù)器的認(rèn)證;服務(wù)器要求用戶客戶端發(fā)送用戶證書,客戶端向服務(wù)器發(fā)送自己的用戶證書,服務(wù)器檢查證書的有效性,并驗(yàn)證客戶身份的真實(shí)性.出于安全考慮,此運(yùn)行過(guò)程在用戶輸入PIN碼后在USBKey中進(jìn)行,而且用戶私鑰一直沒有離開USBKey;通過(guò)雙向認(rèn)證后,客戶端生成一個(gè)會(huì)話密鑰,并利用服務(wù)器公鑰進(jìn)行加密后發(fā)給服務(wù)器,從而完成會(huì)話密鑰的交換,在之后的通信中將采用該會(huì)話密鑰實(shí)現(xiàn)數(shù)據(jù)的對(duì)稱加密.

      4.2 數(shù)字證書的安全管理

      作為一個(gè)安全管理平臺(tái),PKI需要遵循證書格式、證書申領(lǐng)流程、證書下載規(guī)范、證書的使用和操作要求等各種標(biāo)準(zhǔn).

      4.2.1 證書管理

      數(shù)字證書的管理主要包括證書的申請(qǐng)、審核、下載和使用等方面.在PKI體系中,CA負(fù)責(zé)證書的簽發(fā)和管理,RA負(fù)責(zé)對(duì)用戶信息進(jìn)行資格審查,CA和RA都必須遵守相關(guān)的規(guī)范.例如,銀行系統(tǒng)的RA在審核用戶信息時(shí),對(duì)是否存在惡意透支或貸款逾期不還等不良行為要進(jìn)行全面細(xì)致審核,并認(rèn)真核對(duì)用戶的身份證等信息.證書的下載通過(guò)PKCS#7安全協(xié)議將由CA簽發(fā)的數(shù)字證書寫入到USBKey,在此過(guò)程中需要保證用戶客戶端系統(tǒng)和工具的可靠性和安全性.

      4.2.2 CA管理[12]

      CA通常為一個(gè)稱為安全域(security domain)的有限群體創(chuàng)建和發(fā)放數(shù)字證書.創(chuàng)建證書時(shí),CA首先獲取用戶的公鑰等請(qǐng)求信息,然后根據(jù)用戶的請(qǐng)求信息產(chǎn)生證書,并用自己的私鑰對(duì)證書進(jìn)行簽名后下發(fā),其他用戶、應(yīng)用程序或?qū)嶓w將利用CA的公鑰對(duì)證書進(jìn)行驗(yàn)證.如果一個(gè)CA是可信的,則所驗(yàn)證的證書中的公鑰一定屬于證書所代表的那個(gè)實(shí)體.對(duì)CA的管理離不開CPS中的約定.證書操作聲明(certificate practice statement, CPS)是一些由商業(yè)證書發(fā)放機(jī)構(gòu)(common certification authority, CCA)或者可信第三方CA需要遵循的安全策略和操作規(guī)范,主要包括CA的創(chuàng)建與運(yùn)行,證書的創(chuàng)建、發(fā)放、廢除,密鑰的產(chǎn)生與保存以及用戶的注冊(cè)等約束性條款.CPS規(guī)定了CA對(duì)外服務(wù)所擔(dān)負(fù)的權(quán)利和義務(wù),可以通過(guò)及時(shí)準(zhǔn)確地發(fā)布功能類似黑名單的證書吊銷列表(certificate revocation list, CRL),以免證書依賴方受到欺騙.RA有權(quán)對(duì)證書申領(lǐng)者的資格進(jìn)行審核,同時(shí)接受CA的監(jiān)督和審計(jì).

      4.2.3 密碼管理

      類似于日常生活中負(fù)責(zé)護(hù)照和身份證辦理的社會(huì)機(jī)構(gòu),CA在PKI體系中負(fù)責(zé)簽發(fā)和管理數(shù)字證書,具有公正性和權(quán)威性.公鑰密鑰機(jī)制是構(gòu)建PKI體系的核心,在《信息安全技術(shù):證書認(rèn)證系統(tǒng)密碼及其相關(guān)安全技術(shù)規(guī)范》[13]中詳細(xì)規(guī)定了數(shù)字證書認(rèn)證系統(tǒng)的密碼算法及其相關(guān)安全技術(shù)要求,主要包括證書認(rèn)證系統(tǒng)、密鑰管理系統(tǒng)、密碼算法、密碼設(shè)備及接口、證書認(rèn)證中心、密鑰管理中心以及證書操作流程等內(nèi)容,其中密鑰管理系統(tǒng)由密鑰生成、密鑰庫(kù)管理、密鑰恢復(fù)、密碼服務(wù)、密鑰管理、安全審核、認(rèn)證管理等模塊組成.對(duì)證書認(rèn)證系統(tǒng)使用密碼算法也進(jìn)行說(shuō)明和規(guī)定:使用對(duì)稱密鑰密碼算法實(shí)現(xiàn)數(shù)據(jù)加/解密以及消息認(rèn)證,使用非對(duì)稱密鑰密碼算法實(shí)現(xiàn)數(shù)字簽名/驗(yàn)證以及密鑰交換,使用Hash算法實(shí)現(xiàn)待簽名消息的摘要運(yùn)算,而且規(guī)定采用國(guó)家密碼管理主管部門認(rèn)可的密碼算法,其中Hash算法推薦采用SM3算法.同時(shí),在2020年1月1日起實(shí)施的《中華人民共和國(guó)密碼法》中明確規(guī)定:密碼是國(guó)家重要戰(zhàn)略資源,密碼工作是黨和國(guó)家的一項(xiàng)特殊重要工作,其直接關(guān)系到國(guó)家政治安全、經(jīng)濟(jì)安全、國(guó)防安全和信息安全.相關(guān)法律的出臺(tái)和實(shí)施,為規(guī)范PKI體系中密碼算法的選擇、使用和管理提供了制度保障.

      4.3 數(shù)字證書的安全應(yīng)用

      數(shù)字證書的安全應(yīng)用主要通過(guò)對(duì)數(shù)字證書客戶端的安全管理,防止可能出現(xiàn)的針對(duì)客戶端的各類攻擊行為的發(fā)生.

      4.3.1 防止針對(duì)用戶信息的攻擊

      目前,雖然PKI體系的安全性得到了大家的普遍認(rèn)可,在網(wǎng)上銀行、證券交易等需要在線支付的系統(tǒng)中用數(shù)字證書來(lái)替代早期使用的“用戶名+密碼”方式.但是,在一些用戶的日常應(yīng)用中還是出于應(yīng)用的便捷性,通過(guò)輸入用戶名和密碼后進(jìn)行各類在線操作.這種現(xiàn)象在基于智能手機(jī)的移動(dòng)支付領(lǐng)域普遍存在.由于智能手機(jī)的自身功能和安全的局限性,無(wú)法直接使用USBKey介質(zhì)來(lái)保存用戶數(shù)字證書,而且針對(duì)Android等操作系統(tǒng)和在線支付平臺(tái)存在的安全薄弱環(huán)節(jié)編寫的木馬程序,可常駐系統(tǒng)監(jiān)視用戶網(wǎng)絡(luò)交易,強(qiáng)制用戶使用網(wǎng)銀,并借機(jī)篡改訂單、盜取財(cái)產(chǎn)等.隨著各類在線支付應(yīng)用的普及,一些有組織的地下黑色產(chǎn)業(yè)鏈利用釣魚網(wǎng)站,通過(guò)克隆假網(wǎng)站來(lái)欺騙用戶,并利用社會(huì)工程學(xué)技術(shù)來(lái)竊取用戶的賬號(hào)和密碼等信息.為此,在加強(qiáng)用戶端應(yīng)用安全的前提下,對(duì)于涉及到較大資金的在線支付建議采用USBKey證書,以提高應(yīng)用的安全性.

      4.3.2 防止對(duì)用戶數(shù)字證書的非法使用

      在USBKey證書推出之前,銀行、證券公司等機(jī)構(gòu)在認(rèn)識(shí)到“用戶名+密碼”方式存在的安全隱患后,曾大量簽發(fā)將數(shù)字證書和私鑰打包存放于計(jì)算機(jī)硬盤或U盤等介質(zhì)上的“文件數(shù)字證書”.數(shù)字證書雖然從體系上提高了應(yīng)用的安全性,但由于文件的可復(fù)制性,同樣存在數(shù)字證書及私鑰被竊取或冒用帶來(lái)的安全風(fēng)險(xiǎn).如今,還有不少互聯(lián)網(wǎng)應(yīng)用在使用“文件數(shù)字證書”方式,無(wú)論是系統(tǒng)擁有者還是系統(tǒng)使用者,都需要在應(yīng)用需求和安全風(fēng)險(xiǎn)之間進(jìn)行評(píng)估,以防止安全事故的發(fā)生.

      4.3.3 防止數(shù)字證書應(yīng)用中人為因素帶來(lái)的不安全問(wèn)題

      RA的主要功能是審核數(shù)字證書申領(lǐng)者的身份信息和資格條件,但在熟人社會(huì)里,可能由于人情關(guān)系或管理上的漏洞存在審核不嚴(yán)等問(wèn)題,為數(shù)字證書的申領(lǐng)埋下了隱患.另外,當(dāng)用戶向機(jī)構(gòu)申領(lǐng)了USBKey證書后,首先會(huì)得到一個(gè)空USBKey,要求用戶在線下載數(shù)字證書.按照正常的操作,下載數(shù)字證書有嚴(yán)格的保密和安全措施,如獲得授權(quán)碼(authorization code)后才能登錄系統(tǒng),按照規(guī)定步驟下載數(shù)字證書,但在此過(guò)程中包括機(jī)構(gòu)和用戶都可能會(huì)由于管理漏洞或安全意識(shí)淡薄而沒有按規(guī)定要求進(jìn)行.為此,加強(qiáng)對(duì)數(shù)字證書從申領(lǐng)到應(yīng)用各個(gè)環(huán)節(jié)的安全管理,是保障數(shù)字證書發(fā)揮其應(yīng)有功能的前提.

      5 結(jié) 語(yǔ)

      數(shù)字證書的安全是一個(gè)綜合密碼算法、安全加密機(jī)制、PKI體系、數(shù)字證書應(yīng)用與管理等眾多技術(shù)細(xì)節(jié)和實(shí)現(xiàn)環(huán)節(jié)的復(fù)雜過(guò)程,只有確保每個(gè)細(xì)節(jié)和環(huán)節(jié)的規(guī)范和合規(guī),防止木桶效應(yīng)的出現(xiàn),才能真正發(fā)揮PKI體系在網(wǎng)絡(luò)安全中所具有的應(yīng)用優(yōu)勢(shì).作為一項(xiàng)安全機(jī)制,數(shù)字證書的安全也在應(yīng)用中不斷完善,例如無(wú)驅(qū)動(dòng)USBKey的應(yīng)用可以防止安裝驅(qū)動(dòng)時(shí)可能會(huì)下載木馬程序,使用一次性口令(one time password, OTP)令牌避免了靜態(tài)密碼可能存在的重放攻擊,使用雙因子認(rèn)證或人體生物識(shí)別技術(shù)(如指紋、人臉、虹膜等)提高身份認(rèn)證的可信度等.只有加強(qiáng)對(duì)PKI體系中數(shù)字證書等技術(shù)的研究,不斷優(yōu)化密碼算法,不斷強(qiáng)化數(shù)字證書的申領(lǐng)和使用管理,才能確保在線交易的不可否認(rèn)性和數(shù)據(jù)傳輸?shù)耐暾耘c安全性,以及數(shù)字簽名的可靠性.

      猜你喜歡
      數(shù)字證書私鑰公鑰
      比特幣的安全性到底有多高
      基于改進(jìn)ECC 算法的網(wǎng)絡(luò)信息私鑰變換優(yōu)化方法
      一種基于混沌的公鑰加密方案
      一種基于虛擬私鑰的OpenSSL與CSP交互方案
      當(dāng)心黑客利用數(shù)字證書的漏洞
      HES:一種更小公鑰的同態(tài)加密算法
      基于數(shù)字證書的軍事信息系統(tǒng)安全防護(hù)方案
      SM2橢圓曲線公鑰密碼算法綜述
      管理好系統(tǒng)中的數(shù)字證書
      電腦迷(2015年7期)2015-05-30 04:50:35
      吉林省支付清算系統(tǒng)參與者數(shù)字證書使用現(xiàn)狀調(diào)查與現(xiàn)存問(wèn)題分析及建議
      河间市| 横山县| 南澳县| 呼伦贝尔市| 山西省| 沈丘县| 岗巴县| 东乌珠穆沁旗| 武穴市| 贡嘎县| 井陉县| 巩留县| 韶关市| 锡林浩特市| 桓台县| 东阿县| 漯河市| 通江县| 衡阳市| 青浦区| 彩票| 塘沽区| 和硕县| 古蔺县| 昌宁县| 鹤岗市| 电白县| 泸水县| 自治县| 宜良县| 边坝县| 万山特区| 罗江县| 孟连| 昌都县| 玉林市| 临颍县| 石嘴山市| 榆中县| 崇阳县| 娄烦县|