CN106533660B - 智能卡密钥的获取方法及装置 - Google Patents
智能卡密钥的获取方法及装置 Download PDFInfo
- Publication number
- CN106533660B CN106533660B CN201510582779.7A CN201510582779A CN106533660B CN 106533660 B CN106533660 B CN 106533660B CN 201510582779 A CN201510582779 A CN 201510582779A CN 106533660 B CN106533660 B CN 106533660B
- Authority
- CN
- China
- Prior art keywords
- key
- dispersion
- smart card
- sector
- level
- 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
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种智能卡密钥的获取方法及装置。其中,该方法包括:接收当前下发的智能卡的初始密钥;采用智能卡的序列号和附加参数信息集合组成多层级分散因子,对初始密钥进行分层加密得到待使用密钥,其中,附加参数信息集合包括以下至少之一:生产智能卡的厂商信息、使用智能卡的客户信息、从智能卡内每个扇区选取的字节信息。本发明解决了相关技术中生成的智能卡密钥易被复制,其安全性较差的技术问题。
Description
技术领域
本发明涉及安全认证技术领域,具体而言,涉及一种智能卡密钥的获取方法及装置。
背景技术
Mifare1卡是一种工作频率为13.56MHz的感应式智能IC卡,其具有读写功能。目前,Mifare1卡的主要芯片有philip mifare1 S50、S70等。以Mifare1 S50为例,卡片上具有1K的存储空间,共16个扇区,每个扇区4个数据块,每个数据块16个字节,其中,第3块为密钥和控制字节。
图1是根据相关技术的Mifare1卡的存储结构示意图。如图1所示,其存储空间为1K字节,共分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成,(当然也可以将16个扇区的64个块按绝对地址编号为0-63,其中:
第0扇区的块0(即绝对地址0块),用于存放厂商代码,其中,前4个字节是卡的UID,第5个字节是卡UID的校验位,剩余空间存储的是厂商数据,其内容已经固化,不可更改。
此外,每个扇区的块0、块1和块2为数据块,可用于存储数据。每个扇区的块3为控制块,可以包括但不限于:密码A、存取控制、密码B。具体存储格式如下:
A0A1A2A3A4A5 FF078069 B0B1B2B3B4B5
2008年2月,荷兰政府发布了一项警告,指出广泛应用的恩智浦(NXP)公司的Mifare RFID产品所赖以保证安全的密钥存在很高的风险,警告是在两位专家宣称破解了Mifare的加密算法之后立即发布的。随后不久,伦敦公交使用的Mifare卡被成功克隆。目前市面上的Mifare卡主要采用以下几种复制方式:
方式一、卡片克隆
每张M1卡都有一个全球唯一的UID号,这个UID号存在卡的第一个扇区(0扇区)的第一段(0段),也称为厂商段,其中,前4个字节是卡的UID,第5个字节是卡UID的校验位,剩余空间存储的是厂商数据,并且这个段在出厂之前就会被设置为写入保护,只能读取不能修改。当然也存在例外,有种叫UID卡的特殊卡,其UID是没有设置保护的,这种卡片的UID是可以被修改的,由此便可以很容易克隆出一张UID相同的卡片了。
方式二、验证漏洞
验证漏洞是目前使用最多的M1破解手段,这种破解方法主要是基于mfoc的软件工具来完成的。在读卡器尝试去读取一个扇区时,卡会首先发送一个随机数给读卡器,读卡器在接收到该随机数之后可以利用自身的预设算法对这个随机数进行加密处理再反馈回给该卡。该卡再利用自身预设的算法重新计算一次,如果发现结果一致,即可认定读卡器已经被授权,随后便可开始利用自身预设的算法加密会话并与读卡器进行数据交互。然而,此种复制方式的缺陷在于:当读卡器再次尝试去访问另一个扇区,卡片又会重复执行上述步骤,但此时该卡与读卡器之间的数据交换已经被加密处理过了,而这个算法又是由扇区的密钥决定的,所以密钥由此被泄露出去。
综上所述,验证漏洞这种方式要求至少获知一个扇区的密钥,但目前大部分的扇区都没有被加密,所以很容易就会遭到破解。
方式三、密钥流窃听
利用proxmark 3结合硬件设备在卡与已经授权的读卡器交换数据的时候进行窃听,从空中截获数据,然后再将tag数据读取出来,继而利用XOR算key工具就可以把扇区的密钥计算出来,这是PRNG算法的漏洞所导致的。这种窃听方式可以嗅探到全部扇区都加密的M1卡。但是,需要说明的是,针对利用proxmark 3的方法,由于其破解方法的专业性,在通常情况下无法进行相关的防复制。但是由于proxmark 3方法的复杂性以及需要相关的专业知识,目前市面上能够使用该方法进行复制的人员微乎其微。但即便如此,智能卡上的密钥依旧存在被复制的可能性从而导致密钥外泄的情况发生。
针对相关技术中生成的智能卡密钥易被复制,其安全性较差的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种智能卡密钥的获取方法及装置,以至少解决相关技术中生成的智能卡密钥易被复制,其安全性较差的技术问题。
根据本发明实施例的一个方面,提供了一种智能卡密钥的获取方法,包括:
接收当前下发的智能卡的初始密钥;采用智能卡的序列号和附加参数信息集合组成多层级分散因子,对初始密钥进行分层加密得到待使用密钥,其中,附加参数信息集合包括以下至少之一:生产智能卡的厂商信息、使用智能卡的客户信息、从智能卡内每个扇区选取的字节信息。
进一步地,采用序列号和附加参数信息集合组成多层级分散因子,对初始密钥进行分层加密得到待使用密钥包括:获取用于对初始密钥进行分层加密的每一层级密钥分散因子的执行顺序;按照执行顺序依次采用当前层级的分散因子对上一层级的分散因子加密处理后得到的过程密钥进行加密处理,得到待使用密钥。
进一步地,按照执行顺序依次采用当前层级的分散因子对上一层级的分散因子加密处理后得到的过程密钥进行加密处理包括:对序列号进行加密计算得到一级分散因子,并采用一级分散因子对初始密钥进行密钥分散,得到一级过程密钥;对厂商信息进行加密计算得到二级分散因子,并采用二级分散因子对一级过程密钥进行密钥分散,得到二级过程密钥;对客户信息进行加密计算得到三级分散因子,并采用三级分散因子对二级过程密钥进行密钥分散,得到三级过程密钥;对每个扇区选取的字节信息进行加密计算得到四级分散因子,并采用四级分散因子对三级过程密钥进行密钥分散,得到待使用密钥。
进一步地,对每个扇区选取的字节信息进行加密计算得到四级分散因子包括:根据每个扇区号的奇偶性从该扇区中选取从起始位置开始的N个字节号以及位于结束位置之前的N个字节号,其中,N为正整数,从起始位置开始的N个字节号的奇偶性与所在扇区号的奇偶性相反,位于结束位置之前的N个字节号的奇偶性与所在扇区号的奇偶性相同;对从起始位置开始的N个字节号以及位于结束位置之前的N个字节号进行加密计算,得到四级分散因子。
进一步地,在采用序列号和附加参数信息集合组成多层级分散因子,对初始密钥进行分层加密得到待使用密钥之后,还包括:将待使用密钥随机写入从智能卡内每个扇区的第一预设密钥存储位置或第二预设密钥存储位置;在写入待使用密钥的密钥存储位置之外的另一个密钥存储位置内写入随机数。
进一步地,在写入待使用密钥的密钥存储位置之外的另一个密钥存储位置内写入随机数之后,还包括:将待使用密钥的可读写属性设置为不可写,并且将随机数的可读写属性设置为不可读。
根据本发明实施例的另一方面,还提供了一种智能卡密钥的获取装置,包括:
接收模块,用于接收当前下发的智能卡的初始密钥;处理模块,用于采用智能卡的序列号和附加参数信息集合组成多层级分散因子,对初始密钥进行分层加密得到待使用密钥,其中,附加参数信息集合包括以下至少之一:生产智能卡的厂商信息、使用智能卡的客户信息、从智能卡内每个扇区选取的字节信息。
进一步地,处理模块包括:获取单元,用于获取对初始密钥进行分层加密的每一层级密钥分散因子的执行顺序;处理单元,用于按照执行顺序依次采用当前层级的分散因子对上一层级的分散因子加密处理后得到的过程密钥进行加密处理,得到待使用密钥。
进一步地,处理单元包括:第一处理子单元,用于对序列号进行加密计算得到一级分散因子,并采用一级分散因子对初始密钥进行密钥分散,得到一级过程密钥;第二处理子单元,用于对厂商信息进行加密计算得到二级分散因子,并采用二级分散因子对一级过程密钥进行密钥分散,得到二级过程密钥;第三处理子单元,用于对客户信息进行加密计算得到三级分散因子,并采用三级分散因子对二级过程密钥进行密钥分散,得到三级过程密钥;第四处理子单元,用于对每个扇区选取的字节信息进行加密计算得到四级分散因子,并采用四级分散因子对三级过程密钥进行密钥分散,得到待使用密钥。
进一步地,第四处理子单元,用于根据每个扇区号的奇偶性从该扇区中选取从起始位置开始的N个字节号以及位于结束位置之前的N个字节号,其中,N为正整数,从起始位置开始的N个字节号的奇偶性与所在扇区号的奇偶性相反,位于结束位置之前的N个字节号的奇偶性与所在扇区号的奇偶性相同;以及对从起始位置开始的N个字节号以及位于结束位置之前的N个字节号进行加密计算,得到四级分散因子。
进一步地,上述装置还包括:第一写入模块,用于将待使用密钥随机写入从智能卡内每个扇区的第一预设密钥存储位置或第二预设密钥存储位置;第二写入模块,用于在写入待使用密钥的密钥存储位置之外的另一个密钥存储位置内写入随机数。
进一步地,上述装置还包括:设置模块,用于将待使用密钥的可读写属性设置为不可写,并且将随机数的可读写属性设置为不可读。
在本发明实施例中,采用由智能卡的序列号和附加参数信息集合组成多层级分散因子对初始密钥进行分层加密的方式,通过对初始密钥进行多层次密钥分散处理,达到了提高密钥安全性的目的,从而实现了有效地防止卡片序列号被恶意复制,并且还能够防止通过专有设备破解卡片的密钥,恶意读取或者篡改智能卡内扇区内容的技术效果,进而解决了相关技术中生成的智能卡密钥易被复制,其安全性较差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的Mifare1卡的存储结构示意图;
图2是根据本发明实施例的智能卡密钥的获取方法的流程图;
图3是根据本发明实施例的智能卡密钥的获取装置的结构框图;
图4是根据本发明优选实施例的智能卡密钥的获取装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种智能卡密钥的获取方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本发明实施例的智能卡密钥的获取方法的流程图,如图2所示,该方法可以包括如下步骤:
步骤S202,接收当前下发的智能卡的初始密钥,其中,该初始密钥为智能卡的生产厂商在智能卡出厂时预先设置的初始加密信息;
步骤S204,采用智能卡的序列号和附加参数信息集合组成多层级分散因子,对初始密钥进行分层加密得到待使用密钥,其中,附加参数信息集合包括以下至少之一:生产智能卡的厂商信息、使用智能卡的客户信息、从智能卡内每个扇区选取的字节信息。
通过上述步骤,可以实现通过对初始密钥进行多层次密钥分散处理,达到了提高密钥安全性的目的,从而实现了有效地防止智能卡序列号被恶意复制,并且还能够防止通过专有设备破解智能卡的密钥,恶意读取或者篡改智能卡内扇区内容的技术效果,进而解决了相关技术中生成的智能卡密钥易被复制,其安全性较差的技术问题。
在优选实施过程中,上述智能卡可以是Mifare1卡。
需要说明的是,上述序列号既可以是智能卡的生产厂商为使用该智能卡的客户预先分配的,也可以是使用该智能卡的客户自定义的。
在步骤S202中,采用序列号和附加参数信息集合组成多层级分散因子,对初始密钥进行分层加密得到待使用密钥可以包括以下步骤:
步骤S1,获取用于对初始密钥进行分层加密的每一层级密钥分散因子的执行顺序;
步骤S2,按照执行顺序依次采用当前层级的分散因子对上一层级的分散因子加密处理后得到的过程密钥进行加密处理,得到待使用密钥。
相关技术中,通常仅采用智能卡的序列号对初始密钥进行加密处理,其容易被专有设备破解或复制,安全性较差。为此,在优选实施例中,在采用智能卡的序列号对初始密钥进行加密处理的基础上,还考虑到基于引入0扇区0块12字节的厂家信息、使用智能卡的客户序列号等信息作为分散因子进行多级密钥分散,并将整张Mifare1智能卡的所有扇区全部加密锁定处理,从而能够防止通过专有设备恶意破解智能卡的密钥,防止恶意读取或者篡改智能卡内扇区中写入的内容,有效地杜绝了“伪卡”的可能性。
需要说明的是,在采用智能卡的序列号对初始密钥进行加密处理的基础上,可以在生产智能卡的厂商信息、使用智能卡的客户信息、从智能卡内每个扇区选取的字节信息中选取部分或全部附加信息对初始密钥进行多层次密钥分散的加密处理。而且,对于采用这些附加信息对初始密钥进行多层次密钥分散的执行顺序可以是随意设定的。
在步骤S2中,按照执行顺序依次采用当前层级的分散因子对上一层级的分散因子加密处理后得到的过程密钥进行加密处理可以包括以下操作:
步骤S21,对序列号进行加密计算得到一级分散因子,并采用一级分散因子对初始密钥进行密钥分散,得到一级过程密钥;
步骤S22,对厂商信息进行加密计算得到二级分散因子,并采用二级分散因子对一级过程密钥进行密钥分散,得到二级过程密钥;
步骤S23,对客户信息进行加密计算得到三级分散因子,并采用三级分散因子对二级过程密钥进行密钥分散,得到三级过程密钥;
步骤S24,对每个扇区选取的字节信息进行加密计算得到四级分散因子,并采用四级分散因子对三级过程密钥进行密钥分散,得到待使用密钥。
目前,市场上智能卡的复制设备都只会复制卡片扇区0的0块的序列号,并使用该序列号作为分散因子进行密钥的一级分散,而并不会复制后面的12个字节用于密钥分散。为此,在优选实施例中,首先可以使用加密算法对智能卡序列号进行加密计算,其计算结果作为一级密钥分散因子;其次,使用一级密钥分散因子对密钥进行一级密钥分散,其分散结果为一级过程密钥;再次,使用加密算法对扇区0的0块序列号后面的12个字节厂家信息进行加密计算,计算结果为二级分散因子;然后,再使用二级分散因子对一级过程密钥进行二级密钥分散,分散结果为二级过程密钥。在此基础上,还可以针对每一个客户,使用加密算法对客户信息生成一个客户序列号,该序列号可以存储在SAP***中以及读卡器中,进而使用该客户序列号作为三级分散因子对二级过程密钥进行三级密钥分散,其分散结果为三级过程密钥;最后,可以对每个扇区选取的字节信息进行加密计算得到四级分散因子,再采用四级分散因子对三级过程密钥进行四级密钥分散得到待使用密钥。
在步骤S24中,对每个扇区选取的字节信息进行加密计算得到四级分散因子可以包括以下操作:
步骤S241,根据每个扇区号的奇偶性从该扇区中选取从起始位置开始的N个字节号以及位于结束位置之前的N个字节号,其中,N为正整数,从起始位置开始的N个字节号的奇偶性与所在扇区号的奇偶性相反,位于结束位置之前的N个字节号的奇偶性与所在扇区号的奇偶性相同;
步骤S242,对从起始位置开始的N个字节号以及位于结束位置之前的N个字节号进行加密计算,得到四级分散因子。
在优选实施例中,针对不同扇区奇偶性,可以生成不同的四级密钥分散因子,其具体密钥分散因子的生成方法如下:
(1)如果该扇区是奇扇区,则可以使用开头的四个偶数字节号,以及末尾的四个奇数字节号,组合成四级密钥分散因子;
(2)如果该扇区是偶扇区,则可以使用开头的四个奇数字节号,以及末尾的四个偶数字节号,组合成四级密钥分散因子。
例如:扇区0(偶数)起始的四个奇数字节号为01030507,以及末尾的四个偶数字号56586062,其可以通过预设算法转化成如下四级密钥分散因子:0001000300050007003C003D003E003F。使用四级分散因子可以对三级过程密钥进行四级密钥分散,通过该层分散,每一个扇区都可以生成一个独立的密钥。
在步骤S204,在采用序列号和附加参数信息集合组成多层级分散因子,对初始密钥进行分层加密得到待使用密钥之后,还可以包括以下步骤:
步骤S3,将待使用密钥随机写入从智能卡内每个扇区的第一预设密钥存储位置或第二预设密钥存储位置;
步骤S4,在写入待使用密钥的密钥存储位置之外的另一个密钥存储位置内写入随机数。
在优选实施例中,可以将待使用密钥写入扇区I(I为0至15之间的整数)的第三块的A密钥所在位置或者B密钥所在位置中,具体某个扇区I写入A密钥所在位置中还是写入B密钥所在位置中,可以具有随机性。这种写入密钥的随机性,能够在很大程度上增加外接专有设备的破解难度。
在优选实施过程中,在按照扇区号写入A(或B)密钥所在位置之后,还可以在备用的B(或A)密钥所在块中写入随机数,这种写入随机数的机制,同样能够在很大程度上增加外接专有设备的破解难度。
在步骤S204,在写入待使用密钥的密钥存储位置之外的另一个密钥存储位置内写入随机数之后,还可以包括以下操作:
步骤S5,将待使用密钥的可读写属性设置为不可写,并且将随机数的可读写属性设置为不可读。
在优选实施例中,经过上述发卡过程的验证密钥导入和备用密钥块的密钥随机化处理,可以改写每个扇区的第三块的控制位置,将验证密钥的可读写性设置成不可写,将备用密钥的可读写性设置成不可读。
通过上述方法,能够解决有效地防止通过专有设备恶意破解智能卡的密钥、恶意读取或者篡改智能卡扇区中的内容。
作为本发明的一个优选实施例,提供了一种身份认证识别***。该***主体可以包括但不限于:安装在门禁考勤点的读卡器,对读卡器上传数据处理权限判断的控制器,上层平台软件以及发卡设备。
门禁控制中心的管理终端上安装有平台软件,其可以按序执行以下操作:
第一步,通过发卡设备,将本发明实施例计算得到的密钥导入到Mifare1卡的密钥存储块中;
第二步,根据预设门禁规则,将智能***导入到特定扇区的约定位置,并在该扇区的其它位置上写入伪***;
第三步,将相应导入过密钥的智能卡添加到平台软件中;
最后,通过平台软件将权限下发到控制器中。
另外,刷卡的密钥验证过程可以通过读卡器和卡片交互完成。当发生刷卡事件时,读卡器第一步会获取智能卡的序列号,使用预设加密算法生成一级密钥分散因子,并采用该分散因子对初始密钥进行密钥分散,生成一级过程密钥;第二步,读卡器会获取扇区0的0块序列号后面的12个字节厂家信息,再利用预设加密算法生成二级密钥分散因子,并采用该二级密钥分散因子对一级过程密钥进行密钥分散,生成二级过程密钥;第三步,使用客户序列号对经过两级密钥分散后产生的二级过程密钥进行三级密钥分散,生成三级过程密钥;第四步,使用根据扇区数据信息生成的四级密钥分散因子对三级过程密钥进行四级密钥分散,生成具体扇区验证的验证密钥;第五步,根据预设门禁规则中关于扇区密钥的约定,使用A(或B)密钥对门禁扇区进行认证,如果认证通过,则可以根据预设门禁规则读取扇区具体块中的***,并将智能***上传给控制器进行鉴权。
图3是根据本发明实施例的智能卡密钥的获取装置的结构框图,如图3所示,该装置可以包括:接收模块10,用于接收当前下发的智能卡的初始密钥,其中,该初始密钥为智能卡的生产厂商在智能卡出厂时预先设置的初始加密信息;处理模块20,用于采用智能卡的序列号和附加参数信息集合组成多层级分散因子,对初始密钥进行分层加密得到待使用密钥,其中,附加参数信息集合包括以下至少之一:生产智能卡的厂商信息、使用智能卡的客户信息、从智能卡内每个扇区选取的字节信息。
可选地,图4是根据本发明优选实施例的智能卡密钥的获取装置的结构框图,如图4所示,处理模块20可以包括:获取单元200,用于获取对初始密钥进行分层加密的每一层级密钥分散因子的执行顺序;处理单元202,用于按照执行顺序依次采用当前层级的分散因子对上一层级的分散因子加密处理后得到的过程密钥进行加密处理,得到待使用密钥。
可选地,处理单元202可以包括:第一处理子单元(图中未示出),用于对序列号进行加密计算得到一级分散因子,并采用一级分散因子对初始密钥进行密钥分散,得到一级过程密钥;第二处理子单元(图中未示出),用于对厂商信息进行加密计算得到二级分散因子,并采用二级分散因子对一级过程密钥进行密钥分散,得到二级过程密钥;第三处理子单元(图中未示出),用于对客户信息进行加密计算得到三级分散因子,并采用三级分散因子对二级过程密钥进行密钥分散,得到三级过程密钥;第四处理子单元(图中未示出),用于对每个扇区选取的字节信息进行加密计算得到四级分散因子,并采用四级分散因子对三级过程密钥进行密钥分散,得到待使用密钥。
可选地,第四处理子单元,用于根据每个扇区号的奇偶性从该扇区中选取从起始位置开始的N个字节号以及位于结束位置之前的N个字节号,其中,N为正整数,从起始位置开始的N个字节号的奇偶性与所在扇区号的奇偶性相反,位于结束位置之前的N个字节号的奇偶性与所在扇区号的奇偶性相同;以及对从起始位置开始的N个字节号以及位于结束位置之前的N个字节号进行加密计算,得到四级分散因子。
可选地,如图4所示,上述装置还可以包括:第一写入模块30,用于将待使用密钥随机写入从智能卡内每个扇区的第一预设密钥存储位置或第二预设密钥存储位置;第二写入模块40,用于在写入待使用密钥的密钥存储位置之外的另一个密钥存储位置内写入随机数。
进一步地,如图4所示,上述装置还可以包括:设置模块50,用于将待使用密钥的可读写属性设置为不可写,并且将随机数的可读写属性设置为不可读。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种智能卡密钥的获取方法,其特征在于,包括:
接收当前下发的智能卡的初始密钥;
采用所述智能卡的序列号和附加参数信息集合组成多层级分散因子,对所述初始密钥进行分层加密得到待使用密钥,其中,所述附加参数信息集合包括以下至少之一:生产所述智能卡的厂商信息、使用所述智能卡的客户信息、从所述智能卡内每个扇区选取的字节信息;
其中,从所述智能卡内每个扇区选取的字节信息包括:根据每个扇区号的奇偶性从该扇区中选取从起始位置开始的N个字节号以及位于结束位置之前的N个字节号,其中,N为正整数,从所述起始位置开始的N个字节号的奇偶性与所在扇区号的奇偶性相反,位于所述结束位置之前的N个字节号的奇偶性与所在扇区号的奇偶性相同,从所述起始位置开始的N个字节号以及位于所述结束位置之前的N个字节号用于通过加密计算得到对应层级分散因子。
2.根据权利要求1所述的方法,其特征在于,采用所述序列号和所述附加参数信息集合组成所述多层级分散因子,对所述初始密钥进行分层加密得到所述待使用密钥包括:
获取用于对所述初始密钥进行分层加密的每一层级密钥分散因子的执行顺序;
按照所述执行顺序依次采用当前层级的分散因子对上一层级的分散因子加密处理后得到的过程密钥进行加密处理,得到所述待使用密钥。
3.根据权利要求2所述的方法,其特征在于,按照所述执行顺序依次采用所述当前层级的分散因子对所述上一层级的分散因子加密处理后得到的所述过程密钥进行加密处理包括:
对所述序列号进行加密计算得到一级分散因子,并采用所述一级分散因子对所述初始密钥进行密钥分散,得到一级过程密钥;
对所述厂商信息进行加密计算得到二级分散因子,并采用所述二级分散因子对所述一级过程密钥进行密钥分散,得到二级过程密钥;
对所述客户信息进行加密计算得到三级分散因子,并采用所述三级分散因子对所述二级过程密钥进行密钥分散,得到三级过程密钥;
对所述每个扇区选取的字节信息进行加密计算得到四级分散因子,并采用所述四级分散因子对所述三级过程密钥进行密钥分散,得到所述待使用密钥。
4.根据权利要求3所述的方法,其特征在于,对所述每个扇区选取的字节信息进行加密计算得到所述四级分散因子包括:
根据每个扇区号的奇偶性从该扇区中选取从起始位置开始的N个字节号以及位于结束位置之前的N个字节号;
对从所述起始位置开始的N个字节号以及位于所述结束位置之前的N个字节号进行加密计算,得到所述四级分散因子。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在采用所述序列号和所述附加参数信息集合组成所述多层级分散因子,对所述初始密钥进行分层加密得到所述待使用密钥之后,还包括:
将所述待使用密钥随机写入从所述智能卡内每个扇区的第一预设密钥存储位置或第二预设密钥存储位置;
在写入所述待使用密钥的密钥存储位置之外的另一个密钥存储位置内写入随机数。
6.根据权利要求5所述的方法,其特征在于,在写入所述待使用密钥的密钥存储位置之外的另一个密钥存储位置内写入所述随机数之后,还包括:
将所述待使用密钥的可读写属性设置为不可写,并且将所述随机数的可读写属性设置为不可读。
7.一种智能卡密钥的获取装置,其特征在于,包括:
接收模块,用于接收当前下发的智能卡的初始密钥;
处理模块,用于采用所述智能卡的序列号和附加参数信息集合组成多层级分散因子,对所述初始密钥进行分层加密得到待使用密钥,其中,所述附加参数信息集合包括以下至少之一:生产所述智能卡的厂商信息、使用所述智能卡的客户信息、从所述智能卡内每个扇区选取的字节信息;
其中,从所述智能卡内每个扇区选取的字节信息包括:根据每个扇区号的奇偶性从该扇区中选取从起始位置开始的N个字节号以及位于结束位置之前的N个字节号,其中,N为正整数,从所述起始位置开始的N个字节号的奇偶性与所在扇区号的奇偶性相反,位于所述结束位置之前的N个字节号的奇偶性与所在扇区号的奇偶性相同,从所述起始位置开始的N个字节号以及位于所述结束位置之前的N个字节号用于通过加密计算得到对应层级分散因子。
8.根据权利要求7所述的装置,其特征在于,所述处理模块包括:
获取单元,用于获取对所述初始密钥进行分层加密的每一层级密钥分散因子的执行顺序;
处理单元,用于按照所述执行顺序依次采用当前层级的分散因子对上一层级的分散因子加密处理后得到的过程密钥进行加密处理,得到所述待使用密钥。
9.根据权利要求8所述的装置,其特征在于,所述处理单元包括:
第一处理子单元,用于对所述序列号进行加密计算得到一级分散因子,并采用所述一级分散因子对所述初始密钥进行密钥分散,得到一级过程密钥;
第二处理子单元,用于对所述厂商信息进行加密计算得到二级分散因子,并采用所述二级分散因子对所述一级过程密钥进行密钥分散,得到二级过程密钥;
第三处理子单元,用于对所述客户信息进行加密计算得到三级分散因子,并采用所述三级分散因子对所述二级过程密钥进行密钥分散,得到三级过程密钥;
第四处理子单元,用于对所述每个扇区选取的字节信息进行加密计算得到四级分散因子,并采用所述四级分散因子对所述三级过程密钥进行密钥分散,得到所述待使用密钥。
10.根据权利要求9所述的装置,其特征在于,第四处理子单元,用于根据每个扇区号的奇偶性从该扇区中选取从起始位置开始的N个字节号以及位于结束位置之前的N个字节号;以及对从所述起始位置开始的N个字节号以及位于所述结束位置之前的N个字节号进行加密计算,得到所述四级分散因子。
11.根据权利要求7至10中任一项所述的装置,其特征在于,所述装置还包括:
第一写入模块,用于将所述待使用密钥随机写入从所述智能卡内每个扇区的第一预设密钥存储位置或第二预设密钥存储位置;
第二写入模块,用于在写入所述待使用密钥的密钥存储位置之外的另一个密钥存储位置内写入随机数。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
设置模块,用于将所述待使用密钥的可读写属性设置为不可写,并且将所述随机数的可读写属性设置为不可读。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510582779.7A CN106533660B (zh) | 2015-09-14 | 2015-09-14 | 智能卡密钥的获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510582779.7A CN106533660B (zh) | 2015-09-14 | 2015-09-14 | 智能卡密钥的获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106533660A CN106533660A (zh) | 2017-03-22 |
CN106533660B true CN106533660B (zh) | 2019-08-20 |
Family
ID=58348394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510582779.7A Active CN106533660B (zh) | 2015-09-14 | 2015-09-14 | 智能卡密钥的获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106533660B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107945324A (zh) * | 2017-11-14 | 2018-04-20 | 广东安居宝数码科技股份有限公司 | 门禁***的写卡方法、读卡方法及装置 |
CN110247771B (zh) * | 2019-06-21 | 2022-10-25 | 恒宝股份有限公司 | 一种智能卡及其曲线参数密钥的管理方法 |
CN111083691A (zh) * | 2019-12-12 | 2020-04-28 | 恒宝股份有限公司 | 一种eSIM卡的初始化方法及其初始化*** |
CN112115514A (zh) * | 2020-09-27 | 2020-12-22 | 浪潮云信息技术股份公司 | 一种金融ic卡的在线请求合法性验证方法 |
CN113950049B (zh) * | 2021-09-28 | 2023-10-03 | 天翼物联科技有限公司 | 基于sim卡的物联网量子安全方法、***、装置及介质 |
CN113936363B (zh) * | 2021-11-15 | 2024-01-16 | 武汉虹信技术服务有限责任公司 | 一种基于多扇区加密的ic卡数据加密方法及*** |
CN114423006B (zh) * | 2022-03-31 | 2022-06-14 | 芯电智联(北京)科技有限公司 | 一种nfc标签的密钥管理方法 |
CN116522367B (zh) * | 2023-06-28 | 2024-05-17 | 星汉智能科技股份有限公司 | 智能卡的数据生成加密方法、***、装置及存储介质 |
CN117612280A (zh) * | 2023-11-22 | 2024-02-27 | 深圳联恒智控科技有限公司 | 应用于智能门锁的cpu卡安全算法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667240A (zh) * | 2009-08-20 | 2010-03-10 | 北京握奇数据***有限公司 | 智能卡及其写卡方法、设备和*** |
CN101938353A (zh) * | 2010-08-03 | 2011-01-05 | 北京海泰方圆科技有限公司 | 一种远程重置密钥装置个人识别码的方法 |
CN102833077A (zh) * | 2012-09-25 | 2012-12-19 | 东信和平科技股份有限公司 | 金融ic及金融社保ic卡远程发卡数据传输加解密方法 |
CN103905196A (zh) * | 2012-12-28 | 2014-07-02 | 北京握奇数据***有限公司 | 一种pin转加密方法 |
-
2015
- 2015-09-14 CN CN201510582779.7A patent/CN106533660B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667240A (zh) * | 2009-08-20 | 2010-03-10 | 北京握奇数据***有限公司 | 智能卡及其写卡方法、设备和*** |
CN101938353A (zh) * | 2010-08-03 | 2011-01-05 | 北京海泰方圆科技有限公司 | 一种远程重置密钥装置个人识别码的方法 |
CN102833077A (zh) * | 2012-09-25 | 2012-12-19 | 东信和平科技股份有限公司 | 金融ic及金融社保ic卡远程发卡数据传输加解密方法 |
CN103905196A (zh) * | 2012-12-28 | 2014-07-02 | 北京握奇数据***有限公司 | 一种pin转加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106533660A (zh) | 2017-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106533660B (zh) | 智能卡密钥的获取方法及装置 | |
CN101562040B (zh) | 高安全性移动存储器的数据处理方法 | |
CN104756123B (zh) | 用于智能卡芯片个性化的方法和*** | |
CN108681909A (zh) | 基于区块链智能合约实现的智能防伪装置及溯源防伪方法 | |
CN108460875A (zh) | 一种基于动态二维码的门禁认证方法及装置 | |
GB2517777A (en) | Data encryption and smartcard storing encrypted data | |
CN104463016B (zh) | 一种适用于ic卡及二维码的数据安全存储方法 | |
CN101218609B (zh) | 带有安全的数据处理的便携式数据载体 | |
CN104850764B (zh) | 一种基于智能卡的软件保护方法及*** | |
CN105848153A (zh) | 嵌入式sim卡注册、嵌入式sim卡鉴权方法及对应*** | |
CN104376631B (zh) | 一种基于商用密码算法的安全门禁***的实现方法 | |
CN106296177A (zh) | 基于银行移动应用的数据处理方法和设备 | |
CN110210591A (zh) | 一种智能ic卡个人化数据的写入方法、计算机装置及计算机可读存储介质 | |
CN201185082Y (zh) | 高安全性移动存储器 | |
CN109214221A (zh) | 一种身份证阅读器验证方法、上位机和身份证阅读器 | |
CN104268483B (zh) | 一种数据保护***、装置及其方法 | |
CN206961165U (zh) | 一种nfc防伪*** | |
CN207251631U (zh) | 一种改进型的sim卡以及移动终端和身份识别*** | |
CN106022158A (zh) | 一种文件资料的外带管理*** | |
WO2000067421A2 (de) | Verfahren zur sicherung der echtheit von produkten | |
CN106056726B (zh) | 一种可双向认证的cpu卡门禁读卡器的安全认证方法 | |
CN105989309A (zh) | 一种密码 | |
CN109409115A (zh) | 一种加密、解密方法及相关装置 | |
CN106778227A (zh) | 应用程序处理方法、应用程序启动方法及装置 | |
CN104951823A (zh) | 复合卡的管理方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |