首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

让数据传输更安全

在阅读RabbitMQ数据传输安全的章节时,提到了ssl协议,用了很大篇幅介绍了使用openssl生成一些列秘钥和证书,如果没有相关基础,会不太好理解,本篇就来总结下数据安全相关的概念以及浏览器HTTPS的应用。

通过介绍,你会了解到:

数据安全的基本概念

加密算法

数字证书和证书机构

ssl和openssl基本介绍

https应用

数据安全的基本概念

数据要在网络中传输,就会存在安全问题,因为任何人都可以获得你发送的数据包,从而获得你的数据,需要对数据进行加密,对于数据发送者,也可能被伪造,需要对双方身份做验证,另外,数据的完整性也需要考虑。

总结下安全的定义:

保密性:只有自己和允许的人能看到或看懂数据;

完整性:数据没有被破坏或篡改;

可信任性:确保消息是对方发的,不是伪造者发的;

加密算法

加密是保证数据安全的常用手段,已经有很多现成的加密算法了,这些算法都是经过验证和考验的,想要破解非常困难,所以,一般不需要设计算法,可以直接使用,这里只会介绍常见算法的基本概念和特性,不涉及算法实现细节。

散列

散列就是hash算法,把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值,常见的hash算法有MD5和SHA。

MD5即Message-Digest Algorithm 5,称为信息-摘要算法5,主要用于确保信息传输的完整性,输入是不定长度信息,输出固定长度128比特的串。

SHA即Secure Hash Algorithm,称为安全哈希算法,和MD5一样,也是从MD4发展而来,与MD5的最大区别在于其摘要比MD5长32比特。

还有很重要的一点是,任意两个文档得到相同字符串的概率几乎等于0。

对称加密

加密就是把原始数据通过某种变换变成看不懂的东西,对于对称加密,这个操作是可逆的,另外,加密算法不能单独工作,必须有密钥配合,加密和解密的密钥是同一个,目前流行的对称加密算法有DES,AES。

DES即Data Encryption Standard,称为数据加密标准,是美国政府采纳IBM公司设计的方案作为非机密数据的正式数据加密标准,DES算法的入口参数有三个:Key、Data、Mode:

Key为8个字节,是DES算法的工作密钥;

Data也为8个字节,是要被加密或被解密的数据;

Mode为DES的工作方式:加密或解密;

如Mode为加密,用Key把Data进行加密,生成Data的密码形式(64位)作为DES的输出结果,如Mode为解密,用Key把密码形式的Data解密,还原为Data的明码形式(64位)作为DES的输出结果。

AES即Advanced Encryption Standard,称为高级加密标准,是下一代的加密算法标准,速度快,安全级别高,它可以使用128、192和256位密钥。

对称加密算法的优点是速度快,缺点是密钥管理不方便,要求共享密钥。

非对称加密

相对于对称加密,非对称加密和解密不是同一个密钥,一个称为公钥,另一个称为私钥。公钥就是公开的,大家都知道,而私钥只有你自己知道。

用公钥加密的内容只能由相应的私钥来解密,反过来,用私钥加密的内容只能由相应的公钥来解密,常用的非对称加密算法有RSA、ECC。

RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作,应用比较广泛。

非对称加密算法的优点是密钥管理很方便,缺点是速度慢。

数字签名

数字签名主要保证可信任性,不可伪造,所用的技术是前面介绍的散列和非对称加密。

首先为要签名的数据生成一个Hash字串hash1,然后用你的私钥加密得到encrypted(hash1),这就是数据的数字签名。当别人需要验证数据是否是你发送的时候,只需要用你的公钥解密你的签名得到hash1,并和数据计算出来的hash2对比,查看是否一致。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180421G16JIA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券