智能设备的证书签发方法、装置及系统与流程

文档序号:18465600发布日期:2019-08-17 02:25阅读:333来源:国知局
智能设备的证书签发方法、装置及系统与流程
本申请涉及智能设备通信
技术领域
,尤其涉及一种智能设备的证书签发方法、装置及系统。
背景技术
:通常,为了实现智能设备通信的安全性,需要在智能设备中嵌入设备证书。目前,向智能设备中嵌入设备证书的过程具体包括:通过人工向认证云平台输入智能设备的相关信息,认证云平台对智能设备的相关信息进行处理生成设备证书。进而,通过人工从认证云平台下载设备证书,再通过专用设备将设备证书写入智能设备中。举例而言,如图1所示,当待签发证书的智能设备为智能手环时,首先需要设备厂商登录认证云平台,在认证云平台中手动填写组织单位、组织证书等相关信息,进而,相关信息由加密机签发并在认证云平台生成证书后,手动下载证书嵌入到对应的智能手环中,当需要生成多个智能手环的证书,则需要重复多次上次步骤,操作效率较低,且由于生成证书的相关信息由厂商输入,写入证书也需要人工下载嵌入,工作量大、不方便调试,且只能预置一次证书,人工参与降低了设备证书签发的安全性。由此可见,目前这种依赖于人工的证书签发方式,降低了处理效率和准确性。申请内容本申请提供一种智能设备的证书签发方法、装置及系统,以解决现有技术中,证书签发准确率和效率较低的技术问题。本申请实施例提供一种智能设备的证书签发方法,包括以下步骤:本申请实施例提供一种智能设备的证书签发方法,包括以下步骤:接收客户端发送的从智能设备中获取的厂商基本信息、设备公钥、第一签名信息和厂商证书,其中,所述第一签名信息是所述智能设备应用预设算法对所述设备公钥和所述智能设备中预存的厂商私钥进行计算生成的;查询预先存储的厂商注册信息,获取与所述厂商基本信息对应的厂商公钥;根据所述厂商公钥验证所述厂商证书是否合法;若验证获知所述厂商证书合法,则根据所述厂商证书验证所述第一签名信息是否合法;若验证获知所述第一签名信息合法,则根据所述设备公钥生成所述智能设备的设备证书,并发送给所述客户端,以通过所述客户端写入所述智能设备。本申请另一实施例提供一种智能设备的证书签发方法,包括以下步骤:向智能设备发送信息获取指令;接收所述智能设备返回的厂商基本信息、设备公钥、第一签名信息和厂商证书,其中,所述第一签名信息是所述智能设备应用预设算法对所述设备公钥和预存的厂商私钥进行计算生成的;将所述厂商基本信息、所述设备公钥、所述第一签名信息和所述厂商证书发送给认证云平台,以使所述认证云平台生成所述智能设备的设备证书;接收所述认证云平台返回的所述设备证书,并向所述智能设备发送包括所述设备证书的证书写入指令;接收所述智能设备写入所述设备证书后反馈的写入成功响应。本申请又一实施例提供一种智能设备的证书签发方法,包括以下步骤:接收客户端发送的信息获取指令;生成设备公钥,并应用预设算法对预存的厂商私钥和所述设备公钥进行计算生成第一签名信息;向所述客户端返回所述设备公钥、所述第一签名信息以及预存的厂商基本信息和厂商证书,以使所述客户端将所述厂商基本信息、所述设备公钥、所述第一签名信息和所述厂商证书发送给认证云平台,并获取所述认证云平台为智能设备生成的设备证书;接收所述客户端发送的包括所述设备证书的证书写入指令;验证所述设备证书的合法性,若验证合法,则将所述设备证书写入所述智能设备中,并向所述客户端反馈写入成功响应。本申请还一实施例提供一种认证云平台,包括:第一接收模块,用于接收客户端发送的从智能设备中获取的厂商基本信息、设备公钥、第一签名信息和厂商证书,其中,所述第一签名信息是所述智能设备应用预设算法对所述设备公钥和所述智能设备中预存的厂商私钥进行计算生成的;第一获取模块,用于查询预先存储的厂商注册信息,获取与所述厂商基本信息对应的厂商公钥;第一验证模块,用于根据所述厂商公钥验证所述厂商证书是否合法;第二验证模块,用于在验证获知所述厂商证书合法时,根据所述厂商证书验证所述第一签名信息是否合法;第一处理模块,用于在验证获知所述第一签名信息合法时,根据所述设备公钥生成所述智能设备的设备证书,并发送给所述客户端,以通过所述客户端写入所述智能设备。本申请再一个实施例提供一种客户端,包括:第一发送模块,用于向智能设备发送信息获取指令;第二接收模块,用于接收所述智能设备返回的厂商基本信息、设备公钥、第一签名信息和厂商证书,其中,所述第一签名信息是所述智能设备应用预设算法对所述设备公钥和预存的厂商私钥进行计算生成的;第二发送模块,用于将所述厂商基本信息、所述设备公钥、所述第一签名信息和所述厂商证书发送给认证云平台,以使所述认证云平台生成所述智能设备的设备证书;第三接收模块,用于接收所述认证云平台返回的所述设备证书;第三发送模块,用于向所述智能设备发送包括所述设备证书的证书写入指令;第四接收模块,用于接收所述智能设备写入所述设备证书后反馈的写入成功响应。本申请还另一实施例提供一种智能设备,包括:第五接收模块,用于接收客户端发送的信息获取指令;生成模块,用于生成设备公钥,并应用预设算法对预存的厂商私钥和所述设备公钥进行计算生成第一签名信息;反馈模块,用于向所述客户端返回所述设备公钥、所述第一签名信息以及预存的厂商基本信息和厂商证书,以使所述客户端将所述厂商基本信息、所述设备公钥、所述第一签名信息和所述厂商证书发送给认证云平台,并获取所述认证云平台为智能设备生成的设备证书;第六接收模块,用于接收所述客户端发送的包括所述设备证书的证书写入指令;第二处理模块,用于验证所述设备证书的合法性,若验证合法,则将所述设备证书写入所述智能设备中,并向所述客户端反馈写入成功响应。本申请还又一实施例提供一种智能设备的证书签发系统,所述系统包括:认证云平台、智能设备和客户端,其中,所述认证云平台用于执行如上述描述的应用于云认证平台的智能设备的证书签发方法,所述智能设备用于执行如上述描述的应用于智能设备的智能设备的证书签发方法,所述客户端用于执行如上述描述的应用于客户端的智能设备的证书签发方法。本申请另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如其中集中在认证云平台侧所述的智能设备的证书签发方法。本申请另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如其中集中在客户端侧所述的智能设备的证书签发方法。本申请另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如其中集中在智能设备侧所述的智能设备的证书签发方法。本申请实施例提供的技术方案可以包括以下有益效果:基于客户端、智能设备和认证云平台的信息交互实现证书的在线签发,这种签发方式不但保证了证书生成的准确度和效率,还为智能设备的升级提供了可能,即当智能设备进行设备升级时,可以基于客户端、智能设备和认证云平台的信息交互实施,提高了升级的便捷性和灵活性。附图说明本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1是根据现有技术的证书的签发场景示意图;图2是根据本申请一个实施例的智能设备的证书签发系统的结构示意图;图3是根据本申请一个实施例的智能设备的证书签发系统的交互示意图;图4是根据本申请第一个实施例的智能设备的证书签发方法的流程交互示意图;图5是根据本申请一个实施例的认证云平台为厂商提供注册界面示意图;图6是根据本申请一个实施例的设备序列号组成格式示意图;图7是根据本申请第二个实施例的智能设备的证书签发方法的流程交互示意图;图8是根据本申请第三个实施例的智能设备的证书签发方法的流程交互示意图;图9是根据本申请一个具体实施例的智能设备的证书签发系统的交互示意图;图10是根据本申请一个实施例的认证云平台的结构示意图;图11是根据本申请一个实施例的客户端的结构示意图;以及图12是根据本申请一个实施例的智能设备的结构示意图。具体实施方式下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。为了更好的理解本申请,首先对智能设备的证书签发的场景进行描述,智能设备的设备证书的签发场景通常对应于第三方应用(比如淘宝、微信、qq)获取用户的各种信息,如果智能设备中的第三方应用获取到智能设备的设备证书,则第三方客户端被允许访问用户在服务器中存储的各种信息,而无需用户提供用户名和密码给客户端。而正如
背景技术
提到的,现有技术中依赖于人工的非自动化的操作方式进行对智能设备的设备证书的签发,操作效率和准确率都具有较为明显的不足。为了解决上述技术问题,本申请提出了一种在线证书签发方法,通过客户端、认证云平台和智能设备的在线信息交互,采用线上实时请求相应生成证书的方式,经过pki体系进行签名、验证,结合加密机制加密生成证书,最终将证书安全可靠的嵌入智能设备中,提高了智能设备的设备证书签发的灵活性、效率和安全性。其中,pki体系即公共密钥体系,该体系利用公共密钥算法的特点,建立一套证书的签发和管理体系,来支持和完成对相关通信者的身份认证以及信息的加密传输,本申请中主要使用pki体系中的公共密钥算法,即使用加密算法和一对密钥(一个公钥和一个私钥),其基本原理是:由一个密钥进行加密的信息内容,只能由与之配对的另一个密钥才能进行解密。公钥可以广泛地发给与自己有关的通信者,私钥则需要十分安全地存放起来。使用中,甲方可以用乙方的公钥对数据进行加密并传送给乙方,乙方可以使用自己的私钥完成解密。公钥通过证书与其拥有者的基本信息捆绑在一起,由权威机构(ca,certificateauthority)认证、发放和管理。把证书交给对方时就把自己的公钥传送给了对方。下面参考附图描述本申请实施例的智能设备的证书签发方法、装置及系统。为了使得本领域的技术人员对本申请实施例的智能设备的证书签发方法流程更加清楚,下面集中在智能设备的证书签发系统实施例进行描述,如图2所示,该系统包括认证云平台1000、智能设备2000和客户端3000,其中,智能设备可以是手机、平板电脑、个人数字助理、穿戴式设备等具有操作系统的硬件设备,该穿戴式设备可以是智能手环、智能手表、智能眼镜等,认证云平台1000、智能设备2000和客户端3000在实施智能设备的证书签发时,交互流程如图3所示:参照图3,在本申请的实施例中,引入客户端,该客户端承载智能设备的设备证书的签发等动作,在实际执行过程中,为了明确设备证书的持有者的身份,客户端向智能设备发送信息获取指令(步骤1),智能设备在接收到客户端发送的信息获取指令后,为了明确自己的身份,对待发送的信息进行签名,根据现有技术中的签名原理,生成设备公钥、并应用预设算法对预存的厂商信息和设备公钥进行计算生成第一签名信息(步骤2),向客户端返回设备公钥、第一签名信息以及预存的厂商基本信息和厂商证书(步骤3),客户端发送接收到的从智能设备中获取的厂商基本信息、设备公钥、第一签名信息和厂商证书至认证云平台(步骤4)。认证云平台在接收到客户端发送的相关信息后,首选查询预先存储的厂商注册信息,获取与厂商基本信息对应的厂商公钥(步骤5),并根据厂商公钥验证厂商证书是否合法,此时应当理解的是,根据厂商公钥验证当前进行证书获取请求的厂商是否是预先注册过的合法厂商,如果验证厂商证书合法,则根据厂商证书验证第一签名信息是否合法(步骤6),即验证智能设备是否合法,如果获知第一签名信息合法,则表明当前的智能设备以及智能设备的厂商均合法,避免非法智能设备破解合法厂商的相关信息伪装成合法智能设备,也避免了没有授权的厂商生产的智能设备被签发证书,从而根据设备公钥生成智能设备的设备证书,并发送给客户端(步骤7),客户端接收认证云平台返回的设备证书,并向智能设备发送包括设备证书的证书写入指令(步骤8),此时,在写入证书前,智能设备验证设备证书的合法性,如果验证合法,则将设备证书写入智能设备中,并向客户端反馈写入成功响应(步骤9)。由此,本申请实施例的智能设备的证书签发系统,引入客户端,认证云平台通过和客户端的信息交互即可实现智能设备的证书的生成和下发,实现了智能设备的证书的在线处理,保证了智能设备的证书的处理效率和准确度。为了更加详细的说明本申请智能设备的证书签发系统执行时的细节,使得本领域的技术人员对本申请的智能设备的证书签发过程更加清楚,下面分别集中在认证云平台、客户端和智能设备侧对本申请的本申请智能设备的证书签发的方法进行描述。首先,集中在认证云平台侧描述本申请实施例的智能设备的证书签发方法。图4是根据本申请第一个实施例的智能设备的证书签发方法的流程交互示意图,如图4所示,在对能设备的证书签发时,认证云平台在与智能设备和客户端进行交互时所实施的步骤主要包括:步骤101,接收客户端发送的从智能设备中获取的厂商基本信息、设备公钥、第一签名信息和厂商证书,其中,第一签名信息是智能设备应用预设算法对设备公钥和智能设备中预存的厂商私钥进行计算生成的。具体地,本申请结合pki体系进行设备证书的签发,其中,在pki体系中需要对获取设备证书的通信者进行身份验证,本申请中,身份验证包括厂商合法性验证以及智能设备的合法性验证,因而,接收从客户端发送的从智能设备中获取的厂商基本信息、设备公钥、第一签名信息和厂商证书,以便于进一步的对通信者即厂商和智能设备的身份验证。其中,由于第一签名信息是智能设备应用预设算法对设备公钥和智能设备中预存的厂商私钥进行计算生成,其中,根据应用场景的不同,预设算法可以包括des算法、cdsa算法、ecc算法和sm2算法等(具体地第一签名信息的生成过程将会在下述集中在智能设备侧描述的实施例中详述,在此不再赘述),因而,第一签名信息可用于对智能设备的身份进行认证,厂商基本信息包括厂商代码、批次号等,因而,可以用于对厂商的身份验证,当然,厂商证书和设备公钥在身份验证时也被需要,详细的参与过程将在下述实施例中体现。步骤102,查询预先存储的厂商注册信息,获取与厂商基本信息对应的厂商公钥。应当理解的是,在使用智能设备投入使用之前,厂商需要预先在认证云平台上注册信息,认证云平台存储厂商注册信息,该厂商注册信息中包括厂商公钥、厂商代码、厂商批次号等厂商基本信息。作为一种可能的应用场景,如图5所示,认证云平台为厂商提供注册界面,接收厂商写入的厂商代码、批次号等,当然,为了维护认证云平台的运营环境,需要对厂商注册信息进行审批,审批成功后才可以存储并用于证书的签发验证流程。具体地,接收客户端发送的智能设备的厂商基本信息后,查询认证云平台预先存储的厂商注册信息,获取与厂商基本信息对应的厂商公钥,以便于根据厂商公钥进行厂商的合法性验证等。步骤103,根据厂商公钥验证厂商证书是否合法。首先验证智能设备的生产厂商的合法性,避免一些非法或者没有得到经营许可的厂商生产的智能设备投入使用,具体地,由于此时厂商公钥是厂商预先注册的,且厂商证书是为了表明厂商公钥的信任度对厂商公钥签发的认证证书,因而,厂商证书和厂商公钥具有对应关系,厂商公钥可作为验证因子,根据厂商公钥验证厂商证书是否合法。应当理解的是,在不同的应用场景下,可采用不同的方式实现根据厂商公钥验证厂商证书是否合法,作为一种可能的实现方式,继续参照图4,根据厂商公钥验证厂商证书是否合法包括:步骤201,解析厂商证书获取第二签名信息和厂商消息摘要。应当理解的是,现有技术中的证书通常包含公钥的数字签名和公钥拥有者的信息,因而,证书实际上就是对公钥进行数字签名,它是对公钥合法性提供证明的技术,其中,为了保证证书不被修改,在签发证书时对证书采用相关指纹算法生成消息摘要,通过公钥的合法性可以检测对应的公钥拥有者是否合法,在本实施例中,通过解析厂商证书获取第二签名信息和厂商消息摘要,来证明从客户端所获取的厂商证书对应的厂商是否与预先注册的厂商一致。步骤202,根据预设算法对厂商公钥、第二签名信息和厂商消息摘要进行计算获取第一验证结果。步骤203,判断第一验证结果是否为真,若为真,则确定厂商证书合法。在本申请的实施例中,结合预设算法对厂商公钥、第二签名信息和厂商消息摘要进行计算获取第一验证结果,根据第一验证结果验证厂商证书是否合法,其中,判断第一验证结果是否为真,若为真,则确定厂商证书合法,进而实施下一步的设备证书签发流程,若为否,则确定厂商证书不合法,停止实施下一步的设备证书的签发流程,并返回错误信息。其中,根据应用场景的需要,预设算法可以为ecc算法或者sm2算法等,当预设算法可以为ecc算法或者sm2算法时,可以使用booleancheckresult=sm2_verify/ecc_verify(message,signature,mpubkey)获取第一验证结果,其中,booleancheckresult用来表示第一验证结果,message用来表示厂商消息摘要,signature用来表示第二签名信息,mpubkey用来表示厂商公钥。步骤104,若验证获知厂商证书合法,则根据厂商证书验证第一签名信息是否合法。具体地,如果验证获知厂商证书合法,则证明客户端发送的厂商证书是可靠的,进而根据厂商证书验证第一签名信息是否合法。其中,由于第一签名信息是智能设备根据设备公钥和预存的厂商私玥等计算生成,因而,根据第一签名信息可以验证待被签发设备证书的智能设备的合法性,避免非法设备破解预存的厂商私钥伪装成合法智能设备。其中,根据应用场景的不同,根据厂商证书验证第一签名信息是否合法的方式包括但不限于以下方式:作为一种可能的实现方式,继续参照图4,根据厂商证书验证第一签名信息是否合法包括:步骤301,解析厂商证书获取厂商消息摘要,从厂商消息摘要中获取厂商证书公钥。正如以上分析,证书中包含公钥的数字签名和公钥拥有者的信息,因而,解析厂商证书,从厂商消息摘要中获取厂商证书公钥。步骤302,根据预设算法对厂商证书公钥、第一签名信息和设备公钥进行计算获取第二验证结果。步骤303,判断第二验证结果是否为真,若为真,则确定第一签名信息合法。具体地,根据预设算法对厂商证书公钥、第一签名信息和设备公钥进行计算获取第二验证结果,判断第二验证结果是否为真,若为真,则确定智能设备合法,进而实施下一步的数字签发流程,若为否,则确定智能设备不合法,停止实施下一步的数字签发流程,并返回错误信息。其中,根据应用场景的需要,预设算法可以为ecc算法或者sm2算法等,当预设算法可以为ecc算法或者sm2算法时,可以使用booleancheckresult=sm2_verify/ecc_verify(hpubkey,sig,mpubkeyb)获取第二验证结果,其中,booleancheckresult用来表示第二验证结果,true表示第二验证结果为真;false表示第二验证结果为假,hpubkey用来表示设备公钥,sig用来表示第一签名信息,mpubkeyb用来表示厂商证书公钥。步骤105,若验证获知第一签名信息合法,则根据设备公钥生成智能设备的设备证书,并发送给客户端,以通过客户端写入智能设备。具体地,若验证获知第一签名信息合法,则表示当前智能设备可靠,从而,生成智能设备的设备证书,并发送给客户端写入智能设备,完成证书的签发。其中,生成智能设备的设备证书的方式包括但不限于以下方式:作为一种可能的实现方式,继续参照图4,生成设备证书的方式包括:步骤401,生成智能设备的设备序列号,并获取预存的认证云平台的根证书私钥。具体地,基于pki体系的公共密钥方法还提供了进行数字签名的办法:签字方对要发送的数据提取摘要并用自己的私钥对其进行加密;接收方验证签字方证书的有效性和身份,用签字方公钥进行解密和验证,确认被签字的信息的完整性和抗抵赖性。因而,认真云平台作为签字方首先为了为智能设备签发色设备证书,需要生成智能设备的设备序列号,以标识智能设备的唯一性,进而,提取预存的认证云平台的根证书私钥。其中,在不同的应用场景下,设备序列号的组成方式不同,在本申请的一个实施例中,该设备序列号可以由十进制组成,如图6所示,当生成的设备序列号为0186171100000005时,其对应的十进制表示格式为aabbyymmnnnnnnn,其中,aa表示智能设备型号,对应于批次号,如果长度大于2则截取后两位数字,bb表示智能设备生产厂商的编号,如果长度大于2则截取后两位数字,yy表示智能设备的生产年份,取自然年的后两位,如:2017年,则取值为‘17’,mm表示智能设备的生产月份,范围是‘01’~‘12’,nnnnnnnn字段表示智能设备的自然序列号,范围是‘00000001’~‘99999999’,满足每月1亿台生产量,保证了采用本申请实施例中智能设备的证书签发的可用性范围。步骤402,根据预设算法对设备序列号、设备公钥、根证书私钥进行计算获取第三签名信息。其中,根据应用场景的需要,预设算法可以为ecc算法或者sm2算法等,当预设算法可以为ecc算法或者sm2算法时,可以使用sig2=sm2_sign/ecc_sign(hid||hpubkey,tusiprikey)获取第三签名信息,其中,sig2用来表示第三签名信息,hid表示设备序列号,hpubkey用来表示设备公钥,tusiprikey用来表示根证书私钥。步骤403,应用预设格式对设备序列号和设备公钥进行转换生成设备消息摘要。步骤404,根据第三签名信息和设备消息摘要生成设备证书。具体地,在获取第三签名信息后,应用预设格式对设备序列号和设备公钥进行转换生成设备消息摘要,其中,该预设的格式与认证云平台签发证书的机构的规定相关,进而,根据第三签名信息和设备消息摘要生成设备证书,从而,完成智能设备的证书生成,显然,该证书的生成过程不依赖于人工操作,依赖于认证云平台与客户端和智能设备的信息交互,准确率和效率都得到了保证。基于以上描述,应当理解的是,在认证云平台生成智能设备的证书的过程中,根据厂商公钥验证厂商证书是否合法,还是根据厂商证书验证第一签名信息是否合法等多处计算过程中采用的预设算法,均可以相同,也可以不同,该预设算法可以根据应用需要分别实时确定,也可以预先统一设定。在本申请的一个实施例中,为了减轻系统处理压力以及满足厂商的业务需要,还可以由厂商预先设定每一个计算过程中的预设算法,具体而言,在厂商在认证云平台的注册过程中,继续参照图5,在厂商注册过程中,接收厂商设备发送的厂商基本信息、厂商公钥、预设算法的算法类型三者的对应关系,将对应关系存储在认证云平台的厂商注册信息中,从而,在实际计算过程中,直接根据该对应关系配出对应的预设算法即可。综上所述,本申请实施例的智能设备的证书签发方法,认证云平台接收客户端发送的智能设备的厂商基本信息,设备公钥、第一签名信息和厂商证书,查询认证云平台预先存储的厂商注册信息,获取与厂商基本信息对应的厂商公钥,根据厂商公钥验证厂商证书是否合法,若验证获知厂商证书合法,则根据厂商证书验证第一签名信息是否合法,若验证获知第一签名信息合法,则生成智能设备的设备证书,并发送给客户端写入智能设备。由此,认证云平台通过和客户端的信息交互即可实现智能设备的证书的生成和下发,实现了智能设备的证书的在线处理,保证了智能设备的证书的处理效率和准确度。为了更加全面的说明本申请实施例的智能设备的证书签发方法,下面其次集中在客户端侧的智能设备的证书签发方法实施例进行说明。具体地,图7是根据本申请第二个实施例的智能设备的证书签发方法的流程交互示意图,如图7所示,在进行智能设备的证书签发时,客户端在与智能设备和认证云平台进行交互时所实施的步骤主要包括:步骤501,向智能设备发送信息获取指令。步骤502,接收智能设备返回的厂商基本信息、设备公钥、第一签名信息和厂商证书,其中,第一签名信息是智能设备应用预设算法对设备公钥和预存的厂商私钥进行计算生成的。可以理解,本申请实施例中的客户端用于参与证书生成所需要的信息的转接,作为认证云平台和智能设备之间信息交互的媒介,辅助完成智能设备的证书签发,其中,在一些可能的示例中,客户端通过应用接口实现与认证云平台和智能设备之间信息交互,应用接口的类型取决于智能设备和客户端的交互方式,其中,客户端可以通过蓝牙通信,或者,近距离无线通信(比如nfc通信)向智能设备发送信息获取指令等。具体地,客户端向智能设备发送信息获取指令,接收智能设备反馈的厂商基本信息、设备公钥、第一签名信息和厂商证书,以便于客户端将相关信息发送至认证云平台,避免用户手动向智能云平台进行信息的输入。需要说明的是,客户端向智能设备发送的信息获取指令根据应用场景的不同,可以为一种指令,也可以为多种指令的组合,在一些可能的示例中,信息获取指令包括信息请求指令和设备激活指令,即客户端向智能设备发送信息请求指令和设备激活指令,并接收智能设备反馈的相关信息,客户端与智能设备通信协议基于请求-响应机制,请求方发送请求消息到智能设备,智能设备向请求方返回响应消息。其中,作为一种可能的实现方式,基于请求-响应机制中的请求数据的数据定义可以基于下表1所示的7816-4:2005apdu格式:表1clainsp1p2lcle其中,cla用于命令类别指示,通用命令为‘00’,专用命令位‘80’,p1,p2:对应每个命令的参数1和参数2,lc对应请求数据的长度,le对应响应数据的长度的最大期望长度。基于请求-响应机制中的响应数据的数据定义可以基于下表2所示的7816-4:2005apdu格式:表2其中,sw1,sw2为两字节状态,用于表示响应数据的状态信息,其中,如下表3所示,sw1,sw2可以以预定值表示错误响应。表3sw1sw2含义6985条件不满足(密钥验证失败等)6a80参数错误(数据定义有误)步骤503,将厂商基本信息、设备公钥、第一签名信息和厂商证书发送给认证云平台,以使认证云平台生成智能设备的设备证书。具体地,将厂商基本信息、设备公钥、第一签名信息和厂商证书发送给认证云平台,以供认证云平台生成并反馈为智能设备生成的设备证书。步骤504,接收认证云平台返回的设备证书,并向智能设备发送包括设备证书的证书写入指令。步骤505,接收智能设备写入设备证书后反馈的写入成功响应。具体地,在获取到认证云平台反馈的设备证书后,向智能设备发送包括设备证书的证书写入指令,从而接收到智能设备写入设备证书后反馈的写入成功响应,完成对应智能设备的数字签发,当然,也可以接收到智能设备反馈的写入失败响应,从而,重新获取设备证书等。为了更加清楚的描述客户端和智能设备的交互过程,下面结合一些可能的应用场景下的具体指令进行描述:在本实施例中,客户端向智能设备发送信息获取指令80360000000000,获取智能设备返回的厂商基本信息,其中,根据信息获取指令的定义,80360000表示信息获取指令,000000报数数据内容长度,智能设备反馈的响应命令为02000100000c868600015328401eb0d065fc0003059000,其中,8686表示代表厂商代码、0001代表批次号等。进而,向智能设备端发送设备激活指令80200000000000,其中,80200000代表激活设备指令,000000代表数据内容长度,其中,智能设备返回的设备公钥和设备私钥(设备密钥对)为0492d868371c9648c09fb745bd33dc113574e2bd150644aaeb75b7bf32c24444a70fb00a932964ff781ba434ab7c466cf3fc03df54cb2a78066342daef1a2b2bed9000其中最后四位,9000表示响应成功,9000去掉为设备公钥,需要说明的是,在实际执行过程中,私钥无法导出,所以是获取不到硬件私钥的。智能设备同时返回第一签名信息和厂商证书,客户端将厂商基本信息、设备公钥、第一签名信息和厂商证书发送给认证云平台,并获取认证云平台返回的为智能设备生成的设备证书,向智能设备发送包括设备证书的证书写入指令,其中,客户端写入证书到智能设备中,写入命令报文如下表4所示的格式:表4编码值cla‘80’ins‘22’p1‘00’p2‘00’lc‘’xxdatafielddevicecertificatele无其中,80220000000000表示证书写入指令,80220000表示写入智能设备指令标识,000000表示数据内容长度。进而,接收智能设备写入设备证书后反馈的写入成功响应,比如接收到反馈的9000,则表示写入成功。由此,本申请实施例的智能设备的证书签发方法,通过客户端的接口作为媒介,实现智能设备和认证云平台的信息交互,通过客户端将智能设备的相关信息发送至认证云平台,并将认证云平台生成的证书写入智能设备,实现了智能设备的证书签发的在线实施,提高了证书签发的灵活性和可靠性,且基于客户端的应用方式便于操作,可实现大量智能设备的证书签发的同时进行。综上所述,本申请实施例的智能设备的证书签发方法,客户端向智能设备发送信息获取指令,获取智能设备返回的厂商基本信息、设备公钥、第一签名信息和厂商证书,其中,第一签名信息是应用预设算法对设备公钥和智能设备中预存的厂商私钥进行计算生成的,将厂商基本信息、设备公钥、第一签名信息和厂商证书发送给认证云平台,获取认证云平台返回的为智能设备生成的设备证书,进而,向智能设备发送包括设备证书的证书写入指令,接收智能设备写入设备证书后反馈的写入成功响应。由此,实现了智能设备的证书签发的在线实施,提高了证书签发的灵活性和可靠性。为了更加全面的说明本申请实施例的智能设备的证书签发方法,下面最后集中在智能设备侧的智能设备的证书签发方法实施例进行说明。具体地,图8是根据本申请第三个实施例的智能设备的证书签发方法的流程交互示意图,如图8所示,在进行智能设备的证书签发时,智能设备在与客户端进行交互时所实施的步骤主要包括:步骤601,接收客户端发送的信息获取指令。步骤602,生成设备公钥,并应用预设算法对预存的厂商私钥和设备公钥进行计算生成第一签名信息。步骤603,向客户端返回设备公钥、第一签名信息以及预存的厂商基本信息和厂商证书,以使客户端将厂商基本信息、设备公钥、第一签名信息和厂商证书发送给认证云平台,并获取认证云平台为智能设备生成的设备证书。可以理解,在智能设备的生产过程中,预先植入厂商代码和批次号等厂商基本信息,从而,在接收到客户端发送的信息获取请求后,向客户端返回厂商基本信息,此时,由于向客户端返回的厂商基本信息是在智能设备的生产过程中植入的,相对现有技术中的人工写入,避免了人工写入错误,保证了准确率。在接收到客户端发送的信息获取指令后,为了明确自己的身份,智能设备生成设备公钥,并应用预设算法对预存的厂商私钥和设备公钥进行计算生成第一签名信息,其中,根据应用场景的不同,预设算法可以包括des算法、cdsa算法、ecc算法和sm2算法等。其中,作为一种可能的实现方式,预设算法包括cdsa算法时,智能设备生成第一签名信息的过程为:第一步:选择一个随机或者伪随机数k,其中,1≤k≤n-1,n是一个大素数,第二步:计算kg=(x1,y1),其中,g为设备公钥,第三步:计算r=h(m)+x1modn,其中,m为要签名的信息,第四步:如果r+d≡0(modn),其中,d为厂商私钥,则返回到第一步,否则计算(r+d)-1modn,第五步计算s=(r+d)-1(k-dr)modn,若s=0,则返回到第一步,最后一步生成第一签名信息(m,r,s)。进一步地,向客户端返回设备公钥、第一签名信息以及预存的厂商基本信息和厂商证书,以使客户端将厂商基本信息、设备公钥、第一签名信息和所述厂商证书发送给认证云平台,并获取认证云平台为智能设备生成的设备证书。步骤604,接收客户端发送的包括设备证书的证书写入指令。步骤605,验证设备证书的合法性,若验证合法,则将设备证书写入智能设备中,并向客户端反馈写入成功响应。具体地,在获取证书后,由客户端写入证书,接收客户端发送的包括设备证书的证书写入指令,当然,为了避免恶意证书的写入,保证智能设备的安全,在接受写入证书之前,需要验证设备证书的合法性,若验证合法,则将设备证书写入智能设备中,并向客户端反馈写入成功响应,其中,若验证不合法,可以通知客户端重新实施证书的获取等。其中,验证设备证书的合法性的方式包括但不限于以下方式:作为一种可能的实现方式,继续参照图8,验证设备证书的合法性包括:步骤701,解析设备证书获取第三签名信息和设备消息摘要,并从设备消息摘要中获取设备证书公钥。步骤702,比较设备证书公钥和设备公钥是否相同。具体地,解析设备证书获取第三签名信息和设备消息摘要,并从设备消息摘要中获取设备证书公钥,进而,比较设备证书公钥和设备公钥是否相同,以验证设备证书公钥的可靠性。步骤703,若设备证书公钥和设备公钥相同,则获取智能设备中预存的认证云平台的根证书公钥。具体地,若设备证书公钥和设备公钥相同,则表明设备证书公钥可靠,从而,获取智能设备中预存的认证云平台的根证书公钥,以进一步验证设备证书的可靠性。步骤704,根据预设算法对根证书公钥、第三签名信息和设备消息摘要进行计算获取第三验证结果。步骤705,判断第三验证结果是否为真,若为真,则确定设备证书合法。具体地,根据预设算法对根证书公钥、第三签名信息和设备消息摘要进行计算获取第三验证结果,如果判断第三验证结果为真,则确定设备证书合法,从而,将设备证书写入智能设备中,并向客户端反馈写入成功响应,如果判断第三验证结果为假,则确定设备证书不合法,从而,向客户端反馈写入失败响应,或者向客户端反馈证书重新获取信息等。由此,本申请实施例的智能设备的证书签发方法,智能设备进行仅仅需要和客户端进行信息交互,即可实现证书的签发,操作简单可以适用于大量智能设备的证书的同时签发场景,不依赖于人工写入证书,减轻了工作量,可基于客户端进行调试等,提高了证书签发的可靠性。综上所述,本申请实施例的智能设备的证书签发方法,智能设备接收客户端发送的信息获取指令,生成设备公钥,并应用预设算法对预存的厂商私钥和设备公钥进行计算生成第一签名信息,向客户端返回设备公钥、第一签名信息以及预存的厂商基本信息和厂商证书,以使客户端将厂商基本信息、设备公钥、第一签名信息和厂商证书发送给认证云平台,并获取认证云平台为智能设备生成的设备证书,进而,接收客户端发送的包括设备证书的证书写入指令,验证设备证书合法后,将设备证书写入智能设备中,并向客户端反馈写入成功响应。由此,实现了证书的自动化写入,提高了证书签发的效率,且基于生产过程中植入的厂商基本信息进行证书的生成,提高了生成的证书的准确度。基于以上描述,本申请实施例的智能设备的证书签发系统,实现了智能设备的证书签发的在线实施,提高了证书签发的灵活性和可靠性,为了对智能设备的证书签发系统的证书签发的过程的描述更加全面,下面结合该系统在一个具体应用场景下的描述进行说明,如图9所示,在该具体的实施例中,为了明确设备证书的持有者的身份,客户端向智能设备发送信息获取指令(步骤1),智能设备在接收到客户端发送的信息获取指令后,为了明确自己的身份,对待发送的信息进行签名,根据现有技术中的签名原理,生成设备公钥、并应用预设算法对预存的厂商信息和设备公钥进行计算生成第一签名信息(步骤2),向客户端返回设备公钥、第一签名信息以及预存的厂商基本信息和厂商证书(步骤3),客户端发送接收到的从智能设备中获取的厂商基本信息、设备公钥、第一签名信息和厂商证书至认证云平台(步骤4)。认证云平台在接收到客户端发送的相关信息后,首选查询预先存储的厂商注册信息,获取与厂商基本信息对应的厂商公钥,并根据厂商公钥验证厂商证书是否合法,即解析厂商证书获取第二签名信息和厂商消息摘要(步骤51),根据预设算法对厂商公钥、第二签名信息和厂商消息摘要进行计算获取第一验证结果(步骤52),判断第一验证结果是否为真,若为真,则确定厂商证书合法(步骤53)。此时应当理解的是,根据厂商公钥验证当前进行证书获取请求的厂商是否是预先注册过的合法厂商,如果验证厂商证书合法,则根据厂商证书验证第一签名信息是否合法,即解析所述厂商证书获取厂商消息摘要,从所述厂商消息摘要中获取厂商证书公钥(步骤61),根据预设算法对厂商证书公钥、第一签名信息和设备公钥进行计算获取第二验证结果(步骤62),判断第二验证结果是否为真,若为真,则确定第一签名信息合法(步骤63)。即验证智能设备是否合法,如果获知第一签名信息合法,则表明当前的智能设备以及智能设备的厂商均合法,避免非法智能设备破解合法厂商的相关信息伪装成合法智能设备,也避免了没有授权的厂商生产的智能设备被签发证书,从而根据设备公钥生成智能设备的设备证书,并发送给客户端(步骤7),其中,继续参照图9,生成设备证书的过程为:生成智能设备的设备序列号,并获取预存的认证云平台的根证书私钥(步骤71),根据预设算法对设备序列号、设备公钥、根证书私钥进行计算获取第三签名信息(步骤72),应用预设格式对设备序列号和设备公钥进行转换生成设备消息摘要(步骤73),根据第三签名信息和设备消息摘要生成设备证书(步骤74)。客户端接收认证云平台返回的设备证书,并向智能设备发送包括设备证书的证书写入指令(步骤8),此时,在写入证书前,智能设备验证设备证书的合法性,如果验证合法,则将设备证书写入智能设备中,并向客户端反馈写入成功响应,其中,在该实施例中,验证设备证书的合法性的过程为:解析设备证书获取第三签名信息和设备消息摘要,并从设备消息摘要中获取设备证书公钥(步骤91),比较设备证书公钥和设备公钥是否相同(步骤92),若设备证书公钥和设备公钥相同,则获取智能设备中预存的认证云平台的根证书公钥(步骤93),根据预设算法对根证书公钥、第三签名信息和设备消息摘要进行计算获取第三验证结果(步骤94),判断第三验证结果是否为真,若为真,则确定设备证书合法(步骤95)。为了实现上述实施例,本申请还提出了一种认证云平台,图10是根据本申请一个实施例的认证云平台的结构示意图,如图10所示,该认证云平台包括第一接收模块1100、第一获取模块1200、第一验证模块1300、第二验证模块1400和第一处理模块1500。其中,第一接收模块1100,用于接收客户端发送的从智能设备中获取的厂商基本信息、设备公钥、第一签名信息和厂商证书,其中,第一签名信息是智能设备应用预设算法对设备公钥和智能设备中预存的厂商私钥进行计算生成的。第一获取模块1200,用于查询预先存储的厂商注册信息,获取与厂商基本信息对应的厂商公钥;第一验证模块1300,用于根据厂商公钥验证厂商证书是否合法。第二验证模块1400,用于在验证获知厂商证书合法时,根据厂商证书验证第一签名信息是否合法;第一处理模块1500,用于在验证获知第一签名信息合法时,根据设备公钥生成智能设备的设备证书,并发送给客户端,以通过客户端写入智能设备。需要说明的是,前述集中在认证云平台侧描述的智能设备的证书签发方法实施例的描述,也适用于本申请实施例的认证云平台,其实现原理类似,在此不再赘述。上述认证云平台中各个模块的划分仅用于举例说明,在其他实施例中,可将认证云平台端按照需要划分为不同的模块,以完成上述认证云平台的全部或部分功能。综上所述,接收客户端发送的智能设备的厂商基本信息,设备公钥、第一签名信息和厂商证书,查询认证云平台预先存储的厂商注册信息,获取与厂商基本信息对应的厂商公钥,根据厂商公钥验证厂商证书是否合法,若验证获知厂商证书合法,则根据厂商证书验证第一签名信息是否合法,若验证获知第一签名信息合法,则生成智能设备的设备证书,并发送给客户端写入智能设备。由此,认证云平台通过和客户端的信息交互即可实现智能设备的证书的生成和下发,实现了智能设备的证书的在线处理,保证了智能设备的证书的处理效率和准确度。为了实现上述实施例,本申请还提出了一种客户端,图11是根据本申请一个实施例的客户端的结构示意图,如图11所示,该客户端包括第一发送模块3100、第二接收模块3200、第二发送模块3300、第三接收模块3400、第三发送模块3500和第四接收模块3600。其中,第一发送模块3100,用于向智能设备发送信息获取指令。第二接收模块3200,用于接收智能设备返回的厂商基本信息、设备公钥、第一签名信息和厂商证书,其中,第一签名信息是智能设备应用预设算法对设备公钥和预存的厂商私钥进行计算生成的。第二发送模块3300,用于将厂商基本信息、设备公钥、第一签名信息和厂商证书发送给认证云平台,以使认证云平台生成智能设备的设备证书。第三接收模块3400,用于接收认证云平台返回的设备证书。第三发送模块3500,用于向智能设备发送包括设备证书的证书写入指令。第四接收模块3600,用于接收智能设备写入设备证书后反馈的写入成功响应。需要说明的是,前述集中在客户端侧描述的客户端的证书签发方法实施例的描述,也适用于本申请实施例的客户端,其实现原理类似,在此不再赘述。上述客户端中各个模块的划分仅用于举例说明,在其他实施例中,可将客户端端按照需要划分为不同的模块,以完成上述客户端的全部或部分功能。综上所述,向智能设备发送信息获取指令,获取智能设备返回的厂商基本信息、设备公钥、第一签名信息和厂商证书,将厂商基本信息、设备公钥、第一签名信息和厂商证书发送给认证云平台,获取认证云平台返回的为智能设备生成的设备证书,进而,向智能设备发送包括设备证书的证书写入指令,接收智能设备写入设备证书后反馈的写入成功响应。由此,实现了智能设备的设备证书签发的在线实施,提高了证书签发的灵活性和可靠性。为了实现上述实施例,本申请还提出了一种智能设备,图12是根据本申请一个实施例的智能设备的结构示意图,如图12所示,该智能设备包括第五接收模块2100、生成模块2200、反馈模块2300、第六接收模块2400、第二处理模块2500。其中,第五接收模块2100,用于接收客户端发送的信息获取指令。生成模块2200,用于生成设备公钥,并应用预设算法对预存的厂商私钥和设备公钥进行计算生成第一签名信息。反馈模块2300,用于向客户端返回设备公钥、第一签名信息以及预存的厂商基本信息和厂商证书,以使客户端将厂商基本信息、设备公钥、第一签名信息和厂商证书发送给认证云平台,并获取认证云平台为智能设备生成的设备证书。第六接收模块2400,用于接收客户端发送的包括设备证书的证书写入指令。第二处理模块2500,用于验证设备证书的合法性,若验证合法,则将设备证书写入智能设备中,并向客户端反馈写入成功响应。需要说明的是,前述集中在智能设备侧描述的智能设备的证书签发方法实施例的描述,也适用于本申请实施例的智能设备,其实现原理类似,在此不再赘述。上述智能设备中各个模块的划分仅用于举例说明,在其他实施例中,可将智能设备端按照需要划分为不同的模块,以完成上述智能设备的全部或部分功能。综上所述,接收客户端发送的信息获取指令,生成设备公钥,并应用预设算法对预存的厂商私钥和设备公钥进行计算生成第一签名信息,向客户端返回厂商基本信息、设备公钥、第一签名信息和智能设备中预存的厂商证书,以使客户端将厂商基本信息、设备公钥、第一签名信息和厂商证书发送给认证云平台,获取认证云平台为智能设备生成的设备证书,进而,接收客户端发送的包括设备证书的证书写入指令,验证设备证书合法后,将设备证书写入智能设备中,并向客户端反馈写入成功响应。由此,实现了证书的自动化写入,提高了证书签发的效率,且基于生产过程中植入的厂商基本信息进行证书的生成,提高了生成的证书的准确度。为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器被执行时,使得能够执行如上述实施例集中在认证云平台端描述的智能设备的证书签发方法。为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器被执行时,使得能够执行如上述实施例集中在智能设备端描述的智能设备的证书签发方法。为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器被执行时,使得能够执行如上述实施例集中在客户端描述的智能设备的证书签发方法。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属
技术领域
的技术人员所理解。在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。本
技术领域
的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1