1317597 九、發明說明: 【發明所屬之技術領域】 本發明係有關一種金鎗憑證系統,特別是一種可延伸標示 語言金鑰管理規格(XML Key Management Specification, XKMS)之 金输憑證系統’可使一般使用者透過可延伸標示語言金鍮管理規格 (XKMS)的網路服務(web services)到憑證管理中心(〇α)申請 數位憑證或驗證憑證的有效性,以及將既有的數位憑證註冊到憑證驗 證中心(VA)或透過憑證驗證中心(VA)查詢及驗證使用者的憑證 是否有效與合法。 【先前技術】 可延伸標示s吾 s (extensible Markup Language, XML)規格是由 『全球資訊網標準製定組織』(W3C)制定,並於1998年2月,成 為推薦規格。目前已有許多家廠商採用,且視為關鍵性技術。例如: Adobe,IBM,微軟,Netscape ’ Oracle ’ Sun及這個領域中的重要廠 商。目前許多的新版的軟體,例如:Navigator,Internet Explorer及 RealPlayer ’都已經在軟體内部使用可延伸標示語言(XML )的技術。 公開金鍮基礎建設(Public Key Infrastructure,PKI)是運用公開 金餘及憑證進行網路交易或傳輪,以提高安全性並破認對方身分之機 制。基本上,它必須雙方均同意相互信任其憑證機構及所簽發憑證, 並藉此進行身份核驗、數位簽章等相關應用,以提供資料完整性 (Integrity )、資料來源鑑別(Authentication )、資料隱密性 (Confidentiality)、不可否認性(N〇n_Repudiati〇n)等安全保證。 可延伸標示語言金鑰管理規格(XKMS)為W3C所提出來,以 TK申in示扣5 (XML)為基礎的公開金繪(pUbiic key)配置與註 冊的規格目彳示疋提供公開金錄配置及註冊的規範,並且結合可延伸 1317597 標示語言(XML)簽章標準及可延伸標示語言(xg)加密法標準 的應用。該規格主要制定了兩個協定,分別是可延伸標示語言金鑰資 訊服務規格(XML Key Information Service Spec.,X-KISS)與可延伸 標示 si· a 金鑰註冊服務規格(XML Key Registrati〇n Servjce Spec, X-KRSS)。可延伸標示語言金鑰資訊服務規格(X_KISS)主要定義 可供信任服務機制所用之協定,其可將公開金鎗資訊置於可延伸標示 語言(XML)簽章元素中。使得使用者端可代理部份或全部處理金鑰 寊讯元素所需的動作。此規格主要目的之一是減少使用者端應用程式 建置的複雜度,因此可以避免與公開金鑰基礎建設(ρκι)之間建立 #任關係時的複雜度。可延伸標示語言金鑰註冊服務規格(x-krss) 定義了網路服務接受註冊公開金錄資訊的協定,當金鑰完成註冊時, 此一公開金鍮便可以使用於連接其它符合可延伸標示語言金鑰資訊 服務規格(X-KISS)規範的網路服務(web services),其接受金输的 s主冊、註銷及回覆。可延伸標示語言金鑰管理規格(XKMS)定義了 使用者端之網路服務(web services)與可延伸標示語言金鑰管理規格 (XKMS)主機端的協定,在可延伸標示語言金鑰管理規格(XKMs) 書中’只規定使用者端與可延伸標示語言金鑰管理規格(沿^§)伺 服器端之間的訊息格式,並沒有制訂出後端的公開金鑰基礎建設 (PKI)架構應如何界接。 【發明内容】 為了解決上述問題,本發明目的之一係提供一種可延伸 標示語言金鑰管理規格(XKMS)之金鑰憑證系統,其能夠而且安全 的界接憑證管理中心(CA)、註冊管理中心(RA),讓一般使用者可 以透過可延伸標示語言金鑰管理規格(XKMS)的網路服務(web SerV1CeS)方式到憑證管理中心(CA)申請數位憑證或驗證憑證的有 1317597 效性,以及將既有的數位憑證註冊到憑證驗證中心(VA)或經由憑 證驗證中心(VA)查詢及驗證使用者的憑證是否有效合法。 本發明目的之一係提供一種可延伸標示語言金鑰管理規格 (XKMS)之金鑰憑證系統,其註冊動作使得有金鑰或無金鑰之使用 者,能夠很方便的執行憑證簽發或憑證查詢驗證的功能,使驗證的過 程簡化。 本發明目的之一係提供一種可延伸標示語言金鑰管理規格 (XKMS)之金餘憑證系統,透過可延伸標示語言金鍮管理規格 (XKMS)的介面’讓所有的網路服務(webservices)都能使用公開 金鍮基礎建設(PKI)中憑證管理中心(CA)、註冊管理中心(ra)、 憑證驗證中心(VA)的功能,而不需透過特定的應用程式介面 (Application Programming Interface, API) ° 為了達到上述目的,本發明一實施例之可延伸標示語言金 鑰管理規格(XKMS)之金鑰憑證系統,包括:一可延伸標示語言 金鑰註冊服務模組(X—KRSS)群,其從一通訊網路接收一請求訊息 並對該請求訊息提供一網路服務,最後產生一金鑰註冊訊息至一憑證 管理中心(CA)以簽發一金鑰憑證’或者產生一憑證註冊訊息至一 憑證驗證中心(VA)以將憑證登錄至該憑證驗證中心(VA); 一可延 伸標示語言金鑰資訊服務模組(X-KISS)群可由該通訊網路接收一使 用者提出之憑證查詢及驗證之請求,然後產生一金鑰憑證查詢驗證訊 息至憑證管理中心(CA),或透過憑證驗證中心(VA)查詢相對應之 金鑰憑證及金鑰憑證之有效性;以及一記憶體連接可延伸標示語言金 鑰註冊服務模組(X_KRSS)群及可延伸標示語言金鑰資訊服務模組 (x-kiss)群,可儲存可延伸標示語言金鑰管理規格(XKMS)之金 餘憑證系統之資料。 1317597 【實施方式】 第一圖所示為本發明一實施例可延伸標示語言金鑰管理規 格(XKMS)之金鑰憑證系統示意圖。於本實施例中,可延伸標 示語言金鑰管理規格(XKMS)之金鑰憑證系統1〇具有一可延伸標 示語言金鑰註冊服務模組(X-KRSS) 12,其連接一通訊網路,接收 一具有公開金鑰之使用者31所提供之請求訊息,並對請求訊息提供 網路服務,最後產生一金鑰註冊訊息至一憑證管理中心(CA) 22以 簽發一金鑰憑證’或者產生一憑證註冊訊息至一憑證驗證中心(VA) 23以將請求訊息登錄至憑證驗證中心(VA) 23 ;另外,一外部之註 冊管理中心(RA) 24亦可接收一具有公開金鑰之使用者32所提供之 請求訊息,經處理後傳送一可延伸標示語言(XML)格式之X-KRSS 封包至可延伸標示語言金鑰註冊服務模組(X-KRSS) 12,使具有公 開金鍮之使用者32亦可經由註冊管理中心(ra) 24使用可延伸標示 語言金鑰註冊服務模組(X-KRSS) 12之網路服務。 另有一可延伸標示語言金鑰資訊服務模組(X-KISS) 14,由通訊 網路接收一無金鑰之使用者33提出之金鑰查詢及驗證之請求,其為 一可延伸標示語言(XML)格式之X-KISS封包,然後產生一金输憑 證查詢驗證訊息至憑證管理中心(CA) 22,或透過該憑證驗證中心 (VA) 23查詢相對應之金鑰憑證及其有效性。 在一實施例中’本發明之金鑰憑證系統建立在一伺服器上,伺服 器上具有一資料庫16連接可延伸標示語言金鑰註冊服務模組 (X-KRSS) 12及可延伸標示語言金鑰資訊服務模組(X-KISS) 14, 以儲存可延伸標示語言金餘管理規格(XKMS)之金鑰憑證系統1〇 之資料。另外,金输憑證系統使用無線網路或有線之網路,連接憑證 管理中心(CA) 22、憑證驗證中心(VA) 23、註冊管理中心(RA) 24、無金鑰使用者33,以及使用者31。 ‘1317597 接續上述說明’使用者31之請求訊息為一 Χ-KRSS封包,其 為一註冊(register)訊息、重發(reissue)訊息、撤消(rev〇ke)訊 息或恢復(recovery)訊息等。請參閱第二圖所示為可延伸標示語言 金鑰註冊服務模組(X-KRSS) 12接收使用者31或註冊管理中心24 傳送之X-KRSS封包後之網路服務流程圖,包括:步驟S21解析 X-KRSS封包;步驟S22判別X-KRSS封包内是否存放外部憑證之資 訊’其中外部憑證係為由非系統内部簽發之憑證;步驟S232,若 X-KRSS封包内存放外部憑證之資訊,則傳送一憑證註冊訊息至憑證 驗證系統42進行憑證註冊後,憑證驗證中心(VA) 23將一註冊回傳 訊息回傳給可延伸標示語言金鑰管理規格之金鑰憑證系統(XKMS) 10 ’最後將註冊回傳訊息組成一回傳訊息給使用者31;步驟S231, 若X-KRSS封包内沒有存放外部憑證之資訊,則傳送金鑰註冊訊息至 憑證管理系統41,由憑證管理中心(CA) 22簽發金鑰憑證,最後將 金鑰憑證組成一回傳訊息給使用者31,或註冊管理中心(RA) 24。 於上述實施例中,可延伸標示語言金鑰註冊服務模組 (X-KRSS)群12提供各種公開金鑰基礎建設(ΡΚΪ)功能,以對應 X-KRSS封包所指示之訊息,其功能包含: 1_註冊(Register)功能:讓使用者31可以註冊自己的憑證資訊, 包含金鑰名稱(keyname)、公開金鑰本身(keyvalue)、憑證中 心所簽發之憑證(X509Cert)、憑證鏈(X5〇9CertChain)…等的 資訊,而且也提供使用者31產生的金鑰(key)或是註冊管理中 〜(RA)之伺服器端產生金餘(key)的註冊服務,此外還提供 ,用者申請憑證的服務。於一實施例中,當可延伸標示語言金鑰 管理規格(XKMS)之金鑰憑證系統10收到註冊(Register)要 求時’將可延伸標*語f ( XML )訊息解帛後,健、標藏“KeyInfo,, 下是否含有非系統内部核發的憑證來判斷需進行「金錄註冊」流 程或是「憑證註冊」流程,其中鳳訊息之格式係符合XKMS 規範且標藏” KeyMb”之雜紋參考”遍^,,之規格, 1317597 故利用標籤’’Keylnfo”内含有憑證攔位(如<ds:X5〇9Data>)來判 斷该次XML sil息疋含有非系統内部核發的憑證。於一實施例 中’判斷流程如下,若標籤“Keylnfo”内不含有憑證攔位時(如 存放<ds:KeyVahιe>或<ds:KeyNalne>等其他有效攔位時),需進行 「金錄註冊」流程,則經由憑證管理程式介面(〇入_^〗)呼叫 憑證管理系統41將金鑰註冊到憑證管理中心22,而憑證管理中 心22將回傳金鑰憑證;若標籤“Keyinf0”内含有憑證欄位(如 <ds:X509Data>)時,則進行「憑證註冊」流程,則經由多憑證 驗證程式介面(VA-API)使用多憑證驗證系統42,進行使用者 憑證登記,將憑證寫入憑證驗證中心(VA) 23之資料庫中,以 作為可延伸標示語言金鑰資訊服務模組(X_KISS) 14查詢時的 依據’然後將成功與否的訊息,回傳給可延伸標示語言金鑰管理 規格(XKMS)之金鍮憑證系統,再組成回傳訊息(Resp_e) 回傳給使用者31、32。 2.重發(Reissue)功能:提供給使用者重新發給憑證與更新相 關key的資訊。當可延伸標示語言金鑰管理規格(麵幻之金 錄憑證祕10收難發(Rei載)要求,將可延伸標示語言 (XML)訊息解開後,經由憑證管理程式介面(ca姻)啤叫 _管理系統41,重新簽發憑證,離將成功與否的訊息,回 $給可延雜雜言金齡理驗(職s)之金·證系統 ’再組成畴訊息(RespGnse)轉給制者n ^撤鎖(Re議e)魏··提供給朗者要_相嶋證的服務 言錢#魏格(XKMS)之金麵證系統把 H 伸標示語言訊息解開後,依照才 _ Γ η °之下是否含㈣^統_簽署的憑證來判斷需進不 内箱證_軸作歧外獨 證撤銷,難由F右簡梢〜 cat 統4】將金鑰^撤鎖^面必撕)呼叫憑證管理系 愚也撤銷’並登記到憑證註料單(Certifi 10 I317597
Revocation List,CRL)中;若為其他外部之的憑證撤銷,則經由 多憑證驗證程式介面(VA-API)使用多憑證驗證系統42,註銷 使用者憑證,將憑證由憑證驗證中心(VA) 23之資料庫中註銷, 然後將成功與否的訊息,回傳給可延伸標示語言金鑰管理規格 (XKMS)之金錄憑證系統,再組成回傳訊息(Resp0nse)回傳 給使用者31、32。 4 ·恢復(Recovery )功能:提供給使用者重新產生RSA ( Rivest、 Shamir和Adelman)金鑰對(key pair )或是更新金鑰對(key pair ) 的服務。當可延伸標示語言金鑰管理規格(XKMS)之金鑰憑證 系統收到恢復(Recovery)要求,將可延伸標示語言(xml)訊 息解開後’經由憑證管理程式介面(CA-API)呼叫憑證管理系 統41,重新簽發憑證,然後將成功與否的訊息,回傳給可延伸 標示語言金鑰管理規格(XKMS)之金鑰憑證系統,再組成回傳 訊息(Response)回傳給使用者31、32。 接續上述說明,使用者33所提供之公開金鑰查詢要求為一 X'KISS封包’其為一搜尋(i〇cate)訊息或驗證(validate)訊息等。 "月參閱第二圖所示為可延伸標示語言金鎗資訊服務模組(X_KISs )】4 處理公開金鑰查詢要求流程圖,包括:步驟S31解析x_KISS封包; 步驟S32判別Χ-KISS封包所顯示之憑證種類;步驟S33i若憑證種 類為可延聽示語·r金齡理祕(XKMS)之金賴猶統核發之 内部憑證,則傳送Χ-KISS封包至一憑證管理系統51,由憑證管理十 心(CA) 22將使用者33欲查詢的金鑰憑證回傳給可延伸標示語言金 鑰管理規袼(XKMS)之金鑰憑證系統,再組成-回傳訊息給使用者 33 ;步驟S332若憑證種類為一外部憑證,如非為本之金鑰憑 證系統所核發之憑證,則傳送X_K!SS封包至一憑證驗證系统%後, 由憑證驗證中心(VA) 23進行主機認證、憑證查詢後,將使用者% 欲查詢的金鑰驗回傳給可延伸標示語言金鍮f理祕(XKMS)之 11 1317597 金鑰憑證系統,再組成一回傳訊息;以及步驟S35將回傳訊息傳送給 無金鑰之使用者33。 於上述實施例中,可延伸標示語言金鑰資訊服務模組 (X-KISS) 14提供各種公開金鑰基礎建設(PKI)功能對應X_KISS 封包所指示之訊息,包含: 1.搜尋(Locate)功能:讓使用者可以利用一些憑證資訊,包含 金鑰名稱(key name)、憑證中心所簽發之憑證(X5〇9Cert) 等的資料來找到公開金錄的值(public key vaiue)。當可延伸標示 語言金鑰管理規格(XKMS)金鑰憑證系統收到搜尋(L〇cate) 要求,將可延伸標示語言(XML )訊息解開後,依照標籤” KeyInf〇” 下内含的憑證資訊,例如金鑰名稱攔位(如<ds:KeyName>)之 值自動判別具有育查詢公開金鑰的憑證之憑證種類,由於在此系 統内的所有使用者都會預先將自己的憑證在系統中進行註冊(透 過X-KRSS),故任-個使用者在查詢公開金鑰時,尸、需判別金 〇<ds:KeyN_>)域即可得知相對應的憑證種 類。因此,依上述判斷’若為本系統所核發之内部憑證,則經由 憑邊皆理程式介面(CA-API)使用憑證管理系統51 ;若為外部 核發之憑證,則經由多憑證驗證程式介面(VA-制)使用憑證 驗證系統52 ’進行主機認證、憑證查詢後,將憑證回傳給可延 伸標示語言金餘管理規格(XKMS)金錄騎系統,再組成回傳 訊息(Resp⑽e)回傳給使用者33或憑證管理中心(ca) 22。 2·驗也(Validate)功能:則是除了憑證的查詢外,再提供給使 用者查詢金麟證是财效的驗證。當可延伸標示語言金鎗管理 規格(XKMS)金鑰憑證系統收到驗證(職d扯)要求後,將 可k伸‘不…(xml)訊息賴後,依照標籤,,KeyInf〇,,之值 自動判別種類,若為内部所發行之金鑰,則經由憑證管理程式介 面(CA-API)使用憑證管理祕51 ;若為外部所發行之金输, 12 1317597 則經由多憑證驗證程式介面(VA-API)使用憑證驗證系統52, 進行主機認證、憑證查詢及驗證後,將憑證回傳給可延伸標示語 言金鑰管理規格(XKMS)金錄憑證系統,再組成回傳訊息 (Response )回傳給使用者33。 公開金鑰基礎建設(PKI)在網路服務(web services)上是重要 的,包括認證、簽驗章等,但是對很多應用來說相當複雜。本發明 特徵之一為可延伸標示語言金鑰管理規格(XKMS)之金鑰憑證系 統簡化了很多公開金鑰基礎建設(PKI)的整合工作,而把這些工作 交給可延伸標示語言金鑰管理規格(XKMS)之金鑰憑證系統之主機 來做,此外,公開金鑰基礎建設(PKI)對很多小型裝置來說太沉重 了’可延伸標示語言金鑰管理規格(XKMS)之金鑰憑證系統把很多 公開金鑰基礎建設(PKI)運算的過程都交給可延伸標示語言金鑰管 理規格(XKMS )之金鑰憑證系統主機處理,減低小型裝置的運算量, 可延伸標示語言金鑰管理規格(XKMS)之金鑰憑證系統之主機提供 了使用者在網路服務上一個金鑰管理的信任服務,透過金鑰憑證系統 的介面’讓所有的網路服務(web services)都能使用ρκι中憑證管理 中心(CA)、註冊管理中心(ra)、憑證驗證中心(VA)的功能,而 不需透過特定的應用程式介面(API)。 本系統主要特徵在將可延伸標示語言金鑰管理規格(XKMS)協 定在實務上與憑證管理中心(CA)、憑證驗證中心(VA)做一個結合, 使得可延伸標示語言金鑰管理規格(XKMS)之金鑰憑證系統能不單 單只疋網路服務(Web Services)世界中的註冊管理中心(RA),而 可以成為—個多功能的金鎗管理系統,結合憑證管理中心(CA)、註 冊管理中心(RA)及憑證驗證中心(VA)的應用程式介面(Αρι), 使得可延伸標示語言金鑰管理規格(XKMS)之金鑰憑證系統能夠一 次整合内部憑證管理中心(CA)及透過憑證驗證中心(VA)整合外 部憑證管理中心(CA),完成註冊管理中心(ra)及多憑證的驗證 13 .1317597 連到 系統,透過應用程式介面(API)的使用’讓實作的過程巧化 模組化容易維護的效果。 ------------玉·" ,vτ奴叼之技術思想及牲 點,其目的在使熟習此項技藝之人士能夠瞭解本發明之内= 並據以實施,當不能以之限定本發明之專利範圍,g 谷 本發明所揭示之精神所作之均等變化或修飾,仍應=蓋$依 發明之專利範圍内。 ’ / 本 【圖式簡單說明】 第—圖所*為根據本發明-實施例之可延伸標示語言 規袼之金鑰憑證系統示意圖。 =圖所示為根據本發明-實施例之可延伸標示語言麵註冊服 将模組群之網路服務流程圖。 所示為根據本發明—實施例之可延伸標示語言金鑰資訊服 規格模組處理公開金鑰查詢要求流程圖。 【主要元件符號說明】 10 金鑰憑證系統 12 可延伸標示語言金鎗註冊服務模組 14 可延伸標示語言金鑰資訊服務模組 16 資料庫 31、32、33 使用者 22 憑證管理中心 1317597 23 憑證驗證中心 24 註冊管理中心 S21-S25 為可延伸標示語言金鑰註冊服務模組群之網路服務 流程步驟 41 憑證管理系統 42 多憑證驗證系統 S31〜S35 為可延伸標示語言金鑰資訊服務規格模組處理公開 金鑰查詢要求流程步驟 51 憑證管理系統 52 多憑證驗證系統 15