发明内容
鉴于上述问题,本发明提供了一种设备端加密方法、装置、系统、网关和计算机存储介质,以实现通信密钥的动态变换,加强终端设备间加密通信的安全性,并减少为不同终端设备加密时分配不同密钥的工作量。
为了实现上述目的,本发明采用如下的技术方案:
一种设备端加密方法,包括:
预先存储包括终端设备的设备识别码的第一设备信息;
接收所述终端设备发送的以约定的第一密钥加密的注册数据,并使用所述第一密钥进行解密,获得所述注册数据中的第二设备信息;
判断所述第二设备信息与所述第一设备信息是否至少有一项信息一致;
当所述第二设备信息与所述第一设备信息至少有一项信息一致时,随机生成第二密钥作为最终的与所述终端设备的通信密钥,并使用所述第一密钥对包括所述第二密钥的应答数据进行加密,发送至所述终端设备。
优选地,所述的设备端加密方法,还包括:
接收所述终端设备发送的通信数据,使用所述第二密钥进行解密。
优选地,所述设备识别码为DeviceID码、IMEI码、MAC地址或S/N码。
优选地,所述第一密钥为所述设备识别码的至少一部分。
优选地,所述第一密钥对所述第二密钥进行加密的算法为RC5算法、IDEA算法、SKIPJACK算法或AES算法。
优选地,所述终端设备以所述第一密钥解密所述应答数据获取网关信息,并将所述第二密钥作为通信密钥。
本发明还提供了一种设备端加密装置,包括:
设备信息存储模块,用于预先存储包括终端设备的设备识别码的第一设备信息;
解密模块,用于接收所述终端设备发送的以约定的第一密钥加密的注册数据,并使用所述第一密钥进行解密,获得所述注册数据中的第二设备信息;
判断模块,用于判断所述第二设备信息与所述第一设备信息是否至少有一项信息一致;
密钥生成模块,用于当所述第二设备信息与所述第一设备信息至少有一项信息一致时,随机生成第二密钥作为最终的与所述终端设备的通信密钥,并使用所述第一密钥对包括所述第二密钥的应答数据进行加密,发送至所述终端设备。
本发明还提供了一种设备端加密系统,包括终端设备、网关和管理平台,所述管理平台发送包括设备识别码的第一设备信息至所述网关;
所述网关存储所述第一设备信息;
所述终端设备使用约定的第一密钥加密注册数据,并发送至所述网关;
所述网关接收所述注册数据,使用所述第一密钥进行解密获得第二设备信息,判断所述第二设备信息与所述第一设备信息是否至少有一项信息一致;
当所述第二设备信息与所述第一设备信息至少有一项信息一致时,所述网关随机生成第二密钥,并使用所述第一密钥对包括所述第二密钥的应答数据进行加密,发送至所述终端设备;
所述终端设备接收所述应答数据,使用所述第一密钥进行解密,获得所述第二密钥作为与所述网关通信的最终通信密钥。
本发明还提供了一种网关,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述网关执行所述的设备端加密方法。
本发明还提供了一种计算机存储介质,其存储有所述的网关中所使用的计算机程序。
本发明提供一种设备端加密方法,该方法包括:预先存储包括终端设备的设备识别码的第一设备信息;接收所述终端设备发送的以约定的第一密钥加密的注册数据,并使用所述第一密钥进行解密,获得所述注册数据中的第二设备信息;判断所述第二设备信息与所述第一设备信息是否至少有一项信息一致;当所述第二设备信息与所述第一设备信息至少有一项信息一致时,随机生成第二密钥作为最终的与所述终端设备的通信密钥,并使用所述第一密钥对包括所述第二密钥的应答数据进行加密,发送至所述终端设备。可见,本发明的设备端加密方法,可以实现通信密钥的动态变换,加强终端设备间加密通信的安全性,并减少为不同终端设备加密时分配不同密钥的工作量。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下述各实施例均可应用于如图1所示的终端设备中,图1示出了该终端设备的结构框图,该终端设备100包括:射频(Radio Frequency,RF)电路110、存储器120、输入单元130、显示单元140、传感器150、音频电路160、无线保真(wireless fidelity,WiFi)模块170、处理器180、以及电源190等部件。输入单元130可以包括触控面板和其他输入设备,显示单元140可以包括显示面板140。本领域技术人员可以理解,图1中示出的终端设备100结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
实施例1
图2是本发明实施例1提供的一种设备端加密方法的流程图,该方法包括如下步骤:
步骤S21:预先存储包括终端设备的设备识别码的第一设备信息。
本发明实施例中,第一设备信息可以是用户通过管理平台输入,并发送至物联网的网关中进行存储,其中,该设备信息可以包括该终端设备的各种参数,例如,可以是终端设备的型号、识别码以及各种出厂的参数等。该网关可以建立一个设备信息表,记录物联网中用户进行登记的所有终端设备的设备信息,以便进行搜索调用。
其中,上述设备识别码为DeviceID码、IMEI码(IME,International MobileEquipment Identity,国际移动设备识别码)、MAC地址(MAC,Media Access Control,物理地址)或S/N码(S/N,Serial Number,产品序列号)。上述设备识别码为终端设备的唯一识别码,在终端设备生产中便已经设定,用以识别该终端设备无法更改。该识别码可以使用软件写入终端设备的硬件中,也可以使用硬件电路来实现。
步骤S22:接收终端设备发送的以约定的第一密钥加密的注册数据,并使用第一密钥进行解密,获得注册数据中的第二设备信息。
本发明实施例中,终端设备连接网关进行物联网的注册时,可以使用对称加密的方法,使用预先约定的设备识别码的一部分对注册数据进行加密,然后传输至网关进行物联网的注册。网关则可以使用对称加密的方法,使用预先约定的该终端设备的设备识别码的一部分对注册数据进行解密,获取注册数据中的信息。其中,注册数据中可以包括有终端设备的所有设备信息,例如终端设备的型号、识别码以及各种出厂的参数等。
其中,上述的第一密钥可以为设备识别码的至少一部分。本发明实施例中,可以使用算法来提取设备识别码的一部分作为第一密钥,从而提高密钥的安全性,网关在解密时使用上述相同的算法提取预存的设备识别码的一部分生成上述一致的第一密钥。该算法可以为定制算法,从而有效提高第一密钥的安全性。
步骤S23:判断第二设备信息与第一设备信息是否至少有一项信息一致。
本发明实施例中,网关在接收终端设备发送的注册数据并解密后,需要对注册数据进行鉴权,也即对比注册数据中的设备信息是否与网关中预先存储的设备信息是否至少有一项信息一致,该设备信息,例如为设备识别码以及出厂日期等。同时,还可以使用密码的方式来鉴权,例如,可以在网关中预先存储有终端设备注册需要的密码,并与终端设备发送的密码进行对比,从而提高终端设备注册的安全性。
其中,上述判断设备信息是否一致的过程可以使用算法或应用程序来实现,例如,使用算法进行设备信息中各种参数的比对,当至少有一项参数一致时,则鉴权通过,如设备识别码一致。
步骤S24:当第二设备信息与第一设备信息至少有一项信息一致时,随机生成第二密钥作为最终的与终端设备的通信密钥,并使用第一密钥对包括第二密钥的应答数据进行加密,发送至终端设备。
本发明实施例中,当终端设备发送的设备信息与网关中预先存储的设备信息至少有一项信息一致时,也即鉴权成功,网关则可以随机生成一个密钥,该密钥则是终端设备与网关之间进行通信加密的最终密钥,为第二密钥。该第二密钥还需要经过第一密钥的加密后才可发送至终端设备中,防止在传输过程中泄漏该第二密钥。上述提及的应答数据中,还可以有注册成功信息,用以提示终端设备在物联网中注册成功。
其中,在网关中可以使用算法或应用程序生成随机的密钥,在对不同的终端设备生成不同的随机密钥后,网关还可以相应的进行存储,在与终端设备通信时可以使用正确的密钥进行加密以及解密。
其中,上述第一密钥对第二密钥进行加密的算法为RC5算法(RC5,分组密码算法)、IDEA算法(IDEA,国际数据加密算法)、SKIPJACK算法或AES算法(AES,Advanced EncryptionStandard,高级加密标准)等。
其中,终端设备以第一密钥解密应答数据获取网关信息,并将第二密钥作为通信密钥。在经过上述各步骤后,终端设备将使用第二密钥替换第一密钥,此时的第一密钥在终端设备以及网关中的应用已经完毕,可以在两端中进行删除,终端设备与网关两端最终使用第二密钥加密和解密通信数据进行通信。
步骤S25:结束。
通过本实施例的设备端加密方法,可以实现通信密钥的动态变换,加强终端设备间通信的安全性,并减少为不同终端设备分配不同密钥的工作量。并且,最终生成一个随机的密钥来进行通信加密和解密,从而降低终端设备以及网关的计算量,减少通信的延误。
实施例2
图3是本发明实施例2提供的一种设备端加密方法的流程图,该方法包括如下步骤:
步骤S31:预先存储包括终端设备的设备识别码的第一设备信息。
此步骤与上述步骤S21相同,在此不再赘述。
步骤S32:接收终端设备发送的以约定的第一密钥加密的注册数据,并使用第一密钥进行解密,获得注册数据中的第二设备信息。
此步骤与上述步骤S22相同,在此不再赘述。
步骤S33:判断第二设备信息与第一设备信息是否至少有一项信息一致。
此步骤与上述步骤S23相同,在此不再赘述。
步骤S34:当第二设备信息与第一设备信息至少有一项信息一致时,随机生成第二密钥作为最终的与终端设备的通信密钥,并使用第一密钥对包括第二密钥的应答数据进行加密,发送至终端设备。
此步骤与上述步骤S24相同,在此不再赘述。
步骤S35:接收终端设备发送的第一份通信数据,使用第二密钥进行解密。
本发明实施例中,网关在发送应答数据后,可以接收终端设备发送的第一份通信数据,该通讯数据应该由第二密钥进行加密,网关可以使用第二密钥进行解密,因此网关可以通过解密该通信数据来判断终端设备是否已经使用第二密钥进行加密,从而获取该终端设备在物联网注册成功的信息,并且在网关中可以生成终端设备的拓扑图。
步骤S36:结束。
通过本实施例的设备端加密方法,可以实现通信密钥的动态变换,加强终端设备间通信的安全性,并减少为不同终端设备分配不同密钥的工作量。并且,使用随机生成的密钥作为通信密钥,使后期终端设备的维护非常方便,从而可以降低终端设备的维护成本。
实施例3
图4是本发明实施例3提供的一种设备端加密装置的结构图,该设备端加密装置400包括:
设备信息存储模块410,用于预先存储包括终端设备的设备识别码的第一设备信息;
解密模块420,用于接收终端设备发送的以约定的第一密钥加密的注册数据,并使用第一密钥进行解密,获得注册数据中的第二设备信息;
判断模块430,用于判断第二设备信息与第一设备信息是否至少有一项信息一致;
密钥生成模块440,用于当第二设备信息与第一设备信息至少有一项信息一致时,随机生成第二密钥作为最终的与终端设备的通信密钥,并使用第一密钥对包括第二密钥的应答数据进行加密,发送至终端设备。
本发明实施例中,关于各个步骤更加详细的说明可以参考前述实施例中相应的内容,这里不再赘述。
实施例4
图5是本发明实施例4提供的一种设备端加密系统的结构示意图。
该设备端加密系统500,包括终端设备510、网关520和管理平台530,其中,管理平台530发送包括设备识别码的第一设备信息至网关520;
网关520预先存储第一设备信息;
终端设备510使用约定的第一密钥加密注册数据,并发送至网关520;
网关520接收注册数据,使用第一密钥进行解密获得第二设备信息,判断第二设备信息与第一设备信息是否至少有一项信息一致;
当第二设备信息与第一设备信息至少有一项信息一致时,网关520随机生成第二密钥,并使用第一密钥对包括第二密钥的应答数据进行加密,发送至终端设备510;
终端设备510接收应答数据,使用第一密钥进行解密,获得第二密钥作为与网关520通信的最终通信密钥。
本发明实施例中,关于各个模块更加详细的功能描述可以参考前述实施例中相应的内容,这里不再赘述。
此外,本发明还提供了一种网关,包括存储器以及处理器,存储器用于存储计算机程序,处理器运行计算机程序以使网关执行设备端加密方法。
存储器可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据网关的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本实施例还提供了一种计算机存储介质,用于储存上述网关中使用的计算机程序。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。