本发明涉及税务服务技术领域,特别涉及一种认证方法及装置。
背景技术:
随着带屏幕的智能设备越来越多,普及率越来越高,设备生产分工也越来越明确,智能设备本体和屏幕会交给不同的企业或工厂进行生产。
现有技术中,通过在智能设备中使用硬件芯片实现限制代工(oem)工厂生产智能设备的数量,以及安全认证。但是,使用硬件芯片会增加智能设备的成本。
如何在控制成本的基础上,实现安全认证,是当前有待解决的问题。
技术实现要素:
本发明的目的在于提供一种认证方法及装置,能够在控制成本的基础上,实现安全认证。
为实现上述发明目的,本发明提供了一种认证方法,应用于服务器端,该方法包括:
接收智能设备终端发送的采用第一密钥加密的设备本体序列号,以及采用第二密钥加密的设备屏幕序列号;
采用第一密钥解密设备本体序列号,以及采用第二密钥解密设备屏幕序列号;
验证解密后设备本体序列号和设备屏幕序列号,并验证所述设备本体序列号和设备屏幕序列号保存在序列号列表中;
在验证通过后,将智能设备唯一标识和入网连接密码返回给智能设备终端,完成认证。
为实现上述发明目的,本发明还提供了一种认证装置,应用于服务器端,该装置包括:
接收单元,接收智能设备终端发送的采用第一密钥加密的设备本体序列号,以及采用第二密钥加密的设备屏幕序列号;
解密单元,采用第一密钥解密设备本体序列号,以及采用第二密钥解密设备屏幕序列号;
验证单元,验证解密后设备本体序列号和设备屏幕序列号,并验证所述设备本体序列号和设备屏幕序列号保存在序列号列表中;
注册单元,在验证通过后,将智能设备唯一标识和入网连接密码返回给智能设备终端,完成认证。
综上所述,本发明提供的认证方法及装置,一个智能设备终端包括本体和屏幕两部分,本体和屏幕分别采用唯一标识的序列号(sn),服务器端将从智能设备终端接收到的设备本体sn和设备屏幕sn进行解密,验证及完成智能设备终端的注册,从而实现智能设备终端的安全认证。与现有技术相比,不需要采用硬件芯片,而是采用sn,就完成了安全认证,大大减少了设备的成本。
附图说明
图1为本发明实施例认证方法的流程示意图。
图2为服务器端生成并提供sn给oem工厂,oem工厂生产时将sn烧入设备中的流程示意图。
图3为本发明服务器端和智能设备终端之间交互的流程示意图。
图4为本发明实施例认证装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
一个智能设备终端包括本体和屏幕两部分,本体和屏幕分别交给不同的oem工厂进行生产,为了防止智能设备多生产,或者虚假智能设备的生产,本发明本体和屏幕分别采用唯一标识的序列号(sn),由服务器端保存sn列表,并下发给设备本体的代工工厂和设备屏幕的代工工厂,用于设备本体的代工工厂在生产该智能设备的本体时在主控板中嵌入该智能设备本体的sn,以及设备屏幕的代工工厂在生产该智能设备的屏幕时在主控板中嵌入该智能设备屏幕的sn。设备本体sn和设备屏幕sn各自采用独立的sn,但组成部分可以相同。本发明设备本体sn或设备屏幕sn包括产品类型、供应商编号、主控板(pcba)版本、批次号、顺序号、随机号、校验位。
本发明实施例认证方法的流程示意图,如图1所示。该方法应用于服务器端,其包括以下步骤:
步骤11、接收智能设备终端发送的采用第一密钥加密的设备本体序列号sn,以及采用第二密钥加密的设备屏幕sn;
步骤12、采用第一密钥解密设备本体sn,以及采用第二密钥解密设备屏幕sn;
步骤13、验证解密后设备本体sn和设备屏幕sn,并验证所述设备本体sn和设备屏幕sn保存在sn列表中;
其中,验证解密后设备本体sn或设备屏幕sn,包括:
s131、将由产品类型、供应商编号、主控板pcba版本、批次号、顺序号、随机号拼成的字符串作为输入,然后输出一个校验位;
s132、将该校验位与采用crc8算法计算得到的校验位进行比较,如果一致,则确定验证设备本体sn或设备屏幕sn通过。
步骤14、在验证通过后,将智能设备唯一标识和入网连接密码返回给智能设备终端,完成认证。
其中,将智能设备唯一标识和入网连接密码返回给智能设备终端的方法包括:
根据设备本体sn和设备屏幕sn的状态确定智能设备终端是否完成注册,如果设备本体sn和设备屏幕sn都处于未激活状态,则进行智能设备终端注册,生成智能设备唯一标识和入网连接密码并发送给智能设备终端;如果设备本体sn和设备屏幕sn都处于激活状态,则更新入网连接密码,将注册时生成的智能设备唯一标识和更新后的入网连接密码发送给智能设备终端。
本步骤中,进行智能设备终端注册后,该方法还包括:将该智能设备终端的设备本体sn和设备屏幕sn状态修改为激活状态。
如此,完成了本发明的认证方法。如果有虚假的sn,是无法完成安全认证的,因此,本发明的认证方法,在控制成本的基础上,实现了安全认证。并且,实现了对oem工厂生产智能设备数量的限制,在订单之外,oem工厂是无法多生产出额外的智能设备的,因而确保了智能设备生产的合法性。
进一步地,在完成认证后,智能设备终端就可以联网了,因此,该方法还包括:服务器端接收智能设备终端发送的携带有智能设备唯一标识和入网连接密码的入网连接请求。
为清楚说明本发明,下面进行详细阐述。
图2为服务器端生成并提供sn给oem工厂,oem工厂生产时将sn烧入设备中的流程示意图。
一个智能设备终端分本体和屏幕两部分生产,本体和屏幕都有属于自己的sn。图2中,在第一个虚线框内,服务器端生成设备本体sn,然后提供给设备本体的oem工厂,设备本体的oem工厂在生产设备本体时在主控板中烧入该sn。同样,在第二个虚线框内,服务器端生成设备屏幕sn,然后提供给设备屏幕的oem工厂,设备屏幕的oem工厂在生产设备屏幕时在主控板中烧入该sn。
图3为本发明服务器端和智能设备终端之间交互的流程示意图。
首先,在图2中,对于一个智能设备终端,设备本体的oem工厂在生产该智能设备本体时就在主控板中烧入设备本体sn,设备屏幕的oem工厂在生产该智能设备屏幕时就在主控板中烧入设备屏幕sn,从而使得该智能设备终端具有设备本体sn和设备屏幕sn。
s301、智能设备终端获取设备本体sn,用对称密钥1加密设备本体sn;同时,获取设备屏幕sn,用对称密钥2加密设备屏幕sn。
s302、智能设备终端将加密后的设备本体sn和设备屏幕sn发送到服务器端进行认证。
本发明实施例中服务器端可以是智能云等。
s303、服务器端采用对称密钥1解密设备本体sn;采用对称密钥2解密设备屏幕的sn。
本发明实施例中采用对称密钥的方法,即,同一个密钥可以同时用作信息的加密和解密。
s304、服务器端验证解密后设备本体sn和设备屏幕sn,并验证所述设备本体sn和设备屏幕sn保存在sn列表中。
本发明实施例中,设备本体sn或设备屏幕sn可以包括产品类型、供应商编号、主控板(pcba)版本、批次号、顺序号、随机号、校验位。
随机号:可以使用openssl提供的随机数生成命令,生成32字节随机值,截取最后6字节作为随机号。
校验位算法:将由产品类型、供应商编号、主控板pcba版本、批次号、顺序号、随机号拼成的字符串“bcd280x1162612346da1f9”作为输入,然后输出一个十六进制校验位;使用crc8算法得到1字节的crc值(0~255),然后针对该crc值对16取模,得到(0~15)转化成十六进制校验位;将输出的十六进制校验位与采用crc8算法计算得到的十六进制校验位进行比较,如果一致,则确定验证设备本体sn或设备屏幕sn通过。
上述是本发明的一个具体实施例,验证设备本体sn和设备屏幕sn的方法还有多种,都在本发明的保护范围内。
s305、在验证通过后,服务器端将智能设备唯一标识和入网连接密码返回给智能设备终端。
本步骤中的验证通过指的是步骤s304中验证设备本体sn和设备屏幕sn,以及验证所述设备本体sn和设备屏幕sn保存在sn列表中,都验证通过。
本步骤中,在验证通过后,需要判断sn的状态,如果设备本体sn和设备屏幕sn都处于未激活状态,则进行智能设备终端注册,生成智能设备唯一标识和入网连接密码并发送给智能设备终端,同时将该智能设备终端的设备本体sn和设备屏幕sn状态修改为激活状态。如果设备本体sn和设备屏幕sn都处于激活状态,说明智能设备终端已经完成注册,则更新入网连接密码,将注册时生成的智能设备唯一标识和更新后的入网连接密码发送给智能设备终端。
s306、智能设备终端存储本设备唯一标识和入网连接密码。
s307、在需要联网时,智能设备终端使用智能设备唯一标识和入网连接密码连接服务器端。
基于同样的发明构思,本发明实施例还提供一种认证装置,应用于服务器端,结构示意图如图4所示,该装置包括:
接收单元401,接收智能设备终端发送的采用第一密钥加密的设备本体序列号sn,以及采用第二密钥加密的设备屏幕sn;
解密单元402,采用第一密钥解密设备本体sn,以及采用第二密钥解密设备屏幕sn;
验证单元403,验证解密后设备本体sn和设备屏幕sn,并验证所述设备本体sn和设备屏幕sn保存在sn列表中;
注册单元404,在验证通过后,将智能设备唯一标识和入网连接密码返回给智能设备终端,完成认证。
所述注册单元404将智能设备唯一标识和入网连接密码返回给智能设备终端具体用于:
根据设备本体sn和设备屏幕sn的状态确定智能设备终端是否完成注册,如果设备本体sn和设备屏幕sn都处于未激活状态,则进行智能设备终端注册,生成智能设备唯一标识和入网连接密码并发送给智能设备终端;如果设备本体sn和设备屏幕sn都处于激活状态,则更新入网连接密码,将注册时生成的智能设备唯一标识和更新后的入网连接密码发送给智能设备终端。
所述注册单元404进行智能设备终端注册后,还用于:将该智能设备终端的设备本体sn和设备屏幕sn状态修改为激活状态。
该装置还包括sn提供单元400,在接收智能设备终端发送的sn之前,生成智能设备本体的sn和设备屏幕的sn,保存在所述sn列表中,并分别提供给设备本体的代工工厂和设备屏幕的代工工厂,用于设备本体的代工工厂在生产该智能设备的本体时在主控板中嵌入该智能设备本体的sn,以及设备屏幕的代工工厂在生产该智能设备的屏幕时在主控板中嵌入该智能设备屏幕的sn。
所述接收单元401,还用于在完成认证后,接收智能设备终端发送的携带有智能设备唯一标识和入网连接密码的入网连接请求。
设备本体sn或设备屏幕sn包括产品类型、供应商编号、主控板pcba版本、批次号、顺序号、随机号、校验位;
所述验证单元403验证解密后设备本体sn或设备屏幕sn,具体用于:
将由产品类型、供应商编号、主控板pcba版本、批次号、顺序号、随机号拼成的字符串作为输入,然后输出一个校验位;
将该校验位与采用crc8算法计算得到的校验位进行比较,如果一致,则确定验证设备本体sn或设备屏幕sn通过。
本发明的认证方法及装置,会带来如下好处:
一、限制oem厂商不能违规多生产智能设备。
二、限制非法小厂商和黑客生产模拟的智能设备。
三、由于不需要使用硬件芯片,减少了oem厂商生产成本。
四、实现了智能设备安全入网认证。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。