CN113221073B - 一种增加piv应用支持证书数量的实现方法及装置 - Google Patents

一种增加piv应用支持证书数量的实现方法及装置 Download PDF

Info

Publication number
CN113221073B
CN113221073B CN202110769859.9A CN202110769859A CN113221073B CN 113221073 B CN113221073 B CN 113221073B CN 202110769859 A CN202110769859 A CN 202110769859A CN 113221073 B CN113221073 B CN 113221073B
Authority
CN
China
Prior art keywords
instruction
piv
virtual machine
data
interface
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.)
Active
Application number
CN202110769859.9A
Other languages
English (en)
Other versions
CN113221073A (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.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies 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 Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN202110769859.9A priority Critical patent/CN113221073B/zh
Publication of CN113221073A publication Critical patent/CN113221073A/zh
Application granted granted Critical
Publication of CN113221073B publication Critical patent/CN113221073B/zh
Priority to PCT/CN2022/100353 priority patent/WO2023279959A1/zh
Priority to US18/288,037 priority patent/US20240214220A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种增加PIV应用支持证书数量的实现方法及装置,该方法包括:密钥设备的虚拟机上电,将数据端点地址设置为接收到指令数据的CCID接口的端点地址,根据指令数据获取用于PIV应用认证的APDU数据,将用于PIV应用认证的APDU数据发送给密钥设备的PIV应用;PIV应用调用API接口获取CCID接口编号,根据用于PIV应用认证的APDU数据中的通用设备证书编号和CCID接口编号获取PIV设备证书编号,根据PIV设备证书编号获取PIV证书,根据PIV证书进行操作获取操作结果,虚拟机根据数据端点地址返回操作结果给上位机;此方法还包括:当有USB中断触发时,执行USB中断流程。本发明打破了一个PIV应用支持证书的数量限制,同时简化了操作。

Description

一种增加PIV应用支持证书数量的实现方法及装置
技术领域
本发明涉及信息安全领域,特别涉及一种增加PIV应用支持证书数量的实现方法及装置。
背景技术
在现有技术中,一个PIV应用默认支持的证书数量为4个,如果多于4个证书,需要在上位机上额外地安装驱动,额外安装的驱动会导致兼容性问题,而且还占用上位机的资源,使得操作过程较为繁琐。
发明内容
本发明提供了一种增加PIV应用支持证书数量的实现方法及装置,解决了上述技术问题。
本发明提供了一种增加PIV应用支持证书数量的实现方法,包括如下步骤:
步骤1,密钥设备的虚拟机上电,向上位机声明第一CCID接口和第二CCID接口;
步骤2,虚拟机等待接收上位机发送的指令;
步骤3, 虚拟机判断第一CCID接口缓存中是否有指令数据,如果是,将数据端点地址设置为第一CCID接口的端点地址,执行步骤4,如果否,执行步骤8;
步骤4,虚拟机根据指令数据获取用于PIV应用认证的APDU数据,将用于PIV应用认证的APDU数据发送给密钥设备的PIV应用;
步骤5,密钥设备的PIV应用调用API接口获取CCID接口编号;
步骤6,密钥设备的PIV应用根据用于PIV应用认证的APDU数据中的通用设备证书编号和CCID接口编号获取PIV设备证书编号,根据PIV设备证书编号获取PIV证书,根据PIV证书进行操作获取操作结果;
步骤7,虚拟机根据数据端点地址返回操作结果给上位机,返回步骤3;
步骤8,虚拟机判断第二CCID接口缓存中是否有指令数据,如果是,将数据端点地址设置为第二CCID接口的端点值,执行步骤4,如果否,返回步骤3;
方法还包括:当有USB中断触发时,执行USB中断流程,USB中断流程包括:
步骤1A,密钥设备的虚拟机判断第一CCID接口是否接收到APDU指令,如果是,虚拟机将APDU指令的指令数据存储到第一CCID接口缓存,如果否,执行步骤2A;
步骤2A, 虚拟机判断第二CCID接口是否接收到APDU指令,如果是,虚拟机将APDU指令的指令数据存储到第二CCID接口缓存,如果否,返回步骤1A。
本发明提供了一种增加PIV应用支持证书数量的装置,包括至少一个处理器、存储器及存储在存储器上并可被至少一个处理器执行的指令,至少一个处理器执行指令以实现上述方法。
本发明提供了一种计算机可读存储介质,计算机可读存储介质包括计算机程序,当计算机程序在增加PIV应用支持证书数量的装置上运行时,使得增加PIV应用支持证书数量的装置执行上述方法。
本发明提供了一种芯片,该芯片与存储器耦合,用于执行存储器中存储的计算机程序,以执行上述方法。
本发明的有益效果:本发明提供了一种增加PIV应用支持证书数量的实现方法及装置,在无需额外安装驱动同时,打破了一个PIV应用支持证书的数量限制,同时简化了操作。
附图说明
图1为本发明实施例一提供的一种增加PIV应用支持证书数量的实现方法的流程图;
图2为本发明实施例一提供的一种增加PIV应用支持证书数量的实现方法中的USB中断流程的流程图;
图3为本发明实施例二提供的一种增加PIV应用支持证书数量的实现方法的流程图;
图4为本发明实施例二提供的一种增加PIV应用支持证书数量的实现方法中的USB中断流程的流程图;
图5为本发明实施例二提供的一种增加PIV应用支持证书数量的实现方法的流程图;
图6为本发明实施例二提供的一种增加PIV应用支持证书数量的实现方法中的USB中断流程的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
术语解释:
CCID:Chip/Smart Card Interface Devices,芯片智能卡接口设备。
PIV:Personal Identity Verification,个人身份验证。
HID:Human Interface device,人机接口设备。
MSG: Message, 消息。
CBOR: Concise Binary Object Representation 简明二进制对象表示;
INIT: 初始化。
实施例一
本实施例提供了一种增加PIV应用支持证书数量的实现方法,如图1,包括如下步骤:
步骤101,密钥设备的虚拟机上电,向上位机声明第一CCID接口和第二CCID接口;
步骤102,虚拟机等待接收上位机发送的指令;
步骤103,虚拟机判断第一CCID接口缓存中是否有指令数据,如果是,将数据端点地址设置为第一CCID接口的端点地址,执行步骤104,如果否,执行步骤108;
步骤104,虚拟机根据指令数据获取用于PIV应用认证的APDU数据,将用于PIV应用认证的APDU数据发送给密钥设备的PIV应用;
步骤105,密钥设备的PIV应用调用API接口获取CCID接口编号;
步骤106,密钥设备的PIV应用根据用于PIV应用认证的APDU数据中的通用设备证书编号和CCID接口编号获取PIV设备证书编号,根据PIV设备证书编号获取PIV证书,根据PIV证书进行操作获取操作结果;
步骤107,虚拟机根据数据端点地址返回操作结果给上位机,返回步骤103;
步骤108,虚拟机判断第二CCID接口缓存中是否有指令数据,如果是,将数据端点地址设置为第二CCID接口的端点值,执行步骤104,如果否,返回步骤103;
此方法还包括:当有USB中断触发时,执行USB中断流程,如图2所示,USB中断流程包括:
步骤10A,密钥设备的虚拟机判断第一CCID接口是否接收到APDU指令,如果是,虚拟机将APDU指令的指令数据存储到第一CCID接口缓存,如果否,执行步骤20A;
步骤20A, 虚拟机判断第二CCID接口是否接收到APDU指令,如果是,虚拟机将APDU指令的指令数据存储到第二CCID接口缓存,如果否,返回步骤10A。
在本实施例中,步骤103中,将数据端点地址设置为第一CCID接口的端点地址之后还包括:关闭第一CCID接口延时计时器;
步骤108中,将数据端点地址设置为第二CCID接口的端点值之后还包括:关闭第二CCID接口延时计时器;
步骤10A中虚拟机将APDU指令的指令数据存储到第一CCID接口缓存之后还包括:开启第一CCID接口延时计时器,根据第一延时器的计时按照预定的时间间隔通过第一CCID接口向上位机发送延时请求;
步骤20A中将APDU指令的指令数据存储到第二CCID接口缓存之后还包括:开启第二CCID接口延时计时器,根据第二延时器的计时按照预定的时间间隔通过第二CCID接口向上位机发送延时请求。
在本实施例中,步骤10A具体为:密钥设备的虚拟机判断第一CCID接口是否接收到用于PIV应用认证的APDU指令,如果是,密钥设备的虚拟机将用于PIV应用认证的APDU指令的指令数据存储到第一CCID接口缓存,如果否,执行步骤20A;
步骤20A具体为: 虚拟机判断第二CCID接口是否接收到用于PIV应用认证的APDU指令,如果是,将用于PIV应用认证的APDU指令的指令数据存储到第二CCID接口缓存, 如果否,返回步骤10A。
在本实施例中,步骤101之前还包括装载证书的过程,包括如下步骤:
步骤01, 密钥设备的虚拟机接收上位机发送的导入证书指令,将导入证书指令的指令数据发送给密钥设备的PIV应用;
步骤02, 密钥设备的 PIV应用根据导入证书指令的指令数据中预定字节的值设置导入证书的PIV设备证书编号。
在本实施例中,步骤101之前还包括装载证书的过程,包括如下步骤:
步骤01’, 密钥设备的虚拟机接收上位机发送的导入证书指令,将导入证书指令的指令数据发送给密钥设备的PIV应用;
步骤02’,密钥设备的 PIV应用获取导入证书指令的CCID接口编号,根据导入证书指令的指令数据中预定字节的值和接口编号设置导入证书的PIV设备证书编号。
在本实施例中,步骤101具体为:密钥设备的虚拟机上电,向上位机声明HID接口、第一CCID接口和第二CCID接口;
步骤102之后还包括: 虚拟机判断HID接口是否有指令数据,如果是,执行步骤m1,如果否,执行步骤103;
步骤m1,虚拟机将USB接口类型标识设置为HID接口,判断指令数据是否为APDU数据,如果是,执行步骤m3, 如果否,执行步骤m2;
步骤m2, 虚拟机对指令数据进行操作,得到操作结果,执行步骤m5;
步骤m3, 虚拟机将指令数据发送给密钥设备的FIDO应用;
步骤m4, 密钥设备的FIDO应用对指令数据进行操作得到操作结果;
步骤m5, 虚拟机根据USB接口类型标识获取数据端点地址,根据数据端点地址将操作结果返回上位机,执行步骤102;
USB中断流程中,步骤10A之前还包括:
步骤01A,密钥设备的虚拟机判断HID接口是否接收到指令,如果是,执行步骤02A,如果否,执行步骤10A;
步骤02A, 虚拟机判断HID接口接收到的指令的指令类型,如果指令为取消指令,虚拟机通过HID接口向上位机返回取消指令的响应;如果指令为非取消指令,虚拟机将非取消指令的指令数据存储到HID接口缓存,执行步骤10A;
步骤20A中,如果否,返回步骤10A具体为:如果否,USB中断流程结束。
在本实施例中,步骤m2具体为:虚拟机判断指令数据的类型,当指令数据为MSG数据时,执行步骤m3, 当指令数据为CBOR数据时,虚拟机将CBOR数据填充为扩展APDU数据,将扩展APDU数据发送给FIDO应用;当指令数据为INIT数据时,虚拟机对INIT数据进行操作获得操作结果,执行步骤m5。
实施例二
本实施例提供了一种增加PIV应用支持证书数量的实现方法,如图3所示,包括如下步骤:
步骤201,密钥设备的虚拟机上电;
步骤202,密钥设备的虚拟机接收上位机发送的获取配置描述符的指令;
步骤203,密钥设备的虚拟机向上位机返回获取配置描述符的指令的响应;
在本实施例中,密钥设备的虚拟机根据接口数量和接口描述符组织获取配置描述符的指令的响应,例如:获取配置描述符的指令的响应为:
09 02 C3 00 02 01 00 80 14 09 21 10 01 00 01 22 22 00 07 05 02 03 4000 02 07 05 81 03 40 00 02 09 04 01 00 02 0B 00 00 03 36 21 10 01 00 01 03 0000 00 74 0E 00 00 74 0E 00 00 00 80 25 00 00 00 C2 01 00 00 0F 01 00 00 00 0000 00 00 00 00 00 B4 04 04 00 0F 01 00 00 00 00 00 00 00 01 07 05 04 02 40 0000 07 05 84 02 40 00 00 09 04 02 00 02 0B 00 00 04 36 21 10 01 00 01 03 00 0000 74 0E 00 00 74 0E 00 00 00 80 25 00 00 00 C2 01 00 00 0F 01 00 00 00 00 0000 00 00 00 00 B4 04 04 00 0F 01 00 00 00 00 00 00 00 01 07 05 05 02 40 00 0007 05 85 02 40 00 00
其中, 09 02 C3 00 02 01 00 80 14中的02表明接口数量为2个接口;
09 04 01 00 02 0B 00 00 03 为第一CCID接口描述符,接口编号为01;
09 04 02 00 02 0B 00 00 04 为第二CCID接口描述符,接口编号为02。
步骤204, 密钥设备的虚拟机向上位机声明第一CCID接口,第二CCID接口;
步骤205,密钥设备的虚拟机等待接收上位机发送的指令;
步骤206,密钥设备的虚拟机判断第一CCID接口缓存中是否有指令数据,如果是,将数据端点地址设置为第一CCID接口的端点值,执行步骤207,如果否,执行步骤212;
具体的,在本步骤中,当密钥设备的虚拟机判断第一CCID接口缓存中有指令数据时,将数据端点地址中 的g_in_ep_addr 记录为第一CCID接口的IN 端点值和将数据端点地址中g_out_ep_addr 记录为第一CCID接口的OUT端点值,执行步骤207;
步骤207, 密钥设备的虚拟机关闭第一CCID接口延时计时器;
步骤208,密钥设备的虚拟机根据指令数据获取用于PIV应用认证的APDU数据,并将用于PIV应用认证的APDU数据发送给密钥设备的PIV应用;
在本实施例中,密钥设备的虚拟机根据指令数据密钥设备的虚拟机从指令数据中提取出CCID协议头,得到用于PIV应用认证的APDU数据,例如,密钥设备从指令数据6f 1000 00 00 00 58 00 00 00 00 87 07 9a 0b 9b 1a 3e ea 16 af 0f a7 cf 9e 6c中提取出CCID协议头:6f 10 00 00 00 00 58 00 00 00得到APDU数据:00 87 07 9a 0b 9b 1a3e ea 16 af 0f a7 cf 9e 6c。
密钥设备的虚拟机将用于PIV应用认证的APDU数据发送给密钥设备的PIV应用;
步骤209,密钥设备的PIV应用调用API接口,获取CCID接口编号;
具体的,在本步骤中,密钥设备的PIV应用调用 APDU.getProtocol() 接口,根据调用APDU.getProtocol() 接口的结果确定CCID接口编号。
例如,本实施例中,如果调用接口的结果为0xA0,则确定CCID接口编号为第一CCID接口的编号01,如果调用接口的结果为0xA1,则确定CCID接口编号为第二CCID接口的编号02。
步骤210,密钥设备的PIV应用根据CCID接口编号和用于PIV应用认证的APDU数据中的通用证书编号获取PIV设备证书编号,根据PIV设备证书编号获取PIV证书,根据PIV证书获取操作结果;
在本步骤中,根据PIV证书获取操作结果可以为:根据PIV证书所配套的密钥进行签名操作获得签名操作结果。
在本实施例中,在执行步骤201之前,包括装载证书的过程,包括如下步骤:
步骤a1, 密钥设备的虚拟机接收上位机发送的导入证书指令,密钥设备的虚拟机将导入证书指令的指令数据发送给密钥设备的PIV应用;
步骤a2, 密钥设备的 PIV应用根据导入证书指令的指令数据中预定字节的值设置导入证书的PIV设备证书编号;
步骤a2具体为:密钥设备的PIV应用获取导入证书指令的指令数据中的预定字节的值,根据按照第一预定对应关系和预定字节的值设置导入证书的PIV设备证书编号;
例如,在本实施例中,步骤a1中,密钥设备虚拟机接收上位机发送的导入证书指令6f04010000002300000010db3fffff5c035fc105538206187082060f3082060b308204f3a0030201020213210000037df1a74983916c3f6e00030000037d300d06092a864886f70d01010b0500304631133011060a0992268993f22c6401191603434f4d311a3018060a0992268993f22c640119160a49414d51413356495341,密钥设备虚拟机提取CCID协议指令头6f040100000023000000,获取导入证书指令的指令数据10db3fffff5c035fc105538206187082060f3082060b308204f3a0030201020213210000037df1a74983916c3f6e00030000037d300d06092a864886f70d01010b0500304631133011060a0992268993f22c6401191603434f4d311a3018060a0992268993f22c640119160a49414d51413356495341,将导入证书指令数据发送给密钥设备的PIV应用;
在步骤a2中,密钥设备的PIV应用获取指令数据中的第9字节和第10字节的值c105,根据第一预定对应关系和预定字节的值c105设置导入证书的PIV设备证书编号9a;
具体的,第一预定对应关系为:预定字节的值和PIV设备证书编号的对应关系,具体对应关系为:
预定字节的第一值对应第一PIV设备证书编号;预定字节的第二值对应第二PIV设备证书编号;预定字节的第三值对应第三PIV设备证书编号;预定字节的第四值对应第四PIV设备证书编号;预定字节的第五值对应第五PIV设备证书编号;预定字节的第六值对应第六PIV设备证书编号。
例如,预定字节的第一值c105对应第一PIV设备证书编号9a;
预定字节的第二值为c10A对应第二PIV设备证书编号9c;
预定字节的第三值c10B对应第三PIV设备证书编号9d;
预定字节的第四值c205对应第四PIV设备证书编号9f;
预定字节的第五值c20A对应第五PIV设备证书编号91;
预定字节的第六值c20B对应第六PIV设备证书编号92。
在本实施例中,在执行步骤201之前的装载证书的过程,还可以通过如下步骤实现:
步骤b1, 密钥设备的虚拟机接收上位机发送的导入证书指令,密钥设备的虚拟机将导入证书指令的指令数据发送给密钥设备的PIV应用;
例如,在本实施例中,步骤a1中,密钥设备虚拟机接收上位机发送的导入证书指令6f04010000002300000010db3fffff5c035fc105538206187082060f3082060b308204f3a0030201020213210000037df1a74983916c3f6e00030000037d300d06092a864886f70d01010b0500304631133011060a0992268993f22c6401191603434f4d311a3018060a0992268993f22c640119160a49414d51413356495341,密钥设备虚拟机提取CCID协议指令头6f040100000023000000,获取导入证书指令的指令数据10db3fffff5c035fc105538206187082060f3082060b308204f3a0030201020213210000037df1a74983916c3f6e00030000037d300d06092a864886f70d01010b0500304631133011060a0992268993f22c6401191603434f4d311a3018060a0992268993f22c640119160a49414d51413356495341,将导入证书指令数据发送给密钥设备的PIV应用;
步骤b2, 密钥设备的 PIV应用获取导入证书指令的CCID接口编号,根据导入证书指令的指令数据中预定字节的值和获取接口编号设置导入证书的PIV设备证书编号;
在本实施例,步骤b2具体为:密钥设备的 PIV应用调用API函数获取导入证书指令的CCID接口编号,根据导入证书指令的指令数据中预定字节的值和获取接口编号按照第二对应关系设置导入证书的PIV设备证书编号;
在本步骤b2中,密钥设备的PIV应用调用 APDU.getProtocol() 接口获取调用结果,根据调用结果获取导入证书指令的CCID接口编号;
例如,在本步骤b2中,密钥设备的PIV应用调用 APDU.getProtocol() 接口,如果调用接口的结果为0xA0,则说明CCID接口编号为第一CCID接口的编号01;如果调用接口的结果为0xA1,则说明CCID接口编号为第二CCID接口的编号02;
具体的,第二预定对应关系为:预定字节的值和导入证书指令的CCID接口编号与PIV设备证书编号的对应关系;
在本实施例中,预定字节的值为与通用设备证书编号相对应的值,在本实施例中,通用设备证书编号为PIV应用通用设备证书编号;
具体的,第二预定对应关系为:
预定字节的第一值和导入证书指令的第一CCID接口编号对应第一PIV设备证书编号;
预定字节的第二值和导入证书指令的第一CCID接口编号对应第二PIV设备证书编号;
预定字节的第三值和导入证书指令的第一CCID接口编号对应第三PIV设备证书编号;
预定字节的第一值和导入证书指令的第二CCID接口编号对应第四PIV设备证书编号;
预定字节的第二值和导入证书指令的第二CCID接口编号对应第五PIV设备证书编号;
预定字节的第三值和导入证书指令的第二CCID接口编号对应第六PIV设备证书编号;
例如,预定字节的第一值c105和导入证书指令的第一CCID接口编号01对应第一PIV设备证书编号9a;
预定字节的第二值c10A和导入证书指令的第一CCID接口编号01对应第二PIV设备证书编号9c;
预定字节的第三值c10B和导入证书指令的第一CCID接口编号01对应第三PIV设备证书编号9d;
预定字节的第一值c105和导入证书指令的第二CCID接口编号02对应第四PIV设备证书编号9f;
预定字节的第二值c10A和导入证书指令的第二CCID接口编号02对应第五PIV设备证书编号91;
预定字节的第三值c10B和导入证书指令的第二CCID接口编号02对应第六PIV设备证书编号92;
其中,第一值c105为与第一通用设备证书编号9a所对应的值;
第二值c10A为与第二通用设备证书编号9c所对应的值;
第三值c10B为与第三通用设备证书编号9d所对应的值。
例如,在步骤b2中, 密钥设备的 PIV应用调用APDU.getProtocol() 接口,如果调用接口的结果为0xA1,则说明CCID接口编号为第二CCID接口的编号02,根据导入证书指令的指令数据中预定字节的值c105和获取接口编号02按照第二对应关系设置导入证书的PIV设备证书编号为9f。
本实施例中,例如,密钥设备的PIV应用装载了6个证书,PIV设备证书编号分别为:9a、9c、9d、9f、91、92。
在本实施例中,密钥设备的PIV应用预先设置有PIV设备证书编号和与其对应的CCID接口编号和通用证书编号的对应关系:
第一PIV设备证书编号对应第一CCID接口编号和第一通用设备证书编号;
第二PIV设备证书编号对应第一CCID接口编号和第二通用设备证书编号;
第三PIV设备证书编号对应第一CCID接口编号和第三通用设备证书编号;
第四PIV设备证书编号对应第二CCID接口编号和第一通用设备证书编号;
第五PIV设备证书编号对应第二CCID接口编号和第二通用设备证书编号;
第六PIV设备证书编号对应第二CCID接口编号和第三通用设备证书编号。
具体的,例如, PIV设备证书编号与其对应的CCID接口编号和通用证书编号的对应关系为:
PIV设备证书编号9a对应第一CCID接口编号01和通用设备证书编号9a;
PIV设备证书编号9c对应第一CCID接口编号01和通用设备证书编号9c;
PIV设备证书编号9d对应第一CCID接口编号01和通用设备证书编号9d;
PIV设备证书编号9f对应第二CCID接口编号02和通用设备证书编号9a;
PIV设备证书编号91对应第二CCID接口编号02和通用设备证书编号9c;
PIV设备证书编号92对应第二CCID接口编号02和通用设备证书编号9d。
在本实施例中,在步骤209中密钥设备的PIV应用调用 APDU.getProtocol() 接口,如果调用接口的结果为0xA0,则说明CCID接口编号为第一CCID接口的编号01;
则本步骤具体为:密钥设备的PIV应用根据APDU数据的第4个字节获取通用设备证书编号为 9a,然后根据通过设备证书编号9a和步骤209中获取的接口编号01确定PIV设备证书编号为 9a,根据PIV设备证书编号9a获取PIV证书,根据PIV证书获取操作结果。
例如,在本实施例中,在步骤209中密钥设备的PIV应用调用 APDU.getProtocol()接口,如果调用接口的结果为0xA1,则说明CCID接口编号为第二CCID接口的编号02;
密钥设备的PIV应用根据APDU数据的第4个字节获取通用设备证书编号为 9a,然后根据通过设备证书编号9a和步骤209中获取的接口编号02确定PIV设备证书编号为 9f,根据PIV设备证书编号9f获取PIV证书,根据PIV证书进行操作获取操作结果。
步骤211,密钥设备的虚拟机根据数据端点地址返回操作结果给上位机,返回步骤206。
在本实施例中,本步骤具体为:
密钥设备的虚拟机根据数据端点地址中g_in_ep_addr的值返回操作结果给上位机。
步骤212,密钥设备的虚拟机判断第二CCID接口缓存中是否有指令数据,如果是,将数据端点地址设置为第二CCID接口的端点值,执行步骤213,如果否,返回步骤206;
具体的,具体的,在本步骤中,当密钥设备的虚拟机判断第二CCID接口缓存中有指令数据时,将数据端点地址中 的g_in_ep_addr 记录为第二CCID接口的IN 端点值和将数据端点地址中g_out_ep_addr记录为第二CCID接口的OUT端点值,执行步骤214;
步骤213, 密钥设备的虚拟机关闭第二CCID接口延时计时器,执行步骤208;
在本实施例中,本方法还包括当有USB中断触发时,执行USB中断流程, 如图4所示,USB中断流程包括如下步骤:
步骤A1, 密钥设备的虚拟机判断第一CCID接口是否接收到指令,如果是,执行步骤A2, 如果否,执行步骤A5;
步骤A2, 密钥设备的虚拟机判断第一CCID接口接收到指令的类型,当指令为非APDU指令时,密钥设备的虚拟机通过第一CCID接口向上位机返回非APDU指令的响应,当指令为APDU指令时,执行步骤A3;
在本实施例中,密钥设备的虚拟机根据指令类型标识判断第一CCID接口接收到指令的类型,例如,密钥设备的虚拟机第一CCID接口接收到上位机发送的指令为:6f 10 0000 00 00 58 00 00 00 00 87 07 9a 0b 9b 1a 3e ea 16 af 0f a7 cf 9e 6c,根据指令类型标识6f判断指令的类型为APDU指令,根据第12个字节87可知此APDU指令为PIV应用认证指令。
步骤A3,密钥设备的虚拟机将APDU指令数据存储到第一CCID接口缓存;
在本步骤中,例如,密钥设备的虚拟机将PIV应用认证指令的指令数据存储到第一CCID接口缓存;
步骤A4, 密钥设备的虚拟机开启第一CCID接口延时计时器;
步骤A5, 密钥设备的虚拟机判断第二CCID接口是否接收到指令,如果是,执行步骤A6,如果否,返回步骤A1;
步骤A6, 密钥设备的虚拟机判断第二CCID接口接收到指令的类型, 当指令为非APDU指令,密钥设备的虚拟机通过第二CCID接口向上位机返回非APDU指令的响应,返回步骤A1,当指令为APDU指令,执行步骤A7;
在本实施例中,密钥设备的虚拟机根据指令类型标识判断第一CCID接口接收到指令的类型,例如,当密钥设备的虚拟机判断第二CCID接口接收到上位机发送的指令为:6f10 00 00 00 00 58 00 00 00 00 87 07 9a 0b 9b 1a 3e ea 16 af 0f a7 cf 9e 6c,根据指令类型标识6f判断指令的类型为APDU指令,根据第12个字节87可知此APDU指令为PIV应用认证指令。
步骤A7, 密钥设备的虚拟机将APDU指令数据存储到第二CCID接口缓存;
具体的,在本步骤中,密钥设备的虚拟机将PIV应用认证指令的指令数据存储到第二CCID接口缓存;
步骤A8,密钥设备的虚拟机开启第二CCID接口延时计时器。
在本实施例中,密钥设备的虚拟机开启第一CCID接口延时计时器之后,还包括:密钥设备的虚拟机根据第一延时器的计时按照预定的时间间隔通过第一CCID接口向上位机发送延时请求;
密钥设备的虚拟机开启第二CCID接口延时计时器之后,还包括:密钥设备的虚拟机根据第二延时器的计时按照预定的时间间隔通过第二CCID接口向上位机发送延时请求。
实施例三
本实施例提供了一种增加PIV应用支持证书数量的实现方法,如图5所示,包括如下步骤:
步骤301,密钥设备的虚拟机上电;
步骤302,密钥设备的虚拟机接收上位机发送的获取配置描述符的指令;
步骤303,密钥设备的虚拟机向上位机返回获取配置描述符的指令的响应;
步骤304,密钥设备的虚拟机向上位机声明HID接口、第一CCID接口和第二CCID接口;
步骤305,密钥设备的虚拟机等待接收上位机发送的指令;
步骤306,密钥设备的虚拟机判断HID接口缓存中是否有指令数据,如果是,密钥设备的虚拟机将USB接口类型标识设置为FIDO HID接口,执行步骤316,如果否,执行步骤307;
具体的,在本实施例中,USB接口类型标识为usb_type。
步骤307,密钥设备的虚拟机判断第一CCID接口缓存中是否有指令数据,如果是,密钥设备的虚拟机将数据端点地址设置为第一CCID接口的端点值,将USB接口类型标识设置为CCID接口,执行步骤308,如果否,执行步骤314;
步骤308,密钥设备的虚拟机关闭第一CCID接口延时计时器;
步骤309, 密钥设备的虚拟机根据指令数据获取用于PIV应用认证的APDU数据,将用于PIV应用认证的APDU数据发送给密钥设备的PIV应用;
步骤310,密钥设备的PIV应用调用API接口,获取CCID接口编号;
步骤311,密钥设备的PIV应用根据CCID接口编号和用于PIV应用认证的APDU数据中的通用证书编号获取PIV设备证书编号,根据PIV设备证书编号获取PIV证书,根据PIV证书获取操作结果;
在本实施例中,在执行步骤301之前,包括装载证书的过程,装载证书的过程与实施例2中的装载过程相同,不再赘述;
本实施例中,例如,密钥设备的PIV应用装载了6个证书。
在本实施例中,密钥设备的PIV应用预先设置有PIV设备证书编号和与其对应的CCID接口编号和通用证书编号的对应关系:
第一PIV设备证书编号对应第一CCID接口编号和第一通用设备证书编号;
第二PIV设备证书编号对应第一CCID接口编号和第二通用设备证书编号;
第三PIV设备证书编号对应第一CCID接口编号和第三通用设备证书编号;
第四PIV设备证书编号对应第二CCID接口编号和第一通用设备证书编号;
第五PIV设备证书编号对应第二CCID接口编号和第二通用设备证书编号;
第六PIV设备证书编号对应第二CCID接口编号和第三通用设备证书编号。
步骤312,密钥设备的虚拟机根据USB接口类型标识判断接口类型,并根据接口类型将操作结果组织成响应数据;
步骤313,密钥设备的虚拟机根据数据端点地址返回响应数据给上位机,返回步骤206;
步骤314,密钥设备的虚拟机判断第二CCID接口缓存中是否有指令数据,如果是,将数据端点地址设置为第二CCID接口的端点值,将usb_type设置为CCID接口,执行步骤315,如果否,返回步骤307;
步骤315, 密钥设备的虚拟机关闭第二CCID接口延时计时器;
步骤316,密钥设备的虚拟机根据指令类型标识判断HID接口收到的数据类型是否为APDU指令;如果是,执行步骤318,如果否,密钥设备的虚拟机处理该指令后,执行步骤320;
步骤317,密钥设备的虚拟机将APDU发送给FIDO应用处理;
步骤318,密钥设备的FIDO应用处理APDU数据,取得操作结果;
步骤319,密钥设备的虚拟机根据USB接口类型标识获取接口类型和接口号,并根据接口类型组织响应数据;
具体的, USB接口类型标识为usb_type。
步骤320,密钥设备的虚拟机根据接口号取得该接口的数据端点地址返回响应数据给上位机,返回步骤305。
在本实施例中,本方法还包括当有USB中断触发时,执行USB中断流程, 如图6所示, USB中断流程包括如下步骤:
步骤B1, 密钥设备的虚拟机判断HID接口是否接收到指令;如果是,执行步骤B2,如果否,执行步骤B4;
步骤B2,密钥设备的虚拟机判断HID接口接收到指令的类型,当指令为取消指令时,密钥设备的虚拟机通过HID接口向上位机返回取消指令的响应,执行步骤B4, 当指令为非取消指令时,执行步骤B3;
步骤B3,密钥设备的虚拟机将指令数据存储到HID接口缓存;
步骤B4, 密钥设备的虚拟机判断第一CCID接口是否接收到指令,如果是,执行步骤B5,如果否,执行步骤B8;
步骤B5, 密钥设备的虚拟机判断第一CCID接口接收到指令的类型, 当指令为APDU指令时,执行步骤B6,当指令为非APDU指令时,密钥设备的虚拟机通过第一CCID接口向上位机返回非APDU指令的响应,执行步骤B8;
步骤B6,密钥设备的虚拟机将APDU指令数据存储到第一CCID接口缓存;
步骤B7, 密钥设备的虚拟机开启第一CCID接口延时计时器;
步骤B8, 密钥设备的虚拟机判断第二CCID接口是否接收到指令,如果是,执行步骤B9,如果否,USB中断流程结束;
步骤B9, 密钥设备的虚拟机判断第二CCID接口接收到指令的类型,当指令为非APDU指令时,密钥设备的虚拟机通过第二CCID接口向上位机返回非APDU指令的响应,当指令为APDU指令时, 执行步骤B10;
步骤B10, 密钥设备的虚拟机将APDU指令数据存储到第二CCID接口缓存;
步骤B11, 密钥设备的虚拟机开启第二CCID接口延时计时器。
可选的,本申请的实施例还提供了一种增加PIV应用支持证书数量的装置,此装置包括至少一个处理器、存储器及存储在该存储器上并可被至少一个处理器执行的指令,至少一个处理器执行该指令以实现上述实施例中的一种增加PIV应用支持证书数量的处理方法。该装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件,本申请实施例对此不作具体限定;该芯片与存储器耦合,用于执行存储器中存储的计算机程序,以执行上述实施例中公开的该装置异常处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机程序。在加载和执行计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个基站、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个基站、服务器或数据中心进行传输。所述计算机可读存储介质可以是本发明的装置能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、 或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种增加PIV应用支持证书数量的实现方法,其特征在于,所述方法包括如下步骤:
步骤1,密钥设备的虚拟机上电,向上位机声明第一CCID接口和第二CCID接口;
步骤2,所述虚拟机等待接收上位机发送的指令;
步骤3, 所述虚拟机判断第一CCID接口缓存中是否有APDU指令的指令数据,如果是,将数据端点地址设置为第一CCID接口的端点地址,执行步骤4,如果否,执行步骤8;
步骤4,所述虚拟机根据APDU指令的指令数据获取用于PIV应用认证的APDU数据,将用于PIV应用认证的APDU数据发送给密钥设备的PIV应用;
步骤5,所述密钥设备的PIV应用调用API接口获取CCID接口编号;
步骤6,所述密钥设备的PIV应用根据所述用于PIV应用认证的APDU数据中的通用设备证书编号和所述CCID接口编号获取PIV设备证书编号,根据所述PIV设备证书编号获取PIV证书,根据所述PIV证书进行操作获取操作结果;
步骤7,所述虚拟机根据所述数据端点地址返回所述操作结果给上位机,返回步骤3;
步骤8,所述虚拟机判断第二CCID接口缓存中是否有APDU指令的指令数据,如果是,将数据端点地址设置为第二CCID接口的端点值,执行步骤4,如果否,返回步骤3;
所述方法还包括:当有USB中断触发时,执行USB中断流程,所述USB中断流程包括:
步骤1A,密钥设备的虚拟机判断所述第一CCID接口是否接收到APDU指令,如果是,所述虚拟机将APDU指令的指令数据存储到第一CCID接口缓存,如果否,执行步骤2A;
步骤2A, 所述虚拟机判断所述第二CCID接口是否接收到APDU指令,如果是,所述虚拟机将APDU指令的指令数据存储到第二CCID接口缓存,如果否,返回步骤1A。
2.如权利要求1所述方法,其特征在于,
所述步骤3中,将数据端点地址设置为第一CCID接口的端点地址之后还包括:关闭第一CCID接口延时计时器;
所述步骤8中,将数据端点地址设置为第二CCID接口的端点值之后还包括:关闭第二CCID接口延时计时器;
所述步骤1A中所述虚拟机将APDU指令的指令数据存储到第一CCID接口缓存之后还包括:开启第一CCID接口延时计时器,根据第一延时器的计时按照预定的时间间隔通过第一CCID接口向上位机发送延时请求;
所述步骤2A中所述虚拟机将APDU指令的指令数据存储到第二CCID接口缓存之后还包括:开启第二CCID接口延时计时器,根据第二延时器的计时按照预定的时间间隔通过第二CCID接口向上位机发送延时请求。
3.如权利要求1所述方法,其特征在于,
所述步骤1A具体为:所述虚拟机判断所述第一CCID接口是否接收到用于PIV应用认证的APDU指令,如果是,所述虚拟机将用于PIV应用认证的APDU指令的指令数据存储到第一CCID接口缓存,如果否,执行步骤2A;
所述步骤2A具体为:所述虚拟机判断所述第二CCID接口是否接收到用于PIV应用认证的APDU指令,如果是,所述虚拟机将用于PIV应用认证的APDU指令的指令数据存储到第二CCID接口缓存, 如果否,返回步骤1A。
4.如权利要求1所述方法,其特征在于,所述步骤1之前还包括装载证书的过程,包括如下步骤:
步骤01, 密钥设备的虚拟机接收上位机发送的导入证书指令,将导入证书指令的指令数据发送给密钥设备的PIV应用;
步骤02, 密钥设备的 PIV应用根据导入证书指令的指令数据中预定字节的值设置导入证书的PIV设备证书编号。
5.如权利要求1所述方法,其特征在于,所述步骤1之前还包括装载证书的过程,包括如下步骤:
步骤01’, 密钥设备的虚拟机接收上位机发送的导入证书指令,将导入证书指令的指令数据发送给密钥设备的PIV应用;
步骤02’,密钥设备的 PIV应用获取导入证书指令的CCID接口编号,根据导入证书指令的指令数据中预定字节的值和所述接口编号设置导入证书的PIV设备证书编号。
6.如权利要求1所述方法,其特征在于,所述步骤1还包括:密钥设备的虚拟机上电,向上位机声明HID接口;
所述步骤2之后还包括: 所述虚拟机判断HID接口是否有指令数据,如果是,执行步骤m1, 如果否,执行步骤3;
步骤m1,所述虚拟机将USB接口类型标识设置为HID接口,判断指令数据是否为APDU数据,如果是,执行步骤m3, 如果否,执行步骤m2;
步骤m2, 所述虚拟机对所述指令数据进行操作,得到操作结果,执行步骤m5;
步骤m3, 所述虚拟机将所述指令数据发送给密钥设备的FIDO应用;
步骤m4, 所述密钥设备的FIDO应用对所述指令数据进行操作得到操作结果;
步骤m5, 所述虚拟机根据所述USB接口类型标识获取数据端点地址,根据所述数据端点地址将所述操作结果返回上位机,执行步骤2;
所述USB中断流程中,所述步骤1A之前还包括:
步骤01A,密钥设备的虚拟机判断HID接口是否接收到指令,如果是,执行步骤02A, 如果否,执行步骤1A;
步骤02A, 所述虚拟机判断所述HID接口接收到的指令的指令类型,如果是取消指令,所述虚拟机通过所述HID接口向上位机返回执行所述取消指令的响应;如果不是取消指令,所述虚拟机将所述HID接口接收到的指令的指令数据存储到HID接口缓存,执行步骤1A;
所述步骤2A中,如果否,返回步骤1A具体为: 如果否,所述USB中断流程结束。
7. 如权利要求6所述方法,其特征在于,所述步骤m2具体为:所述虚拟机判断所述指令数据的类型,当所述指令数据为MSG数据时,执行步骤m3, 当所述指令数据为CBOR数据时,所述虚拟机将所述CBOR数据填充为扩展APDU数据,将所述扩展APDU数据发送给FIDO应用;当所述指令数据为INIT数据时,所述虚拟机对所述INIT数据进行操作获得操作结果,执行步骤m5。
8.一种增加PIV应用支持证书数量的装置,其特征在于,所述装置包括至少一个处理器、存储器及存储在所述存储器上并可被所述至少一个处理器执行的指令,所述至少一个处理器执行所述指令以实现权利要求1至7任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当所述计算机程序在增加PIV应用支持证书数量的装置上运行时,使得所述增加PIV应用支持证书数量的装置执行如权利要求1至7任一项所述的方法。
10.一种芯片,其特征在于,所述芯片与存储器耦合,用于执行所述存储器中存储的计算机程序,以执行权利要求1至7任一项所述的方法。
CN202110769859.9A 2021-07-08 2021-07-08 一种增加piv应用支持证书数量的实现方法及装置 Active CN113221073B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110769859.9A CN113221073B (zh) 2021-07-08 2021-07-08 一种增加piv应用支持证书数量的实现方法及装置
PCT/CN2022/100353 WO2023279959A1 (zh) 2021-07-08 2022-06-22 一种增加piv应用支持证书数量的实现方法及装置
US18/288,037 US20240214220A1 (en) 2021-07-08 2022-06-22 Implementation Method and Apparatus for Increasing Number of Certificates Supported by PIV Application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110769859.9A CN113221073B (zh) 2021-07-08 2021-07-08 一种增加piv应用支持证书数量的实现方法及装置

Publications (2)

Publication Number Publication Date
CN113221073A CN113221073A (zh) 2021-08-06
CN113221073B true CN113221073B (zh) 2021-09-14

Family

ID=77081185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110769859.9A Active CN113221073B (zh) 2021-07-08 2021-07-08 一种增加piv应用支持证书数量的实现方法及装置

Country Status (3)

Country Link
US (1) US20240214220A1 (zh)
CN (1) CN113221073B (zh)
WO (1) WO2023279959A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113221073B (zh) * 2021-07-08 2021-09-14 飞天诚信科技股份有限公司 一种增加piv应用支持证书数量的实现方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001250087A (ja) * 2000-03-07 2001-09-14 Nippon Telegr & Teleph Corp <Ntt> Icカードへのコマンドapdu送出処理方法
CN107220829A (zh) * 2017-04-28 2017-09-29 上海林果实业股份有限公司 电子交易审计的方法及密钥设备
CN110971609A (zh) * 2019-12-10 2020-04-07 北京数码视讯软件技术发展有限公司 Drm客户端证书的防克隆方法、存储介质及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707413B2 (en) * 2010-01-15 2014-04-22 Bank Of America Corporation Authenticating a chip card interface device
CN104571962B (zh) * 2014-12-31 2017-11-17 上海动联信息技术股份有限公司 一种适合批量生产的usbkey设备内固件的实现方法
CN107315944B (zh) * 2017-06-20 2019-10-08 飞天诚信科技股份有限公司 一种智能密钥设备及其工作方法
CN109831304B (zh) * 2018-12-26 2024-04-02 北京握奇智能科技有限公司 一种身份认证设备的多应用方法及系统
CN112769854A (zh) * 2021-01-21 2021-05-07 北京信安世纪科技股份有限公司 一种支持多种数字身份信息的安全协议认证方法和系统
CN113221073B (zh) * 2021-07-08 2021-09-14 飞天诚信科技股份有限公司 一种增加piv应用支持证书数量的实现方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001250087A (ja) * 2000-03-07 2001-09-14 Nippon Telegr & Teleph Corp <Ntt> Icカードへのコマンドapdu送出処理方法
CN107220829A (zh) * 2017-04-28 2017-09-29 上海林果实业股份有限公司 电子交易审计的方法及密钥设备
CN110971609A (zh) * 2019-12-10 2020-04-07 北京数码视讯软件技术发展有限公司 Drm客户端证书的防克隆方法、存储介质及电子设备

Also Published As

Publication number Publication date
CN113221073A (zh) 2021-08-06
US20240214220A1 (en) 2024-06-27
WO2023279959A1 (zh) 2023-01-12

Similar Documents

Publication Publication Date Title
CN105072080A (zh) 一种信息验证方法、装置及系统
CN114257551A (zh) 一种分布式限流的方法及系统、存储介质
CN113221073B (zh) 一种增加piv应用支持证书数量的实现方法及装置
US20160179556A1 (en) Input/output (i/o) device configuration signature
KR20180103191A (ko) 특징 정보를 추출하기 위한 방법 및 시스템
CN114861158A (zh) 安全认证方法、装置、系统、电子设备及存储介质
WO2021147433A1 (zh) 手机盾状态管理方法、tsm平台服务器及存储介质
CN104516743B (zh) 基于ActiveX的嵌入式设备固件的升级方法及系统
CN108574658B (zh) 一种应用登录方法及其设备
CN108171063A (zh) 访问安全元件的方法、终端及计算机可读存储介质
CN112653668A (zh) 数据交互方法、装置、计算机设备和存储介质
CN109872148B (zh) 基于tui的可信数据处理方法、装置以及移动终端
EP3410332A1 (en) A system and method for transferring data to an authentication device
TWI772868B (zh) 安全元件、運算裝置及用於回應使用敏感資訊之一請求的方法
CN108650594A (zh) 一种音箱管理方法及用户终端、计算机存储介质
CN112513905B (zh) 用于实现虚拟智能卡服务的方法和系统
CN113836529A (zh) 进程检测方法、装置、存储介质以及计算机设备
CN110889698B (zh) 一种命令处理方法、电子设备及存储介质
CN109753473B (zh) 一种可信赖平台模块协议识别方法与装置
CN113468188A (zh) 一种SELinux策略库更新的方法及装置
CN110912704B (zh) 证书加载方法及相关产品
CN107851044B (zh) 适于从第一应用传送第一数据以供第二应用使用的集成电路卡
CN110580179A (zh) 信息处理方法及装置、电子设备及存储介质
CN113938305B (zh) 一种非法外联的判定方法、系统及装置
EP4124978A1 (en) Update of an operating system in a security element

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