技术杂谈---网络传输中如何确保重要数据的安全
昨天听了一位大佬洋洋洒洒关于在客户端和服务端之间的数据交互确保安全性上讲了一个小时多,所得颇丰,于是决定提笔而起来写写在现在有关重要数据(如钱财交易,账户密码,隐私文件)上如何做到及时让别人拿到了你的网络请求也无法获得你的数据.
首先,我们先了解一些概念性的东西
数据信息安全的标准:
保密性(Confidenciality):确保信息在存储、使用、传输过程中不会泄漏给非授权用户或实体。
完整性(Integrity):确保信息在存储、使用、传输过程中不会被非授权用户篡改,同时还要防止授权用户对系统及信息进行不恰当的篡改,保持信息内、外部表示的一致性。
可用性(Availability):确保授权用户或实体对信息及资源的正常使用不会被异常拒绝,允许其可靠而及时地访问信息及资源。
对称加密和非对称加密:
对称加密:加解密用同一密钥,密钥维护复杂 n(n-1)/2,不适合互联网传输密钥,加解密效率高。应用于加密数据。(私钥加密)
非对称加密:公钥推不出私钥,每个用户一个非对称密钥对就可以,适合于互联网传输公钥,但是加密效率低,应用于数字签名及加密。 (公钥加密)
单向加密:
单向加密(数据完整性算法):提取数据指纹,具有不可逆的特性。
常用的单向加密算法有:MD5,SHA1,SHA384,SHA512
算法的特点:
定长输出:加密后的指纹是固定长度的。
雪崩效应:原文件微小的变化都会引起指纹信息的巨大变化。
什么是Token
-
Token的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。
-
当用户第一次登录后,服务器生成一个token并将此token返回给客户端,以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。
-
简单Token的组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,token的前几位以哈希算法压缩成的一定长度的十六进制字符串。为防止token泄露)。
了解完这些概念性的东西,我们来看一下现在互联网公司中关于数据的加密方式:
首先将要传输的token(也就是数据)通过md5转换成一段不可逆的字符串(单向加密算法),然后再在这段md5中加入技术人员在开发时统一约定一段字符串(确保md5的安全性),然后再加上我们将通过(RSA,DSA)某种对称加密算法将token转换成密文.
中间段在网络传输的过程中,别人拿到我们的数据是无法获取我们的数据真实内容的.
数据抵挡服务端后,先拿到token通过(RSA,DSA)某种对称加密算法转换成明文,然后将那段md5再转换成刚才的token,检测数据有没有被篡改.
如果我们的传输请求在中间被别人拿到后,多次模拟请求来攻击我们服务器:
我们能进行的保护的操作时,在服务器端设置一个约定信息(特殊标识,订单号),当我们客户端发出一个请求将这个约定信息添加在这次请求上,当服务器接受到这个请求时,完成该请求进行的操作后,就将这个特殊的约定信息消去,如果再收到给请求的信息,服务器就会置之不理.
阅读更多- 【精品】图形工作站如何确保图纸等重要数据的安全——HC12远程图形工作站解决方案!~
- Java多线程环境下如何高效安全处理数据(输入输出流、文件、网络等)(二)
- 高效率的c++之如何分析网络数据包之struct关键技术
- Java多线程环境下如何高效安全处理数据(输入输出流、文件、网络等)(一)
- 将SSH与PHP相连接 确保传输数据的安全(1)
- HTTPS加密传输数据,加强P2P平台网络安全和信任
- 机密数据保险箱,RMS确保重要文件安全无忧
- 是否需要对网络传输数据进行压缩?如何选择压缩算法?
- 【网络】详解https是如何确保安全的?
- 最近,WannaCry勒索病毒肆虐全球,不少重要机构和企业的电脑纷纷中招,互联网上再次掀起关于网络安全的讨论。如今互联网技术发展飞速,随之而来的网络安全问题也越来越严重,其中网站遭遇流量攻击是比较突出
- 网络数据如何传输?
- 实战:使用数字证书确保Web网站数据传输安全
- 如何选择合适的加密技术保障数据安全
- 网络数据如何可靠传输
- 如何确保自己的Mac数据安全呢?这里有四个“小秘诀”
- 确保网络安全是国家目前的重要战略
- TCP/IP协议单片机在网络通信中的数据传输技术
- 全球网络攻击1/3在中国,安全专家教你如何保护大数据隐私!