一种基于图像加密技术的用户安全登陆方法

文档序号:10626831阅读:172来源:国知局
一种基于图像加密技术的用户安全登陆方法
【专利摘要】本发明涉及一种基于图像加密技术的用户安全登陆方法,包括以下步骤:客户端对用户密码进行MD5加密得到密码密文;客户端将用户名通过STDM嵌入图片中;客户端根据存储在本地的随机种子产生控制流,通过STDM将加密后的密码密文嵌入图片中;客户端将图片发送给服务器端;服务器端通过STDM从接收到的图片中提取出用户名;服务器端根据存储在本地的随机种子产生控制流,通过STDM从接收到的图片中提取出得到密码密文;服务器端验证得到密码密文,验证成功则生成一个新的随机种子并与验证通过信息一并发送给客户端,客户端更新随机种子;反之则提示验证失败。与现有技术相比,本发明在传统的STDM基础上,利用随机种子为控制流将密文嵌入图片,增加了系统的安全性。
【专利说明】
一种基于图像加密技术的用户安全登陆方法
技术领域
[0001]本发明涉及信息安全领域,尤其是涉及一种基于图像加密技术的用户安全登陆方法。
【背景技术】
[0002]随着互联网技术飞速发展,人们生活水平提高,质量增强,但背后也隐藏着巨大的安全隐患。作为保护用户个人信息和财产安全的重要手段,身份认证是各类网站和软件必备的功能,具体体现在一开始的用户登录,如果是支付平台或牵扯到金钱交易还会有更进一步的认证。总之网络在向移动化方向发展,人们生活越来越便捷,同时也暴露了很多问题。许多著名网站和软件厂商接连被披露在传输用户登录信息时用明文传输,仅有部分的网站会将密码进行MD5运算传输,但在MD5在验证不抗碰撞之后单纯的MD5又是否安全。极少数几家对安全比较注重的公司会使用TLS的加密算法来进行加密,但其使用CBC块加密方式却已经沧陷。在2013年2月,NadhemAlFardar^PKenny Paterson发现了一个名为Luckl3的攻击方式,这种攻击方式主要攻击SSL/TLS采取的CBC方式的块加密方式。攻击着可以通过阻断TLS连接的方式(比如通过恶意软件故意断掉链接,TLS会自动重发),让发送方反复发送同一加密内容(比如cookie或者密码的密文),TLS发送错误信息的时间差异的分析,Luckl3攻击可以在较短时间内破解密文。因此,直接明文传输或简单加密已经不能很好地保护用户信息,用抓包分析就可以简单地截获用户登录内容。针对像登录信息或支付验证这样的重要信息传输过程,结合了现在逐渐成熟的云技术,我们提出自己的方法。

【发明内容】

