一种基于图像加密的ATM安全认证方法与流程

文档序号:14722457发布日期:2018-06-17 21:28阅读:176来源:国知局
本发明属于信息加密领域,特别是涉及一种基于图像加密的ATM安全认证方法。
背景技术
:银行的防盗安全一直是现代社会不容忽视的问题,ATM机的安全已被制造商们作为一项不容忽视的技术来考虑。就当前的技术现状,虽然ATM机的种类繁多,但是,大多数采用的是电子密码技术。已有报道显示,因仿制银行卡而使用户存款被盗,屡见不鲜。因此,拥有安全的ATM认证方法显然日益成为人们希望的现实。技术实现要素:有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种能够实现银行卡与ATM系统安全认证的方法。为实现上述目的,本发明提供了一种基于图像加密的ATM安全认证方法,建立中央控制服务器与信息存储服务器的连接,在信息存储服务器建立信息数据库,所述信息数据库存储包括有与银行卡对应的账户信息和用于对银行卡进行认证的认证信息;按以下步骤进行:Step1、建立银行卡与银行自助终端的连接,银行自助终端读取银行卡后,通过银行联网系统将银行卡的认证信息,连同服务请求一并发送至中央控制服务器;Step2、所述中央控制服务器根据银行自助终端发送的服务请求建立与服务请求相对应的信息存储服务器的连接;Step3、中央控制服务器将接收的认证信息,与信息存储服务器的信息数据库中相应认证信息进行认证;若认证被通过,则建立信息存储服务器与银行自助终端之间的信息交互通道,然后执行步骤Step4;若认证未被通过,则反馈错误信息至银行自助终端并中断服务请求的操作;Step4、在认证被通过的前提下,中央控制服务器对服务请求进行解析,存储在信息数据库中与服务请求相对应的账户信息通过建立的信息交互通道传送回银行自助终端并输出;所述银行卡的认证信息按以下步骤生成:步骤一、通过图像采集设备获取分辨率为a*a的正方形人脸图像,所述a为正整数;步骤二、设定所述人脸图像中任意一像素点为Pij,获取像素点Pij的RGB值,所述i、j均为正整数,且1≤i≤a,1≤j≤a;步骤三、将像素点Pij的R值、G值及B值分别转换为对应的十六进制数值;判断像素点Pij的十六进制R值、十六进制G值及十六进制B值是否达到两位;当像素点Pij的十六进制R值、十六进制G值或十六进制B值不到两位时,在该不到两位的十六进制值左边添加一个字符G,以形成像素点Pij的两位R值字符串、两位G值字符串和两位B值字符串,然后执行步骤四;当像素点Pij的十六进制R值、十六进制G值或十六进制B值达到两位时,执行步骤四;步骤四、将像素点Pij的两位R值字符串、两位G值字符串和两位B值字符串从左向右依次排列形成第一级数串;步骤五、将i和j分别转换为对应的十六进制数值;判断i的十六进制值或j的十六进制值是否达到四位;当i的十六进制值或j的十六进制值不到四位时,在该不到四位的十六进制值左边添加字符G,以形成i的四位字符串和j的四位字符串,然后执行步骤六;当i的十六进制值或j的十六进制值达到四位时,执行步骤六;步骤六、将j的四位字符串添加到所述第一级数串的左边,且将i的四位字符串添加到所述j的四位字符串的左边,以形成第二级数串;步骤七、将所述人脸图像划分为16*16个正方形区域T1,1T1,2......T1,16T2,1T2,2......T2,16........................T16,1T16,2......T16,16,]]>选取所述像素点Pij所在的区域Tm,n,m、n均为正整数且1≤m≤16、1≤n≤16;步骤八、判断第二级数串中是否有字符G;当第二数串中包含字符G时,将第二级数串中的字符G替换为0,然后执行步骤九;当第二数串中没有字符G时,执行步骤九;步骤九、设定所述第二级数串的倒数第一位数为Q1,设定所述第二级数串的倒数第二位数为Q2;将Q1和Q2分别转换为十进制数值;计算Q11=Q1+1得到Q11,计算Q21=Q2+1得到Q21;所述1≤Q11≤16,所述1≤Q21≤16;计算Tx,y=Tm+1,n+1ifm≥Q11andn≥Q21Tm+1,n-1ifm≥Q11andn<Q21Tm-1,n+1ifm<Q11andn≥Q21Tm-1,n-1ifm<Q11andn<Q21]]>得到第一目标区域Tx,y;将Tm,n与Tx,y进行替换;步骤十、将第一行区域与第三行区域进行替换;将第二行区域与第四行区域进行替换;将第五行区域与第七行区域进行替换;将第六行区域与第八行区域进行替换;将第九行区域与第十一行区域进行替换;将第十行区域与第十二行区域进行替换;将第十三行区域与第十五行区域进行替换;将第十四行区域与第十六行区域进行替换;所述中央控制服务器将接收的认证信息,与信息存储服务器的信息数据库中相应认证信息进行认证按以下步骤执行:S1、将加密图像划分为16*16个正方形区域T1,1T1,2......T1,16T2,1T2,2......T2,16........................T16,1T16,2......T16,16,]]>第一行至第四行区域为第一加密模块,第五行至第八行区域为第二加密模块,第九行至第十二行区域为第三加密模块,第十三行至第十六行区域为第四加密模块;S2、接收用户输入的密码;S3、判断所述用户输入的密码是否为14位数串;当用户输入的密码为14位数串时,执行步骤S4;当用户输入的密码不是14位数串时,返回执行步骤S2;S4、判断输入密码中是否有字符G;当密码中包含字符G时,将密码中的字符G替换为0,然后执行步骤S5;当密码中没有字符G时,执行步骤S5;S5、并行进行区域确定及RGB值转换;所述区域确定按以下步骤进行:A1、从左至右提取密码的第1至4位数形成第三级数串,并将其转换成十进制数值U1;从左至右提取密码的第5至8位数形成第四级数串,并将其转换成十进制数值U2;从左至右提取密码的第14位数,并将其转换成十进制数值U3;从左至右提取密码的第13位数,并将其转换成十进制数值U4;A2、选取待换区域Tr,t,r、t均为正整数且1≤r≤16、1≤t≤16:计算得到r,计算得到t;根据r和t的值选取待换区域Tr,t;A3、计算U31=U3+1得到U31,计算U41=U4+1得到U41;所述1≤U31≤16,所述1≤U41≤16;计算Tp,q=Tr+1,t+1ifr≥U31andt≥U41Tr+1,t-1ifr≥U31andt<U41Tr-1,t+1ifr<U31andt≥U41Tr-1,t-1ifr<U31andt<U41]]>得到第二目标区域Tp,q;所述1≤p≤16,所述1≤q≤16;A4、选择Tp,q对应的加密模块,并对该加密模块进行解密:将该加密模块的第一行与该加密模块的第三行进行替换,将该加密模块的第二行与该加密模块的第四行进行替换;A5、判断是否与Tp,q位于同一个加密模块;当与Tp,q位于同一个加密模块时,执行步骤A6;当与Tp,q不在同一个加密模块时,将所在加密模块进行解密:将所在加密模块的第一行与该加密模块的第三行进行替换,将所在加密模块的第二行与该加密模块的第四行进行替换,然后执行步骤A6;A6、将Tr,t与Tp,q进行替换;所述RGB值转换按以下步骤进行:从左至右提取密码的第9和第10位数形成第五级数串,并将其转换成十进制数值U5;从左至右提取密码的第11和第12位数形成第六级数串,并将其转换成十进制数值U6;从左至右提取密码的第13和第14位数形成第七级数串,并将其转换成十进制数值U7;S6、进行RGB值匹配:选取像素点1≤i≤a,1≤j≤a,且i、j、a均为正整数;将的R值、G值及B值分别与U5、U6和U7进行对比;判断的R值是否等于U5,当的R值不等于U5时,结束解密;当的R值等于U5时,判断的G值是否等于U6;当的G值不等于U6时,结束解密;当的G值等于U6时,判断的B值是否等于U7;当的B值不等于U7时,结束解密;当的B值是否等于U7时,执行步骤S7;S7、依次判断第一加密模块至第四加密模块,是否已经进行解密;将未进行解密的加密模块进行解密:将未解密加密模块的第一行与该加密模块的第三行进行替换,将未解密加密模块的第二行与该加密模块的第四行进行替换;S8、将银行卡的认证信息与步骤S7获得的图像进行匹配,若相同则认证通过;若不相同则认证未被通过。较佳的,所述步骤七中选取所述像素点Pij所在的区域Tm,n按以下步骤进行:计算得到m,计算得到n;根据m和n的值选取区域Tm,n。较佳的,步骤一中,通过图像采集设备获取分辨率为a*a的正方形人脸图像按以下步骤进行:通过图像采集设备获取分辨率为a*b的人脸图像,a为水平方向的像素数量,b为垂直方向的像素数量;判断是否a>b;当a>b时,计算W1=a-b,得到待增加的个数W1,然后沿垂直方向添加W1个RGB值为﹛0,0,0﹜的像素,然后执行步骤二;当a<b时,计算W2=b-a,得到待增加的个数W2,然后沿水平方向添加W2个RGB值为﹛0,0,0﹜的像素,并将b的数值赋值给a,然后执行步骤二;当a=b时,执行步骤二。本发明的有益效果是:本发明可以根据用户选择的图像自适应生成密码,密码生成速度快,并能够结合生成的密码对图像进行加密,以对图像进行保护。本发明图像加密过程中,不需要额外对图像进行人工设定密码,而是通过图像获取装置获取图像后,自动生成唯一的密码,该密码保密程度高且与图像的重组相适应,后期解密时,能够根据密码直接进行图像解密,与传统的图像解密方式相比,本发明不用按照加密过程进行倒推,提高了图像加密的安全性。将以上加密认证方式应用在ATM认证上,能够有效避免仿制银行卡来盗取用户资金这一违法行为,更加安全。具体实施方式下面结合实施例对本发明作进一步说明:一种基于图像加密的ATM安全认证方法,通过银行联网系统,建立中央控制服务器与信息存储服务器的连接,在信息存储服务器建立信息数据库,所述信息数据库存储包括有与银行卡对应的账户信息和用于对银行卡进行认证的认证信息;其特征在于按以下步骤进行:Step1、将银行卡插入银行自助终端中,建立银行卡与银行自助终端的连接,银行自助终端读取银行卡后,通过银行联网系统将银行卡的认证信息,连同服务请求一并发送至中央控制服务器;本实施例中,银行自助终端的键盘配置为带26个字母键和10个数字键的键盘。Step2、所述中央控制服务器根据银行自助终端发送的服务请求建立与服务请求相对应的信息存储服务器的连接;Step3、中央控制服务器将接收的认证信息,与信息存储服务器的信息数据库中相应认证信息进行认证;若认证被通过,则建立信息存储服务器与银行自助终端之间的信息交互通道,然后执行步骤Step4;若认证未被通过,则反馈错误信息至银行自助终端并中断服务请求的操作;Step4、在认证被通过的前提下,中央控制服务器对服务请求进行解析,存储在信息数据库中与服务请求相对应的账户信息通过建立的信息交互通道传送回银行自助终端并输出以便用户查阅;所述银行卡的认证信息按以下步骤生成并分别存储至信息存储服务器的信息数据库和待办理业务的银行卡中,以便在进行身份认证操作时调用:步骤一、通过图像采集设备获取分辨率为a*a的正方形人脸图像,所述a为正整数;步骤二、设定所述人脸图像中任意一像素点为Pij,获取像素点Pij的RGB值,所述i、j均为正整数,且1≤i≤a,1≤j≤a;步骤三、将像素点Pij的R值、G值及B值分别转换为对应的十六进制数值;判断像素点Pij的十六进制R值、十六进制G值及十六进制B值是否达到两位;当像素点Pij的十六进制R值、十六进制G值或十六进制B值不到两位时,在该不到两位的十六进制值左边添加一个字符G,以形成像素点Pij的两位R值字符串、两位G值字符串和两位B值字符串,然后执行步骤四;当像素点Pij的十六进制R值、十六进制G值或十六进制B值达到两位时,执行步骤四;步骤四、将像素点Pij的两位R值字符串、两位G值字符串和两位B值字符串从左向右依次排列形成第一级数串;步骤五、将i和j分别转换为对应的十六进制数值;判断i的十六进制值或j的十六进制值是否达到四位;当i的十六进制值或j的十六进制值不到四位时,在该不到四位的十六进制值左边添加字符G,以形成i的四位字符串和j的四位字符串,然后执行步骤六;当i的十六进制值或j的十六进制值达到四位时,执行步骤六;步骤六、将j的四位字符串添加到所述第一级数串的左边,且将i的四位字符串添加到所述j的四位字符串的左边,以形成第二级数串;所述第二级数串即为生成的用户密码,正常情况下,只要用户选择不同的图像,该密码唯一,重合几率小,且破译难度大。步骤七、将所述人脸图像划分为16*16个正方形区域T1,1T1,2......T1,16T2,1T2,2......T2,16........................T16,1T16,2......T16,16,]]>选取所述像素点Pij所在的区域Tm,n,m、n均为正整数且1≤m≤16、1≤n≤16;步骤八、判断第二级数串中是否有字符G;当第二数串中包含字符G时,将第二级数串中的字符G替换为0,然后执行步骤九;当第二数串中没有字符G时,执行步骤九;步骤九、设定所述第二级数串的倒数第一位数为Q1,设定所述第二级数串的倒数第二位数为Q2;将Q1和Q2分别转换为十进制数值;计算Q11=Q1+1得到Q11,计算Q21=Q2+1得到Q21;所述1≤Q11≤16,所述1≤Q21≤16;计算Tx,y=Tm+1,n+1ifm≥Q11andn≥Q21Tm+1,n-1ifm≥Q11andn<Q21Tm-1,n+1ifm<Q11andn≥Q21Tm-1,n-1ifm<Q11andn<Q21]]>得到第一目标区域Tx,y;将Tm,n与Tx,y进行替换;步骤十、将第一行区域与第三行区域进行替换;将第二行区域与第四行区域进行替换;将第五行区域与第七行区域进行替换;将第六行区域与第八行区域进行替换;将第九行区域与第十一行区域进行替换;将第十行区域与第十二行区域进行替换;将第十三行区域与第十五行区域进行替换;将第十四行区域与第十六行区域进行替换。以上步骤生成加密后的图像信息,分别存储在银行卡及信息数据库,采取以上措施,能够有效避免仿制银行卡来窃取用户资金,使得整个ATM系统更加安全。所述中央控制服务器将接收的认证信息,与信息存储服务器的信息数据库中相应认证信息进行认证按以下步骤执行:S1、将加密图像划分为16*16个正方形区域T1,1T1,2......T1,16T2,1T2,2......T2,16........................T16,1T16,2......T16,16,]]>第一行至第四行区域为第一加密模块,第五行至第八行区域为第二加密模块,第九行至第十二行区域为第三加密模块,第十三行至第十六行区域为第四加密模块;S2、接收用户输入的密码;S3、判断所述用户输入的密码是否为14位数串;当用户输入的密码为14位数串时,执行步骤S4;当用户输入的密码不是14位数串时,返回执行步骤S2;S4、判断输入密码中是否有字符G;当密码中包含字符G时,将密码中的字符G替换为0,然后执行步骤S5;当密码中没有字符G时,执行步骤S5;S5、并行进行区域确定及RGB值转换;所述区域确定按以下步骤进行:A1、从左至右提取密码的第1至4位数形成第三级数串,并将其转换成十进制数值U1;从左至右提取密码的第5至8位数形成第四级数串,并将其转换成十进制数值U2;从左至右提取密码的第14位数,并将其转换成十进制数值U3;从左至右提取密码的第13位数,并将其转换成十进制数值U4;A2、选取待换区域Tr,t,r、t均为正整数且1≤r≤16、1≤t≤16:计算得到r,计算得到t;根据r和t的值选取待换区域Tr,t;A3、计算U31=U3+1得到U31,计算U41=U4+1得到U41;所述1≤U31≤16,所述1≤U41≤16;计算Tp,q=Tr+1,t+1ifr≥U31andt≥U41Tr+1,t-1ifr≥U31andt<U41Tr-1,t+1ifr<U31andt≥U41Tr-1,t-1ifr<U31andt<U41]]>得到第二目标区域Tp,q;所述1≤p≤16,所述1≤q≤16;A4、选择Tp,q对应的加密模块,并对该加密模块进行解密:将该加密模块的第一行与该加密模块的第三行进行替换,将该加密模块的第二行与该加密模块的第四行进行替换;A5、判断是否与Tp,q位于同一个加密模块;当与Tp,q位于同一个加密模块时,执行步骤A6;当与Tp,q不在同一个加密模块时,将所在加密模块进行解密:将所在加密模块的第一行与该加密模块的第三行进行替换,将所在加密模块的第二行与该加密模块的第四行进行替换,然后执行步骤A6;A6、将Tr,t与Tp,q进行替换;所述RGB值转换按以下步骤进行:从左至右提取密码的第9和第10位数形成第五级数串,并将其转换成十进制数值U5;从左至右提取密码的第11和第12位数形成第六级数串,并将其转换成十进制数值U6;从左至右提取密码的第13和第14位数形成第七级数串,并将其转换成十进制数值U7;S6、进行RGB值匹配:选取像素点1≤i≤a,1≤j≤a,且i、j、a均为正整数;将的R值、G值及B值分别与U5、U6和U7进行对比;判断的R值是否等于U5,当的R值不等于U5时,结束解密;当的R值等于U5时,判断的G值是否等于U6;当的G值不等于U6时,结束解密;当的G值等于U6时,判断的B值是否等于U7;当的B值不等于U7时,结束解密;当的B值是否等于U7时,执行步骤S7;S7、依次判断第一加密模块至第四加密模块,是否已经进行解密;将未进行解密的加密模块进行解密:将未解密加密模块的第一行与该加密模块的第三行进行替换,将未解密加密模块的第二行与该加密模块的第四行进行替换;S8、将银行卡的认证信息与步骤S7获得的图像进行匹配,若相同则认证通过;若不相同,则认证未被通过。本实施例所述步骤七中选取所述像素点Pij所在的区域Tm,n按以下步骤进行:计算得到m,计算得到n;根据m和n的值选取区域Tm,n。本实施例步骤一中,通过图像采集设备获取分辨率为a*a的正方形人脸图像按以下步骤进行:通过图像采集设备获取分辨率为a*b的人脸图像,a为水平方向的像素数量,b为垂直方向的像素数量;判断是否a>b;当a>b时,计算W1=a-b,得到待增加的个数W1,然后沿垂直方向添加W1个RGB值为﹛0,0,0﹜的像素,然后执行步骤二;当a<b时,计算W2=b-a,得到待增加的个数W2,然后沿水平方向添加W2个RGB值为﹛0,0,0﹜的像素,并将b的数值赋值给a,然后执行步骤二;当a=b时,执行步骤二。以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本
技术领域
中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1