一种PIN码保护方法及系统技术方案

技术编号:10503482 阅读:122 留言:0更新日期:2014-10-08 09:30
本发明专利技术公开了一种PIN码保护方法及系统,属于信息安全领域。所述方法包括读卡终端接收到用户输入的PIN码后根据与自身存储的类型标志对应的转换方法对PIN码进行转换得到转换后的PIN码,将转换后的PIN码和从与自身连接的卡片中获取到的主账号信息发送给服务器进行验证;服务器接收到读卡终端发送的主账号信息和转换后的PIN码后,从转换后的PIN码中获取类型标志的值,判断类型标志的类型,根据与类型标志对应的验证方法对转换后的PIN码进行验证。本发明专利技术的有益效果在于:读卡终端引入了主账号和/或伪随机数对PIN码进行加密处理,增加了PIN码的破解难度,能够有效保护PIN码在传输过程中的安全。

【技术实现步骤摘要】
一种PIN码保护方法及系统
本专利技术涉及信息安全领域,尤其涉及一种PIN码保护方法及系统。
技术介绍
PIN码是用来验证用户身份合法性的重要的用户数据,现有技术中,用户使用读卡终端时,读卡终端需要将获取到的用户数据发送到后台服务器进行验证,在上述发送过程中,用户数据多以明文或简单加密的方式进行发送,因此用户数据中的重要数据如PIN码等存在泄漏的风险。
技术实现思路
本专利技术的目的是为了克服现有技术的缺陷,提供一种PIN码保护方法及系统。一方面,本专利技术提供一种PIN码保护方法,所述方法包括:步骤S1:读卡终端接收到用户输入的PIN码后根据用户输入的PIN码得到第一PIN码数组,读取与自身建立连接的卡片中的主账号信息,读取自身存储的类型标志,并检查读取到的类型标志,若为第一标志或第二标志则执行步骤S2,若为第三标志则执行步骤S3;步骤S2:所述读卡终端根据类型标志以及用户输入的PIN码的长度对所述第一PIN码数组进行第一预设处理,得到第一处理结果,根据读取到的主账号信息得到第一主账号数组,对所述第一主账号数组进行第二预设处理,得到第二处理结果,根据所述第一处理结果与所述第二处理结果进行预设运算,得到待加密数据,执行步骤S4;步骤S3:所述读卡终端根据类型标志对所述第一PIN码数组进行所述第一预设处理,得到待加密数据,执行步骤S4;步骤S4:所述读卡终端根据预设密钥,采用预设算法,对待加密数据进行加密得到转换后的PIN码,将读取到的主账号信息以及所述转换后的PIN码发送给服务器进行验证;步骤S5:所述服务器接收到所述读卡终端发送的主账号信息以及转换后的PIN码后,根据接收到的主账号信息对接收到的转换后的PIN码进行验证,若验证通过,则允许所述读卡终端的后续访问,若验证未通过,则拒绝所述读卡终端的后续访问,并向所述读卡终端返回验证未通过的提示信息。另一方面,本专利技术提供一种PIN码保护系统,所述系统包括:读卡终端、服务器和与所述读卡终端连接的卡片;所述读卡终端包括:第一存储模块,用于存储类型标志和预设密钥;第一接收模块,用于接收用户输入的PIN码,以及根据用户输入的PIN码得到第一PIN码数组;读取模块,用于读取所述卡片中的主账号信息,以及根据读取到的主账号信息得到第一主账号数组;检查模块,用于读取所述第一存储模块中存储的类型标志,以及检查读取到的类型标志;第一处理模块,用于根据所述检查模块读取到的类型标志和所述第一接收模块接收到的PIN码的长度对所述第一接收模块得到的第一PIN码数组进行第一预设处理;第二处理模块,用于对所述读取模块得到的第一主账号数组进行第二预设处理;运算模块,用于对所述第一处理模块的处理结果与所述第二处理模块的处理结果进行预设运算;加密模块,用于当所述检查模块判定读取到的类型标志为第一标志或第二标志时,根据所述第一存储模块中存储的所述预设密钥、采用预设算法,对所述运算模块的运算结果进行加密得到转换后的PIN码,以及用于当所述检查模块判定读取到的类型标志为第三标志时,根据所述第一存储模块中存储的所述预设密钥、采用预设算法,对所述第一处理模块的处理结果进行加密得到转换后的PIN码;发送模块,用于将所述加密模块得到的转换后的PIN码和所述读取模块读取到的主账号信息发送给所述服务器进行验证;所述服务器包括:第二接收模块,用于接收所述读卡终端发送的主账号信息以及转换后的PIN码;验证模块,用于根据所述第二接收模块接收到的主账号信息对所述第二接收模块接收到的转换后的PIN码进行验证;响应模块,用于在所述验证模块验证通过时允许所述读卡终端的后续访问,以及在所述验证模块验证未通过时拒绝所述读卡终端的后续访问,并向所述读卡终端返回验证未通过的提示信息。本专利技术方法的有益效果在于,本专利技术中,读卡终端引入了主账号对PIN码进行加密处理,增加了PIN码的破解难度,读卡终端将上述加密处理后的PIN码传输给服务器进行验证,能够有效保护PIN码在传输过程中的安全。附图说明为了更清楚的说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例1中提供的一种读卡终端加密PIN码方法的流程图;图2和图3为本专利技术实施例2中提供的一种读卡终端加密PIN码方法的具体实现的流程图;图4本专利技术实施例3中提供的一种服务器验证PIN码的方法流程图;图5和图6为本专利技术实施例4中提供的一种服务器验证PIN码方法的具体实现的流程图;图7为本专利技术实施例5中提供的一种PIN码保护系统的方框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术中的读卡终端中设置有应用处理器和安全处理器,且安全处理器不设置直接对外接口,实施例1提供的是本地更新方法,实施例2提供的是远程更新方法。实施例1本专利技术实施例提供一种PIN码保护方法中读卡终端加密PIN码的方法,如图1所示,所述方法具体包括:步骤10:读卡终端接收到用户输入的PIN码后,根据用户输入的PIN码得到第一PIN码数组,读取与自身连接的卡片中的主账号信息;步骤20:读卡终端读取自身存储的类型标志,并检查读取到的类型标志,若为第一标志或第二标志则执行步骤30,若为第三标志则执行步骤40;步骤30:读卡终端根据类型标志以及用户输入的PIN码的长度对PIN码数组进行第一预设处理,得到第一处理结果,根据读取到的主账号信息得到第一主账号数组,对第一主账号数组进行第二预设处理,得到第二处理结果,根据第一处理结果和第二处理结果进行预设运算得到待加密数据,执行步骤50;步骤40:读卡终端对第一PIN码数组进行第一预设处理,得到待加密数据,执行步骤50;步骤50:读卡终端根据预设密钥,采用预设算法,对待加密数据进行加密,得到转换后的PIN码;本实施例中,预设算法可以为任意加密算法,如DES、3DES、RSA等,预设密钥可以为预设数据,也可以为将预设数据经过相应变化得到的数据,在此不进行限定。步骤60:读卡终端将读取到的主账号信息以及转换后的PIN码发送给服务器进行验证。本实施例中,用第一数组存储第一PIN码数组的处理结果,对第一PIN码数组进行第一预设处理具体包括:步骤A1:根据类型标志初始化第一数组;具体地,当类型标志为第一标志时,初始化第一数组为包含预设个数的第一预设字节数据的数组;当类型标志为第二标志时,初始化第一数组为包含预设个数的第二预设字节数据的数组;优选地,预设个数为8个,第一预设字节数据为0xFF,即当类型标志为第一标志时,初始化第一数组为0xFFFFFFFFFFFFFFFF,第二预设字节数据为0xAA或0xBB或0xCC或0xDD或0xEE或0xFF中的任意一个,例如,当类型为第二标志时,初始化第一数组为0xAAAAAAAAAAAAAAAA;步骤A2:根据类型标志以及用户输入本文档来自技高网...
一种PIN码保护方法及系统

