CN118070316A - 基于安全设备的离线授权方法、离线授权系统和存储介质 - Google Patents

基于安全设备的离线授权方法、离线授权系统和存储介质 Download PDF

Info

Publication number
CN118070316A
CN118070316A CN202410466485.7A CN202410466485A CN118070316A CN 118070316 A CN118070316 A CN 118070316A CN 202410466485 A CN202410466485 A CN 202410466485A CN 118070316 A CN118070316 A CN 118070316A
Authority
CN
China
Prior art keywords
authorization
authorized
data
equipment
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202410466485.7A
Other languages
English (en)
Other versions
CN118070316B (zh
Inventor
王巨
刘园园
姜波
赵晨曦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Snowball Technology Co ltd
Original Assignee
Shenzhen Snowball Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Snowball Technology Co ltd filed Critical Shenzhen Snowball Technology Co ltd
Priority to CN202410466485.7A priority Critical patent/CN118070316B/zh
Publication of CN118070316A publication Critical patent/CN118070316A/zh
Application granted granted Critical
Publication of CN118070316B publication Critical patent/CN118070316B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Automation & Control Theory (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及物联网设备的离线授权领域,提供了基于安全设备的离线授权方法、离线授权系统和存储介质。该方法服务器通过前端页面获取授权请求构建APDU序列,并对APDU序列进行两次加密,得到加密APDU序列;并基于临时公私钥对和存储的业务设备公钥对加密APDU序列进行加密,得到密文;将临时公钥、验证信息和密文进行合并后的文件确定为授权文件;向终端发送授权文件,终端对密文进行解密,将加密APDU序列发送至目标安全设备,目标安全设备基于对加密APDU序列进行解密后,向不同物联网设备进行待授权数据的离线授权。该方法实现了授权时终端无需联网,通过一个授权文件即可完成安全授权,满足工厂产线不允许联网的需求。

Description

基于安全设备的离线授权方法、离线授权系统和存储介质
技术领域
本申请涉及物联网设备的离线授权领域,具体而言,涉及一种基于安全设备的离线授权方法、离线授权系统和存储介质。
背景技术
在物联网生产过程中,很多物联网设备都需要设备证书(设备私钥)来保证设备的合法性。设备证书一般可以在产线写入。为保证设备证书及其私钥的安全性,往往需要实时的连接到云端的PKI系统进行签发,这样在大批量物联网设备量产时,网络的不稳定性会对产线上物联网设备的生产造成比较大的影响。
发明内容
本申请实施例的目的在于提供一种基于安全设备的离线授权方法、离线授权系统和存储介质,解决了现有技术存在的上述问题,实现了授权时PC客户端无需联网,通过一个授权文件即可完成安全授权,授权文件不能被篡改。满足工厂产线不允许联网的需求。
第一方面,提供了一种基于安全设备的离线授权方法,应用在离线授权系统的服务器中,所述离线授权系统还包括终端和目标安全设备,该方法可以包括:
通过前端页面获取授权请求,所述授权请求包括待授权数据标识、授权次数和目标安全设备的设备序列号;
基于所述待授权数据标识、查询到的相应待授权数据、所述授权次数和所述待授权数据的授权计数值,构建APDU序列;所述授权计数值为对所述待授权数据构建APDU序列的累计值;
基于存储的辅助安全信息,对所述APDU序列进行加密,得到加密APDU序列;并基于配置的临时公私钥对和存储的业务设备公钥,对加密APDU序列进行加密,得到密文;
将临时公钥、验证信息和密文进行合并后的文件确定为授权文件;
向所述终端发送包括所述授权文件、所述临时公钥和所述设备序列号SN的授权导入请求,以使终端基于授权导入请求中的设备序列号SN和相应的设备信息对所述验证信息进行验证成功后,根据临时公钥tempPubKey和设备信息对密文M进行解密,并将解密后的加密APDU序列发送至目标安全设备,使目标安全设备基于设备信息对加密APDU序列进行解密得到所述APDU序列后,向不同物联网设备进行APDU序列中待授权数据的离线授权。
在一个可能的实现中,通过前端页面接收授权请求之前,所述方法还包括:
接收对目标安全设备的初始化请求;所述初始化请求包括所述目标安全设备SE的初始设备信息和初始化操作;
根据所述初始设备信息和存储的密钥信息,对所述目标安全设备执行初始化操作,得到初始化后的设备信息;其中,所述初始化后的设备信息包括新ISD、授权管理安全域信息、辅助安全域信息和设备授权域信息和业务数据域信息;所述设备授权域信息包含设备序列号、初始的授权计数值、和业务设备端密钥;所述业务数据域信息包括待授权数据的授权次数、待授权数据标识和相应待授权数据;
通过所述终端向所述目标安全设备发送所述初始化后的设备信息。
在一个可能的实现中,所述验证信息包括签名值和存储的业务服务器证书;其中,所述签名值是基于存储的业务服务端私钥,对配置的临时公私钥对中的临时公钥和所述设备序列号SN进行签名得到的。
在一个可能的实现中,所述服务器存储的辅助安全信息包括SSD SCP11c设备证书、SSD SCP11c密钥服务端私钥和SSD SCP11c密钥服务端证书;
基于存储的辅助安全信息,对所述APDU序列进行加密,得到加密APDU序列,包括:
利用SSD SCP11c设备证书、SSD SCP11c密钥服务端私钥、SSD SCP11c密钥服务端证书,对所述APDU序列进行加密,得到加密APDU序列。
在一个可能的实现中,基于配置的临时公私钥对和存储的业务设备公钥,对加密APDU序列进行加密,得到密文,包括:
采用ECDH算法,对配置的临时公私钥对和存储的业务设备公钥进行处理,得到预设字节数的AES256密钥;
采用AES256密钥,对加密APDU序列进行加密,得到密文。
第二方面,提供了一种基于安全设备的离线授权方法,应用在离线授权系统的终端中,所述离线授权系统还包括服务器和安全设备,该方法可以包括:
接收所述服务器 发送的包括授权文件、临时公钥和目标安全设备的设备序列号的授权导入请求;其中,所述临时公钥为所述服务器配置的临时公私钥对中的公钥;所述授权文件为所述服务器将所述临时公钥、验证信息和密文合并后的文件;所述密文为所述服务器基于存储的辅助安全信息,对APDU序列进行加密得到加密APDU序列后,基于所述临时公私钥对和存储的业务设备公钥对加密APDU序列进行加密得到的;所述APDU序列为所述服务器基于待授权数据标识、相应待授权数据、授权次数和所述待授权数据的授权计数值构建的;
获取所述设备序列号对应的目标安全设备的设备信息;
基于所述设备信息,对所述验证信息进行验证;
若验证成功,则采用所述临时公钥和所述设备信息,对所述密文进行解密,并将解密后的加密APDU序列发送至所述目标安全设备,以使所述目标安全设备,基于设备信息对所述加密APDU序列进行解密得到所述APDU序列后,向不同物联网设备进行所述APDU序列中待授权数据的离线授权。
在一个可能的实现中,所述设备信息包括业务CA根公钥;所述验证信息包括签名值和业务服务器证书;其中,所述签名值是基于存储的业务服务端私钥,对配置的临时公私钥对中的临时公钥和所述设备序列号进行签名得到的;
基于所述设备信息,对所述验证信息进行验证,包括:
采用所述业务CA根公钥,对所述业务服务器证书进行验证,得到第一验证结果;
在所述第一验证结果为验证成功时,使用所述业务服务器证书对所述签名值进行验证,得到第二验证结果,以使在第二验证结果为验证成功时,采用所述临时公钥和所述设备信息,对所述密文进行解密。
第三方面,提供了一种基于安全设备的离线授权方法,应用在离线授权系统的目标安全设备中,所述离线授权系统还包括服务器和终端,该方法可以包括:
接收所述终端发送的加密APDU序列;其中,所述加密APDU序列是所述服务器基于存储的辅助安全信息,对APDU序列进行加密得到的所述APDU序列是所述服务器基于待授权数据标识、相应待授权数据、授权次数和所述待授权数据的授权计数值构建的;
采用设备信息中的辅助安全域信息,对所述加密APDU序列进行解密,得到所述APDU序列;
基于所述APDU序列中的授权计数值、授权次数和待授权数据标识,确定向不同物联网设备进行待授权数据的离线授权。
在一个可能的实现中,基于所述APDU序列中的授权计数值、授权次数和待授权数据标识,确定向不同物联网设备进行待授权数据的离线授权,包括:
若所述APDU序列中的授权计数值大于当前存储的授权计数值,且检测到自身存储有所述待授权数据标识,则将所述APDU序列中的授权次数对自身存储的授权次数进行累加;基于累加后的授权次数,向不同物联网设备进行待授权数据的离线授权;
若所述APDU序列中的授权计数值大于当前存储的授权计数值,且未检测到自身存储有所述待授权数据标识,则存储所述待授权数据标识、所述待授权数据和相应授权次数;基于所述授权次数,向不同物联网设备进行待授权数据的离线授权。
在一个可能的实现中,接收所述终端发送的加密APDU序列之前,所述方法还包括:
接收服务器通过所述终端发送的初始化后的设备信息;其中,所述初始化后的设备信息包括授权管理安全域的信息、辅助安全域的信息和设备授权域的信息和业务数据域的信息;所述设备授权域信息包含设备序列号和业务设备端密钥;所述业务数据域信息包括授权计数初始值、待授权数据的授权次数、待授权数据标识和相应待授权数据。
第四方面,提供了一种离线授权系统,该离线授权系统可以包括:服务器、终端和目标安全设备,其中,终端分别与服务器和目标安全设备建立通信连接;
服务器,用于执行第一方面中任一所述的方法;
终端,用于执行第二方面中任一所述的方法;
目标安全设备,用于执行第三方面中任一所述的方法。
第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第二方面或第三方面中任一所述的方法步骤。
第六方面,提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面或第二方面或第三方面中任一所述的方法步骤。
本申请实施例提供的基于安全设备的离线授权方法服务器通过前端页面获取授权请求,所述授权请求包括待授权数据标识、授权次数和目标安全设备的设备序列号;基于所述待授权数据标识、查询到的相应待授权数据、授权次数和所述待授权数据的授权计数值,构建APDU序列;授权计数值为对待授权数据构建APDU序列的累计值;基于存储的辅助安全信息,对APDU序列进行加密,得到加密APDU序列;并基于配置的临时公私钥对和存储的业务设备公钥,对加密APDU序列进行加密,得到密文;将临时公钥、验证信息和密文进行合并后的文件确定为授权文件;向终端发送包括授权文件、临时公钥和设备序列号SN的授权导入请求,以使终端基于授权导入请求中的设备序列号SN和相应的设备信息对验证信息进行验证成功后,根据临时公钥和设备信息对密文进行解密,并将解密后的加密APDU序列发送至目标安全设备,使目标安全设备基于设备信息对加密APDU序列进行解密得到所述APDU序列后,向不同物联网设备进行APDU序列中待授权数据的离线授权。该方法实现了授权时PC客户端无需联网,通过一个授权文件即可完成安全授权,授权文件不能被篡改,满足工厂产线不允许联网的需求。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种离线授权系统的结构示意图;
图2为本申请实施例提供的一种基于安全设备的离线授权方法的流程示意图;
图3为本申请实施例提供的一种初始化前的安全设备SE的结构示意图;
图4为本申请实施例提供的一种初始化后的安全设备SE的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了方便理解,下面对本申请实施例中涉及的名词进行解释:
Applet,运行在SE安全芯片中的小程序;
SCP11c,GP规范中的一种安全通道协议,该协议可以在将SE的安全域初始化后,让SE执行离线脚本;
ISD,发行方安全域;
AMSD,授权管理安全域;
SSD,辅助安全域;
本申请实施例提供的基于安全设备的离线授权方法可以应用在图1所示的离线授权系统中,如图1所示,该离线授权系统可以包括:服务器(或称“云端”)、终端(或称“PC端”)和至少一个安全设备SE。其中,该服务器可以是物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN),以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是移动电话、智能电话、笔记本电脑等用户设备(User Equipment,UE)、手持设备、车载设备、可穿戴设备、计算设备等。终端与服务器可以通过有线或无线的通信方式进行直接或间接的连接,本申请在此不做限定。
1、服务器可具有以下功能:
a、存储SE的设备信息、SE中Applet的根密钥和服务器私钥,如果没有硬件模块,也可以将密钥软存储;
b、在安全硬件提供给用户前,需要对安全硬件中的安全设备SE做一系列的初始化动作;
c、产生授权文件,可以为用户提供一个WEB页面让用户自助产生授权文件。
在服务器首次部署时,需要预置如表1所示的密钥:
表1
<b>密钥名称</b> <b>用途</b>
设备SE芯片原始ISD根密钥 SE芯片的初始密钥,在设备首次进行初始化时可以验证设备的合法性
设备SE芯片替换ISD根密钥 替换后的ISD根密钥
SCP11c CA根私钥 用来签发服务端SCP11c其他证书的根CA私钥
SCP11c CA根公钥
AMSD SCP03根密钥 AMSD的SCP03根密钥,可以用来在线管理Applet
AMSD SCP11c密钥服务端私钥
AMSD SCP11c密钥服务端证书 由SCP11c CA根私钥签发,下发离线升级Applet脚本时携带该证书
AMSD SCP11c设备证书 由SCP11c CA根私钥签发,所有的安全硬件使用同一个,用于协商保护密钥,脚本执行结果验签
AMSD SCP11c设备私钥
SSD SCP11c密钥服务端私钥
SSD SCP11c密钥服务端证书 由SCP11c CA根私钥签发,下发离线授权脚本时携带该证书
业务CA根私钥
业务CA根公钥
业务服务端证书 使用 业务CA根私钥 签发,用于云端与安全硬件直接的安全数据通讯
业务服务端私钥
其中,服务器可以自行根据上述部分密钥,得到相应部分密钥的衍生密钥,如,根据AMSD SCP03根密钥可得到AMSD SCP03子密钥,也可以随机产生密钥,如随机产生SSDSCP11c设备私钥。
2、终端具有初始化程序:在安全设备提供给用户前,使用该工具请求服务器,并将初始化的信息,写入到安全设备中;
3、授权导入/使用程序:将授权文件导入到安全硬件中,也可以使用安全设备中的授权文件,授权文件导入和授权文件的离线使用两个功能可以分开成两个程序;
4、安全设备设置于安全硬件中:安全硬件是运行Applet的一个硬件,其主要组成是由一个符合GP规范的SE安全硬件,SE内部运行了Applet。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图2为本申请实施例提供的一种基于安全设备的离线授权方法的流程示意图。如图2所示,该方法可以包括:
S20、服务器通过前端页面获取授权请求。
在执行S20该步骤之前,服务器可以对目标安全设备SE进行初始化,具体包括:
A、接收用户对目标安全设备SE的初始化请求;初始化请求可以包括目标安全设备SE的初始设备信息、初始化操作和相应的设备ID;如图3所示,初始化前的安全设备SE的初始设备信息包括ISD和原始ISD子密钥。
B、根据初始设备信息和存储的密钥信息,对目标安全设备SE执行初始化操作,得到初始化后的设备信息;
C、通过终端向目标安全设备SE发送初始化后的设备信息。
在一个具体的例子中,服务器对目标安全设备SE执行初始化操作,包括:
1)通过用户对目标安全设备SE的初始化请求中获取目标安全设备SE的唯一ID;
2)将新ISD子密钥的ISD替换原始ISD子密钥。ISD子密钥是由服务器根据ISD根密钥对SE的唯一ID分散推导得到的。
3)创建AMSD,并写入AMSD SCP03子密钥、AMSD SCP11c设备证书、AMSD SCP11c设备私钥和SCP11c CA根公钥。
4)创建SSD,并在云端实时创建针对该安全设备的设备序列号(SN)、SSD SCP11c设备私钥和使用SCP11c CA根私钥签发SSD SCP11c设备证书和业务设备私钥;使用业务CA根私钥签发业务设备证书、初始的授权计数器设置为0、默认的PIN文件;其中,在安全设备上增加PIN保护认证使用人的合法性,提高了安全性。
5)在SSD中写入SSD SCP03子密钥、SSD SCP11c设备证书、SSD SCP11c设备私钥和SCP11c CA根公钥;
6)下载并安装Applet,并写入业务设备证书、业务设备私钥、业务CA根公钥、设备序列号(SN)、PIN、初始的授权计数值,默认值为0;
7)将设备序列号(SN)、使用SCP11c CA根私钥签发SSD SCP11c设备证书、使用业务CA根私钥签发业务设备证书和初始的授权计数值保存为一条相应设备序列号(SN)对应的设备记录。其中,服务器基于业务设备证书可得到业务设备公钥。
以上初始化操作在安全的环境下执行,使用SCP03协议的安全通道实现端到端的安全保护,保证安全性。
如图4所示,初始化后的设备信息可以包括新ISD的信息、授权管理安全域的信息AMSD、辅助安全域的信息SSD和设备授权域的信息Applet和业务数据域信息,其中:新ISD的信息为新ISD根密钥的ISD。授权管理安全域AMSD的信息可以包含AMSD SCP03子密钥、AMSDSCP11c设备私钥、AMSD SCP11c设备证书和SCP11c CA根公钥。辅助安全域SSD的信息可以包含SSD SCP03子密钥、SSD SCP11c设备私钥、SSD SCP11c设备证书和SCP11c CA根公钥。设备授权域Applet的信息可以包含设备序列号(SN)、初始的授权计数值和业务设备端密钥;业务设备端密钥包含业务设备私钥、业务设备证书、PIN文件和业务CA根公钥。可以理解的是,初始化后的设备信息包含的是初始的授权计数值,之后的设备信息包含的是授权计数值。业务数据域的信息可以包括不同的业务数据(业务数据1、…、业务数据n)的区域,每个业务数据的区域包括待授权数据的授权次数、待授权数据标识和相应待授权数据。需要说明的是,初始化后的业务数据域信息待授权数据的授权次数、待授权数据标识和相应待授权数据均为空信息。
回到步骤S20,用户可以通过前端页面输入的待授权数据标识OID、选定的目标安全设备和待授权数据的授权次数,以生成授权请求,该授权请求触发服务器开启授权服务。
其中,授权请求可以包括待授权数据标识OID、授权次数和目标安全设备的设备序列号。授权次数是指待授权数据标识OID对应的待授权数据允许被授权的次数。目标安全设备为系统中至少一个安全设备中用户选定的任意一个。
S21、服务器基于待授权数据标识、查询到的相应待授权数据、授权次数和该待授权数据的授权计数值构建APDU序列。
服务器根据用户输入的待授权数据标识OID,查询到相应的待授权数据;之后基于待授权数据标识OID、相应待授权数据、授权次数和授权计数值,构建APDU序列。
其中,该APDU序列为明文APDU序列。
授权计数值为对该待授权数据构建APDU序列的累计值,用于防止授权文件重复导入,该计数器只能增加。
授权次数与待授权数据(密钥或文件)关联,当待授权数据每被使用一次,则授权次数自动减一,当减到0后关联的待授权数据不能使用,该授权次数可以通过授权文件增加次数。
S22、服务器基于存储的辅助安全信息、配置的临时公私钥对和存储的业务设备公钥,对APDU序列进行两次加密,得到密文。
具体实施中,基于存储的辅助安全信息SSD,对APDU序列进行加密,得到加密APDU序列。具体的,利用存储的SSD SCP11c设备证书、SSD SCP11c密钥服务端私钥、SSD SCP11c密钥服务端证书,对APDU序列进行加密,得到加密APDU序列。
之后,基于配置的临时公私钥对(tempPubKey、tempPriKey)和存储的业务设备公钥,对加密APDU序列进行加密,得到密文M。具体的,采用ECDH算法,对配置的临时公私钥对和存储的业务设备公钥进行处理,得到预设字节数,如协商出32个字节的AES256密钥;采用AES256密钥,对加密APDU序列进行AES-GCM加密,得到密文M。
S23、服务器将临时公钥、验证信息和密文进行合并后的文件确定为授权文件。
其中,验证信息可以包括sign和存储的业务服务器证书;签名值sign是服务器基于存储的业务服务端私钥,对配置的临时公私钥对中的临时公钥tempPubKey和设备序列号SN进行签名得到的。
S24、服务器向终端发送授权文件、临时公钥和设备序列号的授权导入请求,以使终端基于授权导入请求中的设备序列号SN和相应的设备信息对所述验证信息进行验证成功后,根据临时公钥tempPubKey和设备信息对密文M进行解密,并将解密后的加密APDU序列发送至目标安全设备,使目标安全设备基于设备信息对加密APDU序列进行解密得到所述APDU序列后,向不同物联网设备进行APDU序列中待授权数据的离线授权。
S25、终端获取设备序列号对应的目标安全设备的设备信息。
终端接收服务器发送的包括授权文件、临时公钥tempPubKey和目标安全设备的设备序列号SN的授权导入请求后,基于设备序列号SN从相应的目标安全设备中读取设备信息,如业务CA根公钥和业务设备证书中的业务设备公钥。
S26、终端基于设备信息,对验证信息进行验证。
若验证成功,则执行步骤S27;
具体的,终端采用业务CA根公钥,对验证信息中的业务服务器证书进行验证,得到第一验证结果;在第一验证结果为验证成功时,使用业务服务器证书,对验证信息中的签名值sign进行验证,得到第二验证结果;在第二验证结果为验证成功时,采用所述临时公钥tempPubKey和所述设备信息,对所述密文M进行解密。
也就是说,第一验证结果和第二验证结果均为验证成功时,终端基于设备信息,对验证信息的验证结果才是验证成功。
由于第一验证结果为验证失败后,不会对签名值进行校验,故若第一验证结果为验证成功,且第二验证结果为验证失败,则结束本次授权流程。
S27、终端采用临时公钥和设备信息对密文进行解密,得到加密APDU序列。
具体实施中,终端使用临时公钥tempPubKey、设备信息中的业务设备公钥(从业务设备证书中获取的)和业务设备私钥协商解密密钥,对密文M进行解密,得到加密APDU序列。
S28、终端将解密后的加密APDU序列发送至目标安全设备,以使目标安全设备,基于设备信息对加密APDU序列进行解密得到APDU序列后,向不同物联网设备进行APDU序列中待授权数据的离线授权。
S29、目标安全设备采用辅助安全域信息,对加密APDU序列进行解密,得到APDU序列。
具体实施中,目标安全设备采用自身存储的SSD SCP03子密钥、SSD SCP11c设备私钥、SSD SCP11c设备证书和SCP11c CA根公钥,对加密APDU序列进行解密,得到APDU序列。
S30、目标安全设备基于APDU序列中的授权计数值、授权次数和待授权数据标识,确定向不同物联网设备进行待授权数据的离线授权。
若APDU序列中的授权计数值大于当前存储的授权计数值,且检测到自身存储有待授权数据标识OID,则将APDU序列中的授权次数对自身存储的授权次数进行累加;基于累加后的授权次数,向不同物联网设备进行待授权数据的离线授权;
若APDU序列中的授权计数值大于当前存储的授权计数值,且未检测到自身存储有待授权数据标识OID,则存储待授权数据标识OID、待授权数据和相应授权次数;基于授权次数,向不同物联网设备进行待授权数据的离线授权。
若APDU序列中的授权计数值不大于当前存储的授权计数值,则认为接收的授权文件已失效。
进一步的,本申请服务器还可以对Applet进行升级,包括:
1、服务器获取待升级的设备序列号(SN)和用户选定的Applet新版本;
2、服务器将存储的Applet转换为升级Applet的明文APDU序列;
3、服务器使用AMSD SCP11c设备证书、AMSD SCP11c密钥服务端私钥、AMSD SCP11c密钥服务端证书,将明文的APDU序列加密封装成密文的APDU序列;
4、服务器将该密文的APDU序列保存成JSON或其他格式的文件,该文件就是授权Applet升级包,并将其发送至终端;
5、终端读取升级包的APDU序列,并将其发送至SE;
6、SE使用SCP11c 解密APDU序列并执行升级。
该升级方法可以在不泄露Applet本身的情况下,完成Applet的升级。即使升级包泄露,只要对应的设备和服务端的密钥不泄露Applet本身就不会泄露。
本申请可应用的场景:
场景1:云端授权一个CA的私钥,该私钥可以为设备签发设备,授权时指定授权次数。授权完成后,将授权文件发送给对应的物联网设备工厂进行设备证书的签发。
场景2:云端批量产生个性化的设备数据,并使用某个密钥加密。同时云端授权某个安全硬件可以解密数据N次,超过N次则解密密钥失效。将批量文件和授权文件同时发送给对方,对方就只能解密N条数据。
进一步的,本申请提供的基于安全设备的离线授权方法,还可以进一步做如何操作:
可增加通讯保护密钥,在与安全设备通讯时先要与安全设备建立安全通道,以保护链路上的安全。通讯保护密钥可以使用PIN推导得到,以便上位机管理;
安全设备可以增加生物识别的机制,以进一步增加安全性;
安全设备可以增加大容量Flash空间,以存储更多需要保护的文件,实现大数据量的保护;
Applet对应的业务操作可以增加更多自定义的处理逻辑,并与计数器进行关联。例如:在签名时验证签名数据中是否包含某些内容,不包含的则拒绝签名。
在一些实施例中,目标安全设备基于累加后的授权次数/存储的授权次数,向不同物联网设备进行待授权数据的离线授权过程中,目标安全设备可以依次对每个物联网设备进行待授权数据的离线授权,每次均在累加后的授权次数/存储的授权次数上减1,直至累加后的授权次数/存储的授权次数减至0;或者,目标安全设备可以先通过多接口与不同物联网设备连接,获取到已连接的物联网设备的数量;若该数量不大于授权次数/存储的授权次数,则同时向已连接的不同物联网设备进行待授权数据的离线授权;若该数量大于授权次数/存储的授权次数,则基于配置的调度条件,确定与授权次数/存储的授权次数相同数量的目标物联网设备,并向目标物联网设备进行待授权数据的离线授权。
其中,配置的调度条件是基于训练好的设备使用情况预测模型确定的,具体的,基于不同类型的物联网设备的历史使用数据(不同时间的使用状态和设备工作数据,及使用频率)进行建模,得到设备使用情况预测模型,即可预测出不同类型的物联网设备在未来时间段内的使用情况。将选取设备使用情况预测模型输出的使用情况中在未来时间段内使用频率高,工作效率高且故障概率低的物联网设备的条件作为配置的调度条件。
进一步的,对于设备使用情况预测模型的训练还可以考虑物联网设备的健康程度;具体的,可以采用高斯混合算法,对设备的工作数据进行运算,得到该工作数据的高斯分布函数;采用预设算法,对该高斯分布函数和预设的基准高斯分布函数进行运算,得到相应设备的健康程度,其中,该基准高斯分布函数为相应设备正常工作时的工作数据对应的高斯分布函数,从而根据不同类型的物联网设备的历史使用数据和相应设备的健康程度进行建模,得到设备使用情况预测模型。
本申请提供的基于安全设备的离线授权方法,包括以下优点:
1、无需来回交互,授权时PC客户端无需联网,通过一个授权文件即可完成安全授权,授权文件不能被篡改。满足部分工厂产线不允许联网的需求。
2、一个授权文件只能针对某个设备、使用一次,不能多设备使用也不能重复使用,即使文件泄露也没有安全问题。
本申请实施例还提供了一种电子设备,如图5所示,包括处理器510、通信接口520、存储器530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。
存储器530,用于存放计算机程序;
处理器510,用于执行存储器530上所存放的程序时,实现如下步骤:
通过前端页面获取授权请求,所述授权请求包括待授权数据标识、授权次数和目标安全设备的设备序列号;
基于所述待授权数据标识、查询到的相应待授权数据、所述授权次数和所述待授权数据的授权计数值,构建APDU序列;所述授权计数值为对所述待授权数据构建APDU序列的累计值;
基于存储的辅助安全信息,对所述APDU序列进行加密,得到加密APDU序列;并基于配置的临时公私钥对和存储的业务设备公钥,对加密APDU序列进行加密,得到密文;
将临时公钥、验证信息和密文进行合并后的文件确定为授权文件;
向所述终端发送包括所述授权文件、所述临时公钥和所述设备序列号SN的授权导入请求。
或者,实现如下步骤:
接收所述服务器 发送的包括授权文件、临时公钥和目标安全设备的设备序列号的授权导入请求;其中,所述临时公钥为所述服务器配置的临时公私钥对中的公钥;所述授权文件为所述服务器将所述临时公钥、验证信息和密文合并后的文件;所述密文为所述服务器基于存储的辅助安全信息,对APDU序列进行加密得到加密APDU序列后,基于所述临时公私钥对和存储的业务设备公钥对加密APDU序列进行加密得到的;所述APDU序列为所述服务器基于待授权数据标识、相应待授权数据、授权次数和所述待授权数据的授权计数值构建的;
获取所述设备序列号对应的目标安全设备的设备信息;
基于所述设备信息,对所述验证信息进行验证;
若验证成功,则采用所述临时公钥和所述设备信息,对所述密文进行解密,并将解密后的加密APDU序列发送至所述目标安全设备。
或者,实现如下步骤:
接收所述终端发送的加密APDU序列;其中,所述加密APDU序列是所述服务器基于存储的辅助安全信息,对APDU序列进行加密得到的所述APDU序列是所述服务器基于待授权数据标识、相应待授权数据、授权次数和所述待授权数据的授权计数值构建的;
采用设备信息中的辅助安全域信息,对所述加密APDU序列进行解密,得到所述APDU序列;
基于所述APDU序列中的授权计数值、授权次数和待授权数据标识,确定向不同物联网设备进行待授权数据的离线授权。
上述提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由于上述实施例中电子设备的各器件解决问题的实施方式以及有益效果可以参见图2所示的实施例中的各步骤来实现,因此,本申请实施例提供的电子设备的具体工作过程和有益效果,在此不复赘述。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的基于安全设备的离线授权方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的基于安全设备的离线授权方法。
本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。

