在当今的互联网时代,信息安全问题常常发生,如何保证信息的安全成为开发者不得不面对的问题。html
信息安全的CIA原则,大体阐述了实践信息安全的几个基本原则:算法
保密性(Confidentiality):确保信息在存储、使用、传输过程当中不会泄漏给非受权用户或实体。安全
完整性(Integrity):确保信息在存储、使用、传输过程当中不会被非受权用户篡改,同时还要防止受权用户对系统及信息进行不恰当的篡改,保持信息内、外部表示的一致性。服务器
可用性(Availability):确保受权用户或实体对信息及资源的正常使用不会被异常拒绝,容许其可靠而及时地访问信息及资源。网络
在Web时代,信息安全一般须要考虑以下几个方面:ide
中间人攻击
等)越权攻击
,SQL注入
,DDos攻击
等)当访问一个具备权限的接口的时候,服务器须要验证访问者的身份,而如何鉴定访问者的身份呢? 一般的状况下,咱们会使用密码,指纹,证书,验证码,TOKEN 等手段来验证一个用户的真实身份。在这个背后,隐藏着一个问题:为何密码,指纹,TOKEN,能够验证访问者的身份?为了回答这个问题,咱们能够发现一个共性,**就是这些信息(密码,指纹,TOKEN)只有访问者知道,他人不知道,因此回答正确,就能验证访问者的身份。这样子就能够验证访问者的身份了。**固然若是被第三人知道了,那么就GG 思密达了。加密
关于TOKEN,就不得不说移动端的崛起,在2008年以前,基本上提供的服务都是基于Web的,经过SESSION + COOKIE来完成,然而到了后来,移动端开始崛起。开发者遇到这COOKIE很差用,跨服务器访问资源等等问题。为了解决这个问题,出现了OAuth2.0的标准,经过这个标准,基本上能够解决移动端身份验证的问题。这里简述一下一般移动端TOKEN使用的场景:设计
而TOKEN具体是什么?一般状况下,它对移动端来讲就是一段随机数字。固然,对于服务器,能够经过对称加密的算法在TOKEN上作一些特别的设计,如加入用户名之类的。code
HTTPS 能够算是现今信息安全的基石之一了,采用SSL进行传输数据。以下是HTTPS 的基本过程图解:htm
大体的阶段为:
而且验证域名是否一致
)HTTPS协议能防御大部分的网络攻击,在构建Web站点的时候,建议对关键资源进行HTTPS协议传输。