基于PKI的匿名數(shù)字證書系統(tǒng)的研究-設計應用_第1頁
基于PKI的匿名數(shù)字證書系統(tǒng)的研究-設計應用_第2頁
基于PKI的匿名數(shù)字證書系統(tǒng)的研究-設計應用_第3頁
基于PKI的匿名數(shù)字證書系統(tǒng)的研究-設計應用_第4頁
基于PKI的匿名數(shù)字證書系統(tǒng)的研究-設計應用_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

精品文檔-下載后可編輯基于PKI的匿名數(shù)字證書系統(tǒng)的研究-設計應用摘要:在網絡通信中數(shù)字證書用來驗證證書持有者的真實身份,但根據X.509標準,數(shù)字證書的主體名域中會標有證書持有者的真實名稱,這就造成用戶的真實身份信息的泄露。本文提出一個在現(xiàn)行的PKI體系中發(fā)布匿名數(shù)字證書的方案,并依據此方案構建了一個匿名數(shù)字證書系統(tǒng)。

0引言

目前在Internet上廣泛使用基于公共密鑰的身份機制,公鑰基礎設施PKI(PublicKeyInfrastructure)就是通過使用公開密鑰技術和數(shù)字證書來確保系統(tǒng)信息安全并負責驗證數(shù)字證書持有者身份的一種體系。在PKI中所有安全操作都是通過數(shù)字證書實現(xiàn)的,但基于X.509標準,數(shù)字證書的主體名域中會標有證書持有者的真實名稱等個人信息,這就造成了用戶個人身份信息的泄露。因此,這種實名數(shù)字證書就不能用在保護個人隱私的匿名服務中,如電子投票、電子選舉、匿名通信,所以,關于匿名證書的發(fā)布成為近幾年研究的熱點,本文提出一種匿名數(shù)字證書發(fā)布方案,并在現(xiàn)有的PKI系統(tǒng)中構建了一個匿名數(shù)字證書系統(tǒng)。

一、方案的描述

匿名證書發(fā)布方案中共有四個實體,分別是用戶、CA、AI和BI,其中AI和BI組成匿名證書域PCA.CA、AI和BI分別擁有自己的數(shù)據庫,用來存儲追蹤匿名證書時所用的加密信息。

PCA、AI和BI均由CA授權的機構來擔任,并且分別擁有CA發(fā)布的數(shù)字證書。方案中使用RSA算法,定義AI和BI共享相同的公鑰參數(shù)e,N.

對于PCA的RSA私鑰d,為了產生各自的證書,把它分成兩部份,這樣AI和BI各自的私鑰分別是d2,d1,在這里d有=dd1=dd21dm2mooddΦ((NN))。用戶至少應該知道三個公鑰,PCA,AI和BI的公鑰,方案的假設條件是AI和BI不能串通。方案中使用的主要符號見表1.

1.匿名證書的發(fā)布

(1)CA通過安全信道為用戶U發(fā)布一個實名證書Cert,此時CA已經確認用戶的真實身份,并把實名證書存儲在CA庫中。

(2)用戶U設置匿名PNU,并產生匿名密鑰對APUu,APRU.用戶通過選擇一個128位的隨機數(shù)ρ來計算匿名證書的序列號SNU=H(APUU,ρ)。

用戶構建一個X.509匿名證書的頭部b為:SNU,PNU,APRU,這個匿名證書的內容M為:b,Cert.隨后,用戶計算h=H(M)。,用戶計算u=h·remodN,這里r在{0,1}之間隨機選擇(k=128),計算后把u的值以及用戶用自己的私鑰簽名的信息m傳給BI.

(3)當BI收到信息后,BI通過用戶的公鑰驗證簽名,確定用戶的身份。然后BI計算w=ud1modN,再把信息Ee(u):ID存儲在BI庫中,其中IDU為實名證書中用戶的主體標識。BI計算Ee(w),并把這個值返回給用戶U.

(4)當用戶接到信息Ee(w)后,用戶計算sigAPRU(M),并把信息sigAPRU(M),r,Ee(w)發(fā)送給AI.

(5)當AI收到這個信息后,AI先驗證sigAPRU(M)是否是合法有效的。然后,AI計算z=wd2modN.

AI驗證z·r-1modN能否被M,e,N證明。,AI把信息SNU:Ee(z)存儲在AI庫中,然后把z返回給U.用戶計算z·r-1modN的值,則用戶可以得到M,hdmodN作為一個可以追蹤的匿名證書,其中M為匿名證書,hdmodN為PCA給證書的簽名。

2.匿名證書的撤銷

當發(fā)現(xiàn)匿名證書被濫用、私鑰泄露或者證書過期時就需要對匿名證書進行撤銷,由于本方案中的匿名證書是在用戶已獲得實名證書的基礎上由實名證書構造而成的,所以匿名證書的撤銷就必須分兩步:撤銷實名證書和撤銷匿名證書,按照以下步驟就可以撤銷匿名證書。