【技术保护点】
一种PIN码保护方法,其特征在于,包括:步骤S1:金融终端接收到用户输入的PIN码后,根据用户输入的PIN码得到第一PIN码数组,读取与自身连接的卡片中的主账号信息,读取自身存储的类型标志,并检查读取到的类型标志,若为第一标志或第二标志则执行步骤S2,若为第三标志则执行步骤S3;步骤S2:所述读卡终端根据类型标志以及用户输入的PIN码的长度对所述第一PIN码数组进行第一预设处理,得到第一处理结果,根据读取到的主账号信息得到第一主账号数组,对所述第一主账号数组进行第二预设处理,得到第二处理结果,根据所述第一处理结果与所述第二处理结果进行预设运算,得到待加密数据,执行步骤S4;步骤S3:所述读卡终端根据类型标志对所述第一PIN码数组进行所述第一预设处理,得到待加密数据,执行步骤S4;步骤S4:所述读卡终端根据预设密钥,采用预设算法,对待加密数据进行加密,得到转换后的PIN码,将读取到的主账号信息以及所述转换后的PIN码发送给服务器进行验证;步骤S5:所述服务器接收到所述读卡终端发送的主账号信息以及转换后的PIN码后,根据接收到的主账号信息对接收到的转换后的PIN码进行验证,若验证通过,则允许所述读卡终端的后续访问,若验证未通过,则拒绝所述读卡终端的后续访问,并向所述读卡终端返回验证未通过的提示信息。...