Claims (10)

1.一种基于安全设备的离线授权方法,其特征在于,应用在离线授权系统的服务器中,所述离线授权系统还包括终端和目标安全设备,所述方法包括:
通过前端页面获取授权请求,所述授权请求包括待授权数据标识、授权次数和目标安全设备的设备序列号;
基于所述待授权数据标识、查询到的相应待授权数据、所述授权次数和所述待授权数据的授权计数值,构建APDU序列;所述授权计数值为对所述待授权数据构建APDU序列的累计值;
基于存储的辅助安全信息,对所述APDU序列进行加密,得到加密APDU序列;并基于配置的临时公私钥对和存储的业务设备公钥,对加密APDU序列进行加密,得到密文;
将临时公钥、验证信息和密文进行合并后的文件确定为授权文件;
向所述终端发送包括所述授权文件、所述临时公钥和所述设备序列号SN的授权导入请求。
2.如权利要求1所述的方法,其特征在于,通过前端页面接收授权请求之前,所述方法还包括:
接收对目标安全设备的初始化请求;所述初始化请求包括所述目标安全设备的初始设备信息和初始化操作;
根据所述初始设备信息和存储的密钥信息,对所述目标安全设备执行初始化操作,得到初始化后的设备信息;其中,所述初始化后的设备信息包括新ISD、授权管理安全域信息、辅助安全域信息和设备授权域信息和业务数据域信息;所述设备授权域信息包含设备序列号、初始的授权计数值、和业务设备端密钥;所述业务数据域信息包括待授权数据的授权次数、待授权数据标识和相应待授权数据;
通过所述终端向所述目标安全设备发送所述初始化后的设备信息。
3.如权利要求1所述的方法,其特征在于,所述验证信息包括签名值和存储的业务服务器证书;其中,所述签名值是基于存储的业务服务端私钥,对配置的临时公私钥对中的临时公钥和所述设备序列号进行签名得到的。
4.如权利要求1所述的方法,其特征在于,所述服务器存储的辅助安全信息包括SSDSCP11c设备证书、SSD SCP11c密钥服务端私钥和SSD SCP11c密钥服务端证书;
基于存储的辅助安全信息,对所述APDU序列进行加密,得到加密APDU序列,包括:
利用SSD SCP11c设备证书、SSD SCP11c密钥服务端私钥、SSD SCP11c密钥服务端证书,对所述APDU序列进行加密,得到加密APDU序列;
采用AES256密钥,对加密APDU序列进行加密,得到密文。
5.一种基于安全设备的离线授权方法,其特征在于,应用在离线授权系统的终端中,所述离线授权系统还包括服务器和安全设备,所述方法包括:
接收所述服务器 发送的包括授权文件、临时公钥和目标安全设备的设备序列号的授权导入请求;其中,所述临时公钥为所述服务器配置的临时公私钥对中的公钥;所述授权文件为所述服务器将所述临时公钥、验证信息和密文合并后的文件;所述密文为所述服务器基于存储的辅助安全信息,对APDU序列进行加密得到加密APDU序列后,基于所述临时公私钥对和存储的业务设备公钥对加密APDU序列进行加密得到的;所述APDU序列为所述服务器基于待授权数据标识、相应待授权数据、授权次数和所述待授权数据的授权计数值构建的;
获取所述设备序列号对应的目标安全设备的设备信息;
基于所述设备信息,对所述验证信息进行验证;
若验证成功,则采用所述临时公钥和所述设备信息,对所述密文进行解密,并将解密后的加密APDU序列发送至所述目标安全设备。
6.如权利要求5所述的方法,其特征在于,所述设备信息包括业务CA根公钥;所述验证信息包括签名值和业务服务器证书;其中,所述签名值是基于存储的业务服务端私钥,对配置的临时公私钥对中的临时公钥和所述设备序列号进行签名得到的;
基于所述设备信息,对所述验证信息进行验证,包括:
采用所述业务CA根公钥,对所述业务服务器证书进行验证,得到第一验证结果;
在所述第一验证结果为验证成功时,使用所述业务服务器证书对所述签名值进行验证,得到第二验证结果,以使在第二验证结果为验证成功时,采用所述临时公钥和所述设备信息,对所述密文进行解密。
7.一种基于安全设备的离线授权方法,其特征在于,应用在离线授权系统的目标安全设备中,所述离线授权系统还包括服务器和终端,所述方法包括:
接收所述终端发送的加密APDU序列;其中,所述加密APDU序列是所述服务器基于存储的辅助安全信息,对APDU序列进行加密得到的所述APDU序列是所述服务器基于待授权数据标识、相应待授权数据、授权次数和所述待授权数据的授权计数值构建的;
采用设备信息中的辅助安全域信息,对所述加密APDU序列进行解密,得到所述APDU序列;
基于所述APDU序列中的授权计数值、授权次数和待授权数据标识,确定向不同物联网设备进行待授权数据的离线授权。
8.如权利要求7所述的方法,其特征在于,基于所述APDU序列中的授权计数值、授权次数和待授权数据标识,确定向不同物联网设备进行待授权数据的离线授权,包括:
若所述APDU序列中的授权计数值大于当前存储的授权计数值,且检测到自身存储有所述待授权数据标识,则将所述APDU序列中的授权次数对自身存储的授权次数进行累加;基于累加后的授权次数,向不同物联网设备进行待授权数据的离线授权;
若所述APDU序列中的授权计数值大于当前存储的授权计数值,且未检测到自身存储有所述待授权数据标识,则存储所述待授权数据标识、所述待授权数据和相应授权次数;基于所述授权次数,向不同物联网设备进行待授权数据的离线授权。
9.一种离线授权系统,其特征在于,所述系统包括服务器、终端和目标安全设备,其中,终端分别与服务器和目标安全设备建立通信连接;
服务器,用于执行权利要求1-4任一所述的方法;
终端,用于执行权利要求5-6任一所述的方法;
目标安全设备,用于执行权利要求7-8任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4或权利要求5-6或权利要求7-8任一所述的方法。
CN202410466485.7A 2024-04-18 2024-04-18 基于安全设备的离线授权方法、离线授权系统和存储介质 Active CN118070316B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410466485.7A CN118070316B (zh) 2024-04-18 2024-04-18 基于安全设备的离线授权方法、离线授权系统和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410466485.7A CN118070316B (zh) 2024-04-18 2024-04-18 基于安全设备的离线授权方法、离线授权系统和存储介质

