一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

IC卡加密方法、IC卡验证方法、装置、设备及介质与流程

2022-04-16 14:47:10 来源:中国专利 TAG:

ic卡加密方法、ic卡验证方法、装置、设备及介质
技术领域
1.本发明涉及加密领域,尤其是一种ic卡加密方法、ic卡验证方法、装置、设备及介质。


背景技术:

2.随着门锁技术的发展,智能门锁逐渐出现在人们的生活当中,智能锁是指区别于传统机械锁的基础上改进的,在用户安全性、识别、管理性方面更加智能化简便化的锁具,而智能锁是门禁系统中锁门的执行部件。
3.现有的智能锁通常通过ic卡与智能锁进行验证,现有的智能锁通常只能读取ic卡的开放区的卡号进行验证,当验证通过后进行开锁,而由于卡号能够被开放读取,因此如果一张ic卡被人用手机的nfc功能或者其他手段读取了卡号,那么复制了卡号的任何手机就可以把门验证打开,非常不安全,因此需要解决方案。


技术实现要素:

4.有鉴于此,为了解决上述技术问题,本发明的目的是提供提高安全性的ic卡加密方法、ic卡验证方法、装置、设备及介质。
5.本发明实施例采用的技术方案是:
6.ic卡加密方法,包括:
7.获取智能锁的唯一识别号以及ic卡的卡号;所述ic卡包括开放读取区以及若干个加密区,所述卡号存储于所述开放读取区;
8.根据所述唯一识别号以及所述卡号通过加密算法进行加密处理,得到加密密码;
9.将所述加密密码存储于所述加密区;所述加密区中的所述加密密码用于所述智能锁的验证。
10.进一步,所述根据所述唯一识别号以及所述卡号通过加密算法进行加密处理,得到加密密码,包括:
11.根据所述唯一识别号以及所述卡号通过所述加密算法加密得到初级密码;所述唯一识别号包括所述智能锁的产品序列号和所述智能锁的控制单元的id中的至少一种;
12.根据所述初级密码通过筛选算法进行处理,得到所述加密密码。
13.进一步,所述初级密码包括多个半字节,所述根据所述初级密码通过筛选算法进行处理,得到所述加密密码,包括:
14.根据预设规则从多个所述半字节中抽取预设数量的半字节作为目标半字节;
15.将预设数量的所述目标半字节进行组合处理,得到所述加密密码。
16.进一步,所述将所述加密密码存储于所述加密区,包括:
17.将所述加密密码存储于其中一个所述加密区中;
18.或者,
19.将所述加密密码存储于至少两个所述加密区中。
20.本发明实施例还提供智能锁的ic卡验证方法,智能锁存储有所述ic卡加密方法获得的加密密码,包括:
21.读取ic卡的加密区的存储内容;
22.将所述存储内容与所述加密密码进行匹配;
23.根据匹配结果确定验证结果。
24.进一步,所述根据匹配结果确定验证结果,包括:
25.当匹配结果为匹配成功,通过验证;
26.或者,
27.当匹配结果为匹配失败,拒绝验证。
28.进一步,所述方法还包括:
29.响应于触发指令使所述智能锁进入演示模式;
30.在所述演示模式下将所述加密区的存储内容还原为原始密码;所述原始密码为所述ic卡的原始内容。
31.本发明实施例还提供一种ic卡加密装置,包括:
32.获取模块,用于获取智能锁的唯一识别号以及ic卡的卡号;所述ic卡包括开放读取区以及若干个加密区,所述卡号存储于所述开放读取区;
33.加密模块,用于根据所述唯一识别号以及所述卡号通过加密算法进行加密处理,得到加密密码;
34.存储模块,用于将所述加密密码存储于所述加密区;所述加密区中的所述加密密码用于所述智能锁的验证。
35.本发明实施例还提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现所述方法。
36.本发明实施例还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现所述方法。
37.本发明的有益效果是:通过获取智能锁的唯一识别号以及ic卡的卡号,所述ic卡包括开放读取区以及若干个加密区,所述卡号存储于所述开放读取区;根据所述唯一识别号以及所述卡号通过加密算法进行加密处理,得到加密密码,提高生成的所述加密密码的安全性;将所述加密密码存储于所述加密区,将存储于所述加密区的加密密码用于所述智能锁的验证而不是局限于开放读取区的卡号,即使ic卡的卡号被复制也无法与智能锁验证,从而提高了安全性。
附图说明
38.图1为本发明ic卡加密方法的步骤流程示意图;
39.图2为本发明具体实施例应用场景的示意图;
40.图3为本发明智能锁的ic卡验证方法的步骤流程示意图。
具体实施方式
41.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
42.本技术的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
43.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
44.如图1所示,本发明实施例提供一种ic卡加密方法,包括步骤s100-s300:
45.s100、获取智能锁的唯一识别号以及ic卡的卡号。
46.如图2所示,本发明实施例中,ic卡100与智能锁200可以进行配合,例如通过ic卡100进行智能锁200的解锁等操作。本发明实施例中,ic卡具有开放读取区以及若干个加密区,开放读取区中存储有ic卡的开号,而开放读取区是开放读取的,例如通过终端或者智能锁可以进行读取,即相当于可以开放读取ic卡的卡号。而加密区中具有存储内容,出厂的ic卡中的加密区中存储的是原始密码,例如0xffffffffffff;而加密区中的原始密码需要密码才能读取,因此现有的终端以及现有的智能锁无法读取。需要说明的是,ic卡根据设计者的不同设计,开放读取区以及加密区的数量可以根据需要设置而不作具体限定,本发明实施例中以ic具有16个区,16个区中具有一个开放读取区以及15个加密区为例进行说明。
47.另外,需要说明的是,步骤s100-s300可以由终端或者智能锁执行,例如步骤s100在终端上安装新设计的程序,与智能锁和ic卡进行通信,获取智能锁的唯一识别号以及获取ic卡的开放读取区以及加密区中的内容(或者也可以在新设计的程序中预存加密区中的内容);或者步骤s100在新设计的智能锁执行,智能锁读取自身存储的或则后台服务器存储的唯一识别号以及与ic卡进行通信,可以获取ic卡的开放读取区以及加密区中的内容。可选地,智能锁的唯一识别号为智能锁的产品序列号(sn)以及智能锁的控制单元的id中的至少一种,一些实施例中产品序列号(sn)与智能锁的控制单元的id可以为同一个。其中,本发明实施例中以唯一识别号为产品序列号(sn)与控制单元的id相同为例,控制单元包括但不限于由mcu、fpga、cpld、dsp、arm等在内的任一种或多种处理器芯片构成;终端包括但不限于手机、电脑、平板电脑以及车载电脑等等。
48.s200、根据唯一识别号以及卡号通过加密算法进行加密处理,得到加密密码。
49.可选地,步骤s200包括步骤s210-s220:
50.s210、根据唯一识别号以及卡号通过加密算法加密得到初级密码。
51.可选地,加密算法包括但不限于md5、md4、md3或者md2算法,本发明实施例中采用
md5算法增强算法复杂度和不可逆性,具备普遍、稳定、快速的特点,能够强化加密效果。具体地,通过加密算法对唯一识别号以及卡号进行加密得到一个初级密码,例如以产品序列号(sn)为例,假设产品序列号(sn)为8个字节,ic卡的卡号是4字节的,读到的8 4个字节作为明文,通过md5算法得到16字节的加密结果,即32个半字节的初级密码;其他实施例中初级密码的字节/半字节数量不作限定。
52.s220、根据初级密码通过筛选算法进行处理,得到加密密码。
53.可选地,步骤s220包括步骤s2201-s2202:
54.s2201、根据预设规则从多个半字节中抽取预设数量的半字节作为目标半字节。
55.可选地,预设规则、预设数量可以根据需要设定,例如预设规则可以为随机抽取或者按照特定的顺序抽取,不作具体限定。例如,预设数量为12,预设规则为选取初级密码中第1、3、4、8、10、11、12、16、18、20,25,27的12个半字节,作为目标半字节。
56.s2202、将预设数量的目标半字节进行组合处理,得到加密密码。
57.可选地,可以将12个目标半字节进行随机组合或者按照抽取的顺序组合成6个字节的加密密码,具体不作限定。
58.s300、将加密密码存储于加密区。
59.需要说明的是,生成的加密密码同时存储在智能锁当中,与加密区中的加密密码进行智能锁的验证。可选地,验证可以包括注册验证、解锁验证以及解绑验证;注册验证指通过验证时,完成ic卡与智能锁的注册;解锁验证指的是通过验证时,打开智能锁;解绑验证指的是通过验证时,将ic卡与智能锁解除注册。
60.可选地,步骤s300包括步骤s310或者s320:
61.s310、将加密密码存储于其中一个加密区中。
62.本发明实施例中,将智能锁可以将加密密码存储于ic卡的其中一个加密区中,完成注册验证,即完成ic卡与智能锁的注册,手续ic卡可以与该智能锁进行解锁验证。需要说明的是,在将加密密码存储于ic卡的其中一个加密区时,将该加密区的原始密码替换为加密密码,并将该加密区的原始密码保存至智能锁中。容易理解的是,将加密密码存储于其中一个加密区中,ic卡最多可以完成15个智能锁的注册。
63.s320、将加密密码存储于至少两个加密区中。
64.可选地,在一些实施例中还可以将存储于至少两个加密区中。类似地,将对应的加密区的原始密码替换为加密密码,并将所有原始密码都保存至智能锁中。
65.如图3所示,可选地,本发明实施例还提供一种智能锁的ic卡验证方法,包括步骤s400-s600,可选地步骤s400-s600可由智能锁执行。
66.s400、读取ic卡的加密区的存储内容。
67.可选地,智能锁与ic卡进行通信,读取遍历ic卡所有加密区的存储内容并且读取ic卡的卡号。
68.s500、将存储内容与加密密码进行匹配。
69.需要说明的是,智能锁存储有上述ic卡加密方法获得的加密密码,即通过步骤s100-s200得到的加密密码。可选地,智能锁可以存储若干个不同ic卡对应的不同的加密密码。具体地,在读取存储内容后与智能锁存储的加密密码进行匹配。
70.s600、根据匹配结果确定验证结果。
71.具体地,当匹配结果为匹配成功时,通过验证。可选地,智能锁至少包括两种工作模式:正常模式以及演示模式。其中,正常模式下,通过验证即通过解锁验证或者通过注册验证,可以进行智能锁的开锁以及ic卡的注册;而在演示模式下,通过验证即进行解绑验证(恢复)。而当匹配结果为匹配失败时,说明存储内容中没有加密密码,拒绝验证。需要说明的是,若存储内容中没有原始密码,则说明该ic卡已经注册满其他15个智能锁,无法通过验证。
72.可选地,智能锁的ic卡验证方法还包括步骤s610-s620:
73.s610、响应于触发指令使智能锁进入演示模式。
74.s620、在演示模式下将加密区的存储内容还原为原始密码。
75.可选地,触发指令包括但不限于触发智能锁的机械按键、在智能锁的屏幕上输入指令、通过终端的程序向智能锁发出的指令或者将ic卡靠近智能锁而生成。具体地,当智能锁接收到触发指令后,响应于触发指令使智能锁从正常模式进入演示模式。
76.本发明实施例中,在演示模式下智能锁与ic卡通信,智能锁可以读取ic卡的加密区的存储内容以及卡号,然后智能锁将ic卡的加密区的存储内容中的加密密码替换为智能锁中保存原始密码。需要说明的是,原始密码指ic卡的加密区的原始内容,每一张ic卡的加密区在出厂时具有对应的原始密码,当ic卡没有与智能锁进行过注册时,智能锁可以通过预设原始密码进行保存或者通过终端向智能锁发送原始密码并保存;而当ic卡与一个智能锁完成注册验证时,智能锁会将一个加密区的原始密码替换为加密密码,此时智能锁会将该原始密码进行保存,从而可以利用该原始密码进行加密区的还原,即将加密区的存储内容还原为该原始密码,从而实现ic卡的恢复。可以理解的是,当ic卡与一个智能锁完成注册验证,ic卡的恢复能够实现ic卡与智能锁的实现解除绑定。
77.本发明实施例还提供一种ic卡加密装置,包括:
78.获取模块,用于获取智能锁的唯一识别号以及ic卡的卡号;ic卡包括开放读取区以及若干个加密区,卡号存储于开放读取区;
79.加密模块,用于根据唯一识别号以及卡号通过加密算法进行加密处理,得到加密密码;
80.存储模块,用于将加密密码存储于加密区;加密区中的加密密码用于智能锁的验证。
81.上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
82.本发明实施例还提供了一种电子设备,电子设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现前述实施例的ic卡加密方法和/或智能锁的ic卡验证方法。本发明实施例的电子设备包括但不限于手机、平板电脑、电脑、车载电脑或者智能锁等等。
83.上述方法实施例中的内容均适用于本设备实施例中,本设备实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
84.本发明实施例还提供一种计算机可读存储介质,存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现前述实施例的ic卡加密方法和/或智能锁的ic卡验证方法。
85.本发明实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述实施例的ic卡加密方法和/或智能锁的ic卡验证方法。
86.本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
87.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
88.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
89.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序的介
质。
90.以上,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献