一种基于标识的身份认证系统和方法
技术领域
本发明涉及信息安全领域,尤其涉及智能设备接收控制指令过程中的安全认证系统及方法。
背景技术
近年来随着计算机通信行业的飞速发展,计算机、自动控制、通信技术的交融应用,给人们的生活方式带来了深刻改变,传统的家居方式已经远远不能满足人们的需求,智能化的居住环境应运而生,即将各种家电设备结合成有机整体,并通过现有的网络通信手段实现对其随时随地的控制与管理。
随着智能家居应用领域的不断拓展,智能家居远程安全通信技术的研究受到了越来越多的关注,目前,智能家居远程控制安全通信的技术主要有:网络身份认证技术、数据加密技术、安全协议、防火墙技术以及网络防毒技术等。
其中,在数据加密技术应用的最为普遍的就是PKI(Public KeyInfrastructure,公钥加密)技术,其主要采用证书管理公钥,通过第三方的可信机构CA(Certificate Authority,证书授权中心),把用户的公钥和用户的其他标识信息捆绑在一起。CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。
PKI技术的使用,用户可以对信息进行加密,签名以保证信息的安全性、完整性和合法性,可以说PKI体系已经基本上解决了信息安全问题。然而PKI技术仍然存在几个问题影响其大规模推广:
1)发送方在发送信息前总需要先获取接收方的证书。
2)在每收到一个证书后,实体都需要验证证书的有效性。
3)证书颁发和管理系统(PKI)非常复杂,难以部署。
发明内容
针对上述基于PKI技术进行身份认证存在的,如认证过程非常的繁琐,用户体验极差等问题。本发明中提供了一种基于标识的身份认证系统级方法,其在终端设备中设置IBC(Identity-Based Cryptograph,基于标识的密码技术)模块,实现终端设备接收控制指令的认证,不仅简化了整个认证的过程,同时保障了控制指令的真实可靠。
本发明提供了一种基于标识的身份认证系统和方法,技术方案如下:
一种基于标识的身份认证系统,包括:
客户端,私钥生成服务器,以及至少一个终端设备;
所述客户端,用于形成唯一标识用户的公钥,同时实现控制所述终端设备的控制指令的数据签名生成签名信息;
所述私钥生成服务器,用于根据所述公钥生成私钥和公共参数;
所述终端设备,内置一基于标识的认证模块,同时根据所述公共参数和公钥实现所述控制指令的认证。
优选地,所述身份认证系统包括客户端,私钥生成服务器,以及多个终端设备。
在整个系统中,可以包括多个终端设备,即一个客户端同时控制多个终端设备,多个终端设备中都包括基于标识的认证模块,且多个终端设备同时通过其内部包括的认证模块对客户端发送的控制指令进行认证,若认证成功,则分别响应控制指令进行动作。
优选地,所述公钥包括邮箱地址。
这里的公钥用于唯一标识客户端,除了包括邮箱地址,还可以包括,如网站地址、用户名称等。
一种基于标识的身份认证方法,应用于上述基于标识的身份认证系统,包括以下步骤:
所述私钥生成服务器获取所述客户端形成的用于唯一标识用户的公钥,同时生成公共参数和私钥;
所述终端设备获取所述公钥和公共参数;
在本发明中,用户将公钥和公共参数输入上述终端设备。
所述客户端获取所述私钥,实现对所述终端设备的控制指令的数据签名生成签名信息;
在本发明中,客户端获取了私钥之后,首先使用,如哈希算法提取控制指令中的摘要信息,其中,哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。随后使用私钥对摘要信息进行加密成为签名信息。
所述终端设备获取所述签名信息和控制指令,实现所述控制指令的认证。
在本发明中,终端设备接收到签名信息之后,结合之前获取的公钥和公共参数对签名信息进行解密生成解密信息,同时使用与客户端中相同的算法,如哈希算法对提取到的控制指令中的摘要信息,最后通过比对解密信息和摘要信息实现控制指令的认证。
优选地,所述公共参数和所述私钥相互关联。
在本发明中,公共参数和私钥是对应的,当私钥丢失时,则需要使用公钥在私钥生成服务器上重新生成新的公共参数和私钥。使用了私钥加密的签名信息需要使用公钥和公共参数一起进行解密。
优选地,所述终端设备包括智能终端设备。
优选地,所述智能终端设备接收并认证所述客户端的所述控制指令,若接收到的所述控制指令认证成功,则响应所述客户端动作。
优选地,所述身份认证方法中包括多个智能终端设备,所述多个智能终端设备分别接收并认证所述客户端的所述控制指令,所述控制指令认证成功后,所述多个智能终端分别响应所述客户端动作。
本发明提供的基于标识的身份认证系统和方法,其有益效果在于:
1.本发明中在终端设备中设置IBC模块,以实现进行终端设备接收到的控制指令的签名认证,使得终端设备接收到的控制指令更具备可靠性和安全性;有效地防止了终端设备接收到错误的指令而造成的不良后果;且通过这种方法之后,终端设备一旦出现问题,能够快速的找到问题的源头,及时采取有效措施;
2.在整个认证过程中,私钥生成服务器作为整个装置的核心,根据接收到的公钥生成公共参数和私钥,终端设备在接收到控制指令之后使用其内部的公共参数和公钥对控制指令进行认证,从而实现控制指令的整个认证过程;简化了整个认证过程,操作简单,安全性能更高;
3.终端设备接收到了签名信息之后,不再需要将公钥发送到私钥生成服务器获取公共参数,而是通过直接将公共参数和公钥设置于终端设备内部,使得本发明的身份认证系统实现了离线情况下的身份认证,大大扩展了本发明中系统的应用场合。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细说明:
图1为本发明中基于标识的身份认证系统结构示意图;
图2为本发明中基于标识的身份认证方法流程示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面结合附图和实施例对本发明进行具体的描述。下面描述中的附图仅仅是本发明的一些实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
如图1所示,本发明提供了一种基于标识的身份认证系统,包括客户端,私钥生成服务器,以及至少一个终端设备。
具体地,客户端,用于形成唯一标识用户的公钥,通常,由用户指定唯一标识自己的标识信息,即公钥,如网址、公司名称、邮箱地址等;客户端包括但不限制于手机、电脑、平板等。特别地,本发明对客户端类型和公钥的具体内容不作限定,只要使用到的客户端类型和公钥内容能够实现本发明的类型,都包括在本发明的内容中。
此外,客户端的作用还包括实现控制终端设备的控制指令的数据签名生成签名信息。在本发明的基于标识的身份认证系统中,客户端向终端设备发送控制指令,以实现对终端设备的控制,为了进一步保障控制指令的真实安全性能,控制指令在发送至终端设备之前对控制指令进行数据签名。在整个数据签名过程中,客户端首先使用,如哈希算法提取控制指令中的第一摘要信息,即将控制指令映射为较短的固定长度的二进制值如,128bit的第一摘要信息,这个摘要信息为哈希值;随后再利用私钥生成服务器生成的私钥对第一摘要进行加密签名为签名信息。具体地,本发明中对提取控制指令中第一摘要信息的方法不做限定,只要其能实现本发明的目的,都包括在本发明的内容中。
私钥生成服务器,用于根据公钥生成私钥和公共参数,具体地,当私钥丢失时,则单独利用公共参数不能实现控制指令的认证,即需要使用公钥在私钥生成服务器上重新生成新的公共参数和私钥,且使用了私钥加密的控制指令需要使用标识和公共参数一起进行解密。进一步地,本发明中私钥生成服务器中使用椭圆曲线上的pairing、SK-KEM等算法将公钥生成相应的公共参数和私钥。特别地,本发明对使用的算法不做限定,只要其能实现目的,都包括在本发明的内容中。
终端设备,内置一基于标识的认证模块,即IBC模块,其根据公共参数和公钥实现控制指令的认证。终端设备接收到签名信息之后,使用与客户端中相同的算法,如哈希算法对提取到的控制指令中的第二摘要信息。特别地,本发明中对提取控制指令中第二摘要信息的方法不做限定,只要其能实现本发明的目的,都包括在本发明的内容中。
随后,结合之前获取的公钥和公共参数对签名信息进行解密生成解密信息,通常来说,用户将私钥生成器中生成的公共参数及公钥一起设置于终端设备中。特别地,在本发明中,解密过程即为加密过程的反过程,也就是说,这里得到的解密信息即为客户端中到的第一摘要信息。随后将生成的第一摘要信息与解密信息进行比对,若比对成功,则说明控制指令在发送过程中没有被篡改,即控制指令安全可靠;若比对失败,则告诉用户接收到的控制指令存在被第三方篡改过的危险。
进一步地,本发明的系统中包括多个终端设备,即客户端同时控制多个终端设备;每个终端设备分别接收客户端的控制指令,同时对接收到的控制指令进行认证,实现本发明的目的。
如图2所示,本发明还提供了一种基于标识的身份认证方法,应用于上述基于标识的身份认证系统,包括以下步骤:
私钥生成服务器获取客户端形成唯一标识用户的公钥,同时生成公共参数和私钥;
终端设备获取公钥和公共参数;当私钥丢失时,则单独利用公共参数不能实现控制指令的认证,即需要使用公钥在私钥生成服务器上重新生成新的公共参数和私钥,且使用了私钥加密的控制指令需要使用标识和公共参数一起进行解密。
客户端获取私钥,实现对终端设备的控制指令的数据签名生成签名信息;在整个数据签名过程中,客户端首先使用,如哈希算法提取控制指令中的第一摘要信息,即将控制指令映射为较短的固定长度的二进制值如,128bit的第一摘要信息,这个摘要信息为哈希值。具体地,本发明中对提取控制指令中第一摘要信息的方法不做限定,只要其能实现本发明的目的,都包括在本发明的内容中
终端设备获取签名信息和控制指令,实现控制指令的认证。终端设备,内置一基于标识的认证模块,同时根据公共参数和公钥实现控制指令的认证。终端设备接收到签名信息之后,使用与客户端中相同的算法,如哈希算法对提取到的控制指令中的第二摘要信息,最后通过比对解密信息和摘要信息实现控制指令的认证。随后,结合之前获取的公钥和公共参数对签名信息进行解密生成解密信息,通常来说,用户将私钥生成器中生成的公共参数及公钥一起设置于终端设备中。特别地,在本发明中,解密过程即为加密过程的反过程,也就是说,这里得到的解密信息即为客户端中到的第一摘要信息。随后将生成的第一摘要信息与解密信息进行比对,若比对成功,则说明控制指令在发送过程中没有被篡改,即控制指令安全可靠;若比对失败,则告诉用户接收到的控制指令存在被第三方篡改过的危险。
进一步地,终端设备包括智能终端设备。智能终端设备接收并认证客户端的控制指令,若接收到的控制指令认证成功,则响应客户端动作。
更进一步地,本发明的基于标识的身份认证系统包括多个智能终端设备,多个智能终端设备分别接收并认证客户端的控制指令,控制指令认证成功后,多个智能终端分别响应客户端动作。
应用于上述一个完整的实施例,以标识信息为邮箱地址为例,对本发明的具体方式做如下描述:
需要控制终端设备的客户端将邮箱地址作为唯一标识客户端的公钥作为发布方的身份证明,随后将邮箱地址发送至私钥生成服务器。
私钥生成服务器接收到客户端发送的邮箱地址之后,即通过,如椭圆曲线上的pairing、SK-KEM等算法生成相应的私钥和公共参数,且将公共参数存储在私钥生成服务器中,随后将私钥发送回客户端。
用户将公共参数和公钥设置于终端设备中,终端设备将信息储存在内部。
客户端接收到私钥生成服务器发送过来的私钥,随即结合,如哈希算法和私钥对控制指令进行加密为签名信息,随即再将签名信息、控制指令一起发送至终端设备。
终端设备接收到私钥生成服务器发送过来的签名信息之后,随即结合公共参数和公钥对接收到的签名信息进行解密为解密信息;与此同时,使用,如哈希算法提取接收到的签名信息的摘要信息;最后比对解密信息和摘要信息,若比对成功,则完成了控制指令的实名制认证,相应地,若比对失败,则说明控制指令在发送过程中存在被篡改的可能性,提醒接收方注意。
综上,本发明中在终端设备中设置IBC模块,以实现进行终端设备接收到的控制指令的签名认证,使得终端设备接收到的控制指令更具备可靠性、安全;有效地防止了终端设备接收到错误的指令,从而造成不良的后果;且通过这种方法之后,终端设备一旦出现问题,能够快速的找到问题的源头,及时采取有效措施。
以上对发明的具体实施例进行了详细描述,但本发明并不限制于以上描述的具体实施例,其只是作为范例。对于本领域技术人员而言,任何对该系统进行的等同修改和替代也都在本发明的范畴之中。因此,在不脱离发明的精神和范围下所作出的均等变换和修改,都应涵盖在本发明的范围内。