專利名稱::對(duì)第一用戶發(fā)送到第二用戶的通信進(jìn)行安全保護(hù)的制作方法
技術(shù)領(lǐng)域:
:本說明書涉及使用密碼術(shù)對(duì)從第一用戶到第二用戶的通信進(jìn)行安全保護(hù)。
背景技術(shù):
:支持物件跟蹤和追蹤的識(shí)別裝置會(huì)是有用的。每個(gè)物件可以裝備有帶標(biāo)識(shí)符的識(shí)別裝置,該標(biāo)識(shí)符也被稱作序列號(hào)。識(shí)別裝置可以實(shí)施為射頻識(shí)別(RadioFrequencyIdentification,RFID)標(biāo)簽,并且可以經(jīng)由射頻通信讀取??梢砸淮巫x取多個(gè)識(shí)別裝置。存在有源RFID標(biāo)簽和無源RFID標(biāo)簽。有源RFID標(biāo)簽有其自己的電源,而無源RFID標(biāo)簽完全依靠閱讀器發(fā)出的信號(hào)的功率工作。閱讀器是一種特殊裝置,其能夠與標(biāo)簽互操作并且讀取存儲(chǔ)在標(biāo)簽的存儲(chǔ)器中的標(biāo)識(shí)符。更復(fù)雜且功能更強(qiáng)大的標(biāo)簽?zāi)軌驅(qū)⑿畔⒋鎯?chǔ)在存儲(chǔ)器中,甚至還能執(zhí)行諸如散列操作(hashing)之類的簡單加密操作。
發(fā)明內(nèi)容根據(jù)一個(gè)方面,提供一種對(duì)第一用戶向第二用戶發(fā)送的通信進(jìn)行安全保護(hù)的計(jì)算機(jī)實(shí)現(xiàn)的方法。該方法可以包括下列步驟由第一用戶從可信第三方接收與第一用戶對(duì)應(yīng)的至少一個(gè)公共密值以及與第一用戶對(duì)應(yīng)的至少一個(gè)私有密值;由第一用戶向第二用戶提供與由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置對(duì)應(yīng)的多個(gè)值;由第一用戶使用第一用戶的所述至少一個(gè)私有密值以及由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置上存儲(chǔ)的多個(gè)值中的至少一個(gè)值導(dǎo)出共享密鑰;以及利用所述共享密鑰對(duì)第一用戶向第二用戶發(fā)送的通信進(jìn)行保護(hù)。由第一用戶導(dǎo)出的共享密鑰等于第二用戶的共享密鑰。因此,兩個(gè)用戶可能都訪問過由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置,其中,該識(shí)別裝置可以是射頻識(shí)別標(biāo)簽。第二用戶可以從所述可信第三方接收至少一個(gè)公共密值和至少一個(gè)私有密值。而且,第二用戶可以從第二用戶的至少一個(gè)私有密值以及存儲(chǔ)在由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置上的多個(gè)值中的至少一個(gè)值導(dǎo)出共享密鑰。提供多個(gè)值可以包括提供第二值,該第二值是第二用戶的至少一個(gè)私有密值的函數(shù)。而且,所存儲(chǔ)的第二值可以是生成元的冪。提供多個(gè)值可以包括提供第一值,該第一值是識(shí)別裝置的加密標(biāo)識(shí)符(cryptographicidentifier)的函數(shù)。此外,該加密標(biāo)識(shí)符可以是生成元的冪。提供多個(gè)值可以包括由第一用戶將多個(gè)值存儲(chǔ)在由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置上。提供多個(gè)值可以包括由第一用戶向第二用戶發(fā)送與由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置對(duì)應(yīng)的多個(gè)值??梢詫l(fā)送多個(gè)值理解為將值存儲(chǔ)在由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置上的可替換操作。而且,可以發(fā)送與多個(gè)識(shí)別裝置對(duì)應(yīng)的值的集合??梢允沁@樣的情況,通過用再加密的值取代所存儲(chǔ)的多個(gè)值中的至少一個(gè)值來更新所存儲(chǔ)的多個(gè)值。而且,所述方法可以包括由第一用戶(110)從所述可信第三方(130)接收值,該值是第二用戶(120)的保密密值的函數(shù);使用作為第二用戶(120)的保密密值的函數(shù)的所述值計(jì)算作為第二用戶的私有密值的函數(shù)的值;通過用所計(jì)算的值取代所存儲(chǔ)的多個(gè)值中的第二值,來更新(UPlO)所存儲(chǔ)的多個(gè)值;以及將更新后的多個(gè)值存儲(chǔ)在由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置上。而且,所述方法可以包括由第一用戶將所存儲(chǔ)的多個(gè)值中的第二值發(fā)送到可信第三方;以及由第一用戶從所述可信第三方接收所述再加密的值,其中,該再加密的值是從所存儲(chǔ)的多個(gè)值中的第二值導(dǎo)出的。對(duì)所存儲(chǔ)的多個(gè)值中的第二值的再加密操作可以由可信第三方執(zhí)行。此外,所存儲(chǔ)的多個(gè)值中的第二值和再加密后的第二值可以分別是生成元的冪??梢允沁@樣的情況提供多個(gè)值包括提供第一值,該第一值是第一用戶接收到的至少一個(gè)私有密值的函數(shù)。此外,存儲(chǔ)多個(gè)值可以包括存儲(chǔ)第三值,該第三值是第一用戶的身份的函數(shù)。所述方法還可以包括由第一用戶從可信第三方接收值,該值是第二用戶的身份的函數(shù);通過用作為第二用戶的身份的函數(shù)的所述值取代第三值,來更新所存儲(chǔ)的多個(gè)值;由第二用戶接收由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置;由第二用戶將所存儲(chǔ)的多個(gè)值中的第三值與第二用戶的身份的函數(shù)相比較??梢允沁@樣的情況執(zhí)行相互認(rèn)證,以驗(yàn)證第一用戶和第二用戶已經(jīng)訪問過由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置。而且,導(dǎo)出所述共享密鑰可以包括執(zhí)行相互認(rèn)證。執(zhí)行相互認(rèn)證可以包括由第一用戶向第二用戶發(fā)送隨機(jī)口令(challenge);以及由第一用戶從第二用戶接收值,該值是隨機(jī)口令和第二用戶的至少一個(gè)私有密值的函數(shù)??梢允沁@樣的情況接收到的值是生成元的冪。執(zhí)行相互認(rèn)證還可包括由第二用戶計(jì)算作為隨機(jī)口令和第二用戶的至少一個(gè)私有密值的函數(shù)的值。執(zhí)行相互認(rèn)證還可以包括下列步驟由第一用戶將所存儲(chǔ)的多個(gè)值中的第二值的函數(shù)與第二用戶的至少一個(gè)公共密值的函數(shù)相比較。執(zhí)行相互認(rèn)證還可以包括由第二用戶將所存儲(chǔ)的多個(gè)值中的第二值的函數(shù)與第一用戶的至少一個(gè)公共密值的函數(shù)相比較。此外,執(zhí)行相互認(rèn)證可以包括將第一用戶導(dǎo)出的共享密鑰與第二用戶的共享密鑰相比較。上面的比較操作可以通過提供值作為可有效計(jì)算的、非退化雙線性映射的輸入來執(zhí)行,其中所述雙線性映射的計(jì)算性迪菲·赫爾曼問題無法被有效計(jì)算。根據(jù)另一個(gè)方面,提供一種計(jì)算機(jī)程序產(chǎn)品。該計(jì)算機(jī)程序產(chǎn)品可以包括計(jì)算機(jī)可讀指令,所述指令在被加載到計(jì)算機(jī)系統(tǒng)上并在計(jì)算機(jī)系統(tǒng)上運(yùn)行時(shí),使得計(jì)算機(jī)系統(tǒng)執(zhí)行根據(jù)前述內(nèi)容的方法的操作。根據(jù)又一個(gè)方面,提供一種計(jì)算機(jī)系統(tǒng),其提供對(duì)多個(gè)用戶之間的通信進(jìn)行的安全保護(hù)。該系統(tǒng)可以包括識(shí)別裝置,諸如射頻識(shí)別標(biāo)簽,其中該識(shí)別裝置由標(biāo)識(shí)符標(biāo)識(shí),其中該識(shí)別裝置包括存儲(chǔ)器;第一計(jì)算機(jī),其可操作用于處理用于將多個(gè)值存儲(chǔ)在由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置上的指令;第二計(jì)算機(jī);和第三計(jì)算機(jī),其可操作用于將至少一個(gè)公共密值提供給第一計(jì)算機(jī)和第二計(jì)算機(jī),將至少一個(gè)私有密值提供給第一計(jì)算機(jī)和第二計(jì)算機(jī)。其中,第一計(jì)算機(jī)可操作用于從提供給第一計(jì)算機(jī)的至少一個(gè)公共密值、提供給第一計(jì)算機(jī)的至少一個(gè)私有密值和存儲(chǔ)在由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置上的多個(gè)值中的至少一個(gè)值導(dǎo)出共享密鑰。其中,第二計(jì)算機(jī)可操作用于從提供給第二計(jì)算機(jī)的至少一個(gè)公共密值、提供給第二計(jì)算機(jī)的至少一個(gè)私有密值以及存儲(chǔ)在由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置上的另外的多個(gè)值中的至少一個(gè)值生成該共享密鑰。參見最近一個(gè)前述方面,由第一計(jì)算機(jī)使用的多個(gè)值(也即第一組多個(gè)值)與由第二計(jì)算機(jī)使用的另外的多個(gè)值(也即,第二組多個(gè)值)可以通過一個(gè)公用值而相關(guān)聯(lián)。該公用值可以是由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置的加密標(biāo)識(shí)符。此外,該計(jì)算機(jī)系統(tǒng)還可以可操作用于執(zhí)行上面所述方法方面的變形。本說明書中所述的主題可以實(shí)現(xiàn)為方法或者系統(tǒng),它們可以是一個(gè)或多個(gè)計(jì)算機(jī)程序產(chǎn)品的形式。本說明書中所述的主題可以以數(shù)據(jù)信號(hào)實(shí)現(xiàn)或在機(jī)器可讀介質(zhì)上實(shí)現(xiàn),其中該介質(zhì)被具體實(shí)現(xiàn)為一個(gè)或多個(gè)信息載體,諸如CD-ROM、DVD-ROM、半導(dǎo)體存儲(chǔ)器或者硬盤。這些計(jì)算機(jī)程序產(chǎn)品可以使數(shù)據(jù)處理設(shè)備執(zhí)行本說明書中所述的一個(gè)或多個(gè)操作。此外,本說明書中所述的主題還可以實(shí)施為包括處理器和耦接到處理器的存儲(chǔ)器的系統(tǒng)。存儲(chǔ)器可以對(duì)一個(gè)或多個(gè)程序編碼,該一個(gè)或多個(gè)程序使得處理器執(zhí)行本說明書中所述一個(gè)或多個(gè)方法。而且,本說明書中所述的主題可以使用各種機(jī)器來實(shí)現(xiàn)。下面結(jié)合示范性示意圖和說明來闡述一個(gè)或多個(gè)實(shí)施方式的細(xì)節(jié)。其它特征將從說明、附圖以及從權(quán)利要求中變得清楚。圖1示出了第一用戶(即用戶A)將識(shí)別裝置運(yùn)送給第二用戶(即用戶B)的示例性場景。用戶以及可信第三方(trustedthirdparty,TTP)之間的數(shù)據(jù)交換以虛線繪示。實(shí)線繪示了識(shí)別裝置從用戶A到用戶B的物理運(yùn)動(dòng)。圖2示出了對(duì)由第一用戶向第二用戶發(fā)送的通信進(jìn)行安全保護(hù)的示例方法。圖3示出了準(zhǔn)備將被運(yùn)送到另一用戶的識(shí)別裝置的示例方法。與圖2的關(guān)系經(jīng)由步驟Μ3示出,與圖4的關(guān)系經(jīng)由步驟SSlO至SS13示出,與圖6的關(guān)系經(jīng)由步驟AlO示出。步驟Μ41表示步驟Μ4的可能實(shí)施方式。圖4示出了準(zhǔn)備將被運(yùn)送到另一用戶的識(shí)別裝置的另一示例方法。步驟Μ41和UPlO參見圖3。圖5示出了準(zhǔn)備將被運(yùn)送到另一用戶的識(shí)別裝置的又一示例方法。步驟Μ42表示步驟Μ4的可能實(shí)施方式。步驟Α20參見圖6。圖6示出了相互認(rèn)證(mutualauthentication)的兩個(gè)示例。步驟M5和M7參見圖2。步驟UPlO和Rll分別參見圖3和圖5。圖7示出了示例計(jì)算機(jī)系統(tǒng)的框圖。具體實(shí)施例方式技術(shù)術(shù)語和定義貫穿說明書使用下面的技術(shù)術(shù)語。這些術(shù)語可以指代但不局限于下面的解釋。一般性定義除非另有說明,否則可以使用下面的一般性定義。令(G1,*)和(G2,*)為某個(gè)較大素?cái)?shù)ρ的ρ階群。P的比特大小由安全參數(shù)確定。某數(shù),例如數(shù)P,的比特大小可以理解為表示P所需要的比特?cái)?shù)。許多因素可能與安全比特大小的確定相關(guān),包括被安全保護(hù)的通信的性質(zhì)以及對(duì)第三方來說那些通信的可能價(jià)值。例如,有關(guān)干酪的通信可能不需要適用于有關(guān)核裝置的通信的安全級(jí)別。而且,在某一年對(duì)特定應(yīng)用來說是安全的比特大小,可能在隨后一年中安全性不夠。技術(shù)的進(jìn)步以及密碼術(shù)研究中的進(jìn)展可能影響密碼系統(tǒng)的安全性以及合適的比特大小。根據(jù)一個(gè)示例,對(duì)于基于超奇異橢圓曲線(supersingularellipticcurve)的雙線性映射(bilinearmap),ρ的比特大小為1084比特,而對(duì)于基于非超奇異橢圓曲線的雙線性映射,P的比特大小為640比特。={1,...,ρ-1},其中,Z/是乘法群,其中,α,δεΖ;,并且a,b是隨機(jī)選取的。群(例如群&)的階,可以理解為群中元素的個(gè)數(shù)。8是6:的隨機(jī)生成元(generator)。生成元可以稱為原根(primitiveroot)或原元素(primitiveelement)。一個(gè)ρ階群的生成元是這樣的一個(gè)數(shù)該數(shù)的冪生成該群的所有非零元素。如果一個(gè)群具有生成元,那么可以將該群理解為是循環(huán)的(cyclic)??梢詫⒂脩衾斫鉃橹复脩粲?jì)算機(jī)或者由用戶操作的計(jì)算設(shè)備。由用戶執(zhí)行的動(dòng)作也可以包括代表用戶執(zhí)行的動(dòng)作或在用戶指導(dǎo)下執(zhí)行的動(dòng)作。術(shù)語“第一”、“第二”和“第三”用于區(qū)分多個(gè)用戶。術(shù)語用戶A、用戶B和用戶C(分別指代第一用戶、第二用戶和第三用戶)用于方便理解公式和附圖中的術(shù)語。用戶可以指代自然人或法人。問題下面的加密問題可能會(huì)被認(rèn)為是難解的??梢詫㈦y解的問題或者無法有效計(jì)算的問題理解為這樣的問題對(duì)于該問題,沒有已知的概率多項(xiàng)式時(shí)間(probabilisticpolynomialtime)(或者更加有效的)算法可以用于計(jì)算該問題的解。概率算法(probabilisticalgorithm)可以被理解為是使用隨機(jī)比特指令的算法。概率算法可以與確定性算法(不使用隨機(jī)比特指令的算法)相對(duì)。問題1計(jì)算性迪菲赫爾曼問題(ComputationalDiffie-HellmanProblem,CDH)就是難解的,如果對(duì)于所有概率多項(xiàng)式時(shí)間算法B,AdvCDHB=Pr[B(g,g%gb)=gab]在安全性參數(shù)中都是可以忽略的。換句話說,給定比特大小P,則對(duì)于給定的(g,g%gb),存在能夠?qū)τ?jì)算gab提供益處(也即,允許對(duì)gab進(jìn)行有效計(jì)算)的概率多項(xiàng)式時(shí)間算法B的概率是可忽略的。問題2修正的計(jì)算性迪菲·赫爾曼問題(modifiedComputationalDiffie-HellmanProblem,mCDH)就是難解的,如果對(duì)于所有概率多項(xiàng)式時(shí)間算法B,AdvmCDH,=Pr[B(g,ga,gb)=gah]在安全性參數(shù)中都是可忽略的。換句話說,給定比特大小P,則對(duì)于給定的&,《,乂,16_1),存在能夠?qū)τ?jì)算8"3提供益處(也即,允許對(duì)8313進(jìn)行有效計(jì)算)的概率多項(xiàng)式時(shí)間算法B的概率是可忽略的。問題3雙線性決策性迪菲赫爾曼問題(BilinearDecisionalDiffie-HellmanProblem,BDDH)就是難解的,如果對(duì)于所有概率項(xiàng)式時(shí)間算法B,<formula>formulaseeoriginaldocumentpage8</formula>在安全性參數(shù)中是可忽略的。該概率是在對(duì)geG1Ahc5Xe二;^的隨機(jī)選取上得到的。換句話說,給定比特大小P,則對(duì)于給定的一組值(g,g%gb,g%gx),存在能夠?qū)τ?jì)算是否χ=abc提供益處(也即,允許對(duì)是否χ=abc進(jìn)行有效計(jì)算)的概率多項(xiàng)式時(shí)間算法B的概率是可忽略的。這得到下列加密問題。雙線性映射雙線性映射(也稱作雙線性函數(shù))是映射IG1XG1—G2,對(duì)于該映射,計(jì)算性迪菲·赫爾曼問題(CDH)不能被有效計(jì)算。此外,可以將G1和G2理解為循環(huán)群。雙線性映射滿足下面三個(gè)特性·雙線性g,heG1,并且對(duì)于α,6GΖ;<ga,hb)=e(g,h)ah;·非退化性(Non-degenerate)-.e(g,g)本1是G2的生成元;·可有效計(jì)算性對(duì)于所有g(shù),heG1,存在有效計(jì)算《g,/ζ)的算法。滿足上面三個(gè)特性的雙線性映射也可以稱為容許的雙線性映射(admissiblebilinearmap)。雙線性映射的示例有基于超奇異橢圓曲線的修正的Weil對(duì)以及基于超奇異橢圓曲線的修正的Tate對(duì)。在D.Boneh禾口M.K.Franklin的“Identity—BasedEncryptionfromtheWeiIPairing"(JournalofCryptology,17(4),2004)中給出了Weil對(duì)的定義以及用于計(jì)算Weil對(duì)的算法。所引用的文獻(xiàn)還描述了Weil對(duì)與修正的Weil對(duì)之間的差別。密值(Cryptographicvalue)可以將密值理解為能夠在密碼操作中使用的值。密碼操作包括導(dǎo)出共享密鑰、力口密、解密、再加密、認(rèn)證(authentication)和散列運(yùn)算(hashing)??梢怨裁苤?publiccryptographicvalue)禾口私有密值(privatecryptographicvalue)理解為不對(duì)稱密碼系統(tǒng)的部分,在該系統(tǒng)中用來執(zhí)行加密操作的密鑰與用于執(zhí)行解密操作的密鑰不同。例如,公共密鑰是能夠用于對(duì)消息進(jìn)行加密的公共密值,而私有密鑰是能夠用于對(duì)消息進(jìn)行解密的私有密值。私有密值可以為該值所屬的用戶所知和/或?yàn)榭尚诺谌剿?。可以將保密密?secretcryptographicvalue)理解為只為可信第三方所知的密值,特別是在不對(duì)稱密碼系統(tǒng)的上下文中。共享密鑰可以將共享密鑰理解為用于執(zhí)行對(duì)稱密碼操作,對(duì)稱加密,的密鑰??梢詫?duì)稱密碼系統(tǒng)理解為使用相同的密鑰執(zhí)行加密和解密操作的系統(tǒng)。由于可以由不同實(shí)體執(zhí)行加密和解密操作,因此使用一個(gè)密鑰來執(zhí)行加密和解密兩項(xiàng)操作可以理解為表示這個(gè)密鑰是共享密鑰。認(rèn)征可以將認(rèn)證理解為一個(gè)驗(yàn)證過程。在某些情況中,可以針對(duì)通信伙伴的身份來執(zhí)行驗(yàn)證。在另一些情況中,可以針對(duì)對(duì)標(biāo)識(shí)符所標(biāo)識(shí)的識(shí)別裝置的訪問、也即合法訪問來執(zhí)行驗(yàn)證。力口密的散列函數(shù)(Cryptographichashfunction)可以將加密的散列函數(shù)、加密散列或散列理解為將任意有限長度的比特串映射成固定長度的串的函數(shù)??梢詫⒓用艿纳⒘泻瘮?shù)理解為是單向的且抗沖突的(collisionresistant)。加密的散列函數(shù)的例子有SHA-256和SHA-512。再力口密(Re-encryption)直觀來看,再加密是在新密鑰下加密數(shù)據(jù)而不揭示私有或保密密值的過程??梢栽诠裁荑€下或在私有密鑰下對(duì)值進(jìn)行再加密。例如,給定兩個(gè)獨(dú)立的加密密鑰,例如h和k2,并且使用Ic1來加密數(shù)據(jù),則可以將再加密理解為使用k2來加密該數(shù)據(jù)的過程。識(shí)別裝置可以將識(shí)別裝置理解為用于標(biāo)明或識(shí)別物件或物品。物件可以是貨盤、箱子或產(chǎn)品。識(shí)別裝置可以有至少1KB的存儲(chǔ)容量。直觀來看,可以將識(shí)別裝置理解為密碼信封(cryptographicenvelope)的載體,作為安全性協(xié)議的一部分,可以在裝置之外處理該加密信封的內(nèi)容。識(shí)別裝置的一個(gè)例子是射頻識(shí)別(RFID)標(biāo)簽。RFID標(biāo)簽可以是有源的或者無源的。RFID標(biāo)簽可以是可重寫的或一次性寫入的。如果RFID標(biāo)簽不是可重寫的,則該標(biāo)簽可以在每次寫入之前用新的RFID標(biāo)簽替換。新的RFID標(biāo)簽可以具有相同的標(biāo)識(shí)符。在下面的說明中,為了易于理解,隱含識(shí)別裝置是可重寫的。但是,也可以使用一次性寫入的RFID標(biāo)簽,該RFID標(biāo)簽在每次寫入之后被替換。可以用作識(shí)別裝置的RFID標(biāo)簽的類型可以是EPCglobal標(biāo)準(zhǔn)中所定義的第二代RFID標(biāo)簽中的第1類。也可以使用功能更強(qiáng)大或更高級(jí)的RFID標(biāo)簽??梢詫⒃L問識(shí)別裝置理解為包括從識(shí)別裝置中讀取信息。在RFID標(biāo)簽的情況下,訪問可以包括使用RFID標(biāo)簽閱讀器與RFID標(biāo)簽交互。挑戰(zhàn)-口向應(yīng)協(xié)議(challenge-responseprotocol)可以將挑戰(zhàn)-響應(yīng)協(xié)議理解為一個(gè)認(rèn)證協(xié)議,其中第一用戶將隨機(jī)數(shù)發(fā)送到第二用戶,然后第二用戶對(duì)該數(shù)執(zhí)行加密變換并且將變換后的數(shù)(可能與其它數(shù)據(jù)一起)返回給第一用戶。偽隨機(jī)數(shù)生成器可以將偽隨機(jī)數(shù)生成器理解為是基于確定性算法的,該算法返回看起來像是統(tǒng)計(jì)隨機(jī)的數(shù)。偽隨機(jī)數(shù)生成器可以被實(shí)施為硬件中的門陣列或者計(jì)算機(jī)程序??梢詫⒄f明書中有關(guān)隨機(jī)元素或隨機(jī)值的選擇或選取的相關(guān)內(nèi)容理解為指代使用偽隨機(jī)數(shù)生成器對(duì)隨機(jī)數(shù)的計(jì)算?;谏矸莸拿艽a系統(tǒng)基于身份的密碼系統(tǒng)也可以稱作基于身份的加密系統(tǒng)或基于身份的密碼術(shù)系統(tǒng)??梢詫⒒谏矸莸拿艽a術(shù)理解為一種公共密鑰密碼術(shù),其中用戶的公共密鑰可以是任意的串。在某些情況下,用戶的公共密鑰是關(guān)于該用戶身份的某個(gè)唯一信息,例如,用戶的電子郵件地址。根據(jù)一個(gè)示例,可信第三方可以公布主公共密鑰而保留主私有密鑰。給定主公共密鑰,用戶可以通過將主公共密鑰與身份值(例如該用戶的電子郵件地址)相組合來計(jì)算公共密鑰。為了得到私有密鑰,用戶可以聯(lián)系可信第三方,可信第三方可以使用主私有密鑰來生成針對(duì)該用戶的私有密鑰。基于身份的密碼系統(tǒng)可以包括使用用戶的公共密鑰將明文(plaintext)變換為密文(ciphertext)的加密操作?;谏矸莸拿艽a系統(tǒng)還可以包括用戶從可信第三方得到解密密鑰的獲取解密密鑰操作。用戶可以使用挑戰(zhàn)-響應(yīng)協(xié)議來得到解密密鑰。此外,基于身份的密碼系統(tǒng)可以包括將密文變換為明文的解密操作。具體說明下文中,將參照附圖給出示例的具體說明。應(yīng)當(dāng)理解,可以對(duì)示例進(jìn)行各種修改。除非明確指明,否則一個(gè)示例中的元素可以相結(jié)合并且用于其它示例以形成新的示例。識(shí)別裝置的一個(gè)可能應(yīng)用是用于供應(yīng)鏈管理。在供應(yīng)鏈中,能夠使用識(shí)別裝置的唯一標(biāo)識(shí)符來跟蹤每個(gè)物件。當(dāng)讀取識(shí)別裝置時(shí)事件發(fā)生。在最基本的級(jí)別上,這產(chǎn)生下列一組值<機(jī)構(gòu),標(biāo)識(shí)符,時(shí)間戳〉通常利用諸如標(biāo)識(shí)符、事件類型(例如,接收、運(yùn)送、卸貨等等)以及取決于事件類型的附加字段之類的附加信息來擴(kuò)大該組值。公司由于許多原因而對(duì)通信鏈接到事件的信息感興趣。一個(gè)原因可能是,消費(fèi)者有興趣了解她所購買的產(chǎn)品已經(jīng)經(jīng)過的步驟。另一個(gè)原因可能是,公司需要召回缺陷產(chǎn)品,并且有興趣了解已經(jīng)售出缺陷產(chǎn)品的零售商清單。為了共享與涉及使用RFID標(biāo)簽的事件關(guān)聯(lián)的數(shù)據(jù),公司連接到全球網(wǎng)絡(luò),其目前由EPCglobal聯(lián)盟進(jìn)行標(biāo)準(zhǔn)化。該網(wǎng)絡(luò)包含發(fā)現(xiàn)服務(wù)(discoveryservice),該服務(wù)存儲(chǔ)具有對(duì)于特定標(biāo)簽的事件數(shù)據(jù)的所有公司的聯(lián)系信息。為了檢索關(guān)于一個(gè)標(biāo)簽的所有信息,感興趣的一方通過請(qǐng)求來聯(lián)系發(fā)現(xiàn)服務(wù)。響應(yīng)于該請(qǐng)求,發(fā)現(xiàn)服務(wù)返回所有公司的列表以供聯(lián)系。然后,感興趣的一方可以單獨(dú)聯(lián)系每個(gè)公司并檢索事件數(shù)據(jù)。該系統(tǒng)的一個(gè)挑戰(zhàn)是,盡管各公司有動(dòng)機(jī)為了方便它們的業(yè)務(wù)操作而共享與事件信息關(guān)聯(lián)的數(shù)據(jù),但是該信息是高度機(jī)密的,并且(可能的競爭)公司不愿意相互信任。因此,一個(gè)顧慮是例如通過檢索有關(guān)競爭對(duì)手的供應(yīng)鏈中物件的事件數(shù)據(jù),偵查競爭對(duì)手的供應(yīng)鏈。在一個(gè)可能的情況中,兩個(gè)公司——之前可能從未通信過——借助于發(fā)現(xiàn)服務(wù)相互聯(lián)系并且需要相互認(rèn)證它們曾有過的唯一的共同點(diǎn)就是它們都曾在某個(gè)點(diǎn)訪問過相同的識(shí)別裝置。這些公司需要相互證明它們訪問過相同的識(shí)別裝置。在該場景中可能發(fā)生許多攻擊事件1.一個(gè)冒名頂替者例如為了跟蹤其競爭對(duì)手的供應(yīng)鏈,可能請(qǐng)求有關(guān)他從未訪問過的識(shí)別裝置的信息。2.一個(gè)惡意公司可能例如為了隱藏偽造產(chǎn)品的來源而提供有關(guān)他從未擁有的識(shí)別裝置的欺詐信息。保護(hù)都訪問過相同識(shí)別裝置的用戶之間的通信的一個(gè)簡單方法是,將共享密鑰存儲(chǔ)在識(shí)別裝置上。為了對(duì)隨后的通信進(jìn)行安全保護(hù),該共享密鑰可以由訪問過該識(shí)別裝置的任何人使用??梢允褂弥T如高級(jí)加密標(biāo)準(zhǔn)(AdvancedEncryptionStandard,AES)這樣的對(duì)稱加密算法來對(duì)通信進(jìn)行安全保護(hù)。這樣的簡單解決方案可能適合于相互信任但必須在不安全環(huán)境中通信的業(yè)務(wù)合作伙伴。應(yīng)當(dāng)注意的是,盡管本說明書中的部分描述的是對(duì)訪問過識(shí)別裝置的用戶之間的通信進(jìn)行安全保護(hù),但是其它場景也是可以的。例如,第一用戶可以將與識(shí)別裝置相對(duì)應(yīng)的值發(fā)送到第二用戶。所發(fā)送的值可以取代從識(shí)別裝置讀取的值。但是,使用簡單的解決方案,訪問過物件的人可能會(huì)泄露共享密鑰,因?yàn)樵搫?dòng)作無法追溯到他。此外,識(shí)別裝置可能被局外者惡意讀取。這些情況中任意一個(gè)都可能使攻擊者欺騙合法用戶,使其以為該攻擊者是訪問過識(shí)別裝置的另一個(gè)合法用戶。圖1示出為了將識(shí)別裝置100從第一用戶110(即用戶A)運(yùn)送到第二用戶120(用戶B或用戶C)而在兩個(gè)用戶與可信第三方130(ΤΤΡ)之間進(jìn)行的交互的高層視圖。可以將TTP130理解為一個(gè)實(shí)體或機(jī)構(gòu),其存儲(chǔ)用于其客戶的私有密值和/或保密密值。TTP130也可以生成密值。TTP130還可以支持用戶隨著識(shí)別裝置100改變其所有權(quán)來更新存儲(chǔ)在識(shí)別裝置100上的信息。盡管下面的說明將TTP指代為單個(gè)實(shí)體,但是應(yīng)當(dāng)理解的是,可以將TTP分割成獨(dú)立的多方(例如,用于獨(dú)立的供應(yīng)鏈)。還可以借助于TTP中的復(fù)制來提供多個(gè)TTPo在下面對(duì)圖1的說明中,用戶加入供應(yīng)鏈合作伙伴的系統(tǒng)。但是,其它系統(tǒng)和/或機(jī)構(gòu)也是可以的??梢詫⒃撎幚砝斫鉃榘ㄒ韵聟f(xié)議。建立TTP130公布系統(tǒng)參數(shù)并且將系統(tǒng)參數(shù)發(fā)布到各個(gè)用戶,例如,用戶AllO和用戶B120。注冊新用戶,例如用戶Al10,通過TTP130注冊,以便加入供應(yīng)鏈。用戶AllO和TTP130建立依賴于用戶AllO的身份的多個(gè)公共的、私有的和保密的密值。TTP130將公共密值與私有密值發(fā)布到useA110,并且保留保密密值。初始化用戶AllO希望將識(shí)別裝置100附加到物件上。用戶AllO將多個(gè)值存儲(chǔ)在識(shí)別裝置100上??梢栽跊]有TTP130的干預(yù)下執(zhí)行識(shí)別裝置100的初始化。運(yùn)送(Ship)用戶AllO聯(lián)系TTP130,以便準(zhǔn)備將識(shí)別裝置100運(yùn)送到用戶B120。識(shí)別裝置100可以被附加到物件上。TTP130可以將再加密密鑰發(fā)送到用戶Alio。再加密密鑰可以用于創(chuàng)建至少一個(gè)新值,以便存儲(chǔ)在識(shí)別裝置100上。作為再加密密鑰的替代,TTP130可以計(jì)算并發(fā)送一組新值以存儲(chǔ)在識(shí)別裝置100上。接收用戶B120從用戶AllO接收識(shí)別裝置100。然后用戶B可以從識(shí)別裝置100讀取多個(gè)值并且將這些值存入數(shù)據(jù)庫中。用戶B120可以能夠使用所存儲(chǔ)的值,通過創(chuàng)建或?qū)С龉蚕砻荑€以及執(zhí)行與也訪問了識(shí)別裝置100的另一用戶(例如,用戶A110)的相互認(rèn)證來對(duì)通信進(jìn)行安全保護(hù)。對(duì)通信的安全保護(hù)用戶AllO可以基于至少一個(gè)公共密值、至少一個(gè)私有密值以及存儲(chǔ)在識(shí)別裝置100上的多個(gè)值中的至少一個(gè)值來導(dǎo)出共享密鑰。用戶B120可以執(zhí)行類似操作。用戶AllO和用戶B120也可以執(zhí)行相互認(rèn)證,以驗(yàn)證二者均訪問過相同的識(shí)別裝置100。相互認(rèn)證可以包括交換隨機(jī)口令,以便向協(xié)議“加鹽”,這里可以將加鹽理解為為了確保協(xié)議無法被觀察該交換的第三方重復(fù)而添加的值。可以是這樣的情況用戶執(zhí)行相互認(rèn)證并且稍后導(dǎo)出共享密鑰??商鎿Q地,可以是這樣的情況通過比較所導(dǎo)出的共享密鑰來執(zhí)行相互認(rèn)證。根據(jù)一個(gè)具體示例,可以有下面的場景。一件復(fù)雜貨物的生產(chǎn)需要不同代理商的合作。該過程常常涉及參與供應(yīng)鏈的不同公司。例如,三個(gè)不同的公司A、B和C可以如下合作公司A擁有物件,并且——根據(jù)其慣常業(yè)務(wù)——需要將其運(yùn)送到另一個(gè)公司以供進(jìn)一步處理?!跋乱粋€(gè)”公司事先是未知的,并且公司A選擇公司B(但是也很可能選擇公司B’)。然后,A執(zhí)行調(diào)用運(yùn)送算法的運(yùn)送操作。類似地,B將該物件運(yùn)送到公司C。最后,供應(yīng)鏈結(jié)束。在稍后的時(shí)間點(diǎn),公司A和公司C可能需要在訪問過連接到物件的識(shí)別裝置100的基礎(chǔ)上進(jìn)行交互,如上所述。注意,A和C之前從未交互過,并且可能沒有任何預(yù)先建立的業(yè)務(wù)關(guān)系。公司A和公司C已經(jīng)將識(shí)別裝置的標(biāo)識(shí)符DevID與在接收到識(shí)別裝置100時(shí)存儲(chǔ)在其內(nèi)的密值之間的關(guān)聯(lián)保存在數(shù)據(jù)庫中。它們使用該信息來執(zhí)行握手(handshake),如果成功的話,使得它們能夠針對(duì)識(shí)別裝置100作為業(yè)務(wù)合作伙伴安全地相互依賴,并且能夠共享密鑰以用于對(duì)進(jìn)一步的通信進(jìn)行安全保護(hù)。好處可能是存儲(chǔ)在識(shí)別裝置100上的值可以被不同于預(yù)期接收者的人讀取而不危及系統(tǒng)的安全性。這是因?yàn)?,假定上面定義的密碼學(xué)問題的難度,從存儲(chǔ)在識(shí)別裝置100上的值導(dǎo)出私有或保密密值是行不通的。圖2示出了如何對(duì)訪問過識(shí)別裝置100的兩個(gè)用戶之間的通信進(jìn)行安全保護(hù)。在Ml處,可以由TTP130生成系統(tǒng)參數(shù)??梢栽诎踩ǖ郎险J(rèn)證和進(jìn)行用戶和TTP130之間的通信或數(shù)據(jù)交換。用戶可以通過TTP130進(jìn)行注冊,例如,以便進(jìn)入供應(yīng)鏈合作伙伴網(wǎng)絡(luò)。在M2處,TTP130可以向第一用戶110(也稱作用戶A)提供至少一個(gè)公共密值A(chǔ)_PubCV和至少一個(gè)私有密。可替換地,至少一個(gè)公共密值的發(fā)布可以先于至少一個(gè)私有密值的發(fā)布。在M3處,TTP130可以向第二用戶120(也稱作用戶B或用戶C)提供至少一個(gè)公共密值8_PubCV和至少一個(gè)私有密值B_PrCV。為了在M4處將識(shí)別裝置100初始化,用戶Al10可以將多個(gè)值存儲(chǔ)在識(shí)別裝置100上。在初始化步驟中,其中一個(gè)值可以是識(shí)別裝置的加密標(biāo)識(shí)符DevCID的函數(shù)。但是,也可以在準(zhǔn)備運(yùn)送識(shí)別裝置100時(shí)執(zhí)行步驟M4,即使可能已經(jīng)由另一個(gè)用戶執(zhí)行過初始化。識(shí)別裝置的加密標(biāo)識(shí)符DevCID可以不同于識(shí)別裝置的標(biāo)識(shí)符或序列號(hào)DevID??梢栽跊]有TTP130的干預(yù)下執(zhí)行識(shí)別裝置100的初始化。在對(duì)識(shí)別裝置100初始化之后,用戶AllO接著可以將識(shí)別裝置100發(fā)送或運(yùn)送到用戶B120。在接收到裝置時(shí),第二用戶120可以讀取在步驟M4中存儲(chǔ)在裝置上的值并且將這些值存儲(chǔ)在數(shù)據(jù)庫中;這些值可以與識(shí)別裝置的序列號(hào)關(guān)聯(lián)。在兩個(gè)用戶都合法訪問過裝置之后,用戶可能想要導(dǎo)出共享密鑰??赡苁沁@樣的情況用戶在導(dǎo)出共享密鑰之前進(jìn)行認(rèn)證??商鎿Q地,用戶可以導(dǎo)出共享密鑰并且使用挑戰(zhàn)_響應(yīng)協(xié)議來證明知曉共享密鑰不危及密鑰安全。在步驟M5處,用戶AllO導(dǎo)出共享密鑰。可以使用第一用戶的公共密、第一用戶的私有密值A(chǔ)_PrCV以及從識(shí)別裝置100讀取的值來導(dǎo)出共享密鑰??商鎿Q地,可以使用第二用戶的公共密值B_PubCV、第一用戶的私有密值A(chǔ)_PrCV以及從識(shí)別裝置100讀取的值來導(dǎo)出共享密鑰。類似地,在M6處,用戶B120可以使用上面關(guān)于用戶AllO所述的可替換方案中任意一種來導(dǎo)出共享密鑰。這樣的導(dǎo)出方式會(huì)有下面的好處。共享密鑰是基于用戶的公共密值和用戶的私有密值導(dǎo)出的。為了使惡意用戶安全通信,第一(或第二)用戶必須向該惡意用戶提供他的私有密碼信息或使用其私有密碼信息生成的共享密鑰。與僅鏈接到認(rèn)證裝置的共享密鑰不同,鏈接到用戶的密值的共享密鑰可以追溯到用戶。在M7處,可以使用共享密鑰來對(duì)用戶AllO執(zhí)行的通信進(jìn)行安全保護(hù)或保護(hù)。從而,可以使用共享密鑰來保護(hù)用戶AllO與用戶B120之間的通信。圖3示出了準(zhǔn)備將運(yùn)送到另一用戶的識(shí)別裝置100的示范性方法。步驟SS10、SS11、SS12和SS13參見圖4中所描述的步驟。根據(jù)示范性方法,可以由TTP130生成下面的系統(tǒng)參數(shù)JpjpGyg,復(fù),:),其中g(shù)和妄是G1的隨機(jī)生成元??梢怨枷到y(tǒng)參數(shù)并且系統(tǒng)參數(shù)可以為所有用戶所知。TTP130還可以選擇《^Z:并且設(shè)置S=g\從而,根據(jù)本例,系統(tǒng)的公共參數(shù)是{pjpGyg,芝S,P<5?el;而且,值α是僅為TTP130所知的保密密值。為了通過TTP130進(jìn)行注冊,用戶AllO可以選擇兩個(gè)隨機(jī)元素;^,二三;。然后,用戶AllO可以將和g2·4發(fā)送到TTP130。TTP130可以從Zp*中選擇隨機(jī)元素xA。從Z/中選擇隨機(jī)元素可以理解為配置偽隨機(jī)數(shù)生成器,以生成在{1,...,P-1}范圍內(nèi)的數(shù)。TTPI3O可以將(^斤廣1和g發(fā)送到第一用戶,也即用戶A110。用戶Al10㈧和TTP130(T)之間的注冊協(xié)議中包含的網(wǎng)絡(luò)交互可以描述如下圖式1:注冊協(xié)議A^Tgy\gZA繼續(xù)本例,用戶AllO的公共密值A(chǔ)_PubCV可以表示為兩個(gè)值的集合,(^^纟^“;^;^可以基于1"113130的請(qǐng)求來發(fā)布用戶A的公共密值A(chǔ)_PubCV。發(fā)布這些公共密值的過程可以類似于安全認(rèn)證機(jī)構(gòu)(CertificationAuthority)發(fā)布公共密鑰的過程。為用戶AllO和TTP130所知的用戶A的私有密值A(chǔ)_PrCV可以表示為三個(gè)值的集合,只為TTP130所知的用戶AllO的保密密值可以表示為xA。可以在M3處在用戶B120與TTP130之間執(zhí)行類似的注冊過程。在M41處,用戶AllO可以將識(shí)別裝置100初始化。M41表示來自圖1的步驟M4的具體實(shí)施方式。在M41中,裝置的加密標(biāo)識(shí)符的函數(shù)f(DevCID)與提供給第一用戶的至少一個(gè)私有密值的函數(shù)f(A_PrCV)存儲(chǔ)在裝置上。更加具體來說,在一個(gè)示范性實(shí)施方式中,用戶AllO可以例如使用偽隨機(jī)數(shù)生成器來計(jì)算隨機(jī)元素&iz;。用戶AllO還可以計(jì)算;T1=g、和Z2=。&和X2分別用于指代存儲(chǔ)在識(shí)別裝置上的第一值和第二值。在本例中,X1指代f(DevCID),X2指代f(A_PrCV)??梢詫⒗斫鉃橛脩鬉的私有密值A(chǔ)_PrCV,其可以用于執(zhí)行再加密。用戶AllO可以將多個(gè)值(X1,X2)存儲(chǔ)在識(shí)別裝置100上。用戶AllO也可以將多個(gè)值(XnX2)存儲(chǔ)在數(shù)據(jù)庫中以供以后使用。用戶AllO可以處于安全性理由而刪除或擦除值ttag。因此,可以將X1理解為識(shí)別裝置的加密標(biāo)識(shí)符的函數(shù),其中g(shù)、是識(shí)別裝置的加密標(biāo)識(shí)符??梢詫2理解為用戶A的私有密值的函數(shù),其中用戶A的私有密值是。應(yīng)當(dāng)理解的是,可能在用戶AllO執(zhí)行步驟SlO以及TTP130執(zhí)行步驟Sll之前已經(jīng)由其它用戶執(zhí)行了步驟M41。用戶AllO可以準(zhǔn)備將識(shí)別裝置100發(fā)送或運(yùn)送到用戶B120,該識(shí)別裝置100可以附在物件上。在SlO處,用戶AllO可以將用戶A的標(biāo)識(shí)符A_ID與用戶B的標(biāo)識(shí)符B_ID發(fā)送到TTP130。用戶標(biāo)識(shí)符可以是電子郵件地址或者與用戶或用戶的機(jī)構(gòu)關(guān)聯(lián)的其它值的加密散列。從用戶AllO接收A_ID和B_ID可以指示TTP130用戶AllO想要將識(shí)別裝置100發(fā)送到用戶B120。TTP130可以生成再加密密鑰作為用戶B120的保密密值的函數(shù)。根據(jù)一個(gè)更加具體的例子,再加密密鑰可以是用戶B120的保密密值與用戶A的保密密值的逆的函數(shù),也即,、s=WhmMp-1。然后,TTP130可以將再加密密鑰,即kA,B,發(fā)送或傳送給用戶A110。在圖式2中描述了定義在準(zhǔn)備運(yùn)送識(shí)別裝置100中用戶AllO與TTP130之間的交互的協(xié)議。圖式2:運(yùn)送協(xié)議<formula>formulaseeoriginaldocumentpage14</formula>圖式2的運(yùn)送協(xié)議不需要針對(duì)每個(gè)識(shí)別裝置100都執(zhí)行,而只需要每個(gè)運(yùn)送合作伙伴執(zhí)行一次。換句話說,用戶AllO只需要在用戶AllO第一次將識(shí)別裝置100發(fā)送到用戶B120時(shí)從TTP130獲得再加密密鑰。之后,用戶AllO可以重復(fù)使用為首個(gè)裝置提供的再加密密鑰,以用于將更多識(shí)別裝置發(fā)送到用戶B120。使用戶能夠重復(fù)使用再加密密鑰會(huì)有這樣的好處降低TTP130的負(fù)擔(dān)(也即,減少用戶與TTP130之間的交互)。然后,用戶AllO可以使用TTP130傳送的再加密密鑰來計(jì)算x[=Xk2^li=(g々)邊??梢詫⒂?jì)算X'2理解為使用這樣一個(gè)值其是第二用戶的保密密值的函數(shù),也即再加密密鑰,來計(jì)算這樣一個(gè)值其是第二用戶的私有密值的函數(shù),也即X'2。在UPlO處,用戶AllO可以接著通過用X'2來取代X2,將存儲(chǔ)在識(shí)別裝置100上的多個(gè)值進(jìn)行更新。換句話說,第一用戶可以通過用值X'2來取代第二值X2,來將所存儲(chǔ)的多個(gè)值進(jìn)行更新,其中X'2是提供給第二用戶的私有密值的函數(shù)f(B_PrCV)。根據(jù)具體示例,B_PrCV表示為。在更新之后,識(shí)別裝置100的存儲(chǔ)器可以包括多個(gè)值(X1,X'2)。當(dāng)接收到識(shí)別裝置100時(shí),用戶B120可以將對(duì)(X1,X'2)存儲(chǔ)在數(shù)據(jù)庫中。根據(jù)示例,為了在識(shí)別裝置從一個(gè)用戶遞送到另一用戶時(shí)對(duì)其進(jìn)行追蹤,TTP能夠建立一張哪些用戶能夠?qū)⒆R(shí)別裝置發(fā)送到其它用戶的圖。盡管根據(jù)圖3的示例可以減輕TTP的負(fù)擔(dān),但是TTP130可能難以追蹤識(shí)別裝置100從一個(gè)用戶到另一用戶的移動(dòng),例如,裝置通過供應(yīng)鏈的移動(dòng)。此外,可能存在如下攻擊。給定再加密密鑰t』=A1Xsmodp-\,可以有效計(jì)算^^modp-\。而且,給定再加密密鑰kA,B(如提供給用戶A的那樣)和kB,c,其中kB,c由TTP提供給用戶B,以便將識(shí)別裝置從用戶B運(yùn)送到第三用戶,也即用戶C,可以有效計(jì)算再加密密鑰kA,c=kA,BkB,c。為了對(duì)抗這些攻擊,TTP將不得不包括所述圖的每條邊的逆(inverse),并且計(jì)算該圖的傳遞閉包(transitiveclosure)0圖4示出了準(zhǔn)備識(shí)別裝置100以便將該裝置運(yùn)送到另一用戶的另一示范性方法。可以在圖3中所描繪的步驟M41之后執(zhí)行步驟SS10。在步驟SS13之后,可以執(zhí)行圖3中所描繪的步驟UP10。此外,可以將前綴為“SS”的步驟(SS10、SSlUSS12和SS13)理解為圖3的步驟SlO和Sll的可替換步驟。為了對(duì)抗上面參照?qǐng)D3所描述的攻擊,可以在每次一個(gè)用戶準(zhǔn)備將識(shí)別裝置100運(yùn)送到另一用戶時(shí)將TTP牽涉在內(nèi)。用戶AllO可以準(zhǔn)備將識(shí)別裝置100(其可能附在物件上)發(fā)送或運(yùn)送到用戶B120。在SSlO處,用戶AllO可以將用戶B的標(biāo)識(shí)符B_ID以及用戶A的私有密值的函數(shù)f(A_PrCV)發(fā)送到TTP130。用戶B的標(biāo)識(shí)符B_ID可以是用戶B的電子郵件地址的散列。根據(jù)一個(gè)具體示例,用戶A的私有密值的函數(shù)f(A_PrCV)可以是;^,其中是用戶A的私有密值A(chǔ)_PrCV,ttag_i是在初始化識(shí)別裝置時(shí)計(jì)算的隨機(jī)元素的逆。可以將X2理解為指代存儲(chǔ)在識(shí)別裝置100上的第二值。盡管用戶AllO可以將識(shí)別裝置100初始化,如在M41中那樣,但是用戶AllO也可以在從另一用戶接收到識(shí)別裝置100之后已經(jīng)從識(shí)別裝置100讀取了X2。根據(jù)該示例方法,TTP接收用戶B的標(biāo)識(shí)符B_ID以及用戶A的私有密值的函數(shù)f(A_PrCV)。在SSll處,TTP130可以對(duì)用戶A的私有密值的函數(shù)f(A_PrCV)執(zhí)行再加密操作,以便生成用戶B的私有密值的函數(shù)f(B_PrCV)。根據(jù)一個(gè)具體示例,執(zhí)行下列計(jì)算以生成f(B_PrCV)-.x'^^Af^yA^B={g^Bfag。χ'2表示將存儲(chǔ)在識(shí)別裝置100上的新的第二值,根據(jù)本例,該值是第二用戶的私有密值的函數(shù)f(B_PrCV)。在圖式3中可視地描繪了用戶AllO與TTP130之間的交換。圖式3具有強(qiáng)大跟蹤能力的運(yùn)送協(xié)議A^TB,X2=(gXA)'l"gT^AX'2=(gXBTTP130可以進(jìn)一步計(jì)算g邊=X2^1。在SS12處,TTP可以接著將三元組&‘,Λ抝存儲(chǔ)在數(shù)據(jù)庫中,其中A對(duì)應(yīng)于用戶A的標(biāo)識(shí)符A_ID,B對(duì)應(yīng)于用戶B的標(biāo)識(shí)符B_ID。值將特定識(shí)別裝置與其它識(shí)別裝置唯一地區(qū)分開,并且該值不發(fā)生變化。在SS13處,TTP130可以將f(B_PrCV),也即與X'2相應(yīng)的值,發(fā)送給用戶A110。一旦用戶AllO接收到了f(B_PrCV),用戶Al10就可以通過在步驟UPlO用f(B_PrCV)取代f(A_PrCV),來將存儲(chǔ)在識(shí)別裝置上的值進(jìn)行更新,如圖3中所示。通過被牽涉到每次運(yùn)送交易中(其中,運(yùn)送交易由步驟SSlO至SS13或S20至S23組成)并且記錄與該交易相應(yīng)的三元組,TTP130能夠追蹤任何識(shí)別裝置100從用戶到用戶的路徑。這會(huì)有這樣的好處使得TTP130能夠建立每個(gè)識(shí)別裝置的路徑的完整歷史記錄。換句話說,TTP130能夠針對(duì)每個(gè)識(shí)別裝置建立完整的前向譜系圖(pedigree)。因此,TTP能夠?yàn)槊總€(gè)識(shí)別裝置以及相應(yīng)的物件建立總體運(yùn)送圖。該圖之外沒有用戶能夠成功認(rèn)證。還會(huì)有這樣的好處如果識(shí)別出冒名頂替者(也即,請(qǐng)求有關(guān)他從未訪問過的識(shí)別裝置的信息的用戶),則TTP130就能夠識(shí)別出泄露密值的任何用戶。此外,TTP130牽涉到每次運(yùn)送交易中(其中,運(yùn)送交易由步驟SSlO至SS13或S20至S23組成)可以具有以下好處。如果未經(jīng)授權(quán)方成功通過非法認(rèn)證,則可以追蹤該未經(jīng)授權(quán)方。此外,TTP130還可以追蹤哪個(gè)合法用戶泄露了使得未經(jīng)授權(quán)方實(shí)現(xiàn)認(rèn)證的信息。因此,存在不故意披露有關(guān)識(shí)別裝置100的信息的強(qiáng)烈動(dòng)機(jī)。根據(jù)一個(gè)示例,這會(huì)帶來對(duì)供應(yīng)鏈的嚴(yán)密控制。圖5示出了準(zhǔn)備將從用戶AllO運(yùn)送到用戶B120的識(shí)別裝置100的示范性方法??梢詫D5的方法理解為圖3和圖4中所描述的方法的可替換方法。可以將圖3的步驟(S10、S11)、圖4的步驟(SS11、SS12、SS13)以及圖5的步驟(S20、S21、S22、S23)理解為可以采取的可替換步驟組,用于準(zhǔn)備將識(shí)別裝置從一個(gè)用戶運(yùn)送到另一用戶。根據(jù)示范性方法,系統(tǒng)參數(shù)組,雖然與對(duì)應(yīng)圖3的說明中所生成的參數(shù)類似,但是可以不完全與那些參數(shù)相對(duì)應(yīng)。此外,在下面的方法中,用戶的公共密碼信息(也即,分配給用戶的公共密值)是用戶身份的散列。例如,用戶的公共密碼信息可以是用戶的電子郵件地址的加密散列。因此,不需要為了驗(yàn)證公共密碼信息而使用證書或者與安全認(rèn)證機(jī)構(gòu)交互。而且,示范性方法可以在每次用戶準(zhǔn)備運(yùn)送識(shí)別裝置100時(shí)都要求TTP130的支持。這使得識(shí)別裝置100的路徑的每一步(也即,裝置的前向譜系圖)能夠被記錄。因此,本例的方法同樣具有上面針對(duì)圖4所描述的優(yōu)點(diǎn)。為了示例的目的,加密散列函數(shù)(cryptographichashfunction),也即散列函數(shù)H,可以以下面的方法來定義。散列函數(shù)H的參數(shù)如下·g二G1,其中,g是群G1的隨機(jī)元素;,,...,,其中,U。,U1,…,Un是群Zp*的n+1個(gè)隨機(jī)元素。因此,為了定義散列函數(shù)H,·賦值f/0=g"\Ul=gu\...,Un=gu";定義νe{0,1廣為11比特串;.定Wv)=U0其中F^l,...,是對(duì)于ν的第i比特等于1的索引i的集合。最后,散列函數(shù)H被定義為H(V)=UonievUi=gh(v)eG10因此,可以理解,對(duì)于具有身份A的用戶,H㈧=gh,其中AeZ;,并且g是G1的隨機(jī)生成元。繼續(xù)本例,在Ml處,可以由TTP130計(jì)算下列系統(tǒng)參數(shù)=(PjpGygj),其中這些參數(shù)符合上面給出的一般性定義。TTP130還可以計(jì)算K^Zip,并且賦值%=^0,U,=gu\...,Un=gu"。最后,TTP130可以計(jì)算《^Ζ;,并且設(shè)置S=ga且y=1。系統(tǒng)的公共密值可以表示為一組值^GnG2igiSiS',,υ。,...,Un}。值叫,…,……和α是僅為TTP130知曉的保密密值。然后,TTP130可以將基于身份的密碼系統(tǒng)初始化。根據(jù)本例,TTP130將基于身份的密碼系統(tǒng)的公共參數(shù)發(fā)布給用戶AllO和用戶B120。公共參數(shù)可以包括主公共密鑰。根據(jù)本例,在M2處,用戶AllO可以通過TTP130注冊。可能是這樣的情況用戶通過TTP130注冊,以便進(jìn)入供應(yīng)鏈網(wǎng)絡(luò)。用戶AllO可以使用常規(guī)的挑戰(zhàn)-響應(yīng)協(xié)議與TTP130進(jìn)行認(rèn)證。然后,用戶AllO可以選擇公共密鑰。公共密鑰可以是任意串,例如,用戶AllO的電子郵件地址。用戶AllO可以將所選擇的公共密鑰安全地發(fā)送到TTP130,并且從TTP130接收與該公共密鑰相對(duì)應(yīng)的私有密鑰。除了私有密鑰之外,用戶A可以接收私有密值IA=H(A)a。可以將對(duì)幻(也稱作々_10)理解為用戶Α100的標(biāo)識(shí)符的加密散列,例如,用戶Α100的電子郵件地址的加密散列。在Μ3處,用戶Β120可以執(zhí)行類似的注冊過程。在Μ42處,用戶AllO可以將識(shí)別裝置100初始化??梢詫42理解為表示圖1的步驟M4的具體實(shí)施方式。也可以將M42理解為步驟M41的可替換步驟。用戶AllO可以計(jì)算隨機(jī)值‘二Z^P隨機(jī)值r二。用戶Al10還可以計(jì)算式、X2=f和X3=H(A)rO在執(zhí)行了該計(jì)算之后,可以出于安全性理由刪除或擦除隨機(jī)值ttag。然后,用戶Alio可以存儲(chǔ)多個(gè)值(X1,X2,X3)在識(shí)別裝置100上。因此,根據(jù)本例,所存儲(chǔ)的多個(gè)值包括第三值,也即X3=Η(ΑΓ,其是第一用戶的身份的函數(shù)f(A_ID)。可以將X1理解為存儲(chǔ)在識(shí)別裝置100上的第一值,可以將X2理解為存儲(chǔ)在識(shí)別裝置100上的第二值,可以將X3理解為存儲(chǔ)在識(shí)別裝置100上的第三值。應(yīng)當(dāng)理解,給出值的次序是為了幫助理解示例,可以將這些值以任何次序存儲(chǔ)在識(shí)別裝置100上。對(duì)所述值中包含的X1,可以將5"、理解為識(shí)別裝置的加密標(biāo)識(shí)符DevCID。可以將I/理解為提供給第一用戶的至少一個(gè)私有密值的函數(shù)f(A_PrCV)。因此,可以將存儲(chǔ)在識(shí)別裝置100上的多個(gè)值的第一值X1理解為提供給第一用戶的至少一個(gè)私有密值的函數(shù)f(A_PrCV)。像在M42處由用戶AllO執(zhí)行的對(duì)識(shí)別裝置100的初始化不要求TTP130的協(xié)助。應(yīng)當(dāng)理解的是,步驟M42可以在執(zhí)行步驟S20至S23之前已經(jīng)由另一用戶執(zhí)行了。換句話說,可以將步驟M42(和步驟M41)理解為與只需要執(zhí)行一次的初始化步驟相應(yīng)。但是,可以在運(yùn)送識(shí)別裝置100之前任意時(shí)間執(zhí)行步驟S20至S23(以及步驟SlO和S11、步驟SSlO至SS13)。在S20處,用戶AllO可以將用戶A的標(biāo)識(shí)符々_10、用戶B的標(biāo)識(shí)符B_ID以及多個(gè)值(X1,X2,X3)發(fā)送給TTP130。從用戶AllO接收這些值可以向TTP130表明用戶AllO要將識(shí)別裝置100運(yùn)送到用戶B120的意圖。在S21處,TTP130可以將從用戶AllO接收到的用戶A的標(biāo)識(shí)符的函數(shù)f(A_ID)與用戶A的標(biāo)識(shí)符的函數(shù)f(A_ID)相比較。根據(jù)一個(gè)具體示例,可以使用下列公式來執(zhí)行S21的比較,以檢查是否興X3,g)=HH(A),X2),其中X3=H(A)r且X2=gr。在公式兩邊A_ID都被表示為Α。此外,可以將左邊的二進(jìn)制映射(binarymap),也即興Xpg),理解為由TTP130從用戶AllO接收到的f(A_ID)??梢詫⒂疫叺亩M(jìn)制映射,也即(〃(^Χ2),理解為f(A_ID)。S21的比較可以用于檢查所存儲(chǔ)的多個(gè)值是否與用戶A的標(biāo)識(shí)符々_10相對(duì)應(yīng)。在S22處,TTP可以計(jì)算S、=·,并且將三元組口、A&存儲(chǔ)在數(shù)據(jù)庫中??梢詫⒅礢w理解為識(shí)別裝置的加密標(biāo)識(shí)符DevCID。存儲(chǔ)在TTP130的數(shù)據(jù)庫中的三元組可以用于跟蹤識(shí)別裝置100的移動(dòng)。然后,TTP130可以計(jì)算siz;,并且進(jìn)一步計(jì)算<formula>formulaseeoriginaldocumentpage18</formula>在S23處,TTP130可以將f(DevCID,B_PrCV)、X'2、f(B_ID)發(fā)送到用戶A110。根據(jù)特定示例,f(DevCID,B_PrCV)=X'1且€_10)=X'3,其中S、對(duì)應(yīng)于DevCID,Ib對(duì)應(yīng)于B_PrCV,B對(duì)應(yīng)于B_ID。在圖式4中描繪了用戶A與TTP之間交互(步驟S20至S23)的示例。圖式4具有強(qiáng)大跟蹤能力的可替換運(yùn)送協(xié)議<formula>formulaseeoriginaldocumentpage18</formula>盡管在圖式4中描繪了值tagID(對(duì)應(yīng)于DevID),但是應(yīng)當(dāng)理解,該值是可替換運(yùn)送協(xié)議的可選部分。然后,用戶AllO可以從TTP130接收作為第二用戶的身份的函數(shù)f(B_ID)的值。該值與TTP130發(fā)送的第三值,也即X'3,相對(duì)應(yīng)。通過被牽涉到每次運(yùn)送交易(其中,運(yùn)送交易由步驟SSlO至SS13或S20至S23組成)中并記錄與該交易對(duì)應(yīng)的三元組,TTP130能夠追蹤任何識(shí)別裝置100從用戶到用戶的路徑。這會(huì)有這樣的好處使得TTP130能夠建立每個(gè)識(shí)別裝置的路徑的完整歷史記錄。換句話說,TTP130能夠?yàn)槊總€(gè)識(shí)別裝置構(gòu)建完成的前向譜系圖。從而,TTP130能夠?yàn)槊總€(gè)識(shí)別裝置以及相應(yīng)的物件構(gòu)建總體運(yùn)送圖。這會(huì)有這樣的好處該圖之外沒有用戶能夠成功認(rèn)證。還會(huì)有這樣的好處如果識(shí)別出冒名頂替者(也即,請(qǐng)求有關(guān)他從未訪問過的識(shí)別裝置的信息的用戶),則TTP130就能夠識(shí)別出任何泄露密值的用戶。此外,每次運(yùn)送交易中牽涉TTP130(其中,運(yùn)送交易由步驟SSlO至SS13或S20至S23組成)可以具有以下好處。如果未經(jīng)授權(quán)方成功通過非法認(rèn)證,則可以追蹤該未經(jīng)授權(quán)方。此外,TTP130還可以追蹤哪個(gè)合法用戶泄露了使得未經(jīng)授權(quán)方實(shí)現(xiàn)認(rèn)證的信息。因此,存在不故意將有關(guān)識(shí)別裝置100的信息披露的強(qiáng)烈動(dòng)機(jī)。根據(jù)一個(gè)示例,這會(huì)帶來對(duì)供應(yīng)鏈的嚴(yán)格控制。可以執(zhí)行S20、S21、S22和S23,以便準(zhǔn)備將識(shí)別裝置100從用戶A運(yùn)送到用戶B120。在UP20處,用戶AllO可以通過用作為第二用戶的標(biāo)識(shí)符的函數(shù)f(B_ID)的值取代第三值,來更新所存儲(chǔ)的多個(gè)值。根據(jù)特定示例,用戶AllO可以通過用上面在步驟S23中由TTP130計(jì)算并發(fā)送給用戶的(X'ι;Χ'2,Χ'3)取代所存儲(chǔ)的多個(gè)值(X1,Χ2,X3)來對(duì)(X1,X2,X3)進(jìn)行更新。可以將UP20理解為如圖3中所示的UPlO的可替換步驟。然后,用戶AllO可以將識(shí)別裝置100發(fā)送或運(yùn)送到用戶B120。在RlO處,用戶B120可以接收通過標(biāo)識(shí)符DevID標(biāo)識(shí)的識(shí)別裝置100。用戶B可以讀取存儲(chǔ)在識(shí)別裝置100上的多個(gè)值,并且將這些值存儲(chǔ)在數(shù)據(jù)庫中。用戶B120可以將該多個(gè)值與識(shí)別裝置的標(biāo)識(shí)符DevID關(guān)聯(lián)。在Rll處,用戶B120可以將所存儲(chǔ)的多個(gè)值的第三值與第二用戶的身份的函數(shù)f(B_ID)相比較。根據(jù)一個(gè)具體示例,用戶B120可以檢查是否(Χ3』=(Η⑷,Z2),其中X2和X3指代在步驟UP20期間存儲(chǔ)的值。由用戶Β120執(zhí)行的檢查可以用來驗(yàn)證接收到的多個(gè)值是以用戶Β120為目的地的。為了進(jìn)一步運(yùn)送識(shí)別裝置100,用戶Β120可以應(yīng)用如上所述的運(yùn)送協(xié)議(步驟S20至UP20)。使用上面針對(duì)圖5所述的基于身份的密碼系統(tǒng)可以具有這樣的好處消除了對(duì)公共密鑰發(fā)布基礎(chǔ)設(shè)施的需要。還可以將信息嵌入用戶標(biāo)識(shí)符中,例如,有效期。圖6示出了相互認(rèn)證的兩個(gè)可替換方法??梢詧?zhí)行認(rèn)證以驗(yàn)證第一用戶110和第二用戶120都訪問過由標(biāo)識(shí)符DevID標(biāo)識(shí)的識(shí)別裝置100。根據(jù)第一示范性方法,可以如上面針對(duì)圖3和圖4所描述的來執(zhí)行UPlO和UPlO之前的步驟。在下面的示例中,第二用戶120被稱為用戶C。用戶C可以是與用戶B相同的用戶;用戶C還可以是也訪問過識(shí)別裝置100的另一個(gè)用戶。用戶AllO可以從數(shù)據(jù)庫中檢索出下面的值(XM=二/W邊)。用戶Cl2O可以從數(shù)據(jù)庫中檢索出下面的值=g、,JT2e=/c<)。這些值可以在初始化識(shí)別裝置100之后(如結(jié)合步驟M41所述的那樣)或者在接收到識(shí)別裝置100時(shí)(如在圖3的說明中針對(duì)用戶B120所解釋的那樣)已將被存儲(chǔ)在數(shù)據(jù)庫中。用戶AllO可以聯(lián)系TTP130以獲得用戶C的公共密值C_PubCV。用戶AllO可以將用戶C的標(biāo)識(shí)符(_10發(fā)送到TTP130。TTP130可以回復(fù)以用戶C的公共密值C_PubCV??梢栽趫?zhí)行了認(rèn)證之后,在安全通道上在用戶AllO與TTP130之間交換數(shù)據(jù)。用戶C的公共密值C_PubCV可以表示為(礦c)a_1)。在圖式5中描繪了用戶AllO與TTP之間為了獲得用戶C120的公共密值而交互的可能集合。也可以將圖式5描述為管理由TTP130向用戶(例如用戶AllO或用戶C120)發(fā)布公共密值的協(xié)議。圖式5:公共信息協(xié)議A-^TCT^Agc,(gcgycr~l作為圖式5中所示的交互的可替換交互,用戶C的公共密值C_PubCV可作為由TTP130簽署的證書發(fā)布。換句話說,可以用TTP130的私有密鑰來加密用戶C的公共密值C_PubCV??梢杂扇我庥脩魜戆l(fā)布所述所簽署的證書。因此,用戶AllO可以不需要為了獲得用戶C的公共密值C_PubCV而與TTP130交互。在AlO處,在獲得了用戶C的公共密值C_PubCV之后,用戶AllO可以計(jì)算隨機(jī)元素riz;。然后,用戶AllO可以將gM乍為隨機(jī)口令發(fā)送給用戶C120。換句話說,第一用戶可以發(fā)送隨機(jī)口令到第二用戶。在All處,用戶C120可以計(jì)算這樣一個(gè)值其是隨機(jī)口令(challenge)和提供給用戶C的至少一個(gè)密值的函數(shù)f(challenge,C_PrCV)。根據(jù)一個(gè)具體示例,用戶C的私有密值(_1~(^可以表示為yc。由此,f(challenge,C_PrCV)可以表示為CgiYc。然后,用戶C120可以從其數(shù)據(jù)庫中檢索出X2c。如上所述,可以將X2c理解為由用戶C120存儲(chǔ)在識(shí)別裝置100上的多個(gè)值中的第二值。&??梢栽诔跏蓟R(shí)別裝置100期間或者準(zhǔn)備運(yùn)送識(shí)別裝置100期間已經(jīng)被存儲(chǔ)在識(shí)別裝置100上。在A12處,根據(jù)一個(gè)具體示例,用戶C120將(Z)V和X2c發(fā)送到用戶A110。由此,用戶AllO接收這樣一個(gè)值其是隨機(jī)口令和用戶C120的至少一個(gè)私有密值的函數(shù)。用戶AllO還接收X2C。在A13處,用戶AllO可以將所存儲(chǔ)的多個(gè)值中的第二值的函數(shù)與提供給用戶C的至少一個(gè)公共密值C_PubCV的函數(shù)相比較。根據(jù)一個(gè)具體示例,用戶AllO從其數(shù)據(jù)庫中檢索出Xia并且檢查「-^--e(S,(gXcgycrYttag^tagxC\Λ/^Cr、^~^-)e{g,8)=1e(ga,(gXc^cY1Y是否正確。在上面的示例中,所存儲(chǔ)的多個(gè)值中的第二值用X2e表示。更加具體來說,X2c可以被稱為由用戶C120存儲(chǔ)在識(shí)別裝置100上的多個(gè)值中的第二值。此外,在上面的示范性公式中,用(/cFc表示C_PubCV。用戶C120可以向TTP130查詢用戶A的公共密值A(chǔ)_PubCV??商鎿Q地,可以由例如用戶AllO來發(fā)布作為TTP130所簽署的證書的用戶A的公共密值A(chǔ)_PubCV,。然后,用戶C120可以將隨機(jī)口令€發(fā)送給用戶AllO并且作為響應(yīng)接收(gyA\X2A)。在A14處,用戶C120可以將所存儲(chǔ)的多個(gè)值中的第二值的函數(shù)與提供給用戶C的至少一個(gè)公共密值C_PubCV的函數(shù)相比較。根據(jù)一個(gè)具體示例,用戶C120從其數(shù)據(jù)庫中檢索出Xic并且檢查<formula>formulaseeoriginaldocumentpage21</formula>是否正確。在上面的示例中,所存儲(chǔ)的多個(gè)值中的第二值用X2A表示。更加具體來說,X2a可以被稱為由用戶AllO存儲(chǔ)在識(shí)別裝置100上的多個(gè)值中的第二值。此外,用1表示提供給用戶α的至少一個(gè)公共密值A(chǔ)_PubCV。也可以將提供給用戶A的至少一個(gè)公共密理解為提供給用戶A110的多個(gè)公共密值中的至少一個(gè)。繼續(xù)本例,如果對(duì)用戶AllO和用戶C120進(jìn)行該檢查的話,那么這兩個(gè)用戶都能夠確定他們訪問過標(biāo)簽并且可以安全地繼續(xù)該密鑰協(xié)定。根據(jù)上面的比較示例,可以通過提供比較值,作為對(duì)可有效計(jì)算的、非退化的雙線性映射的輸入,來執(zhí)行每個(gè)比較,而雙線性映射的計(jì)算性迪菲·赫爾曼問題無法被有效計(jì)算。雙線性映射用來表示。下面的圖式描述了依照上述示例,用戶Α110、用戶C120與TTP之間為了執(zhí)行認(rèn)證而進(jìn)行的交互。圖式6:第一認(rèn)證協(xié)議<table>tableseeoriginaldocumentpage21</column></row><table>當(dāng)成功進(jìn)行了相互認(rèn)證時(shí),用戶A和用戶C可以獨(dú)立地建立或?qū)С龉蚕砻荑€。根據(jù)一個(gè)具體示例,用戶AllO和用戶C120將密鑰K設(shè)置為可以通過使用共享密鑰K來保護(hù)用戶AllO與用戶C120之間的后續(xù)通信。應(yīng)當(dāng)注意的是,因?yàn)闆]有已知的概率多項(xiàng)式時(shí)間算法能夠從Ag3,/·4和產(chǎn)重建出,所以沒有竊聽者能夠從用戶Alio與用戶C120之間交換的信息重建出該密鑰??梢允褂没谟螒虻淖C明來示出上面描述的方法的安全性。例如,攻擊者可能試圖在從未獲得另一用戶的再加密密鑰的情況下創(chuàng)建該用戶的元組(tuple)(XijX2)。這對(duì)應(yīng)于主動(dòng)泄露存儲(chǔ)在識(shí)別裝置100上的多個(gè)值和躲避TTP的追蹤能力??梢詫⒂螒騌eencrypt(再加密)理解為捕獲這個(gè)攻擊。在不知道TTP130所知的密值的情況下很難贏得這場游戲(也即,計(jì)算機(jī)無法有效解決形成的問題)。ReencryptGame(再加密游戲)假定對(duì)手A(也稱作攻擊者),其目標(biāo)是在沒有TTP130的支持下執(zhí)行運(yùn)送協(xié)議(如針對(duì)圖3所述的運(yùn)送協(xié)議)。允許A自由地執(zhí)行該協(xié)議的所有算法。然后,A挑選兩個(gè)用戶I。和I*作為其選擇;模擬器(Simulator)B將挑戰(zhàn)識(shí)別裝置初始化為I。,并將除了值夂和夂λ以及與I*相關(guān)的私有/保密密值之外的有關(guān)I。和I*的所有相關(guān)信息提供給Α。最后,B向攻擊者提交對(duì)(式/。,12/。)并且A輸出他對(duì)信息,的猜測。該游戲稱作Reencrypt。命題1如果對(duì)手A具有非空優(yōu)勢ReencryptA=Pr[A在游戲Reencrypt中勝出]則概率多項(xiàng)式時(shí)間算法B能夠創(chuàng)建這樣的環(huán)境在該環(huán)境中,概率多項(xiàng)式時(shí)間算法B使用A的優(yōu)勢解決修正的計(jì)算性迪菲·赫爾曼問題(mCDH)的給定實(shí)例。征明我們?nèi)缦露xB。給定B是mCDH問題的隨機(jī)實(shí)例(g,g%),并且B希望使用A來計(jì)算gab。算法B模擬A在其中操作的環(huán)境。模擬器B挑選并公布公共參數(shù),如針對(duì)圖3所述的參數(shù)。攻擊者能夠隨意注冊為他選擇的任意身份I。A能夠?qū)⑷我庾R(shí)別裝置初始化為他選擇的用戶。A能夠自主地執(zhí)行該操作而無需牽涉該模擬器。如針對(duì)圖3所述的那樣執(zhí)行運(yùn)送協(xié)議,因此,A將自由地要求B針對(duì)A接收到的任意識(shí)別裝置或者針對(duì)A已初始化的任意識(shí)別裝置執(zhí)行該運(yùn)送協(xié)議。然后,攻擊者能夠與他選擇的每個(gè)用戶進(jìn)行認(rèn)證協(xié)議在這種情況下,B通過選擇Xl,yi和Z1并由此得知所有保密信息來創(chuàng)建所有被模擬方I(除了I*之外)。最后,A能夠執(zhí)行接收協(xié)議,聲明目標(biāo)用戶I并且由此從B接收(Zi==gx·'^),其中Q二Ζ;。然后,攻擊者A選擇身份I。(對(duì)于該身份I。,在前一階段中B已經(jīng)回答了他的所有查詢)和I*,他不知道&,.和夂.λ以及保密信息八和、^請(qǐng)求有關(guān)I*的公共信息;B回答以<gag''Τ'。最后,A能夠接收以L為目的地的識(shí)別裝置;為此,B挑選、并且將對(duì)Z1=g、和;^=發(fā)送給A。最終,B將鏈接到挑戰(zhàn)的識(shí)別裝置的信息發(fā)送給A,該信息被如下設(shè)計(jì)=4。=g6_1且Z2i。,并且A輸出其對(duì)Z2"的猜測。如果A在該游戲中獲勝,則=并且B可以對(duì)接收到的mCDH實(shí)例給出相同的答案。ReencryptGame證明結(jié)束。作為第二個(gè)基于游戲的證明的基礎(chǔ),攻擊者可以偷取或者以其他方式得到用于另一用戶的元組(x1;x2),然后設(shè)法認(rèn)證為該用戶。這對(duì)應(yīng)于得到識(shí)別裝置然后設(shè)法認(rèn)證為其合法所有者。游戲Authenticate(Ua)可以被理解為捕獲這個(gè)攻擊。AuthenticateGame(認(rèn)證游戲)假定對(duì)手A,其目標(biāo)是在沒有某用戶的密值,特別是僅為該用戶所知的密值y且zeZ;,的條件下作為該用戶執(zhí)行第一認(rèn)證協(xié)議。本游戲示出在有關(guān)識(shí)別裝置的憑證(credential)(對(duì)(X1,X2))被偷取的情況下對(duì)用戶進(jìn)行保護(hù),該偷取可能使用欺詐的RFID標(biāo)簽閱讀器進(jìn)行。允許A自由執(zhí)行該協(xié)議的所有算法(作為用戶A)。然后,A挑選用戶I*作為其選擇;A還接收目的地為I*的任何識(shí)別裝置。最后,A進(jìn)行第一認(rèn)證協(xié)議,產(chǎn)生必須使模擬器確信他是I并且已經(jīng)擁有該物件的值。我們將本游戲稱為Authenticate(認(rèn)證)。注意,本游戲還會(huì)排除故意將有關(guān)識(shí)別裝置的憑證泄露給第三方的用戶。命題2如果對(duì)手A具有非空優(yōu)勢AuthA=Pr[A在游戲Authenticate中勝出]則概率多項(xiàng)式時(shí)間算法B就能夠創(chuàng)建這樣的環(huán)境在該環(huán)境中,概率多項(xiàng)式時(shí)間算法B使用A的優(yōu)勢解出計(jì)算性迪菲·赫爾曼問題(CDH)的給定實(shí)例。征明我們?nèi)缦露xB。給定B是⑶H問題的隨機(jī)實(shí)例(g,g%gb),并且B希望使用A來計(jì)算gab。算法B模擬A在其中操作的環(huán)境。模擬器B挑選,々-Ζ;并設(shè)置igP,并且公布針對(duì)圖3所述的公共參數(shù)。攻擊者能夠注冊為他選擇的任意身份I。A能夠?qū)⑷我庾R(shí)別裝置初始化為他選擇的任意用戶。如針對(duì)圖3所述的那樣執(zhí)行運(yùn)送協(xié)議,因此,A能自由地要求B對(duì)他接收到的任意識(shí)別裝置或者對(duì)他已初始化的任意識(shí)別裝置執(zhí)行運(yùn)送協(xié)議。然后,攻擊者能夠與他選擇的每個(gè)用戶進(jìn)行認(rèn)證協(xié)議在這種情況下,B通過選擇Xl,yi和Z1并由此得知所有保密信息來創(chuàng)建被模擬方I(除了I*之外)。最后,A能夠執(zhí)行針對(duì)圖3所述的接收協(xié)議,聲明目標(biāo)用戶I并且由此從B接收(不=,χ2=,其中‘二Ζ;。然后,攻擊者A從之前未查詢的身份中選擇他希望認(rèn)證為的身份1#。A接收I的公共信息和g^y-1。A能夠接收以I為目的地的識(shí)別裝置信息B挑選<formula>formulaseeoriginaldocumentpage23</formula>并且將<formula>formulaseeoriginaldocumentpage23</formula>發(fā)送給A。為了觸發(fā)挑戰(zhàn),A作為I*將接收到的識(shí)別裝置之一的標(biāo)識(shí)符發(fā)送到B。于是,B回答以隨機(jī)口令gb。根據(jù)協(xié)議,A必須回答以Y"和。如果A在該游戲中獲勝,則=<^并且B能夠?qū)邮盏降蘑荋實(shí)例給出相同的答案。AuthenticateGame證明結(jié)束。根據(jù)第二示例方法,可以如上面針對(duì)圖5所述的那樣執(zhí)行Rll和Rll之前的步驟。在下面的示例中,第二用戶120再次被稱為用戶B。用戶B可以是與用戶C相同的用戶;用戶B還可以是也訪問過識(shí)別裝置100的不同的用戶。用戶B120可以通過將識(shí)別裝置的標(biāo)識(shí)符DevID發(fā)送給用戶B來初始化認(rèn)證過程。根據(jù)一個(gè)示例,用戶AllO和用戶B120二者都擁有值(X1,X2,X3)。所述三元組或所存儲(chǔ)的多個(gè)值可以在在RlO處接收到識(shí)別裝置100時(shí)已經(jīng)從該識(shí)別裝置100中被讀取,或者可以在在M42處初始化識(shí)別裝置100之后已經(jīng)被存儲(chǔ)。下面的示例繼續(xù)上述約定,其中,下標(biāo)A標(biāo)識(shí)與用戶AllO對(duì)應(yīng)的值,下標(biāo)B標(biāo)識(shí)與用戶B120對(duì)應(yīng)的值。為了繼續(xù)認(rèn)證過程,用戶AllO可以選擇隨機(jī)數(shù)(nonce)nAeZ*p??梢詫㈦S機(jī)數(shù)理解為這樣的一個(gè)值該值用于使接收者(recipient)確信一條消息不是攻擊者觀察到的一條舊消息的重播。然后,用戶AllO可以計(jì)算,⑶廣),并且將所計(jì)算的值發(fā)送給用戶Β120??梢詫BEbOii)理解為表示為用戶Β120加密的消息或者利用用戶Β120的公共密值(例如,公共密鑰)加密的消息。在這種情況下,m是//(5)\口')??梢詫⑵渌道斫鉃獒槍?duì)圖5所述的值。類似地,用戶B120可以選擇隨機(jī)數(shù)e。然后,用戶B120可以計(jì)算/你乂丑,⑶產(chǎn))并且將其發(fā)送回用戶A110??梢詫BEA(m)理解為表示為用戶AllO加密的消息或者利用用戶AllO的公共密值(例如,公共密鑰)加密的消息。在A20處,如果用戶AllO和用戶B120二者都訪問過相同的識(shí)別裝置100,那么他們就可以導(dǎo)出一個(gè)共用共享密鑰。因此,<formula>formulaseeoriginaldocumentpage24</formula><formula>formulaseeoriginaldocumentpage24</formula><formula>formulaseeoriginaldocumentpage24</formula><formula>formulaseeoriginaldocumentpage24</formula><formula>formulaseeoriginaldocumentpage24</formula>該共享密鑰可以用于由每個(gè)用戶向其它用戶證明他們已經(jīng)合法訪問過識(shí)別裝置100。為了對(duì)握手封口,也即,為了完成認(rèn)證過程,用戶可以使用傳統(tǒng)的挑戰(zhàn)-響應(yīng)協(xié)議來證明雙方都知道共享密鑰而沒有將其泄露。因此,將第一共享密鑰與第二共享密鑰進(jìn)行比較可以被理解為使用挑戰(zhàn)-響應(yīng)協(xié)議驗(yàn)證共享密鑰是相等的??梢允褂妹荑€K來保護(hù)第一用戶110與第二用戶120之間的通信??梢酝ㄟ^下面的圖式來加強(qiáng)對(duì)用戶AllO與用戶B120之間的交互的理解。圖式7第二認(rèn)證協(xié)議<table>tableseeoriginaldocumentpage24</column></row><table>針對(duì)圖6所述的第二方法的好處可以是使用身份而非證書(也即,使用基于身份的密碼系統(tǒng)而非傳統(tǒng)的公共密鑰密碼系統(tǒng))能夠幫助實(shí)現(xiàn)更加容易的密鑰管理。第二方法的其它好處可以是與第一方法相比,減少了用戶與TTP130之間的交互的數(shù)量。上面針對(duì)圖6所述的第一方法和第二方法兩種方法的優(yōu)點(diǎn)可以是由于在用戶身份的公共密鑰下加密以該用戶為目的地的口令,因此偷聽口令或讀取存儲(chǔ)在識(shí)別裝置100上的多個(gè)值將不會(huì)危及該方法的安全性。第一認(rèn)證協(xié)議和第二認(rèn)證協(xié)議二者的其它好處可以是用戶具有強(qiáng)烈動(dòng)機(jī)不披露提供給該用戶的私有密值。例如,如果用戶AllO將他的私有密值A(chǔ)_PrCV披露給攻擊者,那么該攻擊者將能夠認(rèn)證為用戶A110。下面基于游戲的證明示出,如果對(duì)手掌握了除與挑戰(zhàn)識(shí)別裝置和挑戰(zhàn)用戶相關(guān)聯(lián)的密值之外的所有密值,則該對(duì)手不能假冒挑戰(zhàn)用戶。本游戲廣泛到足以包括下列元素來自偷聽者的密鑰交換的隱私,若干參與者的串通,以及欺詐識(shí)別裝置信息的偽造??紤]對(duì)手A,其目的是執(zhí)行一項(xiàng)成功認(rèn)證——由此使另一用戶確信他已經(jīng)合法訪問過識(shí)別裝置——而不使用合法信息。具體來說,A沒有用于兩個(gè)挑戰(zhàn)對(duì)象,即給定用戶ν以及給定識(shí)別裝置,的元組(ZwAy不J。ImpersonateGame(假冒游戲)允許A自由執(zhí)行協(xié)議的所有算法。然后,模擬器B初始化挑戰(zhàn)標(biāo)簽,而且對(duì)手能夠得到用于作為他選擇的任意用戶(除了作為挑戰(zhàn)對(duì)象的用戶之外)執(zhí)行針對(duì)那個(gè)識(shí)別裝置的成功認(rèn)證(根據(jù)第二認(rèn)證協(xié)議)的信息。最后,攻擊者挑選挑戰(zhàn)用戶^,并被要求運(yùn)行成功的認(rèn)證,使模擬器確信他是已擁有挑戰(zhàn)標(biāo)簽的用戶K。具體來說,在游戲結(jié)束時(shí),要求攻擊者輸出密鑰K。我們將該游戲稱為Impersonate(假冒)。命題3如果對(duì)手A具有非空優(yōu)勢ImpersonateA=Pr[Α在游戲Impersonate中勝出]則概率多項(xiàng)式時(shí)間算法B能夠創(chuàng)建這樣的環(huán)境在該環(huán)境中,概率多項(xiàng)式時(shí)間算法B使用A的優(yōu)勢解決雙線性決策性迪菲·赫爾曼問題(BDDH)的給定實(shí)例。證明我們?nèi)缦露xB。給定B是BDDH問題的隨機(jī)實(shí)例(g,g%gb,g%gx),并且B希望使用A來檢查是否χ=abc。算法B模擬A在其中操作的環(huán)境。模擬器B設(shè)置整數(shù)m=4q,其中q是對(duì)人在他對(duì)各種協(xié)議進(jìn)行查詢的整個(gè)過程中將考慮的身份數(shù)量的上限。然后,B選擇丨0,#并且選擇兩個(gè)隨機(jī)向量χ={x,}二二{0,-!}"和;T=^C1Iz;"。定義下面的函數(shù)F(V)=(p-mk)+x0+Σievxi;J(ν)=y0+Σievyi,將Κ(ν)定義為0,若X0+^xl=0modmieV=其它模擬器將g設(shè)為從決策性雙線性迪菲赫爾曼(BDH)挑戰(zhàn)接收到的生成元(可以將BDH挑戰(zhàn)理解為如B.Waters的“EfficientIdentity-BasedEncryptionWithoutRandomOracles"(EUROCRYPT,第114-127頁,2OO5年)中所定義的那樣)i/Q=(^1/‘、和U,=(gb)x'gy';然后,模擬器挑選α^Z;,設(shè)置S=ga且y^f—1,并且根據(jù)如針對(duì)圖5所定義的協(xié)議規(guī)則公布公共系統(tǒng)參數(shù)。注意,這里H(V)=隊(duì)11^汛=#(+~),其中¥是索引i的集合,其中,即將到來的串的第i比特等于1。首先,攻擊者接收所有基于身份的加密(IdentityBasedEncryption,IBE)私有密鑰通過這樣的方式,IBE的保護(hù)失效。因此,在本證明的剩余部分略去了符號(hào)IBE(·)。攻擊者可以隨意地注冊為他選擇的任意身份Vi,該Vi不同于%,從TTP接收值。A能夠?qū)⒆R(shí)別裝置初始化為他選擇的任意用戶。A能夠自主地執(zhí)行該操作而不牽涉模擬器。在如針對(duì)圖5定義的那樣運(yùn)行可替換運(yùn)送協(xié)議時(shí),攻擊者A將識(shí)別裝置的ID、兩個(gè)身份Vi和Vj以及元組(X1=S、Iv/,X2=gr,X3=H(Vi)r)發(fā)送給B。B如可替換運(yùn)送協(xié)議所要求的那樣計(jì)算Xv=^1-Ivs=SlagIvs1X3"‘丨\=^3-=HivjY并且將元組(X1,,X2,,X3,)發(fā)送回A0最后,A能夠簡單地通過讀取所存儲(chǔ)的多個(gè)值、存儲(chǔ)這些值以及將這些值與識(shí)別裝置的標(biāo)識(shí)符DevID相關(guān)聯(lián)來執(zhí)行參照?qǐng)D5所定義的、以RlO開始的接收協(xié)議。然后,B初始化新識(shí)別裝置,該新識(shí)別裝置將成為挑戰(zhàn)的對(duì)象。然后,A被授權(quán)接收——對(duì)于他選擇的任意用戶Vi——運(yùn)行成功的握手或者認(rèn)證為該用戶所必須的信息。因此,々將\發(fā)送給B。如果K(Vi)=0,則B中止并輸出隨機(jī)猜測。如果不然,則B挑選并且計(jì)算(-J^jIVXi二{g^[(Sb)n^V/<=gaai^mr^ji^y=SabIvJ-1其中,F(xiàn)=。通過對(duì)(X1,X2),攻擊者能夠執(zhí)行任何他想要的認(rèn)證,但是不能執(zhí)行如針對(duì)圖5描述的可替換運(yùn)送協(xié)議。此外,給定兩個(gè)身份Vi和Vj的對(duì)(X1,X2),則攻擊者能夠通過執(zhí)行第二認(rèn)證協(xié)議檢查接收到的憑證是否真的鏈接到所查詢的身份。因此,由B提供給A的模擬是理想的。然后,攻擊者A選擇他之前沒有查詢過的身份ν;如果Xtl+ΣievXiΦkm,則模擬器中止并提交隨機(jī)猜測。否則的話,我們有F(vJ=Omodp,這意味著i/(74)=/(Vt)。然后,B根據(jù)對(duì)第二認(rèn)證協(xié)議的描述,作為口令發(fā)送對(duì)(//(vj=(gc)JM,S'c)。A回答以(H(Vir,s'1O,并且接著輸出密鑰K。如果A在該游戲中獲勝,則ι=興&力如。因此,B能夠通過檢查^^,OS'T—1)=火是否正確來解決BDDH問題。ImpersonateGame證明結(jié)束。前述說明涉及到將多個(gè)值存儲(chǔ)在由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置(100)上的示例。但是,應(yīng)當(dāng)理解的是,提供多個(gè)值可以包括借助傳輸介質(zhì)發(fā)送值,傳輸介質(zhì)諸如導(dǎo)引型介質(zhì)(例如,銅線和光纖)、無線介質(zhì)或衛(wèi)星介質(zhì)。可以將“與由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置(100)對(duì)應(yīng)的多個(gè)值”中的“與...對(duì)應(yīng)的”這一術(shù)語理解為表示該多個(gè)值包括由該標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置(100)的加密標(biāo)識(shí)符??梢詫ⅰ芭c用戶對(duì)應(yīng)的公共密值或私有密值”中的術(shù)語“與...對(duì)應(yīng)的”理解為表示該密值屬于該用戶或者該密值已經(jīng)被分配給該用戶(例如,由TTP130分配)。圖7示出了用于實(shí)現(xiàn)上述方面和實(shí)施例的示范性系統(tǒng),包括傳統(tǒng)計(jì)算環(huán)境920形式的通用計(jì)算設(shè)備(例如,個(gè)人計(jì)算機(jī))。傳統(tǒng)計(jì)算環(huán)境包括處理單元922、系統(tǒng)存儲(chǔ)器924、系統(tǒng)總線926。系統(tǒng)總線將包括系統(tǒng)存儲(chǔ)器924的各種系統(tǒng)組件耦接到處理單元922。處理單元922可以通過訪問系統(tǒng)存儲(chǔ)器924來執(zhí)行算術(shù)的、邏輯的和/或控制操作。系統(tǒng)存儲(chǔ)器924可以存儲(chǔ)用以結(jié)合處理單元922使用的信息和/或指令。系統(tǒng)存儲(chǔ)器924可以包括易失性和非易失性存儲(chǔ)器,諸如隨機(jī)存取存儲(chǔ)器(RAM)928和只讀存儲(chǔ)器(ROM)930?;据斎?輸出系統(tǒng)(BIOS)可以存儲(chǔ)在ROM930中,BIOS包含諸如在啟動(dòng)期間幫助在個(gè)人計(jì)算機(jī)920內(nèi)的元件之間傳遞信息的基本例程。系統(tǒng)總線926可以是使用各種總線架構(gòu)中任意一種的、包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外設(shè)總線和本地總線在內(nèi)的若干類型的總線結(jié)構(gòu)中的任意一種。個(gè)人計(jì)算機(jī)920還可以包括硬盤驅(qū)動(dòng)器932,用于從硬盤(未示出)讀取或向硬盤寫入;以及外部盤驅(qū)動(dòng)器934用于從可移動(dòng)盤936讀取或向其寫入??梢苿?dòng)盤可以是用于磁盤驅(qū)動(dòng)器的磁盤,或者用于光盤驅(qū)動(dòng)器的諸如⑶ROM這樣的光盤。硬盤驅(qū)動(dòng)器932和外部盤驅(qū)動(dòng)器934分別通過硬盤驅(qū)動(dòng)器接口938和外部盤驅(qū)動(dòng)器接口940連接到系統(tǒng)總線926。這些驅(qū)動(dòng)器及它們關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)提供對(duì)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊及用于個(gè)人計(jì)算機(jī)920的其它數(shù)據(jù)的非易失性存儲(chǔ)。數(shù)據(jù)結(jié)構(gòu)可以包括用于實(shí)施如上所述對(duì)第一用戶向第二用戶發(fā)送的通信進(jìn)行安全保護(hù)的方法或系統(tǒng)的相關(guān)數(shù)據(jù)。該相關(guān)數(shù)據(jù)可以以數(shù)據(jù)庫進(jìn)行組織,例如關(guān)系數(shù)據(jù)庫或?qū)ο髷?shù)據(jù)庫。盡管這里描述的示范性環(huán)境采用了硬盤(未示出)和外部盤936,但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,也可以在示范性操作環(huán)境中使用能夠存儲(chǔ)可由計(jì)算機(jī)讀取的數(shù)據(jù)的其它類型的計(jì)算機(jī)可讀介質(zhì),諸如磁帶、閃存卡、數(shù)字光盤、隨機(jī)存取存儲(chǔ)器、只讀存儲(chǔ)器等等??梢詫⒃S多程序模塊存儲(chǔ)在硬盤、外部盤936、R0M930或RAM928上,包括操作系統(tǒng)(未示出)、一個(gè)或多個(gè)應(yīng)用程序944、其它程序模塊(未示出)及程序數(shù)據(jù)946。應(yīng)用程序可以包括至少如圖1至圖6所示的功能的一部分。如下面所討論的,用戶可以通過諸如鍵盤948和鼠標(biāo)950之類的輸入設(shè)備將命令和信息輸入到個(gè)人計(jì)算機(jī)920中。其它輸入設(shè)備(未示出)可以包括麥克風(fēng)(或其它傳感器)、操縱桿、游戲手柄、掃描儀等等。這些及其它輸入設(shè)備可以通過耦接到系統(tǒng)總線926的串行端口接口952連接到處理單元922,或者可以通過諸如并行端口接口954、游戲端口或者通用串行總線(USB)之類的其它接口集中。而且,可以使用打印機(jī)956打印信息。打印機(jī)956及其它并行輸入/輸出設(shè)備可以通過并行端口接口954連接到處理單元922。監(jiān)視器958或其它類型的顯示設(shè)備也經(jīng)由諸如視頻輸入/輸出960之類的接口連接到系統(tǒng)總線926。除了監(jiān)視器之外,計(jì)算環(huán)境920還可以包括其它外圍輸出設(shè)備(未示出),諸如揚(yáng)聲器或其它可聽輸出。計(jì)算環(huán)境920可以與諸如計(jì)算機(jī)、電話(有線或無線)、個(gè)人數(shù)字助理、電視機(jī)等其它電子設(shè)備通信。為了通信,計(jì)算環(huán)境920可以使用到一個(gè)或多個(gè)電子設(shè)備的連接在聯(lián)網(wǎng)環(huán)境中工作。圖7示出了與遠(yuǎn)程計(jì)算機(jī)962聯(lián)網(wǎng)的計(jì)算機(jī)環(huán)境。遠(yuǎn)程計(jì)算機(jī)962可以是另一計(jì)算環(huán)境,諸如服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其它公用網(wǎng)絡(luò)節(jié)點(diǎn),并且可以包括上面相對(duì)于計(jì)算環(huán)境920所述的多個(gè)或全部元件。圖7中所示的邏輯連接包括局域網(wǎng)(LAN)964和廣域網(wǎng)(WAN)966。這樣的聯(lián)網(wǎng)環(huán)境在辦公室中、企業(yè)域計(jì)算機(jī)網(wǎng)絡(luò)、以太網(wǎng)及互聯(lián)網(wǎng)中是常見的,并且具體情況下可以被加密。當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算環(huán)境920可以通過網(wǎng)絡(luò)I/O968連接到LAN964。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算環(huán)境920可以包括調(diào)制解調(diào)器970或者用于在WAN966上建立通信的其它部件。可以在計(jì)算環(huán)境920內(nèi)部或外部的調(diào)制解調(diào)器970經(jīng)由串行端口接口952連接到系統(tǒng)總線926。在聯(lián)網(wǎng)環(huán)境中,相對(duì)于計(jì)算環(huán)境920所示的程序模塊或者其部分可以存儲(chǔ)在駐留在遠(yuǎn)程計(jì)算機(jī)962上或者可為遠(yuǎn)端計(jì)算機(jī)962訪問的遠(yuǎn)程存儲(chǔ)設(shè)備中。而且,與對(duì)第一用戶向第二用戶發(fā)送的通信進(jìn)行安全保護(hù)(如上所述)相關(guān)的其它數(shù)據(jù)可以駐留在遠(yuǎn)程計(jì)算機(jī)962上或者可經(jīng)由遠(yuǎn)程計(jì)算機(jī)962訪問。應(yīng)當(dāng)理解的是,所示的網(wǎng)絡(luò)連接是示范性的,并且可以使用用于建立電子設(shè)備之間的通信鏈接的其它手段。上述的計(jì)算系統(tǒng)只是可以用于實(shí)現(xiàn)如上所述的對(duì)第一用戶向第二用戶發(fā)送的通信進(jìn)行安全保護(hù)的方法中任意一種方法的計(jì)算系統(tǒng)的類型的一個(gè)示例。參考列表100識(shí)別裝置110第一用戶,用戶A120第二用戶,用戶B,用戶C130TTP920傳統(tǒng)計(jì)算環(huán)境922處理單元924系統(tǒng)存儲(chǔ)器926系統(tǒng)總線928隨機(jī)存取存儲(chǔ)器(RAM)930只讀存儲(chǔ)器(ROM)932硬盤驅(qū)動(dòng)器934外部盤驅(qū)動(dòng)器936可移動(dòng)盤938硬盤驅(qū)動(dòng)器接口940外部盤驅(qū)動(dòng)器接口944一個(gè)或多個(gè)應(yīng)用程序946程序數(shù)據(jù)948鍵盤950鼠標(biāo)952串行端口接口954并行端口接口956打印機(jī)958監(jiān)視器960視頻輸入/輸出962遠(yuǎn)程計(jì)算機(jī)局域網(wǎng)(LAN)9冊廣域網(wǎng)(WAN)968網(wǎng)絡(luò)I/O970調(diào)制解調(diào)器Device(裝置)識(shí)別裝置A_PrCV用戶A的至少一個(gè)私有密值A(chǔ)_PubCV用戶A的至少一個(gè)公共密值B_PrCV用戶B的至少一個(gè)私有密值B_PubCV用戶B的至少一個(gè)公共密值DevCID識(shí)別裝置的加密標(biāo)識(shí)符f(DevCID)識(shí)別裝置的加密標(biāo)識(shí)符的函數(shù)f(A_PrCV)用戶A的至少一個(gè)私有密值的函數(shù)f(B_PrCV)用戶B的至少一個(gè)私有密值的函數(shù)f(DevCID,A_PrCV)識(shí)別裝置的加密標(biāo)識(shí)符和用戶A的至少一個(gè)私有密值的函數(shù)A_ID用戶A的標(biāo)識(shí)符B_ID用戶B的標(biāo)識(shí)符DB數(shù)據(jù)庫X2存儲(chǔ)在識(shí)別裝置上的第二值X'2存儲(chǔ)在識(shí)別裝置上的更新后的第二值DevID識(shí)別裝置的標(biāo)識(shí)符或序列號(hào)f(A_ID)用戶A的標(biāo)識(shí)符的函數(shù)f(DevCID,B_PrCV)識(shí)別裝置的加密標(biāo)識(shí)符和用戶B的至少一個(gè)私有密值的函數(shù)f(B_ID)用戶B的標(biāo)識(shí)符的函數(shù)C_PrCV用戶C的至少一介私有密值C_PubCV用戶C的至少一個(gè)公共密值。權(quán)利要求一種對(duì)第一用戶(110)向第二用戶(120)發(fā)送的通信進(jìn)行安全保護(hù)的計(jì)算機(jī)實(shí)現(xiàn)的方法,該方法包括由第一用戶(110)從可信第三方(130)接收(M2)與第一用戶對(duì)應(yīng)的至少一個(gè)公共密值以及與第一用戶對(duì)應(yīng)的至少一個(gè)私有密值;由第一用戶(110)向第二用戶(120)提供與由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置(100)對(duì)應(yīng)的多個(gè)值;由第一用戶(110)使用第一用戶的所述至少一個(gè)私有密值、以及與由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置(100)對(duì)應(yīng)的多個(gè)值中的至少一個(gè)值,導(dǎo)出(M5)共享密鑰;以及利用所述共享密鑰對(duì)第一用戶(110)向第二用戶(120)發(fā)送的通信進(jìn)行保護(hù)(M7)。2.如權(quán)利要求1所述的方法,其中,提供多個(gè)值包括提供第一值,該第一值是所述識(shí)別裝置的加密標(biāo)識(shí)符的函數(shù)。3.如權(quán)利要求1或2所述的方法,其中,提供多個(gè)值包括提供第二值,該第二值是第二用戶(120)的至少一個(gè)私有密值的函數(shù)。4.如前述權(quán)利要求中任意一項(xiàng)所述的方法,其中,提供多個(gè)值包括由第一用戶將多個(gè)值存儲(chǔ)在由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置(100)上。5.如權(quán)利要求4所述的方法,其中,存儲(chǔ)多個(gè)值包括通過用再加密的值取代所存儲(chǔ)的多個(gè)值中的至少一個(gè)值來更新(UP10)所存儲(chǔ)的多個(gè)值。6.如權(quán)利要求4結(jié)合權(quán)利要求3所述的方法,還包括由第一用戶(110)從可信第三方(130)接收作為第二用戶(120)的保密密值的函數(shù)的值;使用作為第二用戶(120)的保密密值的函數(shù)的所述值,計(jì)算作為第二用戶的私有密值的函數(shù)的值;通過用所計(jì)算的值取代所存儲(chǔ)的多個(gè)值中的第二值,來更新(UP10)所存儲(chǔ)的多個(gè)值;以及將更新后的多個(gè)值存儲(chǔ)在由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置上。7.如權(quán)利要求5結(jié)合權(quán)利要求3所述的方法,其中,更新所存儲(chǔ)的多個(gè)值包括由第一用戶(110)將所存儲(chǔ)的多個(gè)值中的第二值發(fā)送(SS10)到可信第三方(130);以及由第一用戶(110)從所述可信第三方(130)接收再加密的值,其中,該再加密的值是從所存儲(chǔ)的多個(gè)值中的第二值導(dǎo)出的。8.如權(quán)利要求1所述的方法,其中,提供多個(gè)值包括提供第一值,該第一值是第二用戶的至少一個(gè)私有密值的函數(shù)。9.如前述權(quán)利要求中任意一項(xiàng)所述的方法,還包括執(zhí)行相互認(rèn)證,以驗(yàn)證第一用戶(110)和第二用戶(120)已經(jīng)訪問過由所述標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置(100)。10.如權(quán)利要求9所述的方法,其中,導(dǎo)出所述共享密鑰包括執(zhí)行相互認(rèn)證,并且其中,執(zhí)行相互認(rèn)證包括由第一用戶(110)向第二用戶(120)發(fā)送隨機(jī)口令;以及由第一用戶(110)從第二用戶(120)接收(A12)作為該隨機(jī)口令和第二用戶的至少一個(gè)私有密值的函數(shù)的值。11.如權(quán)利要求9或10所述的方法,還包括由第一用戶(110)將所存儲(chǔ)的多個(gè)值中的第二值的函數(shù)與第二用戶(120)的至少一個(gè)公共密值的函數(shù)相比較(A13)。12.如權(quán)利要求9所述的方法,其中,執(zhí)行相互認(rèn)證包括將第一用戶(110)導(dǎo)出的共享密鑰與第二用戶(120)的共享密鑰相比較(A20)。13.如權(quán)利要求11或12所述的方法,其中,通過提供值作為可有效計(jì)算的、非退化雙線性映射的輸入來執(zhí)行每個(gè)比較操作,其中對(duì)于所述雙線性映射的計(jì)算性迪菲赫爾曼問題無法被有效計(jì)算。14.一種包括計(jì)算機(jī)可讀指令的計(jì)算機(jī)程序產(chǎn)品,所述指令在被加載到計(jì)算機(jī)系統(tǒng)上并在計(jì)算機(jī)系統(tǒng)上運(yùn)行時(shí),使得計(jì)算機(jī)系統(tǒng)執(zhí)行根據(jù)前述權(quán)利要求中任意一項(xiàng)權(quán)利要求的方法的操作。15.一種提供對(duì)多個(gè)用戶之間的通信進(jìn)行安全保護(hù)的計(jì)算機(jī)系統(tǒng),該系統(tǒng)包括識(shí)別裝置(100),包括射頻識(shí)別標(biāo)簽,其中該識(shí)別裝置(100)由標(biāo)識(shí)符標(biāo)識(shí),其中該識(shí)別裝置包括存儲(chǔ)器;第一計(jì)算機(jī)(110),其可操作用于處理用于將多個(gè)值存儲(chǔ)在由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置上的指令;第二計(jì)算機(jī);和第三計(jì)算機(jī),其可操作用于將至少一個(gè)公共密值提供給第一計(jì)算機(jī)和第二計(jì)算機(jī);將至少一個(gè)私有密值提供給第一計(jì)算機(jī)和第二計(jì)算機(jī);其中,第一計(jì)算機(jī)可操作用于從提供給第一計(jì)算機(jī)的至少一個(gè)私有密值和存儲(chǔ)在由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置(100)上的多個(gè)值中的至少一個(gè)值導(dǎo)出共享密鑰;其中,第二計(jì)算機(jī)可操作用于從提供給第二計(jì)算機(jī)的至少一個(gè)私有密值和存儲(chǔ)在由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置(100)上的另外的多個(gè)值中的至少一個(gè)值導(dǎo)出該共享密鑰。全文摘要本發(fā)明具體描述了用于對(duì)第一用戶向第二用戶發(fā)送的通信進(jìn)行安全保護(hù)的計(jì)算機(jī)實(shí)現(xiàn)的方法、計(jì)算機(jī)程序產(chǎn)品和計(jì)算機(jī)系統(tǒng)。所述用于對(duì)第一用戶向第二用戶發(fā)送的通信進(jìn)行安全保護(hù)的計(jì)算機(jī)實(shí)現(xiàn)的方法可以包括由第一用戶從可信第三方接收與第一用戶對(duì)應(yīng)的至少一個(gè)公共密值以及與第一用戶對(duì)應(yīng)的至少一個(gè)私有密值;由第一用戶向第二用戶提供與由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置對(duì)應(yīng)的多個(gè)值;由第一用戶使用第一用戶的所述至少一個(gè)私有密值以及由標(biāo)識(shí)符標(biāo)識(shí)的識(shí)別裝置上存儲(chǔ)的多個(gè)值中的至少一個(gè)值導(dǎo)出共享密鑰;以及利用所述共享密鑰對(duì)第一用戶向第二用戶發(fā)送的通信進(jìn)行保護(hù)。文檔編號(hào)H04L9/30GK101834725SQ201010122648公開日2010年9月15日申請(qǐng)日期2010年3月12日優(yōu)先權(quán)日2009年3月13日發(fā)明者亞歷山德羅·索尼奧蒂,弗洛里安·克施鮑姆申請(qǐng)人:Sap股份公司