CN101834725B - 对第一用户发送到第二用户的通信进行安全保护 - Google Patents
对第一用户发送到第二用户的通信进行安全保护 Download PDFInfo
- Publication number
- CN101834725B CN101834725B CN201010122648.8A CN201010122648A CN101834725B CN 101834725 B CN101834725 B CN 101834725B CN 201010122648 A CN201010122648 A CN 201010122648A CN 101834725 B CN101834725 B CN 101834725B
- Authority
- CN
- China
- Prior art keywords
- user
- value
- recognition device
- identifier
- multiple values
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
本说明书具体描述了用于对第一用户向第二用户发送的通信进行安全保护的计算机实现的方法、计算机程序产品和计算机系统。所述用于对第一用户向第二用户发送的通信进行安全保护的计算机实现的方法可以包括:由第一用户从可信第三方接收与第一用户对应的至少一个公共密值以及与第一用户对应的至少一个私有密值;由第一用户向第二用户提供与由标识符标识的识别装置对应的多个值;由第一用户使用第一用户的所述至少一个私有密值以及由标识符标识的识别装置上存储的多个值中的至少一个值导出共享密钥;以及利用所述共享密钥对第一用户向第二用户发送的通信进行保护。
Description
技术领域
本说明书涉及使用密码术对从第一用户到第二用户的通信进行安全保护。
背景技术
支持物件跟踪和追踪的识别装置会是有用的。每个物件可以装备有带标识符的识别装置,该标识符也被称作序列号。识别装置可以实施为射频识别(Radio Frequency Identification,RFID)标签,并且可以经由射频通信读取。可以一次读取多个识别装置。
存在有源RFID标签和无源RFID标签。有源RFID标签有其自己的电源,而无源RFID标签完全依靠阅读器发出的信号的功率工作。阅读器是一种特殊装置,其能够与标签互操作并且读取存储在标签的存储器中的标识符。更复杂且功能更强大的标签能够将信息存储在存储器中,甚至还能执行诸如散列操作(hashing)之类的简单加密操作。
发明内容
根据一个方面,提供一种对第一用户向第二用户发送的通信进行安全保护的计算机实现的方法。该方法可以包括下列步骤:由第一用户从可信第三方接收与第一用户对应的至少一个公共密值以及与第一用户对应的至少一个私有密值;由第一用户向第二用户提供与由标识符标识的识别装置对应的多个值;由第一用户使用第一用户的所述至少一个私有密值以及由标识符标识的识别装置上存储的多个值中的至少一个值导出共享密钥;以及利用所述共享密钥对第一用户向第二用户发送的通信进行保护。
由第一用户导出的共享密钥等于第二用户的共享密钥。
因此,两个用户可能都访问过由标识符标识的识别装置,其中,该识别装置可以是射频识别标签。
第二用户可以从所述可信第三方接收至少一个公共密值和至少一个私 有密值。而且,第二用户可以从第二用户的至少一个私有密值以及存储在由标识符标识的识别装置上的多个值中的至少一个值导出共享密钥。
提供多个值可以包括提供第二值,该第二值是第二用户的至少一个私有密值的函数。而且,所存储的第二值可以是生成元的幂。
提供多个值可以包括提供第一值,该第一值是识别装置的加密标识符(cryptographic identifier)的函数。此外,该加密标识符可以是生成元的幂。
提供多个值可以包括由第一用户将多个值存储在由标识符标识的识别装置上。
提供多个值可以包括由第一用户向第二用户发送与由标识符标识的识别装置对应的多个值。可以将发送多个值理解为将值存储在由标识符标识的识别装置上的可替换操作。而且,可以发送与多个识别装置对应的值的集合。
可以是这样的情况,通过用再加密的值取代所存储的多个值中的至少一个值来更新所存储的多个值。
而且,所述方法可以包括:由第一用户(110)从所述可信第三方(130)接收值,该值是第二用户(120)的保密密值的函数;使用作为第二用户(120)的保密密值的函数的所述值计算作为第二用户的私有密值的函数的值;通过用所计算的值取代所存储的多个值中的第二值,来更新(UP10)所存储的多个值;以及将更新后的多个值存储在由标识符标识的识别装置上。
而且,所述方法可以包括:由第一用户将所存储的多个值中的第二值发送到可信第三方;以及由第一用户从所述可信第三方接收所述再加密的值,其中,该再加密的值是从所存储的多个值中的第二值导出的。
对所存储的多个值中的第二值的再加密操作可以由可信第三方执行。此外,所存储的多个值中的第二值和再加密后的第二值可以分别是生成元的幂。
可以是这样的情况:提供多个值包括提供第一值,该第一值是第一用户接收到的至少一个私有密值的函数。
此外,存储多个值可以包括存储第三值,该第三值是第一用户的身份的函数。所述方法还可以包括:由第一用户从可信第三方接收值,该值是第二用户的身份的函数;通过用作为第二用户的身份的函数的所述值取代第三值,来更新所存储的多个值;由第二用户接收由标识符标识的识别装置;由第二用户将所存储的多个值中的第三值与第二用户的身份的函数相比较。
可以是这样的情况:执行相互认证,以验证第一用户和第二用户已经访问过由标识符标识的识别装置。
而且,导出所述共享密钥可以包括执行相互认证。执行相互认证可以包括:由第一用户向第二用户发送随机口令(challenge);以及由第一用户从第二用户接收值,该值是随机口令和第二用户的至少一个私有密值的函数。可以是这样的情况:接收到的值是生成元的幂。
执行相互认证还可包括由第二用户计算作为随机口令和第二用户的至少一个私有密值的函数的值。
执行相互认证还可以包括下列步骤:由第一用户将所存储的多个值中的第二值的函数与第二用户的至少一个公共密值的函数相比较。
执行相互认证还可以包括:由第二用户将所存储的多个值中的第二值的函数与第一用户的至少一个公共密值的函数相比较。
此外,执行相互认证可以包括:将第一用户导出的共享密钥与第二用户的共享密钥相比较。
上面的比较操作可以通过提供值作为可有效计算的、非退化双线性映射的输入来执行,其中所述双线性映射的计算性迪菲·赫尔曼问题无法被有效计算。
根据另一个方面,提供一种计算机程序产品。该计算机程序产品可以包括计算机可读指令,所述指令在被加载到计算机系统上并在计算机系统上运行时,使得计算机系统执行根据前述内容的方法的操作。
根据又一个方面,提供一种计算机系统,其提供对多个用户之间的通信进行的安全保护。该系统可以包括:识别装置,诸如射频识别标签,其中该识别装置由标识符标识,其中该识别装置包括存储器;第一计算机,其可操作用于处理用于将多个值存储在由标识符标识的识别装置上的指令;第二计算机;和第三计算机,其可操作用于将至少一个公共密值提供给第一计算机和第二计算机,将至少一个私有密值提供给第一计算机和第二计算机。其中,第一计算机可操作用于从提供给第一计算机的至少一个公共密值、提供给第一计算机的至少一个私有密值和存储在由标识符标识的识别装置上的多个值中的至少一个值导出共享密钥。其中,第二计算机可操作用于从提供给第二计算机的至少一个公共密值、提供给第二计算机的至少一个私有密值以及存储在由标识符标识的识别装置上的另外的多个值中的至少一个值生成该 共享密钥。
参见最近一个前述方面,由第一计算机使用的多个值(也即第一组多个值)与由第二计算机使用的另外的多个值(也即,第二组多个值)可以通过一个公用值而相关联。该公用值可以是由标识符标识的识别装置的加密标识符。
此外,该计算机系统还可以可操作用于执行上面所述方法方面的变形。
本说明书中所述的主题可以实现为方法或者系统,它们可以是一个或多个计算机程序产品的形式。本说明书中所述的主题可以以数据信号实现或在机器可读介质上实现,其中该介质被具体实现为一个或多个信息载体,诸如CD-ROM、DVD-ROM、半导体存储器或者硬盘。这些计算机程序产品可以使数据处理设备执行本说明书中所述的一个或多个操作。
此外,本说明书中所述的主题还可以实施为包括处理器和耦接到处理器的存储器的系统。存储器可以对一个或多个程序编码,该一个或多个程序使得处理器执行本说明书中所述一个或多个方法。而且,本说明书中所述的主题可以使用各种机器来实现。
下面结合示范性示意图和说明来阐述一个或多个实施方式的细节。其它特征将从说明、附图以及从权利要求中变得清楚。
附图说明
图1示出了第一用户(即用户A)将识别装置运送给第二用户(即用户B)的示例性场景。用户以及可信第三方(trusted third party,TTP)之间的数据交换以虚线绘示。实线绘示了识别装置从用户A到用户B的物理运动。
图2示出了对由第一用户向第二用户发送的通信进行安全保护的示例方法。
图3示出了准备将被运送到另一用户的识别装置的示例方法。与图2的关系经由步骤M3示出,与图4的关系经由步骤SS10至SS13示出,与图6的关系经由步骤A10示出。步骤M41表示步骤M4的可能实施方式。
图4示出了准备将被运送到另一用户的识别装置的另一示例方法。步骤M41和UP10参见图3。
图5示出了准备将被运送到另一用户的识别装置的又一示例方法。步骤M42表示步骤M4的可能实施方式。步骤A20参见图6。
图6示出了相互认证(mutual authentication)的两个示例。步骤M5和M7参见图2。步骤UP10和R11分别参见图3和图5。
图7示出了示例计算机系统的框图。
具体实施方式
技术术语和定义
贯穿说明书使用下面的技术术语。这些术语可以指代但不局限于下面的解释。
一般性定义
除非另有说明,否则可以使用下面的一般性定义。
令(G1,*)和(G2,*)为某个较大素数p的p阶群。p的比特大小由安全参数确定。某数,例如数p,的比特大小可以理解为表示p所需要的比特数。许多因素可能与安全比特大小的确定相关,包括被安全保护的通信的性质以及对第三方来说那些通信的可能价值。例如,有关干酪的通信可能不需要适用于有关核装置的通信的安全级别。而且,在某一年对特定应用来说是安全的比特大小,可能在随后一年中安全性不够。技术的进步以及密码术研究中的进展可能影响密码系统的安全性以及合适的比特大小。
根据一个示例,对于基于超奇异椭圆曲线(supersingular elliptic curve)的双线性映射(bilinear map),p的比特大小为1084比特,而对于基于非超奇异椭圆曲线的双线性映射,p的比特大小为640比特。
其中,Zp *是乘法群,其中, 并且a,b是随机选取的。
群(例如群G1)的阶,可以理解为群中元素的个数。
g是G1的随机生成元(generator)。生成元可以称为原根(primitive root)或原元素(primitive element)。一个p阶群的生成元是这样的一个数:该数的幂生成该群的所有非零元素。
如果一个群具有生成元,那么可以将该群理解为是循环的(cyclic)。
可以将用户理解为指代用户计算机或者由用户操作的计算设备。由用户执行的动作也可以包括代表用户执行的动作或在用户指导下执行的动作。术语“第一”、“第二”和“第三”用于区分多个用户。术语用户A、用户B和用户C(分别指代第一用户、第二用户和第三用户)用于方便理解公式和附 图中的术语。用户可以指代自然人或法人。
问题
下面的加密问题可能会被认为是难解的。可以将难解的问题或者无法有效计算的问题理解为这样的问题:对于该问题,没有已知的概率多项式时间(probabilistic polynomial time)(或者更加有效的)算法可以用于计算该问题的解。
概率算法(probabilistic algorithm)可以被理解为是使用随机比特指令的算法。概率算法可以与确定性算法(不使用随机比特指令的算法)相对。
问题1计算性迪菲·赫尔曼问题(Computational Diffie-Hellman Problem,CDH)就是难解的,如果对于所有概率多项式时间算法B,
AdvCDHB:=Pr[B(g,ga,gb)=gab]
在安全性参数中都是可以忽略的。换句话说,给定比特大小p,则对于给定的(g,ga,gb),存在能够对计算gab提供益处(也即,允许对gab进行有效计算)的概率多项式时间算法B的概率是可忽略的。
问题2修正的计算性迪菲·赫尔曼问题(modified ComputationalDiffie-Hellman Problem,mCDH)就是难解的,如果对于所有概率多项式时间算法B,
在安全性参数中都是可忽略的。换句话说,给定比特大小p,则对于给定的 存在能够对计算gab提供益处(也即,允许对gab进行有效计算)的概率多项式时间算法B的概率是可忽略的。
问题3双线性决策性迪菲·赫尔曼问题(Bilinear DecisionalDiffie-Hellman Problem,BDDH)就是难解的,如果对于所有概率项式时间算法B,
在安全性参数中是可忽略的。该概率是在对g∈G1, 的随机选取上得到的。换句话说,给定比特大小p,则对于给定的一组值(g,ga,gb,gc,gx),存在能够对计算是否x=abc提供益处(也即,允许对是否x=abc进行有效计算)的概率多项式时间算法B的概率是可忽略的。
这得到下列加密问题。
双线性映射
双线性映射(也称作双线性函数)是映射 G1×G1→G2,对于该映射,计算性迪菲·赫尔曼问题(CDH)不能被有效计算。此外,可以将G1和G2理解为循环群。
双线性映射满足下面三个特性:
·双线性:g,h∈G1,并且对于
·非退化性(Non-degenerate): 是G2的生成元;
·可有效计算性:对于所有g,h∈G1,存在有效计算 的算法。
满足上面三个特性的双线性映射也可以称为容许的双线性映射(admissible bilinear map)。
双线性映射的示例有基于超奇异椭圆曲线的修正的Weil对以及基于超奇异椭圆曲线的修正的Tate对。
在D.Boneh和M.K.Franklin的“Identity-Based Encryption from the WeilPairing”(Journal of Cryptology,17(4),2004)中给出了Weil对的定义以及用于计算Weil对的算法。所引用的文献还描述了Weil对与修正的Weil对之间的差别。
密值(Cryptographic value)
可以将密值理解为能够在密码操作中使用的值。密码操作包括导出共享密钥、加密、解密、再加密、认证(authentication)和散列运算(hashing)。
可以将公共密值(public cryptographic value)和私有密值(privatecryptographic value)理解为不对称密码系统的部分,在该系统中用来执行加密操作的密钥与用于执行解密操作的密钥不同。例如,公共密钥是能够用于对消息进行加密的公共密值,而私有密钥是能够用于对消息进行解密的私有密值。
私有密值可以为该值所属的用户所知和/或为可信第三方所知。可以将保密密值(secret cryptographic value)理解为只为可信第三方所知的密值,特别是在不对称密码系统的上下文中。
共享密钥
可以将共享密钥理解为用于执行对称密码操作,对称加密,的密钥。可以将对称密码系统理解为使用相同的密钥执行加密和解密操作的系统。由于可以由不同实体执行加密和解密操作,因此使用一个密钥来执行加密和解密两项操作可以理解为表示这个密钥是共享密钥。
认征
可以将认证理解为一个验证过程。在某些情况中,可以针对通信伙伴的身份来执行验证。在另一些情况中,可以针对对标识符所标识的识别装置的访问、也即合法访问来执行验证。
加密的散列函数(Cryptographic hash function)
可以将加密的散列函数、加密散列或散列理解为将任意有限长度的比特串映射成固定长度的串的函数。可以将加密的散列函数理解为是单向的且抗冲突的(collision resistant)。加密的散列函数的例子有SHA-256和SHA-512。
再加密(Re-encryption)
直观来看,再加密是在新密钥下加密数据而不揭示私有或保密密值的过程。可以在公共密钥下或在私有密钥下对值进行再加密。例如,给定两个独立的加密密钥,例如k1和k2,并且使用k1来加密数据,则可以将再加密理解为使用k2来加密该数据的过程。
识别装置
可以将识别装置理解为用于标明或识别物件或物品。物件可以是货盘、箱子或产品。识别装置可以有至少1KB的存储容量。直观来看,可以将识别装置理解为密码信封(cryptographic envelope)的载体,作为安全性协议的一部分,可以在装置之外处理该加密信封的内容。
识别装置的一个例子是射频识别(RFID)标签。RFID标签可以是有源的或者无源的。RFID标签可以是可重写的或一次性写入的。如果RFID标签不是可重写的,则该标签可以在每次写入之前用新的RFID标签替换。新的RFID标签可以具有相同的标识符。在下面的说明中,为了易于理解,隐含识别装置是可重写的。但是,也可以使用一次性写入的RFID标签,该RFID标签在每次写入之后被替换。
可以用作识别装置的RFID标签的类型可以是EPCglobal标准中所定义的第二代RFID标签中的第1类。也可以使用功能更强大或更高级的RFID标签。
可以将访问识别装置理解为包括从识别装置中读取信息。在RFID标签的情况下,访问可以包括使用RFID标签阅读器与RFID标签交互。
挑战-响应协议(challenge-response protocol)
可以将挑战-响应协议理解为一个认证协议,其中第一用户将随机数发 送到第二用户,然后第二用户对该数执行加密变换并且将变换后的数(可能与其它数据一起)返回给第一用户。
伪随机数生成器
可以将伪随机数生成器理解为是基于确定性算法的,该算法返回看起来像是统计随机的数。伪随机数生成器可以被实施为硬件中的门阵列或者计算机程序。可以将说明书中有关随机元素或随机值的选择或选取的相关内容理解为指代使用伪随机数生成器对随机数的计算。
基于身份的密码系统
基于身份的密码系统也可以称作基于身份的加密系统或基于身份的密码术系统。可以将基于身份的密码术理解为一种公共密钥密码术,其中用户的公共密钥可以是任意的串。在某些情况下,用户的公共密钥是关于该用户身份的某个唯一信息,例如,用户的电子邮件地址。
根据一个示例,可信第三方可以公布主公共密钥而保留主私有密钥。给定主公共密钥,用户可以通过将主公共密钥与身份值(例如该用户的电子邮件地址)相组合来计算公共密钥。为了得到私有密钥,用户可以联系可信第三方,可信第三方可以使用主私有密钥来生成针对该用户的私有密钥。
基于身份的密码系统可以包括使用用户的公共密钥将明文(plaintext)变换为密文(ciphertext)的加密操作。基于身份的密码系统还可以包括用户从可信第三方得到解密密钥的获取解密密钥操作。用户可以使用挑战-响应协议来得到解密密钥。此外,基于身份的密码系统可以包括将密文变换为明文的解密操作。
具体说明
下文中,将参照附图给出示例的具体说明。应当理解,可以对示例进行各种修改。除非明确指明,否则一个示例中的元素可以相结合并且用于其它示例以形成新的示例。
识别装置的一个可能应用是用于供应链管理。在供应链中,能够使用识别装置的唯一标识符来跟踪每个物件。当读取识别装置时事件发生。在最基本的级别上,这产生下列一组值:
<机构,标识符,时间戳>
通常利用诸如标识符、事件类型(例如,接收、运送、卸货等等)以及取决于事件类型的附加字段之类的附加信息来扩大该组值。
公司由于许多原因而对通信链接到事件的信息感兴趣。一个原因可能是,消费者有兴趣了解她所购买的产品已经经过的步骤。另一个原因可能是,公司需要召回缺陷产品,并且有兴趣了解已经售出缺陷产品的零售商清单。
为了共享与涉及使用RFID标签的事件关联的数据,公司连接到全球网络,其目前由EPCglobal联盟进行标准化。该网络包含发现服务(discoveryservice),该服务存储具有对于特定标签的事件数据的所有公司的联系信息。为了检索关于一个标签的所有信息,感兴趣的一方通过请求来联系发现服务。响应于该请求,发现服务返回所有公司的列表以供联系。然后,感兴趣的一方可以单独联系每个公司并检索事件数据。
该系统的一个挑战是,尽管各公司有动机为了方便它们的业务操作而共享与事件信息关联的数据,但是该信息是高度机密的,并且(可能的竞争)公司不愿意相互信任。因此,一个顾虑是例如通过检索有关竞争对手的供应链中物件的事件数据,侦查竞争对手的供应链。
在一个可能的情况中,两个公司——之前可能从未通信过——借助于发现服务相互联系并且需要相互认证:它们曾有过的唯一的共同点就是它们都曾在某个点访问过相同的识别装置。这些公司需要相互证明它们访问过相同的识别装置。
在该场景中可能发生许多攻击事件:
1.一个冒名顶替者例如为了跟踪其竞争对手的供应链,可能请求有关他从未访问过的识别装置的信息。
2.一个恶意公司可能例如为了隐藏伪造产品的来源而提供有关他从未拥有的识别装置的欺诈信息。
保护都访问过相同识别装置的用户之间的通信的一个简单方法是,将共享密钥存储在识别装置上。为了对随后的通信进行安全保护,该共享密钥可以由访问过该识别装置的任何人使用。可以使用诸如高级加密标准(Advanced Encryption Standard,AES)这样的对称加密算法来对通信进行安全保护。这样的简单解决方案可能适合于相互信任但必须在不安全环境中通信的业务合作伙伴。
应当注意的是,尽管本说明书中的部分描述的是对访问过识别装置的用户之间的通信进行安全保护,但是其它场景也是可以的。例如,第一用户可以将与识别装置相对应的值发送到第二用户。所发送的值可以取代从识别装 置读取的值。
但是,使用简单的解决方案,访问过物件的人可能会泄露共享密钥,因为该动作无法追溯到他。此外,识别装置可能被局外者恶意读取。这些情况中任意一个都可能使攻击者欺骗合法用户,使其以为该攻击者是访问过识别装置的另一个合法用户。
图1示出为了将识别装置100从第一用户110(即用户A)运送到第二用户120(用户B或用户C)而在两个用户与可信第三方130(TTP)之间进行的交互的高层视图。可以将TTP 130理解为一个实体或机构,其存储用于其客户的私有密值和/或保密密值。TTP 130也可以生成密值。TTP 130还可以支持用户随着识别装置100改变其所有权来更新存储在识别装置100上的信息。尽管下面的说明将TTP指代为单个实体,但是应当理解的是,可以将TTP分割成独立的多方(例如,用于独立的供应链)。还可以借助于TTP中的复制来提供多个TTP。
在下面对图1的说明中,用户加入供应链合作伙伴的系统。但是,其它系统和/或机构也是可以的。可以将该处理理解为包括以下协议。
建立:TTP 130公布系统参数并且将系统参数发布到各个用户,例如,用户A110和用户B120。
注册:新用户,例如用户A110,通过TTP 130注册,以便加入供应链。用户A110和TTP 130建立依赖于用户A110的身份的多个公共的、私有的和保密的密值。TTP 130将公共密值与私有密值发布到useA 110,并且保留保密密值。
初始化:用户A110希望将识别装置100附加到物件上。用户A110将多个值存储在识别装置100上。可以在没有TTP 130的干预下执行识别装置100的初始化。
运送(Ship):用户A110联系TTP 130,以便准备将识别装置100运送到用户B120。识别装置100可以被附加到物件上。TTP 130可以将再加密密钥发送到用户A110。再加密密钥可以用于创建至少一个新值,以便存储在识别装置100上。作为再加密密钥的替代,TTP 130可以计算并发送一组新值以存储在识别装置100上。
接收:用户B120从用户A110接收识别装置100。然后用户B可以从识别装置100读取多个值并且将这些值存入数据库中。用户B120可以能够 使用所存储的值,通过创建或导出共享密钥以及执行与也访问了识别装置100的另一用户(例如,用户A110)的相互认证来对通信进行安全保护。
对通信的安全保护:用户A110可以基于至少一个公共密值、至少一个私有密值以及存储在识别装置100上的多个值中的至少一个值来导出共享密钥。用户B120可以执行类似操作。用户A110和用户B120也可以执行相互认证,以验证二者均访问过相同的识别装置100。相互认证可以包括交换随机口令,以便向协议“加盐”,这里可以将加盐理解为为了确保协议无法被观察该交换的第三方重复而添加的值。可以是这样的情况:用户执行相互认证并且稍后导出共享密钥。可替换地,可以是这样的情况:通过比较所导出的共享密钥来执行相互认证。
根据一个具体示例,可以有下面的场景。一件复杂货物的生产需要不同代理商的合作。该过程常常涉及参与供应链的不同公司。例如,三个不同的公司A、B和C可以如下合作:公司A拥有物件,并且——根据其惯常业务——需要将其运送到另一个公司以供进一步处理。“下一个”公司事先是未知的,并且公司A选择公司B(但是也很可能选择公司B’)。然后,A执行调用运送算法的运送操作。类似地,B将该物件运送到公司C。最后,供应链结束。
在稍后的时间点,公司A和公司C可能需要在访问过连接到物件的识别装置100的基础上进行交互,如上所述。注意,A和C之前从未交互过,并且可能没有任何预先建立的业务关系。公司A和公司C已经将识别装置的标识符DevID与在接收到识别装置100时存储在其内的密值之间的关联保存在数据库中。它们使用该信息来执行握手(handshake),如果成功的话,使得它们能够针对识别装置100作为业务合作伙伴安全地相互依赖,并且能够共享密钥以用于对进一步的通信进行安全保护。
好处可能是:存储在识别装置100上的值可以被不同于预期接收者的人读取而不危及系统的安全性。这是因为,假定上面定义的密码学问题的难度,从存储在识别装置100上的值导出私有或保密密值是行不通的。
图2示出了如何对访问过识别装置100的两个用户之间的通信进行安全保护。在M1处,可以由TTP 130生成系统参数。可以在安全通道上认证和进行用户和TTP 130之间的通信或数据交换。
用户可以通过TTP 130进行注册,例如,以便进入供应链合作伙伴网络。 在M2处,TTP 130可以向第一用户110(也称作用户A)提供至少一个公共密值A_PubCV和至少一个私有密值A_PrCV。可替换地,至少一个公共密值的发布可以先于至少一个私有密值的发布。在M3处,TTP 130可以向第二用户120(也称作用户B或用户C)提供至少一个公共密值B_PubCV和至少一个私有密值B_PrCV。
为了在M4处将识别装置100初始化,用户A110可以将多个值存储在识别装置100上。在初始化步骤中,其中一个值可以是识别装置的加密标识符DevCID的函数。但是,也可以在准备运送识别装置100时执行步骤M4,即使可能已经由另一个用户执行过初始化。识别装置的加密标识符DevCID可以不同于识别装置的标识符或序列号DevID。可以在没有TTP 130的干预下执行识别装置100的初始化。
在对识别装置100初始化之后,用户A110接着可以将识别装置100发送或运送到用户B120。在接收到装置时,第二用户120可以读取在步骤M4中存储在装置上的值并且将这些值存储在数据库中;这些值可以与识别装置的序列号关联。
在两个用户都合法访问过装置之后,用户可能想要导出共享密钥。可能是这样的情况:用户在导出共享密钥之前进行认证。
可替换地,用户可以导出共享密钥并且使用挑战-响应协议来证明知晓共享密钥而不危及密钥安全。在步骤M5处,用户A110导出共享密钥。可以使用第一用户的公共密值A_PubCV、第一用户的私有密值A_PrCV以及从识别装置100读取的值来导出共享密钥。可替换地,可以使用第二用户的公共密值B_PubCV、第一用户的私有密值A_PrCV以及从识别装置100读取的值来导出共享密钥。类似地,在M6处,用户B120可以使用上面关于用户A110所述的可替换方案中任意一种来导出共享密钥。
这样的导出方式会有下面的好处。共享密钥是基于用户的公共密值和用户的私有密值导出的。为了使恶意用户安全通信,第一(或第二)用户必须向该恶意用户提供他的私有密码信息或使用其私有密码信息生成的共享密钥。与仅链接到认证装置的共享密钥不同,链接到用户的密值的共享密钥可以追溯到用户。
在M7处,可以使用共享密钥来对用户A110执行的通信进行安全保护或保护。从而,可以使用共享密钥来保护用户A110与用户B120之间的通 信。
图3示出了准备将运送到另一用户的识别装置100的示范性方法。步骤SS10、SS11、SS12和SS13参见图4中所描述的步骤。
根据示范性方法,可以由TTP 130生成下面的系统参数:(p,G1,G2,g, ),其中g和 是G1的随机生成元。可以公布系统参数并且系统参数可以为所有用户所知。TTP 130还可以选择 并且设置S=gα。从而,根据本例,系统的公共参数是{p,G1,G2,g, S, };而且,值α是仅为TTP 130所知的保密密值。
为了通过TTP 130进行注册,用户A110可以选择两个随机元素 然后,用户A110可以将 和 发送到TTP 130。TTP 130可以从Zp *中选择随机元素xA。从Zp *中选择随机元素可以理解为配置伪随机数生成器,以生成在{1,...,p-1}范围内的数。TTP 130可以将 和 发送到第一用户,也即用户A110。
用户A110(A)和TTP 130(T)之间的注册协议中包含的网络交互可以描述如下:
图式1:注册协议
继续本例,用户A110的公共密值A_PubCV可以表示为两个值的集合, 可以基于TTP 130的请求来发布用户A的公共密值A_PubCV。发布这些公共密值的过程可以类似于安全认证机构(CertificationAuthority)发布公共密钥的过程。为用户A110和TTP 130所知的用户A的私有密值A_PrCV可以表示为三个值的集合, 只为TTP 130所知的用户A110的保密密值可以表示为xA。可以在M3处在用户B120与TTP130之间执行类似的注册过程。
在M41处,用户A110可以将识别装置100初始化。M41表示来自图1的步骤M4的具体实施方式。在M41中,装置的加密标识符的函数f(DevCID)与提供给第一用户的至少一个私有密值的函数f(A_PrCV)存储在装置上。更加具体来说,在一个示范性实施方式中,用户A110可以例如使用伪随机数生成器来计算随机元素 用户A110还可以计算 和 X1和X2分别用于指代存储在识别装置上的第一值和第二值。在本例中,X1指代f(DevCID),X2指代f(A_PrCV)。可以将 理解为用户A的私有密值A_PrCV,其可以用于执行再加密。用户A110可以将多个值(X1,X2)存储在识别装置100上。用户A110也可以将多个值(X1,X2)存储在数据库中以供以后使用。用户A110可以处于安全性理由而删除或擦除值ttag。因此,可以将X1理解为识别装置的加密标识符的函数,其中 是识别装置的加密标识符。可以将X2理解为用户A的私有密值的函数,其中用户A的私有密值是
应当理解的是,可能在用户A110执行步骤S10以及TTP 130执行步骤S11之前已经由其它用户执行了步骤M41。
用户A110可以准备将识别装置100发送或运送到用户B120,该识别装置100可以附在物件上。在S10处,用户A110可以将用户A的标识符A_ID与用户B的标识符B_ID发送到TTP 130。用户标识符可以是电子邮件地址或者与用户或用户的机构关联的其它值的加密散列。从用户A110接收A_ID和B_ID可以指示TTP 130:用户A110想要将识别装置100发送到用户B120。TTP 130可以生成再加密密钥作为用户B120的保密密值的函数。根据一个更加具体的例子,再加密密钥可以是用户B120的保密密值与用户A的保密密值的逆的函数,也即, 然后,TTP 130可以将再加密密钥,即kA,B,发送或传送给用户A110。在图式2中描述了定义在准备运送识别装置100中用户A110与TTP 130之间的交互的协议。
图式2:运送协议
A→T A,B T→A xA -1xB mod p-1 |
图式2的运送协议不需要针对每个识别装置100都执行,而只需要每个运送合作伙伴执行一次。换句话说,用户A110只需要在用户A110第一次将识别装置100发送到用户B120时从TTP 130获得再加密密钥。之后,用户A110可以重复使用为首个装置提供的再加密密钥,以用于将更多识别装置发送到用户B120。使用户能够重复使用再加密密钥会有这样的好处:降低TTP 130的负担(也即,减少用户与TTP 130之间的交互)。
然后,用户A110可以使用TTP 130传送的再加密密钥来计算 可以将计算X′2理解为使用这样一个值:其是第二用户的保密密值的函数,也即再加密密钥,来计算这样一个值:其是第二用户的私有密值的函数,也即X′2。在UP10处,用户A110可以接着通过用X′2来取代X2,将存储在识别装置100上的多个值进行更新。换句话说,第一用户可以通过用值X′2来取代第二值X2,来将所存储的多个值进行更新,其中X′2是提供给第二用户的私有密值的函数f(B_PrCV)。根据具体示例,B_PrCV表示为 在更新之后,识别装置100的存储器可以包括多个值(X1,X′2)。
当接收到识别装置100时,用户B120可以将对(X1,X′2)存储在数据库中。
根据示例,为了在识别装置从一个用户递送到另一用户时对其进行追踪,TTP能够建立一张哪些用户能够将识别装置发送到其它用户的图。
尽管根据图3的示例可以减轻TTP的负担,但是TTP 130可能难以追踪识别装置100从一个用户到另一用户的移动,例如,装置通过供应链的移动。此外,可能存在如下攻击。给定再加密密钥 可以有效计算 而且,给定再加密密钥kA,B(如提供给用户A的那样)和kB,C,其中kB,C由TTP提供给用户B,以便将识别装置从用户B运送到第三用户,也即用户C,可以有效计算再加密密钥kA,C=kA,BkB,C。为了对抗这些攻击,TTP将不得不包括所述图的每条边的逆(inverse),并且计算该图的传递闭包(transitive closure)。
图4示出了准备识别装置100以便将该装置运送到另一用户的另一示范性方法。可以在图3中所描绘的步骤M41之后执行步骤SS10。在步骤SS13之后,可以执行图3中所描绘的步骤UP10。此外,可以将前缀为“SS”的步骤(SS10、SS11、SS12和SS13)理解为图3的步骤S10和S11的可替换步骤。
为了对抗上面参照图3所描述的攻击,可以在每次一个用户准备将识别装置100运送到另一用户时将TTP牵涉在内。
用户A110可以准备将识别装置100(其可能附在物件上)发送或运送到用户B120。在SS10处,用户A110可以将用户B的标识符B_ID以及用户A的私有密值的函数f(A_PrCV)发送到TTP 130。用户B的标识符B_ID可以是用户B的电子邮件地址的散列。根据一个具体示例,用户A的私有密值的函数f(A_PrCV)可以是 其中 是用户A的私有密值 A_PrCV,ttag -1是在初始化识别装置时计算的随机元素的逆。可以将X2理解为指代存储在识别装置100上的第二值。尽管用户A110可以将识别装置100初始化,如在M41中那样,但是用户A110也可以在从另一用户接收到识别装置100之后已经从识别装置100读取了X2。
根据该示例方法,TTP接收用户B的标识符B_ID以及用户A的私有密值的函数f(A_PrCV)。在SS11处,TTP 130可以对用户A的私有密值的函数f(A_PrCV)执行再加密操作,以便生成用户B的私有密值的函数f(B_PrCV)。根据一个具体示例,执行下列计算以生成f(B_PrCV): X′2表示将存储在识别装置100上的新的第二值,根据本例,该值是第二用户的私有密值的函数f(B_PrCV)。在图式3中可视地描绘了用户A110与TTP 130之间的交换。
图式3:具有强大跟踪能力的运送协议
TTP 130可以进一步计算 在SS12处,TTP可以接着将三元组 存储在数据库中,其中A对应于用户A的标识符A_ID,B对应于用户B的标识符B_ID。值 将特定识别装置与其它识别装置唯一地区分开,并且该值不发生变化。在SS13处,TTP 130可以将f(B_PrCV),也即与X′2相应的值,发送给用户A110。一旦用户A110接收到了f(B_PrCV),用户A110就可以通过在步骤UP10用f(B_PrCV)取代f(A_PrCV),来将存储在识别装置上的值进行更新,如图3中所示。
通过被牵涉到每次运送交易中(其中,运送交易由步骤SS10至SS13或S20至S23组成)并且记录与该交易相应的三元组,TTP 130能够追踪任何识别装置100从用户到用户的路径。这会有这样的好处:使得TTP 130能够建立每个识别装置的路径的完整历史记录。换句话说,TTP 130能够针对每个识别装置建立完整的前向谱系图(pedigree)。因此,TTP能够为每个识别装置以及相应的物件建立总体运送图。该图之外没有用户能够成功认证。
还会有这样的好处:如果识别出冒名顶替者(也即,请求有关他从未访问过的识别装置的信息的用户),则TTP 130就能够识别出泄露密值的任何 用户。
此外,TTP 130牵涉到每次运送交易中(其中,运送交易由步骤SS10至SS13或S20至S23组成)可以具有以下好处。如果未经授权方成功通过非法认证,则可以追踪该未经授权方。此外,TTP 130还可以追踪哪个合法用户泄露了使得未经授权方实现认证的信息。因此,存在不故意披露有关识别装置100的信息的强烈动机。根据一个示例,这会带来对供应链的严密控制。
图5示出了准备将从用户A110运送到用户B120的识别装置100的示范性方法。可以将图5的方法理解为图3和图4中所描述的方法的可替换方法。可以将图3的步骤(S10、S11)、图4的步骤(SS11、SS12、SS13)以及图5的步骤(S20、S21、S22、S23)理解为可以采取的可替换步骤组,用于准备将识别装置从一个用户运送到另一用户。
根据示范性方法,系统参数组,虽然与对应图3的说明中所生成的参数类似,但是可以不完全与那些参数相对应。此外,在下面的方法中,用户的公共密码信息(也即,分配给用户的公共密值)是用户身份的散列。例如,用户的公共密码信息可以是用户的电子邮件地址的加密散列。因此,不需要为了验证公共密码信息而使用证书或者与安全认证机构交互。而且,示范性方法可以在每次用户准备运送识别装置100时都要求TTP 130的支持。这使得识别装置100的路径的每一步(也即,装置的前向谱系图)能够被记录。因此,本例的方法同样具有上面针对图4所描述的优点。
为了示例的目的,加密散列函数(cryptographic hash function),也即散列函数H,可以以下面的方法来定义。
散列函数H的参数如下:
· 其中,g是群G1的随机元素;
· 其中,u0,u1,...,un是群Zp *的n+1个随机元素。
因此,为了定义散列函数H,
·赋值
·定义v∈{0,1}n为n比特串;
·定义 其中 是对于v的第i比特等于1的索引i的集合。
最后,散列函数H被定义为H(v)=U0∏i∈VUi=gh(v)∈G1。因此,可以理解, 对于具有身份A的用户,H(A)=gh,其中 并且g是G1的随机生成元。
继续本例,在M1处,可以由TTP 130计算下列系统参数:(p,G1,G2,g, ),其中这些参数符合上面给出的一般性定义。TTP 130还可以计算 并且赋值 最后,TTP 130可以计算 并且设置S=gα且 系统的公共密值可以表示为一组值{p,G1,G2,g,S,S′, U0,...,Un}。值u0,u1,...,un和α是仅为TTP 130知晓的保密密值。
然后,TTP 130可以将基于身份的密码系统初始化。根据本例,TTP 130将基于身份的密码系统的公共参数发布给用户A110和用户B120。公共参数可以包括主公共密钥。
根据本例,在M2处,用户A110可以通过TTP 130注册。可能是这样的情况:用户通过TTP 130注册,以便进入供应链网络。用户A110可以使用常规的挑战-响应协议与TTP 130进行认证。然后,用户A110可以选择公共密钥。公共密钥可以是任意串,例如,用户A110的电子邮件地址。用户A110可以将所选择的公共密钥安全地发送到TTP 130,并且从TTP 130接收与该公共密钥相对应的私有密钥。除了私有密钥之外,用户A可以接收私有密值IA=H(A)α。可以将H(A)(也称作A_ID)理解为用户A100的标识符的加密散列,例如,用户A100的电子邮件地址的加密散列。
在M3处,用户B120可以执行类似的注册过程。
在M42处,用户A110可以将识别装置100初始化。可以将M42理解为表示图1的步骤M4的具体实施方式。也可以将M42理解为步骤M41的可替换步骤。用户A110可以计算随机值 和随机值 用户A110还可以计算 X2=gr和X3=H(A)r。在执行了该计算之后,可以出于安全性理由删除或擦除随机值ttag。然后,用户A110可以存储多个值(X1,X2,X3)在识别装置100上。因此,根据本例,所存储的多个值包括第三值,也即X3=H(A)r,其是第一用户的身份的函数f(A_ID)。可以将X1理解为存储在识别装置100上的第一值,可以将X2理解为存储在识别装置100上的第二值,可以将X3理解为存储在识别装置100上的第三值。应当理解,给出值的次序是为了帮助理解示例,可以将这些值以任何次序存储在识别装置100上。
对所述值中包含的X1,可以将 理解为识别装置的加密标识符DevCID。可以将IA r理解为提供给第一用户的至少一个私有密值的函数f(A_PrCV)。因此,可以将存储在识别装置100上的多个值的第一值X1理解为提供给第一用户的至少一个私有密值的函数f(A_PrCV)。
像在M42处由用户A110执行的对识别装置100的初始化不要求TTP130的协助。
应当理解的是,步骤M42可以在执行步骤S20至S23之前已经由另一用户执行了。换句话说,可以将步骤M42(和步骤M41)理解为与只需要执行一次的初始化步骤相应。但是,可以在运送识别装置100之前任意时间执行步骤S20至S23(以及步骤S10和S11、步骤SS10至SS13)。
在S20处,用户A110可以将用户A的标识符A_ID、用户B的标识符B_ID以及多个值(X1,X2,X3)发送给TTP 130。从用户A110接收这些值可以向TTP 130表明用户A110要将识别装置100运送到用户B120的意图。
在S21处,TTP 130可以将从用户A110接收到的用户A的标识符的函数f(A_ID)与用户A的标识符的函数f(A_ID)相比较。根据一个具体示例,可以使用下列公式来执行S21的比较,以检查是否 其中X3=H(A)r且X2=gr。在公式两边A_ID都被表示为A。此外,可以将左边的二进制映射(binary map),也即 理解为由TTP 130从用户A110接收到的f(A_ID)。可以将右边的二进制映射,也即 理解为f(A_ID)。S21的比较可以用于检查所存储的多个值是否与用户A的标识符A_ID相对应。
在S22处,TTP可以计算 并且将三元组 存储在数据库中。可以将值 理解为识别装置的加密标识符DevCID。存储在TTP 130的数据库中的三元组可以用于跟踪识别装置100的移动。
然后,TTP 130可以计算 并且进一步计算
在S23处,TTP 130可以将f(DevCID,B_PrCV)、X′2、f(B_ID)发送到用户A110。根据特定示例,f(DevCID,B_PrCV)=X′1且f(B_ID)=X′3,其中 对应于DevCID,IB对应于B_PrCV,B对应于B_ID。在图式4中描绘了用户A与TTP之间交互(步骤S20至S23)的示例。
图式4:具有强大跟踪能力的可替换运送协议
尽管在图式4中描绘了值tagID(对应于DevID),但是应当理解,该值是可替换运送协议的可选部分。然后,用户A110可以从TTP 130接收作为第二用户的身份的函数f(B_ID)的值。该值与TTP 130发送的第三值,也即X′3,相对应。
通过被牵涉到每次运送交易(其中,运送交易由步骤SS10至SS13或S20至S23组成)中并记录与该交易对应的三元组,TTP 130能够追踪任何识别装置100从用户到用户的路径。这会有这样的好处:使得TTP 130能够建立每个识别装置的路径的完整历史记录。换句话说,TTP 130能够为每个识别装置构建完成的前向谱系图。从而,TTP 130能够为每个识别装置以及相应的物件构建总体运送图。这会有这样的好处:该图之外没有用户能够成功认证。
还会有这样的好处:如果识别出冒名顶替者(也即,请求有关他从未访问过的识别装置的信息的用户),则TTP 130就能够识别出任何泄露密值的用户。
此外,每次运送交易中牵涉TTP 130(其中,运送交易由步骤SS10至SS13或S20至S23组成)可以具有以下好处。如果未经授权方成功通过非法认证,则可以追踪该未经授权方。此外,TTP 130还可以追踪哪个合法用户泄露了使得未经授权方实现认证的信息。因此,存在不故意将有关识别装置100的信息披露的强烈动机。根据一个示例,这会带来对供应链的严格控制。
可以执行S20、S21、S22和S23,以便准备将识别装置100从用户A运送到用户B120。
在UP20处,用户A110可以通过用作为第二用户的标识符的函数f(B_ID)的值取代第三值,来更新所存储的多个值。根据特定示例,用户A110可以 通过用上面在步骤S23中由TTP 130计算并发送给用户A110的(X′1,X′2,X′3)取代所存储的多个值(X1,X2,X3)来对(X1,X2,X3)进行更新。可以将UP20理解为如图3中所示的UP10的可替换步骤。
然后,用户A110可以将识别装置100发送或运送到用户B120。
在R10处,用户B120可以接收通过标识符DevID标识的识别装置100。用户B可以读取存储在识别装置100上的多个值,并且将这些值存储在数据库中。用户B120可以将该多个值与识别装置的标识符DevID关联。
在R11处,用户B120可以将所存储的多个值的第三值与第二用户的身份的函数f(B_ID)相比较。根据一个具体示例,用户B120可以检查是否 其中X2和X3指代在步骤UP20期间存储的值。由用户B120执行的检查可以用来验证接收到的多个值是以用户B120为目的地的。为了进一步运送识别装置100,用户B120可以应用如上所述的运送协议(步骤S20至UP20)。
使用上面针对图5所述的基于身份的密码系统可以具有这样的好处:消除了对公共密钥发布基础设施的需要。还可以将信息嵌入用户标识符中,例如,有效期。
图6示出了相互认证的两个可替换方法。可以执行认证以验证第一用户110和第二用户120都访问过由标识符DevID标识的识别装置100。
根据第一示范性方法,可以如上面针对图3和图4所描述的来执行UP10和UP10之前的步骤。在下面的示例中,第二用户120被称为用户C。用户C可以是与用户B相同的用户;用户C还可以是也访问过识别装置100的另一个用户。
用户A110可以从数据库中检索出下面的值: 用户C120可以从数据库中检索出下面的值: 这些值可以在初始化识别装置100之后(如结合步骤M41所述的那样)或者在接收到识别装置100时(如在图3的说明中针对用户B120所解释的那样)已将被存储在数据库中。
用户A110可以联系TTP 130以获得用户C的公共密值C_PubCV。用户A110可以将用户C的标识符C_ID发送到TTP 130。TTP 130可以回复以用户C的公共密值C_PubCV。可以在执行了认证之后,在安全通道上在用户A110与TTP 130之间交换数据。用户C的公共密值C_PubCV可以表示 为 在图式5中描绘了用户A110与TTP之间为了获得用户C120的公共密值而交互的可能集合。也可以将图式5描述为管理由TTP130向用户(例如用户A110或用户C120)发布公共密值的协议。
图式5:公共信息协议
作为图式5中所示的交互的可替换交互,用户C的公共密值C_PubCV可作为由TTP 130签署的证书发布。
换句话说,可以用TTP 130的私有密钥来加密用户C的公共密值C_PubCV。可以由任意用户来发布所述所签署的证书。因此,用户A110可以不需要为了获得用户C的公共密值C_PubCV而与TTP 130交互。
在A10处,在获得了用户C的公共密值C_PubCV之后,用户A110可以计算随机元素 然后,用户A110可以将gr作为随机口令发送给用户C120。换句话说,第一用户可以发送随机口令到第二用户。
在A11处,用户C120可以计算这样一个值:其是随机口令(challenge)和提供给用户C的至少一个密值的函数f(challenge,C_PrCV)。根据一个具体示例,用户C的私有密值C_PrCV可以表示为yC。由此,f(challenge,C_PrCV)可以表示为 然后,用户C120可以从其数据库中检索出X2C。如上所述,可以将X2C理解为由用户C120存储在识别装置100上的多个值中的第二值。X2C可以在初始化识别装置100期间或者准备运送识别装置100期间已经被存储在识别装置100上。
在A12处,根据一个具体示例,用户C120将 和X2C发送到用户A110。由此,用户A110接收这样一个值:其是随机口令和用户C120的至少一个私有密值的函数。用户A110还接收X2C。
在A13处,用户A110可以将所存储的多个值中的第二值的函数与提供给用户C的至少一个公共密值C_PubCV的函数相比较。根据一个具体示例,用户A110从其数据库中检索出X1A并且检查
是否正确。在上面的示例中,所存储的多个值中的第二值用X2C表示。更加具体来说,X2C可以被称为由用户C120存储在识别装置100上的多个值中的第二值。此外,在上面的示范性公式中,用 表示C_PubCV。
用户C120可以向TTP 130查询用户A的公共密值A_PubCV。可替换地,可以由例如用户A110来发布作为TTP 130所签署的证书的用户A的公共密值A_PubCV,。然后,用户C120可以将随机口令gs发送给用户A110并且作为响应接收
在A14处,用户C120可以将所存储的多个值中的第二值的函数与提供给用户C的至少一个公共密值C_PubCV的函数相比较。根据一个具体示例,用户C120从其数据库中检索出X1C并且检查
是否正确。在上面的示例中,所存储的多个值中的第二值用X2A表示。更加具体来说,X2A可以被称为由用户A110存储在识别装置100上的多个值中的第二值。此外,用 表示提供给用户A的至少一个公共密值A_PubCV。也可以将提供给用户A的至少一个公共密值A_PubCV理解为提供给用户A 110的多个公共密值中的至少一个。
继续本例,如果对用户A110和用户C120进行该检查的话,那么这两个用户都能够确定他们访问过标签并且可以安全地继续该密钥协定。
根据上面的比较示例,可以通过提供比较值,作为对可有效计算的、非退化的双线性映射的输入,来执行每个比较,而双线性映射的计算性迪菲·赫尔曼问题无法被有效计算。双线性映射用 来表示。
下面的图式描述了依照上述示例,用户A110、用户C120与TTP之间为了执行认证而进行的交互。
图式6:第一认证协议
当成功进行了相互认证时,用户A和用户C可以独立地建立或导出共享密钥。根据一个具体示例,用户A110和用户C120将密钥K设置为
可以通过使用共享密钥K来保护用户A110与用户C120之间的后续通信。应当注意的是,因为没有已知的概率多项式时间算法能够从gr,gs, 和 重建出 所以没有窃听者能够从用户A110与用户C120之间交换的信息重建出该密钥。
可以使用基于游戏的证明来示出上面描述的方法的安全性。
例如,攻击者可能试图在从未获得另一用户的再加密密钥的情况下创建该用户的元组(tuple)(X1,X2)。这对应于主动泄露存储在识别装置100上的多个值和躲避TTP的追踪能力。可以将游戏Reencrypt(再加密)理解为捕获这个攻击。在不知道TTP 130所知的密值的情况下很难赢得这场游戏(也即,计算机无法有效解决形成的问题)。
ReencryptGame(再加密游戏)
假定对手A(也称作攻击者),其目标是在没有TTP 130的支持下执行运送协议(如针对图3所述的运送协议)。允许A自由地执行该协议的所有算法。然后,A挑选两个用户Io和I*作为其选择;模拟器(simulator)B将挑战识别装置初始化为Io,并将除了值 和 以及与I*相关的私有/保密密值之外的有关Io和I*的所有相关信息提供给A。最后,B向攻击者提交对 并且A输出他对信息 的猜测。该游戏称作Reencrypt。
命题1
如果对手A具有非空优势
ReencryptA:=Pr[A在游戏Reencrypt中胜出]
则概率多项式时间算法B能够创建这样的环境:在该环境中,概率多项式时间算法B使用A的优势解决修正的计算性迪菲·赫尔曼问题(mCDH)的给定实例。
征明
我们如下定义B。给定B是mCDH问题的随机实例(g,ga,gb, ),并且B希望使用A来计算gab。算法B模拟A在其中操作的环境。
模拟器B挑选并公布公共参数,如针对图3所述的参数。
攻击者能够随意注册为他选择的任意身份I。A能够将任意识别装置初始化为他选择的用户。A能够自主地执行该操作而无需牵涉该模拟器。如针对图3所述的那样执行运送协议,因此,A将自由地要求B针对A接收到的任意识别装置或者针对A已初始化的任意识别装置执行该运送协议。然后,攻击者能够与他选择的每个用户进行认证协议:在这种情况下,B通过选择xI,yI和zI并由此得知所有保密信息来创建所有被模拟方I(除了I*之外)。最后,A能够执行接收协议,声明目标用户I并且由此从B接收 其中
然后,攻击者A选择身份Io(对于该身份Io,在前一阶段中B已经回答了他的所有查询)和I*,他不知道 和 以及保密信息 和 A请求有关I*的公共信息;B回答以 最后,A能够接收以I*为目的地的识别装置;为此,B挑选 并且将对 和 发送给A。最终,B将链接到挑战的识别装置的信息发送给A,该信息被如下设计: 且 并且A输出其对 的猜测。
如果A在该游戏中获胜,则 并且B可以对接收到的mCDH实例给出相同的答案。
Reencrypt Game证明结束。
作为第二个基于游戏的证明的基础,攻击者可以偷取或者以其他方式得到用于另一用户的元组(X1,X2),然后设法认证为该用户。这对应于得到识别装置然后设法认证为其合法所有者。游戏Authenticate(认证)可以被理解为捕获这个攻击。
Authenticate Game(认证游戏)
假定对手A,其目标是在没有某用户的密值,特别是仅为该用户所知的 密值y且 的条件下作为该用户执行第一认证协议。本游戏示出在有关识别装置的凭证(credential)(对(X1,X2))被偷取的情况下对用户进行保护,该偷取可能使用欺诈的RFID标签阅读器进行。允许A自由执行该协议的所有算法(作为用户A)。然后,A挑选用户I*作为其选择;A还接收目的地为I*的任何识别装置。最后,A进行第一认证协议,产生必须使模拟器确信他是I*并且已经拥有该物件的值。我们将本游戏称为Authenticate(认证)。注意,本游戏还会排除故意将有关识别装置的凭证泄露给第三方的用户。
命题2
如果对手A具有非空优势
AuthA:=Pr[A在游戏Authenticate中胜出]
则概率多项式时间算法B就能够创建这样的环境:在该环境中,概率多项式时间算法B使用A的优势解出计算性迪菲·赫尔曼问题(CDH)的给定实例。
征明
我们如下定义B。给定B是CDH问题的随机实例(g,ga,gb),并且B希望使用A来计算gab。算法B模拟A在其中操作的环境。
模拟器B挑选 并设置 并且公布针对图3所述的公共参数。
攻击者能够注册为他选择的任意身份I。A能够将任意识别装置初始化为他选择的任意用户。如针对图3所述的那样执行运送协议,因此,A能自由地要求B对他接收到的任意识别装置或者对他已初始化的任意识别装置执行运送协议。然后,攻击者能够与他选择的每个用户进行认证协议:在这种情况下,B通过选择xI,yI和zI并由此得知所有保密信息来创建被模拟方I(除了I*之外)。最后,A能够执行针对图3所述的接收协议,声明目标用户I并且由此从B接收 其中
然后,攻击者A从之前未查询的身份中选择他希望认证为的身份I*。A接收I*的公共信息 和 A能够接收以I*为目的地的识别装置信息:B挑选 并且将 发送给A。为了触发挑战,A作为I*将接收到的识别装置之一的标识符发送到B。于是,B回答以随机口令gb。根据协议,A必须回答以 和
如果A在该游戏中获胜,则 并且B能够对接收到的CDH实 例给出相同的答案。
Authenticate Game证明结束。
根据第二示例方法,可以如上面针对图5所述的那样执行R11和R11之前的步骤。在下面的示例中,第二用户120再次被称为用户B。用户B可以是与用户C相同的用户;用户B还可以是也访问过识别装置100的不同的用户。
用户B120可以通过将识别装置的标识符DevID发送给用户B来初始化认证过程。根据一个示例,用户A110和用户B120二者都拥有值(X1,X2,X3)。所述三元组或所存储的多个值可以在在R10处接收到识别装置100时已经从该识别装置100中被读取,或者可以在在M42处初始化识别装置100之后已经被存储。下面的示例继续上述约定,其中,下标A标识与用户A110对应的值,下标B标识与用户B120对应的值。
为了继续认证过程,用户A110可以选择随机数(nonce) 可以将随机数理解为这样的一个值:该值用于使接收者(recipient)确信一条消息不是攻击者观察到的一条旧消息的重播。然后,用户A110可以计算 并且将所计算的值发送给用户B120。可以将IBEB(m)理解为表示为用户B120加密的消息或者利用用户B120的公共密值(例如,公共密钥)加密的消息。在这种情况下,m是 可以将其它值理解为针对图5所述的值。
类似地,用户B120可以选择随机数 然后,用户B120可以计算 并且将其发送回用户A110。可以将IBEA(m)理解为表示为用户A110加密的消息或者利用用户A110的公共密值(例如,公共密钥)加密的消息。
在A20处,如果用户A110和用户B120二者都访问过相同的识别装置100,那么他们就可以导出一个共用共享密钥。因此,
该共享密钥可以用于由每个用户向其它用户证明他们已经合法访问过识别装置100。为了对握手封口,也即,为了完成认证过程,用户可以使用传统的挑战-响应协议来证明双方都知道共享密钥而没有将其泄露。因此,将第一共享密钥与第二共享密钥进行比较可以被理解为使用挑战-响应协议验证共享密钥是相等的。
可以使用密钥K来保护第一用户110与第二用户120之间的通信。可以通过下面的图式来加强对用户A110与用户B120之间的交互的理解。
图式7:第二认证协议
针对图6所述的第二方法的好处可以是:使用身份而非证书(也即,使用基于身份的密码系统而非传统的公共密钥密码系统)能够帮助实现更加容易的密钥管理。第二方法的其它好处可以是:与第一方法相比,减少了用户与TTP 130之间的交互的数量。
上面针对图6所述的第一方法和第二方法两种方法的优点可以是:由于在用户身份的公共密钥下加密以该用户为目的地的口令,因此偷听口令或读取存储在识别装置100上的多个值将不会危及该方法的安全性。
第一认证协议和第二认证协议二者的其它好处可以是:用户具有强烈动机不披露提供给该用户的私有密值。例如,如果用户A110将他的私有密值A_PrCV披露给攻击者,那么该攻击者将能够认证为用户A110。
下面基于游戏的证明示出,如果对手掌握了除与挑战识别装置和挑战用户相关联的密值之外的所有密值,则该对手不能假冒挑战用户。本游戏广泛到足以包括下列元素:来自偷听者的密钥交换的隐私,若干参与者的串通, 以及欺诈识别装置信息的伪造。
考虑对手A,其目的是执行一项成功认证——由此使另一用户确信他已经合法访问过识别装置——而不使用合法信息。具体来说,A没有用于两个挑战对象,即给定用户v*以及给定识别装置,的元组
Impersonate Game(假冒游戏)
允许A自由执行协议的所有算法。然后,模拟器B初始化挑战标签,而且对手能够得到用于作为他选择的任意用户(除了作为挑战对象的用户之外)执行针对那个识别装置的成功认证(根据第二认证协议)的信息。
最后,攻击者挑选挑战用户v*,并被要求运行成功的认证,使模拟器确信他是已拥有挑战标签的用户v*。具体来说,在游戏结束时,要求攻击者输出密钥K。我们将该游戏称为Impersonate(假冒)。
命题3
如果对手A具有非空优势
ImpersonateA:=Pr[A在游戏Impersonate中胜出]
则概率多项式时间算法B能够创建这样的环境:在该环境中,概率多项式时间算法B使用A的优势解决双线性决策性迪菲·赫尔曼问题(BDDH)的给定实例。
证明
我们如下定义B。给定B是BDDH问题的随机实例(g,ga,gb,gc,gx),并且B希望使用A来检查是否x=abc。算法B模拟A在其中操作的环境。
模拟器B设置整数m=4q,其中q是对人在他对各种协议进行查询的整个过程中将考虑的身份数量的上限。然后,B选择 并且选择两个随机向量 和 定义下面的函数:F(v)=(p-mk)+x0+∑i∈Vxi,J(v)=y0+∑i∈Vyi,将K(v)定义为
模拟器将g设为从决策性双线性迪菲·赫尔曼(BDH)挑战接收到的生成元(可以将BDH挑战理解为如B.Waters的“Efficient Identity-BasedEncryption Without Random Oracles”(EUROCRYPT,第114-127页,2005年)中所定义的那样) 和 然后,模拟器挑选 设置S=gα且 并且根据如针对图5所定义的协议规则公布公共系统参数。注意,这里H(v)=U0∏i∈VUi=gbF(v)+J(v),其中V是索引i的集合,其中,即将到来的串的第i比特等于1。
首先,攻击者接收所有基于身份的加密(Identity Based Encryption,IBE)私有密钥:通过这样的方式,IBE的保护失效。因此,在本证明的剩余部分略去了符号IBE(·)。
攻击者可以随意地注册为他选择的任意身份vi,该vi不同于v*,从TTP接收值
A能够将识别装置初始化为他选择的任意用户。A能够自主地执行该操作而不牵涉模拟器。
在如针对图5定义的那样运行可替换运送协议时,攻击者A将识别装置的ID、两个身份vi和vj以及元组( X2=gr,X3=H(vi)r)发送给B。B如可替换运送协议所要求的那样计算
并且将元组(X1′,X2′,X3′)发送回A。
最后,A能够简单地通过读取所存储的多个值、存储这些值以及将这些值与识别装置的标识符DevID相关联来执行参照图5所定义的、以R10开始的接收协议。
然后,B初始化新识别装置,该新识别装置将成为挑战的对象。然后,A被授权接收——对于他选择的任意用户vi——运行成功的握手或者认证为该用户所必须的信息。因此,A将vi发送给B。如果K(vi)=0,则B中止并输出随机猜测。如果不然,则B挑选 并且计算
其中, 通过对(X1,X2),攻击者能够执行任何他想要的认证, 但是不能执行如针对图5描述的可替换运送协议。
此外,给定两个身份vi和vj的对(X1,X2),则攻击者能够通过执行第二认证协议检查接收到的凭证是否真的链接到所查询的身份。因此,由B提供给A的模拟是理想的。
然后,攻击者A选择他之前没有查询过的身份v*;如果x0+∑i∈Vxi≠km,则模拟器中止并提交随机猜测。否则的话,我们有F(v*)=0 mod p,这意味着 然后,B根据对第二认证协议的描述,作为口令发送对 A回答以(H(vi)r,S′r),并且接着输出密钥K。
如果A在该游戏中获胜,则 因此,B能够通过检查 是否正确来解决BDDH问题。
Impersonate Game证明结束。
前述说明涉及到将多个值存储在由标识符标识的识别装置(100)上的示例。但是,应当理解的是,提供多个值可以包括借助传输介质发送值,传输介质诸如导引型介质(例如,铜线和光纤)、无线介质或卫星介质。
可以将“与由标识符标识的识别装置(100)对应的多个值”中的“与...对应的”这一术语理解为表示该多个值包括由该标识符标识的识别装置(100)的加密标识符。
可以将“与用户对应的公共密值或私有密值”中的术语“与...对应的”理解为表示该密值属于该用户或者该密值已经被分配给该用户(例如,由TTP 130分配)。
图7示出了用于实现上述方面和实施例的示范性系统,包括传统计算环境920形式的通用计算设备(例如,个人计算机)。传统计算环境包括处理单元922、系统存储器924、系统总线926。系统总线将包括系统存储器924的各种系统组件耦接到处理单元922。处理单元922可以通过访问系统存储器924来执行算术的、逻辑的和/或控制操作。系统存储器924可以存储用以结合处理单元922使用的信息和/或指令。系统存储器924可以包括易失性和非易失性存储器,诸如随机存取存储器(RAM)928和只读存储器(ROM)930。基本输入/输出系统(BIOS)可以存储在ROM 930中,BIOS包含诸如在启动期间帮助在个人计算机920内的元件之间传递信息的基本例程。系统总线926可以是使用各种总线架构中任意一种的、包括存储器总线或存储器控制器、外设总线和本地总线在内的若干类型的总线结构中的任意一种。
个人计算机920还可以包括:硬盘驱动器932,用于从硬盘(未示出)读取或向硬盘写入;以及外部盘驱动器934用于从可移动盘936读取或向其写入。可移动盘可以是用于磁盘驱动器的磁盘,或者用于光盘驱动器的诸如CD ROM这样的光盘。硬盘驱动器932和外部盘驱动器934分别通过硬盘驱动器接口938和外部盘驱动器接口940连接到系统总线926。这些驱动器及它们关联的计算机可读介质提供对计算机可读指令、数据结构、程序模块及用于个人计算机920的其它数据的非易失性存储。数据结构可以包括用于实施如上所述对第一用户向第二用户发送的通信进行安全保护的方法或系统的相关数据。该相关数据可以以数据库进行组织,例如关系数据库或对象数据库。
尽管这里描述的示范性环境采用了硬盘(未示出)和外部盘936,但是本领域技术人员应当理解,也可以在示范性操作环境中使用能够存储可由计算机读取的数据的其它类型的计算机可读介质,诸如磁带、闪存卡、数字光盘、随机存取存储器、只读存储器等等。
可以将许多程序模块存储在硬盘、外部盘936、ROM 930或RAM 928上,包括操作系统(未示出)、一个或多个应用程序944、其它程序模块(未示出)及程序数据946。应用程序可以包括至少如图1至图6所示的功能的一部分。
如下面所讨论的,用户可以通过诸如键盘948和鼠标950之类的输入设备将命令和信息输入到个人计算机920中。其它输入设备(未示出)可以包括麦克风(或其它传感器)、操纵杆、游戏手柄、扫描仪等等。这些及其它输入设备可以通过耦接到系统总线926的串行端口接口952连接到处理单元922,或者可以通过诸如并行端口接口954、游戏端口或者通用串行总线(USB)之类的其它接口集中。而且,可以使用打印机956打印信息。打印机956及其它并行输入/输出设备可以通过并行端口接口954连接到处理单元922。监视器958或其它类型的显示设备也经由诸如视频输入/输出960之类的接口连接到系统总线926。除了监视器之外,计算环境920还可以包括其它外围输出设备(未示出),诸如扬声器或其它可听输出。
计算环境920可以与诸如计算机、电话(有线或无线)、个人数字助理、电视机等其它电子设备通信。为了通信,计算环境920可以使用到一个或多个电子设备的连接在联网环境中工作。图7示出了与远程计算机962联网的 计算机环境。远程计算机962可以是另一计算环境,诸如服务器、路由器、网络PC、对等设备或其它公用网络节点,并且可以包括上面相对于计算环境920所述的多个或全部元件。图7中所示的逻辑连接包括局域网(LAN)964和广域网(WAN)966。这样的联网环境在办公室中、企业域计算机网络、以太网及互联网中是常见的,并且具体情况下可以被加密。
当在LAN联网环境中使用时,计算环境920可以通过网络I/O 968连接到LAN 964。当在WAN联网环境中使用时,计算环境920可以包括调制解调器970或者用于在WAN 966上建立通信的其它部件。可以在计算环境920内部或外部的调制解调器970经由串行端口接口952连接到系统总线926。在联网环境中,相对于计算环境920所示的程序模块或者其部分可以存储在驻留在远程计算机962上或者可为远端计算机962访问的远程存储设备中。而且,与对第一用户向第二用户发送的通信进行安全保护(如上所述)相关的其它数据可以驻留在远程计算机962上或者可经由远程计算机962访问。应当理解的是,所示的网络连接是示范性的,并且可以使用用于建立电子设备之间的通信链接的其它手段。
上述的计算系统只是可以用于实现如上所述的对第一用户向第二用户发送的通信进行安全保护的方法中任意一种方法的计算系统的类型的一个示例。
参考列表
100识别装置
110第一用户,用户A
120第二用户,用户B,用户C
130TTP
920传统计算环境
922处理单元
924系统存储器
926系统总线
928随机存取存储器(RAM)
930只读存储器(ROM)
932硬盘驱动器
934外部盘驱动器
936可移动盘
938硬盘驱动器接口
940外部盘驱动器接口
944一个或多个应用程序
946程序数据
948键盘
950鼠标
952串行端口接口
954并行端口接口
956打印机
958监视器
960视频输入/输出
962远程计算机
964局域网(LAN)
966广域网(WAN)
968网络I/O
970调制解调器
Device(装置)识别装置
A_PrCV用户A的至少一个私有密值
A_PubCV用户A的至少一个公共密值
B_PrCV用户B的至少一个私有密值
B_PubCV用户B的至少一个公共密值
DevCID识别装置的加密标识符
f(DevCID)识别装置的加密标识符的函数
f(A_PrCV)用户A的至少一个私有密值的函数
f(B_PrCV)用户B的至少一个私有密值的函数
f(DevCID,A_PrCV)识别装置的加密标识符和用户A的至少一个私有密值的函数
A_ID用户A的标识符
B_ID用户B的标识符
DB数据库
X2存储在识别装置上的第二值
X′2存储在识别装置上的更新后的第二值
DevID识别装置的标识符或序列号
f(A_ID)用户A的标识符的函数
f(DevCID,B_PrCV)识别装置的加密标识符和用户B的至少一个私有密值的函数
f(B_ID)用户B的标识符的函数
C_PrCV用户C的至少一介私有密值
C_PubCV用户C的至少一个公共密值。
Claims (12)
1.一种对第一用户(110)向第二用户(120)发送的通信进行安全保护的计算机实现的方法,该方法包括:
由第一用户(110)从可信第三方(130)接收(M2)与第一用户对应的至少一个公共密值以及与第一用户对应的至少一个私有密值;
由第一用户(110)在由标识符标识的识别装置(100)上存储多个值;
由第一用户(110)向第二用户(120)提供与由标识符标识的识别装置(100)对应的所述多个值,其中,提供多个值包括提供第一值,该第一值是所述识别装置(100)的加密标识符的函数;
由第一用户(110)使用第一用户的所述至少一个私有密值、以及与由标识符标识的识别装置(100)对应的所述多个值中的至少一个值,导出(M5)共享密钥;
由第二用户(120)使用第二用户的至少一个私有密值以及与由标识符标识的识别装置(100)对应的所述多个值中的至少一个值,导出(M6)该共享密钥;
利用所述共享密钥对第一用户(110)向第二用户(120)发送的通信进行保护(M7)。
2.如权利要求1所述的方法,其中,提供多个值包括提供第二值,该第二值是第二用户(120)的至少一个私有密值的函数。
3.如权利要求1所述的方法,其中,存储多个值包括:
由第一用户(110)通过用再加密的值取代所存储的多个值中的至少一个值来更新(UP10)所存储的多个值。
4.如权利要求2所述的方法,还包括:
由第一用户(110)从可信第三方(130)接收作为第二用户(120)的保密密值的函数的值;
使用作为第二用户(120)的保密密值的函数的所述值,计算作为第二用户的私有密值的函数的值;
通过用所计算的值取代所存储的多个值中的第二值,来更新(UP10)所存储的多个值;以及
将更新后的多个值存储在由标识符标识的识别装置上,
其中,每个私有密值为该值所对应的用户以及可信第三方所知,并且
其中,第二用户的保密密值仅为可信第三方所知。
5.如权利要求3所述的方法,其中,更新所存储的多个值包括:
由第一用户(110)将所存储的多个值中的第二值发送(SS10)到可信第三方(130);以及
由第一用户(110)从所述可信第三方(130)接收再加密的值,其中,该再加密的值是从所存储的多个值中的第二值导出的。
6.如权利要求1所述的方法,其中,提供多个值包括提供第一值,该第一值是第二用户的至少一个私有密值的函数。
7.如权利要求1所述的方法,还包括:执行相互认证,以验证第一用户(110)和第二用户(120)已经访问过由所述标识符标识的识别装置(100)。
8.如权利要求7所述的方法,其中,导出所述共享密钥包括执行相互认证,并且其中,执行相互认证包括:
由第一用户(110)向第二用户(120)发送随机口令;以及
由第一用户(110)从第二用户(120)接收(A12)作为该随机口令和第二用户的至少一个私有密值的函数的值。
9.如权利要求7或8所述的方法,还包括:
由第一用户(110)将所存储的多个值中的第二值的函数与第二用户(120)的至少一个公共密值的函数相比较(A13)。
10.如权利要求7所述的方法,其中,执行相互认证包括:
使用挑战-响应协议来证明相互知晓共享密钥而不泄露共享密钥。
11.一种对第一用户(110)向第二用户(120)发送的通信进行安全保护的计算机实现的装置,该装置包括:
用于由第一用户(110)从可信第三方(130)接收(M2)与第一用户对应的至少一个公共密值以及与第一用户对应的至少一个私有密值的装置;
用于由第一用户(110)在由标识符标识的识别装置(100)上存储多个值的装置;
用于由第一用户(110)向第二用户(120)提供与由标识符标识的识别装置(100)对应的所述多个值的装置,其中,提供多个值包括提供第一值,该第一值是所述识别装置(100)的加密标识符的函数;
用于由第一用户(110)使用第一用户的所述至少一个私有密值、以及与由标识符标识的识别装置(100)对应的所述多个值中的至少一个值,导出(M5)共享密钥的装置;
用于由第二用户(120)使用第二用户的至少一个私有密值以及与由标识符标识的识别装置(100)对应的所述多个值中的至少一个值,导出(M6)该共享密钥的装置;以及
用于利用所述共享密钥对第一用户(110)向第二用户(120)发送的通信进行保护(M7)的装置。
12.一种提供对多个用户之间的通信进行安全保护的计算机系统,该系统包括:
识别装置(100),包括射频识别标签,其中该识别装置(100)由标识符标识,其中该识别装置包括存储器;
第一计算机(110),其可操作用于
处理用于将第一组多个值存储在由标识符标识的识别装置上的指令;
第二计算机;和
第三计算机,其可操作用于
将至少一个公共密值提供给第一计算机和第二计算机;
将至少一个私有密值提供给第一计算机和第二计算机;
其中,第一计算机可操作用于从提供给第一计算机的至少一个私有密值和存储在由标识符标识的识别装置(100)上的第一组多个值中的至少一个值导出共享密钥;
其中,第二计算机可操作用于从提供给第二计算机的至少一个私有密值和存储在由标识符标识的识别装置(100)上的第二组多个值中的至少一个值导出该共享密钥,
其中,所述第一组多个值和第二组多个值分别包括第一值,该第一值是所述识别装置(100)的加密标识符的函数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09290182.6 | 2009-03-13 | ||
EP09290182A EP2228942B1 (en) | 2009-03-13 | 2009-03-13 | Securing communications sent by a first user to a second user |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101834725A CN101834725A (zh) | 2010-09-15 |
CN101834725B true CN101834725B (zh) | 2014-08-20 |
Family
ID=42111607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010122648.8A Active CN101834725B (zh) | 2009-03-13 | 2010-03-12 | 对第一用户发送到第二用户的通信进行安全保护 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8688973B2 (zh) |
EP (1) | EP2228942B1 (zh) |
JP (1) | JP5562687B2 (zh) |
CN (1) | CN101834725B (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162035B1 (en) | 2000-05-24 | 2007-01-09 | Tracer Detection Technology Corp. | Authentication method and system |
US8171567B1 (en) | 2002-09-04 | 2012-05-01 | Tracer Detection Technology Corp. | Authentication method and system |
US7995196B1 (en) | 2008-04-23 | 2011-08-09 | Tracer Detection Technology Corp. | Authentication method and system |
US8548172B2 (en) * | 2011-07-08 | 2013-10-01 | Sap Ag | Secure dissemination of events in a publish/subscribe network |
US9203609B2 (en) * | 2011-12-12 | 2015-12-01 | Nokia Technologies Oy | Method and apparatus for implementing key stream hierarchy |
US9154302B2 (en) * | 2012-01-25 | 2015-10-06 | CertiVox Ltd. | System and method for secure two-factor authenticated ID-based key exchange and remote login using an insecure token and simple second-factor such as a PIN number |
US9002554B2 (en) | 2012-05-09 | 2015-04-07 | Innova Electronics, Inc. | Smart phone app-based remote vehicle diagnostic system and method |
EP2680487B1 (en) * | 2012-06-29 | 2019-04-10 | Orange | Secured cloud data storage, distribution and restoration among multiple devices of a user |
US9798695B2 (en) | 2012-08-07 | 2017-10-24 | Nokia Technologies Oy | Access control for wireless memory |
US9344276B2 (en) * | 2013-01-16 | 2016-05-17 | Mitsubishi Electric Corporation | Cryptographic system, re-encryption key generation device, re-encryption device, cryptographic method, and cryptographic program |
WO2015107620A1 (ja) * | 2014-01-14 | 2015-07-23 | 三菱電機株式会社 | 暗号システム、再暗号化鍵生成装置、再暗号化装置及び暗号プログラム |
US9503447B2 (en) | 2014-01-30 | 2016-11-22 | Sap Se | Secure communication between processes in cloud |
US9424438B2 (en) | 2014-03-31 | 2016-08-23 | Sap Se | Privacy leakage protection |
EP2937806A1 (en) * | 2014-04-22 | 2015-10-28 | ALSTOM Renewable Technologies | Method and system for securing electronic data exchange between an industrial programmable device and a portable programmable device |
EP3189618B1 (en) * | 2014-09-04 | 2020-06-17 | Koninklijke Philips N.V. | Cryptographic system arranged for key sharing |
US9331989B2 (en) * | 2014-10-06 | 2016-05-03 | Micron Technology, Inc. | Secure shared key sharing systems and methods |
US9740879B2 (en) | 2014-10-29 | 2017-08-22 | Sap Se | Searchable encryption with secure and efficient updates |
US9342707B1 (en) * | 2014-11-06 | 2016-05-17 | Sap Se | Searchable encryption for infrequent queries in adjustable encrypted databases |
US9871663B2 (en) * | 2015-03-25 | 2018-01-16 | Intel Corporation | Challenge response authentication for self encrypting drives |
JP6023853B1 (ja) * | 2015-05-29 | 2016-11-09 | 日本電信電話株式会社 | 認証装置、認証システム、認証方法、およびプログラム |
KR20170035665A (ko) * | 2015-09-23 | 2017-03-31 | 삼성에스디에스 주식회사 | 키 교환 장치 및 방법 |
US9830470B2 (en) | 2015-10-09 | 2017-11-28 | Sap Se | Encrypting data for analytical web applications |
CN105530099A (zh) * | 2015-12-11 | 2016-04-27 | 捷德(中国)信息科技有限公司 | 基于ibc的防伪验证方法、装置、系统和防伪凭证 |
US9946744B2 (en) * | 2016-01-06 | 2018-04-17 | General Motors Llc | Customer vehicle data security method |
JP6613909B2 (ja) | 2016-01-15 | 2019-12-04 | 富士通株式会社 | 相互認証方法、認証装置および認証プログラム |
CN107276764B (zh) * | 2017-07-03 | 2019-10-18 | 浙江大学 | 一种基于rfid的供应链路径管控方法 |
US10746567B1 (en) | 2019-03-22 | 2020-08-18 | Sap Se | Privacy preserving smart metering |
KR20220052016A (ko) | 2020-10-20 | 2022-04-27 | 삼성전자주식회사 | 스토리지 장치에서의 보안 동작을 위한 키 교환 방법 및 이를 이용한 접근 권한 이관 방법 |
US11799643B2 (en) * | 2021-01-19 | 2023-10-24 | Bank Of America Corporation | Collaborative architecture for secure data sharing |
WO2023101660A1 (en) * | 2021-11-30 | 2023-06-08 | Hewlett-Packard Development Company, L.P. | Encrypted side-band communications |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5841865A (en) * | 1994-01-13 | 1998-11-24 | Certco Llc | Enhanced cryptographic system and method with key escrow feature |
CN101068143A (zh) * | 2007-02-12 | 2007-11-07 | 中兴通讯股份有限公司 | 一种网络设备认证方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7095852B2 (en) * | 1998-02-13 | 2006-08-22 | Tecsec, Inc. | Cryptographic key split binder for use with tagged data elements |
US6853988B1 (en) * | 1999-09-20 | 2005-02-08 | Security First Corporation | Cryptographic server with provisions for interoperability between cryptographic systems |
US20020049910A1 (en) * | 2000-07-25 | 2002-04-25 | Salomon Allen Michael | Unified trust model providing secure identification, authentication and validation of physical products and entities, and processing, storage and exchange of information |
US7434053B2 (en) * | 2003-08-28 | 2008-10-07 | Hewlett-Packard Development Company, L.P. | Methods and systems for providing an identification key to a printing device |
US20060136717A1 (en) * | 2004-12-20 | 2006-06-22 | Mark Buer | System and method for authentication via a proximate device |
US20070106897A1 (en) * | 2005-11-07 | 2007-05-10 | Michael Kulakowski | Secure RFID authentication system |
MX2008015210A (es) * | 2006-06-09 | 2009-05-28 | Verisign Inc | Metodo y aparato para proporcionar autentificacion y privacidad con dispositivos de baja complejidad. |
JP4869824B2 (ja) * | 2006-08-08 | 2012-02-08 | 三菱電機株式会社 | 受信者装置及び送信者装置及び暗号通信システム及びプログラム |
WO2008029830A1 (fr) * | 2006-09-08 | 2008-03-13 | Ihc Corp. | Système de gestion d'articles |
WO2008086393A1 (en) * | 2007-01-09 | 2008-07-17 | Mojix, Inc. | Systems and methods for secure supply chain management and inventory control |
US8966252B2 (en) * | 2007-03-13 | 2015-02-24 | Board Of Trustees Of Michigan State University | Private entity authentication for pervasive computing environments |
US20080290994A1 (en) * | 2007-03-30 | 2008-11-27 | Skyetek, Inc. | Method For Cryptographically Combining HF and UHF RFID Tags/Smart Cards To Create A Single Multi-Use Credential |
US8892869B2 (en) * | 2008-12-23 | 2014-11-18 | Avaya Inc. | Network device authentication |
-
2009
- 2009-03-13 EP EP09290182A patent/EP2228942B1/en active Active
-
2010
- 2010-03-11 US US12/722,260 patent/US8688973B2/en active Active
- 2010-03-12 CN CN201010122648.8A patent/CN101834725B/zh active Active
- 2010-03-12 JP JP2010056110A patent/JP5562687B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5841865A (en) * | 1994-01-13 | 1998-11-24 | Certco Llc | Enhanced cryptographic system and method with key escrow feature |
CN101068143A (zh) * | 2007-02-12 | 2007-11-07 | 中兴通讯股份有限公司 | 一种网络设备认证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101834725A (zh) | 2010-09-15 |
JP2010220212A (ja) | 2010-09-30 |
EP2228942B1 (en) | 2012-06-06 |
US8688973B2 (en) | 2014-04-01 |
US20100235627A1 (en) | 2010-09-16 |
JP5562687B2 (ja) | 2014-07-30 |
EP2228942A1 (en) | 2010-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101834725B (zh) | 对第一用户发送到第二用户的通信进行安全保护 | |
CN106534092B (zh) | 基于消息依赖于密钥的隐私数据加密方法 | |
Ateniese et al. | Untraceable RFID tags via insubvertible encryption | |
KR101418254B1 (ko) | 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체 | |
Ullah et al. | Elliptic Curve Cryptography; Applications, challenges, recent advances, and future trends: A comprehensive survey | |
Maffei et al. | Privacy and access control for outsourced personal records | |
Guo et al. | TABE-DAC: Efficient traceable attribute-based encryption scheme with dynamic access control based on blockchain | |
US20060195402A1 (en) | Secure data transmission using undiscoverable or black data | |
US20070061572A1 (en) | Authentication system and remotely-distributed storage system | |
JP6363032B2 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
CN110913390B (zh) | 基于身份秘密共享的抗量子计算车联网方法及系统 | |
Zhang et al. | A privacy protection scheme for IoT big data based on time and frequency limitation | |
Yang et al. | Publicly verifiable data transfer and deletion scheme for cloud storage | |
Sun et al. | Secure data sharing with flexible cross-domain authorization in autonomous vehicle systems | |
Rana et al. | Efficient and secure attribute based access control architecture for smart healthcare | |
Tiwari et al. | ACDAS: Authenticated controlled data access and sharing scheme for cloud storage | |
CN110098925B (zh) | 基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和系统 | |
Almuzaini et al. | Key aggregation cryptosystem and double encryption method for cloud-based intelligent machine learning techniques-based health monitoring systems | |
Kerschbaum et al. | RFID-based supply chain partner authentication and key agreement | |
Lin et al. | Efficient access control and key management schemes for mobile agents | |
Qi et al. | Scalable data access control in RFID-enabled supply chain | |
Wang et al. | Two-level path authentication in epcglobal network | |
Xu et al. | A decentralized pseudonym scheme for cloud-based eHealth systems | |
Lin et al. | A secure fine-grained access control mechanism for networked storage systems | |
Gay | Public-key encryption, revisited: tight security and richer functionalities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |