CN103339958A - 密钥传输协议 - Google Patents
密钥传输协议 Download PDFInfo
- Publication number
- CN103339958A CN103339958A CN2011800665688A CN201180066568A CN103339958A CN 103339958 A CN103339958 A CN 103339958A CN 2011800665688 A CN2011800665688 A CN 2011800665688A CN 201180066568 A CN201180066568 A CN 201180066568A CN 103339958 A CN103339958 A CN 103339958A
- Authority
- CN
- China
- Prior art keywords
- key
- receiver
- transmitter
- signature
- virtual key
- 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.)
- Pending
Links
- 238000012795 verification Methods 0.000 claims abstract description 114
- 230000004044 response Effects 0.000 claims abstract description 86
- 230000007246 mechanism Effects 0.000 claims abstract description 66
- 230000006870 function Effects 0.000 claims description 138
- 238000000034 method Methods 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 2
- 230000002411 adverse Effects 0.000 description 37
- 238000004422 calculation algorithm Methods 0.000 description 36
- 230000000875 corresponding effect Effects 0.000 description 28
- 238000009795 derivation Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 239000000665 guar gum Substances 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000001915 proofreading effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- 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/40—Network security 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- 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
-
- 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/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- 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/3234—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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/26606—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing entitlement messages, e.g. Entitlement Control Message [ECM] or Entitlement Management Message [EMM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/418—External card to be used in combination with the client device, e.g. for conditional access
- H04N21/4181—External card to be used in combination with the client device, e.g. for conditional access for conditional access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4367—Establishing a secure communication between the client and a peripheral device or smart card
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
- H04N21/6334—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
- H04N21/63345—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8352—Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/167—Systems rendering the television signal unintelligible and subsequently intelligible
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/167—Systems rendering the television signal unintelligible and subsequently intelligible
- H04N7/1675—Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4623—Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明使得能够从发送器向接收器传输密钥。发送器包括用于生成或者获得虚拟密钥并且对虚拟密钥进行保全以便保护其真实性和保密性的装置。受保全虚拟密钥被提供到接收器。接收器包括用以从受保全虚拟密钥导出虚拟密钥的装置。发送器和接收器包括用以把虚拟密钥和与发送器相关联的签名验证密钥作为输入提供给密码函数以生成输出的装置。所述输出包括至少一个密钥。所述至少一个密钥又可以被用作针对密码机制的输入,从而为安全性应用提供服务。这样的服务的实例是内容的加密或解密或者生成针对挑战的响应。
Description
技术领域
本公开内容涉及一种利用受信任方在发送器与接收器之间建立共享秘密密钥的密钥传输协议。特别而非必要的是,本公开内容涉及用于从发送器向接收器传输共享秘密密钥的方法、发送器、接收器、密钥传输系统以及使用所述(多种)方法的计算机程序产品。
背景技术
密钥传输协议提供两方或更多方之间的共享秘密。共享秘密可以被用于多种目的。举例来说,共享秘密可以被用作加密或解密数据的对称密钥。其他实例是使用共享秘密作为用于伪随机数发生器的种子,或者使用共享秘密作为用于键控散列函数的键值。具体来说,这样的密码操作/原语可以被用作挑战-响应协议的构造块,所述挑战-响应协议可以被用来把软件绑定到硬件(也被称作“节点锁定”),正如后面详细描述的那样。
密钥传输协议是这样一种技术,其中被称作“发送器”的一方生成或获得秘密密钥,并且把该密钥分发到被称作“接收器”的另一方。这一设定被描绘为图1中的系统1000。在图1中,Ki标示由发送器i生成或获得并且被分发到接收器的秘密密钥。在不损失一般性的情况下,在图1中仅仅描绘出一个接收器。一般来说,在实施密钥传输协议的系统中可以使用任何数目的发送器和任何数目的接收器,并且发送器和接收器可以加入或离开系统。
在下面的讨论中,在任何发送器对之间假设不存在信任关系。这意味着在任何发送器对之间不应当共享(多个)秘密。此外,实施指定的密钥传输协议以导出共享密钥Ki的接收器被称作相容接收器。针对密钥传输协议的安全性要求如下:
1. Ki的保密性应当受到保护;
2. Ki的真实性应当受到保护,这是在于如果导出Ki所需的相应消息(或者多于一条消息)由发送器i生成,则相容接收器只能导出由发送器i生成的给定Ki。
为了建立发送器与接收器之间的密钥关系,假设一个受信任方是可用的。受信任方负责接收器的个性化。个性化可以包括生成秘密密码密钥,并且利用受信任方与接收器之间的保密且真实的信道把该密钥分发到接收器。在本公开内容中,这样的密钥也被称作接收器的秘密主密钥(或主密钥)。对于每一个接收器唯一地生成一个秘密主密钥是很好的实践做法。这样确保系统的安全性可以“优雅失效”;换句话说,这样允许其中可以在无需替换其他接收器的情况下校正一个接收器的秘密主密钥的破解的系统设计。在某些情况下,优选的是接收器生成其秘密主密钥。举例来说,如果秘密主密钥是非对称密钥对的一部分,则可以由接收器存储秘密密钥,并且可以利用接收器与受信任方之间的真实信道,在接收器的个性化阶段期间把相关联的公共密钥分发到受信任方。在这样的方案中,可以实施防止受信任方知晓接收器的秘密主密钥值的措施。在不损失一般性的情况下,在本公开内容中所描述的方案假设受信任方对于每一个接收器唯一地生成一个秘密主密钥,并且受信任方把秘密主密钥加载接收器中。然而理解的是,接收器可以生成其秘密主密钥,并且任何数目的接收器可以共享相同的秘密主密钥。接收器的个性化还可以包括把与非对称密码方案相关联的公共密钥加载到一个接收器(或多个接收器)中,其例如被用来验证数字签名。
为了在无需在发送器之间共享秘密的情况下实现安全性目标,可以使用基于对称密码技术的方案。通常来说,如图2a中所示,系统100包括受信任方102、发送器104和接收器106。受信任方102可通信地连接到发送器104。受信任方可以在个性化阶段期间可通信地连接到接收器106,从而可以把对称主密钥MK分发到接收器106并且安全地存储在元件118中。发送器104可通信地连接到接收器106。如图2a中所描绘的那样,如果新的发送器加入系统,则受信任方102可以利用密钥加载密钥KLK生成器112(KLKG)生成KLK。接下来,受信任方102可以利用对称加密算法e 110和接收器106的主密钥MK 108对KLK进行加密,从而产生相应的密文,其由{KLK}MK标示。随后把KLK和{KLK}MK分发到新的发送器(即发送器104),这是利用受信任方102与发送器104之间的保密且真实的信道而实现的。如果发送器104希望把秘密密钥K分发到接收器106,则其利用密钥发生器114(KG)生成K,并且利用KLK和加密算法e 116对K进行加密,从而产生消息{K}KLK。接下来把消息{KLK}MK和{K}KLK发送到接收器106。在接收到所述消息之后,接收器可以利用MK和解密算法d 120对{KLK}MK进行解密,从而产生KLK。最后,利用KLK和解密算法d 122,接收器可以对{K}KLK进行解密,从而产生K(如被存储在元件124中)。
在敌对方不可能是系统中的其中一个发送器的假设下,被示为图2a中的系统100的对称解决方案满足所述安全性要求。为了看到满足第二条要求,观察到,如果另一个相容接收器的主密钥或者其中一个密钥加载密钥(与任何一个发送器相关联)是已知的(即被破解或公开),则敌对方将只能构造将把给定的K(例如在从某一接收器将其破解之后)加载到该另一个接收器中的消息。所述方案的一个缺点在于,如果一个新的发送器加入系统,则受信任方102需要利用各个接收器的秘密密钥来施行密码操作。也就是说,在接收器的个性化阶段完成之后,受信任方102需要管理与接收器相关联的秘密。
取代使用对称密钥作为用于接收器的主密钥,受信任方还可以对于每一个接收器生成一个非对称密钥对,其由秘密主密钥SMK和公共主密钥PMK构成。接下来,在个性化阶段期间把秘密主密钥SMK分发到接收器。在本公开内容中,秘密主密钥SMK可以被称作与接收器相关联的秘密密钥,并且公共主密钥可以被称作与接收器相关联的公共密钥。
通常来说,如图2b中所示,系统200包括受信任方202、发送器204和接收器206。受信任方202可通信地连接到发送器204,从而可以把公共主密钥PMK 208提供到发送器204。受信任方可以在个性化阶段期间可通信地连接到接收器206,从而可以把秘密主密钥SMK分发到接收器206并且安全地存储在元件214中。发送器204可通信地连接到接收器206。
在个性化阶段之后,可以从受信任方的系统中删除秘密主密钥。如果一个新的发送器(例如发送器204)加入系统,则可以利用受信任方与该发送器之间的真实信道把与特定接收器相关联的公共密钥PMK 208分发到该发送器。其结果是,所有发送器都将具有对于PMK 208的使用权。如果一个发送器(例如发送器204)希望把密钥K分发到某一接收器,则该发送器可以利用密钥发生器210生成该密钥K,利用相应的PMK 208(即与接收器相关联的公共密钥)和加密算法E 212对该密钥进行加密从而产生消息{K}PMK,并且将该消息发送到接收器206。在接收到该消息之后,接收器206可以利用SMK 214和解密算法D 216对{K}PMK进行解密,从而产生K(被存储在元件218中)。
如图2b中的系统200所描绘的公共密钥解决方案的好处在于,在施行了接收器的个性化之后,受信任方不再需要管理任何秘密。然而由于PMK 208是公共密钥,因此其也可被敌对方获得。具体来说,敌对方可以使用PMK来把给定的密钥K分发到与该PMK相关联的接收器(例如在从另一个接收器破解了密钥K之后)。也就是说,这种方法不会保护如在第二条安全性要求中所定义的K的真实性。
可以把用于保护分发到接收器的密钥K的真实性的第二种独立机制添加到所述公共密钥解决方案(如图2b中的系统200所示),以便满足第二条安全性要求(在敌对方不可能是系统中的其中一个发送器的假设下)。举例来说,可以使用消息认证代码(MAC)来保护消息{K}PMK的真实性。MAC是一种对称密码技术。因此可以使用类似于如图2a中的系统100所描绘的方案的一种方法来建立一个共享秘密密钥,以用于生成并验证MAC值。其不同之处在于,用密钥KMAC替换了K。共享秘密KMAC被用于保护消息{K}PMK的真实性。换句话说,在图2b中的系统200中,发送器使用KMAC作为密钥来生成消息{K}PMK的MAC值。可以把所计算的MAC值附加到消息。在接收到消息和MAC值之后,接收器使用KMAC来验证MAC值。可替换地,可以使用一种基于公共密钥密码术(即非对称数字签名)的方法来保护消息{K}PMK的真实性。在这样的解决方案中,受信任方在个性化阶段期间把与数字签名方案相关联的公共密钥加载到接收器中。该公共密钥可以被用作真实性机制的根密钥。接收器可以使用真实性机制来验证消息{K}PMK的真实性。然而观察到,受信任方需要管理相关联的秘密(根)密钥,这是因为在各个发送器之间不应当共享秘密密钥。这意味着对于全部两种解决方案(对称MAC和非对称数字签名)来说,受信任方202都需要在接收器的个性化阶段完成之后管理与接收器相关联的秘密,正如在图2a中描绘的对称解决方案中那样。
需要一种解决前面描述的问题的改进的密钥传输协议。也就是说,需要一种具有以下属性的密钥传输协议:(i)共享秘密密钥的保密性和真实性受到保护(正如所述安全性要求中那样;优选地,在敌对方知道与其中一个或更多其他发送器相关联的秘密的情况下或者在敌对方是其中一个发送器的情况下,第二条安全性要求也得到满足);(ii)发送器可以独立地使用所述协议而无需共享秘密;以及(iii)在接收器的个性化之后,受信任方不再需要管理与接收器相关联的任何秘密密钥。
发明内容
在本公开内容中给出的方案解决了与前面描述的方案相关联的问题,这是通过把用以保护密钥K的保密性的公共密钥机制与用以保护第二独立密钥的真实性的密码机制相组合而实现的。该第二密钥是一个密钥对的一部分,其可以被用来保护如在第二条安全性要求中定义的密钥K的真实性。
更精确地说,生成一个伪随机值(被称作“虚拟密钥”)。然而取代直接把该虚拟密钥用作K的值,对该虚拟密钥和真实性机制的根密钥应用一个函数。该函数的输出包括密钥K。所述函数被选择成使得根密钥的真实性得到保护;这是在于如果根密钥不是真实的,则无法将给定的K加载到相容接收器中。所述函数可以是具有保护根密钥的真实性的属性的任何密码函数。
利用这里所描述的改进方法传输的密钥可以是与块密码或流密码相关联的对称密钥,其被用在任何适当的安全性应用或密码操作中(在需要密码关系的任何地方)。举例来说,这样的对称密钥和密码可以被用来对从发送器传送到接收器的数据进行加密和解密。另一个实例是使用所传输的密钥作为用以初始化伪随机数发生器的种子。举例来说,可以使用伪随机数发生器来生成与公共密钥密码系统相关联的密钥对。该密钥对的公共密钥(或秘密密钥)可以被用来加密(或解密)数据。在某些情况下,所述密钥可以被用于键控散列函数。举例来说,所述密钥可以被用来生成MAC(例如密码块链接MAC(CBC-MAC)或基于散列的MAC(HMAC))。具体来说,所有这些密码原语可以被用作与接收器实施挑战-响应协议的构造块,所述挑战-响应协议可以被用来对接收器进行认证(例如用于把软件应用绑定到接收器)。一般来说,所传输的密钥可以被用于在安全性应用中用作针对密码机制/操作的构造块的任何适当的密码原语,以便例如保护数据、内容、软件应用等等。认识到,所传输的密钥可以是被用在安全性应用中的任何共享秘密,其中所述安全性应用需要把共享秘密从一方传输到另一方。
一般来说,密钥传输发生在发送器与接收器之间。发送器与一个密钥对相关联:签名密钥和签名验证密钥。接收器与另一个密钥对相关联,即公共密钥和秘密密钥。可以利用任何适当的已知密钥生成算法或程序来生成所述密钥对。在一些实施例中,接收器是向其传输密钥的一方。接收器可以包括可通信地连接到接收器件的一个模块。在某些情况下,所述模块是接收器件的至少一部分。该模块以及其中的适当模块被配置成执行所公开的密钥传输协议的至少一些部分。
公开了一种用于在接收器中获得一个或更多密钥的一种说明性方法。接收器可以可通信地连接到发送器。在接收器处从发送器接收到与该发送器相关联的签名验证密钥和密钥加载消息。举例来说,优选地可以通过因特网作为IP分组的一部分在被配置成与发送器通信的通信模块(例如以太网卡)处接收到签名验证密钥或密钥加载消息。
密钥加载消息特别可以包括受保全虚拟密钥,其受到发送器保全以便保护虚拟密钥的真实性和保密性。在一个实例中,发送器可以利用通过已知的密码方法创建的签名(例如MAC或非对称签名)来保护虚拟密钥的真实性,从而可以由另一方验证所述签名以确保虚拟密钥来自真实的发送器。举例来说,发送器使用与该发送器相关联的签名密钥来生成虚拟密钥的签名。在另一个实例中,发送器可以利用通过已知的密码方法进行的加密来保护虚拟密钥的保密性。举例来说,发送器使用与接收器相关联的公共密钥来对虚拟密钥进行加密。
由安全性模块利用与接收器相关联的秘密密钥和与发送器相关联的签名验证密钥从所接收到的受保全虚拟密钥获得虚拟密钥。举例来说,密码模块使用与接收器相关联的秘密密钥来施行解密,并且使用与发送器相关联的签名验证密钥来验证签名。
在获得虚拟密钥之后,把与发送器相关联的虚拟密钥和签名验证密钥作为输入提供给密码函数,从而产生给定输出。所述给定输出包括一个或更多密钥。所述密码函数的属性使得以下做法是不可行的:确定另一个虚拟密钥以及包括签名密钥和与该签名密钥相关联的签名验证密钥的一个密钥对,从而使得所确定的签名验证密钥和所述另一个虚拟密钥映射到所述密码函数的给定输出,其中所述给定输出包括所述一个或更多密钥。所述密码函数可以是具有所描述的所期望的属性和功能的散列函数。在某些实施例中,可能优选或者要求所述密码函数的属性对于其输出的各个部分独立地成立。例如如果所述输出包括多于一个密钥,则可能要求所述属性对于输出中的每一个密钥独立地成立。
在一些实施例中,受保全虚拟密钥包括通过利用与接收器相关联的公共密钥对虚拟密钥进行加密以及利用对应于与发送器相关联的签名验证密钥的签名密钥对虚拟密钥进行签名而受到保全的虚拟密钥,从而使得可以由接收器利用对应于与该接收器相关联的公共密钥的秘密密钥对受保全虚拟密钥进行解密,并且使得可以由接收器利用与发送器相关联的签名验证密钥对虚拟密钥的签名进行验证。
在一些实施例中,密码函数的给定输出中的一个或更多密钥当中的至少一部分被用在挑战-响应机制中。举例来说,接收器可以使用所述一个或更多密钥作为去到生成针对挑战的响应的密码机制的输入。具体来说,这样的机制可以被用来认证接收器。使用所述一个或更多密钥当中的至少一部分作为输入的任何所公开的密码机制或其等效方案都可以被视为挑战-响应机制的一部分。
在一些实施例中,在挑战-响应机制中使用所述一个或更多密钥当中的至少一部分来激活与软件应用相关联的功能,并且所述挑战-响应机制的至少一部分与所述软件应用集成在一起。举例来说,所述软件可以能够验证所接收到的响应的正确性。在某些实施例中,对响应的计算可以是软件应用的功能的本质部分。举例来说,挑战可以包括已加密内容,而响应可以包括将由接收器件再现的相应的明文内容。
在一些实施例中,所接收到的受保全虚拟密钥、与发送器相关联的签名验证密钥和软件应用被存储在接收器的非易失性存储器中。
虽然不是优选的做法,但是多于一个接收器可以共享相同的公共/秘密密钥对。在一些实施例中,与接收器相关联的秘密密钥是该接收器所独有的。利用密钥发生器,可以为特定接收器唯一地生成密钥对。在某些实施例中,接收器生成密钥对,并且在接收器的个性化期间把公共密钥分发到受信任方。在这样的实施例中,可以实施防止受信任方获知秘密密钥值的措施。
在一些实施例中,公开了一种用于把一个或更多密钥从发送器传输到接收器的方法。所述接收器可通信地连接到发送器。在发送器中例如利用发送器中的密钥模块确定(即获得或生成)虚拟密钥。所述虚拟密钥可能已经由密钥(伪随机数)发生器预先生成,这意味着确定虚拟密钥包括从存储器中获取虚拟密钥。在某些情况下,可以由发送器中的密钥发生器生成虚拟密钥,这意味着确定虚拟密钥包括利用密钥发生器生成虚拟密钥。
利用与接收器相关联的公共密钥和与发送器相关联的签名密钥对虚拟密钥进行保全以产生受保全虚拟密钥,从而使得虚拟密钥的真实性和保密性受到保护。在一个实例中,对虚拟密钥的加密(例如使用与接收器相关联的公共密钥)用来保护虚拟密钥的保密性。在另一个实例中,利用与发送器相关联的签名密钥生成虚拟密钥的签名,以便保护虚拟密钥的真实性(即所述签名允许接收器验证虚拟密钥的真实性)。
对应于与发送器相关联的签名密钥的签名验证密钥和密钥加载消息被从发送器传输到接收器。密钥加载消息包括受保全虚拟密钥。在优选实施例中,密钥加载消息与签名验证密钥相关联。
虚拟密钥和与发送器相关联的签名验证密钥被作为输入提供给密码函数以产生给定输出。所述给定输出包括一个或更多密钥。所述密码函数的属性使得以下做法是不可行的:确定另一个虚拟密钥以及包括签名密钥和与该签名密钥相关联的签名验证密钥的一个密钥对,从而使得所确定的签名验证密钥和所述另一个虚拟密钥映射到所述密码函数的给定输出,其中所述给定输出包括所述一个或更多密钥。例如可以使用具有所描述的所期望的属性和功能的散列函数。
在一些实施例中,所述一个或更多密钥当中的至少一部分被用来生成挑战-响应机制的至少一部分。所述挑战-响应机制的至少一部分被集成到软件应用中。举例来说,所述软件可以能够验证所接收到的响应的正确性。在某些实施例中,对响应的计算可以是软件应用的功能的本质部分。举例来说,挑战可以包括已加密内容,而响应可以包括将由接收器件再现的相应的明文内容。
在一些实施例中,与发送器相关联的签名密钥、对应于与发送器相关联的签名密钥的签名验证密钥以及虚拟密钥被存储在发送器中的非易失性存储器中。软件应用与以下各项相关联:与发送器相关联的签名密钥、对应于与发送器相关联的签名密钥的签名验证密钥以及虚拟密钥。这一关联使得能够存储以下各项:(1)与发送器相关联的签名密钥;(2)对应于签名密钥的签名验证密钥;(3)虚拟密钥;以及(4)与软件应用的关联。这样就使得发送器能够为被授权执行该软件应用的特定接收器按需生成新的密钥加载消息。
在一些实施例中,对虚拟密钥进行保全包括:利用与接收器相关联的公共密钥对虚拟密钥进行加密从而产生已加密虚拟密钥,并且利用与发送器相关联的签名密钥对已加密虚拟密钥进行签名从而产生签名。可以由接收器利用对应于与该接收器相关联的公共密钥的秘密密钥对已加密虚拟密钥进行解密(也就是说其可以被解密),并且可以由接收器利用对应于与发送器相关联的签名密钥的签名验证密钥对所述签名进行验证。
公开了一种用于在可通信地连接到发送器的接收器中获得一个或更多密钥的模块。所述模块可以包括通信模块、安全性模块和密码模块。通信模块被配置成接收从发送器到接收器的与发送器相关联的签名验证密钥和密钥加载消息,其中密钥加载消息包括受到发送器保全以便保护虚拟密钥的真实性和保密性的受保全虚拟密钥。安全性模块被配置成利用与接收器相关联的秘密密钥和与发送器相关联的签名验证密钥从所接收到的受保全虚拟密钥获得虚拟密钥。密码模块被配置成把虚拟密钥和与发送器相关联的签名验证密钥作为输入提供到密码模块中的密码函数从而产生给定输出,其中所述给定输出包括一个或更多密钥。所述密码函数的属性使得以下做法是不可行的:确定另一个虚拟密钥以及包括签名密钥和与该签名密钥相关联的签名验证密钥的一个密钥对,从而使得所确定的签名验证密钥和所述另一个虚拟密钥映射到所述密码函数的给定输出,其中所述给定输出包括所述一个或更多密钥。
在一些实施例中,所述模块被实施为单个集成电路的一部分。这种优选实现方式使得攻击者更加难以读取或修改在该模块内部存储或生成的值。
公开了一种用于使得能够把一个或更多密钥传输到接收器的发送器。所述接收器可通信地连接到发送器。所述发送器包括密钥模块、安全性模块、通信模块和密码模块。密钥模块被配置成确定虚拟密钥。安全性模块被配置成利用与接收器相关联的公共密钥和与发送器相关联的签名密钥对虚拟密钥进行保全以产生受保全虚拟密钥,从而使得虚拟密钥的真实性和保密性得到保护。通信模块被配置成把对应于与发送器相关联的签名密钥的签名验证密钥和密钥加载消息从发送器传送到接收器,其中所述密钥加载消息包括受保全虚拟密钥。密码模块被配置成把虚拟密钥和与发送器相关联的签名验证密钥作为输入提供到该密码模块中的密码函数从而产生给定输出,其中所述给定输出包括一个或更多密钥。所述密码函数的属性使得以下做法是不可行的:确定另一个虚拟密钥以及包括签名密钥和与该签名密钥相关联的签名验证密钥的一个密钥对,从而使得所确定的签名验证密钥和所述另一个虚拟密钥映射到所述密码函数的给定输出,其中所述给定输出包括所述一个或更多密钥。
还公开了一种包括可通信地连接到发送器的接收器的模块的密钥传输系统。
正如前面所讨论的那样,所生成的一个或更多密钥可以被用来保全软件应用,这例如是通过挑战-响应机制而实现的。公开了受到挑战-响应机制保护的此类计算机程序产品。当由接收器的处理器执行时,所述计算机程序产品被适配成实施挑战-响应验证机制,以便激活与所述计算机程序产品相关联的功能。接收器包括挑战-响应生成机制,其能够接收挑战并且生成可以由计算机程序产品中的挑战-响应验证机制进行验证的响应。接收器中的挑战-响应生成机制需要使用一个或更多密钥。所述一个或更多密钥是来自接收器中的密码函数的给定输出的至少一部分。所述密码函数具有虚拟密钥以及与发送器相关联的签名验证密钥以作为输入,并且其属性使得以下做法是不可行的:确定另一个虚拟密钥以及包括签名密钥和与该签名密钥相关联的签名验证密钥的一个密钥对,从而使得所确定的签名验证密钥和所述另一个虚拟密钥映射到所述密码函数的给定输出。可以利用与接收器相关联的秘密密钥和与发送器相关联的签名验证密钥从密钥加载消息中的受保全虚拟密钥获得虚拟密钥。
在一些实施例中,虚拟密钥通过利用与接收器相关联的公共密钥对虚拟密钥进行加密以及利用对应于与发送器相关联的签名验证密钥的签名密钥对虚拟密钥进行签名而受到保全,从而使得可以由接收器利用对应于与该接收器相关联的公共密钥的秘密密钥对受保全虚拟密钥进行解密,并且使得可以由接收器利用与发送器相关联的签名验证密钥对虚拟密钥的签名进行验证。
后面将更加详细地描述本发明的实施例。要理解的是,关于任一个实施例描述的任何特征可以被单独使用,或者与所描述的其他特征组合使用,并且还可以与任何其他实施例或者任何其他实施例的任何组合的一项或更多项特征组合使用。此外,在不背离如所附权利要求书中限定的本发明的范围的情况下,还可以采用未在前面描述的等效方案和修改。应当理解的是,所公开的实施例不可被理解为限制本发明的保护范围。
附图说明
将参照在附图中示出的示例性实施例更加详细地解释本发明的各个方面,其中:
图1示出了使用密钥传输协议的典型的发送器-接收器系统(在发送器i与接收器之间共享的密钥被标示为Ki)。
图2a-b示出了使用对称和非对称算法来传输秘密密钥K的现有技术系统。
图3示出了本公开内容的一个示例性实施例的发送器-接收器联网系统。
图4示出了用于从发送器向接收器传送密钥的示例性系统。
图5示出了用于从发送器接收密钥的示例性接收器。
图6示出了用于向接收器传送密钥的示例性发送器。
具体实施方式
在本公开内容中描述的系统和方法保护从发送器传输到接收器的密钥的保密性和真实性(或单一来源真实性)。图3示出了根据本公开内容的一个示例性实施例的包括发送器和接收器的联网系统。发送器4通过分发网络6向一个或更多接收器2传送数据。
在一些实施例中,接收器2代表在接收器-发送器通信方案中所涉及的被配置成接收数据的一方。在一些其他实施例中,接收器2可以代表被配置成从发送器接收数据的器件或器件系统。类似地,发送器4可以代表在接收器-发送器通信方案中所涉及的被配置成向(多个)接收器传送数据的一方。发送器4还可以代表被配置成向(多个)接收器传送数据的器件或器件系统。
在一些实施例中,接收器2可以包括接收器件3。举例来说,接收器2可以代表一方,并且接收器件3可以是个人计算机器件、移动器件或智能卡器件。
在一些实施例中,比如接收器2的接收器可以包括模块1(例如芯片、集成电路)。一般来说,接收器2接收并且把数据转发到模块1以供进一步处理。模块1使用该数据来导出共享密钥(或者多于一个密钥),并且在密码机制中使用该密钥来为接收器2或接收器件3提供服务。这样的服务的实例是内容的加密或解密,或者针对挑战(例如认证接收器2或接收器件3)生成响应。在某些实施例中,模块1可以至少部分地用软件实施。举例来说,模块1可以由集成电路和嵌入式软件构成。
模块1可以被连接、可移除地连接以及/或者可通信地连接到接收器件3。在一些实施例中,模块1的至少一部分被物理地实施在接收器件3内部。举例来说,模块1可以被集成在个人计算机器件或移动器件的现有组件中(例如被集成在这样的器件的电路板中),或者被集成在智能卡器件中(例如被集成在智能卡集成电路中)。在一些其他实施例中,模块1被至少部分地物理地实施在接收器件3的外部。在这些实施例中,所述模块(例如被集成在通用串行总线器件、智能卡器件或任何其他外部器件中)可以物理地连接到接收器件3的一个端口。
针对模块1的安全性目标是对于敌对方来说,仿真模块1应当是“困难”的。在一些实施例中,把模块1集成在单个集成电路或芯片内部可能就足以实现这一目标。在一些其他实施例中,可以实施附加的安全性措施(例如用以提高模块对于读取和篡改的抵抗水平的措施)来实现所述安全性目标。举例来说,可能需要采取通常被用来保护智能卡集成电路的一项或更多项措施来实现所述目标。在另外一些其他实施例中,所述模块可以被实施在智能卡集成电路内部以实现所述目标。
一般来说,发送器首先生成虚拟密钥(在本公开内容中被标示为K*)。其次,发送器对虚拟密钥进行保全以保护虚拟密钥的真实性和保密性,从而产生受保全虚拟密钥。可以利用与接收器相关联的公共密钥对虚拟密钥进行加密。可以通过利用与发送器相关联的签名密钥添加签名来创建受保全虚拟密钥。随后把受保全虚拟密钥(被包括在密钥加载消息中)和签名验证密钥从发送器分发到接收器。
由发送器生成的虚拟密钥K*和与发送器相关联的签名验证密钥被用作针对密码函数的输入以便产生输出。所述输出包括密钥K(或者多于一个密钥),其可以被部分地用作针对密码机制的输入,从而为安全性应用提供服务。这样的服务的实例是内容的加密或解密或者针对挑战生成响应。
由于受保全虚拟密钥和签名验证密钥是被从发送器传送到接收器的内容(而不是密钥K本身),因此接收器的一个目的是从受保全虚拟密钥和签名验证密钥导出密钥K。类似地,发送器从虚拟密钥和签名验证密钥导出密钥K,从而可以把密钥K用于系统的意定安全性应用。
在从发送器接收到密钥加载消息和签名验证密钥之后,接收器首先导出虚拟密钥。举例来说,接收器可以使用与发送器相关联的签名验证密钥来验证受保全虚拟密钥的真实性。接收器可以使用与接收器相关联的秘密主密钥(其对应于作为一个密钥对的一部分的与接收器相关联的公共主密钥)从受保全虚拟密钥导出虚拟密钥K*。
所导出的虚拟密钥K*和与发送器相关联的签名验证密钥随后被用作针对密码函数的输入从而生成输出。所述输出包括密钥K(或者多于一个密钥)。所述密钥K(或者多于一个密钥)可以被用作针对密码机制的输入,从而为安全性应用提供服务。这样的服务的实例是内容的加密或解密,或者被用来对接收器进行认证的挑战-响应机制(例如用于把软件锁定到接收器)。
发送器和接收器中的密码函数可以是散列函数,或者与这里所描述的示例性散列函数具有相同的行为和属性的任何函数。在一些实施例中,所述散列函数(也被称作密码函数)具有用以确保与发送器相关联的签名验证密钥的真实性受到保护的特定属性。虽然在本实施例中使用了散列函数,但是也可以使用具有所期望的属性的任何函数。
所述(密码)函数的可能实现方式优选地具有以下属性:在给定输出K的情况下,很难(例如困难、计算上困难、不可行或者计算上不可行)找到一个密钥对(SK*,SVK*)和虚拟密钥K**从而使得SVK*和K**映射到K。在某些实施例中,“很难”可以意味着敌对方可能无法导出一个密钥对(SK*,SVK*)和K**从而使得SVK*和K**在多项式时间或空间中映射到K。在一些实施例中,可以通过指定找到这样的值所需的操作数目或者存储器大小的下限来定义“很难”。作为第三个实例,可以通过指定所述属性不会得到满足的概率的上限来定义“很难”。所述属性确保第二条安全性要求得到满足,这是在于敌对方将很难确定生成针对给定K的密钥加载消息所需的密钥对和虚拟密钥。
在一些实施例中,密钥K可以被用作针对用于把软件应用锁定到一个接收器(或多个接收器)的挑战-响应机制的输入。在这些实施例中,软件应用可以向接收器发送挑战,并且从接收器接收针对挑战的响应。软件应用包括用以验证接收自接收器的响应的机制,并且将只有在响应符合预期的情况下才提供其功能。
安全性目标是对于敌对方来说以下做法应当是“困难”的:(i)规避所述挑战-响应机制(例如通过从软件应用中去除所述机制);或者(ii)建立用于生成针对挑战的响应的仿真器。为了实现这些目标,发送器可以使用软件模糊技术来使得软件应用(其中包括挑战-响应验证机制)防读取并且抗篡改,从而产生模糊程序。
最后,发送器可以对于被授权执行该模糊程序的任何接收器生成密钥加载消息。通常来说,在个性化阶段期间把接收器与一个密钥对相关联。相应地,发送器可以利用与该特定接收器相关联的密钥生成针对特定接收器的密钥加载消息。密钥加载消息和与发送器相关联的签名验证密钥使得接收器能够导出K。接下来,接收器可以在密码机制中使用所导出的K来计算针对挑战的响应。一般来说,(多条)密钥加载消息和(多个)签名验证密钥使得接收器能够计算针对接收自软件应用的挑战的正确响应,也就是说它们授权接收器执行所述模糊程序。
关于图4-6更加详细地描述前面描述的一般性系统的各个实施例。
图4示出了用于从发送器向接收器传输密钥的示例性系统。系统400包括受信任方402、发送器404和接收器406。虽然仅仅示出了一个受信任方、一个发送器和一个接收器,但是认识到可以使用多于一个受信任方、发送器或接收器。
在接收器406的个性化阶段期间,受信任方402对于每一个接收器(比如接收器406)独立地生成与公共密钥密码系统相关联的一个密钥对。接收器的密钥对由分别存储在元件408和424中的公共主密钥PMK和秘密主密钥SMK构成。公共主密钥PMK和秘密主密钥SMK可以分别被称作与接收器相关联的公共密钥和与接收器相关联的秘密密钥。相关联的公共密钥密码系统包括加密算法E 412和解密算法D 428。该公共密钥密码系统保护虚拟密钥的保密性。
在个性化阶段之后,受信任方402不再需要接收器的秘密主密钥SMK(现在被存储在元件424中)。换句话说,受信任方402可以删除SMK。公共密钥密码术的使用允许受信任方公开每一个接收器的PMK。也就是说,只需要保护PMK的真实性,并且PMK元件408的内容是公开的。
为了防止敌对方使用PMK来构造把给定的K加载到相容接收器中的密钥加载消息,系统400使用由发送器404创建的另一个密钥对。与发送器404相关联的该密钥对包括签名验证密钥SVK和签名密钥SK。该密钥对被用在包括签名生成算法S 414和签名验证算法V 422的密码方案中。对于这样的方案,可以使用非对称或对称密码技术。如果使用非对称方案,则SVK是公共密钥,而SK是秘密密钥。如果使用非对称方案,则SVK和SK都是秘密密钥。此外,如果对称方案的密钥对(SK,SVK)中的其中一个密钥是已知的,则容易导出该密钥对中的另一个密钥。
如果发送器404希望生成密钥K并且将其分发到具有相关联的公共密钥PMK(例如被存储在元件408中)的接收器406,则发送器首先利用如图4中所描绘的密钥对发生器410(KPG)生成一个密钥对(SK,SVK)。接下来,发送器404利用密钥发生器KG 416生成伪随机值K*(即虚拟密钥),并且利用散列函数H 418从K*和SVK导出密钥K。举例来说,可以在应用散列函数之前合并两个输入K*和SVK。所述散列函数H 418可以被实施为密码模块的一部分,并且可以被实施为具有所期望的属性和行为的任何适当的密码函数。所得到的密钥K可以被存储在元件420中。在一些实施例中,可以由密码模块的散列函数H 418生成多于一个密钥。在某些实施例中,发送器404可以存储密钥对(SK,SVK)和/或虚拟密钥K*以供将来使用。在这样的实施例中,发送器404可以使用所存储的密钥对(SK,SVK)以及另一个(所存储或所生成的)虚拟密钥来导出另一个密钥K(或者多于一个密钥)。可替换地,可以使用所存储的虚拟密钥K*和另一个(所存储或所生成的)密钥对来导出一个密钥(或者多于一个密钥)。
为了构造密钥加载消息,发送器首先利用加密算法E 412和相应的接收器的PMK对K*进行加密,并且利用签名算法S 414和签名密钥SK对所得到的密文进行签名。加密算法E 412和签名算法S 414可以被实施为用于对虚拟密钥进行保全以产生受保全虚拟密钥的安全性模块的一部分。签名算法S 414可以包括计算非对称数字签名或对称MAC,并且将该值附加到已加密密钥之后。可替换地,可以使用具有消息恢复的签名方案。所得到的密钥加载消息被分发到接收器406,并且可以把所述消息与签名验证密钥SVK一起分发。可以通过发送器中的通信模块(未示出)来传送密钥加载消息、包括受保全虚拟密钥的所述消息和/或签名验证密钥。发送器404中的通信模块可以可通信地连接到接收器406中的另一个通信模块(未示出),从而可以在发送器404与接收器406之间传送至少密钥加载消息和/或签名验证密钥。
在接收到密钥加载消息和SVK之后,接收器406利用签名验证算法V 422和SVK验证包括在密钥加载消息中的受保全虚拟密钥的真实性。接下来,利用解密算法D 428和秘密主密钥SMK 424对已加密虚拟密钥进行解密。签名验证算法V 422和解密算法D 428可以被实施为用于从密钥加载消息中的受保全虚拟密钥导出虚拟密钥的接收器406中的安全性模块的一部分。
最后,对所述解密的结果和SVK应用散列函数H 426。散列函数H 426可以被实施为密码模块的一部分。如果密钥加载消息和签名验证密钥是真实的,则散列函数H的输出将等于K。所述输出K可以被存储在元件430中。发送器404中的散列函数H 418对应于接收器406的散列函数H 426。
在前面描述并且在图4中描绘的实例中,使用非对称方案来保护密钥加载消息的真实性。如果使用对称方案,则需要保护SVK的保密性。提到的是,在被分发到接收器时,可以通过利用加密算法E 412和与接收器相关联的PMK对SVK进行加密从而产生{SVK}PMK来保护SVK的保密性。在接收到该消息之后,接收器可以通过利用解密算法D 428和秘密主密钥SMK 424解密该消息来获取SVK。认识到,可以使用其他适当的机制来保护SVK的保密性。
散列函数H 418和散列函数H 426(也被称作密码函数)具有用以确保签名验证密钥的真实性得到保护的特定属性。虽然在本实施例中使用了散列函数,但是可以使用具有所期望的属性的任何适当函数。
散列函数H(例如散列函数H 418和散列函数H 426)的可能实现方式优选地具有以下属性:在给定输出K的情况下,很难(例如困难、计算上困难、不可行或者计算上不可行)找到一个密钥对(SK*,SVK*)和虚拟密钥K**从而使得SVK*和K**映射到K。在某些实施例中,“很难”可以意味着敌对方可能无法导出一个密钥对(SK*,SVK*)和K**从而使得SVK*和K**在多项式时间或空间中映射到K。在一些实施例中,可以通过指定找到这样的值所需的操作数目或者存储器大小的下限来定义“很难”。作为第三个实例,可以通过指定所述属性不会得到满足的概率的上限来定义“很难”。所述属性确保第二条安全性要求得到满足,这是在于敌对方将很难确定生成针对给定K的密钥加载消息和签名验证密钥所需的签名密钥和虚拟密钥。
如果使用非对称密码方案来保护密钥加载消息的真实性,则具有所述属性的函数H的一个实例如下:(1)合并输入K*与SVK从而产生中间结果X,这例如是通过把SVK的值附加到K*的值之后;(2)对输入X应用第二原像抵抗(2nd pre-image resistant)散列函数,从而产生输出K。为了看出所述优选属性对于该例成立,观察到,在给定K和SVK的情况下,敌对方将很难确定不等于SVK的SVK*和K**从而使得SVK*和K**映射到K。为了看清这一点,假设敌对方可以生成这样的SVK*和这样的K**。随后,在给定输出K以及输入SVK和K*的情况下,可以应用相同的方法来为散列函数生成由SVK*和K**构成的第二原像,这是因为SVK*不等于SVK。这意味着所述散列函数不是第二原像抵抗的,从而与所述假设矛盾。其结果是,敌对方的唯一选项是确定对应于与发送器相关联的公共密钥(即SVK)的签名密钥,这按照定义对于非对称方案来说是不可行的。
如果使用对称方案,则函数H的一个实例如下:(1)对秘密密钥SVK应用单向函数或原像抵抗散列函数,从而产生中间结果X;(2)合并X与K*从而产生中间结果Y,这例如是通过把X的值附加到K*的值之后;(3)对中间结果Y应用第二原像抵抗散列函数,从而产生输出K。为了看出所述优选属性对于该例成立,观察到,在给定K的情况下,敌对方将能够确定在步骤(3)中映射到给定K的在步骤(1)中应用的原像抵抗散列函数的最多一项输出(即中间结果X)和一个K**。按照定义,不可能找到映射到该给定输出X的针对原像抵抗散列函数的任何输入SVK*。提到的是,用于对称方案的实现方式也可以被用在非对称情况中,也就是说,函数H的一种实现方式可以被用于对称情况和非对称情况二者。
此外观察到,在全部两个实例中,如果虚拟密钥K*和对称情况中的原像抵抗散列函数的输出X是已知的(也就是说如果针对第二原像抵抗散列函数的全部两个输入都是已知的),则(密码)函数H也满足所期望的属性。这一点可以如下看出:在给定输出K和针对第二原像抵抗散列函数的指定输入的情况下,按照定义,不可能确定映射到给定输出K的针对第二原像抵抗散列函数的第二个不同的输入集合。如果使用非对称方案,则这意味着敌对方无法确定映射到给定K的不同于SVK的签名验证密钥。敌对方的唯一选项是确定与SVK相关联的签名密钥,这按照定义对于非对称方案是不可行的。在对称情况中,敌对方具有原像抵抗散列函数的恰好一个输出(即中间结果X)。按照定义,不可能找到映射到该给定输出X的针对原像抵抗散列函数的输入SVK*。
如果使用非对称方案来保护K*的真实性,如图4中所示,并且如果散列函数H 426是第二原像抵抗散列函数,则在敌对方成功破解任何数目的接收器以获得所有密钥值(K*、K、SVK和一定数目的SMK)以及密钥处理细节的情况下,对于任何其他相容接收器产生导致把适当的K加载到该接收器中的输入在计算方面都是不可行的。也就是说,敌对方需要秘密签名密钥SK的知识以便产生把K加载到相容接收器中的消息。如果使用对称方案来保护K*的真实性,则安全性水平被降低,这是在于如果秘密密钥SVK(或SK)被破解,则可以产生密钥加载消息(回想到在对称方案中,可以容易从密钥对(SK,SVK)中的一个密钥导出另一个密钥)。一般来说,如果SK被破解,则敌对方能够对于利用相关联的SVK导出的密钥构造密钥加载消息(假设这些导出的密钥对于敌对方是已知的)。在一些实施例中,对于每一个所导出的密钥K唯一地生成密钥对(SK,SVK),从而最小化其中SK被破解的安全性漏洞的影响。
如果在如图4所示的系统中使用了其他发送器,并且如果敌对方知晓与其他发送器相关联的所有秘密并且/或者如果敌对方是其中一个其他发送器,则敌对方所知晓的秘密无法被用来破解由发送器404生成的SK(或SVK)。也就是说,在这种情形下,敌对方将仍然无法为相容接收器产生导致给定的K(与发送器404相关联)被加载到该接收器中的输入。
在密钥K已被加载到接收器中之后,其可以被用作针对密码机制的输入,从而为安全性应用提供服务。举例来说,其可以被用作用于加密和解密从发送器传送到接收器的数据的流密码或块密码中的对称密钥。可替换地,K可以被用作用以初始化伪随机数发生器的种子,以便例如生成公共密钥密码的密钥对。K还可以被用作键控散列函数的键值。具体来说,在前面的实例中提到的原语可以被用作用于挑战-响应协议的构造块(例如K可以被用在挑战-响应协议中以对接收器进行认证)。
在一些实施例中,接收器能够存储多于一个密钥K。可以利用一个或更多虚拟密钥以及一个或更多签名验证密钥作为输入生成(或导出)这些密钥。在这些实施例中,所存储的密钥可以与单一密码机制(例如内容解密机制或挑战-响应机制)相关联。在其他实施例中,不同的密钥可以与不同的机制相关联。举例来说,一个所存储的密钥可以被用在内容解密机制中,而另一个所存储的密钥可以被用作针对挑战-响应机制的输入。显而易见的是可以实施并使用多于一种解密机制和/或多于一种挑战-响应机制。
图5示出了用在挑战-响应协议中的用于从发送器接收密钥K的示例性接收器。图6示出了用于向接收器传送K的示例性发送器。该说明性实施例涉及把软件应用绑定到一个接收器或接收器集合(也被称作节点锁定)。但是理解的是,该实施例或其变型可以被用于其他安全性/密码应用。在该实施例中,接收器包括比如个人计算机、移动器件或智能卡器件之类的接收器件。发送器是向接收器分发软件应用的一方。系统500和600中的安全性目标是将软件应用锁定到由发送器指定的一个接收器或接收器集合(也被称作被授权接收器或被授权接收器集合)。也就是说,在由未被授权的接收器的接收器件执行时,软件应用不应当提供其功能。
在图5中描绘出示例性接收器安全性架构。通常来说,接收器系统500包括接收器502、模块504、接收器件522以及受保护软件应用506。模块504的实现方式和属性通常对应于(关于图3的联网系统所描述的)接收器2的模块1的实现方式和属性。模块504实施密钥传输协议的接收器功能,即关于图4所描述的协议。按照与图4中的系统400的接收器406类似的方式,模块504从发送器接收密钥加载消息和/或签名验证密钥。接收器502的模块504、接收器件522或接收器502本身可以包括通信模块,其可通信地连接到发送器以用于接收(多条)密钥加载消息以及(多个)签名验证密钥。在接收到密钥加载消息和签名验证密钥SVK之后,接收器502的模块504利用签名验证算法V 508和SVK验证包括在密钥加载消息中的受保全虚拟密钥的真实性。接下来,利用解密算法D 509和秘密主密钥SMK 510对已加密虚拟密钥进行解密。签名验证算法V 508和解密算法D 509可以被实施为用于从密钥加载消息中的受保全虚拟密钥导出虚拟密钥的接收器502的模块504中的安全性模块的一部分。
最后,对所述解密的结果(即虚拟密钥)和SVK应用散列函数H 512或者任何适当的密码函数。散列函数H 512可以被实施为密码模块的一部分。如果密钥加载消息和签名验证密钥是真实的,则散列函数H的输出将等于K。在一些实施例中,可以由散列函数H 512生成多于一个密钥。所述输出K可以被存储在元件514中。接收器502中的散列函数H 512基本上对应于密钥加载消息所来自的发送器中的散列函数H(例如图6中的发送器602的散列函数614)。散列函数H 512的实现方式和属性通常对应于(关于图4的系统400描述的)接收器406的散列函数H 426的实现方式和属性。同样地,所述散列函数可以是具有用以保护签名验证密钥的真实性的所期望的属性的任何适当的密码函数。
接下来,模块504使用K作为针对密码机制CM 516的输入,以便生成针对挑战(例如挑战520)的响应(例如响应518)。如图5中所示,挑战c 520由受保护软件应用506提供。在一些实施例中,作为说明性挑战-响应机制的一部分,密码机制CM 516可以利用密钥K和对称加密算法对挑战进行加密(或解密),从而产生针对挑战的响应。在其他实施例中,密码机制CM 516可以使用K作为用于伪随机数发生器的种子,以便例如生成公共密钥密码系统的一个密钥对。这些密钥的其中之一随后可以被用在密码机制CM 516中,以便利用相关联的公共密钥密码系统对挑战进行加密(或解密),从而产生响应。在一些其他实施例中,密码机制CM 516可以使用K和挑战作为针对键控散列函数的输入,从而产生响应。一般来说,密码机制CM 516可以是使用密钥K和挑战作为输入以产生响应的任何密码函数或者各种密码函数的任何组合。还理解的是,K可以被用于其他安全性/密码应用。
在一些实施例中,接收器502可以存储密钥加载消息和/或签名验证密钥以供将来使用。举例来说,密钥加载消息和/或签名验证密钥可以被存储在接收器件522的非易失性存储器内部和/或模块504的非易失性存储器内部。
在接收器件522上执行受保护软件应用506。优选地,模块504可通信地连接到受保护软件应用506,以便向模块504发送挑战(例如挑战520)以及接收相关联的响应(例如响应518)。为了验证接收器是否得到授权来执行受保护软件应用506,所述受保护软件应用包括用以验证接收自模块504的响应的机制,并且只有在响应符合预期的情况下才将提供其功能。如果响应无效,则受保护软件应用应当实施相关的(校正性)安全性措施,比如中止其执行。可替换地,所述验证也可以是隐含式的,这是在于如果响应不符合预期,则所期望的功能不可用。
在一些实施例中,受保护软件应用506可以计算针对挑战的预期响应,并且把接收自模块504的响应与预期响应进行比较。在其他实施例中,受保护软件应用506可以利用接收自模块504的响应作为输入来计算预期挑战(即施行“逆向”操作),并且把挑战与预期挑战进行比较。取代计算预期响应或预期挑战,受保护软件应用506还可以计算并比较其他数据。举例来说,受保护软件应用506可以计算中间结果和挑战-响应计算的预期中间结果,并且把这两个结果进行比较。在一些其他实施例中,在受保护软件应用506中可以包括一个挑战-响应对列表。在某些实施例中,接收自模块504的响应可以是软件应用的功能的本质部分。举例来说,挑战可以包括已加密内容,并且接收自模块504的响应可以包括将由接收器件522再现的相应的明文内容。认识到,受保护软件应用506可以使用挑战-响应验证机制的这些实施例的任何组合。
在一些实施例中,受保护软件应用506可以例如与密钥加载消息和/或签名验证密钥一起被存储在接收器件522内部以供将来使用。
为了实现高水平安全性目标,对于敌对方来说以下做法应当是“困难”的:(i)规避受保护软件应用506中的挑战-响应机制(例如通过从应用中去除所述机制);或者(ii)建立用于生成针对挑战的响应的仿真器(例如在从受保护软件应用506提取出秘密密钥之后)。在一些实施例中,可以使用软件模糊技术来使得软件应用(包括挑战-响应验证机制)防读取并且抗篡改。
在其中多于一个K被存储在模块504内部的情况下,可以向模块504提供一个参数以便选择将使用哪一个密钥和密码机制;换句话说,选择由模块504提供的密钥和服务。虽然示出了受保护软件应用506,但是理解的是可以使用其他安全性/密码应用。
发送器的安全性架构被描绘为图6中的系统600。如果发送器602希望把密钥K分发到具有相关联的公共密钥PMK(例如被存储在元件606中)的接收器(例如分发到接收器502),则发送器首先利用如图6中所描绘的密钥对发生器604(KPG)生成一个密钥对(SK,SVK)。接下来,发送器602利用密钥发生器KG 612生成伪随机值K*(即虚拟密钥),并且利用散列函数H 614从K*和SVK导出密钥K(或者多于一个密钥)。在一些实施例中,发送器602可以存储密钥对(SK,SVK)和/或虚拟密钥K*以供将来使用。在这样的实施例中,发送器602可以使用所存储的密钥对(SK,SVK)以及另一个(所存储或所生成的)虚拟密钥来导出另一个密钥K(或者多于一个密钥)。可替换地,可以使用所存储的虚拟密钥K*和另一个(所存储或所生成的)密钥对来导出一个密钥(或者多于一个密钥)。
可以在应用散列函数之前合并两个输入K*和SVK。所述散列函数H 614可以被实施在密码模块中,并且可以对应于密钥加载消息和/或签名验证密钥所针对的接收器中的散列函数H。散列函数H 614的行为和属性可以基本上对应于(关于图4的系统400详细讨论的)散列函数418和426。同样地,所述散列函数可以是具有用以保护签名验证密钥的真实性的所期望的属性的任何适当的密码函数。在一些实施例中,可以由密码模块的散列函数H 614生成多于一个密钥。所得到的密钥K(或者多于一个所得到的密钥)可以被存储在元件616中。
为了构造密钥加载消息,发送器首先利用加密算法E 608和相应的接收器的PMK(被存储在元件606中)对K*进行加密,并且利用签名算法S 610和签名密钥SK对所得到的密文进行签名。加密算法E 608和签名算法S 610可以被实施为用于对虚拟密钥进行保全以产生受保全虚拟密钥(被包括在密钥加载消息中)的安全性模块的一部分。签名算法S 610可以包括计算非对称数字签名或对称MAC,并且将该值附加到已加密密钥之后。可替换地,可以使用具有消息恢复的签名方案。所得到的密钥加载消息和签名验证密钥被分发到与PMK 606相对应的接收器。可以把密钥加载消息与签名验证密钥SVK一起分发。
可以通过发送器602中的通信模块(未示出)来传送密钥加载消息和签名验证密钥。发送器602中的通信模块可以可通信地连接到对应于PMK 606的接收器中的另一个通信模块(未示出),从而可以从发送器602的通信模块向接收器的通信模块传送密钥加载消息和/或签名验证密钥。
如图6中所示,(不受保护的)软件应用618和密钥K(被存储在元件616中)被输入到软件模糊器620。软件模糊器620把挑战-响应验证机制集成到软件应用中,并且利用模糊技术使得软件应用防读取并且抗篡改。软件模糊器的输出是受保护软件应用612,其能够发送挑战,并且只有在响应符合预期的情况下才提供所期望的功能。在密钥传输协议的这一应用中,密钥加载消息和SVK可以被视为激活代码,其使得相关联的接收器件能够执行相应的软件应用。在某些实施例中,软件模糊器620可以把多于一种挑战-响应机制集成在软件应用中(例如使用多于一个密钥作为输入)。
在一些实施例中,可以使用与发送器相关联的不同的虚拟密钥和/或不同的密钥对来产生用于保护一个或更多软件应用的(不同的)密钥,或者产生用于针对不同接收器保护单一软件应用的不同密钥。在某些实施例中,密钥K可以被用于保护多于一个软件应用。在其他实施例中,发送器602首先通过向密码函数(例如散列函数H 614)提供与该发送器相关联的签名验证密钥和虚拟密钥K*来生成密钥K 616。其次,发送器602把所生成的密钥K 616和软件应用618作为输入提供到软件模糊器620,以便产生单一受保护软件应用(例如受保护软件应用622)。所述单一受保护软件应用被存储在发送器602或者任何适当的存储介质(例如远程服务器)中,从而使得可以在后来把该单一受保护软件应用传送到其他接收器。可替换地,可以公开所述受保护软件应用。如果SVK是公共密钥,则还可以与所述受保护软件应用一起公开SVK。发送器可以安全地存储三元组(K*,SK,SVK)以及与软件应用的关联。最后,利用所存储的三元组(K*,SK,SVK)作为输入,发送器602可以生成用于希望执行该单一受保护软件应用的任何被授权接收器的(多条)密钥加载消息。发送器还可以把被授权接收器的身份与三元组(K*,SK,SVK)以及与软件应用的关联一起安全地存储,从而使得该发送器能够在后来的某一时间生成用于该被授权接收器的新的密钥加载消息(或者多于一条密钥加载消息)。通常来说,接收器与在个性化阶段期间生成的一个密钥对相关联。相应地,发送器602可以利用与特定接收器相关联的密钥并且利用加密算法E 608和签名算法S 610生成用于该特定接收器的密钥加载消息。在这些实施例中,只需要生成单一受保护软件应用,并且可以为不同的接收器生成不同的密钥加载消息,从而节省了用于生成受保护软件应用的处理成本,并且节省了用于存储或分发受保护软件应用的成本。本领域技术人员理解的是,这一示例性过程可以被用于除了软件模糊之外的其他应用。
如果使用非对称方案来保护K*的真实性,正如图5和6中那样,并且如果函数H是第二原像抵抗散列函数,则在敌对方成功破解任何数目的接收器以获得所有密钥值(K*、K、SVK和一定数目的SMK)以及密钥处理细节的情况下,对于任何相容接收器产生导致在该相容接收器上非法执行受保护软件应用的激活代码在计算方面都是不可行的。也就是说,敌对方需要秘密签名密钥SK的知识以便产生用于未被授权的相容接收器的激活代码。具体来说,如果在系统中使用了其他发送器,并且如果敌对方知晓与其他发送器相关联的所有秘密并且/或者如果敌对方是其中一个其他发送器,则敌对方所知晓的秘密无法被用来破解秘密签名密钥SK。
如果受保护软件应用包括各个挑战-响应对或者密钥K(例如被用作密码中的对称密钥或者被用作键控散列函数中的键值),则威胁在于敌对方从受保护软件应用中提取出挑战-响应对或密钥K。接下来,敌对方可以建立挑战-响应机制的仿真器以便非法地执行受保护软件应用。可以使用一种变型方案来解决这一威胁。取代把K直接用作对称密钥,其可以被用作用于伪随机数发生器的种子以便生成一个公共密钥对。可以在所述模块内部使用秘密密钥连同相关联的解密算法以便生成针对接收自受保护软件应用的挑战的响应,并且可以把公共密钥连同相关联的加密算法集成在受保护软件应用中以便验证接收自所述模块的响应。这种实现方式变型的一个优点在于,挑战-响应对和秘密密钥(用以生成针对挑战的响应)都无法从受保护软件应用中被提取出来。
虽然描述了通用公共密钥密码术模块(例如模块412、414、422、428、508、509、608和610),但是理解的是,只要密钥加载消息的真实性和保密性得到保护,就可以使用任何其他适当的密码操作和基础设施。作为一个实例,所述真实性机制可以使用其中SK和SVK都是秘密密钥的非对称方案。这样的系统的一个众所周知的实例是RSA,其具有随机选择的加密(或解密)指数,二者都被保密。如果使用其中SVK是秘密密钥的真实性机制,则优选地例如使用与该接收器相关联的公共密钥作为加密密钥,按照已加密形式把SVK传送到接收器。还可能可以把附加的密钥层插入到在本公开内容中描述的方法和系统。
本发明的一个实施例可以被实施为用于计算机系统的程序产品。所述程序产品的(多个)程序定义各个实施例(包括这里所描述的方法)的功能,并且可以被包含在多种计算机可读存储介质上。所述计算机可读存储介质可以是非瞬时性存储介质。说明性计算机可读存储介质包括(但不限于):(i)在其上永久性地存储信息的不可写存储介质(例如计算机内的只读存储器器件,比如可以由CD-ROM驱动器读取的CD-ROM盘、ROM芯片或者任何类型的固态非易失性半导体存储器);以及(ii)在其上存储可改动的信息的可写存储介质(例如盘驱动器内的软盘或者硬盘驱动器或者任何类型的固态随机存取半导体存储器、闪存)。
要理解的是,关于任何一个实施例所描述的任何特征可以被单独使用或者与所描述的其他特征组合使用,并且还可以与任何其他实施例或者任何其他实施例的任何组合的一项或更多项特征组合使用。此外,本发明不限于前面所描述的实施例,其在所附权利要求书的范围内可以有所变化。
Claims (16)
1. 一种用于在接收器中获得一个或更多密钥的方法,所述接收器能通信地连接到发送器,所述方法包括:
在接收器处从发送器接收与该发送器相关联的签名验证密钥和密钥加载消息,其中密钥加载消息包括受保全虚拟密钥,所述受保全虚拟密钥受到发送器保全以便保护虚拟密钥的真实性和保密性;
利用与接收器相关联的秘密密钥和与发送器相关联的签名验证密钥从所接收到的受保全虚拟密钥获得虚拟密钥;
把与发送器相关联的虚拟密钥和签名验证密钥作为输入提供给密码函数从而产生给定输出,所述给定输出包括一个或更多密钥;以及
其中,所述密码函数的属性使得以下做法是不可行的:确定另一个虚拟密钥以及包括签名密钥和与该签名密钥相关联的签名验证密钥的一个密钥对,从而使得所确定的签名验证密钥和所述另一个虚拟密钥映射到所述密码函数的给定输出,其中所述给定输出包括所述一个或更多密钥。
2. 根据权利要求1的方法,其中,所述受保全虚拟密钥包括:
通过利用与接收器相关联的公共密钥对虚拟密钥进行加密以及利用对应于与发送器相关联的签名验证密钥的签名密钥对虚拟密钥进行签名而受到保全的虚拟密钥,从而使得能由接收器利用对应于与该接收器相关联的公共密钥的秘密密钥对受保全虚拟密钥进行解密,并且使得能由接收器利用与发送器相关联的签名验证密钥对虚拟密钥的签名进行验证。
3. 根据任一条在前权利要求的方法,还包括:提供所述一个或更多密钥当中的至少一部分以用在挑战-响应机制中。
4. 根据权利要求3的方法,还包括使用所述挑战-响应机制来激活与软件应用相关联的功能,其中:
所述挑战-响应机制的至少一部分与所述软件应用集成。
5. 根据权利要求4的方法,还包括:把所接收到的受保全虚拟密钥、与发送器相关联的签名验证密钥和软件应用存储在接收器的非易失性存储器中。
6. 根据任一条在前权利要求的方法,其中,与接收器相关联的秘密密钥是该接收器所独有的。
7. 一种用于把一个或更多密钥从发送器传输到接收器的方法,所述接收器能通信地连接到发送器,所述方法包括:
在发送器中确定虚拟密钥;
利用与接收器相关联的公共密钥和与发送器相关联的签名密钥对虚拟密钥进行保全以产生受保全虚拟密钥,从而使得虚拟密钥的真实性和保密性受到保护;
将对应于与发送器相关联的签名密钥的签名验证密钥和密钥加载消息从发送器传送到接收器,其中密钥加载消息包括受保全虚拟密钥;
把虚拟密钥和与发送器相关联的签名验证密钥作为输入提供给密码函数以产生给定输出,其中所述给定输出包括一个或更多密钥;以及
其中,所述密码函数的属性使得以下做法是不可行的:确定另一个虚拟密钥以及包括签名密钥和与该签名密钥相关联的签名验证密钥的一个密钥对,从而使得所确定的签名验证密钥和所述另一个虚拟密钥映射到所述密码函数的给定输出,其中所述给定输出包括所述一个或更多密钥。
8. 权利要求7的方法,还包括:
利用所述一个或更多密钥当中的至少一部分来生成挑战-响应机制的至少一部分;以及
把所述挑战-响应机制的至少一部分集成到软件应用中。
9. 权利要求8的方法,还包括:
把与发送器相关联的签名密钥、对应于与发送器相关联的签名密钥的签名验证密钥以及虚拟密钥存储在发送器中的非易失性存储器中;以及
把软件应用与以下各项相关联:与发送器相关联的签名密钥、对应于与发送器相关联的签名密钥的签名验证密钥以及虚拟密钥。
10. 权利要求7-9当中的任一条的方法,其中,对虚拟密钥进行保全包括:
利用与接收器相关联的公共密钥对虚拟密钥进行加密,从而产生已加密虚拟密钥;以及
利用与发送器相关联的签名密钥对已加密虚拟密钥进行签名,从而产生签名;
其中,能由接收器利用对应于与该接收器相关联的公共密钥的秘密密钥对已加密虚拟密钥进行解密,并且能由接收器利用对应于与发送器相关联的签名密钥的签名验证密钥对所述签名进行验证。
11. 一种用于在能通信地连接到发送器的接收器中获得一个或更多密钥的模块,所述模块包括:
通信模块,被配置成接收从发送器到接收器的与发送器相关联的签名验证密钥和密钥加载消息,其中密钥加载消息包括受到发送器保全以保护虚拟密钥的真实性和保密性的受保全虚拟密钥;
安全性模块,被配置成利用与接收器相关联的秘密密钥和与发送器相关联的签名验证密钥从所接收到的受保全虚拟密钥获得虚拟密钥;
密码模块,被配置成把虚拟密钥和与发送器相关联的签名验证密钥作为输入提供到密码模块中的密码函数从而产生给定输出,其中所述给定输出包括一个或更多密钥;并且
其中,所述密码函数的属性使得以下做法是不可行的:确定另一个虚拟密钥以及包括签名密钥和与该签名密钥相关联的签名验证密钥的一个密钥对,从而使得所确定的签名验证密钥和所述另一个虚拟密钥映射到所述密码函数的给定输出,其中所述给定输出包括所述一个或更多密钥。
12. 根据权利要求11的模块,其中,所述模块被实施为单个集成电路的一部分。
13. 一种用于使得能够把一个或更多密钥传输到接收器的发送器,所述接收器能通信地连接到发送器,所述发送器包括:
密钥模块,被配置成确定虚拟密钥;
安全性模块,被配置成利用与接收器相关联的公共密钥和与发送器相关联的签名密钥对虚拟密钥进行保全以产生受保全虚拟密钥,从而使得虚拟密钥的真实性和保密性得到保护;
通信模块,被配置成把对应于与发送器相关联的签名密钥的签名验证密钥和密钥加载消息从发送器传送到接收器,其中密钥加载消息包括受保全虚拟密钥;以及
密码模块,被配置成把虚拟密钥和与发送器相关联的签名验证密钥作为输入提供到该密码模块中的密码函数从而产生给定输出,其中所述给定输出包括一个或更多密钥;并且
其中,所述密码函数的属性使得以下做法是不可行的:确定另一个虚拟密钥以及包括签名密钥和与该签名密钥相关联的签名验证密钥的一个密钥对,从而使得所确定的签名验证密钥和所述另一个虚拟密钥映射到所述密码函数的给定输出,其中所述给定输出包括所述一个或更多密钥。
14. 一种包括根据权利要求11或12的模块的密钥传输系统,所述模块能通信地连接到根据权利要求13的发送器。
15. 一种实施在计算机可读非瞬时性存储介质上的计算机程序产品,被从发送器传送到与发送器能通信地连接的接收器,当由接收器的处理器执行时,所述计算机程序产品被适配成实施挑战-响应验证机制以便激活与所述计算机程序产品相关联的功能,
其中:
接收器包括挑战-响应生成机制,所述挑战-响应生成机制能够接收挑战并且生成能由计算机程序产品中的挑战-响应验证机制进行验证的响应;
接收器中的挑战-响应生成机制需要使用一个或更多密钥;
所述一个或更多密钥是来自接收器中的密码函数的给定输出的至少一部分;
所述密码函数具有虚拟密钥以及与发送器相关联的签名验证密钥作为输入,并且所述密码函数的属性使得以下做法是不可行的:确定另一个虚拟密钥以及包括签名密钥和与该签名密钥相关联的签名验证密钥的一个密钥对,从而使得所确定的签名验证密钥和所述另一个虚拟密钥映射到所述密码函数的给定输出;
能利用与接收器相关联的秘密密钥和与发送器相关联的签名验证密钥从密钥加载消息中的受保全虚拟密钥获得虚拟密钥。
16. 权利要求15的计算机程序产品,其中,所述受保全虚拟密钥包括:
通过利用与接收器相关联的公共密钥对虚拟密钥进行加密以及利用对应于与发送器相关联的签名验证密钥的签名密钥对虚拟密钥进行签名而受到保全的虚拟密钥,从而使得能由接收器利用对应于与该接收器相关联的公共密钥的秘密密钥对受保全虚拟密钥进行解密,并且使得能由接收器利用与发送器相关联的签名验证密钥对虚拟密钥的签名进行验证。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10193312.5 | 2010-12-01 | ||
EP10193312A EP2461534A1 (en) | 2010-12-01 | 2010-12-01 | Control word protection |
EP11160417A EP2461564A1 (en) | 2010-12-01 | 2011-03-30 | Key transport protocol |
EP11160417.9 | 2011-03-30 | ||
PCT/EP2011/071432 WO2012072704A1 (en) | 2010-12-01 | 2011-11-30 | Key transport protocol |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103339958A true CN103339958A (zh) | 2013-10-02 |
Family
ID=44246428
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011800665688A Pending CN103339958A (zh) | 2010-12-01 | 2011-11-30 | 密钥传输协议 |
CN201180066582.8A Active CN103354998B (zh) | 2010-12-01 | 2011-11-30 | 控制字保护 |
CN2011800665832A Pending CN103329500A (zh) | 2010-12-01 | 2011-11-30 | 控制字保护 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180066582.8A Active CN103354998B (zh) | 2010-12-01 | 2011-11-30 | 控制字保护 |
CN2011800665832A Pending CN103329500A (zh) | 2010-12-01 | 2011-11-30 | 控制字保护 |
Country Status (5)
Country | Link |
---|---|
US (3) | US20130251152A1 (zh) |
EP (4) | EP2461534A1 (zh) |
KR (1) | KR20140034725A (zh) |
CN (3) | CN103339958A (zh) |
WO (3) | WO2012072707A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105530636A (zh) * | 2014-10-17 | 2016-04-27 | 朗姆研究公司 | 用于建立虚拟拴系的方法、装置及系统 |
CN107797822A (zh) * | 2016-09-01 | 2018-03-13 | 恩智浦有限公司 | 用于认证固件的设备和相关联的方法 |
CN114208109A (zh) * | 2019-06-14 | 2022-03-18 | 西门子股份公司 | 用于为处理设备建立安全数据通信的方法和用于生成密码密钥的信任模块以及现场设备 |
CN115336230A (zh) * | 2020-01-20 | 2022-11-11 | 比特福尔德股份有限公司 | 用于使用气隙系统硬件协议进行安全数据传输的系统和方法 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3518128B1 (en) | 2011-03-30 | 2021-04-28 | Irdeto B.V. | Enabling a software application to be executed on a hardware device |
EP3495974B1 (en) | 2011-03-30 | 2022-02-16 | Irdeto B.V. | Enabling a software application to be executed on a mobile station |
GB201110254D0 (en) | 2011-06-17 | 2011-08-03 | Irdeto Corporate Bv | Dynamic fingerprinting |
GB201110492D0 (en) | 2011-06-21 | 2011-08-03 | Irdeto Corporate Bv | Receiver software protection |
CN104221023B (zh) | 2012-02-17 | 2017-11-03 | 爱迪德技术有限公司 | 用于数字权利管理的方法、装置和系统 |
GB201210472D0 (en) * | 2012-06-13 | 2012-07-25 | Irdeto Corporate Bv | Obtaining control words |
US9756022B2 (en) | 2014-08-29 | 2017-09-05 | Box, Inc. | Enhanced remote key management for an enterprise in a cloud-based environment |
JP5982343B2 (ja) | 2012-10-17 | 2016-08-31 | ボックス インコーポレイテッドBox, Inc. | クラウドベース環境におけるリモートキー管理 |
US9888283B2 (en) * | 2013-03-13 | 2018-02-06 | Nagrastar Llc | Systems and methods for performing transport I/O |
US9456344B2 (en) | 2013-03-15 | 2016-09-27 | Ologn Technologies Ag | Systems, methods and apparatuses for ensuring proximity of communication device |
US9698991B2 (en) * | 2013-03-15 | 2017-07-04 | Ologn Technologies Ag | Systems, methods and apparatuses for device attestation based on speed of computation |
US10177915B2 (en) * | 2013-03-15 | 2019-01-08 | Ologn Technologies Ag | Systems, methods and apparatuses for device attestation based on speed of computation |
GB201305734D0 (en) | 2013-03-28 | 2013-05-15 | Irdeto Bv | Enabling a content receiver to access encrypted content |
US9467798B2 (en) | 2013-05-10 | 2016-10-11 | Ologn Technologies Ag | Systems, methods and apparatuses for ensuring proximity of wifi communication devices |
US9455998B2 (en) | 2013-09-17 | 2016-09-27 | Ologn Technologies Ag | Systems, methods and apparatuses for prevention of relay attacks |
FR3019416A1 (fr) * | 2014-03-28 | 2015-10-02 | Orange | Procede de traitement de donnees |
EP3771138B1 (en) | 2014-03-31 | 2021-09-22 | Irdeto B.V. | Cryptographic chip and related methods |
US20150349954A1 (en) * | 2014-06-03 | 2015-12-03 | Mason Borda | System and method for random seed generation |
EP2958039B1 (en) * | 2014-06-16 | 2019-12-18 | Vodafone GmbH | Device for decrypting and providing content of a provider and method for operating the device |
US9473463B2 (en) * | 2014-07-29 | 2016-10-18 | Combined Conditional Access Development & Support, LLC | Control word and associated entitlement control message caching and reuse |
US10574442B2 (en) | 2014-08-29 | 2020-02-25 | Box, Inc. | Enhanced remote key management for an enterprise in a cloud-based environment |
CN105282590B (zh) * | 2015-09-17 | 2018-10-12 | 国家新闻出版广电总局广播电视规划院 | 机顶盒 |
US10200371B2 (en) | 2015-11-09 | 2019-02-05 | Silvercar, Inc. | Vehicle access systems and methods |
US10411900B2 (en) | 2016-07-12 | 2019-09-10 | Electronics And Telecommunications Research Institute | Control word protection method for conditional access system |
KR102190886B1 (ko) * | 2016-07-12 | 2020-12-14 | 한국전자통신연구원 | 조건부 액세스 시스템의 컨트롤 워드 보호 |
KR20180085212A (ko) | 2017-01-18 | 2018-07-26 | 삼성전자주식회사 | 전자 장치, 그의 영상 처리 방법 및 비일시적 컴퓨터 판독가능 기록매체 |
US10728807B1 (en) | 2019-03-04 | 2020-07-28 | Cisco Technology, Inc. | Fast roaming and uniform policy for wireless clients with distributed hashing |
US20220078026A1 (en) * | 2019-04-30 | 2022-03-10 | Hewlett-Packard Development Company, L.P. | Verifications of workload signatures |
US11432040B2 (en) * | 2020-03-18 | 2022-08-30 | Synamedia Limited | Smartphone-based conditional access system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0801478A2 (en) * | 1996-04-10 | 1997-10-15 | International Business Machines Corporation | Cryptographic key recovery system |
CN1165848C (zh) * | 1997-05-28 | 2004-09-08 | 西门子公司 | 用于保护软件的计算机系统和保护软件的方法 |
CN1934823A (zh) * | 2004-03-16 | 2007-03-21 | 法国电信公司 | 匿名认证方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6252964B1 (en) * | 1995-04-03 | 2001-06-26 | Scientific-Atlanta, Inc. | Authorization of services in a conditional access system |
US6246767B1 (en) * | 1995-04-03 | 2001-06-12 | Scientific-Atlanta, Inc. | Source authentication of download information in a conditional access system |
US20020025045A1 (en) * | 2000-07-26 | 2002-02-28 | Raike William Michael | Encryption processing for streaming media |
US7168089B2 (en) * | 2000-12-07 | 2007-01-23 | Igt | Secured virtual network in a gaming environment |
JP4659357B2 (ja) * | 2001-09-21 | 2011-03-30 | ザ・ディレクティービー・グループ・インコーポレイテッド | 条件付アクセスモジュールと、集積受信機およびデコーダの対動作を制御する方法および装置 |
US7305555B2 (en) * | 2002-03-27 | 2007-12-04 | General Instrument Corporation | Smart card mating protocol |
US7379548B2 (en) * | 2003-01-31 | 2008-05-27 | Nds Limited | Virtual smart card device, method and system |
US7519999B2 (en) * | 2004-02-27 | 2009-04-14 | Scientific-Atlanta, Inc. | Secure negotiation and encryption module |
US20060047976A1 (en) * | 2004-08-25 | 2006-03-02 | General Instrument Corporation | Method and apparatus for generating a decrpytion content key |
WO2006045014A2 (en) * | 2004-10-20 | 2006-04-27 | John Kevin Markey | Application of asymmetric digital signature scheme to broadcast system |
US8291236B2 (en) * | 2004-12-07 | 2012-10-16 | Digital Keystone, Inc. | Methods and apparatuses for secondary conditional access server |
US8914643B2 (en) * | 2007-05-24 | 2014-12-16 | Nec Corporation | Anonymous authentication system and anonymous authentication method |
US8171301B2 (en) * | 2007-10-07 | 2012-05-01 | Embotics Corporation | Method and system for integrated securing and managing of virtual machines and virtual appliances |
EP2257062A1 (en) * | 2009-05-25 | 2010-12-01 | Nagravision S.A. | Method for providing access control to media services |
CN201515456U (zh) * | 2009-09-23 | 2010-06-23 | 北京视博数字电视科技有限公司 | 数字电视接收终端的安全装置、机顶盒和接收终端 |
US8924723B2 (en) * | 2011-11-04 | 2014-12-30 | International Business Machines Corporation | Managing security for computer services |
-
2010
- 2010-12-01 EP EP10193312A patent/EP2461534A1/en not_active Withdrawn
-
2011
- 2011-03-30 EP EP11160417A patent/EP2461564A1/en not_active Withdrawn
- 2011-07-11 EP EP11250650.6A patent/EP2461539B1/en active Active
- 2011-11-30 US US13/990,752 patent/US20130251152A1/en not_active Abandoned
- 2011-11-30 US US13/990,748 patent/US20130262869A1/en not_active Abandoned
- 2011-11-30 US US13/990,762 patent/US9270465B2/en active Active
- 2011-11-30 CN CN2011800665688A patent/CN103339958A/zh active Pending
- 2011-11-30 WO PCT/EP2011/071435 patent/WO2012072707A1/en active Application Filing
- 2011-11-30 WO PCT/EP2011/071431 patent/WO2012072703A1/en active Application Filing
- 2011-11-30 WO PCT/EP2011/071432 patent/WO2012072704A1/en active Application Filing
- 2011-11-30 CN CN201180066582.8A patent/CN103354998B/zh active Active
- 2011-11-30 KR KR1020137016746A patent/KR20140034725A/ko not_active Application Discontinuation
- 2011-11-30 CN CN2011800665832A patent/CN103329500A/zh active Pending
- 2011-11-30 EP EP11791525.6A patent/EP2647173A1/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0801478A2 (en) * | 1996-04-10 | 1997-10-15 | International Business Machines Corporation | Cryptographic key recovery system |
CN1165848C (zh) * | 1997-05-28 | 2004-09-08 | 西门子公司 | 用于保护软件的计算机系统和保护软件的方法 |
CN1934823A (zh) * | 2004-03-16 | 2007-03-21 | 法国电信公司 | 匿名认证方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105530636A (zh) * | 2014-10-17 | 2016-04-27 | 朗姆研究公司 | 用于建立虚拟拴系的方法、装置及系统 |
CN107797822A (zh) * | 2016-09-01 | 2018-03-13 | 恩智浦有限公司 | 用于认证固件的设备和相关联的方法 |
CN114208109A (zh) * | 2019-06-14 | 2022-03-18 | 西门子股份公司 | 用于为处理设备建立安全数据通信的方法和用于生成密码密钥的信任模块以及现场设备 |
CN115336230A (zh) * | 2020-01-20 | 2022-11-11 | 比特福尔德股份有限公司 | 用于使用气隙系统硬件协议进行安全数据传输的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2012072703A1 (en) | 2012-06-07 |
CN103329500A (zh) | 2013-09-25 |
EP2647173A1 (en) | 2013-10-09 |
US9270465B2 (en) | 2016-02-23 |
US20130251152A1 (en) | 2013-09-26 |
KR20140034725A (ko) | 2014-03-20 |
WO2012072707A1 (en) | 2012-06-07 |
US20130251146A1 (en) | 2013-09-26 |
EP2461539A1 (en) | 2012-06-06 |
EP2461539B1 (en) | 2020-01-22 |
EP2461564A1 (en) | 2012-06-06 |
US20130262869A1 (en) | 2013-10-03 |
WO2012072704A1 (en) | 2012-06-07 |
EP2461534A1 (en) | 2012-06-06 |
CN103354998B (zh) | 2017-08-18 |
CN103354998A (zh) | 2013-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103339958A (zh) | 密钥传输协议 | |
US11323276B2 (en) | Mutual authentication of confidential communication | |
CN108886468B (zh) | 用于分发基于身份的密钥资料和证书的系统和方法 | |
JP7232816B2 (ja) | 資産を認証する認証システム及び認証方法 | |
US20180316492A1 (en) | Distributed System and Method for Encryption of Blockchain Payloads | |
US9247024B2 (en) | Controlled activation of function | |
US8171527B2 (en) | Method and apparatus for securing unlock password generation and distribution | |
KR20050084877A (ko) | 장치 특정 보안 데이터의 안전한 실시 및 이용 | |
EP0661845B1 (en) | System and method for message authentication in a non-malleable public-key cryptosystem | |
WO2007103906A2 (en) | Secure data transmission using undiscoverable or black data | |
KR20080020621A (ko) | 무결성 보호된 보안 저장의 실행 | |
IL292177A (en) | Creating a digital signature for use in a cold wallet | |
CN111614621B (zh) | 物联网通信方法和系统 | |
CN102833246A (zh) | 一种社交视频信息安全方法与系统 | |
US11888832B2 (en) | System and method to improve user authentication for enhanced security of cryptographically protected communication sessions | |
CN110383755B (zh) | 网络设备和可信第三方设备 | |
CN110913390A (zh) | 基于身份秘密共享的抗量子计算车联网方法及系统 | |
CN111970114B (zh) | 文件加密方法、系统、服务器和存储介质 | |
US11853465B2 (en) | Securing data stored in a memory of an IoT device during a low power mode | |
Feiri et al. | Efficient and secure storage of private keys for pseudonymous vehicular communication | |
CN111526131B (zh) | 基于秘密共享和量子通信服务站的抗量子计算的电子公文传输方法和系统 | |
Luring et al. | Analysis of security features in DLMS/COSEM: Vulnerabilities and countermeasures | |
KR20060078768A (ko) | 사용자 개인키의 분산 등록을 이용한 키 복구 시스템 및그 방법 | |
EP3185504A1 (en) | Security management system for securing a communication between a remote server and an electronic device | |
CN117896168A (zh) | 安全认证方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: Holland Hoofddorp Applicant after: Ai Dide Technology Co., Ltd. Address before: Holland Hoofddorp Applicant before: Irdeto B.V. |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: IRDETO B.V. TO: IRDETO B. V. Free format text: CORRECT: ADDRESS; FROM: |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131002 |