CN103647648A - 一种安全通讯的方法 - Google Patents

一种安全通讯的方法 Download PDF

Info

Publication number
CN103647648A
CN103647648A CN201310664801.3A CN201310664801A CN103647648A CN 103647648 A CN103647648 A CN 103647648A CN 201310664801 A CN201310664801 A CN 201310664801A CN 103647648 A CN103647648 A CN 103647648A
Authority
CN
China
Prior art keywords
data
order
plaintext
port
return
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
CN201310664801.3A
Other languages
English (en)
Other versions
CN103647648B (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 CN201310664801.3A priority Critical patent/CN103647648B/zh
Publication of CN103647648A publication Critical patent/CN103647648A/zh
Priority to PCT/CN2014/081138 priority patent/WO2015085754A1/zh
Priority to US14/388,870 priority patent/US9633211B2/en
Application granted granted Critical
Publication of CN103647648B publication Critical patent/CN103647648B/zh
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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/04Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the shape
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开一种安全通讯的方法,属于信息安全领域。所述方法包括:步骤1:读卡器上电,判断系统工作模式,如果是苹果模式则进入苹果设备认证流程,执行步骤2;如果是USB模式则执行步骤2;步骤2:等待接收命令,对命令的第一预设字节判断,如果是第一预设值则执行相应操作;如果是第二预设值则根据初始加密密钥、密钥序列号和算法标识对应的算法对命令进行解密,将解密后的命令发给卡片,执行步骤3;步骤3:当接收到卡片返回的数据时,更新密钥序列号,采用与算法标识对应的算法、初始加密密钥和更新后的密钥序列号对卡片返回的数据进行加密,根据系统工作模式通过相应的端口将加密后的卡片返回的数据发送给上位机。

Description

一种安全通讯的方法
技术领域
本发明涉及信息安全领域,特别涉及一种安全通讯的方法。
背景技术
读卡器是一种连接智能卡和主机的设备,需要配合智能卡使用,它的主要作用在于读取智能卡内部的数据或者向智能卡中写入主机下发的数据,完成智能卡与主机之间数据交互。
本发明人发现现有技术存在以下缺陷,在智能卡与主机之间进行数据交互的过程中,数据容易被截取、监听。
发明内容
为解决现有技术中的缺陷,本发明提出一种安全通讯的方法,包括,
步骤S1:读卡器上电,进行初始化;所述初始化包括将解密标识置位,初始化算法标识,将解密方式置为双向解密;
步骤S2:判断系统工作模式,如果是苹果模式则执行步骤S3;如果是USB模式则执行步骤S4;
步骤S3:进入苹果设备认证流程,判断是否认证成功,是则执行步骤S4;否则返回步骤S2;
步骤S4:所述读卡器等待接收命令,当接收到命令时,判断所述命令的第一预设字节,如果是第一预设值则执行步骤S5;如果是第二预设值则执行步骤S6;如果是其他值,则执行相应操作,返回步骤S4;
步骤S5:根据所述命令的第二预设字节判断命令类型,如果是第一命令,则根据所述第一命令设置所述解密标识、所述算法标识、所述解密方式,根据所述系统工作模式通过相应的端口向上位机发送第一响应,返回步骤S4;如果是第二命令,根据所述第二命令更新读卡器中的初始加密密钥和密钥序列号,根据所述系统工作模式通过相应的端口向上位机发送第二响应,返回步骤S4;如果是第三命令则从所述读卡器中获取密钥序列号,根据所述系统工作模式通过相应的端口向上位机发送第三响应,返回步骤S4;
步骤S6:判断所述解密标识是否置位,是则执行步骤S7;否则将所述接收到的命令发送给卡片,等待接收所述卡片返回的数据,当所述读卡器接收到所述卡片返回的数据时,根据所述系统工作模式通过相应的端口向上位机发送所述卡片返回的数据,返回步骤S4;
步骤S7:判断所述解密方式,如果是双向解密则从所述读卡器中获取初始加密密钥和所述密钥序列号,根据所述初始加密密钥和所述密钥序列号计算解密密钥,根据所述算法标识对应的算法和所述解密密钥对所述接收到的命令中的密文进行解密,得到解密后的命令,将所述解密后的命令发送给卡片,等待接收所述卡片返回的数据,执行步骤S8;如果是单向解密则将所述接收到的命令发送给卡片,等待接收所述卡片返回的数据,执行步骤S8;
步骤S8:当所述读卡器接收到所述卡片返回的数据时,按照预设方式更新所述密钥序列号,采用与所述算法标识对应的算法、所述初始加密密钥和所述密钥序列号对所述卡片返回的数据进行加密,得到卡片返回数据的密文,根据所述系统工作模式通过相应的端口向上位机发送所述卡片返回数据的密文,返回步骤S4。
所述步骤S5中所述根据所述第二命令更新读卡器中的初始加密密钥和密钥序列号,具体为,
所述读卡器获取初始加密密钥,并将其作为当前密钥,采用所述算法标识对应的算法和所述当前密钥对所述第二命令中的密文部分进行解密,得到第二命令的明文,验证所述第二命令的明文是否合法,是则根据所述第二命令的明文更新所述读卡器中的所述初始加密密钥和所述密钥序列号;否则根据所述系统工作模式通过相应的端口向上位机报错,返回步骤S4。
所述读卡器获取初始加密密钥,并将其作为当前密钥,具体为,
判断所述读卡器中的是否存在初始加密密钥,是则从所述读卡器中获取初始加密密钥,并将其作为当前加密密钥;否则将默认的初始加密密钥作为当前加密密钥。
所述验证所述第二命令的明文是否合法,具体包括,
验证所述第二命令的明文的长度是否合法,验证所述第二命令的明文的填充字是否合法,验证所述第二命令的明文中的校验码是否合法;
如果所述第二命令的明文的长度合法、所述填充字合法,并且所述校验码合法,则所述第二命令的明文合法;否则所述第二命令的明文不合法。
所述验证所述第二命令的明文的长度是否合法具体为,判断所述第二命令的明文的长度是否等于第一预设长度,是则所述第二明文的长度合法;否则根据所述系统工作模式通过相应的端口向上位机发送第一错误响应,返回步骤S4;
所述验证所述第二命令的明文的填充字是否合法具体为,所述读卡器从所述第二命令的明文中获取填充字,判断所述填充字是否与第六预设值匹配,是则所述填充字合法;否则根据所述系统工作模式通过相应的端口向上位机发送第二错误响应,返回步骤S4;
所述验证所述第二命令的明文中的校验码是否合法具体为,所述读卡器对所述第二命令的明文中的指定部分进行计算,得到校验结果,从所述第二命令的明文中获取校验码,判断所述校验码与所述校验结果是否相同,是则所述第二命令的明文中的校验码合法;否则根据所述系统工作模式通过相应的端口向上位机发送第三错误响应,返回步骤S4。
所述密钥序列号中包括密钥序列号的计数值;
所述按照预设方式更新所述密钥序列号,具体为,更新所述密钥序列号的计数值。
所述步骤S8中,所述采用与所述算法标识对应的算法、所述初始加密密钥和所述密钥序列号对所述卡片返回的数据进行加密,具体为,
步骤F1:所述读卡器将所述卡片返回的数据转码成美国标准信息交换码数据,获取所述美国标准信息交换码数据删除最后一个字节得到的数据的长度,将其作为第一长度;
步骤F2:用第一数据对所述第一长度做模运算,得到的计算结果作为第二长度;
步骤F3:从所述美国标准信息交换码数据删除最后一个字节得到的数据的低位端开始用第二长度的第二数据补位,得到补位后的数据,采用与所述算法标识对应的算法、所述初始加密密钥和所述密钥序列号对所述补位后的数据进行加密。
所述步骤S1中,所述初始化具体为:初始化算法标识,将解密标识置位;
所述步骤S5中所述如果是第一命令,则根据所述第一命令设置所述解密标识、所述算法标识、所述解密方式,具体为,如果是第一命令,则根据所述第一命令设置所述解密标识,所述算法标识;
所述步骤S6至步骤S8替换为步骤S6’至步骤S8’,
步骤S6’:判断接收到的命令的指令字是否为预设值,是则将所述接收到命令发送给所述卡片,等待接收所述卡片返回的数据,执行步骤S8’;否则从所述读卡器中获取所述初始加密密钥和所述密钥序列号,根据所述初始加密密钥和所述密钥序列号计算解密密钥,采用所述算法标识对应的算法和所述解密密钥对所述接收到的命令进行解密,得到解密结果,执行步骤S7’;
步骤S7’:判断所述解密结果的指令字是否为预设值,是则将所述解密标识置位,将所述解密结果发送给所述卡片,等待接收所述卡片返回的数据,执行步骤S8’;否则根据所述系统工作模式采用相应的端口向上位机发送接收到的数据不支持此操作的响应,返回步骤S2;
步骤S8’:当所述读卡器接收到所述卡片返回的数据时,判断所述解密标识是否置位,是则将所述解密标识复位,从所述读卡器中获取所述初始加密密钥和所述密钥序列号,按照预设方式更新所述密钥序列号,根据所述初始加密密钥和所述密钥序列号计算加密密钥,将所述密钥序列号作为所述读卡器中更新后的所述密钥序列号,根据所述加密密钥和所述算法标识对应的算法对所述卡片返回的数据进行加密,得到加密结果,根据所述系统工作模式采用相应的端口向上位机发送所述加密结果,返回步骤S2。
所述步骤S1中所述初始化,还包括,打开中断,所述中断包括,苹果端口接收数据中断和USB端口接收数据中断;
当所述读卡器通过苹果端口接收到数据时,进入苹果端口接收数据中断;所述苹果端口接收数据中断,具体包括,
步骤G1:判断苹果端口接收中断标识是否置位,是则执行步骤G2;否则退出苹果端口接收数据中断;
步骤G2:清除中断标识,判断接收数据是否完成,是则将苹果端口接收数据完成标识置位,退出苹果端口接收数据中断;否则退出苹果端口接收数据中断;
当所述读卡器通过USB端口接收到数据时,进入USB接收数据中断;所述USB接收数据中断具体包括,
步骤H1:判断USB接收数据中断标识是否置位,是则执行步骤H2;否则退出USB接收数据中断;
步骤H2:清除中断标识,判断接收数据是否完成,是则将USB接收数据完成标识置位,退出USB接收数据中断;否则退出USB接收数据中断;
所述步骤S2至步骤S4替换为步骤S2’至步骤S4’:
步骤S2’:所述读卡器判断苹果端口接收数据完成标识是否置位,是则将所述苹果端口接收数据完成标识复位,将苹果端口发送数据标识置位,执行步骤S4’;否则执行步骤S3’;
步骤S3’:判断USB接收数据完成标识是否置位,是则将所述USB接收数据完成标识复位,将USB发送数据标识置位,执行步骤S4’;否则返回步骤S2’;
步骤S4’:判断接收到的命令的第一预设字节,如果是第一预设值则执行步骤S5;如果是第二预设值则执行步骤S6’;如果是其他值,则执行相应操作,返回步骤S2’;
所述步骤S7’中,所述根据所述系统工作模式通过相应的端口向上位机发送接收到的数据不支持此操作的响应,返回步骤S2,替换为步骤S7’-1至步骤S7’-2,
步骤S7’-1:判断所述苹果端口发送数据标识是否置位,是则将所述苹果端口发送数据标识复位,通过所述苹果端口向上位机发送接收到的数据不支持此操作的响应,返回步骤S3’;否则执行步骤S7’-2;
步骤S7’-2:判断所述USB发送数据标识是否置位,是则将所述USB发送数据标识复位,通过所述USB端口向上位机发送接收到的数据不支持此操作的响应,返回步骤S2’;否则返回步骤S2;
所述步骤S5中,所述返回步骤S4替换为返回步骤S2’;
所述步骤S8’中,所述根据所述系统工作模式通过相应的端口向上位机发送所述加密结果,返回步骤S2,替换为步骤S8’-1至步骤S8’-2,
步骤S8’-1:判断所述苹果发送数据标识是否置位,是则将所述苹果发送数据标识复位,通过所述苹果端口向上位机发送所述加密结果,返回步骤S3’;否则执行步骤S8’-2;
步骤S8’-2:判断所述USB发送数据标识是否置位,是则将所述USB发送数据标识复位,通过所述USB端口向上位机发送所述加密结果,返回步骤S2’;否则返回步骤S2’。
所述从所述第二命令的明文中获取填充字,具体为,
从所述第二命令的明文的第三预设字节开始获取第二预设长度的数据,将其作为填充字。
所述从所述第二命令的明文中获取校验码,具体为,
从所述第二命令的明文的第四预设字节开始获取第四预设长度的数据,将其作为校验码。
所述第二命令的明文中的指定部分,具体为,
所述从第二命令的明文的第一预设字节开始获取第三预设长度的数据。
所述从所述第二命令的明文中获取初始加密密钥和密钥序列号,具体包括,
从所述第二命令的明文的第一预设字节开始获取第五预设长度的数据,将其作为初始加密密钥,从所述第二命令的明文的第五预设字节开始获取第六预设长度的数据,将其作为密钥序列号。
所述根据所述系统工作模式采用相应的端口,具体为,
判断所述系统工作模式,如果是苹果模式,则采用苹果端口;如果是USB模式,则采用USB端口。
所述步骤S2中所述判断系统工作模式具体为,
步骤Y1:所述读卡器判断是否通过苹果端口与上位机建立连接,是则系统工作模式为苹果模式;否则执行步骤Y2;
步骤Y2:判断是否通过USB端口与上位机建立连接,是则所述系统工作模式为USB模式;否则预设时间后返回步骤Y1。
所述判断系统工作模式具体为,
步骤Y1’:所述读卡器判断是否通过USB端口与上位机建立连接,是则所述系统工作模式为USB模式,否则执行步骤Y2’;
步骤Y2’:判断是否通过苹果端口与上位机建立连接,是则所述系统工作模式为苹果模式;否则预设时间后返回步骤Y1’。
本发明的有益效果为,采用本发明提供的方法,读卡器与上位机之间协商密钥之后,更新密钥,利用更新后的密钥对数据进行加密或解密,从而提高数据通讯的安全性。
附图说明
图1、图2-1和图2-2为本发明实施例1提供的一种安全通讯的方法流程图;
图3-1、3-2为本发明实施例2提供的一种自动判断解密方式的方法流程图;
图4-1和图4-2为本发明实施例3提供的一种自动判断解密方式的方法流程图;
图5为苹果端口接收数据中断的处理方法流程图;
图6为USB接收数据中断的处理方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种安全通讯的方法,应用于读卡器对上位机下发的已加密命令进行解密,将解密后的命令发送给卡片,当卡片返回数据时,读卡器对卡片返回数据进行加密,并将加密后的数据发送给上位机。
实施例1
本实施例提供一种安全通讯的方法,如图1所示,具体包括:
步骤K1:读卡器上电,进行初始化;
步骤K2:判断系统工作模式,如果是苹果模式则执行步骤K3;如果是USB模式则执行步骤K5;
本实施例中,优选的,系统工作模式初始为USB模式;判断系统工作模式的方法具体为,读卡器上电进行初始化之后,判断是否通过苹果端口与苹果设备建立连接,是则系统工作模式为苹果模式,否则判断是否通过USB端口与USB设备建立连接,是则系统工作模式为USB模式;否则预设时间后继续判断是否通过苹果端口与苹果设备建立连接;
或者,读卡器上电进行初始化之后,判断是否通过USB端口与USB设备建立连接,是则系统工作模式为USB模式,否则判断是否通过苹果端口与苹果设备建立连接,是则系统工作模式为苹果模式;否则预设时间后继续判断是否通过USB端口与USB设备建立连接。
步骤K3:进入苹果设备认证流程,判断是否认证成功,是则执行步骤K4;否则返回步骤K2;
步骤K4:进入处理苹果数据流程,返回步骤K2;
步骤K5:进入处理USB数据流程,返回步骤K2。
参见图2-1和图2-2,本实施例中,处理USB数据的方法和处理苹果数据的方法相同,具体包括,
步骤101:读卡器等待接收命令;
本实施例中,读卡器通过苹果端口接收命令或通过USB端口接收命令。
步骤102:当接收到命令时,判断接收到的命令的第一预设字节的取值;如果是第一预设值,则执行步骤103至步骤117;如果是第二预设值,则执行步骤118至步骤126,如果是其他值,则执行相应操作,返回步骤101;
本实施例中,优选的,第一预设字节为命令的第一字节,第一预设值为0x6B,第二预设值为0x6F。
步骤103:根据命令的第二预设字节的取值判断命令类型,如果是第一命令,则执行步骤104;如果是第二命令,则执行步骤106;如果是第三命令,则执行步骤116;
本实施例中,如果命令的第二预设字节的取值等于第三预设值,则为第一命令;
如果命令的第二预设字节的取值等于第四预设值,则为第二命令;
其中,第二命令中包含命令头和密文部分,密文部分由KSN(Key SerialNumber,密钥序列号)、IPEK(Initial Pin Encryption,初始加密密钥)、填充字和校验码组成;
如果命令的第二预设字节的取值等于第五预设值,则为第三命令;
优选的,第二预设字节为命令的第十一至第十二字节,第三预设值为0x5B01,第四预设值为0x5B02,第五预设值为0x5B03。
当读卡器接收到第一命令时,执行步骤104至步骤105,实现读卡器设置其内部的解密标识、算法标识和解密方式;
步骤104:设置解密标识、算法标识、解密方式;
本实施例中,读卡器中设置有解密标识、算法标识、解密方式。其中,解密标识为复位或置位,解密标识复位表示失能解密,解密标识置位表示使能解密;算法标识包括第一算法标识和第二算法标识,优选的,第一算法标识对应3DES算法,第二算法标识对应AES算法;解密方式包括单向解密和双向解密;优选的,读卡器进行初始化时将解密标识复位,将算法标识置为第一算法标识,将解密方式置为双向解密。
步骤105:判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送解密初始化完成响应,返回步骤101;如果是USB模式,则通过USB端口向上位机发送解密初始化完成响应,返回步骤101;
本实施例中,解密初始化完成响应中包括解密初始化状态字,当解密初始化状态字为0x9000时,表示设置解密标识、算法标识、解密方式成功,当解密初始化状态字为其他值时,表示设置解密标识、算法标识、解密方式失败。
当读卡器接收到第二命令时,执行步骤106至步骤115,实现读卡器设置其内部的KSN和IPEK;
步骤106:判断flash(闪存)中IPEK的长度是否为0,是则执行步骤107;否则执行步骤108;
步骤107:将默认的IPEK作为当前密钥,采用与算法标识对应的算法和当前密钥对第二命令中的密文部分进行解密,得到第二命令的明文,执行步骤109;
本实施例中,默认的IPEK的长度为16字节;
步骤108:获取flash中的IPEK并将其作为当前密钥,采用与算法标识对应的算法和当前密钥对第二命令中的密文部分进行解密,得到第二命令的明文,执行步骤109;
优选的,第二命令的明文包括IPEK、KSN、填充字、校验码,其中IPEK的长度为16个字节,KSN的长度为10个字节,填充字的长度为2个字节,校验码的长度为4个字节;
步骤109:判断第二命令中的明文的长度是否等于第一预设长度,是则执行步骤110;否则判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送第一错误响应,返回步骤101;如果是USB模式,则通过USB端口向上位机发送第一错误响应,返回步骤101;
本实施例中,第一预设长度为32个字节,第一错误响应为0X6700;
步骤110:从第二命令的明文中获取填充字;
本实施例中,从第二命令的明文的第三预设字节开始获取第二预设长度的数据,将其作为填充字;
其中,第三预设字节为第二命令的明文的第二十七字节,第二预设长度为2个字节。
步骤111:判断填充字是否为合法,是则执行步骤112;否则判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送第二错误响应,返回步骤101;如果是USB模式,则通过USB端口向上位机发送第二错误响应,返回步骤101;
本实施例中,根据填充字的取值判断填充字是否合法,具体为,如果填充字的取值等于第六预设值,则表示填充字合法;否则表示填充字不合法;其中,第六预设值为0xFFFF;
步骤112:对第二命令的明文的指定部分进行计算得到校验结果;
本实施例中,第二命令的明文的指定部分具体为,第二命令的明文中除校验码以外的部分,即第二命令的明文的KSN明文、IPEK明文和填充字部分;
具体地,读卡器对从第二命令的明文的第一预设字节开始获取第三预设长度的数据,对获取到的数据进行计算,得到的计算结果为校验结果。其中,第三预设长度为28个字节。
步骤113:从第二命令的明文中获取校验码,判断校验结果与校验码是否相同,是则执行步骤114;否则判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送第三错误响应,返回步骤101;如果是USB模式,则通过USB端口向上位机发送第三错误响应,返回步骤101;
本实施例中,从第二命令的明文的第四预设字节开始获取第四预设长度的数据,将其作为校验码;其中,第四预设字节为第二命令的明文的第二十九字节,第四预设长度为4个字节。
步骤114:从第二命令的明文中获取KSN明文和IPEK明文,用KSN明文和IPEK明文分别替换flash中的KSN和IPEK;
具体地,从第二命令的明文的第一预设字节开始获取第五预设长度的数据,将其作为IPEK,从第二命令的明文的第五预设字节开始获取第六预设长度的数据,将其作为KSN。其中,第五预设字节为第二命令的明文的第十七字节,第五预设长度为16个字节,第六预设长度为10个字节。
步骤115:判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送写入KSN和IPEK响应,返回步骤101;如果是USB模式,则通过USB端口向上位机发送写入KSN和IPEK响应,返回步骤101;
当读卡器接收到第三命令时,执行步骤116至步骤117,实现将读卡器内部的KSN返回给上位机;
步骤116:从flash中获取KSN;
步骤117:判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送KSN响应,返回步骤101,如果是USB模式,则通过USB端口向上位机发送KSN响应,返回步骤101;
本实施例中,KSN响应包括KSN和获取KSN状态字。获取KSN状态字为0x9000时,表示获取KSN成功,获取KSN状态字为其他值时,表示获取KSN失败。
当读卡器接收到的命令的第一个字节的取值为第二预设值时,执行步骤118至步骤126,实现读卡器解密上位机下发的命令,将解密后的命令发送给卡片;读卡器将卡片返回数据进行加密,将加密后的卡片返回数据发送给上位机;
步骤118:判断解密标识是否置位,是则执行步骤119;否则执行步骤125;
本实施例中,解密标识置位表示解密使能,即需要对接收到的命令进行解密,此时收到的命令由密文构成;解密标识未置位标识解密失能,即不需要对接收到的命令进行解密,此时收到的命令由明文构成;
步骤119:判断解密方式,如果是双向解密,则执行步骤120;如果是单向解密,则将命令发送给卡片,执行步骤122;
步骤120:获取flash中的IPEK和KSN,根据IPEK和KSN计算解密密钥,执行步骤121;
本实施例中,KSN的后21比特为counter值,counter值的初始值为0。按照预设方式更新KSN具体为,从flash中获取KSN,获取KSN中的counter值,将counter值加1的结果替换原来的counter值,KSN中的其他部分不变,用得到的KSN更新原来的KSN。
步骤121:根据算法标识获取算法标识对应的算法,采用所述算法和所述解密密钥对命令中的密文进行解密,得到解密后的命令,将解密后的命令发送给卡片,执行步骤122;
步骤122:等待接收卡片返回的数据;
步骤123:当读卡器收到卡片返回的数据时,将与算法标识对应算法作为当前算法,按照预设方式更新KSN,并用更新后的KSN替换flash中的KSN;
步骤124:根据IPEK、更新后的KSN和当前算法对卡片返回的数据进行加密,得到卡片返回数据的密文,判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送卡片返回数据的密文,返回步骤101;如果是USB模式,则通过USB端口向上位机发送卡片返回数据的密文,返回步骤101;
具体地,读卡器将卡片数据转码成ASCII码(American Standard Code forInformation Interchange,美国标准信息交换码)数据,去掉ASCII码数据的最后一个字节数据,获取去掉最后一个字节数据的ASCII码数据的长度作为第一长度,用第一数据对第一长度做模运算,得到的计算结果作为第二长度,从去掉最后一个字节数据的ASCII码数据的低位端开始用长度为第二长度的第二数据补位,使得补位之后的数据的长度为8个字节长度的整数倍,然后对补位之后的数据进行加密得到密文,将密文发送给上位机;
优选的,第一数据为8,第二数据为0xFF,低位端为右端。
步骤125:将接收到的命令发送给卡片,等待接收卡片返回的数据;
步骤126:当读卡器收到卡片返回的数据时,判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送卡片返回的数据,返回步骤101;如果是USB模式,则通过USB端口向上位机发送卡片返回的数据,返回步骤101。
实施例2
本发明实施例2提供的读卡器处理数据的方法,其中,该数据可以是通过USB端口接收,也可以是通过苹果接口接收,具体如图3-1、图3-2所示,包括,
步骤201:读卡器等待接收命令;
本实施例中,读卡器通过苹果端口接收命令或通过USB端口接收命令。
步骤202:当接收到命令时,判断接收到的命令的第一预设字节的取值;如果是第一预设值,则执行步骤203至步骤217;如果是第二预设值,则执行步骤218至步骤229,如果是其他值,则执行相应操作,返回步骤201;
本实施例中,优选的,第一预设字节为命令的第一字节,第一预设值为0x6B,第二预设值为0x6F。
步骤203:根据命令的第二预设字节的取值判断命令类型,如果是第一命令,则执行步骤204;如果是第二命令,则执行步骤206;如果是第三命令,则执行步骤216;
本实施例中,如果命令的第二预设字节的取值等于第三预设值,则为第一命令;
如果命令的第二预设字节的取值等于第四预设值,则为第二命令;
其中,第二命令中包含命令头和密文部分,密文部分由KSN(Key SerialNumber,密钥序列号)、IPEK(Initial Pin Encryption,初始加密密钥)、填充字和校验码组成;
如果命令的第二预设字节的取值等于第五预设值,则为第三命令;
优选的,第二预设字节为命令的第十一至第十二字节,第三预设值为0x5B01,第四预设值为0x5B02,第五预设值为0x5B03。
当读卡器接收到第一命令时,执行步骤204至步骤205,实现读卡器设置其内部的解密标识、算法标识;
步骤204:设置解密标识、算法标识;
本实施例中,读卡器中设置有解密标识、算法标识。其中,解密标识为复位或置位,解密标识复位表示失能解密,解密标识置位表示使能解密;算法标识包括第一算法标识和第二算法标识,优选的,第一算法标识对应3DES算法,第二算法标识对应AES算法;优选的,读卡器进行初始化时将解密标识复位,将算法标识置为第一算法标识。
具体地,根据第一命令将解密标识置位,将算法标识置为第一算法标识或者第二算法标识。
步骤205:判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送解密初始化完成响应,返回步骤201;如果是USB模式,则通过USB端口向上位机发送解密初始化完成响应,返回步骤201;
本实施例中,解密初始化完成响应中包括解密初始化状态字,当解密初始化状态字为0x9000时,表示设置解密标识、算法标识成功,当解密初始化状态字为其他值时,表示设置解密标识、算法标识失败。
当读卡器接收到第二命令时,执行步骤206至步骤215,实现读卡器设置其内部的KSN和IPEK;
步骤206:判断flash(闪存)中IPEK的长度是否为0,是则执行步骤207;否则执行步骤208;
步骤207:将默认的IPEK作为当前密钥,采用与算法标识对应的算法和当前密钥对第二命令中的密文部分进行解密,得到第二命令的明文,执行步骤209;
本实施例中,默认的IPEK的长度为16字节;
步骤208:获取flash中的IPEK并将其作为当前密钥,采用与算法标识对应的算法和当前密钥对第二命令中的密文部分进行解密,得到第二命令的明文,执行步骤209;
优选的,第二命令的明文包括IPEK、KSN、填充字、校验码,其中IPEK的长度为16个字节,KSN的长度为10个字节,填充字的长度为2个字节,校验码的长度为4个字节;
步骤209:判断第二命令中的明文的长度是否等于第一预设长度,是则执行步骤210;否则判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送第一错误响应,返回步骤201;如果是USB模式,则通过USB端口向上位机发送第一错误响应,返回步骤201;
本实施例中,第一预设长度为32个字节,第一错误响应为0X6700;
步骤210:从第二命令的明文中获取填充字;
本实施例中,从第二命令的明文的第三预设字节开始获取第二预设长度的数据,将其作为填充字;
其中,第三预设字节为第二命令的明文的第二十七字节,第二预设长度为2个字节。
步骤211:判断填充字是否为合法,是则执行步骤212;否则判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送第二错误响应,返回步骤201;如果是USB模式,则通过USB端口向上位机发送第二错误响应,返回步骤201;
本实施例中,根据填充字的取值判断填充字是否合法,具体为,如果填充字的取值等于第六预设值,则表示填充字合法;否则表示填充字不合法;其中,第六预设值为0xFFFF;
步骤212:对第二命令的明文的指定部分进行计算得到校验结果;
本实施例中,第二命令的明文的指定部分具体为,第二命令的明文中除校验码以外的部分,即第二命令的明文的KSN明文、IPEK明文和填充字部分;
具体地,读卡器对从第二命令的明文的第一预设字节开始获取第三预设长度的数据,对获取到的数据进行计算,得到的计算结果为校验结果。其中,第三预设长度为28个字节。
步骤213:从第二命令的明文中获取校验码,判断校验结果与校验码是否相同,是则执行步骤214;否则判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送第三错误响应,返回步骤201;如果是USB模式,则通过USB端口向上位机发送第三错误响应,返回步骤201;
本实施例中,从第二命令的明文的第四预设字节开始获取第四预设长度的数据,将其作为校验码;其中,第四预设字节为第二命令的明文的第二十九字节,第四预设长度为4个字节。
步骤214:从第二命令的明文中获取KSN明文和IPEK明文,用KSN明文和IPEK明文分别替换flash中的KSN和IPEK,执行步骤215;
具体地,从第二命令的明文的第一预设字节开始获取第五预设长度的数据,将其作为IPEK,从第二命令的明文的第五预设字节开始获取第六预设长度的数据,将其作为KSN。其中,第五预设字节为第二命令的明文的第十七字节,第五预设长度为16个字节,第六预设长度为10个字节。
步骤215:判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送写入KSN和IPEK响应,返回步骤201;如果是USB模式,则通过USB端口向上位机发送写入KSN和IPEK响应,返回步骤201;
当读卡器接收到第三命令时,执行步骤216至步骤217,实现将读卡器内部的KSN返回给上位机;
步骤216:从flash中获取KSN;
步骤217:向上位机发送KSN响应,返回步骤201;
本实施例中,KSN响应包括KSN和获取KSN状态字。获取KSN状态字为0x9000时,表示获取KSN成功,获取KSN状态字为其他值时,表示获取KSN失败。
当读卡器接收到的命令的第一个字节的取值为第二预设值时,执行步骤218至步骤229,实现读卡器解密上位机下发的命令,将解密后的命令发送给卡片;读卡器将卡片返回数据进行加密,将加密后的卡片返回数据发送给上位机;
步骤218:判断接收到的命令的指令字是否为预设值,是则执行步骤219;否则执行步骤220;
步骤219:读卡器将接收到的命令发送给卡片,等待接收卡片返回的数据,执行步骤225;
步骤220:获取flash中的IPEK和KSN,根据IPEK和KSN计算解密密钥,执行步骤221;
步骤221:根据算法标识对应的算法和解密密钥对接收到的命令进行解密,得到解密后的命令;
步骤222:判断解密后的命令的指令字是否为预设值,是则执行步骤224;否则执行步骤223;
步骤223:判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送接收到的数据不支持此操作的响应,返回步骤201;如果是USB模式,则通过USB端口向上位机发送接收到的数据不支持此操作的响应,返回步骤201;
步骤224:将解密标识置位,将解密后的数据发送给卡片,等待接收卡片返回的数据,执行步骤225;
步骤225:当接收到卡片返回的数据时,判断解密标识是否置位,是则执行步骤227;否则执行步骤226;
步骤226:判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送卡片返回的数据,返回步骤201;如果是USB模式则通过USB端口向上位机发送卡片返回的数据,返回步骤201;
步骤227:将解密标识复位,获取flash中的IPEK和KSN,按照预设方式更新KSN,并将更新后的KSN替换flash中的KSN,根据IPEK和更新后的KSN计算加密密钥,执行步骤228;
步骤228:根据加密密钥和算法标识对应的算法对卡片返回的数据进行加密,得到加密结果;
步骤229:判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送加密结果,返回步骤201;如果是USB模式,则通过USB端口向上位机发送加密结果,返回步骤201。
实施例3
本实施例中,处理USB数据的方法和处理苹果数据的方法相同,如图4-1和图4-2所示,具体包括,
步骤301:读卡器上电,进行初始化;
本实施例中,读卡器中设置有解密标识、算法标识。其中,解密标识为复位或置位,解密标识复位表示失能解密,解密标识置位表示使能解密;算法标识包括第一算法标识和第二算法标识,优选的,第一算法标识对应3DES算法,第二算法标识对应AES算法;
优选的,读卡器上电,进行初始化时将解密标识复位,将算法标识置为第一算法标识。
读卡器上电进行初始化时还包括,
打开中断,中断包括苹果端口接收数据中断和USB接收数据中断;打开中断用于当读卡器通过苹果端口接收到数据时,进入苹果端口接收数据中断处理;用于当读卡器通过USB端口接收到数据时,进入USB接收数据中断处理;
苹果端口接收数据中断的处理方法如图5所示,包括,
步骤A1:进入苹果端口接收数据中断;
步骤A2:判断苹果端口接收中断标识是否置位,是则执行步骤A3;否则执行步骤A5;
步骤A3:清除中断标识,判断接收数据是否完成,是则执行步骤A4;否则执行步骤A5;
步骤A4:将苹果端口接收数据完成标识置位;
步骤A5:退出苹果端口接收数据中断;
USB接收数据中断的处理方法如图6所示,包括,
步骤B1:进入USB接收数据中断;
步骤B2:判断USB接收数据中断标识是否置位,是则执行步骤B3;否则执行步骤B5;
步骤B3:清除中断标识,判断接收数据是否完成,是则执行步骤B4;否则执行步骤B5;
步骤B4:将USB接收数据完成标识置位;
步骤B5:退出USB接收数据中断。
步骤302:判断苹果端口接收数据完成标识是否置位,是则执行步骤303;否则执行步骤304;
步骤303:将苹果端口接收数据完成标识复位,将苹果端口发送数据标识置位,执行步骤306;
步骤304:判断USB接收数据完成标识是否置位,是则执行步骤305;否则返回步骤302;
步骤305:将USB接收数据完成标识复位,将USB发送数据标识置位,执行步骤306;
步骤306:判断接收到的命令的第一预设字节的取值,如果是第一预设值,则执行步骤307;如果是第二预设值则执行步骤331;如果是其他值,则执行相应操作,返回步骤302;
步骤307:根据命令的第二预设字节的取值判断命令类型,如果是第一命令,则执行步骤308;如果是第二命令,则执行步骤311;如果是第三命令,则执行步骤328;
本实施例中,如果命令的第二预设字节的取值等于第三预设值,则为第一命令;
如果命令的第二预设字节的取值等于第四预设值,则为第二命令;
其中,第二命令中包含命令头和密文部分,密文部分由KSN(Key SerialNumber,密钥序列号)、IPEK(Initial Pin Encryption,初始加密密钥)、填充字和校验码组成;
如果命令的第二预设字节的取值等于第五预设值,则为第三命令;
优选的,第二预设字节为命令的第十一至第十二字节,第三预设值为0x5B01,第四预设值为0x5B02,第五预设值为0x5B03。
当读卡器接收到第一命令时,执行步骤308至步骤310,实现读卡器设置其内部的解密标识、算法标识;
步骤308:设置解密标识、算法标识;
本实施例中,根据第一命令将解密标识置位,将算法标识置为第一算法标识或者第二算法标识。
步骤309:判断苹果端口发送数据标识是否置位,是则通过苹果端口向上位机发送解密初始化完成响应,返回步骤304;否则执行步骤310;
本实施例中,解密初始化完成响应中包括解密初始化状态字,当解密初始化状态字为0x9000时,表示设置解密标识、算法标识成功,当解密初始化状态字为其他值时,表示设置解密标识、算法标识失败。
步骤310:判断USB发送数据标识是否置位,是则通过USB端口向上位机发送解密初始化完成响应,返回步骤302;否则返回步骤302;
当读卡器接收到第二命令时,执行步骤311至步骤327,实现读卡器设置其内部的KSN和IPEK;
步骤311:判断flash中IPEK的长度是否为0,是则执行步骤312;否则执行步骤313;
步骤312:将默认的IPEK作为当前密钥,采用与算法标识对应的算法和当前密钥对第二命令中的密文部分进行解密,得到第二命令的明文,执行步骤314;
本实施例中,默认的IPEK的长度为16字节;
步骤313:获取flash中的IPEK并将其作为当前密钥,采用与算法标识对应的算法和当前密钥对第二命令中的密文部分进行解密,得到第二命令的明文,执行步骤314;
优选的,第二命令的明文包括IPEK、KSN、填充字、校验码,其中IPEK的长度为16个字节,KSN的长度为10个字节,填充字的长度为2个字节,校验码的长度为4个字节;
步骤314:判断第二命令中的明文的长度是否等于第一预设长度,是则执行步骤317;否则执行步骤315;
步骤315:判断苹果端口发送数据标识是否置位,是则通过苹果端口向上位机发送第一错误响应,返回步骤304;否则执行步骤316;
本实施例中,第一预设长度为32个字节,第一错误响应为0X6700;
步骤316:判断USB发送数据标识是否置位,是则通过USB端口向上位机发送第一错误响应,返回步骤302;否则返回步骤302;
步骤317:从第二命令的明文中获取填充字,执行步骤318;
本实施例中,从第二命令的明文的第三预设字节开始获取第二预设长度的数据,将其作为填充字;
其中,第三预设字节为第二命令的明文的第二十七字节,第二预设长度为2个字节。
步骤318:判断填充字是否为合法,是则执行步骤321;否则执行步骤319;
步骤319:判断苹果端口发送数据标识是否置位,是则通过苹果端口向上位机发送第二错误响应,返回步骤304;否则执行步骤320;
本实施例中,根据填充字的取值判断填充字是否合法,具体为,如果填充字的取值等于第六预设值,则表示填充字合法;否则表示填充字不合法;其中,第六预设值为0xFFFF;
步骤320:判断USB发送数据标识是否置位,是则通过USB端口向上位机发送第二错误响应,返回步骤302;否则返回步骤302;
步骤321:对第二命令的明文的指定部分进行计算得到校验结果,执行步骤322;
本实施例中,第二命令的明文的指定部分具体为,第二命令的明文中除校验码以外的部分,即第二命令的明文的KSN明文、IPEK明文和填充字部分;
具体地,读卡器对从第二命令的明文的第一预设字节开始获取第三预设长度的数据,对获取到的数据进行计算,得到的计算结果为校验结果。其中,第三预设长度为28个字节。
步骤322:从第二命令的明文中获取校验码,判断校验结果与校验码是否相同,是则执行步骤325;否则执行步骤323;
本实施例中,从第二命令的明文的第四预设字节开始获取第四预设长度的数据,将其作为校验码;其中,第四预设字节为第二命令的明文的第二十九字节,第四预设长度为4个字节。
步骤323:判断苹果端口发送数据标识是否置位,是则通过苹果端口向上位机发送第三错误响应,返回步骤304;否则执行步骤324;
步骤324:判断USB发送数据标识是否置位,是则通过USB端口向上位机发送第三错误响应,返回步骤302;否则返回步骤302;
步骤325:从第二命令的明文中获取KSN明文和IPEK明文,用KSN明文和IPEK明文分别替换flash中的KSN和IPEK,执行步骤326;
具体地,从第二命令的明文的第一预设字节开始获取第五预设长度的数据,将其作为IPEK,从第二命令的明文的第五预设字节开始获取第六预设长度的数据,将其作为KSN。其中,第五预设字节为第二命令的明文的第十七字节,第五预设长度为16个字节,第六预设长度为10个字节。
步骤326:判断苹果端口发送数据标识是否置位,是则通过苹果端口向上位机发送写入KSN和IPEK响应,返回步骤304;否则执行步骤327;
步骤327:判断USB发送数据标识是否置位,是则通过USB端口向上位机发送写入KSN和IPEK响应,返回步骤302;否则返回步骤302;
当读卡器接收到第三命令时,执行步骤328至步骤330,实现将读卡器内部的KSN返回给上位机;
步骤328:从flash中获取KSN;
步骤329:判断苹果端口发送数据标识是否置位,是则通过苹果端口向上位机发送KSN响应,返回步骤304;否则执行步骤330;
本实施例中,KSN响应包括KSN和获取KSN状态字。获取KSN状态字为0x9000时,表示获取KSN成功,获取KSN状态字为其他值时,表示获取KSN失败。
步骤330:判断USB发送数据标识是否置位,是则通过USB端口向上位机发送KSN响应,返回步骤302;否则返回步骤302;
当读卡器接收到的命令的第一个字节的取值为第二预设值时,执行步骤331至步骤344,实现读卡器解密上位机下发的命令,将解密后的命令发送给卡片;读卡器将卡片返回数据进行加密,将加密后的卡片返回数据发送给上位机;
步骤331:判断接收到的命令的指令字是否为预设值,是则将接收到的命令发送给卡片,等待接收卡片返回的数据,执行步骤338;否则执行步骤332;
步骤332:获取flash中的IPEK和KSN,根据IPEK和KSN计算解密密钥,执行步骤333;
步骤333:根据解密密钥和预设解密算法对接收到的命令进行解密,得到解密后的命令;
步骤334:判断解密后的命令的指令字是否为预设值,是则执行步骤337;否则执行步骤335;
步骤335:判断苹果端口发送数据标识是否置位,是则通过苹果端口向上位机发送接收到的数据不支持此操作的响应,将苹果端口发送数据标识复位,返回步骤304;否则执行步骤336;
步骤336:判断USB发送数据标识是否置位,是则通过USB端口向上位机发送接收到的数据不支持此操作的响应,将USB发送数据标识复位,返回步骤302;否则返回步骤302;
步骤337:将解密标识置位,将解密后的数据发送给卡片,等待接收卡片返回的数据,执行步骤338;
步骤338:当接收到卡片返回的数据时,判断解密标识是否置位,是则执行步骤341;否则执行步骤339;
步骤339:判断苹果端口发送数据标识是否置位,是则通过苹果端口向上位机发送卡片返回的数据,将苹果端口发送数据标识复位,返回步骤304;否则执行步骤340;
步骤340:判断USB发送数据标识是否置位,是则通过USB端口向上位机发送卡片返回的数据,将USB发送数据标识复位,返回步骤302;否则返回步骤302;
步骤341:将解密标识复位,获取flash中的IPEK和KSN,按照预设方式更新KSN,并将更新后的KSN替换flash中的KSN,根据IPEK和更新后的KSN计算加密密钥,执行步骤342;
步骤342:根据加密密钥和算法标识对应的算法对卡片返回的数据进行加密,得到加密结果,执行步骤343;
步骤343:判断苹果端口发送数据标识是否置位,是则通过苹果端口向上位机发送加密结果,将苹果端口发送数据标识复位,返回步骤304;否则执行步骤344;
步骤344:判断USB发送数据标识是否置位,是则通过USB向上位机发送加密结果,将USB发送数据标识复位,返回步骤302;否则返回步骤302。
需要说明的是,实施例2中步骤218-230还可以为步骤405至步骤415;
步骤405:判断接收到的命令的指令字是否为预设值,是则将命令发送给卡片,执行步骤410;否则执行步骤406;
步骤406:根据解密密钥和预设解密算法对接收到的命令进行解密,得到解密后的命令,执行步骤407;
步骤407:判断解密后的命令的指令字是否为预设值,是则执行步骤409;否则执行步骤408;
步骤408:判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送接收到的数据不支持此操作的响应,返回步骤201;如果是USB模式,则通过USB端口向上位机发送接收到的数据不支持此操作的响应,返回步骤201;
步骤409:将加密标识置位,将解密后的命令发送给卡片,执行步骤410;
步骤410:等待接收卡片返回的数据;
步骤411:当读卡器接收到卡片返回的数据时,判断加密标识是否置位,是则执行步骤413;否则执行步骤412;
步骤412:判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送卡片返回的数据,返回步骤201;如果是USB模式,则通过USB端口向上位机发送卡片返回的数据,返回步骤201;
步骤413:将加密标识复位,获取flash中的IPEK和KSN,按照预设方式更新KSN,并将更新后的KSN替换flash中的KSN,根据IPEK和更新后的KSN计算加密密钥;
步骤414:根据加密密钥和预设算法对卡片返回的数据进行加密,得到解密结果,执行步骤415;
步骤415:判断系统工作模式,如果是苹果模式,则通过苹果端口向上位机发送加密结果,返回步骤201;如果是USB模式,则通过USB端口向上位机发送加密结果,返回步骤201。
上述实施方式同样可以实现本发明的发明目的。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (16)

1.一种安全通讯的方法,其特征在于,包括,
步骤S1:读卡器上电,进行初始化;所述初始化包括将解密标识置位,初始化算法标识,将解密方式置为双向解密;
步骤S2:判断系统工作模式,如果是苹果模式则执行步骤S3;如果是USB模式则执行步骤S4;
步骤S3:进入苹果设备认证流程,判断是否认证成功,是则执行步骤S4;否则返回步骤S2;
步骤S4:所述读卡器等待接收命令,当接收到命令时,判断所述命令的第一预设字节,如果是第一预设值则执行步骤S5;如果是第二预设值则执行步骤S6;如果是其他值,则执行相应操作,返回步骤S4;
步骤S5:根据所述命令的第二预设字节判断命令类型,如果是第一命令,则根据所述第一命令设置所述解密标识、所述算法标识、所述解密方式,根据所述系统工作模式通过相应的端口向上位机发送第一响应,返回步骤S4;如果是第二命令,根据所述第二命令更新读卡器中的初始加密密钥和密钥序列号,根据所述系统工作模式通过相应的端口向上位机发送第二响应,返回步骤S4;如果是第三命令则从所述读卡器中获取密钥序列号,根据所述系统工作模式通过相应的端口向上位机发送第三响应,返回步骤S4;
步骤S6:判断所述解密标识是否置位,是则执行步骤S7;否则将所述接收到的命令发送给卡片,等待接收所述卡片返回的数据,当所述读卡器接收到所述卡片返回的数据时,根据所述系统工作模式通过相应的端口向上位机发送所述卡片返回的数据,返回步骤S4;
步骤S7:判断所述解密方式,如果是双向解密则从所述读卡器中获取初始加密密钥和所述密钥序列号,根据所述初始加密密钥和所述密钥序列号计算解密密钥,根据所述算法标识对应的算法和所述解密密钥对所述接收到的命令中的密文进行解密,得到解密后的命令,将所述解密后的命令发送给卡片,等待接收所述卡片返回的数据,执行步骤S8;如果是单向解密则将所述接收到的命令发送给卡片,等待接收所述卡片返回的数据,执行步骤S8;
步骤S8:当所述读卡器接收到所述卡片返回的数据时,按照预设方式更新所述密钥序列号,采用与所述算法标识对应的算法、所述初始加密密钥和所述密钥序列号对所述卡片返回的数据进行加密,得到卡片返回数据的密文,根据所述系统工作模式通过相应的端口向上位机发送所述卡片返回数据的密文,返回步骤S4。
2.如权利要求1所述的方法,其特征在于,所述步骤S5中所述根据所述第二命令更新读卡器中的初始加密密钥和密钥序列号,具体为,
所述读卡器获取初始加密密钥,并将其作为当前密钥,采用所述算法标识对应的算法和所述当前密钥对所述第二命令中的密文部分进行解密,得到第二命令的明文,验证所述第二命令的明文是否合法,是则根据所述第二命令的明文更新所述读卡器中的所述初始加密密钥和所述密钥序列号;否则根据所述系统工作模式通过相应的端口向上位机报错,返回步骤S4。
3.如权利要求2所述的方法,其特征在于,所述读卡器获取初始加密密钥,并将其作为当前密钥,具体为,
判断所述读卡器中的是否存在初始加密密钥,是则从所述读卡器中获取初始加密密钥,并将其作为当前加密密钥;否则将默认的初始加密密钥作为当前加密密钥。
4.如权利要求2所述的方法,其特征在于,所述验证所述第二命令的明文是否合法,具体包括,
验证所述第二命令的明文的长度是否合法,验证所述第二命令的明文的填充字是否合法,验证所述第二命令的明文中的校验码是否合法;
如果所述第二命令的明文的长度合法、所述填充字合法,并且所述校验码合法,则所述第二命令的明文合法;否则所述第二命令的明文不合法。
5.如权利要求4所述的方法,其特征在于,所述验证所述第二命令的明文的长度是否合法具体为,判断所述第二命令的明文的长度是否等于第一预设长度,是则所述第二明文的长度合法;否则根据所述系统工作模式通过相应的端口向上位机发送第一错误响应,返回步骤S4;
所述验证所述第二命令的明文的填充字是否合法具体为,所述读卡器从所述第二命令的明文中获取填充字,判断所述填充字是否与第六预设值匹配,是则所述填充字合法;否则根据所述系统工作模式通过相应的端口向上位机发送第二错误响应,返回步骤S4;
所述验证所述第二命令的明文中的校验码是否合法具体为,所述读卡器对所述第二命令的明文中的指定部分进行计算,得到校验结果,从所述第二命令的明文中获取校验码,判断所述校验码与所述校验结果是否相同,是则所述第二命令的明文中的校验码合法;否则根据所述系统工作模式通过相应的端口向上位机发送第三错误响应,返回步骤S4。
6.如权利要求1所述的方法,其特征在于,所述密钥序列号中包括密钥序列号的计数值;
所述按照预设方式更新所述密钥序列号,具体为,更新所述密钥序列号的计数值。
7.如权利要求1所述的方法,其特征在于,所述步骤S8中,所述采用与所述算法标识对应的算法、所述初始加密密钥和所述密钥序列号对所述卡片返回的数据进行加密,具体为,
步骤F1:所述读卡器将所述卡片返回的数据转码成美国标准信息交换码数据,获取所述美国标准信息交换码数据删除最后一个字节得到的数据的长度,将其作为第一长度;
步骤F2:用第一数据对所述第一长度做模运算,得到的计算结果作为第二长度;
步骤F3:从所述美国标准信息交换码数据删除最后一个字节得到的数据的低位端开始用第二长度的第二数据补位,得到补位后的数据,采用与所述算法标识对应的算法、所述初始加密密钥和所述密钥序列号对所述补位后的数据进行加密。
8.如权利要求1所述的方法,其特征在于,所述步骤S1中,所述初始化具体为:初始化算法标识,将解密标识置位;
所述步骤S5中所述如果是第一命令,则根据所述第一命令设置所述解密标识、所述算法标识、所述解密方式,具体为,如果是第一命令,则根据所述第一命令设置所述解密标识,所述算法标识;
所述步骤S6至步骤S8替换为步骤S6’至步骤S8’,
步骤S6’:判断接收到的命令的指令字是否为预设值,是则将所述接收到命令发送给所述卡片,等待接收所述卡片返回的数据,执行步骤S8’;否则从所述读卡器中获取所述初始加密密钥和所述密钥序列号,根据所述初始加密密钥和所述密钥序列号计算解密密钥,采用所述算法标识对应的算法和所述解密密钥对所述接收到的命令进行解密,得到解密结果,执行步骤S7’;
步骤S7’:判断所述解密结果的指令字是否为预设值,是则将所述解密标识置位,将所述解密结果发送给所述卡片,等待接收所述卡片返回的数据,执行步骤S8’;否则根据所述系统工作模式采用相应的端口向上位机发送接收到的数据不支持此操作的响应,返回步骤S2;
步骤S8’:当所述读卡器接收到所述卡片返回的数据时,判断所述解密标识是否置位,是则将所述解密标识复位,从所述读卡器中获取所述初始加密密钥和所述密钥序列号,按照预设方式更新所述密钥序列号,根据所述初始加密密钥和所述密钥序列号计算加密密钥,将所述密钥序列号作为所述读卡器中更新后的所述密钥序列号,根据所述加密密钥和所述算法标识对应的算法对所述卡片返回的数据进行加密,得到加密结果,根据所述系统工作模式采用相应的端口向上位机发送所述加密结果,返回步骤S2。
9.如权利要求1所述的方法,其特征在于,所述步骤S1中所述初始化,还包括,打开中断,所述中断包括,苹果端口接收数据中断和USB端口接收数据中断;
当所述读卡器通过苹果端口接收到数据时,进入苹果端口接收数据中断;所述苹果端口接收数据中断,具体包括,
步骤G1:判断苹果端口接收中断标识是否置位,是则执行步骤G2;否则退出苹果端口接收数据中断;
步骤G2:清除中断标识,判断接收数据是否完成,是则将苹果端口接收数据完成标识置位,退出苹果端口接收数据中断;否则退出苹果端口接收数据中断;
当所述读卡器通过USB端口接收到数据时,进入USB接收数据中断;所述USB接收数据中断具体包括,
步骤H1:判断USB接收数据中断标识是否置位,是则执行步骤H2;否则退出USB接收数据中断;
步骤H2:清除中断标识,判断接收数据是否完成,是则将USB接收数据完成标识置位,退出USB接收数据中断;否则退出USB接收数据中断;
所述步骤S2至步骤S4替换为步骤S2’至步骤S4’:
步骤S2’:所述读卡器判断苹果端口接收数据完成标识是否置位,是则将所述苹果端口接收数据完成标识复位,将苹果端口发送数据标识置位,执行步骤S4’;否则执行步骤S3’;
步骤S3’:判断USB接收数据完成标识是否置位,是则将所述USB接收数据完成标识复位,将USB发送数据标识置位,执行步骤S4’;否则返回步骤S2’;
步骤S4’:判断接收到的命令的第一预设字节,如果是第一预设值则执行步骤S5;如果是第二预设值则执行步骤S6’;如果是其他值,则执行相应操作,返回步骤S2’;
所述步骤S7’中,所述根据所述系统工作模式通过相应的端口向上位机发送接收到的数据不支持此操作的响应,返回步骤S2,替换为步骤S7’-1至步骤S7’-2,
步骤S7’-1:判断所述苹果端口发送数据标识是否置位,是则将所述苹果端口发送数据标识复位,通过所述苹果端口向上位机发送接收到的数据不支持此操作的响应,返回步骤S3’;否则执行步骤S7’-2;
步骤S7’-2:判断所述USB发送数据标识是否置位,是则将所述USB发送数据标识复位,通过所述USB端口向上位机发送接收到的数据不支持此操作的响应,返回步骤S2’;否则返回步骤S2;
所述步骤S5中,所述返回步骤S4替换为返回步骤S2’;
所述步骤S8’中,所述根据所述系统工作模式通过相应的端口向上位机发送所述加密结果,返回步骤S2,替换为步骤S8’-1至步骤S8’-2,
步骤S8’-1:判断所述苹果发送数据标识是否置位,是则将所述苹果发送数据标识复位,通过所述苹果端口向上位机发送所述加密结果,返回步骤S3’;否则执行步骤S8’-2;
步骤S8’-2:判断所述USB发送数据标识是否置位,是则将所述USB发送数据标识复位,通过所述USB端口向上位机发送所述加密结果,返回步骤S2’;否则返回步骤S2’。
10.如权利要求5所述的方法,其特征在于,所述从所述第二命令的明文中获取填充字,具体为,
从所述第二命令的明文的第三预设字节开始获取第二预设长度的数据,将其作为填充字。
11.如权利要求5所述的方法,其特征在于,所述从所述第二命令的明文中获取校验码,具体为,
从所述第二命令的明文的第四预设字节开始获取第四预设长度的数据,将其作为校验码。
12.如权利要求5所述的方法,其特征在于,所述第二命令的明文中的指定部分,具体为,
所述从第二命令的明文的第一预设字节开始获取第三预设长度的数据。
13.如权利要求5所述的方法,其特征在于,所述从所述第二命令的明文中获取初始加密密钥和密钥序列号,具体包括,
从所述第二命令的明文的第一预设字节开始获取第五预设长度的数据,将其作为初始加密密钥,从所述第二命令的明文的第五预设字节开始获取第六预设长度的数据,将其作为密钥序列号。
14.如权利要求1所述的方法,其特征在于,所述根据所述系统工作模式采用相应的端口,具体为,
判断所述系统工作模式,如果是苹果模式,则采用苹果端口;如果是USB模式,则采用USB端口。
15.如权利要求1所述的方法,其特征在于,所述步骤S2中所述判断系统工作模式具体为,
步骤Y1:所述读卡器判断是否通过苹果端口与上位机建立连接,是则系统工作模式为苹果模式;否则执行步骤Y2;
步骤Y2:判断是否通过USB端口与上位机建立连接,是则所述系统工作模式为USB模式;否则预设时间后返回步骤Y1。
16.如权利要求1所述的方法,其特征在于,所述判断系统工作模式具体为,
步骤Y1’:所述读卡器判断是否通过USB端口与上位机建立连接,是则所述系统工作模式为USB模式,否则执行步骤Y2’;
步骤Y2’:判断是否通过苹果端口与上位机建立连接,是则所述系统工作模式为苹果模式;否则预设时间后返回步骤Y1’。
CN201310664801.3A 2013-12-10 2013-12-10 一种安全通讯的方法 Active CN103647648B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310664801.3A CN103647648B (zh) 2013-12-10 2013-12-10 一种安全通讯的方法
PCT/CN2014/081138 WO2015085754A1 (zh) 2013-12-10 2014-06-30 一种安全通讯的方法
US14/388,870 US9633211B2 (en) 2013-12-10 2014-06-30 Method for realizing secure communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310664801.3A CN103647648B (zh) 2013-12-10 2013-12-10 一种安全通讯的方法

Publications (2)

Publication Number Publication Date
CN103647648A true CN103647648A (zh) 2014-03-19
CN103647648B CN103647648B (zh) 2017-01-18

Family

ID=50252809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310664801.3A Active CN103647648B (zh) 2013-12-10 2013-12-10 一种安全通讯的方法

Country Status (3)

Country Link
US (1) US9633211B2 (zh)
CN (1) CN103647648B (zh)
WO (1) WO2015085754A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015085754A1 (zh) * 2013-12-10 2015-06-18 飞天诚信科技股份有限公司 一种安全通讯的方法
CN104778143A (zh) * 2015-03-20 2015-07-15 飞天诚信科技股份有限公司 主动与苹果设备连接并进行通信的方法和苹果设备附件
CN104915689A (zh) * 2015-04-15 2015-09-16 四川量迅科技有限公司 一种智能卡信息处理方法
WO2015161729A1 (zh) * 2014-04-21 2015-10-29 飞天诚信科技股份有限公司 一种读卡器的工作方法
CN105656624A (zh) * 2016-02-29 2016-06-08 浪潮(北京)电子信息产业有限公司 一种客户端、服务器、数据传输方法与系统
CN107465503A (zh) * 2017-07-21 2017-12-12 山东华芯半导体有限公司 一种快速验证安全存储芯片密码算法正确性的方法
CN108183795A (zh) * 2017-12-29 2018-06-19 新开普电子股份有限公司 一卡通密钥管理方法
CN112149137A (zh) * 2020-09-30 2020-12-29 深圳前海微众银行股份有限公司 漏洞检测方法、装置、电子设备及计算机可读存储介质
CN113408309A (zh) * 2021-08-19 2021-09-17 飞天诚信科技股份有限公司 一种数据处理方法、装置及计算机可读存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10135840B2 (en) * 2016-07-15 2018-11-20 Dell Products L.P. System and method for speed dialing information handling system configuration changes
CN109818747B (zh) * 2018-12-28 2022-01-28 苏州科达科技股份有限公司 数字签名方法及装置
US20220180002A1 (en) * 2019-03-15 2022-06-09 Omron Corporation Safety device configuration cloning
CN110740042B (zh) * 2019-10-21 2022-03-18 飞天诚信科技股份有限公司 一种智能密钥设备及其验证方法
CN111881463A (zh) * 2020-07-17 2020-11-03 盛视科技股份有限公司 一种串口通信加密方法、系统及串口设备
CN112702733B (zh) * 2020-12-30 2022-10-04 飞天诚信科技股份有限公司 一种读卡终端及其工作方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050139652A1 (en) * 2003-12-25 2005-06-30 Matsushita Electric Industrial Co., Ltd. Information reading device and information reading system
CN101236674A (zh) * 2008-02-02 2008-08-06 东信和平智能卡股份有限公司 智能密钥设备及其与外部设备进行信息交换的方法
CN102315940A (zh) * 2011-09-08 2012-01-11 飞天诚信科技股份有限公司 一种数据的传输与处理系统及方法
CN102402654A (zh) * 2010-09-16 2012-04-04 上海芯邦泰智能科技有限公司 读卡器安全模块共享系统及方法
US20120114116A1 (en) * 2010-11-09 2012-05-10 RetailGreen Apparatus and method for storing electronic receipts on a unified card
US20120210127A1 (en) * 2006-05-16 2012-08-16 Masakazu Sato Authentication device using true random number generating element or pseudo-random number generating element, authentication apparatus, and authentication method
CN103092799A (zh) * 2012-12-28 2013-05-08 飞天诚信科技股份有限公司 一种usb设备及其识别主机操作系统的方法
CN103095460A (zh) * 2013-01-22 2013-05-08 飞天诚信科技股份有限公司 一种智能卡安全通讯的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012007430A1 (de) 2012-04-13 2013-10-17 Ncp Engineering Gmbh System und Verfahren zur sicheren Kommunikation
CN103678215B (zh) * 2013-12-09 2016-04-06 飞天诚信科技股份有限公司 一种智能读卡器的工作方法
CN103647648B (zh) * 2013-12-10 2017-01-18 飞天诚信科技股份有限公司 一种安全通讯的方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050139652A1 (en) * 2003-12-25 2005-06-30 Matsushita Electric Industrial Co., Ltd. Information reading device and information reading system
US20120210127A1 (en) * 2006-05-16 2012-08-16 Masakazu Sato Authentication device using true random number generating element or pseudo-random number generating element, authentication apparatus, and authentication method
CN101236674A (zh) * 2008-02-02 2008-08-06 东信和平智能卡股份有限公司 智能密钥设备及其与外部设备进行信息交换的方法
CN102402654A (zh) * 2010-09-16 2012-04-04 上海芯邦泰智能科技有限公司 读卡器安全模块共享系统及方法
US20120114116A1 (en) * 2010-11-09 2012-05-10 RetailGreen Apparatus and method for storing electronic receipts on a unified card
CN102315940A (zh) * 2011-09-08 2012-01-11 飞天诚信科技股份有限公司 一种数据的传输与处理系统及方法
CN103092799A (zh) * 2012-12-28 2013-05-08 飞天诚信科技股份有限公司 一种usb设备及其识别主机操作系统的方法
CN103095460A (zh) * 2013-01-22 2013-05-08 飞天诚信科技股份有限公司 一种智能卡安全通讯的方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015085754A1 (zh) * 2013-12-10 2015-06-18 飞天诚信科技股份有限公司 一种安全通讯的方法
WO2015161729A1 (zh) * 2014-04-21 2015-10-29 飞天诚信科技股份有限公司 一种读卡器的工作方法
CN104778143B (zh) * 2015-03-20 2018-06-01 飞天诚信科技股份有限公司 主动与苹果设备连接并进行通信的方法和苹果设备附件
CN104778143A (zh) * 2015-03-20 2015-07-15 飞天诚信科技股份有限公司 主动与苹果设备连接并进行通信的方法和苹果设备附件
CN104915689A (zh) * 2015-04-15 2015-09-16 四川量迅科技有限公司 一种智能卡信息处理方法
CN104915689B (zh) * 2015-04-15 2017-10-31 四川量迅科技有限公司 一种智能卡信息处理方法
CN105656624A (zh) * 2016-02-29 2016-06-08 浪潮(北京)电子信息产业有限公司 一种客户端、服务器、数据传输方法与系统
CN107465503A (zh) * 2017-07-21 2017-12-12 山东华芯半导体有限公司 一种快速验证安全存储芯片密码算法正确性的方法
CN108183795A (zh) * 2017-12-29 2018-06-19 新开普电子股份有限公司 一卡通密钥管理方法
CN112149137A (zh) * 2020-09-30 2020-12-29 深圳前海微众银行股份有限公司 漏洞检测方法、装置、电子设备及计算机可读存储介质
WO2022068742A1 (zh) * 2020-09-30 2022-04-07 深圳前海微众银行股份有限公司 漏洞检测方法、装置、电子设备及计算机可读存储介质
CN112149137B (zh) * 2020-09-30 2023-12-05 深圳前海微众银行股份有限公司 漏洞检测方法、装置、电子设备及计算机可读存储介质
CN113408309A (zh) * 2021-08-19 2021-09-17 飞天诚信科技股份有限公司 一种数据处理方法、装置及计算机可读存储介质
CN113408309B (zh) * 2021-08-19 2021-11-26 飞天诚信科技股份有限公司 一种数据处理方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
WO2015085754A1 (zh) 2015-06-18
CN103647648B (zh) 2017-01-18
US9633211B2 (en) 2017-04-25
US20160232360A1 (en) 2016-08-11

Similar Documents

Publication Publication Date Title
CN103647648A (zh) 一种安全通讯的方法
US11989727B2 (en) Payment system
US20220351200A1 (en) Payment System For Authorizing A Transaction Between A User Device And A Terminal
US10430616B2 (en) Systems and methods for secure processing with embedded cryptographic unit
CA2948481C (en) Establishment of a secure session between a card reader and a mobile device
CN104156677B (zh) 一种基于fpga的硬盘加密、解密系统
CN103580852A (zh) 嵌入式安全元件的初始化
US20220078027A1 (en) System and method for reconfiguring and deploying soft stock-keeping units
CN110362427A (zh) 一种镜像文件的处理方法、系统、bmc及可读存储介质
CN105550866A (zh) 一种安全控制方法及装置
CN103034801A (zh) 基于模式的安全微控制器
US20100243736A1 (en) Storage device management systems and methods
CN104573591A (zh) 一种安全读卡器及其工作方法
CN109214221A (zh) 一种身份证阅读器验证方法、上位机和身份证阅读器
CN108710804A (zh) 一种计算机uefi固件的带硬件加密快速更新方法
CN102902903A (zh) 一种带按键的电子商务智能密码钥匙及其实现方法
CN104636662A (zh) 一种数据处理方法和终端设备
CN104134294B (zh) 一种基于营业厅自助终端的授权认证方法
US20160299490A1 (en) Method for the Enabling of Machine Functions on a Spinning-Mill Machine
CN111245844A (zh) 一种基于核心网设备License的集中控制方法
US20100122323A1 (en) Storage device management systems and methods
CN109375938A (zh) 一种用于Linux嵌入式装置的安全升级控制系统、方法及程序
CN104898985A (zh) 存储装置、控制器以及数据写入方法
CN104850811A (zh) 一种基于stk菜单对软件进行授权的方法及系统
CN105989477A (zh) 数据交互方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant