以对等方式安全地发送和接收数据的设备和方法

文档序号:7972199阅读:227来源:国知局
专利名称:以对等方式安全地发送和接收数据的设备和方法
技术领域
与本发明一致的方法和设备涉及在嵌入式装置间安全地发送和接收数据。
背景技术
图1是示出传统数据安全方法的流程图。参照图1,在操作101中,第一认证授权3通过未公开的路径将认证发放给客户机1或者更新或者无效发放给客户机1的认证。在操作102中,客户机从认证授权3下载(操作101中)被发放的被更新的认证。在操作103,客户机使用包括在下载的认证中的公开密钥将源数据加密。在操作104中,客户机1将包含加密的源数据的源数据密文发送到服务器2,并且服务器2接收所述源数据密文。
在操作105中,服务器2在数据库中搜索包含将包括在源数据密文中的加密的源数据解密所需要的私有密钥的认证。在操作106中,如果包含将加密的源数据解密所需要的私有密钥的认证不存在于所述数据库中,则服务器2将对认证的请求发放到第二认证授权4,并且通过将第一认证授权3发放的认证通过未公开的路径发送到第一认证授权3,将认证服务提供给第一认证授权3。
在操作107中,第二认证授权4响应在操作106中服务器2发放的请求,发放将被发放到第一认证授权3的对认证的请求,并且第一认证授权3响应第二认证授权4发放的请求,通过未公开的路径将认证发放给第二认证授权4。
在操作108中,服务器2通过使用包括在找到的认证中或者包括在操作107中发放的认证中的私有密钥将加密的源数据解密来恢复源数据。在操作109中,服务器2处理恢复的源数据。在操作110中,服务器2使用包括在操作105中找到的认证中或者包括在操作107中发放的认证中的公有密钥加密处理的源数据,从而生成加密的结果数据。在操作111中,服务器2将包含加密的结果数据的结果数据密文发送到客户机1,并且客户机1接收所述结果数据密文。
在操作112中,客户机通过使用包括在下载的认证中的私有密钥将包括在结果数据密文中的加密的结果数据解密来恢复结果数据。
如上所述,传统地,为了增强数据的安全性,使用包含公有密钥和私有密钥的非对称密钥对对数据进行加密或者解密。但是,非对称密钥对加密算法非常复杂并且需要高性能的加密系统。因此,很难将这种传统的数据安全技术应用到低性能的嵌入式装置。
近来,已经提出了一种数据加密/解密方法,在所述方法中,基于非对称密钥对算法在装置间共享对称密钥并且使用所述对称密钥对数据进行加密或者解密。但是,由于这些数据加密/解密方法涉及与如图1中所示的从操作101到操作112相似的加密/解密对称密钥的步骤,所以所述的数据加密/解密方法仍然需要能够安全地分布非对称密钥对的认证授权。因此,仍然难于将所述加密/解密方法应用到不能被连接到认证授权的以对等方式进行彼此通信的嵌入式装置。

发明内容
本发明的一方面提供一种用于在以对等方式彼此通信的嵌入式装置之间安全地发送数据的方法和设备。
本发明的一方面提供一种用于存储执行在以对等方式彼此通信的嵌入式装置之间安全地发送数据的方法的计算机程序的计算机可读记录介质。
根据本发明的一方面,提供一种安全地将数据发送到装置的方法。所述方法包括发放对在与装置的会话中使用的会话密钥的请求;通过对包括在对所述请求的响应中的加密的会话密钥进行解密来恢复所述会话密钥;使用恢复的会话密钥对数据进行加密;和发送所述加密的数据。
根据本发明的另一方面,提供一种安全地将数据发送到装置的设备。所述设备包括发送单元,发送用于请求在与装置的会话中使用的会话密钥的请求令牌;第一解密单元,通过对包括在与请求令牌相应的响应令牌中的加密会话密钥进行解密来恢复所述会话密钥;和加密单元,使用恢复的会话密钥对数据进行加密,其中,发送单元用于发送所述加密的数据。
根据本发明的另一方面,提供一种用于存储执行安全地将数据发送到装置的方法的计算机程序的计算机可读记录介质,所述方法包括发放对在与装置的会话中使用的会话密钥的请求;通过对包括在对所述请求的响应中的加密的会话密钥进行解密来恢复所述会话密钥;使用恢复的会话密钥对数据进行加密;和发送所述加密的数据。
根据本发明的另一方面,提供一种用于从装置安全地接收数据的方法,所述方法包括接收对在与装置的会话中使用的会话密钥的请求;发送加密的会话密钥以响应所述请求;和接收使用从加密的会话密钥恢复的会话密钥加密的加密数据。
根据本发明的另一方面,提供一种用于安全地从装置接收数据的设备,所述设备包括接收单元,接收用于请求在与装置的会话中使用的会话密钥的请求令牌;和发送单元,发送包含加密的会话密钥的相应令牌以响应于所述请求令牌,其中,接收单元接收包含使用从包括在所述响应令牌中的加密的会话密钥中恢复的会话密钥加密的加密数据的密文。
根据本发明的另一方面,提供一种存储用于执行所述安全地从装置接收数据的方法的计算机程序的计算机可读存储介质,所述方法包括接收用于在与装置的会话中使用的会话密钥的请求;发送响应于所述请求的加密的会话密钥;和接收使用从加密的会话密钥恢复的会话密钥加密的加密数据。


