互联网安全架构

2017-11-25  本文已影响0人  MinoyJet

互联网安全架构

一、常见web攻击手段及防御方法

二、常用的安全算法

摘要算法、对称加密算法、非对称加密算法、信息编码等。

三、摘要认证

对于普通的非敏感数据,我们需要关注其真实性和准确新,因此保证数据不被篡改是首先需要考虑的问题。

鉴于HTTPS性能上的成本和额外申请CA证书,一般采用对参数和响应进行摘要的方法,就能满足需求。

请求参数摘要的生成过程:

​ 请求参数->参数排序->将参数串接起来,加上secret,生成待摘要字符串->使用摘要算法生成摘要串。

服务端参数摘要验证:

​ 请求参数->参数排序->将参数串接起来,加上secret,生成待摘要字符串->使用摘要算法生成摘要串->服务端生成的摘要串和客户端通过header传递过来的摘要串进行比较。

响应摘要的生成和验证与请求参数摘要的生成和验证一样。

四、签名认证

摘要认证能一定程度上防止通信内容被篡改,但是,算法的安全性取决于secret的安全,一旦secrett泄露,恶意攻击者便可以根据相应的摘要算法,伪造出合法的请求或响应。

客户端请求数字签名生成过程:

​ 请求参数->参数排序->将参数串接起来->使用摘要算法生成摘要串->使用客户端私钥对摘要串加密。

服务端对客户端数字签名校验:

​ 请求参数->参数排序->将参数串接起来->使用摘要算法生成摘要串->使用客户端的公钥对接收到的数字签名基金解密得到摘要串->比较这两个摘要串。

响应摘要的生成和验证与请求参数摘要的生成和验证一样。

签名认证能解决身份校验问题以及检测通信是否被篡改,但HTTP是明文传输,签名认证对第三者监听还原通信内容是无能为力的。

五、HTTPS协议

摘要认证和签名认证能检测到通信内容被篡改,但是不能解决通信内容被监听的问题。对一些账户密码等敏感信息,一旦被监听后果很严重,这时候就需要更加严密的手段保障信息安全。

六、OAuth认证

摘要认证、签名认证和HTTPS协议能给确保客户端和服务端在双方相互信任的情况下通信的安全,但是对于一些特殊场景就无能为力了。

拥有海量用户和数据的巨头以一己之力无法充分满足用户的多样需求,这时就需要将数据以接口的形式开放给第三方开发者。满足一小部分用户的独特需求,又能使自己获得利益,还能让数据流动起来,在大平台周围形成一个良性是生态环境,最终达到用户、平台和第三方开发者共赢。

OAuth协议旨在为用户资源的授权访问提供一个安全、开发的标准。

上一篇 下一篇

猜你喜欢

热点阅读