專利名稱:從id-令牌中讀取屬性的程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種從ID-令牌(ID-Token)中讀取至少一個屬性(Attribut)的方法、一種計算機程序產(chǎn)品以及一種計算機系統(tǒng)。
背景技術(shù):
現(xiàn)有技術(shù)已公開了多種管理用戶數(shù)字認(rèn)證的方法,例如Microsoft Windows CardSpace是一個以客戶端為基礎(chǔ)的數(shù)字認(rèn)證系統(tǒng),它實現(xiàn)了針對在線服務(wù)對因特網(wǎng)用戶進(jìn)行數(shù)字認(rèn)證。其缺點在于,用戶可以操縱數(shù)字認(rèn)證。
與之相反的是,OPENID是以服務(wù)器為基礎(chǔ)的系統(tǒng)。這種所謂的認(rèn)證服務(wù)器中儲存了一個數(shù)據(jù)庫,其中存有注冊用戶的數(shù)字認(rèn)證數(shù)據(jù)。其缺點在于數(shù)據(jù)保護(hù)存在缺陷,因為用戶的數(shù)字認(rèn)證數(shù)據(jù)被集中儲存,從而可以記錄用戶行為。US2007/0294431A1公開了另一種用于管理數(shù)字認(rèn)證的方法,它同樣也要求用戶注
ΠΠ
/ttr ODE102008000067A1也公開了一種從ID-令牌中讀取至少一個屬性的方法,其為最接近本發(fā)明的現(xiàn)有技術(shù)。專利申請 DE102008040416、DE102008042262、DE102009026953、DE102009027723和DE102009027681則進(jìn)一步公開了此類的方法。
發(fā)明內(nèi)容
因而,本發(fā)明的目的是提供一種改進(jìn)的、讀取至少一個屬性的方法以及相應(yīng)的計算機程序產(chǎn)品和計算機系統(tǒng)。本發(fā)明的獨立權(quán)利要求提供了實現(xiàn)上述發(fā)明目的的技術(shù)方案,而從屬權(quán)利要求則給出了本發(fā)明的優(yōu)選實施方式。根據(jù)本發(fā)明一具體實施方式
,本發(fā)明提供了一種讀取至少一個儲存在ID-令牌中的屬性的方法,該ID-令牌分配給了用戶。該方法包含下列步驟針對ID-令牌認(rèn)證用戶;針對ID-令牌認(rèn)證第一計算機系統(tǒng);在針對ID-令牌成功認(rèn)證了用戶和第一計算機系統(tǒng)后,第一計算機系統(tǒng)讀取ID-令牌中存儲的至少一個屬性,用于將該至少一個屬性傳輸給第二計算機系統(tǒng),并由第一計算機系統(tǒng)對該至少一個屬性生成時間指示。以此建立“可信賴的鏈接”。根據(jù)本發(fā)明一具體實施方式
,第一計算機系統(tǒng)通過網(wǎng)絡(luò),特別是因特網(wǎng),與ID-令牌之間建立了通信聯(lián)系,可以讀取儲存在ID-令牌中的一個或者多個屬性。該至少一個屬性,可以為分配了 ID-令牌的用戶身份的說明,特別是所謂的數(shù)字身份的說明。例如,第一計算機系統(tǒng)讀取屬性,如姓氏、名字、地址等,再將屬性轉(zhuǎn)發(fā)給第二計算機系統(tǒng),如在線服務(wù)商。然而,也可讀取單一屬性,該屬性并非為了建立用戶的身份,而是例如,驗證用戶的權(quán)利以使用特定的在線服務(wù),例如用戶的年齡(如果他希望使用面向特定年齡群體的在線服務(wù)),或者另一種證明了授權(quán)使用在線服務(wù)的群體成員的用戶身份的屬性。
ID-令牌可以是可攜帯的電子設(shè)備,例如USB存儲器,或者是ー個文件,特別是有價文件或者安全文件。為防止所謂的“中間人攻擊(man-in-the-middle Attacke) ”,可采取如下方法首先,在第三計算機系統(tǒng)的瀏覽器和第二計算機系統(tǒng)之間建立第一密碼保護(hù)的通信聯(lián)系,其中,第三計算機系統(tǒng)通過第一通信聯(lián)系獲取第一證書。例如,建立第一密碼保護(hù)的通信聯(lián)系要求接收第一證書,該第一證書也可以是通過第一密碼保護(hù)的通信聯(lián)系從第三計算機系統(tǒng)接收到的簽字的屬性清單之簽字的一部分。第一證書包含ー個第二計算機系統(tǒng)的標(biāo)識符(Identifikator)。通過第一受密碼保護(hù)的通信聯(lián)系所接收到的第一證書,由第三計算機系統(tǒng)至少暫時保留一段時間。另外,在第三計算機系統(tǒng)的瀏覽器和第一計算機系統(tǒng)之間建立第二受密碼保護(hù)的通信聯(lián)系,簽字的屬性清單則通過第二通信聯(lián)系由瀏覽器發(fā)送給第一計算機系統(tǒng),例如通過所謂的“重定向(Redirect) ”。第一計算機系統(tǒng)被提供服務(wù)的第二計算機系統(tǒng)的運營商授權(quán)執(zhí)行ID提供者功 能。為此,在第一計算機系統(tǒng)中儲存了ー個分配給第二計算機系統(tǒng)的權(quán)利證書,還可能有用于第一計算機系統(tǒng)之ID提供者功能的其它第二計算機系統(tǒng)的權(quán)利證書,以及有所屬的私人密碼鑰匙。分配給第二計算機系統(tǒng)的權(quán)利證書包含了它的標(biāo)識符。第一計算機系統(tǒng)借助屬性清單的簽字,認(rèn)證生成屬性清單簽字的第二計算機系統(tǒng)的權(quán)利證書。在第一計算機系統(tǒng)和第三計算機系統(tǒng)的客戶機之間建立第三受密碼保護(hù)的通信聯(lián)系,第三計算機系統(tǒng)的客戶機通過第三通信聯(lián)系從第一計算機系統(tǒng)接收權(quán)利證書。從第三計算機系統(tǒng)方面,其客戶機則驗證標(biāo)識符是否一致。運用第一計算機系統(tǒng)的證書來建立第三受密碼保護(hù)的通信聯(lián)系,以便隨后將認(rèn)證過的第二計算機系統(tǒng)的權(quán)利證書通過第三通信聯(lián)系進(jìn)行傳送,或者在建立第三通信聯(lián)系時運用第二計算機系統(tǒng)的權(quán)利證書,這樣就可以傳送權(quán)利證書。如果是這種情況,就可以證明,第一證書與分配給第二計算機系統(tǒng)的服務(wù)證書一致,而且借助第一證書可對屬性清單進(jìn)行簽字,再分配的權(quán)利證書的就是服務(wù)證書;如果沒有分配權(quán)利證書,就意味著存在“中間人攻擊(man-in-the-middle Attacke) ”,就會終止操作。與此相反,如果第一證書和權(quán)利證書通過標(biāo)識符相互配對,則認(rèn)為第一計算機系統(tǒng)針對ID-令牌而被認(rèn)證通過,并在ID-令牌和第一計算機系統(tǒng)之間通過端對端加密建立了第四受密碼保護(hù)的通信聯(lián)系。當(dāng)針對ID-令牌用戶得到成功認(rèn)證,就可以通過第四通信聯(lián)系讀取第一計算機系統(tǒng)。本發(fā)明中,“文件”可以理解為根據(jù)本發(fā)明所制作的紙質(zhì)和/或塑膠質(zhì)文件,例如證明文件,特別是護(hù)照、身份證、簽證以及駕照、機動車執(zhí)照、機動車車證、公司證明、健康卡或者其它ID文件以及IC卡、支付工具,特別是鈔票、銀行卡和信用卡,或者是其它整合了用于儲存至少ー個屬性的數(shù)據(jù)存儲器的權(quán)利證明。本發(fā)明中,“證書”可以理解為數(shù)字證書,也稱為公共鑰匙證書。證書是結(jié)構(gòu)化的數(shù)據(jù),它用于給身份(例如一個人或者一個設(shè)備)分配一個非對稱加密系統(tǒng)的公共密碼鑰匙。例如,證書可以與X. 509標(biāo)準(zhǔn)或者其它標(biāo)準(zhǔn)相符。特別地,證書可以是SSL證書或者TLS證書。
本發(fā)明中,“權(quán)利證書”可以理解為包含了讀取ID-令牌中儲存的屬性之讀取權(quán)利的清単。權(quán)利證書可以包含針對ー個或者多個證書的指引,特別是針對分配給權(quán)利證書的SSL證書或者TLS證書的指引。本發(fā)明之具體實施方式
的特別優(yōu)勢在于,從特別可信賴的文件如官方文件中讀取至少ー個屬性。此外,這樣做的優(yōu)點還在于,不需要對屬性進(jìn)行集中存儲。本發(fā)明實現(xiàn)了數(shù)字身份所屬的屬性的高可信度,通過外部簡便的手動操作可以實現(xiàn)最佳的數(shù)據(jù)保護(hù)。根據(jù)本發(fā)明一具體實施方式
,第一計算機系統(tǒng)至少具有一個證書,用來認(rèn)證ID-令牌與第一計算機系統(tǒng)之間的關(guān)系。權(quán)利證書包括針對屬性的說明資料,第一計算機系統(tǒng)對它具有閱讀權(quán)。借助這個證書,ID-令牌在第一計算機系統(tǒng)執(zhí)行讀取程序前檢驗第一計算機系統(tǒng)是否具有讀取屬性的權(quán)利。這種權(quán)利證書分配了第二計算機系統(tǒng)的服務(wù)證書,也就是說,它包含與服務(wù)證書相同的標(biāo)識符。如果不存在“中間人攻擊”,在建立第一通信聯(lián)系時從第三計算機系統(tǒng)接收到的第一證書,就是第二計算機系統(tǒng)的服務(wù)證書。根據(jù)本發(fā)明一具體實施方式
,第一計算機系統(tǒng)直接向第二計算機系統(tǒng)發(fā)送至少ー 個從ID-令牌讀取的屬性。第二計算機系統(tǒng)可以是一臺服務(wù)器,用以提供在線服務(wù)或者其它服務(wù),例如銀行服務(wù)或者訂貨。例如,用戶可以在線開通帳號,將包含了用戶身份的屬性從第一計算機系統(tǒng)發(fā)送給銀行的第二計算機系統(tǒng)。根據(jù)本發(fā)明一具體實施方式
,從ID-令牌讀取的屬性從第一計算機系統(tǒng)首先發(fā)送給用戶的第三計算機系統(tǒng)。例如,第三計算機系統(tǒng)具有ー個普通瀏覽器,通過該瀏覽器用戶可以打開第二計算機系統(tǒng)的網(wǎng)頁,用戶可以在網(wǎng)頁中輸入對一項服務(wù)或者一個產(chǎn)品的請求或者訂購。接下來,第二計算機系統(tǒng)列出屬性如用戶或者其ID-令牌之屬性的清単,這些屬性是提供服務(wù)或者接受訂單所必需的。之后,第二計算機系統(tǒng)則將包含了屬性說明的相應(yīng)屬性清單,通過第三計算機系統(tǒng)發(fā)送給第一計算機系統(tǒng)。根據(jù)本發(fā)明一具體實施方式
,用戶對第二計算機系統(tǒng)的服務(wù)請求包含識別符(Kennung)的說明,該識別符用來驗證第一計算機系統(tǒng)。例如,識別符可以是ー個鏈接,例如第一計算機系統(tǒng)的URL。根據(jù)本發(fā)明一具體實施方式
,從ID-令牌讀取的屬性由第一計算機系統(tǒng)進(jìn)行簽字,再發(fā)送給第三計算機系統(tǒng)。第三計算機系統(tǒng)的用戶也可以讀取屬性,但是不能更改內(nèi)容。只有得到用戶的授權(quán)后,第三計算機系統(tǒng)才將屬性繼續(xù)發(fā)送給第三計算機系統(tǒng)。根據(jù)本發(fā)明一具體實施方式
,用戶在繼續(xù)發(fā)送前,可以補充其它數(shù)據(jù)。根據(jù)本發(fā)明一具體實施方式
,第一計算機系統(tǒng)具有不同閱讀權(quán)限的多個權(quán)利證書。根據(jù)接收到的屬性清單,第一計算機系統(tǒng)從中選擇ー個或者多個權(quán)利證書,以便從ID-令牌中讀取相應(yīng)的屬性。根據(jù)本發(fā)明一具體實施方式
,第一通信聯(lián)系、第二通信聯(lián)系和第三通信聯(lián)系是密碼保護(hù)的傳輸層通信聯(lián)系。例如,第一通信聯(lián)系、第二通信聯(lián)系和第三通信聯(lián)系是傳輸層安全性(TLS)通信聯(lián)系或者安全套接字層(SSL)通信聯(lián)系。與此相反,在ID-令牌和第一計算機系統(tǒng)之間端對端加密的第四通信聯(lián)系,在運用第三通信聯(lián)系后提高到更高層,例如應(yīng)用層。根據(jù)本發(fā)明一具體實施方式
,為保護(hù)通訊,使用I. O版或更高版的TLS協(xié)議(The TLS Protocol,Ver-sionl. 0,http://www. ietf. org/rfc/rfc2246;The TransportLayer Security (TLS) Protocol, VersionL I, http://www. ietf. org/rfc/rfc4346)。 這里所使用的密碼運算規(guī)則和安全參數(shù)優(yōu)選滿足技術(shù)準(zhǔn)則中的加密方法推薦和密碼長度(BSI-TR-02102),2008 年 06 月 20 日 I. O 版https://www. bsi. bund, de/cae/servlet/contentblob/477256/publicationFile/43752/BSI-TR-02102 Vl 0 pdf, pdf 規(guī)定的要求。根據(jù)本發(fā)明一具體實施方式
,第二計算機系統(tǒng)生成安全保證標(biāo)記語言(SAML)的對象,其包含屬性清單和第二計算機系統(tǒng)的簽字。該安全保證標(biāo)記語言(SAML)的對象通過第一通信聯(lián)系,傳送給第三計算機系統(tǒng),并通過“重定向”,從第三計算機系統(tǒng)通過第二通信聯(lián)系繼續(xù)發(fā)送給第一計算機系統(tǒng)。第一計算機系統(tǒng)包含ー個安全保證標(biāo)記語言(SAML)的邏輯組件,它是用于接收和處理安全保證標(biāo)記語言(SAML)之對象的計算機程序。在該具體實施方式
中,在第三計算機系統(tǒng)的瀏覽器和第一計算機系統(tǒng)的安全保證標(biāo)記語言(SAML)邏輯組件之間建立了第二通信聯(lián)系。 根據(jù)本發(fā)明一具體實施方式
,第一計算機系統(tǒng)包含ー個協(xié)議堆組件,也就是用來執(zhí)行預(yù)定的協(xié)議堆的計算機程序,例如聯(lián)邦安全局在信息技術(shù)中規(guī)定的協(xié)議堆TR03112。在這類的具體實施方式
中,在第三計算機系統(tǒng)的客戶機和第一計算機系統(tǒng)的協(xié)議堆組件之間,建立了第二通/[目聯(lián)系。根據(jù)本發(fā)明一具體實施方式
,第三計算機系統(tǒng)的瀏覽器具有一個插件程序。通過該插件程序,將簽字的屬性清單,例如安全保證標(biāo)記語言(SAML)的對象,通過第二通信聯(lián)系繼續(xù)發(fā)送,并且啟動客戶機,將通過第一通信聯(lián)系接收到的第一證書發(fā)送給客戶機。在這種情況下,客戶機將驗證證書的標(biāo)識符是否一致。根據(jù)本發(fā)明一具體實施方式
,服務(wù)器計算機系統(tǒng)的服務(wù)證書是SSL證書。服務(wù)器計算機系統(tǒng)的SSL證書包含標(biāo)識符,通過其可以清楚地識別服務(wù)器計算機系統(tǒng)。這種標(biāo)識符可以是服務(wù)器計算機系統(tǒng)的公共密碼鑰匙、公共密碼鑰匙的哈希值(Hashwert)或者是其它清楚的標(biāo)識符。根據(jù)本發(fā)明一具體實施方式
,清楚識別服務(wù)器計算機系統(tǒng)(和權(quán)利證書)的標(biāo)識符是URL形式,它由服務(wù)提供商的因特網(wǎng)域名和用戶通過其瀏覽器可以讀取的服務(wù)提供商網(wǎng)頁應(yīng)用的路徑組成。其一般格式是https://<diensteanbieter-domain>/<diensteanbleter-anwendunR^o例如,用于服務(wù)器計算機系統(tǒng)https://new-xyz-webshop. de的應(yīng)用“shop”的標(biāo)識符為https://new-xyz-webshop. de/shop。通過應(yīng)用域名就可以清楚了。如果第一密碼保護(hù)的通信聯(lián)系是ー個SSL通信聯(lián)系,為了建立第一通信聯(lián)系,就要將服務(wù)器計算機系統(tǒng)也就是第二計算機系統(tǒng)的服務(wù)證書,發(fā)送給用戶計算機系統(tǒng),也就是第三計算機系統(tǒng)。只要不存在“中間人攻擊”,這種服務(wù)證書就與用戶計算機系統(tǒng)接收到的第一證書是相同的。第一證書保存在用戶計算機系統(tǒng)中??梢越oID提供者計算機系統(tǒng),也就是第一計算機系統(tǒng),分配ー個ID提供者證書。ID提供者證書同樣也可以是SSL證書,其包含ー個ID提供者計算機系統(tǒng)的標(biāo)識符,例如其公共密碼鑰匙、公共密碼鑰匙的哈希值或者其它清楚的(單義的)標(biāo)識符,通過該標(biāo)識符來認(rèn)證ID提供者計算機系統(tǒng),也就是第一計算機系統(tǒng)。如果第二密碼保護(hù)的通信聯(lián)系是TLS通信聯(lián)系,為了建立這個通信聯(lián)系,需要將ID提供者證書從ID提供者計算機系統(tǒng)傳送給用戶計算機系統(tǒng)。如果不存在“中間人攻擊”,用戶計算機系統(tǒng)接收到的第二證書就與ID提供者證書相同。用戶計算機系統(tǒng)也保存第二證書,也就是一般情況下的ID提供者證書。根據(jù)本發(fā)明一具體實施方式
,ID提供者計算機系統(tǒng)的權(quán)利證書中既包含了服務(wù)器計算機系統(tǒng)的標(biāo)識符,也包含了 ID提供者計算機系統(tǒng)的標(biāo)識符。如果建立第二密碼保護(hù)的通信聯(lián)系時不存在“中間人攻擊”,由用戶計算機系統(tǒng)接收到的第二證書就是ID提供者證書。如果權(quán)利證書中既包含第一證書的標(biāo)識符,同時也包含第二證書的標(biāo)識符,用戶計算機系統(tǒng)就會排除“中間人攻擊”的存在。另ー方面,本發(fā)明還涉及ー種計算機程序產(chǎn)品,特別是數(shù)字存儲媒介,其帶有可執(zhí)行指令來執(zhí)行根據(jù)本發(fā)明所設(shè)計的方法。根據(jù)本發(fā)明一具體實施方式
,ID-令牌包括用來儲存至少ー個屬性的、受保護(hù)的存儲區(qū);認(rèn)證分配了 ID-令牌的用戶和ID-令牌之間關(guān)系的認(rèn)證工具(手段);認(rèn)證第一計 算機系統(tǒng)和ID-令牌之間關(guān)系的認(rèn)證工具;用來與第一計算機系統(tǒng)建立第四通信聯(lián)系的エ具,第一計算機系統(tǒng)通過該通信聯(lián)系讀取至少ー個屬性;其中,第一計算機系統(tǒng)從ID-令牌中讀取至少ー個屬性的必要條件是針對ID-令牌成功認(rèn)證了用戶和第一計算機系統(tǒng)。除了針對ID-令牌認(rèn)證第一計算機系統(tǒng),例如象所謂的機器可讀旅行文件(MRTD)并由國際航空協(xié)會(ICAO)所選定的擴展訪問控制,用戶必須針對ID-令牌認(rèn)證其自身。例如,針對ID-令牌成功認(rèn)證用戶后,打開令牌,以使下一歩也即針對ID-令牌認(rèn)證第一計算機系統(tǒng)和/或生成用于讀取屬性的受保護(hù)通信連接,可以執(zhí)行。根據(jù)本發(fā)明一具體實施方式
,ID-令牌具有用于端對端加密的工具。這樣,就可以在ID-令牌與第一計算機系統(tǒng)之間,通過用戶的第三計算機系統(tǒng),建立了第四通信聯(lián)系,因為用戶在端對端加密的基礎(chǔ)上不能更改通過該通信聯(lián)系所傳輸?shù)臄?shù)據(jù)。根據(jù)本發(fā)明一具體實施方式
,第一計算機系統(tǒng)包括通過網(wǎng)絡(luò)接收屬性清單的エ具,其中,屬性清單指定了至少一條屬性;針對ID-令牌進(jìn)行認(rèn)證的工具;通過受保護(hù)的第四通信聯(lián)系從ID-令牌中讀取至少ー個屬性的工具,其中,讀取至少一條屬性的前提條件是針對ID-令牌,認(rèn)證分配了該ID-令牌的用戶。根據(jù)本發(fā)明一具體實施方式
,第一計算機系統(tǒng)包含向用戶生成要求的工具。第一計算機系統(tǒng)例如從第二計算機系統(tǒng)接收到屬性清單后,緊接著向用戶的第三計算機系統(tǒng)發(fā)送要求,使得用戶被要求針對ID-令牌進(jìn)行認(rèn)證。當(dāng)用戶成功認(rèn)證了 ID-令牌與用戶之間的關(guān)系之后,第一計算機系統(tǒng)從第三計算機系統(tǒng)得到確認(rèn)信息。接著,認(rèn)證第一計算機系統(tǒng)與ID-令牌之間的關(guān)系,并在ID-令牌和第一計算機系統(tǒng)之間,通過端對端加密,建立第四受保護(hù)的通信聯(lián)系。根據(jù)本發(fā)明一具體實施方式
,第一計算機系統(tǒng)具有多個權(quán)利證書,每個權(quán)利證書指定了不同的閱讀權(quán)限。在接收到屬性清單之后,第一計算機系統(tǒng)從中選擇至少ー個具有足夠閱讀權(quán)限的權(quán)利證書,以讀取相應(yīng)的屬性。根據(jù)本發(fā)明所設(shè)計的第一計算機系統(tǒng)的具體實施方式
的特別優(yōu)勢在于,必須認(rèn)證用戶與ID-令牌之間的關(guān)系,確保不存在“中間人攻擊”,從而形成一條用于認(rèn)證用戶純真的數(shù)字身份的信任鏈。其特別的優(yōu)勢在于,用戶不需要針對計算機系統(tǒng)進(jìn)行登記注冊,也不會集中儲存用戶在進(jìn)行數(shù)字身份認(rèn)證時所形成的屬性。
根據(jù)本發(fā)明一具體實施方式
,第一計算機系統(tǒng)可以是ー個官方認(rèn)證的信任中心(Trust-Center),特別是符合簽名法的信任中心。根據(jù)本發(fā)明一具體實施方式
,通過可執(zhí)行的程序指令、軟硬件組合和/或電子邏輯電路,來實現(xiàn)計算機系統(tǒng)的各個功能性工具。下面借助附圖,來詳細(xì)描述本發(fā)明的優(yōu)選實施方式。其中
圖I是根據(jù)本發(fā)明計算機系統(tǒng)的第一具體實施方式
的方框圖;圖2是根據(jù)本發(fā)明方法的一具體實施方式
的流程圖;圖3是根據(jù)本發(fā)明方法的另一具體實施方式
的UML圖。
具體實施方式
下面的具體實施方式
中,相應(yīng)的元件采用相同的代碼。圖I顯示的是用戶102的用戶計算機系統(tǒng)100。用戶計算機系統(tǒng)100可以是個人電腦、可攜帯計算機如筆記本或者掌上電腦、私人數(shù)字助理、移動電信設(shè)備特別是智能手機、或者類似的產(chǎn)品。用戶計算機系統(tǒng)100具有一個接ロ 104,用干與ID-令牌106進(jìn)行通訊,ID-令牌106也配備了相應(yīng)的接ロ 108。接ロ 104和108可以是例如近場通訊(NFC)接ロ、藍(lán)牙接ロ、無線射頻識別(RFID)接ロ或者類似的接ロ。用戶計算機系統(tǒng)100具有至少ー個處理器110,用于執(zhí)行程序指令112和113,還具有一個網(wǎng)絡(luò)接ロ 114,用于通過網(wǎng)絡(luò)116進(jìn)行通訊,網(wǎng)絡(luò)可以是計算機網(wǎng)絡(luò),例如因特網(wǎng)。通過執(zhí)行程序指令112來執(zhí)行瀏覽器程序,例如Microsoft Internet Explorer或者其它普通的瀏覽器程序。程序指令112可以包含用于瀏覽器的插件。通過程序指令113執(zhí)行一臺客戶機,通過ID提供者計算機系統(tǒng)136的協(xié)議堆組件172形成相應(yīng)的服務(wù)器。ID-令牌106具有一個帶受保護(hù)的存儲區(qū)120、122和124的電子存儲器118,用于儲存針對ID-令牌106認(rèn)證用戶102的參考值。參考值例如是ー個識別標(biāo)志,特別是所謂的個人認(rèn)證數(shù)碼(PIN),或者是可以用來認(rèn)證用戶與ID-令牌106之間的關(guān)系的用戶102的生物特征的參考數(shù)據(jù)。受保護(hù)的儲存區(qū)122用于儲存私人密碼,受保護(hù)的儲存區(qū)124用于儲存與用戶102相關(guān)的屬性,例如其姓名、住址、出生日期、性別和/或與ID-令牌106相關(guān)的屬性,例如ID-令牌生成或發(fā)出的命令、ID-令牌的有效期限、ID-令牌的標(biāo)識符,例如通行號或者信用卡號碼。另外,電子存儲器118還具有用于儲存證書126的存儲區(qū)。證書126包含ー個公共密碼鑰匙,它分配給了儲存在受保護(hù)的存儲區(qū)122中的私人密碼鑰匙。證書可以根據(jù)公共密碼鑰匙基礎(chǔ)設(shè)施(PKI)標(biāo)準(zhǔn)來生成,例如根據(jù)X. 509標(biāo)準(zhǔn)。證書126并不一定必須儲存在ID-令牌106的電子存儲器118中。另ー種方案,證書126也可以儲存在公共目錄服務(wù)器中。ID-令牌106具有一個處理器128,它用于執(zhí)行程序指令130、132和134。程序指令130用于進(jìn)行用戶認(rèn)證,也就是說用于認(rèn)證用戶102和ID-令牌之間的關(guān)系。
在帶有PIN的ー個具體實施方式
中,用戶102輸入PIN,用于在ID-令牌中進(jìn)行認(rèn)證,例如通過用戶計算機系統(tǒng)100。通過執(zhí)行程序指令130讀取受保護(hù)的存儲區(qū)120,將輸入的PIN與儲存在儲存區(qū)中的PIN的參考值進(jìn)行比對。如果輸入的PIN與PIN的參考值一致,則用戶102通過認(rèn)證。另ー種方案是,捕捉用戶102的生物特征。例如,ID-令牌106具有ー個指紋感應(yīng)器或者將指紋感應(yīng)器與用戶計算機系統(tǒng)100相連。在這種具體實施方式
中,通過執(zhí)行程序指令130將從用戶102處捕捉到的生物數(shù)據(jù)與儲存在有保護(hù)存儲區(qū)120中的生物參照數(shù)據(jù)相對比。如果從用戶102處捕捉到的生物數(shù)據(jù)與生物參考數(shù)據(jù)接近一致,則用戶102的認(rèn)證通過。程序指令134用于執(zhí)行密碼協(xié)議中與ID-令牌106相關(guān)的步驟,來認(rèn)證ID-令牌106與ID提供者計算機系統(tǒng)136之間的關(guān)系。密碼協(xié)議可以是基于對稱密碼或者不對稱密碼的挑戰(zhàn)應(yīng)答協(xié)議。例如,通過密碼協(xié)議可以執(zhí)行外部訪問控制方法,例如國際空運機關(guān)(ICAO)特有 的機器可讀取旅行文件(MRTD)。成功執(zhí)行密碼協(xié)議后,就可以認(rèn)證ID提供者計算機系統(tǒng)136與ID-令牌之間的關(guān)系,證明可閱讀權(quán)限后才可以讀取儲存在受保護(hù)存儲區(qū)124中的屬性。認(rèn)證也可以是反向的,也就是說,ID-令牌106必須針對ID提供者計算機系統(tǒng)136采用這個密碼協(xié)議,或者采用其它密碼協(xié)議進(jìn)行認(rèn)證。程序指令132用于為ID-令牌106與ID提供者計算機系統(tǒng)136之間的數(shù)據(jù)傳輸進(jìn)行端對端的加密,至少是對ID提供者計算機系統(tǒng)136從受保護(hù)存儲區(qū)124處讀取的屬性進(jìn)行加密。端對端的加密可以利用對稱密碼鑰匙,例如約定允許執(zhí)行ID-令牌106與ID提供者計算機系統(tǒng)136之間的密碼協(xié)議。與圖I所顯示的具體實施方式
不同的方案是,帶接ロ 104的用戶計算機系統(tǒng)100與接ロ 108之間不是直接通訊,而是通過與接ロ 104相連的用于ID-令牌106的閱讀器進(jìn)行通訊。這個閱讀器可以是2IC卡終端,也可以輸入PIN。ID提供者計算機系統(tǒng)136具有一個網(wǎng)絡(luò)接ロ 138,用于通過網(wǎng)絡(luò)116進(jìn)行通訊。ID提供者計算機系統(tǒng)136另外還具有一個存儲器140,其中儲存了一個或者多個權(quán)利證書和所屬的私人密碼鑰匙。每個證書都分配給了ー個服務(wù)計算機系統(tǒng)。例如,連接了不同的服務(wù)計算機系統(tǒng),例如服務(wù)計算機系統(tǒng)I 150、服務(wù)計算機系統(tǒng)II 150’...。服務(wù)計算機系統(tǒng)I通過分配給服務(wù)計算機系統(tǒng)I運營商的證書ZD I進(jìn)行認(rèn)證。相應(yīng)地,服務(wù)計算機系統(tǒng)II通過分配給服務(wù)計算機系統(tǒng)II運營商的證書ZD II進(jìn)行認(rèn)證。服務(wù)計算機系統(tǒng)的運營商授權(quán)ID提供者計算機系統(tǒng)136的運營商辨認(rèn)用于服務(wù)計算機系統(tǒng)的ID提供者功能。相應(yīng)地,在ID提供者計算機系統(tǒng)136的存儲器140中儲存了具有所屬私人密碼鑰匙187的權(quán)利證書ZDB I 186以及權(quán)利證書ZDB II 186’和所屬的私人密碼鑰匙187’,以及權(quán)利證書和用于其它服務(wù)計算機系統(tǒng)的私人密碼鑰匙。另外,在存儲器140中還儲存了ID提供者證書ZDID188。另外,ID提供者計算機系統(tǒng)136至少具有一個處理器145,用來執(zhí)行程序指令146和148。通過執(zhí)行程序指令146可以執(zhí)行密碼協(xié)議中與ID提供者計算機系統(tǒng)136相關(guān)的步驟??偟膩碚f,通過執(zhí)行程序指令134,ID-令牌106的處理器128執(zhí)行密碼協(xié)議;通過執(zhí)行程序指令146,ID提供者計算機系統(tǒng)136的處理器145執(zhí)行密碼協(xié)議。程序指令148用于在ID提供者計算機系統(tǒng)136這ー邊執(zhí)行端對端加密,例如基于對稱密碼鑰匙,約定允許執(zhí)行ID-令牌106與ID提供者計算機系統(tǒng)136之間的密碼協(xié)議。原則上來說,可以應(yīng)用熟知的用于協(xié)議端對端加密的對稱密碼鑰匙的方法,例如迪菲ー赫爾曼密鑰交換。另外,處理器145使用ー個判斷邏輯單元174和一個協(xié)議堆組件172。判斷邏輯単元172可以是ー個程序模塊,它形成安全保證標(biāo)記語言(SAML)邏輯組件,來接收和判斷安全保證標(biāo)記語言(SAML)的對象。協(xié)議堆組件172可以是ー個程序模塊,用來執(zhí)行通訊協(xié)議,例如根據(jù)信息技術(shù)中聯(lián)邦安全局的技術(shù)準(zhǔn)則BSITR-03112-7。在ID提供者計算機系統(tǒng)136的存儲器140中儲存了多個不同的用于服務(wù)計算機系統(tǒng)的權(quán)利證書,它們授權(quán)ID提供者計算機系統(tǒng)136提供ID提供者功能,也就是權(quán)利證書ZDB I、ZDB II以及所屬的私人密碼鑰匙187和187’。ID提供者計算機系統(tǒng)136最好放在ー個特別受保護(hù)的環(huán)境,例如所謂的信任中心 (Trust-Center)。這樣,ID提供者計算機系統(tǒng)136在認(rèn)證了用戶102和ID-令牌106之間的關(guān)系后形成從ID-令牌106中讀取屬性的信任鏈。服務(wù)計算機系統(tǒng)150則用來接收訂單或者服務(wù)和產(chǎn)品的委托,特別是在線服務(wù)。例如,用戶102可以在線通過網(wǎng)絡(luò)16在銀行開通帳號,或者申請其它的金融或者銀行服務(wù)。服務(wù)計算機系統(tǒng)150也可以作為在線倉庫。這樣,用戶102可以在線購買例如手機或類似產(chǎn)品。另外,服務(wù)計算機系統(tǒng)150也可以提供數(shù)字內(nèi)容,例如下載音樂文件或者視頻文件。對此,服務(wù)計算機系統(tǒng)150具有一個網(wǎng)絡(luò)接ロ 152,用于與網(wǎng)絡(luò)116建立通信聯(lián)系。另外,服務(wù)計算機系統(tǒng)150具有至少ー個處理器154,用于執(zhí)行程序指令156。通過執(zhí)行程序指令156,可以生成動態(tài)HTML網(wǎng)頁,通過它用戶102可以發(fā)出委托或者訂單。根據(jù)訂購產(chǎn)品或者服務(wù)的類型,服務(wù)計算機系統(tǒng)150根據(jù)ー個或者多個規(guī)定標(biāo)準(zhǔn)來驗證用戶102和/或其ID-令牌106的ー個或者多個屬性。只有在驗證通過后,才可以接受和/或執(zhí)行用戶102的訂單或者委托。例如,在開通銀行帳號或者通過所屬合同購買手機時需要進(jìn)行驗證,用戶102針對服務(wù)計算機系統(tǒng)150公開其身份,此時驗證身份的合法性。在現(xiàn)有技術(shù)中,用戶102必須提交身份證。這ー過程可以通過從ID-令牌106中讀取用戶102的數(shù)字身份來實現(xiàn)。根據(jù)使用情況,用戶102可以不針對服務(wù)計算機系統(tǒng)150公開其身份,而是只需要給出ー個帶有屬性的通知。例如,用戶102通過ー個屬性來提供證明,證明他屬于特定的人群,則得到權(quán)限將已經(jīng)包含的數(shù)據(jù)下載到服務(wù)計算機系統(tǒng)150。例如,規(guī)定對用戶102限制最低年齡,或者用戶102必須屬于ー個人群,這樣就可以得到讀取特定保護(hù)數(shù)據(jù)的權(quán)限。優(yōu)選地,計算機系統(tǒng)是根據(jù)圖I設(shè)置的,使得服務(wù)證書144包含相關(guān)服務(wù)計算機系統(tǒng)的ー個標(biāo)識符。例如,通過證書ZD I的標(biāo)識符來認(rèn)證服務(wù)計算機系統(tǒng)I。相應(yīng)地,ID提供者證書ZDID 188也包含ー個標(biāo)識符,通過它來清楚地認(rèn)證ID提供者計算機系統(tǒng)136。相應(yīng)地,分配給服務(wù)計算機系統(tǒng)I的權(quán)利證書186包含服務(wù)計算機系統(tǒng)I的標(biāo)識符和ID提供者計算機系統(tǒng)的標(biāo)識符。通過以下步驟來申請使用由服務(wù)計算機系統(tǒng)150所提供的服務(wù)I.用戶102開始執(zhí)行程序指令112,例如普通的瀏覽器程序,如MicrosoftInternet Explorer。通過網(wǎng)絡(luò)116,也就是因特網(wǎng),用戶102選擇ー個服務(wù)計算機系統(tǒng)。在沒有限制的情況下,接下來用戶102選擇了服務(wù)計算機系統(tǒng)I。用戶102在服務(wù)計算機系統(tǒng)I的網(wǎng)頁上選擇了由服務(wù)計算機系統(tǒng)I所提供的服務(wù)。服務(wù)計算機系統(tǒng)I和瀏覽器112之間就建立了第一密碼保護(hù)的通信聯(lián)系TLS1。對此,可以運用傳輸層安全(TLS)協(xié)議。為了建立第一密碼保護(hù)的通信聯(lián)系TLS1,服務(wù)計算機系統(tǒng)I執(zhí)行傳輸層安全(TLS)協(xié)議將其證書ZD I 144發(fā)送給用戶計算機系統(tǒng)100。權(quán)利證書ZDB I 186包含對證書ZD I 144的參考值,特別是TLS證書。用戶計算機系統(tǒng)100接收第一證書Z 176。證書Z 176在一般情況下是服務(wù)計算機系統(tǒng)I的證書ZD I 144。當(dāng)出現(xiàn)黑客178所引起的“中間人攻擊”時,證書ZD I 144被黑客178替換成其證書ZA 180,這樣用戶計算機系統(tǒng)100將證書ZA 180作為證書Z 176儲存起來。在建立了通信聯(lián)系TLSl之后,服務(wù)計算機系統(tǒng)I通過ILSl向用戶計算機系統(tǒng)100發(fā)送屬性清單182。屬性清單182包含服務(wù)計算機系統(tǒng)所需要的ID-令牌106的屬性清単,它可以提供用戶102所需要的服務(wù)。屬性清單182是服務(wù)計算機系統(tǒng)I對ID提供者計算機系統(tǒng)136的要求,用于安全 讀取屬性。屬性清單182在私人密碼鑰匙142的輔助下由服務(wù)計算機系統(tǒng)I進(jìn)行簽字。證書ZD I也屬于簽字。黑客178可以將證書ZD I替換成證書ZD,嘗試操作要求182的簽字。服務(wù)計算機系統(tǒng)I的標(biāo)識符也包含在屬性清單182中。屬性清單182可以是安全保證標(biāo)記語言(SAML)對象的形式。接收到安全保證標(biāo)記語言(SAML)對象182后就可以提到瀏覽器112的插件程序。接下來,在瀏覽器112和ID提供者計算機系統(tǒng)136的判斷邏輯單元174之間通過網(wǎng)絡(luò)116建立第二密碼保護(hù)的通信聯(lián)系TLS2,例如同樣也根據(jù)TLS協(xié)議。對此,將ID提供者證書ZDID 188發(fā)送給用戶計算機系統(tǒng)100,并在那作為第二證書190接收,只要不是在出現(xiàn)“中間人攻擊”時被黑客180的證書ZA所替代,就與ZDID 188相同。證書190被用戶計算機系統(tǒng)100儲存起來。另外,啟動程序指令113 (客戶機)。2.簽字的要求182通過重定向由瀏覽器112通過通信聯(lián)系TLS2繼續(xù)發(fā)送給判斷邏輯單元174。ID提供者計算機系統(tǒng)136在判斷邏輯單元174的輔助下判斷要求182。由此,ID提供者計算機系統(tǒng)136認(rèn)證服務(wù)計算機系統(tǒng),也就是這里的發(fā)送要求182的服務(wù)計算機系統(tǒng)I。在要求182的簽字的輔助下,或者在要求182所包含的服務(wù)計算機系統(tǒng)I的其它標(biāo)識符的輔助下執(zhí)行認(rèn)證。ID提供者計算機系統(tǒng)136可以提供要求的ID提供者功能,必須使用儲存在存儲器140中的具有有所屬私人密碼鑰匙的權(quán)利證書,它與要求的服務(wù)計算機系統(tǒng),這里是服務(wù)計算機系統(tǒng)I所確定的身份相符。如果沒有找到這樣的權(quán)利證書,則操作在這個位置終止。成功認(rèn)證了服務(wù)計算機系統(tǒng)I之后,判斷邏輯單元174此時會從存儲器140中選擇文件ZDB I進(jìn)行接下來的步驟。當(dāng)通過TLS2傳送要求182時,也有可能出現(xiàn)“中間人攻擊”,例如黑客178可以嘗試在其證書ZA的幫助下修改要求182的簽字。3.此時,在協(xié)議堆組件172和客戶機113之間可以根據(jù)TLS協(xié)議建立第三密碼保護(hù)通信聯(lián)系TLS3。建立了第三通信聯(lián)系TLS3之后,ID提供者計算機系統(tǒng)136將認(rèn)證過的服務(wù)計算機系統(tǒng)的權(quán)利證書,這里是指認(rèn)證過的服務(wù)計算機系統(tǒng)I的證書ZDB I 186發(fā)送給客戶機113??蛻魴C113再來檢測通過通信聯(lián)系TLS3所接收到權(quán)利證書,這里是指證書ZDB I,是否與儲存的證書176和190—致。運用ID提供者證書來建立安全通信聯(lián)系TLS3,緊接著將認(rèn)證了的服務(wù)計算機系統(tǒng)的權(quán)利證書通過TLS3進(jìn)行傳送,或者在建立第三安全通信聯(lián)系TLS3時運用認(rèn)證過的服務(wù)計算機系統(tǒng)的權(quán)利證書,這樣就可以傳送權(quán)利證書。對此來檢測證書176和190是否包含接收到的權(quán)利證書的標(biāo)識符。如果不是這種情況,則意味著存在“中間人攻擊”,就會終止接下來的步驟。相反如果是一致的,就可以繼續(xù)操作。4.認(rèn)證ID-令牌106與用戶102之間的關(guān)系。認(rèn)證用戶102與ID-令牌106之間的關(guān)系。在執(zhí)行過程中,用戶102例如通過用戶計算機系統(tǒng)100或者與之相連的IC卡終端輸入其PIN。通過執(zhí)行程序指令130,ID-令牌106檢驗輸入的PIN的正確性。如果輸入的PIN與儲存在受保護(hù)存儲區(qū)120中的PIN參考值一致,則用戶102通過認(rèn)證。相類似的,如果將用戶102的生物標(biāo)志用于其中的認(rèn)證,步驟也跟以上所述一祥。5.認(rèn)證ID-令牌106與ID提供者計算機系統(tǒng)136之間的關(guān)系。
在ID提供者計算機系統(tǒng)136與ID-令牌106之間,通過用戶計算機系統(tǒng)100和網(wǎng)絡(luò)116,建立第四通信聯(lián)系184。第四通信聯(lián)系184是比通信聯(lián)系TLS3更高的OSI層模塊的層。作為傳輸層,第三通信聯(lián)系TLS3以及接ロ 108和104之間的通訊用于第四通信聯(lián)系。通過第四通信聯(lián)系184,被ID提供者計算機系統(tǒng)136中認(rèn)證過的服務(wù)計算機系統(tǒng)的權(quán)利證書,也就是ZDB I,傳送給ID-令牌106。通過程序指令134生成所謂的挑戰(zhàn),也就是ー個隨機數(shù)。隨機數(shù)用包含在證書144中的ID提供者計算機系統(tǒng)136的公共密碼鑰匙來加密。得到的Chiffrat則由ID-令牌106通過通信聯(lián)系184發(fā)送給ID提供者計算機系統(tǒng)136。ID提供者計算機系統(tǒng)136在它的私人密碼鑰匙142的幫助下解密Chiffrat,得到隨機數(shù)。ID提供者計算機系統(tǒng)136再通過通信聯(lián)系184,將隨機數(shù)發(fā)送回ID-令牌106。通過執(zhí)行程序指令134,檢驗從ID提供者計算機系統(tǒng)136接收到的隨機數(shù)是否與原始生成的隨機數(shù)一致。如果是一致的,則ID提供者計算機系統(tǒng)136通過了 ID-令牌106的認(rèn)證。隨機數(shù)可以使用端對端加密的對稱密碼鑰匙。6.用戶102成功通過ID-令牌106的認(rèn)證后,ID提供者計算機系統(tǒng)136也成功通過ID-令牌106的認(rèn)證后,ID提供者計算機系統(tǒng)136得到讀取權(quán),可以讀取ー個、多個或者所有儲存在受保護(hù)存儲區(qū)124里的屬性。根據(jù)相應(yīng)的ID提供者計算機系統(tǒng)136通過通信聯(lián)系發(fā)送給ID-令牌106的讀取命令,從受保護(hù)的存儲區(qū)124讀取出要求的屬性,并通過執(zhí)行程序指令132進(jìn)行加密。加密屬性則通過通信聯(lián)系發(fā)送給ID提供者計算機系統(tǒng)136,并通過執(zhí)行程序指令148進(jìn)行解密。ID提供者計算機系統(tǒng)136由此得到從ID-令牌106讀取出的屬性的內(nèi)容。ID提供者計算機系統(tǒng)在權(quán)利證書ZDB I 186的幫助下代表服務(wù)計算機系統(tǒng)1150將屬性進(jìn)行簽字,通過用戶計算機系統(tǒng)100或者直接發(fā)送給服務(wù)計算機系統(tǒng)150。由此,月艮務(wù)計算機系統(tǒng)150就得到從ID-令牌106讀取的屬性,可以通過預(yù)設(shè)的一條或者多條標(biāo)準(zhǔn)來檢驗這個屬性,以提供用戶102所要求的服務(wù)。通過對用戶102和ID-令牌106之間的關(guān)系、以及ID提供者計算機系統(tǒng)136與ID-令牌106之間的關(guān)系進(jìn)行必要的認(rèn)證后,會給出必要的可信賴的鏈接。這樣,服務(wù)計算機系統(tǒng)150就可以確定,ID提供者計算機系統(tǒng)136通知的用戶102的屬性是正確的還是錯誤的。
根據(jù)本發(fā)明一具體實施方式
,認(rèn)證順序會有所不同。例如,可以設(shè)置成首先必須認(rèn)證用戶102和ID-令牌106之間的關(guān)系,接著認(rèn)證ID提供者計算機系統(tǒng)136。原則上來說,也可以先認(rèn)證ID提供者計算機系統(tǒng)136與ID-令牌106之間的關(guān)系,再認(rèn)證用戶102。在第一種情況下,用戶102必須輸入正確的PIN或者正確的生物標(biāo)志后才能打開ID-令牌106。這ー步之后才能開始程序指令132和134,并由此來認(rèn)證ID提供者計算機系統(tǒng) 136。在第二種情況下,還沒有認(rèn)證用戶102與ID-令牌106之間的關(guān)系前,也可以先執(zhí)行程序指令132和134。在這種情況下,用戶102的成功認(rèn)證后,程序指令130則發(fā)出信息,執(zhí)行程序指令134,ID提供者計算機系統(tǒng)136就可以對受保護(hù)的存儲區(qū)124進(jìn)行讀取,讀取出ー個或者多個屬性。其另外ー個特別優(yōu)勢在于可以有效防止“中間人攻擊”,特別是客戶機113檢驗了證書176和190與建立第三通信聯(lián)系TLS3時所接收到的權(quán)利證書是否一致后,這個優(yōu)勢就更明顯了。由此,可以有效阻止黑客178制造的很多不同的“中間人攻擊”。 其最大的優(yōu)勢在于,ID-令牌106可以有效地應(yīng)用于電子商務(wù)和電子政務(wù),但前提條件是在成功認(rèn)證ID-令牌106與用戶102和ID提供者計算機系統(tǒng)136的關(guān)系后形成可靠的信任鏈。另外,其最大的優(yōu)勢還在于,不需要將不同用戶102的屬性集中儲存。這樣,在現(xiàn)在技術(shù)層面上就不會出現(xiàn)數(shù)據(jù)保護(hù)問題。還有ー個優(yōu)勢在于程序應(yīng)用的便捷性,用戶102在使用ID提供者計算機系統(tǒng)136時不需要注冊。圖2顯示的是本發(fā)明方法的ー種具體實施方式
。第200步,用戶計算機系統(tǒng)將服務(wù)請求發(fā)送給服務(wù)計算機系統(tǒng)。例如,用戶啟動用戶計算機系統(tǒng)的因特網(wǎng)瀏覽器,并輸入URL以打開服務(wù)計算機系統(tǒng)的網(wǎng)頁。用戶在打開的網(wǎng)頁中輸入服務(wù)請求,例如訂購ー項服務(wù)或
者ー個產(chǎn)品。第201步,建立第一通信聯(lián)系。對此,服務(wù)計算機系統(tǒng)的證書通訊給用戶計算機系統(tǒng)。用戶計算機系統(tǒng)收到服務(wù)計算機系統(tǒng)的證書,不過由于黑客的“中間人攻擊”會出現(xiàn)被黑客證書ZA所替換的情況。服務(wù)計算機系統(tǒng)的證書或者黑客的證書則由用戶計算機系統(tǒng)儲存起來。第202步,服務(wù)計算機系統(tǒng)150緊接著對ー個或者多個屬性進(jìn)行指定或說明,它用于檢驗用戶提出服務(wù)請求的權(quán)利。特別地,服務(wù)計算機系統(tǒng)能夠為確定用戶數(shù)字身份的屬性進(jìn)行指定或說明。通過服務(wù)計算機系統(tǒng)150對屬性進(jìn)行指定或說明,可以預(yù)先確定,或者在個別情況下于提出服務(wù)請求后,服務(wù)計算機系統(tǒng)150根據(jù)預(yù)定的規(guī)則進(jìn)行指定或說明。服務(wù)計算機系統(tǒng)對屬性清單進(jìn)行簽字。第203步,簽字的屬性清単,也就是在第202步對ー個或者多個屬性進(jìn)行的指定或說明,由服務(wù)計算機系統(tǒng)通過通信聯(lián)系TLSl發(fā)送給ID提供者計算機系統(tǒng),并由其瀏覽器接收。通過瀏覽器的插件程序啟動用戶計算機系統(tǒng)的客戶機。另外,在瀏覽器和ID提供者計算機系統(tǒng)的判斷邏輯單元之間建立第二通信聯(lián)系TLS2,簽字的要求通過瀏覽器的重定向經(jīng)第二通信聯(lián)系TLS2發(fā)送給ID提供者計算機系統(tǒng),也就是其判斷邏輯單元。為了建立第二通信聯(lián)系TLS2,將ID提供者證書發(fā)送給用戶計算機系統(tǒng),并保存用戶計算機系統(tǒng)接收到的第二證書。第205歩,ID提供者計算機系統(tǒng)認(rèn)證發(fā)送簽字的要求的服務(wù)計算機系統(tǒng)。ID提供者計算機系統(tǒng)檢驗要求的簽字的有效性,如果是有效的,則簽字的證書就用于服務(wù)計算機系統(tǒng)的認(rèn)證。第206步,在協(xié)議堆組件和客戶機之間建立第三通信聯(lián)系TLS3。被ID提供者計算機系統(tǒng)認(rèn)證過的服務(wù)計算機系統(tǒng)將權(quán)利證書發(fā)送給客戶機。第207步,用戶計算機系統(tǒng)的客戶機檢驗儲存的第一和第二證書的標(biāo)識符是否與在建立第三通信聯(lián)系TLS3時所接收到的認(rèn)證過的服務(wù)計算機系統(tǒng)的權(quán)利證書一致。如果不一致,操作就會終止在第208歩,因為存在“中間人攻擊”。反之,在第209步認(rèn)證用戶與ID-令牌之間的關(guān)系,ID提供者計算機系統(tǒng)就可以從ID-令牌中讀取屬性。第210步,在ID-令牌與ID提供者計算機系統(tǒng)之間建立第四通信聯(lián)系。這里最好是安全的通信聯(lián)系,例如采用安全消息程序。第211步,通過在第208步建立的通信聯(lián)系至少認(rèn)證ID-令牌與ID提供者計算機系統(tǒng)之間的關(guān)系。另外,在認(rèn)證ID提供者計算機系統(tǒng)與ID-令牌之間的關(guān)系時也可以反向認(rèn)證。
在成功認(rèn)證了 ID-令牌與ID提供者計算機系統(tǒng)和用戶的關(guān)系之后,ID提供者計算機系統(tǒng)從ID-令牌得到讀取權(quán),以讀取屬性。第212歩,ID提供者計算機系統(tǒng)發(fā)送ー個或者多個讀取命令,根據(jù)屬性特性來從ID-令牌中讀取需要的屬性。屬性再通過端對端加密經(jīng)安全通信聯(lián)系發(fā)送給ID提供者計算機系統(tǒng),并在那里解密。讀取的屬性則在第214步由ID提供者計算機系統(tǒng)進(jìn)行簽字。第216歩,ID提供者計算機系統(tǒng)將簽字的屬性通過網(wǎng)絡(luò)發(fā)送出去。簽字的屬性直接或者通過用戶計算機系統(tǒng)發(fā)送給服務(wù)計算機系統(tǒng)。在最后ー種情況下,用戶可以了解到簽字的屬性值,和/或添加其它數(shù)據(jù)。也可以如下設(shè)置,簽字的屬性值在授權(quán)后由客戶同時將補充的數(shù)據(jù)從用戶計算機系統(tǒng)發(fā)送給服務(wù)計算機系統(tǒng)。這樣,從ID提供者計算機系統(tǒng)發(fā)到服務(wù)計算機系統(tǒng)的屬性對客戶來說保證了最大的透明度。圖3顯示的是根據(jù)本發(fā)明設(shè)計的程序的另ー種具體實施方式
。用戶102在用戶計算機系統(tǒng)100,也就是瀏覽器112,輸入他或者她想要的服務(wù),對服務(wù)計算機系統(tǒng)的服務(wù)進(jìn)行指定或說明。操作上只需要打開服務(wù)計算機系統(tǒng)的因特網(wǎng)頁面,再選擇ー項所提供的服務(wù)。用戶102的服務(wù)請求由用戶計算機系統(tǒng)100發(fā)送給服務(wù)計算機系統(tǒng)150。服務(wù)計算機系統(tǒng)150用簽字的屬性清単,也就是以安全保證標(biāo)記語言(SAML)對象形式出現(xiàn)的屬性名稱的列表,回復(fù)服務(wù)請求,并通過通信聯(lián)系TLSl傳送給瀏覽器112。在建立TLSl時瀏覽器112接收到的證書176暫時儲存起來。例如,接收到屬性清單后,用戶計算機系統(tǒng)100要求認(rèn)證用戶102與ID-令牌106之間的關(guān)系,例如通過輸入。這個要求可以由瀏覽器112的插件或者用戶計算機系統(tǒng)100的客戶機113來生成。緊接著認(rèn)證用戶102與ID-令牌106之間的關(guān)系,例如通過輸入PIN。認(rèn)證成功后,用戶計算機系統(tǒng)100通過瀏覽器112的重定向經(jīng)TLS2將簽字的屬性清單發(fā)送給ID提供者計算機系統(tǒng)136。ID提供者計算機系統(tǒng)136根據(jù)簽字的屬性清單認(rèn)證服務(wù)計算機系統(tǒng)150,再與用戶計算機系統(tǒng)的客戶機113之間建立通信聯(lián)系TLS3,例如使用BSITR-0312協(xié)議。將認(rèn)證過的服務(wù)計算機系統(tǒng)150的權(quán)利證書發(fā)送給客戶機113??蛻魴C113從瀏覽器112接收到建立TLSl時接收到的證書176,并對比兩個證書。如果兩個證書的標(biāo)識符一致,則繼續(xù)接下來的步驟,通過第三通信聯(lián)系和用戶計算機系統(tǒng)和ID-令牌的接ロ來認(rèn)證ID提供者計算機系統(tǒng)(參照圖I中介紹的具體實施方式
的接ロ 104和108),之后通過端對端加密建立第四通信聯(lián)系。ID提供者計算機系統(tǒng)136根據(jù)通過第四通信聯(lián)系發(fā)送給ID-令牌106的屬性清單判斷閱讀屬性的要求。在成功認(rèn)證用戶102和ID提供者計算機系統(tǒng)136后,ID-令牌106用需要的屬性來回復(fù)讀取要求。ID提供者計算機系統(tǒng)136將屬性簽字發(fā)送給用戶計算機系統(tǒng)100。用戶102授權(quán)后,再將簽字的屬性發(fā)送給可以提供需要服務(wù)的服務(wù)計算機系統(tǒng)150。附圖標(biāo)記清單---------------------------------------100 用戶計算機系統(tǒng)102 用戶 104 接 ロ106 ID-令牌108 接 ロ110 處理器112 程序指令(瀏覽器)113 程序指令(客戶機)114 網(wǎng)絡(luò)接 ロ116 網(wǎng)絡(luò)118 電子存儲器120 受保護(hù)的存儲區(qū)122 受保護(hù)的存儲區(qū)124 受保護(hù)的存儲區(qū)126 證書128 處理器130 程序指令132 程序指令134 程序指令136 ID提供者計算機系統(tǒng)138 網(wǎng)絡(luò)接 ロ140 存儲器142 私鑰142’ 私鑰144 證書144’ 證書145 處理器146 程序指令148 程序指令149 程序指令
150服務(wù)器計算機系統(tǒng)152網(wǎng)絡(luò)接 ロ154處理器156程序指令158配置數(shù)據(jù)記錄160配置數(shù)據(jù)記錄161配置數(shù)據(jù)記錄162用戶輸入
164服務(wù)請求166屬性清單168請求170回應(yīng)172協(xié)議棧組件174判斷邏輯單元176第一證書178黑客180證書 ZA182屬性清單(SAML-對象)184通信聯(lián)系186權(quán)利證書187私鑰188ID提供者證書190第二證書
權(quán)利要求
1.一種讀取至少一個存儲在ID-令牌(106、106’)中屬性的方法,該方法采用第一計算機系統(tǒng)(136)、第二計算機系統(tǒng)(150)和第三計算機系統(tǒng)(100);其中,第三計算機系統(tǒng)具有瀏覽器(112)和客戶機(113),第二計算機系統(tǒng)分配了服務(wù)證書(144),該服務(wù)證書包含一標(biāo)識符,通過該標(biāo)識符第二計算機系統(tǒng)被認(rèn)證;所述ID-令牌分配了一用戶(102);所述的方法包括下列步驟 -在所述第三計算機系統(tǒng)的瀏覽器和所述第二計算機系統(tǒng)之間,建立受密碼保護(hù)的第一通信聯(lián)系(TLSl),其中,所述第三計算機系統(tǒng)接收第一證書(176); -通過所述第三計算機系統(tǒng)存儲所述第一證書; -所述第三計算機系統(tǒng)通過所述第一通信聯(lián)系接收簽字的屬性清單(182); -在所述第三計算機系統(tǒng)的瀏覽器和所述第一計算機系統(tǒng)之間,建立受密碼保護(hù)的第二通信聯(lián)系(TLS2),其中,所述第三計算機系統(tǒng)接收第二證書(190); -所述第三計算機系統(tǒng)通過所述第二通信聯(lián)系將所述簽字的屬性清單轉(zhuǎn)交到所述第一計算機系統(tǒng); -所述第一計算機系統(tǒng)閱讀權(quán)利證書(186),其中,該權(quán)利證書包含標(biāo)識符; -在所述第一計算機系統(tǒng)和所述第三計算機系統(tǒng)的客戶機之間,建立受密碼保護(hù)的第三通信聯(lián)系(TLS3),其中,所述第三計算機系統(tǒng)通過所述第三通信聯(lián)系接收具有標(biāo)識符的權(quán)利證書; -通過所述第三計算機系統(tǒng)的客戶機驗證,所述第一證書是否包含標(biāo)識符,并將其作為所述第一證書是否與所述服務(wù)證書一致的證據(jù); -針對所述ID-令牌認(rèn)證用戶; -針對所述ID-令牌認(rèn)證所述第一計算機系統(tǒng)(136); -在所述ID-令牌和所述第一計算機系統(tǒng)之間,用端對端加密的方式,建立受密碼保護(hù)的第四通信聯(lián)系; -在針對所述ID-令牌成功地認(rèn)證了用戶和所述第一計算機系統(tǒng)后,所述第一計算機系統(tǒng)通過所述第四通信聯(lián)系,讀取存儲在所述ID-令牌中的至少一個屬性,以便從所述ID-令牌中讀出在所述屬性清單中所規(guī)定的一個或多個屬性; -簽字之后,所述第一計算機系統(tǒng)將至少一個屬性傳輸至所述第二計算機系統(tǒng)(150)。
2.如權(quán)利要求I所述的方法,其中,所述第一計算機系統(tǒng)針對所述ID-令牌的認(rèn)證,是借助所述權(quán)利證書實現(xiàn)的;其中,所述權(quán)利證書包含所述ID-令牌中所存儲屬性的說明,其說明所述第一計算機系統(tǒng)對哪一個具有讀取權(quán)利。
3.如權(quán)利要求2所述的方法,其中,所述ID-令牌借助所述權(quán)利證書,驗證所述第一計算機系統(tǒng)對于讀取至少一個屬性的讀取權(quán)利。
4.如權(quán)利要求1、2或3所述的方法,其中,所述第一、第二和第三通信聯(lián)系均是指傳輸層通信聯(lián)系,所述第四通信聯(lián)系是通過所述第三通信聯(lián)系建立的。
5.如前述權(quán)利要求之一所述的方法,其中,所述簽字的屬性清單是作為SAML-對象接收的;所述第一計算機系統(tǒng)具有SAML-邏輯組件(174),所述第二通信聯(lián)系建立至此,并通過該第二通信聯(lián)系,所述SAML-邏輯組件接收SAML-對象。
6.如權(quán)利要求5所述的方法,其中,所述第一計算機系統(tǒng)包括協(xié)議堆組件(172),所述第三通信聯(lián)系建立至此。
7.如前述權(quán)利要求之一所述的方法,其中,ID提供者證書(188)被分配給所述第一計算機系統(tǒng),該證書包括所述第一計算機系統(tǒng)的標(biāo)識符;所述ID提供者證書(188)用于建立受密碼保護(hù)的第二通信聯(lián)系,并將所述第一計算機系統(tǒng)所接收的第二證書存儲起來;所述權(quán)利證書既包括所述第一計算機系統(tǒng)的標(biāo)識符,也包括所述第二計算機系統(tǒng)的標(biāo)識符;通過所述第三計算機系統(tǒng)的客戶機驗證,在所述權(quán)利證書中是否包括第一證書(176)的標(biāo)識符和第二證書(190)的標(biāo)識符;以及所述受密碼保護(hù)的第四通信聯(lián)系只有當(dāng)所述權(quán)利證書包括第一證書(176)的標(biāo)識符和第二證書(190)的標(biāo)識符時,才予以建立。
8.如前述權(quán)利要求之一所述的方法,其進(jìn)一步包括根據(jù)所述屬性清單認(rèn)證權(quán)利證書的步驟。
9.一種計算機程序產(chǎn)品,其包括由計算機系統(tǒng)可執(zhí)行的、實現(xiàn)如前述權(quán)利要求之一所述方法的指令。
10.一種計算機系統(tǒng),其包括 -瀏覽器(112)和客戶機(110); -在所述瀏覽器和第二計算機系統(tǒng)(150)之間建立受密碼保護(hù)的第一通信聯(lián)系(TLSl)的工具(110、112、114),以便接收第一證書(176)和簽字的屬性清單(182),其中,所述第一證書包括一標(biāo)識符; -存儲所述第一證書的工具(100); -借助第二證書(190),在所述瀏覽器和第一計算機系統(tǒng)(136)之間建立受密碼保護(hù)的第二通信聯(lián)系(TLS2)的工具(110、112、114),其中,所述第二證書包括另一標(biāo)識符; -通過所述第二通信聯(lián)系、將經(jīng)由所述第一通信聯(lián)系所接收的簽字的屬性清單轉(zhuǎn)交的工具(112); -在所述客戶機和第一計算機系統(tǒng)之間建立受密碼保護(hù)的第三通信聯(lián)系(TLS3)的工具(110、112、113、114),其中,接收權(quán)利證書(186),該權(quán)利證書包括所述第一計算機系統(tǒng)和第二計算機系統(tǒng)的標(biāo)識符; -驗證所述權(quán)利證書的標(biāo)識符與所述第一和第二證書之標(biāo)識符是否一致的工具; -用端對端的加密方式,在所述ID-令牌(106)和所述第一計算機系統(tǒng)之間建立受密碼保護(hù)的第四通信聯(lián)系的工具,以便在針對所述ID-令牌成功地認(rèn)證了用戶和第一計算機系統(tǒng)之后,所述第一計算機系統(tǒng)能夠通過所述第四通信聯(lián)系,讀取存儲在所述ID-令牌中的至少一個屬性。
11.如權(quán)利要求10所述的計算機系統(tǒng),其中,所述轉(zhuǎn)交簽字的屬性清單的工具被設(shè)置為能執(zhí)行重定向。
12.如權(quán)利要求10或11所述的計算機系統(tǒng),其中,所述的瀏覽器具有插件程序模塊,在所述瀏覽器接收到簽字的屬性清單后,能夠通過該插件模塊啟動客戶機,并通過其將所述第一證書遞交給所述客戶機。
全文摘要
本發(fā)明公開了一種讀取至少一個存儲在ID-令牌(106、106')中屬性的方法,該方法采用第一計算機系統(tǒng)(136)、第二計算機系統(tǒng)(150)和第三計算機系統(tǒng)(100);其中,第三計算機系統(tǒng)具有瀏覽器(112)和客戶機(113),第二計算機系統(tǒng)分配了服務(wù)證書(144),該服務(wù)證書包含一標(biāo)識符,通過該標(biāo)識符第二計算機系統(tǒng)被認(rèn)證;ID-令牌分配了一用戶(102)。本發(fā)明方法包括下列步驟-在第三計算機系統(tǒng)的瀏覽器和第二計算機系統(tǒng)之間,建立受密碼保護(hù)的第一通信聯(lián)系(TLS1),其中,第三計算機系統(tǒng)接收第一證書(176);-通過第三計算機系統(tǒng)存儲第一證書;-第三計算機系統(tǒng)通過第一通信聯(lián)系接收簽字的屬性清單(182);-在第三計算機系統(tǒng)的瀏覽器和第一計算機系統(tǒng)之間,建立受密碼保護(hù)的第二通信聯(lián)系(TLS2),其中,第三計算機系統(tǒng)接收第二證書(190);-第三計算機系統(tǒng)通過第二通信聯(lián)系將簽字的屬性清單轉(zhuǎn)交到第一計算機系統(tǒng);-第一計算機系統(tǒng)閱讀權(quán)利證書(186),其中,該權(quán)利證書包含標(biāo)識符;-在第一計算機系統(tǒng)和第三計算機系統(tǒng)的客戶機之間,建立受密碼保護(hù)的第三通信聯(lián)系(TLS3),其中,第三計算機系統(tǒng)通過第三通信聯(lián)系接收具有標(biāo)識符的權(quán)利證書;-通過第三計算機系統(tǒng)的客戶機驗證,第一證書是否包含標(biāo)識符,并將其作為第一證書是否與服務(wù)證書一致的證據(jù);-針對ID-令牌認(rèn)證用戶;-針對ID-令牌認(rèn)證第一計算機系統(tǒng)(136);-在ID-令牌和第一計算機系統(tǒng)之間,用端對端加密的方式,建立受密碼保護(hù)的第四通信聯(lián)系;-在針對ID-令牌成功地認(rèn)證了用戶和第一計算機系統(tǒng)后,第一計算機系統(tǒng)通過第四通信聯(lián)系,讀取存儲在ID-令牌中的至少一個屬性,以便從ID-令牌中讀出在屬性清單中所規(guī)定的一個或多個屬性;-簽字之后,第一計算機系統(tǒng)將至少一個屬性傳輸至第二計算機系統(tǒng)(150)。
文檔編號G06F21/00GK102834830SQ201180018310
公開日2012年12月19日 申請日期2011年4月20日 優(yōu)先權(quán)日2010年4月22日
發(fā)明者卡斯頓·施瓦茨, 甘特·科赫 申請人:聯(lián)邦印刷有限公司