專利名稱:用于建立可核查身份而又保密的平臺和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是數(shù)據(jù)安全領(lǐng)域。特別是,本發(fā)明涉及一種平臺和方法,通過建立和使用化名來保護(hù)該平臺的身份。
發(fā)明
背景技術(shù):
的發(fā)展,為許多不同于傳統(tǒng)貿(mào)易方式的應(yīng)用提供了許多機(jī)會。電子商務(wù)(e-commerce)和企業(yè)對企業(yè)(B2B)的交易越來越普及,以很快的速度達(dá)成全球市場。不幸的是,在諸如計(jì)算機(jī)的電子平臺為用戶提供方便有效的貿(mào)易、通訊和交易的同時(shí),也容易受到肆無忌憚的攻擊。這一弱點(diǎn)在很大程度上使內(nèi)容提供者不愿意以一種下載的數(shù)字形式來提供其內(nèi)容。
當(dāng)前,已經(jīng)提出了多種驗(yàn)證一個平臺身份的機(jī)制。這對于確定平臺是否是一個“委托”裝置,即該平臺是否配置為防止在未授權(quán)的情況下以一種非加密的格式來拷貝數(shù)字內(nèi)容,是特別有用的。一種驗(yàn)證方法包括使用一個分配給一個平臺的唯一的序列號來識別該平臺。另一完全不同于上述方法或與上述方法協(xié)同操作的驗(yàn)證方法包括采用一個永久密鑰對。該密鑰對包括(i)一個識別該平臺的唯一公共密鑰,和(ii)一個私用密鑰,永久存儲在該委托裝置的存儲器中。該私用密鑰是秘密的,不向委托裝置的外部提供。但是,這些驗(yàn)證方法都有一些缺陷。
例如,這些驗(yàn)證方法仍會受到數(shù)據(jù)收集攻擊?!皵?shù)據(jù)收集”涉及對一段時(shí)間內(nèi)從一個平臺發(fā)送的數(shù)據(jù)的采集和分析。這樣,采用平臺序列號和永久密鑰來進(jìn)行識別,近來已經(jīng)產(chǎn)生對用戶秘密的擔(dān)憂。而且,對于上述兩種機(jī)制,一個用戶不能方便和可靠地以一種通用形式訪問和使用平臺身份。
附圖簡述根據(jù)下面對本發(fā)明的詳細(xì)描述,可以清楚地了解本發(fā)明的特征和優(yōu)勢,其中
圖1是利用本發(fā)明的一個系統(tǒng)的說明性實(shí)施方案的模塊圖。
圖2是圖1中的第一個平臺所采用的委托邏輯的說明性實(shí)施方案的模塊圖。
圖3是描述圖1中的第一個平臺中產(chǎn)生的化名的分配和使用的說明性實(shí)施方案的流程圖。
圖4和5是產(chǎn)生和驗(yàn)證化名的說明性實(shí)施方案的流程圖。
詳細(xì)說明本發(fā)明涉及一種平臺和方法,通過產(chǎn)生和使用化名來保護(hù)平臺的身份。此處,闡明了某些細(xì)節(jié),以便對本發(fā)明的有一個透徹的理解。但是,顯然,對于本領(lǐng)域的技術(shù)人員來講,可以通過許多不同于所描述的實(shí)施方案來實(shí)施本發(fā)明。為了避免對本發(fā)明造成不必要的混淆,對于眾所周知的電路和加密技術(shù)不做詳述。
在下面的描述中,利用一些術(shù)語來討論本發(fā)明的某些特征。例如,一個“平臺”包括處理信息的硬件和/或軟件。平臺的例子包括,但不局限于或限制于下列任何情況一臺計(jì)算機(jī)(如臺式機(jī)、膝上型電腦、手提式電腦、服務(wù)器、工作站等);數(shù)據(jù)傳輸設(shè)備(如路由器、轉(zhuǎn)換器、傳真機(jī)等),無線設(shè)備(如移動電話基站、電話送受話器等等);或者電視機(jī)頂盒?!败浖卑ùa,當(dāng)被執(zhí)行時(shí),實(shí)施某一功能?!靶畔ⅰ倍x為一個或多個數(shù)據(jù)、地址和/或控制的位。
關(guān)于加密功能,一種“加密運(yùn)算”是用于在信息上附加安全性的運(yùn)算。這些運(yùn)算可能包括加密、解密、散列計(jì)算等等。在某些情況下,加密運(yùn)算需要使用一個密鑰,即一個位序列。對于不對稱密鑰加密術(shù),將一個裝置與包含一個公共密鑰和一個私用密鑰的唯一永久密鑰對相關(guān)聯(lián)。
此外,不對稱密鑰加密術(shù)通常利用一個根證明。一個“根證明”是最初產(chǎn)生一個數(shù)字證明鏈時(shí)的一個公共密鑰,并為隨后所有的數(shù)字證明提供一個起始點(diǎn)。通常,一個“數(shù)字證明”包括用來驗(yàn)證一個信息發(fā)送者的信息。例如,根據(jù)CCITT Recommendation X.509TheDirectory-Authentication Framework(1988),一個數(shù)字證明可以包括關(guān)于一個被驗(yàn)證的,即利用一個認(rèn)證授權(quán)的私用密鑰進(jìn)行加密的個人或團(tuán)體的信息(如一個密鑰)。一個“認(rèn)證機(jī)關(guān)”的例子包括一個原始設(shè)備制造商(OEM)、一個軟件銷售者、一個商貿(mào)協(xié)會、一個政府機(jī)構(gòu)、一個銀行或其它委托公司或個人。一個“數(shù)字證明鏈”包括一個如下所述的為認(rèn)證而安排的兩個或多個數(shù)字證明的規(guī)則序列,其中每個連續(xù)的證明代表先前證明的發(fā)出者。
一個“數(shù)字簽名”包括利用其簽署人的一個私用密鑰簽署的數(shù)字信息,來保證該數(shù)字信息在數(shù)字簽名后沒有被非法修改過。可以以其完整形式,或者以一個由單向散列運(yùn)算產(chǎn)生的一個散列形式來提供該數(shù)字信息。
一個“散列運(yùn)算”是將信息單向變換為一個被稱為一個“散列值”的固定長度的表示。通常,該散列值在尺寸上充分小于原始信息。在有些情況下,可以進(jìn)行一個1∶1的原始信息變換。術(shù)語“單向”是指沒有反函數(shù)來恢復(fù)該固定長度的散列值的原始信息中任何可辨別的部分。一個散列函數(shù)的例子包括California Redwood City的RSA DataSecurity提供的MD5,或Secure Hash Algorithm(SHA-1),被指定為1995年出版的標(biāo)題為“Federal Information ProcessingStandards Publication”的Secure Hash Standard FIPS 180-1(1995年4月17日)。
參考圖1,圖中顯示了一個利用本發(fā)明的系統(tǒng)100的說明性實(shí)施方案模塊圖。系統(tǒng)100包括一個第一平臺110和一個第二平臺120。第一平臺110是通過一個連接130與第二平臺120進(jìn)行通訊。一個“連接”被概括定義為一個或多個信息傳送媒體(如電線、光纖、電纜、總線或無線信號技術(shù))。當(dāng)用戶需要時(shí),第一平臺110產(chǎn)生并向第二平臺120發(fā)送一個化名公共密鑰140(下面描述)。在響應(yīng)中,當(dāng)可利用時(shí),第二平臺負(fù)責(zé)確認(rèn)該化名公共密鑰140是在第一平臺110中由一個委托裝置150來產(chǎn)生的。
現(xiàn)在參考圖2,在一個實(shí)施方案中,委托裝置150包括硬件和/或保護(hù)的軟件。當(dāng)采用訪問控制策略來防止未授權(quán)的對軟件的任何程序和子程序進(jìn)行訪問時(shí),確信軟件是“受保護(hù)的”。更確切地講,裝置150是一個或多個防止其它邏輯的竄改和竊取的集成電路。可以將該集成電路放置在一個單一集成電路(IC)插件或多IC插件中。一個插件提供附加的竄改保護(hù)。當(dāng)然,如果不需附加的保護(hù),可以采用沒有IC插件的裝置150。
這里,裝置150包括一個處理單元200和一個永久存儲器210(如非易失存儲器、電池支持的隨機(jī)訪問存儲器“RAM”等等)。處理單元200是由內(nèi)部處理信息的軟件來控制的硬件。例如,處理單元200可以進(jìn)行散列運(yùn)算、進(jìn)行邏輯運(yùn)算(如乘法、除法等等)、和/或通過使用數(shù)字簽名算法進(jìn)行數(shù)字簽署信息來產(chǎn)生一個數(shù)字簽名。永久存儲器210包含一個在制造過程中編程的唯一的不對稱密鑰對220。用于核實(shí)化名,不對稱密鑰對220包括一個公共密鑰(PUKPI)230和一個私用密鑰(PRKPI)240。永久存儲器210可以進(jìn)一步包括第二平臺120的一個公共密鑰250(PUKP2),盡管如果可適用的話,它可以被放置在裝置150中的易失存儲器(如RAM、寄存器組等等)中。
在該實(shí)施方案中,裝置150進(jìn)一步包括多個發(fā)生器260,如一個隨機(jī)數(shù)發(fā)生器,或一個偽隨機(jī)數(shù)發(fā)生器。數(shù)據(jù)發(fā)生器260負(fù)責(zé)產(chǎn)生一個比特流,至少部分地用于產(chǎn)生一個或多個化名。一個“化名”是一個另外的密鑰對形式的別名身份,該密鑰對用來建立與另一個平臺之間的受保護(hù)的通訊,并確認(rèn)其平臺包括了委托裝置150?;€支持一個詢問/響應(yīng)協(xié)議和一個許可綁定、保密和其它對特定平臺的訪問控制信息。但是,數(shù)據(jù)發(fā)生器260也可從裝置150的外部使用。在這種情況下,如果數(shù)據(jù)發(fā)生器260和裝置150之間的通訊是受到保護(hù)的,則通過平臺110可以實(shí)現(xiàn)更大的安全性。
參考圖3,圖中顯示了說明一個化名的分配合使用的說明性實(shí)施方案。為了全面保護(hù)用戶的機(jī)密,用戶應(yīng)當(dāng)能夠切實(shí)地控制化名的產(chǎn)生、分配和刪除。這樣,在用戶明確應(yīng)允后,產(chǎn)生一個新的化名(模塊300和310)。而且,為了訪問用來核實(shí)一個現(xiàn)有化名的信息(如標(biāo)記、公共密鑰等),需要用戶明確的應(yīng)允(模塊320和330)??梢酝ㄟ^向委托裝置提供一個許可短語(如包含文字和數(shù)字的字符串)、一個符號和/或一個生物統(tǒng)計(jì)特征,來給出明確的用戶應(yīng)允。例如,在一個實(shí)施方案中,可以通過一個用戶輸入裝置(如鍵盤、鼠標(biāo)、袖珍鍵盤、操縱桿、觸摸墊、跟蹤球等等)來輸入一個用戶許可短語,并將其傳送到委托裝置。在另一個實(shí)施方案中,邏輯電路外部的存儲器可以包含具有用戶的許可短語的一個散列值加密的化名。這些化名都可以通過再次提供用戶的許可短語來解密。
一旦產(chǎn)生了化名并配置為用來與一個遠(yuǎn)方平臺進(jìn)行通訊,對于平臺/平臺的通訊,只要用戶選擇保持該化名,那么該化名就代表該平臺的身份(模塊340,350和360)。
參考圖4和5,圖中顯示了產(chǎn)生和驗(yàn)證化名的說明性實(shí)施方案的流程圖。開始時(shí),接收到一個用戶的請求后,立即由裝置結(jié)合一個數(shù)字產(chǎn)生化名(模塊400)。一個化名公共密鑰(PPUKP1)被放置到一個數(shù)字證明模板中(模塊405)。該數(shù)字證明模板可以存儲在第一平臺內(nèi)部,或由第二平臺根據(jù)第一平臺的驗(yàn)證請求來提供。因此,該數(shù)字證明模板經(jīng)過一個散列運(yùn)算,產(chǎn)生一個證明散列值(模塊410)。
隨后,該驗(yàn)證散列值經(jīng)過一個類似于美國專利No.4,759,063和4,759,064中所描述的變換,來創(chuàng)建一個“不可見的”證明散列值(模塊415)。特別是,將該證明散列值乘以一個偽隨機(jī)數(shù)(例如,將一個預(yù)定數(shù)據(jù)提升到一個偽隨機(jī)選擇的冪次)。該偽隨機(jī)冪在第一平臺中是保密的(如放置在圖2中的永久存儲器210中)。
產(chǎn)生一個至少包括該變換的(或不可見的)證明散列值的驗(yàn)證請求(模塊420)。該驗(yàn)證請求是利用第一平臺的私用密鑰(PRKP1)來數(shù)字簽署的(模塊425)。取回或產(chǎn)生一個裝置證明,即第一實(shí)施方案中的包含公共密鑰(PUKP1)的一個數(shù)字證明鏈,與簽署的驗(yàn)證請求放在一起(模塊430)。在該實(shí)施方案中,裝置證明的特征是具有一個包含PUKP1的高層證明和包括根證明的最低層證明。當(dāng)然,該裝置證明可以是一個包含PUKP1的單一數(shù)字證明。簽署的驗(yàn)證請求和裝置證明都利用第二平臺的公共密鑰(PUKP2)來加密,然后傳送到第二平臺(模塊435和440)。
在第二平臺中,利用第二平臺的私用密鑰(PRKP2)解密后恢復(fù)簽署的驗(yàn)證請求和裝置證明(模塊445)。可以利用負(fù)責(zé)簽署裝置證明的證明管理部門的一個公共密鑰來獲得第一平臺的公共密鑰(PUKP1)(模塊445)。如果第二平臺可以恢復(fù)證明請求,則第二平臺對裝置證明一直向回驗(yàn)證到根證明(模塊455和460)。如果恢復(fù)了證明請求并驗(yàn)證了裝置證明,則數(shù)字簽署變換的(或不可見的)證明散列值,以產(chǎn)生一個“簽署結(jié)果”(模塊465)。否則,如果不能確定變換的(或不可見的)證明散列值,或不能驗(yàn)證裝置證明,則向第一平臺返回一個出錯信息(模塊470)。
從第二平臺接收到簽字的結(jié)果之后,第一平臺對該信號結(jié)果進(jìn)行一個反變換。例如,在該說明性實(shí)施方案中,第一平臺將簽署的信號除以一個偽隨機(jī)數(shù)的倒數(shù)(例如預(yù)定的數(shù)據(jù)的偽隨機(jī)數(shù)的相反冪次),來恢復(fù)一個證明散列值的數(shù)字簽名(模塊475和480)。該數(shù)字簽名與一個或多個化名一同存儲,用于以后與其它平臺的通訊,來確定第一平臺包括一個委托裝置。
至此,參照說明性的實(shí)施方案對本發(fā)明進(jìn)行了描述,但該說明并不是一個限制。顯然對于本領(lǐng)域的熟練人員而言,只要不超出本發(fā)明的宗旨和范圍,可以對該說明性實(shí)施方案進(jìn)行多種修正,以及采用其它的實(shí)施方案。
權(quán)利要求
1.一種方法,包括在一個平臺中產(chǎn)生一個包含一個公共化名密鑰的化名;將該公共化名密鑰放入一個證明模板中;對該證明模板進(jìn)行一個散列運(yùn)算,產(chǎn)生一個證明散列值;對該證明散列值進(jìn)行一個變換,用于從平臺向外的傳送;接收一個簽署結(jié)果,該結(jié)果是用于變換的證明散列值的數(shù)字簽名;和對該簽署結(jié)果進(jìn)行一個反變換,恢復(fù)該證明散列值的一個數(shù)字簽名。
2.依照權(quán)利要求1的方法,其中產(chǎn)生化名的步驟包括產(chǎn)生公共化名密鑰和一個對應(yīng)于該公共化名密鑰的私用化名密鑰。
3.依照權(quán)利要求1的方法,其中將該公共化名密鑰放入一個證明模板中的步驟包括將該公共化名密鑰寫入到證明模板的一個字段中。
4.依照權(quán)利要求1的方法,其中進(jìn)行變換的步驟包括利用一個偽隨機(jī)數(shù)對證明散列值進(jìn)行一個邏輯運(yùn)算,產(chǎn)生一個不同于證明散列值的值。
5.依照權(quán)利要求4的方法,其中該偽隨機(jī)數(shù)是升高到由一個偽隨機(jī)值指定的相反冪次的預(yù)定數(shù)值。
6.依照權(quán)利要求5的方法,其中該偽隨機(jī)值被存儲在安全存儲器中。
7.依照權(quán)利要求4的方法,其中進(jìn)行反變換的步驟包括利用偽隨機(jī)數(shù)的倒數(shù)對簽署結(jié)果進(jìn)行一個邏輯運(yùn)算。
8.依照權(quán)利要求1的方法,其中在接收數(shù)字簽名之前,該方法包括利用第一平臺的一個私用密鑰,數(shù)字簽署一個包括變換的散列值證明請求,來產(chǎn)生一個簽署的證明請求。
9.依照權(quán)利要求8的方法,其中在接收數(shù)字簽名之前,該方法進(jìn)一步包括與該簽署的證明一起,獲得一個裝置證明,即一個包括一個第一平臺的一個公共密鑰的數(shù)字證明鏈。
10.依照權(quán)利要求9的方法,其中在接收數(shù)字簽名之前,該方法進(jìn)一步包括將簽署的證明請求和裝置證明傳送到一個第二平臺
11.依照權(quán)利要求1的方法,進(jìn)一步包括存儲該證明散列值得數(shù)字簽名,用于此后與一個遠(yuǎn)處的平臺進(jìn)行通訊。
12.一種裝置,包括一個處理單元;和一個永久存儲器,包括一個第一密鑰對和至少一個化名,用來與一個遠(yuǎn)方裝置通訊和確定一個包含該裝置的平臺是安全的。
13.依照權(quán)利要求12的裝置,其中該至少一個化名包括一個第二密鑰對。
14.依照權(quán)利要求13的裝置,其中在一次與遠(yuǎn)方裝置的通訊對話結(jié)束后刪除該第二密鑰對。
15.依照權(quán)利要求12的裝置,進(jìn)一步包括一個數(shù)字發(fā)生器,輔助產(chǎn)生該至少一個化名。
16.一種平臺,包括一個收發(fā)器器;和一個與該收發(fā)器通訊的裝置,該裝置包括一個永久存儲器,來存儲一個永久密鑰對、至少一個在裝置內(nèi)部產(chǎn)生的化名、和一個數(shù)字證明鏈的散列值的數(shù)字簽名,該數(shù)字證明鏈包含化名的一個公共化名密鑰。
17.依照權(quán)利要求16的平臺,其中裝置進(jìn)一步包括一個處理單元,(i)將公共化名寫入到一個證明模板中,(ii)對該證明模板進(jìn)行一個散列運(yùn)算,產(chǎn)生一個證明散列值;(iii)對該證明散列值進(jìn)行一個變換。
18.依照權(quán)利要求17的平臺,其中裝置的處理單元利用一個永久密鑰對,進(jìn)一步至少產(chǎn)生變換的證明散列值的一個數(shù)字簽名
19.依照權(quán)利要求16的平臺,其中裝置的處理單元進(jìn)一步利用該變換的證明散列值的數(shù)字簽名附加一個裝置證明。
20.依照權(quán)利要求19的平臺,其中該裝置證明是一個數(shù)字證明鏈。
全文摘要
在一個實(shí)施方案中,描述了一種利用一個化名來保護(hù)平臺和用戶身份的方法。該方法包括產(chǎn)生一個包括一個公共化名密鑰的化名。該公共化名密鑰被放置到一個證明模板中。對證明模板進(jìn)行一個散列運(yùn)算,產(chǎn)生一個證明散列值,從平臺上對其進(jìn)行變換。隨后,向該平臺返回一個簽署結(jié)果。該簽署結(jié)果是該變換的證明散列值的一個數(shù)字簽名。對該簽署結(jié)果進(jìn)行一個逆變換后,就恢復(fù)了該證明散列值的一個數(shù)字簽名。該數(shù)字簽名可以用于此后利用該化名進(jìn)行的通訊中的數(shù)據(jù)完整性檢查。
文檔編號H04L9/32GK1439207SQ01811981
公開日2003年8月27日 申請日期2001年6月14日 優(yōu)先權(quán)日2000年6月28日
發(fā)明者C·埃利森, J·蘇頓二世 申請人:英特爾公司