发明内容
针对现有技术存在的问题,本发明实施例提供一种安全认证方法 及系统。
第一方面,本发明提供一种安全认证方法,包括:
根据目标终端发送的报文获取所述目标终端的唯一身份标识;
利用所述唯一身份标识和公钥矩阵生成目标终端公钥,并利用所 述目标终端公钥对一随机数进行加密后生成加密随机数;
将所述加密随机数发送给所述目标终端;
接收由所述目标终端返回的解密随机数,以利用所述随机数对所 述解密随机数进行认证;所述解密随机数是由所述终端利用目标终端 私钥对所述加密随机数进行解密后生成的。
根据本发明提供的一种安全认证方法,所述根据目标终端发送的 报文获取所述目标终端的唯一身份标识,包括:
接收由所述终端发送的报文,所述报文包含所述目标终端的网卡 物理地址信息;
根据所述网卡物理地址信息,以调取所目标终端的唯一身份标识。
根据本发明提供的一种安全认证方法,所述目标终端的网卡物理 地址信息是基于唯一身份标识生成工具读取所述目标设备的硬件信 息后获取的。
第二方面,本发明提供一种安全认证方法,包括:
发送报文至认证设备;
接收由所述认证设备发送的加密随机数;所述加密随机数是由所 述认证设备根据目标终端公钥对一随机数进行加密后生成;所述目标 终端公钥是由唯一身份标识和公钥矩阵生成的;所述唯一身份标识是 根据所述报文获取的;
利用目标终端私钥对所述加密随机数进行解密,获取解密随机数;
将所述解密随机数发送给所述认证设备,以供所述认证设备利用 所述随机数对所述解密随机数进行认证。
根据本发明提供的一种安全认证方法,在发送报文至认证设备之 前,还包括:
生成所述目标终端的唯一身份标识,以供所述认证设备根据所述 报文获取所述唯一身份标识。
根据本发明提供的一种安全认证方法,所述生成所述目标终端的 唯一身份标识,包括:
获取所述目标终端的所有网卡物理地址信息;
将每个所述网卡物理地址信息按首字节ASCII码顺序拼接,获取 初始标识码;
在所述初始标识码的总字节长度大于第一预设字节长度的情况 下,获取所述第一预设字节长度的部分初始标识码作为所述唯一身份 标识的第一部分;
在所述初始标识码的总字节长度等于第一预设字节长度的情况 下,将所述初始标识码作为所述唯一身份标识的第一部分;
在所述初始标识码的总字节长度小于第一预设字节长度的情况 下,将所述初始标识码作为所述唯一身份标识的第一子部分,并在所 述第一子部分后增加第二子部分构成所述唯一身份标识的第一部分; 所述第一子部分和第二子部分的总字节长度等于第一预设字节长度; 所述第二子部分是基于随机生成的全局唯一标识符截取的;
在所述第一部分的前面设置第二部分,所述第二部分是由第二预 设字节长度的用户编号和第三预设字节长度的网卡物理地址数组成;
所述第一部分和所述第二部分构成所述唯一身份标识。
根据本发明提供的一种安全认证方法,所述目标终端公钥与所述 目标终端私钥相匹配,所述目标终端私钥是基于IPK标识技术,根据 所述目标终端的唯一身份标识与私钥矩阵生成的。
第三方面,本发明还提供一种安全认证系统,包括:
第一处理模块,用于根据目标终端发送的报文获取所述目标终端 的唯一身份标识;
第二处理模块,用于利用所述唯一身份标识和公钥矩阵生成目标 终端公钥,并利用所述目标终端公钥对一随机数进行加密后生成加密 随机数;
第三处理模块,用于将所述加密随机数发送给所述目标终端;
第四处理模块,用于接收由所述目标终端返回的解密随机数,以 利用所述随机数对所述解密随机数进行认证;所述解密随机数是由所 述终端利用目标终端私钥对所述加密随机数进行解密后生成的。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储 器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时 实现如上述任一种所述安全认证方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算 机程序,该计算机程序被处理器执行时实现如上述任一种所述安全认 证方法的步骤。
本发明提供的安全认证方法及系统,利用入网的终端的唯一物理 特征生成终端的唯一身份标识,通过密钥矩阵与唯一身份标识生成设 备对应的公钥和私钥,以实现终端的唯一认证,确保了安全认证时终 端的身份唯一性,提高了安全认证的可靠性。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发 明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然, 所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提 下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图5描述本发明实施例所提供的安全认证方法和 系统。
图1是本发明提供的安全认证方法的流程示意图之一,如图1所 示,提供了一种以认证设备(如安全交换机)作为执行主体的安全认 证方法,包括但不限于以下步骤:
步骤S11:根据目标终端发送的报文获取所述目标终端的唯一身 份标识;
步骤S12:利用所述唯一身份标识和公钥矩阵生成目标终端公钥, 并利用所述目标终端公钥对一随机数进行加密后生成加密随机数;
步骤S13:将所述加密随机数发送给所述目标终端;
步骤S14:接收由所述目标终端返回的解密随机数,以利用所述 随机数对所述解密随机数进行认证;所述解密随机数是由所述终端利 用目标终端私钥对所述加密随机数进行解密后生成的。
图2是本发明提供的安全认证方法的信令交互图,如图2所示, 整个安全认证的过程可以描述如下:
报文(message)是网络中交换与传输的数据单元,即站点一次 性要发送的数据块。报文包含了目标终端在依次信息交互中,将要发 送的完整的数据信息。在本发明中由目标终端向安全交换机发送的报 文可以是明文方式发送的报文,也可以是常用的密钥报文或者数字签 名报文等,以使得安全交换机可以根据所述报文,确定具体所有终端 中的目标终端。
在所述安全交换机中被预先导入了公钥矩阵(又称公钥种子), 并且预先导入了所有终端(包括目标终端)的唯一身份标识 (Connection Identifier,CID)。
其中,每个终端的CID的获取方法包括但不限于以下步骤:
先在终端上安装CID生成工具软件,以读取终端的硬件信息, 包括终端PC的网卡的物理地址(Media Access Control,MAC)信息。
其中,MAC地址一般由48位二进制数表示,其中前面24位表 示网络厂商标识符,而后24位用于表示系列号。由于每个不同的网 络厂商会有不同的厂商标识符,而每个厂商所生产出来的网卡的系列 号也是不断变化的,所以每块网卡的MAC地址是世界上独一无二的。
本发明基于每个终端的MAC信息的独一无二性,在获取每个终 端的MAC信息后,可以将所述MAC信息作为所述终端的CID,也 可以将MAC信息作为终端的CID的一部分,因此可以获取每个终端 的第一无二的CID信息。
将每个所述CID信息生成key.ini格式文件,存储在本地。同时 将所述key.ini格式文件导出为CID后缀名文件,并预先导入至所述 安全交换机中。
在安全交换机接收到由目标终端发送的报文,则可以根据所述报 文的发送地址,从存储单元调取预先存储的所述目标终端的CID后 缀名文件,即可以获取到所述目标终端的CID。
进一步地,在所述安全交换机中,可以利用标识密钥技术,根据 目标终端的CID,以及预先存储的公钥矩阵,生成一个目标终端公钥。 然后利用生成的目标终端公钥生成加密随机数发送给目标终端。
进一步地,目标终端在接收到所述加密随机数后,首先利用标识 密钥技术,通过与所述公钥矩阵对应的私钥矩阵与所述目标终端的 CID,生成与所述目标终端公钥对应的目标终端私钥;然后,利用所 述目标终端私钥对接收到的加密随机数进行解密后,生成对应的解密 随机数。目标终端将生成的解密随机数再次发送回安全交换机,以请 求认证。安全交换机根据接收到的解密随机数与发送给目标终端的加 密随机数进行验证;若两者相同,则说明所述目标终端可以通过验证; 若两者不同,则说明目标终端不能通过验证。
本发明提供的安全认证方法,利用入网的终端的唯一物理特征生 成终端的唯一身份标识,通过密钥矩阵与唯一身份标识生成设备对应 的公钥和私钥,以实现终端的唯一认证,确保了安全认证时终端的身 份唯一性,提高了安全认证的可靠性。
基于上述实施例的内容,作为一种可选实施例,上述步骤S11中 所述的根据目标终端发送的报文获取所述目标终端的唯一身份标识, 具体包括:
接收由所述终端发送的报文,所述报文包含所述目标终端的网卡 物理地址信息;
根据所述网卡物理地址信息,以调取所目标终端的唯一身份标识。
在本发明中,目标终端通过向安全交换机发送首个报文,其中报 文中包含有目标终端的MAC信息。安全交换机内嵌的认证模块在接 收到该报文后,根据报文所携带的目标终端的MAC信息,可以查找 到该目标终端的CID。然后,利用内嵌的公钥矩阵结合终端设备的 CID生成目标终端公钥,进而基于目标终端公钥则可以生成一个加密 随机数发送给目标终端,以供目标终端利用与所述目标终端公钥相对 应的目标终端私钥对所述加密随机数进行解密,并根据解密后的结果, 完成认证。
本发明提供的安全认证方法,通过目标终端的MAC信息这一唯 一物理特征对目标终端进行标识,在结合设备唯一身份标识技术,可 实现目标设备安全认证时的身份唯一对应,有效的提高了认证的可靠 性。
基于上述实施例的内容,作为一种可选实施例,所述目标终端的 网卡物理地址信息(MAC信息)是基于唯一身份标识生成工具读取 所述目标设备的硬件信息后获取的。
在本发明中所提供的CID生成方法中,主要是依据目标终端的 唯一物理特征MAC信息生成设备唯一标识CID。具体生成步骤主要 包括以下内容:
1)在终端PC安装用于CID生成的工具软件;
2)工具软件读取终端设备的硬件MAC信息,生成key.ini格式 文件,存储在本地;
3)从工具软件导出该文件,导出为CID后缀名文件。
图3是本发明提供的安全认证方法的流程示意图之二,如图3所 示,提供了一种以目标终端作为执行主体的安全认证方法,包括但不 限于以下步骤:
步骤21:发送报文至认证设备;
步骤22:接收由所述认证设备发送的加密随机数;所述加密随 机数是由所述认证设备根据目标终端公钥对一随机数进行加密后生 成;所述目标终端公钥是由唯一身份标识和公钥矩阵生成的;所述唯 一身份标识是根据所述报文获取的;
步骤23:利用目标终端私钥对所述加密随机数进行解密,获取 解密随机数;
步骤24:将所述解密随机数发送给所述认证设备,以供所述认 证设备利用所述随机数对所述解密随机数进行认证。
图2是本发明提供的安全认证方法的信令交互图,如图2所示, 整个安全认证的过程可以描述如下:
在需要对目标终端进行认证时,首先通过目标终端向安全交换机 发送首个报文,该报文中可以包括目标终端的MAC信息。安全交换 机在接收到由目标终端所发送的首个报文后,获取与所述目标终端 MAC信息相对应的该目标终端的CID。
进一步地,所述安全交换机中可以利用标识密钥技术,根据获取 的目标终端的CID,利用通用的公钥矩阵,生成一个目标终端公钥。 然后利用生成的目标终端公钥生成加密随机数发送给目标终端。
目标终端在接收到加密随机数后,则可以利用目标终端中预先加 载的私钥矩阵对其进行解密,以生成解密后的随机数,并将解密后的 随机数再次返还至安全交换机,以供其认证。
安全交换机根据接收到的解密随机数与发送给目标终端的加密 随机数进行验证;若两者相同,则说明所述目标终端可以通过验证; 若两者不同,则说明目标终端不能通过验证。
需要说明的是,在本发明中,提供的标识密钥技术,包括两个方 面,即在目标终端中,利用私钥矩阵(又称私钥种子)与目标终端的 CID,生成目标终端私钥;而在认证设备中,则是利用预先存储在认 证设备(如安全交换机)的公钥矩阵(公钥种子)与目标终端的CID, 生成目标终端公钥,形成了以目标设备公钥加密随机数,以目标设备 私钥解密随机数的方式显现认证的方法,
本发明提供的安全认证方法,利用入网的终端的唯一物理特征生 成终端的唯一身份标识,通过密钥矩阵与唯一身份标识生成设备对应 的公钥和私钥,以实现终端的唯一认证,确保了安全认证时终端的身 份唯一性,提高了安全认证的可靠性。
基于上述实施例的内容,作为一种可选实施例,在发送报文至认 证设备之前,还包括:生成所述目标终端的唯一身份标识,以供所述 认证设备根据所述报文获取所述唯一身份标识。
具体地,在本发明提供的安全认证方法,目标终端在向认证设备 极性认证之前,首先获取通过读取自身的设备硬件信息如MAC信息 后,利用CID生成工具软件生成代表其身份的唯一标识,即根据其 具有唯一性的MAC信息,生成该目标设备的CID。
本发明提供的安全认证方法,在CID生成过程中,利用每个终 端上具有唯一性的终端设备信息,并基于CID生成工具软件生成每 个终端的CID,确保了安全认证时终端的身份唯一性,提高了安全认 证的可靠性。
基于上述实施例的内容,作为一种可选实施例,所述生成所述目 标终端的唯一身份标识,包括:
获取所述目标终端的所有网卡物理地址信息;
将每个所述网卡物理地址信息按首字节ASCII码顺序拼接,获取 初始标识码;
在所述初始标识码的总字节长度大于第一预设字节长度的情况 下,获取所述第一预设字节长度的部分初始标识码作为所述唯一身份 标识的第一部分;
在所述初始标识码的总字节长度等于第一预设字节长度的情况 下,将所述初始标识码作为所述唯一身份标识的第一部分;
在所述初始标识码的总字节长度小于第一预设字节长度的情况 下,将所述初始标识码作为所述唯一身份标识的第一子部分,并在所 述第一子部分后增加第二子部分构成所述唯一身份标识的第一部分; 所述第一子部分和第二子部分的总字节长度等于第一预设字节长度; 所述第二子部分是基于随机生成的全局唯一标识符截取的;
在所述第一部分的前面设置第二部分,所述第二部分是由第二预 设字节长度的用户编号和第三预设字节长度的网卡物理地址数组成;
所述第一部分和所述第二部分构成所述唯一身份标识。
CID生成工具软件能够根据读取的目标终端的MAC信息,生成 该与之对应的CID。由于每一个终端PC上可能存在对网卡的情况, 即一个终端对应有多个MAC地址。故本发明提供的安全认证方法, 在进行CID编码的时候,充分考虑到这一实际情况,提供了一种针对目标终端存在不同个数MAC地址的编码方式。
表1终端CID的结构列表
表1是本发明提供的一种终端CID的结构列表,如表1所示, 作为一种可选的实施例,本发明提供了一种CID的编码方式,包括:
定义CID的总长度39Byte,由于每个MAC地址的长度为6个字 节,即每个CID上最多可以容纳6个MAC地址。组合标识中的MAC 地址来源于目标设备的物理MAC,采集到的多个MAC地址按首字 节ASCII码顺序拼接,组成CID的第一部分,如果MAC地址数大于 6,则可以随机的选取其中的6个;如果MAC地址数是6,则组成完 整的CID,如果MAC数少于6个,剩余部分用随机数补齐。随机数 采用GUID函数产生,从后向前按需长度截取。CID以key.ini格式文 件保存在接入设备本地,Key.ini可导出为CID后缀名文件,用于制 作公私钥对,数据格式可以是:在CID前面冠以3B,其中1B用于 表示CID中的MAC地址数,2B用于存放用户编号。
如表1中的MAC地址数是2为例,其中,第一部分包括第一子 部分和第二子部分,第一子部分为3-14B所示的部分,第二子部分为 15-38B所示的部分;第二部分则是由第二预设字节长度的用户编号 (1-2B)和第三预设字节长度的网卡物理地址数(0B)组成。
本发明提供了一种目标终端的CID编码方法,有效的解决了通 过目标终端的唯一物理特征对其进行标识的问题,且区分性的考虑了 一个终端内部同时存在多个MAC地址的情况,进一步提高了标识的 唯一性,可实现目标设备安全认证时的身份唯一对应,有效的提高了 认证的可靠性。
基于上述实施例的内容,作为一种可选实施例,所述目标终端公 钥与所述目标终端私钥相匹配,所述目标终端私钥是基于IPK标识技 术,根据所述目标终端的唯一身份标识与私钥矩阵生成的。
其中,IPK(Identity Public Key)标识技术又称IPK标识公钥, 是一种轻量级密钥体系,具有两个特征:一是密钥数据短,二是认证 不依赖中心,认证效率简单、高效。
本发明提供的IPK标识密钥技术包括两个方便的内容,即在目标 终端由私钥种子文件(即私钥矩阵)和目标终端的CID,生成目标终 端私钥;在认证设备中,则是根据公钥种子文件(即公钥矩阵)和目 标终端的CID,生成目标终端公钥。由于私钥矩阵和公钥矩阵的对称 性,所以目标终端私钥和目标终端公钥的对称性是本发明实现认证的 基础。
本发明提供的轻量级密钥技术,能基于标识本身,使得密钥的生 产、管理与签发相对简单,安全应用无须与密钥系统相连接,实现了 去中心化的点对点认证。同时,轻量级密钥体系的去中心化特性与区 块链应用形成最佳匹配,大大提升区块链应用的安全效率。
图4是本发明提供的一种安全认证系统的结构示意图,如图3所 示,该安全认证系统可以是装载在认证设备上的内嵌认证系统,主要 包括:
第一处理模块1主要用于根据目标终端发送的报文获取所述目 标终端的唯一身份标识;
第二处理模块2主要用于利用所述唯一身份标识和公钥矩阵生 成目标终端公钥,并利用所述目标终端公钥对一随机数进行加密后生 成加密随机数;
第三处理模块3主要用于将所述加密随机数发送给所述目标终 端;
第四处理模块4主要用于接收由所述目标终端返回的解密随机 数,以利用所述随机数对所述解密随机数进行认证;所述解密随机数 是由所述终端利用目标终端私钥对所述加密随机数进行解密后生成 的。
具体地,第一处理模块1接收到目标终端发送的首个报文,该报 文中可以包括目标终端的MAC信息。在接收到由目标终端所发送的 首个报文后,获取与所述目标终端MAC信息相对应的该目标终端的 CID。
进一步地,第二处理模块2可以利用标识密钥技术,根据获取的 目标终端的CID,利用通用的公钥矩阵,生成一个目标终端公钥。然 后利用生成的目标终端公钥生成加密随机数并利用第三处理模块3 将其发送给目标终端。
目标终端在接收到加密随机数后,则可以利用目标终端中预先加 载的私钥矩阵对其进行解密,以生成解密后的随机数,并将解密后的 随机数再次返还至第四处理模块4,以供其认证。
第四处理模块4根据接收到的解密随机数与发送给目标终端的 加密随机数进行验证;若两者相同,则说明所述目标终端可以通过验 证;若两者不同,则说明目标终端不能通过验证。
本发明提供的安全认证系统,利用入网的终端的唯一物理特征生 成终端的唯一身份标识,通过密钥矩阵与唯一身份标识生成设备对应 的公钥和私钥,以实现终端的唯一认证,确保了安全认证时终端的身 份唯一性,提高了安全认证的可靠性。
需要说明的是,本发明实施例提供的安全认证系统,在具体执行 时,可以基于上述任一实施例所述的安全认证方法来实现,对此本实 施例不作赘述。
图5是本发明提供的电子设备的结构示意图,如图5所示,该电 子设备可以包括:处理器(processor)510、通信接口 (CommunicationsInterface)520、存储器(memory)530和通信总线 540,其中,处理器510,通信接口520,存储器530通过通信总线 640完成相互间的通信。处理器510可以调用存储器530中的逻辑指 令,以执行安全认证方法,该方法包括:根据目标终端发送的报文获 取所述目标终端的唯一身份标识;利用所述唯一身份标识和公钥矩阵 生成目标终端公钥,并利用所述目标终端公钥对一随机数进行加密后 生成加密随机数;将所述加密随机数发送给所述目标终端;接收由所 述目标终端返回的解密随机数,以利用所述随机数对所述解密随机数 进行认证;所述解密随机数是由所述终端利用目标终端私钥对所述加 密随机数进行解密后生成的。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的 形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可 读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说 对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品 的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若 干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者 网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而 前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM, Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、 磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序 产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计 算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能 够执行上述各方法所提供的安全认证方法,该方法包括:根据目标终 端发送的报文获取所述目标终端的唯一身份标识;利用所述唯一身份 标识和公钥矩阵生成目标终端公钥,并利用所述目标终端公钥对一随 机数进行加密后生成加密随机数;将所述加密随机数发送给所述目标 终端;接收由所述目标终端返回的解密随机数,以利用所述随机数对 所述解密随机数进行认证;所述解密随机数是由所述终端利用目标终 端私钥对所述加密随机数进行解密后生成的。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上 存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各 实施例提供的安全认证方法,该方法包括:根据目标终端发送的报文 获取所述目标终端的唯一身份标识;利用所述唯一身份标识和公钥矩 阵生成目标终端公钥,并利用所述目标终端公钥对一随机数进行加密 后生成加密随机数;将所述加密随机数发送给所述目标终端;接收由 所述目标终端返回的解密随机数,以利用所述随机数对所述解密随机 数进行认证;所述解密随机数是由所述终端利用目标终端私钥对所述 加密随机数进行解密后生成的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部 件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的 部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也 可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或 者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付 出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解 到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然 也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现 有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软 件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光 盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所 述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而 非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领 域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技 术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修 改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方 案的精神和范围。