【技术特征摘要】
1.一种PIN码保护方法,其特征在于,包括:步骤S1:读卡终端接收到用户输入的PIN码后,根据用户输入的PIN码得到第一PIN码数组,读取与自身连接的卡片中的主账号信息,读取自身存储的类型标志,并检查读取到的类型标志,若为第一标志或第二标志则执行步骤S2,若为第三标志则执行步骤S3;步骤S2:所述读卡终端根据类型标志以及用户输入的PIN码的长度对所述第一PIN码数组进行第一预设处理,得到第一处理结果,根据读取到的主账号信息得到第一主账号数组,对所述第一主账号数组进行第二预设处理,得到第二处理结果,根据所述第一处理结果与所述第二处理结果进行预设运算,得到待加密数据,执行步骤S4;步骤S3:所述读卡终端根据类型标志对所述第一PIN码数组进行所述第一预设处理,得到待加密数据,执行步骤S4;步骤S4:所述读卡终端根据预设密钥,采用预设算法,对待加密数据进行加密,得到转换后的PIN码,将读取到的主账号信息以及所述转换后的PIN码发送给服务器进行验证;步骤S5:所述服务器接收到所述读卡终端发送的主账号信息以及转换后的PIN码后,根据接收到的主账号信息对接收到的转换后的PIN码进行验证,若验证通过,则允许所述读卡终端的后续访问,若验证未通过,则拒绝所述读卡终端的后续访问,并向所述读卡终端返回验证未通过的提示信息。2.根据权利要求1所述的方法,其特征在于,所述服务器根据接收到的主账号信息对接收到的转换后的PIN码进行验证具体包括:步骤S5-1:所述服务器根据与所述读卡终端中的所述预设密钥相对应的密钥,采用与所述读卡终端采用的所述预设算法相对应的算法,对所述转换后的PIN码进行解密,得到明文数据,并读取自身存储的与接收到的主账号信息对应的PIN码,根据读取到的PIN码得到第二PIN码数组;步骤S5-2:所述服务器从所述明文数据中获取用户输入的PIN码的长度,判断所述用户输入的PIN码的长度是否等于所述与主账号信息对应的PIN码的长度,是则执行步骤S5-3,否则验证未通过;步骤S5-3:所述服务器从所述明文数据中获取类型标志的值,根据获取到的类型标志的值判断类型标志的类型,若为所述第一标志或所述第二标志则执行步骤S5-4,若为所述第三标志则执行步骤S5-5;步骤S5-4:所述服务器根据类型标志对所述第二PIN码数组进行所述第一预设处理,得到第三处理结果,根据接收到的主账号信息得到第二主账号数组,对所述第二主账号数组进行所述第二预设处理,得到第四处理结果,根据所述第三处理结果与所述第四处理结果进行所述预设运算,得到验证数据,执行步骤S5-6;步骤S5-5:所述服务器根据类型标志对所述第二PIN码数组进行所述第一预设处理,得到验证数据,执行步骤S5-6;步骤S5-6:所述服务器根据所述与接收到的主账号信息相对应的PIN码的长度判断所述验证数据中与PIN码相关部分的数据和所述明文数据中与PIN码相关部分的数据是否一致,是则验证通过,否则验证未通过。3.根据权利要求1所述的方法,其特征在于,所述读卡终端根据类型标志和用户输入的PIN码的长度对所述第一PIN码数组进行第一预设处理具体包括:步骤A1:所述读卡终端根据类型标志初始化第一数组;步骤A2:所述读卡终端根据类型标志以及所述用户输入的PIN码的长度更新所述第一数组中的第一个字节数据;步骤A3:所述读卡终端根据所述第一PIN码数组中的数据更新所述第一数组中第一个字节数据之后的相应字节数据。4.根据权利要求3所述的方法,其特征在于,所述步骤A1具体为:当类型标志为第一标志时,所述读卡终端初始化第一数组为包含预设个数的第一预设字节数据的数组;当类型标志为第二标志时,所述读卡终端初始化第一数组为包含预设个数的第二预设字节数据的数组;当类型标志为第三标志时,所述读卡终端初始化第一数组为包含预设长度的随机数的数组,所述预设长度具体为预设个数个字节。5.根据权利要求3所述的方法,其特征在于,所述步骤A3包括:步骤A3-1:判断所述第一PIN码数组的长度是否能够被2整除,是则执行步骤A3-2,否则执行步骤A3-3;步骤A3-2:对所述第一PIN码数组中的数据以每两个字节数据为一组分别进行第一预设转换,并用转换结果更新所述第一数组中的相应字节数据,步骤A3结束;步骤A3-3:对所述第一PIN码数组中最后一个字节数据之前的数据以每两个字节数据为一组分别进行第一预设转换,并用转换结果更新所述第一数组中的相应字节数据,对所述第一PIN码数组中最后一个字节数据进行第二预设转换,并用转换结果更新所述第一数组中的相应字节数据,步骤A3结束。6.根据权利要求1所述方法,其特征在于,所述读卡终端对所述第一主账号数组进行第二预设处理具体包括:步骤B1:所述读卡终端初始化第二数组;步骤B2:所述读卡终端根据所述第一主账号数组中的数据更新所述第二数组中的相应字节数据。7.根据权利要求6所述的方法,其特征在于,所述步骤B1具体为:所述读卡终端初始化第二数组为包含预设个数的第五预设字节数据的数组。8.根据权利要求6所述的方法,其特征在于,所述步骤B2具体包括:步骤B2-1:所述读卡终端判断所述第一主账号数组的长度是否小于第二预设长度,是则执行步骤B2-2,否则执行步骤B2-5;步骤B2-2:所述读卡终端判断所述第一主账号数组的长度能否被2整除,是则执行步骤B2-3,否则执行步骤B2-4;步骤B2-3:所述读卡终端对所述第一主账号数组中的数据以每两个字节数据为一组分别进行第三预设转换,并用转换结果更新所述第二数组中的相应字节数据,步骤B2结束;步骤B2-4:所述读卡终端对所述第一主账号数组中的第一个字节数据进行第四预设转换,并用转换结果更新所述第二数组中的相应字节数据,对所述第一主账号数组中第一个字节数据之后的数据以每两个字节数据为一组分别进行第三预设转换,并用转换结果替换所述第二数组中的相应字节数据,步骤B2结束;步骤B2-5:所述读卡终端对所述第一主账号数组中从低位端起,长度等于第二数组的长度的数据以每两个字节数据为一组分别进行第三预设转换,并用转换结果更新所述第二数组中的相应字节数据,步骤B2结束。9.根据权利要求1所述的方法,其特征在于,所述预设运算具体为异或运算。10.根据权利要求5所述的方法,其特征在于,所述步骤A1中还包括:所述读卡终端初始化第一索引,作为所述第一PIN码数组和所述第一数组的索引;所述步骤A2具体包括:所述读卡终端根据类型标志以及所述用户输入的PIN码的长度更新所述第一数组中与所述第一索引的当前值对应的字节数据。11.根据权利要求10所述的方法,其特征在于,所述步骤A2具体包括:所述读卡终端根据类型标志设置所述第一数组中与所述第一索引的当前值对应的字节数据的前半个字节,根据所述用户输入的PIN码的长度设置所述第一数组中与所述第一索引的当前值对应的字节数据的后半个字节。12.根据权利要求10所述的方法,其特征在于,所述步骤A3具体包括:步骤D1:所述读卡终端根据所述第一PIN码数组中与所述第一索引的当前值的二倍对应的字节数据以及与所述第一索引的当前值的二倍加1对应的字节数据进行计算,用计算结果更新所述第一数组中与所述第一索引的当前值加1对应的字节数据;步骤D2:所述读卡终端更新所述第一索引的值为其当前值加上预设步长;步骤D3:所述读卡终端判断所述第一索引的值是否小于所述第一PIN码数组的长度的二分之一取整,是则返回步骤D1,否则执行步骤D4;步骤D4:所述读卡终端判断所述第一PIN码数组的长度是否能被2整除,是则步骤A3结束,否则执行步骤D5;步骤D5:所述读卡终端根据所述第一PIN码数组中与所述第一索引的值的二倍对应的字节数据,以及所述第一数组中与所述第一索引的值的当前值加1对应的字节数据进行计算,用计算结果更新所述第一数组中与所述第一索引的当前值加1对应的字节数据,步骤A3结束。13.根据权利要求12所述的方法,其特征在于,所述步骤D1具体包括:所述读卡终端将所述第一PIN码数组中与所述第一索引的当前值的二倍对应的字节数据减去第三预设字节数据后左移4位得到第一数据,将所述第一PIN码数组中与所述第一索引的当前值的二倍加1对应的字节数据减去第三预设字节数据后得到第二数据,将所述第一数据与所述第二数据进行或运算,用或运算结果更新所述第一数组中与所述第一索引的当前值加1对应的字节数据。14.根据权利要求12所述的方法,其特征在于,所述步骤D5具体包括:所述读卡终端将所述第一PIN码数组中与所述第一索引的当前值的二倍对应的字节数据减去第三预设字节数据后左移4位得到第三数据,将所述第一数组中与第一索引的值的当前值加1对应的字节数据与第四预设字节数据进行与运算得到第四数据,将所述第三数据与所述第四数据进行或运算,用或运算结果更新所述第一数组中与第一索引的当前值加1对应的字节数据。15.根据权利要求8所述的方法,其特征在于,所述步骤B1中还包括:所述读卡终端初始化第二索引和第三索引,分别作为所述第二数组和所述第一主账号数组的索引;所述步骤B2具体包括:步骤E1:所述读卡终端检查所述第一主账号数组的长度,若所述第一主账号数组的长度小于所述第二预设长度,则计算所述第二预设长度与所述第一主账号数组的长度的差值的二分之一,更新所述第二索引的值为其当前值加上计算结果,执行步骤E2;若所述第一主账号数组的长度大于所述第二预设长度,则更新所述第三索引的值为所述第一主账号数组的长度与所述第二预设长度的差值,执行步骤E4;若所述第一主账号数组的长度等于所述第二预设长度,则执行步骤E4;步骤E2:所述读卡终端判断所述第一主账号数组的长度是否能被2整除,是则执行步骤E4,否则根据所述第一主账号数组中与所述第三索引的值对应的字节数据进行计算,用计算结果更新所述第二数组中与所述第二索引当前值对应的字节数据,执行步骤E3;步骤E3:所述读卡终端更新所述第二索引的值为其当前值加上预设步长,更新所述第三索引的值为其当前值加上所述预设步长,执行步骤E4;步骤E4:所述读卡终端根据所述第一主账号数组中与所述第三索引的当前值对应的字节数据以及与所述第三索引的当前值加1对应的字节数据进行计算,用计算结果更新所述第二数组中与所述第二索引的当前值对应的字节数据;步骤E5:所述读卡终端更新所述第二索引的值为其当前值加上所述预设步长,更新所述第三索引的值为其当前值加上预设步长,判断所述第二索引的值是否小于预设值,是则返回步骤E4,否则步骤B2结束。16.根据权利要求15所述的方法,其特征在于,所述读卡终端根据所述第一主账号数组中与所述第三索引的值对应的字节数据进行计算,用计算结果更新所述第二数组中与所述第二索引当前值对应的字节数据,具体包括:所述读卡终端将所述第一主账号数组中与所述第三索引的值对应的字节数据减去第三预设字节数据得到第四数据,用所述第四数据更新所述第二数组中与所述第二索引当前值对应的字节数据。17.根据权利要求15所述的方法,其特征在于,所述步骤E4具体包括:所述读卡终端将所述第一主账号数组中与所述第三索引的当前值对应的字节数据减去第三预设字节数据后左移4位得到第五数据,将所述第一主账号数组中与第三索引的当前值加1对应的字节数据减去所述第三预设字节数据后得到第六数据,将所述第五数据和所述第六数据进行或运算,用或运算结果更新所述第二数组中与所述第二索引的当前值对应的字节数据。18.一种PIN码保护系统,包括读卡终端、服务器和与所述读卡终端建立连接的卡片,其特征在于,所述读卡终端包括:第一存储模块,用于存储类型标志和预设密钥;第一接收模块,用于接收用户输入的PIN码,以及根据用户输入的PIN码得到第一PIN码数组;读取模块,用于读取所述卡片中的主账号信息,以及根据读取到的主账号信息得到第一主账号数组;检查模块,用于读取所述第一存储模块中存储的类型标志,以及检查读取到的类型标志;第一处理模块,用于根据所述检查模块读取到的类型标志和所述第一接收模块接收到的PIN码的长度对所述第一接收模块得到的第一PIN码数组进行第一预设处理;第二处理模块,用于对所述读取模块得到的第一主账号数组进行第二预设处理;运算模块,用于...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1