Publications (2)

Publication Number Publication Date
CN118070316A true CN118070316A (zh) 2024-05-24
CN118070316B CN118070316B (zh) 2024-08-30

Family

ID=91104143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410466485.7A Active CN118070316B (zh) 2024-04-18 2024-04-18 基于安全设备的离线授权方法、离线授权系统和存储介质

Country Status (1)

Country Link
CN (1) CN118070316B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112202772A (zh) * 2020-09-29 2021-01-08 北京海泰方圆科技股份有限公司 一种授权管理方法及装置
CN115374405A (zh) * 2022-08-22 2022-11-22 广州鼎甲计算机科技有限公司 软件授权方法、许可授权方法、装置、设备和存储介质
CN115659310A (zh) * 2022-10-27 2023-01-31 展讯通信(上海)有限公司 离线授权方法、装置及设备
CN116010909A (zh) * 2022-12-28 2023-04-25 东软睿驰汽车技术(沈阳)有限公司 加密装置处理方法、数据处理方法、装置、设备及介质
CN117708794A (zh) * 2023-12-22 2024-03-15 广州广电运通智能科技有限公司 设备授权方法和设备授权装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112202772A (zh) * 2020-09-29 2021-01-08 北京海泰方圆科技股份有限公司 一种授权管理方法及装置
CN115374405A (zh) * 2022-08-22 2022-11-22 广州鼎甲计算机科技有限公司 软件授权方法、许可授权方法、装置、设备和存储介质
CN115659310A (zh) * 2022-10-27 2023-01-31 展讯通信(上海)有限公司 离线授权方法、装置及设备
CN116010909A (zh) * 2022-12-28 2023-04-25 东软睿驰汽车技术(沈阳)有限公司 加密装置处理方法、数据处理方法、装置、设备及介质
CN117708794A (zh) * 2023-12-22 2024-03-15 广州广电运通智能科技有限公司 设备授权方法和设备授权装置

