專利名稱:終端申請證書的方法
技術領域:
本發明涉及DRM(數字版權管理,Digital Right Management)技術。
背景技術:
DRM系統可以提供端到端的數字權限管理,是一種安全、靈活、有效的系統。DRM系統中 終端的主要功能是向證書頒發中心發起授權證書流程,用證書頒發中心的公鑰驗證證書的 數字簽名,確認證書的正確完整性和一致性而獲得授權信息,并用私鑰解密證書的內容密鑰 ,訪問內容服務系統,建立RTSP/RTP連接,獲得加密內容的加密描述信息和RTP數據包,對 RTP進行解密并按獲得的授權信息播放解密后的數字解密內容。
DRM系統中證書和私鑰是非常重要的,私鑰必須安全保存,證書必須由證書頒發中心簽 發。因此如何安全、高效的獲取私鑰和證書是一個必須解決的問題。現有技術中一種做法是 由證書頒發中心生成私鑰和證書,再將私鑰和證書寫入終端。這樣做雖然安全,但是非常不 靈活,終端數目非常多,如果每個終端都要到證書頒發中心去寫入私鑰和證書的話將是非常 麻煩的。另一種做法是通過網絡將私鑰和證書傳給終端,雖然比較靈活,但是私鑰在網絡上 傳輸將是非常危險的事,即使傳輸通道經過加密。
發明內容
本發明所要解決的技術問題是,提供一種既安全又靈活的申請證書的方法。 本發明為解決上述技術問題所采用的技術方案是,終端申請證書的方法,包括以下步驟
a、 終端生成公鑰/私鑰對,并保存私鑰;
b、 終端使用用戶信息和公鑰生成證書請求文件,將證書請求文件發送至證書頒發中心
c、 證書頒發中心驗證用戶信息合法后簽發用戶證書;產生并保存隨機數,再將隨機數 用所述公鑰加密;
d、 證書頒發中心發送用戶證書與加密后的隨機數至終端;
e、 終端使用私鑰解密隨機數,將解密后的隨機書發送至證書頒發中心;并檢測私鑰與 證書是否匹配,如是,保存證書;如否,證書申請失敗;
f、 證書頒發中心比較收到的隨機數與保存的隨機數,判斷是否相同,如是,保存證書
;如否,證書申請失敗。
本發明的有益效果是,綜合了現有技術兩種方法的優點,終端既能方便地得到并更新私 鑰,又能確保私鑰的安全,防止網絡傳輸過程中數據被修改。本方法不僅可以用在DRM系統 中的證書申請,也可以應用于其它系統的證書申請。
具體實施例方式
下面將描述終端證書申請流程
1、 終端使用一定的算法生成公鑰和私鑰,并將私鑰安全保存;
密鑰對的產生是證書申請過程中重要的一步,應該由密鑰生成系統產生強度大的密鑰, 其中產生的私鑰應被加密后寫入終端,公鑰則留著下一步使用。
在一個安全的系統中,維護密鑰對的備份至關重要,如果沒有這種措施,當密鑰丟失后 ,對于一些重要數據,這將是災難性的。所以,密鑰的備份和恢復也是DRM系統中的重要一 環,在密鑰產生系統寫入私鑰后,同時應該將私鑰加密備份,這樣即使私鑰丟失,受公鑰加 密保護的重要信息也能夠恢復。
另外,DRM終端也應該考慮所使用密鑰的生命周期,它包括私鑰和證書的有效時間,當 過期后應該重新產生密鑰對。
2、 終端使用用戶信息和公鑰生成證書請求文件,并將證書請求文件發送給CA端(證書 頒發中心);
證書請求文件由證書請求(certReq)、 一個可選的檢驗項(POP),以及一個可選的登 記信息項(reglnfo)組成。 證書請求構成的步驟如下 (1)產生certReq,其值包括公鑰、所有或部分的終端實體的名字、用戶信息等其它 所要求的證書值域,以及與登記過程相聯系的控制信息;
(2 )通過certReq計算出P0P來證明終端擁有與所請求的證書的公鑰相聯系的私鑰; (3)填入所需要的其它登記信息,這些信息和P0P, certReq組成證書請求信息。 POP用來證明證書請求者確實擁有所對應的私鑰,這是為了防止某些攻擊以及允許CA端 檢驗終端實體和密鑰對之間對應的有效性。此項可由certReq計算出來,其內容和結構隨公 鑰算法的類型和運作模式的改變而改變。CA端在證書交換中可自由選擇如何實施POP。 reglnfo項僅包括與證書請求有關的補充信息。它還可包括請求者的聯系信息,布告信息, 或對證書請求有用的輔助信息。直接與證書內容有關的信息應該包括在certReq中。
依照證書所要求的密鑰類型,POP可用不同方法實現。若密鑰可用于多種目的(如RSA密
鑰),那么POP可用任何一種方式實現。本發明密鑰是用于加密的,為了實現P0P,可以由 CA端使用終端公鑰加密一隨機數,如果終端能夠正確解密隨機數,則說明終端擁有對應的私 鑰。
CertReq由請求標識符、證書內容模板和一組可選的控制信息組成 CertRequest::=SEQUENCE{
cei'tReqld INTEGER, —使請求和回答相匹配的標識符 certTe叫)late Cert Template,--所發布證書的選擇域 controls Controls OPTIONAL}—有關證書發布的屬性信息
CertTemplate::=SEQUENCE{
version
Version OPTIONAL,--證書版本
sei'ialN咖ber[l] INTEGER OPTIONAL,—證書序列號
signingAlg[2] Algorithmldentifiei' OPTIONAL,—簽名算法標識
issuer[3] Name OPTIONAL,—證書簽發者
validity[4] OptionalValidity OPTIONAL,—證書有效期
subject[5] Name OPTIONAL,—證書用戶名
publicKey[6] SubjectPublicKeylnfo OPTIONAL,—證書持有者公鑰信息 issuerUID[7] Uniqueldentifier OPTIONAL,—簽發者唯一標識符 subjectUID[8] Uniqueldentif iei' OPTIONAL, —證書持有者唯一標識符 extensions[9] Extensions OPTIONAL}—證書擴展項
OptionalValidity::=SEQUENCE{
notBefore[O] Time OPTIONAL,
notAfter[l] Time OPTIONAL}—至少存在一個
Time::=CH0ICE{ utcTime UTCTime, generalTime GeneralizedTime}
DRM終端使用用戶信息和公鑰按照上述結構生成DER編碼格式的證書請求文件,然后把它 通過安全的網絡傳送給CA端。
3、 CA端收到證書請求文件后,驗證用戶信息的合法性,如果驗證通過,使用根證書和 證書請求文件簽發用戶證書,產生一隨機數,并用用戶的公鑰加密,將證書和加密后的隨機 數發送給終端;
驗證用戶信息的合法性可以通過人工方式也可以自動完成。驗證程序從證書請求文件中 獲取用戶信息,即是CertReq中的內容,系統中應該存有合法用戶的信息和非法用戶的特征 ,通過對比可以驗證用戶的合法性。為了進一步保證安全性,還有可能要驗證IP地址的合法 性。如果驗證失敗則證書申請失敗。
如果驗證通過,則使用根證書和證書請求文件簽發用戶證書。用戶證書中大部分字段都 和證書請求文件的內容一樣,在文件多了證書的數字簽名算法標識符和簽名值,簽名是針對 文件前面所有部分的簽名。
4、 終端收到證書和隨機數后,使用自己的私鑰解密隨機數,將解密后的隨機數發送給 CA端,同時自己檢査私鑰和證書是否匹配,如果匹配證書則保存下來,否則證書申請失敗。 之所以檢査私鑰和證書是否匹配,是為了確保證書中的公鑰確實和最初產生的公鑰一樣,而 沒有被修改過。
5、 CA端將收到的隨機數與未加密的隨機數進行比較,如果相等則保存證書,否則證書 申請失敗。CA端比較隨機數是為了確保終端確實有對應的私鑰,而不是冒充的。
以上方法用于DRM終端在線申請證書。由于私鑰在終端產生,并且加密備份,而不用在 網絡上傳輸,私鑰的安全就得到了保證。用戶證書的申請采用在線申請的方式,十分方便。 同時申請過程中使用隨機數以防止某些攻擊以及允許CA檢驗終端和密鑰對之間對應的有效性 。該方法安全、靈活、高效,通用性很強,將此方法擴展,也可以應用到其它系統的證書申 請。
權利要求
1.終端申請證書的方法,其特征在于,包括以下步驟a、終端生成公鑰/私鑰對,并保存私鑰;b、終端使用用戶信息和公鑰生成證書請求文件,將證書請求文件發送至證書頒發中心;c、證書頒發中心驗證用戶信息合法后簽發用戶證書;產生并保存隨機數,再將隨機數用所述公鑰加密;d、證書頒發中心發送用戶證書與加密后的隨機數至終端;e、終端使用私鑰解密隨機數,將解密后的隨機數發送至證書頒發中心;并檢測私鑰與證書是否匹配,如是,保存證書;如否,證書申請失敗;f、證書頒發中心比較收到的隨機數與保存的隨機數,判斷是否相同,如是,保存證書;如否,證書申請失敗。
全文摘要
本發明涉及DRM技術。本發明提供一種既安全又靈活的申請證書的方法。終端申請證書的方法,包括以下步驟a.終端生成公鑰/私鑰對;b.終端使用用戶信息和公鑰生成證書請求文件,將證書請求文件發送至證書頒發中心;c.證書頒發中心驗證用戶信息合法后簽發用戶證書;產生并保存隨機數,再將隨機數用所述公鑰加密;d.證書頒發中心發送用戶證書與加密后的隨機數至終端;e.終端使用私鑰解密隨機數,將解密后的隨機書發送至證書頒發中心;并檢測私鑰與證書是否匹配;f.證書頒發中心比較收到的隨機數與保存的隨機數。本發明綜合了現有技術兩種方法的優點,既能方便地得到并更新私鑰,又能確保私鑰的安全,防止網絡傳輸過程中數據被修改。
文檔編號H04L29/06GK101188616SQ20071020301
公開日2008年5月28日 申請日期2007年12月12日 優先權日2007年12月12日
發明者劉賢洪, 焜 陳 申請人:四川長虹電器股份有限公司