(1)用戶向PCA提出匿名證書的撤銷請求,并提供相關個人信息。

(2)PCA根據匿名證書的序列號通過匿名證書追蹤功能追蹤到用戶的IDU.

(3)PCA把用戶的撤銷申請連同用戶的身份IDU發(fā)送給CA.

(4)CA根據用戶的IDU在CA庫中檢索出用戶的實名證書,核準用戶信息后,批準撤銷,把實名證書放入CRL中,并給PCA發(fā)送應答信息。

(5)PCA對匿名證書進行撤銷,把匿名證書放入CRL中,并把執(zhí)行結果發(fā)送給用戶。

3.方案的應用

在實際的應用中,很多網上活動都可以使用本方案中發(fā)布的匿名數(shù)字證書,特別是需要保護用戶的隱私又要能夠證實用戶身份的應用中。在具體的實現(xiàn)方面,可以采用以下兩種情況:

(1)PCA域由AI和BI構成,而AI和BI可以分別由CA授權的實體來擔任。例如,一個站點(或者由站點授權的CA)可以成為AI,而BI可以是法院,銀行,行事機關或其它政府代理機構。

(2)這個方案的特點是允許在現(xiàn)有PKI體系中使用,在這種情況下,不需要對現(xiàn)行的PKI體系作任何修改就可以實現(xiàn)本方案,此時,PCA域就由CA和RA來構成,AI就可以由CA來擔任,BI可以由RA來擔任,則獲得匿名證書的過程如下:

①用戶向RA申請實名證書,填寫證書申請表。

②RA對用戶的身份進行審核,審核通過后向CA提交證書申請請求。

③CA生成用戶實名證書,并把證書返回給RA.

④RA將實名證書發(fā)放給用戶。

⑤用戶根據實名證書構造匿名證書,并對其哈希值盲化后發(fā)送給RA.

⑥RA對盲化后的匿名證書簽名,把簽名值給用戶。

⑦用戶把經RA簽名后的值發(fā)送給CA.

⑧CA再對該值進行簽名并發(fā)送給用戶,此時用戶就到了匿名證書及RA和CA對其進行的簽名。

二、構建匿名數(shù)字證書系統(tǒng)

本文根據提出的匿名證書發(fā)布方案設計了一個匿名數(shù)字證書系統(tǒng),本系統(tǒng)是按照通用的標準設計的,是采用先進的信息安全技術開發(fā)的匿名數(shù)字證書簽發(fā)與管理系統(tǒng)。該匿名數(shù)字證書系統(tǒng)嚴格遵守ITU-TX.509標準,其中應用的全部協(xié)議都是被國際上廣泛采用的標準協(xié)議。本系統(tǒng)中公鑰/私鑰對的生成以及利用公鑰/私鑰對的加密/解密運算采用可靠性極高的RSA算法,加密用的公開密鑰和私有密鑰的長度都是1024位。數(shù)字簽名中的摘要技術采用MD5算法,它是目前可靠性較好和應用為廣泛的算法。匿名數(shù)字證書系統(tǒng)的總體結構如圖1所示。

匿名數(shù)字證書系統(tǒng)包括下述主要功能:

1.申請匿名證書:若用戶已獲得由CA發(fā)布的實名證書,則用戶可以通過該功能由實名證書構成匿名證書;若用戶沒有實名證書,則可以通過該功能先申請一個實名證書,再由此實名證書構造匿名證書。此時,申請人需要填寫申請實名證書的相關資料,由RA進行審核,核準后由CA簽發(fā)實名證書,并由RA頒發(fā)給用戶。

2.簽發(fā)匿名證書:構造生成匿名證書后,經由BI和AI處理器共同處理,得到由PCA簽發(fā)的匿名證書。

3.查詢匿名證書:用戶可以通過互連網直接訪問系統(tǒng)的LDAP證書庫查詢匿名證書和匿名證書撤銷列表CRL.

4.追蹤匿名證書:當需要對匿名證書進行追蹤時,可通過此功能由匿名證書的序列號追蹤到用戶的真實身份。

5.撤銷匿名證書:系統(tǒng)可以根據用戶提出的匿名證書撤銷請求對指定的匿名證書及實名證書予以撤銷,并同時更新LDAP證書庫和證書撤銷列CRL.

三、匿名數(shù)字證書系統(tǒng)的實現(xiàn)

本系統(tǒng)中的CA,BI,AI都采用三層B/S架構,設計主要采用Java技術、數(shù)字簽名和加密等技術,在實現(xiàn)過程中把RA集成在CA中,該系統(tǒng)主要有四個模塊:Web服務器模塊、CA服務器模塊、BI服務器模塊和AI服務器模塊。該匿名數(shù)字證書系統(tǒng)需要三臺服務器,分別是CA服務器、BI服務器和AI服務器。在三臺服務器上分別安裝WebLogic8.1作為應用服務器,安裝Oracel10g企業(yè)版作為后臺數(shù)據庫。