Also Published As

Publication number Publication date
CN118070316B (zh) 2024-08-30

Similar Documents

Publication Publication Date Title
CN110784491B (zh) 一种物联网安全管理系统
CN110463237B (zh) 用于管理服务器和用户设备之间的通信的方法
CN108241517B (zh) 一种软件升级方法、客户端及电子设备
CN108377190B (zh) 一种认证设备及其工作方法
EP3518458B1 (en) Method and device for secure communications over a network using a hardware security engine
US8953790B2 (en) Secure generation of a device root key in the field
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
CN109560931B (zh) 一种基于无证书体系的设备远程升级方法
CN112913189B (zh) 一种ota升级方法及装置
CN109478214B (zh) 用于证书注册的装置和方法
WO2021212928A1 (zh) 一种区块链数据授权访问方法及装置、设备
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
CN111131416A (zh) 业务服务的提供方法和装置、存储介质、电子装置
CN106571915A (zh) 一种终端主密钥的设置方法和装置
CN110740038B (zh) 区块链及其通信方法、网关、通信系统和存储介质
CN113613227B (zh) 蓝牙设备的数据传输方法和装置、存储介质及电子装置
CN112672342B (zh) 数据传输方法、装置、设备、系统和存储介质
CN112511295B (zh) 接口调用的认证方法、装置、微服务应用和密钥管理中心
CN114143108A (zh) 一种会话加密方法、装置、设备及存储介质
CN107729760B (zh) 基于Android系统的CSP实现方法及智能终端
CN110838919B (zh) 通信方法、存储方法、运算方法及装置
CN114338091B (zh) 数据传输方法、装置、电子设备及存储介质
CN114362951B (zh) 用于更新证书的方法和装置
CN114531242A (zh) 证书升级方法、装置、设备及存储介质
CN118070316B (zh) 基于安全设备的离线授权方法、离线授权系统和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant