【技术实现步骤摘要】
一种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码保护方法,其特征在于,包括:步骤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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。