CN111107038B - 加密方法、解密方法及装置 - Google Patents
加密方法、解密方法及装置 Download PDFInfo
- Publication number
- CN111107038B CN111107038B CN201811253673.2A CN201811253673A CN111107038B CN 111107038 B CN111107038 B CN 111107038B CN 201811253673 A CN201811253673 A CN 201811253673A CN 111107038 B CN111107038 B CN 111107038B
- Authority
- CN
- China
- Prior art keywords
- key
- card
- ciphertext
- terminal
- session 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.)
- Active
Links
Images
Classifications
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- 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/0822—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 key encryption key
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了加密方法、解密方法及装置,其中加密方法包括:获取需发送给第一目标设备的非密钥数据;向密码卡输入所述需发送给第一目标设备的非密钥数据;控制密码卡进行第一加密操作,第一加密操作为仅对非密钥数据加密;在需发送给第一目标设备会话密钥的情况下,控制密码卡进行第二加密操作,第二加密操作为仅对会话密钥加密。通过本申请实施例,KDC、终端与服务端之间传输的数据都为非密钥数据,即使KDC、终端与服务端中任意设备的操作***被攻破,攻击者都不可能通过控制操作***获取密钥。
Description
技术领域
本申请涉及量子通信领域,特别是涉及加密方法、解密方法及装置。
背景技术
在量子通信网络中,两个设备进行数据通信前均需要进行认证。一种可能的应用场景为当终端需要向服务端申请资源或服务时,终端与服务端需要进行认证。终端与服务端为非对等实体,服务端提供服务而终端使用服务。终端主动发起认证过程,服务端等待终端的连接并对终端进行合法性验证。量子通信网络中设备的认证需要采用对称密码技术,由于Kerberos协议使用对称密码技术进行认证,因此,Kerberos协议特别适用于量子通信网络的设备认证。其中,Kerberos协议是一种网络身份认证协议,是一种基于可信任第三方(密钥分发中心(Key Distribution Center,KDC))的使用对称密码技术的认证协议。目前,已经广泛用于经典网络较为成熟的身份认证协议。
KDC包括认证服务(Authentication Service,AS)和票据授权服务(TicketGranting Service,TGS),其中,AS用于接收终端的认证信息,并依据所接收的认证信息对终端进行认证;TGS用于对终端进行合法性校验。终端与服务端按照Kerberos协议进行身份验证的过程包括:AS接收终端的认证信息,并依据所接收的认证信息对终端进行认证,若AS对终端的认证通过,向终端发放票据授权票据(Ticket Granting Ticket,TGT),以便终端利用TGT向TGS申请服务票据(Service Ticket,ST);若TGS向终端发放ST,表明TGS认证终端的身份是合法的,ST是终端访问服务端的凭证;接着,终端与服务端间进行身份认证。
但是,在上述终端与服务端认证的过程中,KDC、终端与服务端的内存、CPU中出现认证密钥和会话密钥中的部分或全部。当KDC、终端与服务端的操作***被攻击者攻破,即攻击者获取了操作***的控制权,此时,攻击者可以通过控制操作***获取到认证密钥和/或会话密钥。
发明内容
基于此,本申请提出了一种加密方法,用以即使KDC、终端与服务端的操作***被攻击者攻破,攻击者通过控制KDC、终端与服务端的操作***也无法获取到认证密钥与会话密钥。
本申请还提供了一种加密装置,用以保证上述方法在实际中的实现及应用。
本申请提供的技术方案为:
本申请公开了一种加密方法,应用于第一设备,所述第一设备中预置有密码卡,所述方法包括:
获取需发送给第一目标设备的非密钥数据;
向所述密码卡输入所述需发送给第一目标设备的非密钥数据;
控制所述密码卡进行第一加密操作,所述第一加密操作为仅对所述非密钥数据加密;
在需发送给所述第一目标设备会话密钥的情况下,控制所述密码卡进行第二加密操作,所述第二加密操作为仅对所述会话密钥加密。
其中,所述第一设备为KDC;
在所述控制所述密码卡进行第二加密操作之前,还包括:
控制所述密码卡生成所述需发送给所述第一目标设备的会话密钥。
其中,所述密码卡中预置有与终端共享的第一认证密钥、与服务端共享的第二认证密钥、以及独有的第三认证密钥;
在所述控制所述密码卡进行第一加密操作之前,还包括:
控制所述KDC的密码卡生成中间会话密钥;所述中间会话密钥用于对需发送给所述第一目标设备的非密钥数据加密;
所述控制所述密码卡进行第一加密操作,包括:
控制所述KDC的密码卡采用所述中间会话密钥,对所述需发送给所述第一目标设备的非密钥数据加密;
所述控制所述密码卡进行第二加密操作,包括:
控制所述密码卡采用所述第三认证密钥,分别对所述中间会话密钥以及所述需发送给所述第一目标设备的会话密钥加密。
其中,所述KDC的密码卡中预置有与终端共享的第一认证密钥、与服务端共享的第二认证密钥,以及独有的第三认证密钥;
所述控制所述密码卡进行第一加密操作,包括:
控制所述密码卡采用所述需发送给所述第一目标设备的会话密钥,对所述需发送给所述第一目标设备的非密钥数据加密;
所述控制所述密码卡进行第二加密操作,包括:
控制所述密码卡采用所述第一认证密钥,对所述需发送给所述第一目标设备的会话密钥加密。
其中,所述第一设备为终端或服务端,所述密码卡中存在用于与所述第一目标设备通信的会话密钥;
所述控制所述密码卡进行第一加密操作,包括:
控制所述密码卡采用所述用于与所述第一目标设备通信的会话密钥,对所述需发送给所述第一目标设备的非密钥数据加密。
本申请还公开了一种解密方法,应用于第二设备,所述第二设备中预置有密码卡,所述方法包括:
获取待解密的密文;所述密文中包括至少一个非密钥数据密文;所述非密钥数据密文由加密端通过第一加密操作生成;在所述密文中还包括会话密钥密文的情况下,所述会话密钥密文由所述加密端通过第二加密操作生成;
将所述密文输入所述密码卡;
控制所述密码卡分别对每个所述密文解密,对所述非密钥数据密文解密得到非密钥数据,对所述会话密钥密文解密得到会话密钥;
从所述第二设备的密码卡中导出所述非密钥数据。
其中,所述密文包括至少一个第一目标非密钥数据密文和至少一个会话密钥密文;所述密码卡中预置有与所述第二设备对应的认证密钥;
所述控制所述密码卡分别对每个所述密文解密,包括:
控制所述密码卡采用所述第二设备对应的认证密钥,对所述至少一个会话密钥密文解密,使得所述第二设备的密码卡得到至少一个会话密钥;
控制所述密码卡采用所述至少一个会话密钥,对所述第一目标非密钥数据密文解密,使得所述密码卡得到第一目标非密钥数据。
其中,所述密文为一个第二目标非密钥数据密文;所述密码卡中存在目标会话密钥;所述目标会话密钥用于与发送所述第二目标非密钥数据密文的设备通信;
所述控制所述密码卡分别对每个所述密文解密,包括:
控制所述密码卡采用所述目标会话密钥,对所述第二目标非密钥数据密文解密,使得所述密码卡得到所述第二目标非密钥数据。
本申请还公开了一种加密装置,应用于第一设备,所述第一设备中预置有密码卡,所述加密装置包括:
第一获取单元,用于获取需发送给第一目标设备的非密钥数据;
第一输入单元,用于向所述密码卡输入所述需发送给第一目标设备的非密钥数据;
第一控制单元,用于控制所述密码卡进行第一加密操作,所述第一加密操作为仅对所述非密钥数据加密;
第二控制单元,用于在需发送给所述第一目标设备会话密钥的情况下,控制所述密码卡进行第二加密操作,所述第二加密操作为仅对所述会话密钥加密。
其中,所述第一设备为KDC;所述装置还包括:
第三控制单元,用于在所述第二控制单元控制所述密码卡进行第二加密操作之前,控制所述密码卡生成所述需发送给所述第一目标设备的会话密钥。
其中,所述密码卡中预置有与终端共享的第一认证密钥、与服务端共享的第二认证密钥、以及独有的第三认证密钥;所述装置还包括:
第四控制单元,用于在所述第一控制单元控制所述密码卡进行第一加密操作之前,控制所述KDC的密码卡生成中间会话密钥;所述中间会话密钥用于对需发送给所述第一目标设备的非密钥数据加密;
所述第一控制单元,具体用于:
控制所述KDC的密码卡采用所述中间会话密钥,对所述需发送给所述第一目标设备的非密钥数据加密;
所述第二控制单元,具体用于:
控制所述密码卡采用所述第三认证密钥,分别对所述中间会话密钥以及所述需发送给所述第一目标设备的会话密钥加密。
其中,所述KDC的密码卡中预置有与终端共享的第一认证密钥、与服务端共享的第二认证密钥,以及独有的第三认证密钥;
所述第一控制单元,具体用于:
控制所述密码卡采用所述需发送给所述第一目标设备的会话密钥,对所述需发送给所述第一目标设备的非密钥数据加密;
所述第二控制单元,具体用于:
控制所述密码卡采用所述第一认证密钥,对所述需发送给所述第一目标设备的会话密钥加密。
其中,所述第一设备为终端或服务端,所述密码卡中存在用于与所述第一目标设备通信的会话密钥;
所述第一控制单元,具体用于:
控制所述密码卡采用所述用于与所述第一目标设备通信的会话密钥,对所述需发送给所述第一目标设备的非密钥数据加密。
本申请还公开了一种解密装置,应用于第二设备,所述第二设备中预置有密码卡,所述装置包括:
第二获取单元,用于获取待解密的密文;所述密文中包括至少一个非密钥数据密文;所述非密钥数据密文由加密端通过第一加密操作生成;在所述密文中还包括会话密钥密文的情况下,所述会话密钥密文由所述加密端通过第二加密操作生成;
第二输入单元,用于将所述密文输入所述密码卡;
第五控制单元,用于控制所述密码卡分别对每个所述密文解密,对所述非密钥数据密文解密得到非密钥数据,对所述会话密钥密文解密得到会话密钥;
导出单元,用于从所述第二设备的密码卡中导出所述非密钥数据。
其中,所述第二获取单元所获取的待解密的密文为至少一个第一目标非密钥数据密文和至少一个会话密钥密文;所述密码卡中预置有与所述第二设备对应的认证密钥;
所述第五控制单元,具体用于:
控制所述密码卡采用所述第二设备对应的认证密钥,对所述至少一个会话密钥密文解密,使得所述第二设备的密码卡得到至少一个会话密钥;
控制所述密码卡采用所述至少一个会话密钥,对所述第一目标非密钥数据密文解密,使得所述密码卡得到第一目标非密钥数据。
其中,所述第二获取单元所获取的待解密的密文为一个第二目标非密钥数据密文;所述密码卡中存在目标会话密钥;所述目标会话密钥用于与发送所述第二目标非密钥数据密文的设备通信;
所述第五控制单元,具体用于:
控制所述密码卡采用所述目标会话密钥,对所述第二目标非密钥数据密文解密,使得所述密码卡得到所述第二目标非密钥数据。
本申请的有益效果为:
在本申请实施例中,一方面,只向密码卡中输入需发送给第一目标设备的非密钥数据,基于待加密数据生成需发送给第一目标设备的密文在密码卡中完成,因此,第一设备向外发送数据为非密钥数据;另一方面,控制密码卡采用第一加密操作仅对非密钥数据加密,采用第二加密操作仅对会话密钥数据加密,使得密码卡所得到的每个密文中只包括非密钥数据或者会话密钥数据;使得对密码卡所得到的密文解密时,对每个密文所解密出的数据为非密钥数据或者会话密钥数据;并且,在没有用户操作的情况下,密码卡无法输出会话密钥数据,因此,可以实现只从密码卡中导出非密钥数据,进而保证第一设备向外传输的数据为非密钥数据。因此,在本申请实施例中,KDC、终端与服务端之间传输的数据都为非密钥数据,即使KDC、终端与服务端中任意设备的操作***被攻破,攻击者都不可能通过控制操作***获取密钥。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请中一种终端与KDC交互的方法实施例的流程图;
图2为本申请中又一种终端与KDC交互的方法实施例的流程图;
图3为本申请中一种终端与服务端交互的方法实施例的流程图;
图4为本申请中一种加密方法实施例的流程图;
图5为本申请中一种解密方法实施例的流程图;
图6为本申请中一种加密装置实施例的结构示意图;
图7为本申请中一种解密装置实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中,在终端和服务端进行认证之前所需的准备工作包括:
第一、终端、服务端和密钥分发中心中都增加一块密码卡,密码卡是一种能够提供加解密运算和进行密钥保护的经典设备。密码卡的物理接口一般是PCIE形式,分别直接***终端、服务端和密钥分发中心的PCIE插槽上即可。通过密码卡的厂家提供的驱动,控制密码卡完成密钥加解密的功能。
第二、对终端、服务端和密钥分发中心完成物理链路的连接。即用网线把终端、服务端和密钥分发中心连接起来。
第三、分别在终端、服务端和密钥分发中心中预置认证密钥。
具体的,在密钥分发中心***Ukey,Ukey是密码卡的配套组件,用于密码卡对用户进行认证。密码卡对用户的认证方式包括:把Ukey***到密码卡的USB接口上,然后运行密码卡厂家给出的程序,输入密码(PIN码)。
在本申请实施例中,需要在密钥分发中心的密码卡与终端的密码卡中预置相同的认证密钥,以及在密钥分发中心的密码卡与服务端的密码卡中预置相同的认证密钥,为了描述方便,本申请实施例将密钥分发中心的密码卡与终端的密码卡中预置相同的认证密钥,称为第一认证密钥;将密钥分发中心的密码卡与服务端的密码卡中预置相同的认证密钥,称为第二认证密钥。此外,在本申请实施例中,密钥分发中心的密码卡中还需预置密钥分发中心的密码卡特有的认证密钥,为了描述方便,将密钥分发中心的密码卡中所特有的认证密钥,称为第三认证密钥。
具体的,在密钥分发中心的密码卡与终端的密码卡中预置第一认证密钥的过程可以包括:
完成密钥分发中心的密码卡对用户的认证后,用户可以对密码卡内部的密钥进行导出、导入和更新等操作。具体的,用户执行“生成认证密钥并加密导出”的操作,此时,在密钥分发中心的密码卡内生成了认证密钥,并且将密码卡所生成的认证密钥导出到Ukey中。
接着,将Ukey***终端的密码卡中,同样进行终端的密码卡对用户的认证过程,具体的认证过程与密钥分发中心的密码卡对用户认证过程相同,这里不再赘述。完成终端的密码卡对用户的认证过程后,用户执行“导入认证密钥”的操作,此时,将Ukey中的认证密钥导入终端的密码卡中,此时,终端的密码卡与密钥分发中心的密码卡中存在相同的第一认证密钥。
同理,在密钥分发中心的密码卡与服务端的密码卡中预置第二认证密钥的过程可以包括:
把Ukey***到密钥分发中心的密码卡的USB接口上,然后运行密码卡厂家给出的程序,输入密码(PIN码)。完成密钥分发中心的密码卡对用户的认证后,用户执行“生成认证密钥并加密导出”的操作,此时,在密钥分发中心的密码卡内生成了第二认证密钥,并且将密码卡所生成的第二认证密钥导出到Ukey中。
接着,将Ukey***服务端的密码卡中,同样进行服务端的密码卡对用户的认证过程,具体的认证过程与密钥分发中心的密码卡对用户认证过程相同,这里不再赘述。完成服务端的密码卡对用户的认证过程后,用户执行“导入认证密钥”的操作,此时,将Ukey中的第二认证密钥导入服务端的密码卡中,此时,服务端的密码卡与密钥分发中心的密码卡中存在相同的第二认证密钥。
密钥分发中心的密码卡中预置第三认证密钥的过程可以包括:
把Ukey***到密钥分发中心的密码卡的USB接口上,然后运行密码卡厂家给出的程序,输入密码(PIN码)。完成密钥分发中心的密码卡对用户的认证后,用户执行“生成认证密钥”的操作,此时,在密钥分发中心的密码卡内生成了第三认证密钥。
此时,在终端和服务端进行认证之前所需的准备工作已经完成,密钥分发中心的密码卡中存在第一认证密钥、第二认证密钥和第三认证密钥,在终端的密码卡中存在第一认证密钥;在服务端的密码卡中存在第二认证密钥。
参考图1,示出了本申请实施例中一种终端与KDC交互方法,可以包括:
步骤101:终端向KDC发送第一消息。
在本步骤中,第一消息中包括终端的名称/ID、终端的IP地址以及终端的生命周期。可以看出,第一消息为非密钥数据。
步骤102:KDC通过比较第一消息中的信息是否存在数据库中,验证终端是否合法。若终端不合法,则结束;若终端合法,则执行步骤103。
步骤103:KDC生成TGT。
在本步骤中,TGT是对KDC需发送给终端的第一信息和KDC需发送给终端的第二信息分别加密所得到的密文。其中,KDC需发送给终端的第一信息包括:终端验证TGS所需数据信息和终端与TGS间通信的会话密钥,为了描述方便,将终端与TGS间通信的会话密钥称为第一会话密钥;其中,终端验证TGS所需数据信息可以包括:TGS名称/ID、时间戳和TGT的生命周期;可以看出终端验证TGS所需数据信息为非密钥数据。
KDC需发送给终端的第二信息包括TGS验证终端所需第一数据信息和第一会话密钥;TGS验证终端所需第一数据信息可以包括:终端的名称/ID、TGS名称/ID、时间戳、终端的IP地址、TGT生命周期,可以看到TGS验证终端所需第一数据信息是非密钥数据。
TGT包括KDC需发送给终端的第一密文和KDC需发送给终端的第二密文。
具体的,KDC调用加密程序,使得加密程序控制密码卡生成KDC需发送给终端的第一密文的过程可以包括步骤A1~步骤A5:
步骤A1:获取KDC需发送给终端的第一非密钥数据。
在本步骤中,KDC需发送给终端的第一非密钥数据为终端验证TGS所需数据信息。
步骤A2:将KDC需发送给终端的第一非密钥数据输入KDC的密码卡。
步骤A3:控制KDC的密码卡生成第一会话密钥。
步骤A4:控制KDC的密码卡进行第一加密操作。
具体的,控制KDC的密码卡采用第一会话密钥,对KDC需发送给终端的第一非密钥数据加密,得到KDC需发送给终端的第一非密钥数据密文。
步骤A5:控制KDC的密码卡进行第二加密操作。
具体的,控制KDC的密码卡采用第一认证密钥对第一会话密钥加密,得到KDC需发送给终端的第一会话密钥密文。
此时,KDC需发送给终端的第一非密钥数据密文与KDC需发送给终端的第一会话密钥密文,组成了KDC需发送给终端的第一密文。
由于KDC需发送给终端的第一会话密钥密文是由第一认证密钥加密得到的,因此,终端可以对KDC需发送给终端的第一会话密钥密文解密,得到第一会话密钥;使得终端可以利用第一会话密钥对KDC需发送给终端的第一非密钥数据密文解密。因此,终端的密码卡可以对KDC需发送给终端的第一密文解密。
具体的,KDC调用加密程序生成KDC需发送给终端的第二密文的过程,可以包括步骤B1~步骤B5:
步骤B1:获取KDC需发送给终端的第二非密钥数据。
在本步骤中,KDC需发送给终端的第二非密钥数据为TGS验证终端所需第一数据信息。
步骤B2:将KDC需发送给终端的第二非密钥数据输入KDC的密码卡。
步骤B3:控制密码卡生成第一中间会话密钥。
在本步骤中,第一中间会话密钥用于对KDC需发送给终端的第二非密钥数据加密。
步骤B4:控制KDC的密码卡进行第一加密操作。
具体的,控制KDC的密码卡采用第一中间会话密钥,对KDC需发送给终端的第二非密钥数据加密,得到KDC需发送给终端的第二非密钥数据密文。
步骤B5:控制KDC的密码卡进行第二加密操作。
具体的,控制KDC的密码卡采用第三认证密钥,分别对第一会话密钥与第一中间会话密钥加密,得到KDC需发送给终端的第二会话密钥密文与第三会话密钥密文。
此时,KDC需发送给终端的第二非密钥数据密文、KDC需发送给终端的第二会话密钥密文与第三会话密钥密文,组成了KDC需发送给终端的第二密文。
由于终端的密码卡中没有第三认证密钥,因此,终端不能对KDC需发送给终端的第二会话密钥密文与第三会话密钥密文解密;因此终端不能获取到第一中间会话密钥,进而终端的密码卡不能解密出KDC需发送给终端的第二非密钥数据。
此时,KDC需发送给终端的第一密文与KDC需发送给终端的第二密文,就组成了TGT。
步骤104:KDC向终端发送TGT。
在实际应用中,KDC将第一密文与第二密文组成一个数据包,将该数据包发送给终端。
步骤105:终端对TGT解密。
由于终端可以对KDC需发送给终端的第一密文解密,而不能对KDC需发送给终端的第二密文解密。因此,在本步骤中,终端对TGT解密的过程,即是终端的密码卡对KDC需发送给终端的第一密文解密。
具体的,终端调用解密程序对KDC需发送给终端的第一密文解密,具体过程可以包括步骤C1~步骤C3:
步骤C1:从TGT中识别出待解密的密文。
在本步骤中,待解密的密文为TGT中KDC需发送给终端的第一非密钥数据密文、KDC需发送给终端的第一会话密钥密文。
步骤C2:将待解密的密文输入终端的密码卡。
步骤C3:控制终端的密码卡分别对每个待解密的密文解密。
在本步骤中,控制终端的密码卡采用第一认证密钥对第一会话密钥密文解密,得到第一会话密钥;接着,控制终端的密码卡采用第一会话密钥对第一非密钥数据密文解密,得到KDC需发送给终端的第一非密钥数据。
由于KDC需发送给终端的第一非密钥数据为终端验证TGS所需数据信息,因此,终端采用KDC需发送给终端的第一非密钥数据对TGS进行验证。
参考图2,示出了本申请实施例中又一种终端与KDC间的交互方法,可以包括:
步骤201:终端生成终端需发送给KDC的非密钥数据密文。
在本步骤中,终端需发送给KDC的非密钥数据可以包括:终端名称/ID和时间戳。
具体的,终端调用加密程序,使得加密程序控制密码卡生成终端需向KDC发送的非密钥数据密文,具体过程可以包括步骤D1~步骤D2:
步骤D1:向终端的密码卡输入终端需发送给KDC的非密钥数据。
步骤D2:控制终端的密码卡进行第一加密操作。
具体的,控制终端的密码卡采用第一会话密钥,对终端需发送给KDC的非密钥数据加密,得到终端需发送给KDC的非密钥数据密文。
步骤202:终端向KDC发送终端需发送给KDC的非密钥数据密文、第一服务端信息和KDC需发送给终端的第二密文。
在本步骤中,第一服务端信息可以包括:服务名称/ID、服务的生命周期。
步骤203:KDC依据服务名称/ID和服务的生命周期,判断该服务是否存在。
若不存在,则结束;若存在,则执行步骤204。
步骤204:KDC对待解密的密文解密。
在本步骤中,待解密的密文包括:终端需发送给KDC的非密钥数据密文、KDC需发送给终端的第二非密钥数据密文、KDC需发送给终端的第二会话密钥密文和KDC需发送给终端的第三会话密钥密文。可以看出本步骤中,待解密的密文包括至少一个非密钥数据密文和至少一个会话密钥密文。并且,每个非密钥数据密文是由加密端采用第一加密操作得到,每个会话密钥密文由加密端采用第二加密操作得到。
具体的,KDC调用解密程序,使得解密程序对终端需发送给KDC的非密钥数据密文以及KDC需发送给终端的第二密文解密,可以包括步骤E1~步骤E4:
步骤E1:获取待解密的密文。
步骤E2:将待解密的密文输入密码卡。
步骤E3:控制密码卡采用第三认证密钥,分别对第二会话密钥密文与第三会话密钥密文解密,得到第一会话密钥与第一中间会话密钥。
步骤E4:控制密码卡采用第一会话密钥与第一中间会话密钥,对终端需发送给KDC的非密钥数据密文、KDC需发送给终端的第二非密钥数据密文解密,得到TGS验证终端所需的第一数据信息和TGS验证终端所需的第二数据信息。
具体的,控制密码卡采用第一会话密钥分别对终端需发送给KDC的非密钥数据密文、KDC需发送给终端的第二非密钥数据密文解密,只能得到TGS验证终端所需的第二数据信息;接着,KDC控制密码卡采用第一中间会话密钥,对KDC需发送给终端的第二非密钥数据密文解密,得到TGS验证终端所需的第一数据信息。
步骤205:KDC验证终端是否合法。
具体的,TGS通过比较TGS验证终端所需第一数据信息中的终端名称/ID与TGS验证终端所需第二数据信息中的终端名称/ID是否相同,若相同,则说明终端合法,并执行步骤206;若不相同,则说明终端不合法,结束操作。
步骤206:生成KDC需发送给终端的第三密文以及KDC需发送给终端的第四密文(ST)。
具体的,KDC需发送给终端的第三密文包括:KDC需发送给终端的第三非密钥数据密文以及KDC需发送给终端的第四会话密钥密文。其中,KDC需发送给终端的第三非密钥数据密文为KDC对第二服务端信息加密得到。这里的服务端是为终端提供当前所需服务的服务端;第二服务端信息可以包括:服务端名称/ID、时间戳和ST的生命周期。
KDC需发送给终端的第四密文(ST)是KDC真正需要发送给服务端的密文,为了减小KDC的存储负担,在本步骤中,KDC将ST发送给终端,再由终端发送给服务端。ST包括:KDC需发送给终端的第四非密钥数据密文、KDC需发送给终端的第五会话密钥密文和KDC需发送给终端的第六会密钥密文,但是,需保证终端解密不出ST中的密文。
具体的,生成KDC需发送给终端的第三密文的过程可以包括步骤F1~步骤F4:
步骤F1:获取KDC需发送给终端的第三非密钥数据。
在本步骤中,KDC需发送给终端的第三非密钥数据为第二服务端信息。
步骤F2:控制密码卡生成第二会话密钥。
在本步骤中,第二会话密钥为终端与服务端通信的会话密钥。
步骤F3:控制密码卡对KDC需发送给终端的第三非密钥数据进行第一加密操作。
具体的,控制密码卡采用第二会话密钥,对KDC需发送给终端的第三非密钥数据加密,得到KDC需发送给终端的第三非密钥数据密文。
步骤F4:控制密码卡对第二会话密钥进行第二加密操作。
具体的,控制密码卡采用第一认证密钥,对第二会话密钥加密,得到KDC需发送给终端的第四会话密钥密文。
KDC生成KDC需发送给终端的第四密文的过程可以包括步骤G1~步骤G4:
步骤G1:获取KDC需发送给终端的第四非密钥数据。
在本步骤中,KDC需发送给终端的第四非密钥数据为服务端验证终端所需的第一数据信息。其中,服务端验证终端所需的第一数据信息可以包括:终端名称/ID、服务端名称/ID、终端的IP地址、时间戳和ST的生命周期,可以看出服务端验证终端所需的第一数据信息所包括的内容都为非密钥数据。
步骤G2:控制密码卡生成第二中间会话密钥。
在本步骤中,第二中间会话密钥用于对KDC需发送给终端的第四非密钥数据加密,使得终端无法解密。
步骤G3:控制密码卡对KDC需发送给终端的第四非密钥数据进行第一加密操作。
具体的,控制密码卡采用第二中间会话密钥,对KDC需发送给终端的第四非密钥数据加密,得到KDC需发送给终端的第四非密钥数据密文。
步骤G4:控制密码卡分别对第二会话密钥与第二中间会话密钥进行第二加密操作。
具体的,控制密码卡采用第二认证密钥,分别对第二会话密钥加密和第二中间会话密钥加密,得到KDC需发送给终端的第五会话密钥密文和第六会话密钥密文。
此时,KDC需发送给终端的第四非密钥数据密文、KDC需发送给终端的第五会话密钥密文和第六会话密钥密文,组成了ST。
步骤207:KDC向终端发送KDC需发送给终端的第三密文和ST。
由于终端的密码卡中没有第二认证密钥,因此终端无法从ST中获取第二会话密钥和第二中间会话密钥,进而无法对ST解密,进而无法得到服务端验证终端所需的第一数据信息。
步骤208:终端对待解密的密文解密。
在本步骤中待解密的密文包括KDC需发送给终端的第三密文。
具体的,终端调用解密程序对KDC需发送给终端的第三密文解密的过程,可以包括步骤H1~步骤H4:
步骤H1:获取待解密的密文。
步骤H2:将KDC需发送给终端的第三密文输入终端的密码卡。
步骤H3:控制终端的密码卡对KDC需发送给终端的第三密文中的每个密文解密。
具体的,控制终端的密码卡采用第一认证密钥,对KDC需发送给终端的第三密文中的每个密文解密,使得终端的密码卡得到第二会话密钥。
步骤H4:控制终端的密码卡对KDC需发送给终端的第三非密钥数据密文解密。
具体的,控制终端的密码卡采用第二会话密钥,对KDC需发送给终端的第三非密钥数据密文解密,得到KDC需发送给终端的第三非密钥数据,即第二服务端信息。
参考图3,示出了本申请中终端与服务端的交互方法,可以包括:
步骤301:终端生成终端需发送给服务端的第一非密钥数据密文。
在本步骤中,终端需发送给服务端的第一非密钥数据密文是终端通过调用安装在终端上的加密程序,使加密程序对终端需发送给服务端的非密钥数据加密,其中,终端需发送给服务端的非密钥数据为:服务端验证终端所需的第二数据信息。
具体的,终端调用加密程序生成终端需发送给服务端的第一非密钥数据密文的过程,可以包括步骤I1~步骤I3:
步骤I1:获取终端需发送给服务端的非密钥数据。
步骤I2:将终端需发送给服务端的非密钥数据输入终端的密码卡。
步骤I3:控制终端的密码卡对终端需发送给服务端的非密钥数据进行第一加密操作。
具体的,控制终端的密码卡采用第二会话密钥,对终端需发送给服务端的非密钥数据进行加密,得到终端需发送给服务端的第一非密钥数据密文。
步骤302:终端向服务端发送ST和终端需发送给服务端的第一非密钥数据密文。
步骤303:服务端对ST和终端需发送给服务端的第一非密钥数据密文解密。
具体的,服务端调用解密程序,使得解密程序对ST和终端需发送给服务端的第一非密钥数据密文解密,具体过程可以包括步骤J1~步骤J3:
步骤J1:获取待解密的密文。
在本步骤中,待解密的密文为ST和终端需发送给服务端的第一非密钥数据密文。
步骤J2:将ST和终端需发送给服务端的第一非密钥数据密文,输入服务端的密码卡。
步骤J3:控制服务端的密码卡对待解密的密文进行解密。
具体的,控制服务端的密码卡采用第二认证密钥,分别对KDC需发送给终端的第五会话密钥密文和KDC需发送给终端的第六会话密钥密文解密,得到第二会话密钥与第二中间会话密钥。接着,控制服务端的密码卡采用第二会话密钥与第二中间会话密钥,分别对终端需发送给服务端的第一非密钥数据密文和KDC需发送给终端的第四非密钥数据密文解密,得到服务端验证终端所需的第一数据信息与第二数据信息。
步骤304:服务端从密码卡导出服务端验证终端所需的第一数据信息与第二数据信息。
步骤305:服务端验证终端是否合法。
若不合法,则结束;若合法,则执行步骤306。
步骤306:服务端生成服务端需发送给终端的非密钥数据密文。
在本步骤中,服务端需发送给终端的非密钥数据密文是服务端调用加密程序,使得加密程序对服务端需发送给终端的非密钥数据进行加密得到的。
具体的,服务端调用加密程序,使得加密程序对服务端需发送给终端的非密钥数据加密的过程,可以包括步骤K1~步骤K3:
步骤K1:获取服务端需发送给终端的非密钥数据。
步骤K2:将服务端需发送给终端的非密钥数据输入服务端的密码卡。
步骤K3:控制服务端的密码卡对服务端需发送给终端的非密钥数据,进行第一加密操作。
具体的,控制服务端的密码卡采用第二会话密钥,对服务端需发送给终端的非密钥数据加密,得到服务端需发送给终端的非密钥数据密文。
步骤307:服务端从密码卡中导出服务端需发送给终端的非密钥数据密文。
步骤308:服务端向终端发送服务端需发送给终端的非密钥数据密文。
步骤309:终端对服务端需发送给终端的非密钥数据密文解密。
具体的,终端调用安装在终端上的解密程序,使得解密程序对服务端需发送给终端的非密钥数据密文解密。具体的解密过程可以包括步骤L1~步骤L4:
步骤L1:获取待解密的密文。
在本步骤中,待解密的密文为服务端需发送给终端的非密钥数据密文。
步骤L2:将服务端需发送给终端的非密钥数据密文输入终端的密码卡。
步骤L3:控制终端的密码卡对服务端需发送给终端的非密钥数据密文解密。
具体的,控制终端的密码卡采用第二会话密钥,对服务端需发送给终端的非密钥数据密文解密,得到服务端需发送给终端的非密钥数据。
步骤L4:从终端的密码卡中导出服务端需发送给终端的非密钥数据。
步骤310:终端对服务端进行验证。
若验证通过,则终端与服务端间的认证完成。
需要说明的是,在本申请实施例中,终端、服务端和KDC都是第一设备,同时也是第二设备。当终端、服务端和KDC作为加密端时,充当的都是第一设备,当终端、服务端和KDC作为解密端时,充当的是第二设备。
在上述的每个实施例中,一方面,第一设备只向密码卡中输入需发送给第一目标设备的非密钥数据,基于待加密数据生成需发送给第一目标设备的密文在密码卡中完成,因此,第一设备向外发送数据为非密钥数据;另一方面,控制密码卡采用第一加密操作仅对非密钥数据加密,采用第二加密操作仅对会话密钥数据加密,使得密码卡所得到的每个密文中只包括非密钥数据或者会话密钥数据;使得对密码卡所得到的密文解密时,对每个密文所解密出的数据为非密钥数据或者会话密钥数据;并且,在没有用户操作的情况下,密码卡无法输出会话密钥数据,因此,可以实现只从密码卡中导出非密钥数据,进而保证第一设备向外传输的数据为非密钥数据。因此,在本申请实施例中,KDC、终端与服务端之间传输的数据都为非密钥数据,即使KDC、终端与服务端中任意设备的操作***被攻破,攻击者都不可能通过控制操作***获取密钥。
参考图4,示出了本申请中一种加密方法,可以包括:
该方法应用于第一设备,其中,第一设备可以为终端、服务端和KDC中的任意一个设备。
步骤401:获取需发送给第一目标设备的非密钥数据。
在本步骤中,第一目标设备为需发送数据的对端,例如,终端向服务端发送数据,此时服务端就是第一目标设备。
步骤402:向密码卡输入需发送给第一目标设备的非密钥数据。
步骤403:控制密码卡进行第一加密操作,第一加密操作为仅对非密钥数据加密。
步骤404:在需发送给第一目标设备会话密钥的情况下,控制密码卡进行第二加密操作,第二加密操作为仅对所述会话密钥加密。
该方法实施例可以应用在终端、服务端以及KDC中,对于具体应用过程中,具体实现过程已在图1、图2和图3分别对应的方法实施例中详细说明,这里不再赘述。
参考图5,示出了本申请中一种解密方法,可以包括:
该方法应用于第二设备,其中,第二设备可以为终端、服务端和KDC中的任意一个设备。
步骤501:接收待解密的密文。
其中,密文中包括至少一个非密钥数据密文;非密钥数据密文由加密端通过第一加密操作生成;在密文中还包括会话密钥密文的情况下,会话密钥密文由加密端通过第二加密操作生成。
步骤502:将密文输入密码卡。
步骤503:控制密码卡分别对每个待解密密文解密,对非密钥数据密文解密得到非密钥数据,对会话密钥密文解密得到会话密钥。
步骤504:从第二设备的密码卡中导出非密钥数据。
需要说明的是,该解密方法可以应用在终端、服务端和KDC中。
针对终端、服务端和KDC的解密过程中,待解密的密文中所包括的内容不同,有的待解密的密文中既包括非密钥数据密文又包括会话密钥密文;而有的待解密的密文中只包括非密钥数据密文。在本实施例中,当待解密的密文中既包括非密钥数据密文又包括会话密钥密文时,将待解密密文中的非密钥数据密文称为第一目标非密钥数据密文;当待解密的密文中只包括非密钥数据密文时,将非密钥数据密文称为第二目标非密钥数据密文。
具体的,当第二设备的待解密的密文中包括至少一个第一目标非密钥数据密文和至少一个会话密钥密文时,第二设备的密码卡中预置有对应的认证密钥。具体的,当第二设备为终端时,第二设备对应的认证密钥为第一认证密钥;当第二设备为KDC时,第二设备对应的认证密钥为第三认证密钥;当第二设备为服务端时,第二设备对应的认证密钥为第二认证密钥。
第二设备对待解密的密文的解密过程包括:第二设备调用解密程序,使得解密程序控制第二设备的密码卡采用第二设备对应的认证密钥,对至少一个会话密钥密文解密,使得第二设备的密码卡得到至少一个会话密钥;接着,解密程序控制第二设备的密码卡采用解密出的会话密钥,对第一目标非密钥数据密文解密,使得第二设备的密码卡得到第一目标非密钥数据;并从第二设备的密码卡中导出第一目标非密钥数据。
例如,第二设备为终端时,在图1对应的实施例中,终端调用解密程序,使得解密程序控制终端的密码卡采用第一认证密钥,对第一会话密钥密文解密,使得终端的密码卡得到第一会话密钥;并控制终端的密码卡采用第一会话密钥,对第一非密钥数据密文解密,使得终端的密码卡中得到第一非密钥数据;并从终端的密码卡中导出第一非密钥数据。
当第二设备的待解密的密文中包括一个第二目标非密钥数据密文时,第二设备的密码卡中存在目标会话密钥,目标会话密钥用于与发送第二目标非密钥数据密文的设备通信。例如,在图3对应的实施例中,终端与服务端交互的过程中,终端对服务端需发送给终端的非密钥数据密文解密时,第二目标非密钥数据密文就是服务端需发送给终端的非密钥数据密文;终端的密码卡中已存在与服务端通信的第二会话密钥,此时,目标会话密钥就是第二会话密钥。
第二设备对待解密的密文的解密过程包括:控制第二设备的密码卡采用目标会话密钥,对第二目标非密钥数据密文解密,使得第二设备的密码卡得到第二目标非密钥数据。
还以终端与服务端交互过程中,终端对服务端需发送给终端的非密钥数据密文的解密过程为例,终端对服务端需发送给终端的非密钥数据密文的解密过程包括:终端调用解密程序,使得解密程序控制终端的密码卡采用第二会话密钥,对服务端需发送给终端的非密钥数据密文解密,得到服务端需发送给终端的非密钥数据。此时,第二目标非密钥数据就是服务端需发送给终端的非密钥数据。
上述介绍了对于待解密的密文中包括不同的密文的情况下,第二设备对待解密的密文的具体解密过程;本实施例是以第二设备为终端为例介绍解密的过程,当然,对于服务端与KDC的详细解密过程,可以参考图1、图2和图3对应的方法实施例,这里不再赘述。
参考图6,示出了本申请中一种加密装置,应用于第一设备,所述第一设备中预置有密码卡,所述加密装置可以包括:
第一获取单元601,用于获取需发送给第一目标设备的非密钥数据;
第一输入单元602,用于向所述密码卡输入所述需发送给第一目标设备的非密钥数据;
第一控制单元603,用于控制所述密码卡进行第一加密操作,所述第一加密操作为仅对所述非密钥数据加密;
第二控制单元604,用于在需发送给所述第一目标设备会话密钥的情况下,控制所述密码卡进行第二加密操作,所述第二加密操作为仅对所述会话密钥加密。
其中,第一设备为KDC时,该加密装置还可以包括:
第三控制单元,用于在所述第二控制单元604控制所述密码卡进行第二加密操作之前,控制所述密码卡生成所述需发送给所述第一目标设备的会话密钥。
其中,所述密码卡中预置有与终端共享的第一认证密钥、与服务端共享的第二认证密钥、以及独有的第三认证密钥;所述装置还可以包括:
第四控制单元,用于在所述第一控制单元603控制所述密码卡进行第一加密操作之前,控制所述KDC的密码卡生成中间会话密钥;所述中间会话密钥用于对需发送给所述第一目标设备的非密钥数据加密;
所述第一控制单元603,具体用于:
控制所述KDC的密码卡采用所述中间会话密钥,对所述需发送给所述第一目标设备的非密钥数据加密;
所述第二控制单元604,具体用于:
控制所述密码卡采用所述第三认证密钥,分别对所述中间会话密钥以及所述需发送给所述第一目标设备的会话密钥加密。
其中,所述KDC的密码卡中预置有与所述终端共享的第一认证密钥、与所述服务端共享的第二认证密钥,以及独有的第三认证密钥;
所述第一控制单元603,具体用于:
控制所述密码卡采用所述需发送给所述第一目标设备的会话密钥,对所述需发送给所述第一目标设备的非密钥数据加密;
所述第二控制单元604,具体用于:
控制所述密码卡采用所述第一认证密钥,对所述需发送给所述第一目标设备的会话密钥加密。
其中,所述第一设备为终端或服务端时,所述密码卡中存在用于与所述第一目标设备通信的会话密钥;
所述第一控制单元603,具体用于:
控制所述密码卡采用所述用于与所述第一目标设备通信的会话密钥,对所述需发送给所述第一目标设备的非密钥数据加密。
参考图7,示出了本申请中一种解密装置,应用于第二设备,所述第二设备中预置有密码卡,所述装置包括:
第二获取单元701,用于获取待解密的密文;所述密文中包括至少一个非密钥数据密文;所述非密钥数据密文由加密端通过第一加密操作生成;在所述密文中还包括会话密钥密文的情况下,所述会话密钥密文由所述加密端通过第二加密操作生成;
第二输入单元702,用于将所述密文输入所述密码卡;
第五控制单元703,用于控制所述密码卡分别对每个所述密文解密,对所述非密钥数据密文解密得到非密钥数据,对所述会话密钥密文解密得到会话密钥;
导出单元704,用于从所述第二设备的密码卡中导出所述非密钥数据。
其中,所述第二获取单元701所获取的待解密的密文为至少一个第一目标非密钥数据密文和至少一个会话密钥密文;所述密码卡中预置有与所述第二设备对应的认证密钥;
所述第五控制单元703,具体用于:
控制所述密码卡采用所述第二设备对应的认证密钥,对所述至少一个会话密钥密文解密,使得所述第二设备的密码卡得到至少一个会话密钥;
控制所述密码卡采用所述至少一个会话密钥,对所述第一目标非密钥数据密文解密,使得所述密码卡得到第一目标非密钥数据。
其中,所述第二获取单元701所获取的待解密的密文为一个第二目标非密钥数据密文;所述密码卡中存在目标会话密钥;所述目标会话密钥用于与发送所述第二目标非密钥数据密文的设备通信;
所述第五控制单元703,具体用于:
控制所述密码卡采用所述目标会话密钥,对所述第二目标非密钥数据密文解密,使得所述密码卡得到所述第二目标非密钥数据。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分互相参见即可。在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。在文中的“包括”、“包含”等词语解释为包含的含义而不是排他或穷举的含义;也就是说,是“包含但不限于”的含义。在不脱离本发明构思的前提下,还可以做出变形、同等替换、改进等,这些都属于本发明的保护范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种加密方法,其特征在于,应用于第一设备,所述第一设备中预置有密码卡,当所述第一设备为KDC时,所述密码卡中预置有与终端共享的第一认证密钥、与服务端共享的第二认证密钥、以及独有的第三认证密钥,所述方法包括:
获取需发送给第一目标设备的非密钥数据;
向所述密码卡输入所述需发送给第一目标设备的非密钥数据;
控制所述KDC的密码卡生成中间会话密钥;所述中间会话密钥用于对需发送给所述第一目标设备的非密钥数据加密;
控制所述密码卡进行第一加密操作,所述第一加密操作为仅对所述非密钥数据加密,所述控制所述密码卡进行第一加密操作包括:控制所述KDC的密码卡采用所述中间会话密钥,对所述需发送给所述第一目标设备的非密钥数据加密;
在需发送给所述第一目标设备会话密钥的情况下,控制所述密码卡生成所述需发送给所述第一目标设备的会话密钥,控制所述密码卡进行第二加密操作,所述第二加密操作为仅对所述会话密钥加密,所述控制所述密码卡进行第二加密操作包括:控制所述密码卡采用所述第三认证密钥,分别对所述中间会话密钥以及所述需发送给所述第一目标设备的会话密钥加密。
2.根据权利要求1所述的方法,其特征在于,所述KDC的密码卡中预置有与终端共享的第一认证密钥、与服务端共享的第二认证密钥,以及独有的第三认证密钥;
所述控制所述密码卡进行第一加密操作,还包括:
控制所述密码卡采用所述需发送给所述第一目标设备的会话密钥,对所述需发送给所述第一目标设备的非密钥数据加密;
所述控制所述密码卡进行第二加密操作,还包括:
控制所述密码卡采用所述第一认证密钥,对所述需发送给所述第一目标设备的会话密钥加密。
3.根据权利要求1所述的方法,其特征在于,当所述第一设备为终端或服务端时,所述密码卡中存在用于与所述第一目标设备通信的会话密钥;
所述控制所述密码卡进行第一加密操作,还包括:
控制所述密码卡采用所述用于与所述第一目标设备通信的会话密钥,对所述需发送给所述第一目标设备的非密钥数据加密。
4.一种解密方法,其特征在于,应用于第二设备,所述第二设备中预置有密码卡,所述方法包括:
从数据包中获取待解密的密文;所述密文中包括至少一个非密钥数据密文;所述非密钥数据密文由加密端通过第一加密操作生成;在所述密文中还包括会话密钥密文的情况下,所述会话密钥密文由所述加密端通过第二加密操作生成;
将所述密文输入所述密码卡;
控制所述密码卡分别对每个所述密文解密,对所述非密钥数据密文解密得到非密钥数据,对所述会话密钥密文解密得到会话密钥;
从所述第二设备的密码卡中导出所述非密钥数据;
所述数据包中还包括根据权利要求1所述的加密方法得到的密文数据。
5.根据权利要求4所述的方法,其特征在于,所述密文包括至少一个第一目标非密钥数据密文和至少一个会话密钥密文;所述密码卡中预置有与所述第二设备对应的认证密钥;
所述控制所述密码卡分别对每个所述密文解密,包括:
控制所述密码卡采用所述第二设备对应的认证密钥,对所述至少一个会话密钥密文解密,使得所述第二设备的密码卡得到至少一个会话密钥;
控制所述密码卡采用所述至少一个会话密钥,对所述第一目标非密钥数据密文解密,使得所述密码卡得到第一目标非密钥数据。
6.根据权利要求4所述的方法,其特征在于,所述密文为一个第二目标非密钥数据密文;所述密码卡中存在目标会话密钥;所述目标会话密钥用于与发送所述第二目标非密钥数据密文的设备通信;
所述控制所述密码卡分别对每个所述密文解密,包括:
控制所述密码卡采用所述目标会话密钥,对所述第二目标非密钥数据密文解密,使得所述密码卡得到所述第二目标非密钥数据。
7.一种加密装置,其特征在于,应用于第一设备,所述第一设备中预置有密码卡,当所述第一设备为KDC时,所述密码卡中预置有与终端共享的第一认证密钥、与服务端共享的第二认证密钥、以及独有的第三认证密钥,所述加密装置包括:
第一获取单元,用于获取需发送给第一目标设备的非密钥数据;
第一输入单元,用于向所述密码卡输入所述需发送给第一目标设备的非密钥数据;
第一控制单元,用于控制所述密码卡进行第一加密操作,所述第一加密操作为仅对所述非密钥数据加密;
第二控制单元,用于在需发送给所述第一目标设备会话密钥的情况下,控制所述密码卡进行第二加密操作,所述第二加密操作为仅对所述会话密钥加密;
所述装置还包括:
第三控制单元,用于在所述第二控制单元控制所述密码卡进行第二加密操作之前,控制所述密码卡生成所述需发送给所述第一目标设备的会话密钥;
第四控制单元,用于在所述第一控制单元控制所述密码卡进行第一加密操作之前,控制所述KDC的密码卡生成中间会话密钥;所述中间会话密钥用于对需发送给所述第一目标设备的非密钥数据加密;
所述第一控制单元,具体用于:
控制所述KDC的密码卡采用所述中间会话密钥,对所述需发送给所述第一目标设备的非密钥数据加密;
所述第二控制单元,具体用于:
控制所述密码卡采用所述第三认证密钥,分别对所述中间会话密钥以及所述需发送给所述第一目标设备的会话密钥加密。
8.根据权利要求7所述的装置,其特征在于,所述KDC的密码卡中预置有与终端共享的第一认证密钥、与服务端共享的第二认证密钥,以及独有的第三认证密钥;
所述第一控制单元,还具体用于:
控制所述密码卡采用所述需发送给所述第一目标设备的会话密钥,对所述需发送给所述第一目标设备的非密钥数据加密;
所述第二控制单元,还具体用于:
控制所述密码卡采用所述第一认证密钥,对所述需发送给所述第一目标设备的会话密钥加密。
9.根据权利要求7所述的装置,其特征在于,当所述第一设备为终端或服务端时,所述密码卡中存在用于与所述第一目标设备通信的会话密钥;
所述第一控制单元,还具体用于:
控制所述密码卡采用所述用于与所述第一目标设备通信的会话密钥,对所述需发送给所述第一目标设备的非密钥数据加密。
10.一种解密装置,其特征在于,应用于第二设备,所述第二设备中预置有密码卡,所述装置包括:
第二获取单元,用于从数据包中获取待解密的密文;所述密文中包括至少一个非密钥数据密文;所述非密钥数据密文由加密端通过第一加密操作生成;在所述密文中还包括会话密钥密文的情况下,所述会话密钥密文由所述加密端通过第二加密操作生成;
第二输入单元,用于将所述密文输入所述密码卡;
第五控制单元,用于控制所述密码卡分别对每个所述密文解密,对所述非密钥数据密文解密得到非密钥数据,对所述会话密钥密文解密得到会话密钥;
导出单元,用于从所述第二设备的密码卡中导出所述非密钥数据;
所述数据包中还包括根据权利要求1所述的加密方法得到的密文数据。
11.根据权利要求10所述的装置,其特征在于,所述第二获取单元所获取的待解密的密文为至少一个第一目标非密钥数据密文和至少一个会话密钥密文;所述密码卡中预置有与所述第二设备对应的认证密钥;
所述第五控制单元,具体用于:
控制所述密码卡采用所述第二设备对应的认证密钥,对所述至少一个会话密钥密文解密,使得所述第二设备的密码卡得到至少一个会话密钥;
控制所述密码卡采用所述至少一个会话密钥,对所述第一目标非密钥数据密文解密,使得所述密码卡得到第一目标非密钥数据。
12.根据权利要求10所述的装置,其特征在于,所述第二获取单元所获取的待解密的密文为一个第二目标非密钥数据密文;所述密码卡中存在目标会话密钥;所述目标会话密钥用于与发送所述第二目标非密钥数据密文的设备通信;
所述第五控制单元,具体用于:
控制所述密码卡采用所述目标会话密钥,对所述第二目标非密钥数据密文解密,使得所述密码卡得到所述第二目标非密钥数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811253673.2A CN111107038B (zh) | 2018-10-25 | 2018-10-25 | 加密方法、解密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811253673.2A CN111107038B (zh) | 2018-10-25 | 2018-10-25 | 加密方法、解密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111107038A CN111107038A (zh) | 2020-05-05 |
CN111107038B true CN111107038B (zh) | 2022-07-29 |
Family
ID=70418385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811253673.2A Active CN111107038B (zh) | 2018-10-25 | 2018-10-25 | 加密方法、解密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111107038B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101964805A (zh) * | 2010-10-28 | 2011-02-02 | 北京握奇数据***有限公司 | 一种数据安全发送与接收的方法、设备及*** |
CN103458400A (zh) * | 2013-09-05 | 2013-12-18 | 中国科学院数据与通信保护研究教育中心 | 一种语音加密通信***中的密钥管理方法 |
CN104917604A (zh) * | 2014-03-12 | 2015-09-16 | 北京信威通信技术股份有限公司 | 一种密钥分配方法 |
CN106506470A (zh) * | 2016-10-31 | 2017-03-15 | 大唐高鸿信安(浙江)信息科技有限公司 | 网络数据安全传输方法 |
CN108650210A (zh) * | 2018-03-14 | 2018-10-12 | 深圳市中易通安全芯科技有限公司 | 一种认证***和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6478749B2 (ja) * | 2015-03-24 | 2019-03-06 | 株式会社東芝 | 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法 |
-
2018
- 2018-10-25 CN CN201811253673.2A patent/CN111107038B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101964805A (zh) * | 2010-10-28 | 2011-02-02 | 北京握奇数据***有限公司 | 一种数据安全发送与接收的方法、设备及*** |
CN103458400A (zh) * | 2013-09-05 | 2013-12-18 | 中国科学院数据与通信保护研究教育中心 | 一种语音加密通信***中的密钥管理方法 |
CN104917604A (zh) * | 2014-03-12 | 2015-09-16 | 北京信威通信技术股份有限公司 | 一种密钥分配方法 |
CN106506470A (zh) * | 2016-10-31 | 2017-03-15 | 大唐高鸿信安(浙江)信息科技有限公司 | 网络数据安全传输方法 |
CN108650210A (zh) * | 2018-03-14 | 2018-10-12 | 深圳市中易通安全芯科技有限公司 | 一种认证***和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111107038A (zh) | 2020-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108810029B (zh) | 一种微服务架构服务间鉴权***及优化方法 | |
CN110380852B (zh) | 双向认证方法及通信*** | |
CN107800539B (zh) | 认证方法、认证装置和认证*** | |
CN108599925B (zh) | 一种基于量子通信网络的改进型aka身份认证***和方法 | |
US8130961B2 (en) | Method and system for client-server mutual authentication using event-based OTP | |
KR101265873B1 (ko) | 분산된 단일 서명 서비스 방법 | |
CN111464301B (zh) | 一种密钥管理方法及*** | |
CN111512608B (zh) | 基于可信执行环境的认证协议 | |
CN108282329B (zh) | 一种双向身份认证方法及装置 | |
CN109728909A (zh) | 基于USBKey的身份认证方法和*** | |
CN107809311B (zh) | 一种基于标识的非对称密钥签发的方法及*** | |
CA2518032A1 (en) | Methods and software program product for mutual authentication in a communications network | |
CN108650028B (zh) | 基于量子通信网络与真随机数的多次身份认证***和方法 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
US8397281B2 (en) | Service assisted secret provisioning | |
CN108809633B (zh) | 一种身份认证的方法、装置及*** | |
CN108964897B (zh) | 基于群组通信的身份认证***和方法 | |
KR102575725B1 (ko) | 전기차 충전 제어 장치, 시스템 및 방법 | |
CN107682152B (zh) | 一种基于对称密码的群组密钥协商方法 | |
CN112766962A (zh) | 证书的接收、发送方法及交易***、存储介质、电子装置 | |
CN108259486B (zh) | 基于证书的端到端密钥交换方法 | |
CN105612728A (zh) | 隐含共享密钥的安全数据通道鉴权 | |
CN113868684A (zh) | 一种签名方法、装置、服务端、介质以及签名*** | |
CN114362946B (zh) | 密钥协商方法及*** | |
CN114765543B (zh) | 一种量子密码网络扩展设备的加密通信方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |