本发明涉及智能锁技术领域,尤其涉及一种基于国密算法的智能锁的认证方法和系统。
背景技术:
锁具几乎是日常生活和工商业领域的必备用具,随着智能化技术的快速发展,智能锁具也得到较为快速的普及。智能锁(外文名intelligentlock)是指区别于传统机械锁,在用户识别、安全性、管理性方面更加智能化的锁具,智能锁是门禁系统中锁门的执行部件。
智能锁分为非联网智能锁与联网智能锁两大类。非联网智能锁的开锁凭证录入与身份认证均在本地完成;联网智能锁需要与服务器远程交互。目前,智能锁与服务器之间的含身份认证过程的通讯多采用高级加密标准(advancedencryptionstandard,aes)等非国密算法加密传输。aes在密码学中又称rijndael加密法,是美国联邦政府采用的一种区块加密标准,由美国国家标准与技术研究院(nist)于2001年11月26日发布于fipspub197,并在2002年5月26日成为有效的标准。
当前联网智能锁在安全认证方面存在的不足:一是采用的算法为非国密算法,不具有自主可控性,无法保证不存在后门;二是一把锁终生使用一个密钥或仅在有限空间内选择密钥,容易被破解;三是每个智能锁厂商均自建认证体系,缺乏权威机构提供可信赖的身份认证服务,用户安全不得不完全依赖于厂商的诚信。
技术实现要素:
根据现有技术中存在的上述问题,现提供一种基于国密算法的智能锁的认证方法和系统,旨在保证算法自主可控、密钥可变以及认证机构权威可信,解决了当前智能锁数据传输的安全隐患,确保了身份认证过程的安全可靠,促进主流智能锁市场从非联网智能锁向联网智能锁的转变。
上述技术方案具体包括:
一种基于国密算法的智能锁的认证方法,提供一认证云平台和多个智能锁,每个所述智能锁包括一国密芯片;
所述认证方法包括一非对称密钥生成下发过程,包括以下步骤:
步骤s1,所述认证云平台接收到一触发信号后,为所述智能锁生成一密钥对,所述密钥对包括一公钥和一私钥,并将所述公钥发送至所述智能锁;
步骤s2,所述智能锁接收所述公钥并保存至所述国密芯片;
所述认证方法还包括一对称密钥交换过程,包括以下步骤:
步骤a1,所述智能锁接收到所述认证云平台发送的索取指令;
步骤a2,所述智能锁根据所述索取指令生成一对称密钥;
步骤a3,所述智能锁中的所述国密芯片采用所述公钥对所述对称密钥进行加密处理;
步骤a4,所述智能锁将经过加密处理后的所述对称密钥上传至所述认证云平台;
步骤a5,所述认证云平台采用所述私钥对所述对称密钥进行解密并保存。
优选的,所述步骤s1中,所述触发信号为:
所述智能锁发送至所述认证云平台的初始化信号;或者
所述智能锁发送至所述认证云平台的密钥更新信号。
优选的,所述步骤s1具体包括:
步骤s11,所述认证云平台将所述触发信号传输至设置于所述认证云平台内部的一第一密钥生成器中;
步骤s12,所述第一密钥生成器为所述智能锁生成所述密钥对;
步骤s13,所述认证云平台保存所述密钥对中的所述私钥;
步骤s14,所述认证云平台将所述密钥对中的所述公钥发送至所述智能锁。
优选的,所述步骤s14具体包括:
步骤s141,所述认证云平台通过互联网将所述公钥发送至所述智能锁;
步骤s142,所述智能锁接收所述公钥并保存至所述国密芯片;
步骤s143,所述国密芯片生成一回复信号;
步骤s144,所述智能锁根据所述回复信号向所述认证云平台发送一回执。
优选的,所述对称密钥用于对所述智能锁和所述认证云平台之间传输的业务数据进行加密操作;
则当满足一预设的交换条件时执行所述对称密钥交换过程;
所述交换条件包括完成一业务操作或经过一预设时段。
优选的,所述国密芯片包括一第二密钥生成器;
则所述步骤a2具体包括:
步骤a21,所述智能锁根据所述索取指令生成一生成新密钥指令并发送至所述国密芯片;
步骤a22,所述第二密钥生成器生成所述对称密钥并输出。
优选的,还包括所述认证云平台向所述智能锁传输业务数据的过程,包括以下步骤:
步骤b1,所述认证云平台获取一目标智能锁的所述对称密钥;
步骤b2,所述认证云平台对所述业务数据进行加密处理并发送至所述目标智能锁;
步骤b3,所述目标智能锁接收所述业务数据并调用所述国密芯片对所述业务数据进行解密处理;
步骤b4,所述目标智能锁执行本地业务并生成一第一回传数据;
步骤b5,所述智能锁调用所述国密芯片对所述第一回传数据进行加密处理并将经过加密处理的所述回传数据发送至所述认证云平台;
步骤b6,所述认证云平台对所述第一回传数据进行解密处理并执行本地业务。
优选的,还包括所述智能锁向所述认证云平台传输业务数据的过程,包括以下步骤:
步骤c1,所述智能锁调用所述国密芯片对所述业务数据进行加密处理并将经过加密处理的所述业务数据发送至所述认证云平台;
步骤c2,所述认证云平台获取所述智能锁的所述对称密钥;
步骤c3,所述认证云平台对所述业务数据进行解密处理;
步骤c4,所述认证云平台执行本地业务并生成一第二回传数据;
步骤c5,所述认证云平台对所述第二回传数据进行加密处理并发送至所述智能锁;
步骤c6,所述智能锁调用所述国密芯片对所述第二回传数据进行解密处理并执行本地业务。
一种认证系统,应用于智能锁;采用上述认证方法进行工作;
所述认证系统中包括:
认证云平台,用于根据接收到所述触发信号,为所述智能锁生成所述密钥对,所述密钥对包括所述公钥和所述私钥,将所述公钥发送至所述智能锁;
智能锁,用于接收所述认证云平台发送的所述公钥并保存;
所述认证云平台包括:
第一接收模块,用于接收所述对称密钥和所述触发信号;
第一密钥生成模块,连接所述第一接收模块,用于根据所述触发信号,采用预设的非对称加密算法生成所述密钥对;所述密钥对包括所述公钥和所述私钥;
第一存储模块,分别连接所述第一接收模块和所述第一密钥生成模块,用于将所述对称密钥或所述私钥与所述智能锁对应地进行保存;
索取指令生成模块,用于生成所述索取指令;
第一加解密模块,分别连接所述存储模块和所述第一接收模块,用于采用所述私钥,对所述对称密钥进行解密处理并保存至所述第一存储模块;
第一发送模块,分别连接所述第一密钥生成模块和所述索取指令生成模块,用于将所述公钥或所述索取指令发送至所述智能锁;
所述智能锁包括:
第二接收模块,用于接收所述公钥或所述索取指令;
第二密钥生成模块,连接所述第二接收模块,用于根据所述索取指令,采用预设的对称加密算法生成所述对称密钥;
第二存储模块,分别连接所述第二接收模块和所述第二密钥生成模块,用于保存所述公钥和所述对称密钥;
触发信号生成模块,用于生成所述触发信号;所述触发信号包括所述初始化信号和所述密钥更新信号;
第二加解密模块,分别连接所述第二密钥生成模块和所述第二存储模块,用于采用所述公钥,对所述对称密钥进行加密处理并输出;
第二发送模块,分别连接所述触发信号生成模块和所述第二加解密模块,用于将所述触发信号或经过加密处理的所述对称密钥发送至所述云认证平台。
上述技术方案的有益效果是:保证算法自主可控、密钥可变以及认证机构权威可信,解决了当前智能锁数据传输的安全隐患,确保了身份认证过程的安全可靠,促进主流智能锁市场从非联网智能锁向联网智能锁的转变。
附图说明
图1是本发明的较佳的实施例中,一种基于国密算法的智能锁的认证方法的总体流程示意图;
图2是本发明的较佳的实施例中,一种基于国密算法的智能锁的认证方法的对称密钥交换过程的总体流程示意图;
图3是本发明的较佳的实施例中,于图1的基础上,对基于国密算法的智能锁的认证方法做进一步描述的流程示意图;
图4是本发明的较佳的实施例中,于图3的基础上,对基于国密算法的智能锁的认证方法做进一步描述的流程示意图;
图5是本发明的较佳的实施例中,于图1的基础上,对基于国密算法的智能锁的认证方法的对称密钥交换过程做进一步描述的流程示意图;
图6是本发明的较佳的实施例中,一种基于国密算法的智能锁的认证方法的认证云平台向智能锁传输业务数据的过程的总体流程示意图;
图7是本发明的较佳的实施例中,一种基于国密算法的智能锁的认证方法的智能锁向认证云平台传输业务数据的过程的总体流程示意图;
图8是本发明的较佳的实施例中,一种认证系统的总体结构示意图;
图9是本发明的较佳的实施例中,一种认证系统中的认证云平台的总体结构示意图;
图10是本发明的较佳的实施例中,一种认证系统中的智能锁的总体结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
基于现有技术中存在的上述问题,本发明提供一种基于国密算法的智能锁的认证方法,提供一认证云平台和多个智能锁,每个智能锁包括一国密芯片;
认证方法包括一非对称密钥生成下发过程,如图1所示,包括以下步骤:
步骤s1,认证云平台接收到一触发信号后,为智能锁生成一密钥对,密钥对包括一公钥和一私钥,并将公钥发送至智能锁;
步骤s2,智能锁接收公钥并保存至国密芯片;
认证方法还包括一对称密钥交换过程,如图2所示,包括以下步骤:
步骤a1,智能锁接收到认证云平台发送的索取指令;
步骤a2,智能锁根据索取指令生成一对称密钥;
步骤a3,智能锁中的国密芯片采用公钥对对称密钥进行加密处理;
步骤a4,智能锁将经过加密处理后的对称密钥上传至认证云平台;
步骤a5,认证云平台采用私钥对对称密钥进行解密并保存。
具体地,本发明使用国密算法构建认证云与联网智能锁之间的安全传输体系。使用对称加密算法对业务数据进行加密,对称加密算法是指加密和解密均使用相同密钥的加密算法,对称加密算法的加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。在大多数的对称加密算法中,加密密钥和解密密钥是相同的,所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信的安全性至关重要。
进一步地,使用非对称加密算法加密对称密码算法的密钥。非对称加密算法需要一个密钥对,包含两个密钥:公开密钥(publickey)即公钥和私有密钥(privatekey)即私钥。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。
本发明的实施例中,提供一认证云平台和多个智能锁,每个智能锁都可以与上述认证云平台通过互联网通信,并且联网的智能锁内嵌称为国密芯片的支持国密算法的安全芯片;上述认证云平台负能够完成非对称加密算法的密钥对生成、密钥管理和开锁凭证下发等工作任务。需要说明的是,认证云平台为开放体系,所有嵌入国密芯片的联网智能锁均可接入认证云平台,并由认证云平台为其提供服务。
上述实施例中,认证云平台在接收到一智能锁发送的触发信号后,认证云平台中非对称加密算法的密钥生成器为该智能锁生成一与之对应的密钥对,其中,该密钥对包括一公钥和一私钥;认证云平台将公钥发送至上述智能锁并将私钥存储在认证云平台上;智能锁接收认证云平台下发的公钥并保存至国密芯片中。
本发明的具体实施例中,智能锁在接收到认证云平台发送的关于索取新的对称密钥的索取指令后,生成一对称密钥并使用存储在该智能锁中的非对称加密算法公钥对对称密钥进行加密处理;智能锁将对称密钥的密文上传至认证云平台;认证云平台使用非对称加密算法的私钥对对称密钥进行解密,获取对称加密算法的对称密钥并保存。
需要说明的是,上述触发信号为智能锁发送至认证云平台的初始化信号或智能锁发送至认证云平台的密钥更新信号。上述对称密钥将被用来加密认证云平台和该智能锁之间后续交互的的业务数据,直至本次业务交互完成或时间窗口过期对称密钥被更新。
本发明的较佳的实施例中,如图3所示,步骤s1具体包括:
步骤s11,认证云平台将触发信号传输至设置于认证云平台内部的一第一密钥生成器中;
步骤s12,第一密钥生成器为智能锁生成密钥对;
步骤s13,认证云平台保存密钥对中的私钥;
步骤s14,认证云平台将密钥对中的公钥发送至智能锁。
具体地,认证云平台包括一内置有非对称加密算法的第一密钥生成器,在认证云平台接收到智能锁上传的触发信号后,第一密钥生成器根据触发信号为该智能锁生成非对称密钥对,私钥存储在认证云平台上,公钥下发至智能锁中。
本发明的较佳的实施例中,如图4所示,步骤s14具体包括:
步骤s141,认证云平台通过互联网将公钥发送至智能锁;
步骤s142,智能锁接收公钥并保存至国密芯片;
步骤s143,国密芯片生成一回复信号;
步骤s144,智能锁根据回复信号向认证云平台发送一回执。
具体地,上述实施例中,首先认证云平台通过互联网向智能锁传输公钥;智能锁在接收公钥后将其写入国密芯片中;国密芯片保存公钥;国密芯片生成一回复信号并输出;智能锁根据回复信号生成一回执并发送至认证云平台。
本发明的较佳的实施例中,对称密钥用于对智能锁和认证云平台之间传输的业务数据进行加密操作;
则当满足一预设的交换条件时执行对称密钥交换过程;
交换条件包括完成一业务操作或经过一预设时段。
具体地,提供一“一次一密”或“定期换密”的机制。上述实施例中,预设的交换条件可以设定完成一业务操或者经过一预设时段,其中,业务操作可以设置为开锁或其他操作,预设时段可以设定为24小时或其他合适的时段。当满足上述交换条件中的任意一个时,更换该智能锁对应的对称密钥,即智能锁生成新的对称密钥并上传至认证云平台。
本发明的较佳的实施例中,国密芯片包括一第二密钥生成器;
则如图5所示,步骤a2具体包括:
步骤a21,智能锁根据索取指令生成一生成新密钥指令并发送至国密芯片;
步骤a22,第二密钥生成器生成对称密钥并输出。
本发明的较佳的实施例中,还包括认证云平台向智能锁传输业务数据的过程,如图6所示,包括以下步骤:
步骤b1,认证云平台获取一目标智能锁的对称密钥;
步骤b2,认证云平台对业务数据进行加密处理并发送至目标智能锁;
步骤b3,目标智能锁接收业务数据并调用国密芯片对业务数据进行解密处理;
步骤b4,目标智能锁执行本地业务并生成一第一回传数据;
步骤b5,智能锁调用国密芯片对第一回传数据进行加密处理并将经过加密处理的回传数据发送至认证云平台;
步骤b6,认证云平台对第一回传数据进行解密处理并执行本地业务。
具体地,首先,认证云平台取出目标智能锁对应的对称密钥,并对业务加密进行加密并发送至目标智能锁;目标智能锁在接收到业务数据后,调用存储在国密芯片中的对称密钥对业务数据进行解密处理;随后目标智能锁执行本地业务并生成第一回传数据;之后,目标智能锁将再次调用国密芯片使用对称加密算法对第一回传数据进行加密并将密文上传至认证云;最后,认证云平台采用对称密钥解密业务数据后执行本地业务。
本发明的较佳的实施例中,还包括智能锁向认证云平台传输业务数据的过程,如图7所示,包括以下步骤:
步骤c1,智能锁调用国密芯片对业务数据进行加密处理并将经过加密处理的业务数据发送至认证云平台;
步骤c2,认证云平台获取智能锁的对称密钥;
步骤c3,认证云平台对业务数据进行解密处理;
步骤c4,认证云平台执行本地业务并生成一第二回传数据;
步骤c5,认证云平台对第二回传数据进行加密处理并发送至智能锁;
步骤c6,智能锁调用国密芯片对第二回传数据进行解密处理并执行本地业务。
上述实施例中,智能锁到认证云平台的数据传输与认证云平台到目标智能锁的数据传输类似,均使用对称加密算法对双向数据进行加密。
一种认证系统,应用于智能锁2;采用上述认证方法进行工作;
如图8所示,认证系统中包括:
认证云平台1,用于根据接收到触发信号,为智能锁2生成密钥对,密钥对包括公钥和私钥,将公钥发送至智能锁2;
智能锁2,用于接收认证云平台1发送的公钥并保存;
如图9所示,认证云平台1包括:
第一接收模块11,用于接收对称密钥和触发信号;
第一密钥生成模块12,连接第一接收模块11,用于根据触发信号,采用预设的非对称加密算法生成密钥对;密钥对包括公钥和私钥;
第一存储模块13,分别连接第一接收模块11和第一密钥生成模块12,用于将对称密钥或私钥与智能锁2对应地进行保存;
索取指令生成模块14,用于生成索取指令;
第一加解密模块15,分别连接存储模块和第一接收模块11,用于采用私钥,对对称密钥进行解密处理并保存至第一存储模块13;
第一发送模块16,分别连接第一密钥生成模块12和索取指令生成模块14,用于将公钥或索取指令发送至智能锁2;
如图10所示,智能锁2包括:
第二接收模块21,用于接收公钥或索取指令;
第二密钥生成模块22,连接第二接收模块21,用于根据索取指令,采用预设的对称加密算法生成对称密钥;
第二存储模块23,分别连接第二接收模块21和第二密钥生成模块22,用于保存公钥和对称密钥;
触发信号生成模块24,用于生成触发信号;触发信号包括初始化信号和密钥更新信号;
第二加解密模块25,分别连接第二密钥生成模块22和第二存储模块23,用于采用公钥,对对称密钥进行加密处理并输出;
第二发送模块26,分别连接触发信号生成模块24和第二加解密模块25,用于将触发信号或经过加密处理的对称密钥发送至云认证平台。
具体地,本发明的具体实施例中,一种应用于智能锁2的认证系统包括:认证云平台1和与其通过互联网连接的多个智能锁2,其中,认证云平台1能够根据接收到的智能锁2生成的触发信号,为智能锁2生成密钥对,密钥对包括公钥和私钥并将公钥发送至智能锁2;智能锁2接收认证云平台1发送的公钥并保存;
上述实施例中,认证云平台1生成密钥对并将公钥下发给智能锁2保存。智能锁2中的触发信号生成模块24生成触发信号并由第二发送模块26将触发信号发送至认证云平台1;触发信号包括初始化信号和密钥更新信号;第一接收模块11接收到上述触发信号后,由第一密钥生成模块12根据触发信号,采用预设的非对称加密算法生成密钥对,其中,密钥对为非对称密钥对并包括一公钥和与之相对的私钥;设置于认证云平台1的第一存储模块13将私钥与智能锁2进行关联保存;第一发送模块16将公钥发送至对应的智能锁2,第二接收模块21接收公钥并保存至第二存储模块23中。
上述实施例中,认证云平台1能够控制智能锁2生成对称密钥并上传保存。认证云平台1中的索取指令生成模块14生成一索取指令并由第一发送模块16发送至第二接收模块21;第二密钥生成模块22根据索取指令,采用预设的对称加密算法生成对称密钥并保存至第二存储模块23中;第二加解密模块25采用公钥,对对称密钥进行加密处理并输出;第二发送模块26将经过加密处理的对称密钥发送至云认证平台;第一接收模块11将接收到的对称密钥传输至第一加解密模块15,再再由第一加解密模块15采用与智能锁2中对应的私钥,对对称密钥进行解密处理并保存至第一存储模块13。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。