通过参照附图对本发明示例性实施例的详细描述,本发明的各方面将变得更加清楚,其中图1是示出传统数据安全方法的流程图;图2是示出根据本发明示例性实施例的安全地发送和接收数据的方法的流程图;图3是根据本发明示例性实施例的第一装置的框图;图4是示出根据本发明示例性实施例的非对称密钥对的格式的示图;图5是示出根据本发明示例性实施例的会话密钥请求令牌的格式的示图;图6是示出根据本发明示例性实施例的由第一装置使用的会话密钥数据块的格式的示图;图7是示出根据本发明示例性实施例的源数据密文的格式的示图;图8是根据本发明示例性实施例的第二装置的框图;图9是示出根据本发明示例性实施例的由第二装置使用的会话密钥数据块的格式的示图;图10是示出根据本发明示例性实施例的会话密钥响应令牌的格式的示图;图11是示出根据本发明另一示例性实施例的源数据密文的格式的示图;图12是示出根据本发明示例性实施例的安全地发送数据的方法的流程图;图13A和图13B是示出根据本发明示例性实施例的安全的发送数据的方法的流程图。
具体实施例方式
现在将参照示出本发明示例性实施例的附图,对本发明进行更全面的描述。
图2是示出根据本发明示例性实施例的安全地发送和接收数据的方法的流程图。参照图2,在操作201中,第一装置5生成非对称密钥对。根据本发明示当前例性实施例,如果第一装置5已具有适当的非对称密钥对,则在操作201中它可直接使用这个非对称密钥对而不是生成新的非对称密钥对。
在操作202中,第一装置5将用于请求将在第一装置5和第二装置6之间的会话中使用的会话密钥的会话密钥请求令牌发送到第二装置6,并且第二装置6接收第一装置5发送的会话密钥请求令牌。根据本发明当前示例性实施例,所述在第一装置5和第二装置6之间的会话中使用的会话密钥是对称密钥。第一装置5发送的会话密钥请求令牌包括第一装置5生成的非对称密钥对的公有密钥。
在操作203中,第二装置6响应第一装置5发送的会话密钥请求令牌生成会话密钥。根据本发明当前示例性实施例,如果第二装置6已具有适当的会话密钥,则在操作203中第二装置6可直接使用已有的适当的会话密钥而不是生成的新的会话密钥。
在操作204中,第二装置6使用包括在第一装置5发送的会话密钥请求令牌中的公有密钥将在操作203中生成的会话密钥加密。
在操作205中,第二装置6响应第一装置5发送的会话密钥请求令牌,将会话密钥响应令牌发送到第一装置5,并且第一装置5接收由第二装置6发送的会话密钥响应令牌。第二装置6发送的会话密钥响应令牌包括在操作204由第二装置6获得的加密的会话密钥。
在操作206中,第一装置5使用由第一装置5生成的非对称密钥对的私有密钥将包括在由第二装置6发送的会话密钥响应令牌中的加密的会话密钥解密,从而恢复将在第一装置5和第二装置6的会话中使用的会话密钥。
执行从操作201到206,以在第一装置5和第二装置6之间基于非对称密钥算法共享会话密钥。根据本发明当前示例性实施例,通过仅将可被安全地向外公开的公有密钥发送到第二装置6,第一装置5可与第二装置6安全地共享会话密钥。换句话说,第二装置6不需要由第一装置5生成的非对称密钥对的私有密钥来共享第一装置5的会话密钥。其结果是,可以使嵌入式装置无需通过未对外公开的路径从装备有集中式安全服务器的认证授权获取私有密钥而以对等方式彼此通信。
在操作207中,第一装置5使用在操作206恢复的会话密钥对将被发送到第二装置6的源数据进行加密。
在操作208中,第一装置5将包含加密的源数据的源数据密文发送到第二装置6,并且第二装置6接收由第一装置5发送的所述源数据密文。
在操作209中,第二装置6使用由第二装置6生成的会话密钥通过将包括在由第一装置5发送的源数据密文中的加密的源数据解密来恢复源数据。
在操作210中,第二装置6处理所述恢复的源数据。
在操作211中,第二装置6使用在操作209中使用的会话密钥对处理的源数据进行加密,从而生成加密的结果数据。
在操作212中,第二装置6将包含加密的结果的结果数据密文发送到第一装置5,并且第一装置5接收所述结果数据密文。
在操作213中,第一装置5通过使用在操作206中恢复的会话密钥将包括在结果数据密文中的加密的结果数据进行解密来恢复结果数据。
执行从操作207到操作213,以在第一装置5和第二装置6之间安全地传输数据。虽然图2的方法已被描述为仅包括在第一装置5和第二装置6之间发送数据的单一操作,但是根据本发明示例性实施例,第一装置5和第二装置6可使用在其间共享的会话密钥在彼此间多于一次地发送数据并接收数据。
根据本发明当前示例性实施例,第一装置5和第二装置6最初使用非对称密钥算法以在彼此间共享会话密钥,随后使用对称密钥算法在彼此间发送数据并接收数据。因此,因为对称密钥算法更加简单,所以可最小化系统的数据安全维持负载,因此,和非对称密钥算法相比系统的负担较少。
如上所述,在没有认证授权的帮助下,两个嵌入式装置执行从操作201到203,因此,无需考虑认证授权从外部强加的限制,图2的方法可以自由地在两个嵌入式装置中被执行。
图3是根据本发明示例性实施例的第一装置5的框图。参照图3,第一装置5包括非对称密钥对生成单元51、数据库52、会话密钥请求令牌生成单元53、第一解密单元54、加密单元55、源数据密文生成单元56、第二解密单元57、发送单元58和接收单元59。
非对称密钥对生成单元51生成包含公有密钥和私有密钥的非对称密钥对。非对称密钥对和关于非对称密钥对的信息被存储在数据库52中。在生成非对称密钥对之后,非对称密钥对仅被允许在预定时间段内使用,所述预定时间段是指非对称密钥对的有效期。通过以这种方式调节非对称密钥对的使用,可减少非对称密钥对被偶然地公开的可能性。
具体地说,非对称密钥对生成单元51检查存储在数据库52中的多个非对称密钥对,并且确定是否每个存储在数据库52中的非对称密钥对都是有效的。此后,非对称密钥对生成单元51从数据库52中提取被确定为有效的非对称密钥对。另一方面,如果没有存储在数据库52中的非对称密钥对都是无效的,则非对称密钥对生成单元51生成新的非对称密钥对。
数据库52存储多个非对称密钥对以及关于各非对称密钥对的多条非对称密钥对的信息。具体地说,数据库52在非对称密钥对数据块的单元中存储非对称密钥对以及多条非对称密钥对的信息。存储在数据库52中的非对称密钥对信息的示例可包括,例如指定非对称密钥对的有效期的信息,所述有效期的信息由预定开始时间和预定结束时间确定。
图4是根据本发明示例性实施例的示出非对称密钥对数据块的格式的示图。参照图4,所述非对称密钥对包括校验和字段401、公有密钥字段402、私有密钥字段403、时间戳字段404、有效期字段405和算法比特字段406。例如,可使用如在图4中所示的C语言定义所述非对称密钥对数据块。
非对称密钥对的校验和值被记录在校验和字段401。所述校验和字段401是用于确定在将非对称密钥对从第一装置5发送到第二装置6之前,所述非对称密钥对是否被损坏。公有密钥值,即,关于非对称密钥对中的公有密钥的值,被记录在公有密钥字段402中。私有密钥值,即,关于非对称密钥对中的私有密钥的值,被记录在私有密钥字段403中。非对称密钥对的有效期的开始时间被记录在时间戳字段404。非对称密钥对的有效期的结束时间被记录在有效期字段405。可使用预定的非对称密钥加密算法处理的对数据块的比特大小被记录在算法比特字段406中。一般来说,数据块的比特大小可根据不同的加密算法而不同,因此,记录在算法比特字段406中的值可被用于识别加密算法的类型。
参照图3,会话密钥请求令牌生成单元53生成请求将在第一装置5与第二装置6之间的会话中使用的会话密钥的会话密钥请求令牌。具体地说,会话密钥请求令牌生成单元53生成会话密钥请求令牌,所述会话密钥包含由非对称密钥对生成单元51在数据库52中找到的非对称密钥对中的公有密钥或者包含由非对称密钥对生成单元51生成的非对称密钥对中的公有密钥。包括在会话密钥请求令牌中的所述公有密钥由第二装置6使用以将会话密钥加密。
图5是示出根据本发明示例性实施例的会话密钥请求令牌的格式的示图。参照图5,会话密钥请求令牌包括命令字段501、密钥交换类型字段502、算法比特字段503、会话标识符字段504和令牌消息字段505。例如,可使用在图5中示出的C语言定义所述会话密钥请求令牌。
在第一装置5和第二装置6的会话期间从第一装置5发送到第二装置6的令牌的命令值,即,指示该令牌是用于向第二装置6发放请求的令牌,还是由第二装置6发放的响应请求的令牌的值,被记录在命令字段501中。由此,在此例中,会话密钥请求令牌是用于向第二装置6发放请求的令牌,指示所述会话密钥请求令牌是用于向第二装置6发放请求的值被记录在命令字段501。
识别用于在第一装置5和第二装置6之间交换公有密钥的非对称密钥加密算法的值,即,指示公有密钥基础设施(PKI)算法或者Diffie Hellman(DH)算法被用于在第一装置5和第二装置6之间交换公有密钥的值,被记录在密钥交换类型字段502中。例如,可使用如图5中所示的C语言来定义密钥交换类型字段502,并且其包括字段key_ex_type,在其中记录了指示为了使用公有密钥基础设施(PKI)算法还是使用Diffie Hellman算法在第一装置5和第二装置6之间交换公有密钥的值;和字段PKI_DH_CTX,在其中记录了指定以PKI算法或者DH算法如何在第一装置5和第二装置6之间交换公有密钥的信息。例如,如图5中所示,所述字段PKI_DH_CTX可使用C语言来定义,并且其包括PKI_CTX字段,在其中存储了指示PKI算法中如何在第一装置5和第二装置6之间交换公有密钥的信息;和DH_CTX字段,在其中存储了指示在DH算法中如何在第一装置5和第二装置6之间交换公有密钥的信息。
可使用由密钥交换类型字段502的值识别的非对称密钥加密算法来处理的数据块的比特大小被存储在算法比特字段503中。第一装置5和第二装置6之间的会话的会话标识符被记录在会话标识符字段504中。令牌消息,即通过由会话密钥请求令牌传送的实际需要从第一装置5被发送到第二装置6的消息被存储在令牌消息字段505中。根据本发明示例性实施例,将由第二装置6用来将会话密钥加密的公有密钥作为令牌信息被存储在令牌消息字段505。
参照图3,第一解密单元54根据由会话密钥响应令牌的密钥交换字段和算法比特字段的值识别的非对称密钥加密算法,使用与包括在会话密钥请求令牌的令牌消息字段505中的公有密钥相应的私有密钥,对包括在由接收单元59接收的会话密钥响应令牌中的加密的会话密钥解密,从而恢复与用于识别在第一装置5和第二装置6之间会话的预定会话标识符相应的会话密钥。具体地说,第一解密单元54根据由会话密钥响应令牌的密钥交换字段502和算法比特字段503的值识别的非对称密钥加密算法,通过对包括在由接收单元59接收的会话密钥响应令牌的令牌消息505中的加密的会话密钥解密,恢复与预定会话标识符相应的会话密钥。
关于由第一解密单元54恢复的会话密钥的信息和关于由预定会话标识符识别的会话的信息被存储在数据库52中。数据库52可以将多个会话密钥和关于各个会话密钥的会话密钥信息存储在会话密钥数据块的单元中。如果第一装置5与多于一个装置共享会话密钥,则有多少个装置与第一装置5共享会话密钥就可以有多少个数据块存在于数据库52中。例如,存储在数据库52中的会话密钥信息可以包括指定由预定开始时间和预定结束时间定义的会话密钥的有效期的信息。
图6是示出根据本发明示例性实施例的由第一装置5使用的会话密钥数据块的格式的示图。参照图6,所述会话密钥数据块包括会话标识符字段601、会话密钥字段602、时间戳字段603和有效期字段604。例如,可以使用如图6中所示C语言来定义所示会话密钥数据块。
第一装置5和第二装置6之间的会话的会话标识符被存储在会话标识符字段601中。与记录在会话标识符字段601中的会话标识符相应的会话密钥被存储在会话密钥字段602中。会话密钥的有效期的开始时间被记录在时间戳字段603中。会话密钥的有效期的结束时间被记录在有效期字段604中。
参照图3,加密单元55使用由第一解密单元54恢复的会话密钥对将被从第一装置5发送到第二装置6的源数据进行加密。具体地说,如果存在将被从第一装置5发送到第二装置6的源数据,则加密单元55在数据库52中搜索将在第一装置5和第二装置6之间的会话中使用的预定的会话密钥。
如果在数据库52中找到预定的会话密钥,则确定找到的会话密钥是否有效。但是,如果预定的会话密钥不存在于数据库52中,则加密单元55将用于生成新的会话密钥请求令牌的请求发放到会话密钥请求令牌生成单元53。如果确定找到的会话密钥没有过期,则加密单元55使用找到的会话密钥对源数据进行加密。但是,如果确定找到的会话密钥确定已经过期,则加密单元55将用于生成新的会话密钥请求令牌的请求发放到会话密钥请求令牌生成单元53。
源数据密文生成单元56生成包含由加密单元55提供的加密的源数据的源数据密文。
图7是示出根据本发明示例性实施例的源数据密文的格式的示图。参照图7,所述源数据密文包括加密算法字段701、加密算法比特字段702、会话标识符字段703、原始数据大小字段704、校验和字段705和加密数据字段706。例如,可使用如图7中所示的C语言来定义源数据密文。
识别用于加密源数据的对称密钥加密算法的值,即指示所述源数据是否已使用数据加密标准(DES)算法被加密的值,被存储在加密算法字段701中。可使用加密算法字段701的值识别的对称密钥加密算法处理的数据块的比特大小被存储在加密算法比特字段702中。第一装置5和第二装置6之间的会话的会话标识符被记录在会话标识符字段703中。已由第一装置5的加密单元55加密的原始源数据的比特大小被记录在原始数据大小字段704中。原始数据大小字段704随后被用于确定第二装置6是否成功地恢复了原始源数据。会话密钥的校验和值被存储在校验和字段705中。校验和字段705被用于确定在将会话密钥从第一装置5发送到第二装置6之前会话密钥是否已被损坏。需要被从第一装置5发送到第二装置6的由源数据密文携带的加密的源数据被存储在加密数据字段706中。
参照图3,第二解密单元57通过使用由第一解密单元54恢复的会话密钥将包括在由接收单元59接收的结果数据密文中的加密的结果数据解密来恢复结果数据。由第二解密单元57恢复的结果数据是第二装置6响应由作为客户机的第一装置5发放的用于处理源数据的请求,处理源数据的结果。
具体地说,第二解密单元57根据由结果数据密文的加密算法字段701和加密算法比特字段702的值识别的加密算法,使用与记录在结果数据密文的会话标识符字段703中的会话标识符相应的会话密钥,对包括在结果数据密文中的加密数据字段706中的加密数据解密,并且参照结果数据密文的原始数据大小字段704和校验和字段705的值确定是否已成功地恢复了与加密的数据相应的原始数据。
发送单元58将由会话密钥请求令牌生成单元53生成的会话密钥请求令牌发送到第二装置6。此外,发送单元58将由密文生成单元56生成的源数据密文发送到第二装置6。
接收单元59接收与由发送单元58发送的会话密钥请求令牌相应的会话密钥响应令牌。此外,接收单元59接收包含加密的结果数据的结果数据密文,所述加密的结果数据是通过第二装置6处理包括在由发送单元58发送的源数据密文中的源数据获得的。
图8是示出根据本发明示例性实施例的第二装置6的框图。参照图8,第二装置6包括会话密钥生成单元61、数据库62、第一加密单元63、会话密钥响应令牌生成单元64、解密单元65、数据处理单元66、第二加密单元67、结果数据密文生成单元68、接收单元69和发送单元610。
会话密钥生成单元61响应由接收单元69接收的会话密钥请求令牌,生成将在第二装置6和第一装置5之间的会话中使用的会话密钥。具体地说,会话密钥生成单元61生成与记录在如在图5中所示的会话密钥请求令牌的会话密钥标识符字段504中的会话标识符相应的会话密钥。
会话密钥和关于会话密钥的会话密钥信息被存储在数据库62中。在生成所述会话密钥以后只允许在预定时间段内使用所述会话密钥,所述预定时间段是指会话密钥的有效期。通过以这种方式调整会话密钥的使用,可减少会话密钥被偶然地公开的可能性。
具体地说,响应于会话密钥请求令牌,会话密钥生成单元61在数据库62中搜索与记录在会话密钥请求令牌中的会话标识符字段504中的会话标识符相应的会话密钥。如果在数据库62中搜索到与记录在会话密钥请求令牌中的会话标识符字段504中的会话标识符相应的会话密钥,则会话密钥生成单元61确定搜索到的会话密钥是否有效。如果确定找到的会话密钥有效,即找到的会话密钥没有过期,则会话密钥生成单元61从数据库62中提取所述找到的会话密钥。如果与记录在会话密钥请求令牌中的会话标识符字段504中的会话标识符相应的会话密钥不存在于数据库62中,或者如果在数据库62中找到了与记录在会话密钥请求令牌中的会话标识符字段504中的会话标识符相应的会话密钥,但是找到的会话密钥已经过期,即是无效的,则会话密钥生成单元61生成新的会话密钥。
数据库62存储多个会话密钥以及关于各会话密钥的多条会话密钥信息。数据库62可在会话密钥块的单元中存储会话密钥及其各自的多条会话密钥的信息。所述会话密钥信息的示例可包括,但不限于指定由预定开始时间和预定结束时间定义的会话密钥的有效期的信息。
图9是示出根据本发明示例性实施例的由第二装置6使用的会话密钥数据块的格式的示图。参照图9,所述会话密钥数据块包括校验和字段901、会话标识符字段902、会话密钥字段903、时间戳字段904和有效期字段905。例如,可是用如图9所示的C语言来定义会话密钥数据块。
会话密钥的校验和值被记录在校验和字段901中。所述校验和值用于确定在将会话密钥对从第二装置6发送到第一装置5之前,所述会话密钥是否已被损坏。第二装置6和第一装置5之间的会话的会话标识符被记录在会话标识符字段902中。与记录在会话标识符字段902中的会话标识符相应的会话密钥被记录在会话密钥字段903中。会话密钥的有效期的开始时间被记录在时间戳字段904。会话密钥的有效期的结束时间被记录在有效期字段905。
参照图8,第一加密单元63根据由接收单元69接收的如图5中所示的会话密钥请求令牌的密钥交换类型字段502和所述算法比特字段503的值来识别的非对称密钥加密算法对由会话密钥生成单元61生成的会话密钥进行加密。具体地说,第一加密单元63使用存储在由接收单元69接收的如图5所示的会话密钥请求令牌中的令牌消息505中的公有密钥,对由会话密钥生成单元61生成的会话密钥进行加密。
会话密钥响应令牌生成单元64生成与由接收单元69接收的会话密钥请求令牌相应的会话密钥响应令牌。具体地说,会话密钥响应令牌生成单元64生成包含由第一加密单元63加密的会话密钥的会话密钥响应令牌。
图10是示出根据本发明示例性实施例的会话密钥响应令牌的格式的示图。参照图10,所述会话密钥响应令牌包括命令字段1001、密钥交换类型字段1002、算法比特字段1003、会话标识符字段1004和令牌消息字段1005。例如,可使用如图10中所示的C语言来定义所述会话密钥响应令牌。
在第二装置6和第一装置5的会话期间,从第二装置6发送到第一装置5的令牌的命令值,即,指示该令牌是用于向第一装置5发放请求,还是用于响应由第一装置5发放的请求的值,被记录在命令字段1001中。由于会话密钥响应令牌是用响应于由第一装置5发放的请求的令牌,指示所述会话密钥响应令牌是用于响应由第一装置5发放的请求的值被记录在命令字段1001。
识别被用于在第一装置5和第二装置6之间交换公有密钥的非对称密钥加密算法的值,即,指示PKI算法或者使用DH算法被用于在第一装置5和第二装置6之间交换公有密钥的值,被记录在密钥交换类型字段1002中。例如,可使用如图5中所示的C语言来定义密钥交换类型1002,并且所述密钥交换类型1002包括字段key_ex_type,在其中记录了指示PKI算法或者使用DH算法被用于在第一装置5和第二装置6之间交换公有密钥的值;和字段PKI_DH_CTX,在其中记录了指定在PKI算法或者DH算法中如何在第一装置5和第二装置6之间交换公有密钥的信息。例如,可使用如图5中所示的C语言来定义所述字段PKI_DH_CTX,并且所述字段PKI_DH_CTX包括PKI_CTX字段,在其中存储了指示在PKI算法中如何在第一装置5和第二装置6之间交换公有密钥的信息;和DH_CTX字段,在所述DH_CTX字段中存储了指示在DH算法中如何在第一装置5和第二装置6之间交换公有密钥的信息。
可使用由密钥交换类型字段1002的值识别的非对称密钥加密算法来处理的数据块的比特大小被存储在算法比特字段1003中。第一装置5和第二装置6之间的会话的会话标识符被记录在会话标识符字段1004中。令牌消息,即由会话密钥请求令牌传送的需要被从第一装置5被发送到第二装置6的消息被存储在令牌消息字段1005中。根据本发明示例性实施例,由第二装置6使用以将会话密钥进行加密的公有密钥作为令牌信息被存储在令牌消息字段1005。
参照图8,解密单元65使用会话密钥对包括在由接收单元69接收的源数据密文中的加密的源数据进行解密,从而恢复所述源数据。具体地说,解密单元65根据由接收单元69接收的源数据密文的加密算法字段701和加密算法比特字段702的值识别的对称密钥加密算法,对存储在由接收单元69接收的源数据密文的加密数据字段706中的加密的源数据进行解密,并参照由接收单元69接收的源数据密文的原始数据大小字段704和校验和字段705的值来确定是否已成功地从加密的源数据恢复源数据。
此外,当接收单元69接收源数据密文时,解密单元65在数据库62中搜索与记录在源数据密文的会话标识符字段703中的会话标识符相应的会话密钥。如果在数据库62中找到与记录在源数据密文的会话标识符字段703中的会话标识符相应的会话密钥,则解密单元65确定发现的会话密钥是否有效。如果确定找到的会话密钥还没有过期,则解密单元65从数据库62中提取找到的会话密钥并使用所述会话密钥恢复源数据。但是,如果与记录在源数据密文的会话标识符字段703中的会话标识符相应的会话密钥不存在于数据库62中,或者如果在数据库62中找到与记录在源数据密文的会话标识符字段703中的会话标识符相应的会话密钥,但是所述会话密钥已经过期,则解密单元65生成错误消息。
数据处理单元66对由解密单元65恢复的源数据进行处理。例如,如果由解密单元65恢复的源数据被压缩,则数据处理单元66对所述源数据执行解压缩。
第二加密单元67使用会话密钥对由数据处理单元66处理的源数据进行加密,所述会话密钥被解密单元65用于对包括在由接收单元69接收的源数据密文中加密的源数据进行解密。
图11是示出根据本发明示例性实施例的源数据密文的格式的示图。参照图11,源数据密文包括加密算法字段1101、加密算法比特字段1102、会话标识符字段1103、原始数据大小字段1104、校验和字段1105和加密数据字段1106。例如,可使用如图11中所示的C语言来定义所述源数据密文。
识别用于加密源数据的非对称密钥加密算法的值,即指示所述源数据已使用DES算法被加密的值,被记录在加密算法字段1101中。可使用由加密算法字段1101的值识别的对称密钥加密算法处理的数据块的比特大小被存储在加密算法比特字段1102中。第一装置5和第二装置6之间的会话的会话标识符被存储在会话标识符字段1103中。已由第二装置6的加密单元55加密的原始源数据的比特大小被存储在原始数据大小字段1104中。原始数据大小字段1104的值被随后用于确定所述原始数据是否已被第一装置5成功恢复。会话密钥的校验和值被存储在校验和字段1105中。校验和值被用于确定在将会话密钥从第二装置6发送到第一装置5之前,所述会话密钥是否已被损坏。需要被从第二装置6发送到第一装置5的由源数据密文传送的加密的源数据被存储在加密数据字段1106中。
参照图8,接收单元69接收会话密钥请求令牌,所述会话密钥请求令牌用于从第一装置5请求将在第一装置5和第二装置6之间的会话中使用的会话密钥。此外,接收单元69接收包含使用预定会话密钥加密的源数据的源数据密文,其中,所述预定的会话密钥是从包括在由发送单元610发送的会话密钥响应令牌中的加密的会话密钥恢复的会话密钥。
发送单元610将由会话密钥响应令牌生成单元64生成的会话密钥响应令牌发送到第一装置5。此外,发送单元610将由解密单元65生成的错误消息发送到第一装置5。此外,发送单元610将由结果数据密码文本生成单元68生成的结果数据密码文本发送到第一装置5。
图12是示出根据本发明示例性实施例的安全地发送数据的方法的流程图。图12中所示的方法包括由图3的第一装置5顺序执行的多个操作。因此,上述参照图3的对第一装置5的详细描述可被直接应用于图12所示的方法中。
参照图12,在操作1201中,第一装置5在存储在数据库52中的多个非对称密钥对之中进行搜索并确定每个非对称密钥对是否是有效的。
在操作1202中,如果在数据库52中找到还没有过期,即有效的非对称密钥对,则从数据库52提取找到的非对称密钥对,然后所述方法进行到操作1204。另一方面,如果没有一个存储在数据库52中的非对称密钥对被确定为有效,则所述方法进行到操作1203。
在操作1203中,第一装置5生成非对称密钥对。
在操作1204中,第一装置5生成会话密钥请求令牌,所述会话密钥请求令牌用于请求在第一装置5和第二装置6之间的会话中使用的会话密钥。具体地说,在操作1204中,第一装置5生成包含找到的非对称密钥对中的或者生成的非对称密钥对中的公有密钥的会话密钥请求令牌。
在操作1205中,第一装置5发送所述会话密钥请求令牌。
在操作1206中,第一装置5接收响应于所述会话密钥请求令牌的会话密钥响应令牌。
在操作1207中,第一装置5使用找到的非对称密钥对中的或者生成的非对称密钥对中的私有密钥对加密的会话密钥进行解密,从而恢复与第一装置5和第二装置6之间的会话的会话标识符相对应的会话密钥。
在操作1208中,第一装置5使用恢复的会话密钥对将被发送到第二装置6的源数据进行加密。
在操作1209中,第一装置5生成包含加密的源数据的源数据密文。
在操作1210中,第一装置5发送所述源数据密文。
在操作1211中,第一装置5接收包含加密的结果数据的结果数据密文,所述结果数据是第二装置6处理包括在操作1210发送的源数据密文中的加密的源数据而获得的。
在操作1212中,第一装置5使用恢复的会话密钥对包括在接收的结果数据密文中的加密的结果数据进行解码,从而恢复结果数据。
图13A和图13B是示出根据本发明另一个示例性实施例的安全地发送数据的方法的流程图。在图13A和图13B中示出的方法包括由图8的第二装置6顺序执行的多个操作。因此,上述参照图8的对第一装置5的详细描述可被直接应用于图13A和图13B中所示的方法中。
参照图13A和图13B,在操作1301中,第二装置6从第一装置5接收会话密钥请求令牌,所述会话密钥请求令牌用于请求将在第一装置5和第二装置6之间的会话中使用的会话密钥。
在操作1302中,第二装置6在数据库62中搜索与包括在接收的会话密钥请求令牌中的会话标识符相应的会话密钥。如果在数据库62中找到与包括在接收的会话密钥请求令牌中的会话标识符相应的会话密钥,则第二装置6确定找到的会话密钥是否有效。
在操作1303中,如果在步骤1302找到了会话密钥并且找到的会话密钥被确定为有效,则第二装置6从数据库62中提取所述找到的会话密钥,方法进行到操作1305。另一方面,如果在数据库62中不存在与包括在接收的会话密钥请求令牌中的会话标识符相应的会话密钥,或者如果在数据库62中找到了与包括在接收的会话密钥请求令牌中的会话标识符相应的会话密钥,但是找到的会话密钥已经过期,即是无效的,则所述方法进行到操作1304。
在操作1304中,第二装置6生成会话密钥。
在操作1305中,第二装置6使用包括在接收的会话密钥请求令牌中的公有密钥,对在操作1302中找到的会话密钥或者在操作1304中成生的会话密钥进行加密。
在操作1306中,第二装置6生成与接收的会话密钥请求令牌相应的会话密钥响应令牌。具体地说,在操作1306中,第二装置6生成包含加密的会话密钥的会话密钥响应令牌。
在操作1307中,第二装置6将所述会话密钥响应令牌发送到第一装置5。
在操作1308中,第二装置6接收包含加密的源数据的源数据密文,所述加密的源数据是使用从加密的会话密钥中恢复的会话密钥对源数据加密而获得的。
在操作1309中,第二装置6在数据库62中搜索与记录在接收的源数据密文的会话标识符字段703中的会话标识符相应的会话密钥。此后,如果在数据库62中找到与记录在接收的源数据密文的会话标识符字段703中的会话标识符相应的会话密钥,则第二装置6确定找到的会话密钥是否有效。
在操作1310中,如果在操作1309中找到的会话密钥没有过期,即是有效的,则第二装置6从数据库62中将其提取,所述方法进行到操作1312。但是,如果数据库62中不存在与记录在接收的源数据密文的会话标识符字段703中的会话标识符相应的会话密钥,或者如果在数据库62中找到与记录在接收的源数据密文的会话标识符字段703中的会话标识符相应的会话密钥,但是找到的会话密钥已经过期,即是无效的,则所述方法进行到操作1311。
在操作1311中,第二装置6向第一装置5发送错误消息,所述错误消息用于指示与记录在接收的源数据密文的会话标识符字段703中的会话标识符相应的会话密钥不存在于数据库62中,或者指示在数据库62中找到与记录在接收的源数据密文的会话标识符字段703中的会话标识符相应的会话密钥,但是找到的会话密钥已经过期,即是无效的。
参照图13B,在操作1312中,第二装置6使用在操作1310中提取的会话密钥对包括在接收的源数据密文中的加密的源数据进行解密,从而恢复预定的源数据。
在操作1313中,第二装置6对恢复的源数据进行处理。
在操作1314中,第二装置6使用由解密单元65使用的会话密钥对处理过的源数据进行加密,从而生成加密的结果数据。
在操作1315中,第二装置6生成包含加密的结果数据的结果数据密文。
在操作1316中,第二装置6将所述结果数据密文发送到第一装置5。
本发明的示例性实施例可被实现为写在计算机可读记录介质上的计算机可读代码。所述计算机可读记录介质可以是任何种类的以计算机可读的方式存储数据的记录装置。所述计算机可读记录介质的示例包括,但不限于ROM、RAM、CD-ROM、磁带、软盘、光数据存储和载波(例如通过因特网的数据传输)。
根据本发明的示例性实施例,通过在以对等方式彼此通信的两个装置间发送允许对外公开的公开密钥,具体地说,通过允许两个装置中的一个使用包括在由另一装置发放的会话密钥请求中的公有密钥对会话密钥进行加密,并且将所述加密的会话密钥发送到另一装置,可以在所述两个装置间安全地共享会话密钥。因此,对于嵌入式装置来说,可以在不需要通过没有对外公开的路径从装备有集中式安全服务器的认证授权获得私有密钥的情况下,以对等方式进行彼此的安全通信。
此外,根据本发明示例性实施例,非对称密钥算法被用于在装置间共享会话密钥,并且随后对称密钥算法被用于在装置间发送数据。因此,可最小化系统的数据安全维持负载。此外,由于本发明的方法可在没有认证授权的帮助下,在两个嵌入式装置间被执行,所以所述方法可在不考虑由授权认证强加的外部限制的情况下被自由地在嵌入式装置中实现为软件库。
尽管参照其示例性实施例已对本发明做出了详细的示出和描述,但是本领域的普通技术人员应当理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可在形式和细节上做出各种改变。
权利要求
1.一种安全地将数据发送给装置的方法,包括发放对于在与装置的会话中使用的会话密钥的请求;通过对包括在对所述请求的响应中的加密的会话密钥进行解密来恢复所述会话密钥;使用恢复的会话密钥对数据进行加密;和发送所述加密的数据。
2.如权利要求1所述的方法,其中,所述发放对会话密钥的请求的步骤包括通过发送包含将被用于加密会话密钥的公有密钥的请求令牌来发送对会话密钥的请求,其中,所述恢复所述会话密钥的步骤包括对加密的会话密钥进行解密,所述加密的会话密钥是使用所述公有密钥被加密,和其中,使用与公有密钥相应的私有密钥将加密的会话密钥解密。
3.如权利要求2所述的方法,还包括生成包括公有密钥和私有密钥的非对称密钥对。
4.如权利要求1所述的方法,其中,所述发放对会话密钥的请求的步骤包括通过发送包含所述会话的会话标识符的请求令牌来发放对所述会话密钥的请求,和其中,所述恢复会话密钥的步骤包括恢复与所述会话标识符相应的会话密钥。
5.如权利要求1所述的方法,还包括接收通过处理加密的数据获得的加密的结果数据;和通过使用所述会话密钥对接收的加密的结果数据进行解密来恢复结果数据。
6.如权利要求1所述的方法,其中,所述会话密钥包括对称密钥。
7.一种用于安全地将数据发送到装置的设备,包括发送单元,发送用于请求在与装置的会话中使用的会话密钥的请求令牌;第一解密单元,通过对包括在与请求令牌相应的响应令牌中的加密的会话密钥进行解密来恢复所述会话密钥;和加密单元,使用恢复的会话密钥对数据进行加密,其中,所述发送单元用于发送加密的数据。
8.如权利要求7所述的设备,其中,所述请求令牌包括由装置使用以对所述会话密钥进行加密的公有密钥,和所述第一解密单元使用与公有密钥相应的私有密钥对所述会话密钥进行解密。
9.一种存储用于执行安全地将数据发送到装置的方法的计算机程序的计算机可读存储介质,所述方法包括将对在与装置的会话中使用的会话密钥的请求发放到装置;通过对包括在对所述请求的响应中的加密的会话密钥进行解密来恢复所述会话密钥;使用恢复的会话密钥对数据进行加密;和发送所述加密的数据。
10.一种从装置安全地接收数据的方法,包括接收对在与装置的会话中使用的会话密钥的请求;响应所述请求发送的加密的会话密钥;和接收使用从加密的会话密钥恢复的会话密钥被加密的加密数据。
11.如权利要求10所述的方法,还包括响应对会话密钥的请求生成会话密钥;和加密所述会话密钥。
12.如权利要求11所述的方法,其中,所述接收对会话密钥的请求的步骤包括接收包含对在与装置的会话中使用的会话密钥的请求令牌,和所述加密会话密钥的步骤包括使用包括在请求令牌中的公有密钥对所述会话密钥进行加密。
13.如权利要求11所述的方法,其中,所述接收对会话密钥的请求的步骤包括接收包含所述会话的会话标识符的请求令牌,和所述生成会话密钥的步骤包括生成与包括在请求令牌中的会话标识符相应的会话密钥。
14.如权利要求10所述,还包括响应对所述会话密钥的请求确定会话密钥是否有效;和如果所述会话密钥被确定为有效,则加密所述会话密钥。
15.如权利要求10所述,还包括通过使用所述会话密钥对接收的加密的数据进行解密来恢复数据。
16.一种用于安全地从装置接收数据的设备,包括接收单元,接收用于请求在与装置的会话中使用的会话密钥的请求令牌;和发送单元,用于响应所述请求令牌发送包含加密的会话密钥的响应令牌,其中,所述接收单元接收包含使用从包括在所述响应令牌中的加密的会话密钥中恢复的会话密钥加密的加密数据的密文。
17.如权利要求16所述的设备,还包括生成单元,响应所述请求令牌生成会话密钥;和第一加密单元,加密所述会话密钥。
18.如权利要求17所述的设备,其中,所述请求令牌包括用来加密会话密钥的公有密钥,和所述第一加密单元使用包括在请求令牌中的公有密钥来加密所述会话密钥。
19.一种存储用于执行安全地从装置接收数据的方法的计算机程序的计算机可读存储介质,所述方法包括接收对在与装置的会话中使用的会话密钥的请求;响应所述请求,发送加密的会话密钥;和接收使用从加密的会话密钥恢复的会话密钥加密的加密的数据。
全文摘要
提供一种用于在嵌入式装置间安全地发送数据的方法和设备。所述方法包括发放对于在与装置的会话中使用的会话密钥的请求;通过对包括在对所述请求的响应中的加密的会话密钥进行解密来恢复所述会话密钥;使用所述恢复的会话密钥加密数据;以及发送加密的数据。因此,嵌入式装置能够以对等方式与彼此进行安全地通信。
文档编号H04L9/00GK1929369SQ200610151649
公开日2007年3月14日 申请日期2006年9月11日 优先权日2005年9月9日
发明者郭起源, 姜春云, 郑敏宇 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1