Web信息安全
2016-06-19 00:00
225 查看
摘要: 在当今的互联网时代,信息安全问题经常发生,如何保证信息的安全成为开发者不得不面对的问题。
保密性(Confidentiality):确保信息在存储、使用、传输过程中不会泄漏给非授权用户或实体。
完整性(Integrity):确保信息在存储、使用、传输过程中不会被非授权用户篡改,同时还要防止授权用户对系统及信息进行不恰当的篡改,保持信息内、外部表示的一致性。
可用性(Availability):确保授权用户或实体对信息及资源的正常使用不会被异常拒绝,允许其可靠而及时地访问信息及资源。
传输过程:被窃听,被篡改,被重放等(
接入过程:双方身份认证,操作数据(参数)认证,流量控制等(
存储/服务过程:数据和应用需要多地灾容,避免天灾人祸。
APP 打开,跳出验证页面,输入用户名 和 密码
服务器进行验证,验证通过,返回TOKEN作为给APP
APP使用TOKEN访问服务器的资源。
而TOKEN具体是什么?通常情况下,它对移动端来说就是一段随机数字。当然,对于服务器,可以通过对称加密的算法在TOKEN上做一些特别的设计,如加入用户名之类的。
大致的阶段为:
客户端发起请求
服务器响应请求,给定自己的公钥(可能被第三方CA加密过)
客户端验证公钥(如果被第三方CA加密过,则使用CA的公钥进行解密,
客户端通过验证公钥,选择一套对称加密算法,生成 密钥,并且使用服务器的公钥进行加密
服务器使用自己的私钥,解密对称加密的密钥
客户端 和 服务器 使用对称密钥进行信息交换
HTTPS协议能防护大部分的网络攻击,在构建Web站点的时候,建议对关键资源进行HTTPS协议传输。
SSL/TLS协议运行机制的概述
HTTPS连接的前几毫秒发生了什么
Web信息安全
在当今的互联网时代,信息安全问题经常发生,如何保证信息的安全成为开发者不得不面对的问题。CIA
信息安全的CIA原则,大致阐述了实践信息安全的几个基本原则:保密性(Confidentiality):确保信息在存储、使用、传输过程中不会泄漏给非授权用户或实体。
完整性(Integrity):确保信息在存储、使用、传输过程中不会被非授权用户篡改,同时还要防止授权用户对系统及信息进行不恰当的篡改,保持信息内、外部表示的一致性。
可用性(Availability):确保授权用户或实体对信息及资源的正常使用不会被异常拒绝,允许其可靠而及时地访问信息及资源。
套路
在Web时代,信息安全通常需要考虑如下几个方面:传输过程:被窃听,被篡改,被重放等(
中间人攻击等)
接入过程:双方身份认证,操作数据(参数)认证,流量控制等(
越权攻击,
SQL注入,
DDos攻击等)
存储/服务过程:数据和应用需要多地灾容,避免天灾人祸。
防护
身份验证
当访问一个具有权限的接口的时候,服务器需要验证访问者的身份,而如何鉴定访问者的身份呢? 通常的情况下,我们会使用密码,指纹,证书,验证码,TOKEN 等手段来验证一个用户的真实身份。在这个背后,隐藏着一个问题:为什么密码,指纹,TOKEN,可以验证访问者的身份?为了回答这个问题,我们可以发现一个共性,**就是这些信息(密码,指纹,TOKEN)只有访问者知道,他人不知道,所以回答正确,就能验证访问者的身份。这样子就可以验证访问者的身份了。**当然如果被第三人知道了,那么就GG 思密达了。TOKEN的使用
关于TOKEN,就不得不说移动端的崛起,在2008年之前,基本上提供的服务都是基于Web的,通过SESSION + COOKIE来完成,然而到了后来,移动端开始崛起。开发者遇到这COOKIE不好用,跨服务器访问资源等等问题。为了解决这个问题,出现了OAuth2.0的标准,通过这个标准,基本上可以解决移动端身份验证的问题。这里简述一下通常移动端TOKEN使用的场景:APP 打开,跳出验证页面,输入用户名 和 密码
服务器进行验证,验证通过,返回TOKEN作为给APP
APP使用TOKEN访问服务器的资源。
而TOKEN具体是什么?通常情况下,它对移动端来说就是一段随机数字。当然,对于服务器,可以通过对称加密的算法在TOKEN上做一些特别的设计,如加入用户名之类的。
HTTPS
HTTPS 可以算是现今信息安全的基石之一了,采用SSL进行传输数据。如下是HTTPS 的基本过程图解:大致的阶段为:
客户端发起请求
服务器响应请求,给定自己的公钥(可能被第三方CA加密过)
客户端验证公钥(如果被第三方CA加密过,则使用CA的公钥进行解密,
并且验证域名是否一致)
客户端通过验证公钥,选择一套对称加密算法,生成 密钥,并且使用服务器的公钥进行加密
服务器使用自己的私钥,解密对称加密的密钥
客户端 和 服务器 使用对称密钥进行信息交换
HTTPS协议能防护大部分的网络攻击,在构建Web站点的时候,建议对关键资源进行HTTPS协议传输。
参考
理解OAuth 2.0SSL/TLS协议运行机制的概述
HTTPS连接的前几毫秒发生了什么
相关文章推荐
- Linux实现https方式访问站点
- HTTPS科普扫盲帖
- HTTPS的七个误解
- Centos 5下配置https服务器的方法
- PHP令牌 Token改进版
- apache https配置详细步骤讲解
- PHP使用token防止表单重复提交的方法
- php使用curl打开https网站的方法
- win2003 https 网站的图文配置教程
- IIS7/IIS7.5 URL 重写 HTTP 重定向到 HTTPS的方法
- 安卓APP测试之使用Burp Suite实现HTTPS抓包方法
- android教程使用webview访问https的url处理sslerror示例
- 关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
- PHP简单实现HTTP和HTTPS跨域共享session解决办法
- php之curl实现http与https请求的方法
- apache中使用mod_gnutls模块实现多个SSL站点配置(多个HTTPS协议的虚拟主机)
- Apache mod_rewrite实现HTTP和HTTPS重定向跳转
- 浅析Android系统中HTTPS通信的实现
- Java微信公众平台开发(6) 微信开发中的token获取