1.申請匿名數(shù)字證書

由于本系統(tǒng)中的匿名證書是通過用戶已有的實名證書構造而成的,所以若用戶沒有實名證書,可以先申請一個實名證書,若用戶已經獲得一個實名證書,就可以直接進入簽發(fā)匿名證書模塊。

(1)用戶申請和簽發(fā)實名證書

用戶申請實名證書需要填寫實名證書申請表并提交給CA服務器,CA服務器需要驗證用戶的有效證書是否存在,如果不存在則首先生成自簽名證書,再使用服務器簽名證書私鑰進行簽名,將證書存入證書數(shù)據庫,并將證書壓縮成zip格式通過Email發(fā)送給用戶。

①申請實名證書

用戶需要填寫申請個人證書申請表,其中公共名稱和單位名稱為確認用戶或單位身份的主要字段。組織名稱、省、市、郵編為可選項。密鑰大小可選擇1024或2048.Email地址為生成證書時傳遞證書時使用,必須輸入有效的地址,否則申請不成功。

②生成密鑰

通過com.ibm.security.x509包中的CertAndKeyGen類設置生成證書的公鑰算法、簽名算法和Provider.若公鑰算法是RSA,則簽名算法為MD5withRSA;若公鑰算法為DSA,則簽名算法為SHA1withDSA.

③生成證書

生成證書過程又可以分為五個步驟,分別是生成主體信息,生成自簽名證書,提取自簽名證書信息,對自簽名證書信息進行設置和形成證書。

④簽發(fā)證書

通過KeyStore對象獲得服務器證書的私鑰caprk,通過證書的簽名方法對新證書進行簽名。

⑤把證書保存在證書庫中

在密鑰庫中生成新實體,并將新實體與新簽發(fā)的證書對應。

⑥將證書壓縮發(fā)送給用戶

設計中使用BASE64Encoder類轉換為證書標準格式--BASE64編碼,編碼后的證書字符就可以在屏幕上顯示、復制或打印。為了作為Email附件進行發(fā)送,必須將生成的證書編碼進行壓縮,設計中使用ZipOutputStream類進行處理,處理后生成zip格式的壓縮文件,然后通過編寫的發(fā)送郵件類MailandFile給用戶發(fā)送Email,申請證書過程完成。

(2)簽發(fā)匿名數(shù)字證書

簽發(fā)匿名證書的過程是由BI服務器和AI服務器共同來完成。該過程主要包括:構造匿名證書、生成摘要并盲化、由BI服務器簽名和由AI服務器簽名。

①構造匿名證書

匿名證書的構造是通過應用程序生成的匿名證書的主體名、匿名密鑰和匿名證書的序列號與取來的實名證書的其它字段的值共同構造成匿名證書。通過調用KeyPairGenerator方法來生成匿名密鑰對,采用RSA算法,生成匿名證書序列號,通過使用SecureRandom類生成一個128位的隨機數(shù)r1,再使用MessageDigest對匿名公鑰及隨機數(shù)生成摘要形成匿名證書序列號sn,然后,通過調用X500Name類重新設置通用名,公鑰及序列號來構造匿名證書。

②生成摘要及盲化

通過MD5算法對匿名證書生成摘要,并取隨機數(shù)進行盲化,并調用定義的簽名類對證書進行簽名以便BI對用戶身份驗證,為BI驗證用戶身份,用戶需要對證書進行簽名。

③BI簽名

BI通過調用自定義的驗證簽名類驗證證書上的簽名來確認用戶的身份,驗證通過后記錄其身份標識,然后BI調用簽名類對其進行盲簽名。

④AI簽名

AI通過調用VerifySignature類驗證用戶對匿名證書的簽名是否正確,驗證通過后,再調用Signature類對BI簽名后的值進行簽名。AI和BI聯(lián)合簽名后即為PCA對匿名證書的簽名。

2.追蹤匿名數(shù)字證書

匿名數(shù)字證書的追蹤是由站點提出追蹤匿名數(shù)字證書的申請請求,由AI服務器和BI服務器通過所存儲的值通過調用加密類PublicEncryption與解密類PrivateDecryption共同恢復出用戶的真實身份。

3.撤銷匿名數(shù)字證書

證書撤銷是在證書還未到期,提前停止證書的使用。撤銷證書的原因可能有許多,包括用戶密鑰泄露、身份改變、證書的使用用途終止、CA私鑰泄露等。

常用的證書吊銷機制是經常發(fā)布證書撤銷列表(CRL)。CRL是由CA簽發(fā)的包括己經撤銷的未過期證書的證書序列號及撤銷日期和撤銷原因的數(shù)據結構。根據CRL列表更新方法不同CRL可分為:傳統(tǒng)CRL證書撤銷機制,重復發(fā)布CRL證書撤銷機制,增量CRL證書撤銷機制。本設計中使用的是CR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論