一种让是否通过审核真正安全的系统
技术领域
本发明属于用户网络账号保护领域,具体地说,涉及一种让是否通过审核真正安全的系统。
背景技术
黑客通过利用服务器所在操作系统的漏洞进行攻击等多种技术手段,获取保存在服务器上的数据库,从而得到用户在数据库上的注册信息表。一些学校、政府部门甚至国防部的服务器都曾经被黑客攻击过,而且攻击成功,获取了用户的机密信息。是否黑客得到了用户机密信息后,用户的资料就不安全了,那不一定!一般来说,用户的密码都是经过加密的,黑客必须得到密码的明文,才有可能以用户的身份进行操作。但是目前很糟糕的情况是:黑客有非常完善的彩虹表,即所谓的密码字典,能够暴力破解很多用户的密码。
目前很多网络服务商提供的各种服务,采用了开放注册的模式,即任何人都可以注册,但是注册成功了,还必须要通过了审核才能登录。也就是说,黑客得到了用户的用户名和密码明文,但是不知道用户是否通过审核的状态,也只能是成功了一半,如果该用户没有通过审核,黑客用该用户账号也无法登录。
事实上,有的黑客禁不住第三方的利诱,攻破服务器数据库后,编写一个恶意的程序,让用户任意注册,而且自动通过审核,即通过恶意程序修改用户的状态为通过审核。这些自动通过审核的用户,无需缴纳任何费用,就可以享受收费会员的服务,给服务商带来巨大的经济利益损失,或者获取服务商内部机密,带来安全隐患。
目前,如果黑客攻破了服务器数据库,那么编写一个恶意的程序,让用户任意注册,而且自动通过审核是十分容易的事情。因为目前数据库中关于涉及用户是否通过审核的字段记录数据类型一般都是逻辑型,用true表示通过审核,用false表示没有通过审核;也有以字符型表示,但都是固定不变的字符,例如用“是”、“通过”等表示通过审核,用“否”、“没有通过”等表示没有通过审核。因此,黑客就用上述表示通过审核的数据存入涉及用户是否通过审核的字段中,使得所有注册的用户全部自动通过审核。
发明内容
本发明的目的在于克服目前服务器数据库中,用户注册信息表关于是否通过审核的信息在技术处理上的严重不足,让是否通过审核的数据信息加密,而且是动态的,每个用户的该数据信息是唯一的,达到黑客难以猜测,难以暴力破解和无法修改的技术效果,即使用户的注册信息被泄露,也能最大限度维护服务商和用户的信息安全。
为达到上述目的,本发明提供一种让是否通过审核真正安全的系统,包括数据结构装置1、加密处理装置2和解密处理装置3,其特征在于:三者两两相互连接,所述数据结构装置1内有用户名设置器1a、密码设置器1b和是否通过审核设置器1c;加密处理装置2内有密钥保管器2a、固定字符设置器2b和是否通过审核密文设置器2c;解密处理装置3内有密钥获取器3a、固定字符获取器3b、是否通过审核信息分割器3c和用户状态判断器3d;用户名设置器1a设置用户注册信息表m的【用户名】字段,类型是字符型,密码设置器1b设置用户注册信息表m的【密码】字段,类型是字符型,是否通过审核设置器1c设置用户注册信息表m的【是否通过审核】字段,类型是字符型,密钥保管器2a把用于加密【是否通过审核】字段记录数据和【密码】字段记录数据的密钥n存于安全位置,固定字符设置器2b设置表示通过审核的字符串s和没有通过审核的字符串t,而且将字符串s和字符串t存于安全位置;如果某用户的用户名是字符串u,是否通过审核密文设置器2c按照如下操作加密该用户在用户注册信息表m的【是否通过审核】字段记录数据:
(1)如果该用户通过了审核,则将字符串u和字符串s组合成一个新的字符串e,用密钥n对字符串e进行加密,形成一个新的加密字符串f,并把加密字符串f存入【是否通过审核】字段中;
(2)如果该用户没有通过审核,则将字符串u和字符串t组合成一个新的字符串e,用密钥n对字符串e进行加密,形成一个新的加密字符串f,并把加密字符串f存入【是否通过审核】字段中;
密钥获取器3a获取密钥n的信息,固定字符获取器3b获取字符串s和字符串t的信息,是否通过审核信息分割器3c用密钥n对加密字符串f进行解密,如果解密失败,就对事先定义的变量字符串d赋值,而且字符串d的值为一个固定不变的字符串,如果解密成功,就还原为明文字符串e,再对字符串e进行分割,得到字符串s或者字符串t;
用户状态判断器3d根据是否通过审核信息分割器3c的处理结果进行判断:
(1)如果字符串d的值为一个固定不变的字符串,则该用户没有通过审核;
(2)如果字符串e分割后,得到了字符串s,则该用户通过审核;
(3)如果字符串e分割后,得到了字符串t,则该用户没有通过审核。
本发明的显著效果在于:(1)黑客即使获取了用户的注册信息表,依靠技术手段获取了用户的用户名和密码,但是不知道用户是否通过审核的状态,对是否通过审核字段记录数据的稍微改动必然导致解密失败,自动锁定用户为没有通过审核状态,大量用户的信息还是处于安全状态。(2)黑客无法编写恶意的自动化处理程序,使得批量注册,自动通过审核成为不可能,最大限度维护服务商和用户的信息安全。
附图说明
图1为本发明中所述让是否通过审核真正安全的系统结构原理图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步的说明。
实施例1,如图1所示:一种让是否通过审核真正安全的系统,包括数据结构装置1、加密处理装置2和解密处理装置3,其特征在于:三者两两相互连接,所述数据结构装置1内有用户名设置器1a、密码设置器1b和是否通过审核设置器1c;加密处理装置2内有密钥保管器2a、固定字符设置器2b和是否通过审核密文设置器2c;解密处理装置3内有密钥获取器3a、固定字符获取器3b、是否通过审核信息分割器3c和用户状态判断器3d;用户名设置器1a设置用户注册信息表m的【用户名】字段,类型是字符型,密码设置器1b设置用户注册信息表m的【密码】字段,类型是字符型,是否通过审核设置器1c设置用户注册信息表m的【是否通过审核】字段,类型是字符型,密钥保管器2a把用于加密【是否通过审核】字段记录数据和【密码】字段记录数据的密钥n存于安全位置,固定字符设置器2b设置表示通过审核的字符串s和没有通过审核的字符串t,而且将字符串s和字符串t存于安全位置;如果某用户的用户名是字符串u,是否通过审核密文设置器2c按照如下操作加密该用户在用户注册信息表m的【是否通过审核】字段记录数据:
(1)如果该用户通过了审核,则将字符串u和字符串s组合成一个新的字符串e,用密钥n对字符串e进行加密,形成一个新的加密字符串f,并把加密字符串f存入【是否通过审核】字段中;
(2)如果该用户没有通过审核,则将字符串u和字符串t组合成一个新的字符串e,用密钥n对字符串e进行加密,形成一个新的加密字符串f,并把加密字符串f存入【是否通过审核】字段中;
密钥获取器3a获取密钥n的信息,固定字符获取器3b获取字符串s和字符串t的信息,是否通过审核信息分割器3c用密钥n对加密字符串f进行解密,如果解密失败,就对事先定义的变量字符串d赋值,而且字符串d的值为一个固定不变的字符串,如果解密成功,就还原为明文字符串e,再对字符串e进行分割,得到字符串s或者字符串t;
用户状态判断器3d根据是否通过审核信息分割器3c的处理结果进行判断:
(1)如果字符串d的值为一个固定不变的字符串,则该用户没有通过审核;
(2)如果字符串e分割后,得到了字符串s,则该用户通过审核;
(3)如果字符串e分割后,得到了字符串t,则该用户没有通过审核。
下面以一个具体的事例来论述:
设想SQLSERVER数据库ncywda中有一个用户注册信息表users,用户名设置器1a、密码设置器1b和是否通过审核设置器1c分别设置了如下的用户名、密码和是否通过审核字段,其结构如下:
字段名称 |
类型 |
说明 |
ID |
整形 |
主键,自动编号 |
Yhm |
字符型 |
用户名 |
Mm |
字符型 |
密码 |
Xb |
字符型 |
性别 |
Sftgsh |
字符型 |
是否通过审核 |
密钥保管器2a、固定字符设置器2b分别设置安全的密钥和固定字符,例如,密钥n=“DCE6B5E4BEC65603294EC197867A05CC”,通过审核的字符串s=“2046D1AAEBAFE699EBB1412EE7672A9”和没有通过审核的字符串t=“0728BEAFB1A4D2973105E84D1E0BC71”,这里n,s和t字符串长度很长,而且是数字和字母的组合,120GB的彩虹表无法把字符串n,s和t比对出来,某用户的用户名是字符串u,u=“zrm”,密码是“123abc”,这个密码可以用彩虹表或者其它技术手段比对出来,如果用户通过了审核,则将字符串u和字符串s组合成一个新的字符串e,e=“zrm|2046D1AAEBAFE699EBB1412EE7672A9”,用“|”把字符串u和字符串s分开,用AES加密算法对字符串e进行加密,得到加密字符串f=“UIpgzB6CqkiJcH7FPLKXJt694FFGgsGcQpHkUagY/4Zt+U1yPcIhitzPzDrKxA5/FVFQqUte1uyywypeDrZ8Lg==”,是否通过审核密文设置器2c把字符串f存入该用户所在记录的【Sftgsh】字段中, 是否通过审核信息分割器3c对该用户在【Sftgsh】字段中的数据进行解密操作,如果失败,则对变量字符串d赋值,该值是固定的,例如:d=“密文数据遭到人为破坏”;如果解密成功,则得到明文字符串e,是否通过审核信息分割器3c再对字符串e进行分割,得到字符串“zrm”,和“2046D1AAEBAFE699EBB1412EE7672A9”,用户状态判断器3d判断变量字符串d是否为固定的字符“密文数据遭到人为破坏”,如果是,则该用户不能通过审核;如果变量字符串d不是固定的字符串“密文数据遭到人为破坏”,而解密和分割后得到的字符串“2046D1AAEBAFE699EBB1412EE7672A9”就是字符串s,则该用户通过审核。
同理,如果该用户没有通过审核,则对字符串u和字符串t进行组合、加密和解密还原和分割操作,步骤与上述过程雷同。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。