[0003]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于图像加密技术的用户安全登陆方法。
[0004]本发明的目的可以通过以下技术方案来实现:
[0005]—种基于图像加密技术的用户安全登陆方法,其特征在于,包括以下步骤:
[0006](I)客户端对用户的登陆密码进行MD5加密得到密码密文;
[0007](2)客户端将用户名通过基于扩展变换抖动调制的数字水印方法嵌入图片中;
[0008](3)客户端用存储在本地的随机种子生成控制流,通过该控制流进行基于扩展变换抖动调制的数字水印方法将密码密文嵌入图片中;
[0009](4)客户端将图片发送给服务器端;
[0010](5)服务器端通过基于扩展变换抖动调制的数字水印方法从接收到的图片中提取出用户名;
[0011](6)服务器端用存储在本地的随机种子生成控制流,通过该控制流进行基于扩展变换抖动调制的数字水印方法从接收到的图片中提取出密码密文;
[0012](7)服务器端用保存在本地的密码密文来验证步骤¢)中提取出的密码密文,若验证成功,则生成一个新的随机种子,并与验证通过信息一并发送给客户端,客户端更新随机种子,客户端完成登陆;反之则提示验证失败,客户端登陆失败。
[0013]所述步骤(I)中客户端将用户的登陆密码与该用户所登陆软件的软件指纹结合生成用户针对该软件的登陆密码后,再进行MD5加密。
[0014]所述的随机种子为服务器验证用户密码密文成功时的本地时间。
[0015]所述客户端将用户名和密码密文转换为128位0-1比特流后通过基于扩展变换抖动调制的数字水印方法嵌入图片中。
[0016]所述的步骤(2)中客户端将用户名通过基于扩展变换抖动调制的数字水印方法嵌入图片中具体为:
[0017](201)客户端生成一张256X256像素的24位真彩BMP图片;
[0018](202)对步骤(301)中生成的图片进行8 X 8的DCT变换,得到32 X 32个DCT系数矩阵;
[0019](203)对32 X 32个DCT系数矩阵中前32 X 4个矩阵进行基于扩展变换抖动调制的数字水印方法嵌入128位的用户名;
[0020]所述的步骤(3)中客户端用存储在本地的随机种子生成控制流,通过该控制流进行基于扩展变换抖动调制的数字水印方法将密码密文嵌入图片中具体为:
[0021](301)利用基于ANSI X9.17的伪随机数产生器,将所述存储在本地的随机种子作为其输入,得到一个至少包含128个I的0-1控制流;
[0022](302)跳过前32X4个矩阵,按照以下规则对后32X28个系数矩阵进行基于扩展变换抖动调制的数字水印方法嵌入密码密文:
[0023](3021)顺序取出一个矩阵,并从步骤(301)中所得控制流中顺序读出一位数据,如果为1,则对当前取出的矩阵进行基于扩展变换抖动调制的数字水印方法嵌入I位密码密文,如果为0,则对当前取出的矩阵不做任何操作;(3022)判断128位密码密文是否全部嵌入完成,若为是则完成密码密文嵌入,若为否,回到步骤(3021)。
[0024](303)对32X32个DCT系数矩阵进行DCT变换的逆变换。
[0025]所述的步骤(5)中服务器端通过基于扩展变换抖动调制的数字水印方法从接收到的图片中提取出用户名具体为:
[0026](501)服务器端将收到的图片进行8X8的DCT变换,得到32X32个DCT系数矩阵;
[0027](502)对32 X 32个DCT系数矩阵中前32 X 4个矩阵进行基于扩展变换抖动调制的数字水印方法提取用户名;
[0028]所述的步骤¢)中服务器端用存储在本地的随机种子生成控制流,通过该控制流进行基于扩展变换抖动调制的数字水印方法从接收到的图片中提取出密码密文具体为:
[0029](601)利用基于ANSI X9.17的伪随机数产生器,将所述存储在本地的随机种子作为其输入,得到一个至少包含128个I的0-1控制流;
[0030](602)跳过前32X4个矩阵,按照以下规则对后32X28个系数矩阵进行基于扩展变换抖动调制的数字水印方法提取密码密文:
[0031](6021)顺序取出一个矩阵,并从步骤¢01)中所得控制流中顺序读出一位数据,如果为1,则对当前取出的矩阵进行基于扩展变换抖动调制的数字水印方法提取I位密码密文,如果为O,则对当前取出的矩阵不做任何操作;(6022)判断128位密码密文是否全部提取完成,若为是则完成密文提取,若为否,回到步骤¢021)。
[0032]所述步骤(7)中服务器端保存在本地的密码密文是嵌入在保存在本地的图片中的,具体的密码密文提取方法为:
[0033](701)服务器端将保存在本地的图片进行8X8的DCT变换,得到32X32个DCT系数矩阵;
[0034](702)利用基于ANSI X9.17的伪随机数产生器,将所述存储在本地的随机种子作为其输入,得到一个至少包含128个I的0-1控制流;
[0035](703)按照以下规则对32X32个系数矩阵进行基于扩展变换抖动调制的数字水印方法提取密码密文:
[0036](7031)顺序取出一个矩阵,并从步骤(702)中所得控制流中顺序读出一位数据,如果为1,则对当前取出的矩阵进行基于扩展变换抖动调制的数字水印方法提取I位密码密文,如果为0,则对当前取出的矩阵不做任何操作;
[0037](7032)判断128位密码密文是否全部提取完成,若为是则完成密文提取,若为否,回到步骤(7031) ο
[0038]所述0-1控制流控制流的长度小于896。
[0039]所述客户端为移动终端或PC终端。
[0040]所述的客户端与服务器端之间通过SSL协议进行通信。
[0041]与现有技术相比,本发明具有以下优点:
[0042]1.在传统的基于扩展变换抖动调制的数字水印方法的基础上,利用密码强度最高的伪随机数产生器ANSI x9.17产生伪随机数作为控制流,在保留了基于扩展变换抖动调制的数字水印方法本身抗干扰性高和抑制宿主干扰的优点的基础上,进一步增加系统的安全性。
[0043]2.每个软件引入软件指纹,产生唯一的软件标识。与原密码相互结合产生新的密码,这样即使多个账号使用同一个密码,也不用担心存在不安全性。可以说同时兼顾了安全性与与便捷性。
[0044]3.利用当下云服务的强大计算能力和储存能力,在通信过程中选择以图片为载体进行发送。在服务器端,同样利用图片进行数据的储存,这样在通信和存储两个环节都对安全性做到了提升。
【附图说明】
[0045]图1为本发明的客户端与服务器端之间通信的数据流图;
【具体实施方式】
[0046]下面结合附图和具体实施例对本发明进行详细说明。
[0047]实施例1
[0048]客户端:用户在PC中的软件输入其用户名和密码,PC端根据用户名与用户选择登录的软件,在本地数据库中找到该软件相应的软件指纹与时间种子,并将用户输入的原始密码与软件指纹结合,经md5加密,形成16位密码密文,进一步转化成128位0_1比特流的密码密文。用户名同样填充成128位0-1比特流。
[0049]为保证宿主图像足够大可以将256bit信息(128位的用户名和128位的密码密文)嵌入,我们采用256X256的24位真彩bmp图片。对生成的图片进行8X8的DCT变换,得到32X32个DCT系数矩阵;对32X32个DCT系数矩阵中前32 X 4个矩阵进行基于扩展变换抖动调制的数字水印方法嵌入128位的用户名;
[0050]根据从本地数据库中提取出来的时间种子,利用基于ANSI X9.17的伪随机数产生器,以时间种子作为其输入,得到一个至少包含128个I的0-1控制流。
[0051 ] 跳过前32 X 4个矩阵,按照以下规则对后32 X 28个系数矩阵进行基于扩展变换抖动调制的数字水印方法嵌入128位的密码密文,具体规则如下:
[0052](I)顺序取出一个矩阵,并从所得控制流中顺序读出一位数据,如果为1,则对当前取出的矩阵进行基于扩展变换抖动调制的数字水印方法嵌入I位密码密文,如果为0,则对当前取出的矩阵不做任何操作;
[0053](2)判断128位密码密文是否全部提取完成,若为是则完成密码密文提取,若为否,回到步骤(I)。
[0054]完成用户名和密码密文的嵌入后,PC端按照SSL方式将图片发送给服务器端。
[0055]服务器端:对于服务器接收到的图片进行8X8的DCT变换后,得到32X32个DCT系数矩阵,从其中前32X4个矩阵中进行基于扩展变换抖动调制的数字水印方法提取出用户名;
[0056]根据提取出的用户名从数据库中提取该用户对应的时间种子,利用基于ANSIX9.17的伪随机数产生器,将该时间种子作为其输入,得到一个至少包含128个I的0_1控制流;
[0057]跳过前32 X 4个矩阵,按照以下规则对后32 X 28个系数矩阵进行基于扩展变换抖动调制的数字水印方法提取128位的密码密文:
[0058](I)顺序取出一个矩阵,并从所得控制流中顺序读出一位数据,如果为1,则对当前取出的矩阵进行基于扩展变换抖动调制的数字水印方法提取I位密码密文,如果为0,则对当前取出的矩阵不做任何操作;
[0059](2)判断128位密码密文是否全部提取完成,若为是则完成密码密文提取,若为否,回到步骤(6021) ο
[0060]提取出PC端传来的图片中的密码密文后,服务器端还需要取出本地保存的该用户的密码密文用于验证,在本实施例中,服务器端保存在本地的密码密文也是嵌入在保存在本地的图片中的。
[0061]因此,服务器端先将保存在本地的图片进行8X8的DCT变换,得到32X32个DCT系数矩阵;
[0062]利用基于ANSI X9.17的伪随机数产生器,将所述存储在本地的随机种子作为其输入,得到一个至少包含128个I的0-1控制流;
[0063]按照以下规则对32X32个系数矩阵进行基于扩展变换抖动调制的数字水印方法提取128位的密码密文:
[0064](I)顺序取出一个矩阵,并从所得控制流中顺序读出一位数据,如果为1,则对当前取出的矩阵进行基于扩展变换抖动调制的数字水印方法提取I位密码密文,如果为0,则对当前取出的矩阵不做任何操作;
[0065](2)判断128位密码密文是否全部提取完成,若为是则完成密码密文提取,若为否,回到步骤(I)。
[0066]提取出本地保存的密码密文后,将两个密码密文相比对。如果相符,就向客户端发送许可信息并更新本地数据库中的时间种子,同时也通知客户端更新为该新生成的时间种子。此外,服务器端还将用这个新生成的时间种子重新产生控制流,将密码密文重新嵌入本地图片中,用于下次用户登录时的验证工作。
[0067]实施例2
[0068]本实施例与实施例1基本相同,唯一区别在于本实施例中的客户端为手机终端,手机终端通过WLAN或者移动网络与服务器端通信,适合于当今网络逐渐趋于移动化的趋势。
【主权项】
1.一种基于图像加密技术的用户安全登陆方法,其特征在于,包括以下步骤: (1)客户端对用户的登陆密码进行MD5加密得到密码密文; (2)客户端将用户名通过基于扩展变换抖动调制的数字水印方法嵌入图片中; (3)客户端用存储在本地的随机种子生成控制流,通过该控制流进行基于扩展变换抖动调制的数字水印方法将密码密文嵌入图片中; (4)客户端将图片发送给服务器端; (5)服务器端通过基于扩展变换抖动调制的数字水印方法从接收到的图片中提取出用户名; (6)服务器端用存储在本地的随机种子生成控制流,通过该控制流进行基于扩展变换抖动调制的数字水印方法从接收到的图片中提取出密码密文; (7)服务器端用保存在本地的密码密文来验证步骤¢)中提取出的密码密文,若验证成功,则生成一个新的随机种子,并与验证通过信息一并发送给客户端,客户端更新随机种子,客户端完成登陆;反之则提示验证失败,客户端登陆失败。2.根据权利要求1所述的一种基于图像加密技术的用户安全登陆方法,其特征在于,所述步骤(I)中客户端将用户的登陆密码与该用户所登陆软件的软件指纹结合生成用户针对该软件的登陆密码后,再进行MD5加密。3.根据权利要求1或2所述的一种基于图像加密技术的用户安全登陆方法,其特征在于,所述的随机种子为服务器验证用户密码密文成功时的本地时间。4.根据权利要求3所述的一种基于图像加密技术的用户安全登陆方法,其特征在于,所述客户端将用户名和密码密文转换为128位0-1比特流后通过基于扩展变换抖动调制的数字水印方法嵌入图片中。5.根据权利要求4中所述的一种基于图像加密技术的用户安全登陆方法,其特征在于, 所述的步骤(2)中客户端将用户名通过基于扩展变换抖动调制的数字水印方法嵌入图片中具体为: (201)客户端生成一张256X256像素的24位真彩BMP图片; (202)对步骤(301)中生成的图片进行8X8的DCT变换,得到32X32个DCT系数矩阵; (203)对32X 32个DCT系数矩阵中前32 X 4个矩阵进行基于扩展变换抖动调制的数字水印方法嵌入128位的用户名; 所述的步骤(3)中客户端用存储在本地的随机种子生成控制流,通过该控制流进行基于扩展变换抖动调制的数字水印方法将密码密文嵌入图片中具体为: (301)利用基于ANSIX9.17的伪随机数产生器,将所述存储在本地的随机种子作为其输入,得到一个至少包含128个I的0-1控制流; (302)跳过前32X4个矩阵,按照以下规则对后32X28个系数矩阵进行基于扩展变换抖动调制的数字水印方法嵌入密码密文: (3021)顺序取出一个矩阵,并从步骤(301)中所得控制流中顺序读出一位数据,如果为1,则对当前取出的矩阵进行基于扩展变换抖动调制的数字水印方法嵌入I位密码密文,如果为0,则对当前取出的矩阵不做任何操作; (3022)判断128位密码密文是否全部嵌入完成,若为是则完成密码密文嵌入,若为否,回到步骤(3021) ο (303)对32X32个DCT系数矩阵进行DCT变换的逆变换。6.根据权利要求5中所述的一种基于图像加密技术的用户安全登陆方法,其特征在于, 所述的步骤(5)中服务器端通过基于扩展变换抖动调制的数字水印方法从接收到的图片中提取出用户名具体为: (501)服务器端将收到的图片进行8X8的DCT变换,得到32X32个DCT系数矩阵; (502)对32X 32个DCT系数矩阵中前32 X 4个矩阵进行基于扩展变换抖动调制的数字水印方法提取用户名; 所述的步骤出)中服务器端用存储在本地的随机种子生成控制流,通过该控制流进行基于扩展变换抖动调制的数字水印方法从接收到的图片中提取出密码密文具体为: (601)利用基于ANSIX9.17的伪随机数产生器,将所述存储在本地的随机种子作为其输入,得到一个至少包含128个I的0-1控制流; (602)跳过前32X4个矩阵,按照以下规则对后32X28个系数矩阵进行基于扩展变换抖动调制的数字水印方法提取密码密文: (6021)顺序取出一个矩阵,并从步骤(601)中所得控制流中顺序读出一位数据,如果为1,则对当前取出的矩阵进行基于扩展变换抖动调制的数字水印方法提取I位密码密文,如果为0,则对当前取出的矩阵不做任何操作; (6022)判断128位密码密文是否全部提取完成,若为是则完成密文提取,若为否,回到步骤(6021) ο7.根据权利要求6所述的一种基于图像加密技术的用户安全登陆方法,其特征在于,所述步骤(7)中服务器端保存在本地的密码密文是嵌入在保存在本地的图片中的,具体的密码密文提取方法为: (701)服务器端将保存在本地的图片进行8X 8的DCT变换,得到32 X 32个DCT系数矩阵; (702)利用基于ANSIX9.17的伪随机数产生器,将所述存储在本地的随机种子作为其输入,得到一个至少包含128个I的0-1控制流; (703)按照以下规则对32X32个系数矩阵进行基于扩展变换抖动调制的数字水印方法提取密码密文: (7031)顺序取出一个矩阵,并从步骤(702)中所得控制流中顺序读出一位数据,如果为1,则对当前取出的矩阵进行基于扩展变换抖动调制的数字水印方法提取I位密码密文,如果为0,则对当前取出的矩阵不做任何操作; (7032)判断128位密码密文是否全部提取完成,若为是则完成密文提取,若为否,回到步骤(7031) ο8.根据权利要求5或6或7中所述的一种基于图像加密技术的用户安全登陆方法,其特征在于,所述0-1控制流控制流的长度小于896。9.根据权利要求1中所述的一种基于图像加密技术的用户安全登陆方法,其特征在于,所述客户端为移动终端或PC终端。10.根据权利要求1中任意所述的一种基于图像加密技术的用户安全登陆方法,其特征在于,所述的客户端与服务器端之间通过SSL协议进行通信。
【文档编号】H04L29/06GK105991559SQ201510059780
【公开日】2016年10月5日
【申请日】2015年2月5日
【发明人】程久军, 秦鹏宇, 杨阳, 张庆阳, 胡刘飞, 柳影波
【申请人】同济大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1