概念介绍:
明文指加密前的内容,反之密文指加密后的内容。
密钥指加密或解密过程中,参与运算的关键数据。可以是一份映射表,也可以是一些算法参数等。
算法指加密或解密规则。
信息涉漏包括明文,密文,密钥或算法涉漏。任何信息通过万维网传输,就等同于该信息已经涉漏。算法,密文和密钥(私钥)都涉漏的情况下,明文等于不攻自破。加密的目的并不是防止明文涉漏,因为任何加密只要算法和密文涉漏,那么明文涉漏只是一个时间上的问题。如果有人问到,能否做到“绝对”不涉漏,那么答案是“难,没有绝对”。如果算法和密文涉漏,那么明文涉漏的风险就与明文的价值,攻破密文所需的代价相关。加密的目的是为了减少明文涉漏的风险,但并不能完全减到0风险。明文的价值是否会随着时间变化,假设把验证码作为一个明文来看,它是一次性使用的,使用前是有价值的,使用后就无价值了,所以明文的价值是可以变化的,也可以永远不变的,例如登陆密码。攻破密文所需的代价,一是根据加密算法来判断所需代价,例如RSA的大数分解代价,MD5的逆表生成代价。二是根据明文的复杂度来判断所需代价,假设把验证码作为一个明文来看,它不便过于复杂,因为过于复杂,用户输入难度就会变大。
信息篡改指算法和密钥(公钥)涉漏的前提下,攻击者就可以进行伪造信息替换原有信息。
对称加密指的是加密和解密使用同一密钥,反之,非对称加密就是加密和解密使用不同密钥,加密使用的密钥称为公钥,解密使用的密钥称为私钥。
可逆加密指的是可以通过解密得到明文,但严格来说,可逆加密指的是明文与密文是一种一对一的关系,反之,不可逆加密就是明文与密文是一种多对一的关系。
注册操作步骤:
1.用户进入输入信息页面。
2.用户请求获取防机器验证码图片。
3.用户获得防机器验证码图片和公钥。
4.用户输入信息,输入防机器验证码,并点击提交。
5.使用公钥对防机器验证码进行加密。
6.使用公钥对防涉漏信息进行加密,如密码。
7.最后把信息(未加密),防涉漏信息(公钥加密),防机器验证码(公钥加密)发送给服务器。
8.服务器使用私钥解密防机器验证码,防涉漏信息。
9.检验服务器的防机器验证码的有效性,如果还有效,则比对防机器验证码,判断人为还是机器操作,不管成功与否,验证码都将作废,不能再次使用,需要用户重新获取新的验证码。
注:以上的操作中,公钥的有效性是与防机器验证码一致,如果该网站不是服务于政府机构,即明文的价值并不那么大的情况下,公钥的有效性可以更长一些,即公钥不需要使用防机器验证码加密也是可以的。
登陆操作步骤:
用户密码与验证码合并进行不可逆加密,作为一个动态密码验证。
所谓动态密码,就是每次登陆传送至后台时的密码不一样,即使这次的登陆密码被破解,但不能用于下次登陆。