Security ❀ Web系统中的加密措施

Web系统中的加密措施

标准的加密方法是对用户提交的参数进行加密后再传输,避免参数在传输过程中被劫持,导致用户数据丢失,当数据传输到Web服务器时,将参数解密后处理,这个过程中存在两种情况:

(1)不需要服务器知道明文的内容
这种情况常用于用户隐藏信息,如用户密码。Web系统在存储用户密码时不会直接存储明文密码,而是预先设定加密算法,将用户的隐藏信息加密后存储在数据库中,这样可在系统运维过程中避免管理人员直接观察并获取用户的密码信息,这种情况下,经常用MD5/SHA-1来实现加密;
严格来说,MD5/SHA-1是一种信息摘要算法,可以将任意长度的明文内容转换为长度固定的密文,并且转换过程不可逆,相同的内容每次执行算法得到的密文完全相同,Web系统存储的内容就是经过MD5/SHA-1转换的密文,Web系统将用户密文与数据库中的密文进行对比即可,直接使用MD5/SHA-1并不安全,有大量彩虹表(存储明文与密文的表)存在,可以间接实现密码破解的效果,因此Web系统常用SALT方式提升破解难度,过于简单的SALT也存在安全隐患;
此外,MD5/SHA-1还存在碰撞问题,不同明文利用MD5/SHA-1计算之后得到的密文可能相同;

(2)需要服务器知道明文的内容
除了用户的个人隐私信息之外,客户端发起的请求中还包含大量需要服务器处理的内容,如订单信息、留言等;由于HTTP协议在传输过程为明文传输,就会导致信息泄露问题出现;
使用HTTPS即可解决上述问题,但是HTTPS并不是完全免费的服务;

猜你喜欢

转载自blog.csdn.net/qq_42197548/article/details/106108985