数字签名

什么是openssl

不羁岁月 提交于 2019-11-26 13:58:37
openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔。要想了解openssl,有几个前置的概念需要先熟悉一下: SSL SSL的全名叫做secure socket layer(安全套接字层),最开始是由一家叫网景的互联网公司开发出来,主要是防止信息在互联网上传输的时候不被窃听或者篡改,后来网景公司提交SSL给ISOC组织做标准化,改名为TLS。 有些同学可能会好奇,说好好的数据怎么就被窃听以及修改呢?这个其实是很容易的,如果你上网连得的是wifi,那么你的数据一定会经过wifi路由器,通过对路由器做些手脚就可以拿到这些数据。 非对称加密 在数学上有这样一个现象:给两个质数,很容易算出他们的乘积,但是给你一个很大的数,你很难分解出两个质数,让他们的乘积正好等于这个很大的数。 非对称加密就是基于以上的现象产生的,用一个密钥对数据进行加密,然后可以使用另外一个不同的密钥对数据进行解密,这两个密钥就是:公钥和私钥。 公钥和私钥是可以相互推导的,根据私钥,你可以很容易的算出公钥,但是根据公钥,你却很难很难算出私钥,在互联网上,私钥一般由服务器掌握,公钥则由客户端使用。根据公钥,理论上需要花费地球上所有的计算机计算数万年才能算出私钥,所以认为是非常安全的。 数字签名 将报文使用一定的HASH算法算出一个固定位数的摘要信息,然后用私钥将摘要加密,连同原来的报文一起

让数据传输更安全

☆樱花仙子☆ 提交于 2019-11-26 02:37:59
在阅读RabbitMQ数据传输安全的章节时,提到了ssl协议,用了很大篇幅介绍使用openssl生成一些列秘钥和证书,如果没有相关基础,会不太好理解,本篇就来总结下数据安全相关的概念以及浏览器HTTPS的应用。 通过介绍,你会了解到: 数据安全的基本概念 加密算法 数字证书和证书机构 ssl和openssl基本介绍 https应用 数据安全的基本概念 数据要在网络中传输,就会存在安全问题,因为任何人都可以获得你发送的数据包,从而获得你的数据,需要对数据进行加密,对于数据发送者,也可能被伪造,需要对双方身份做验证,另外,数据的完整性也需要考虑。 总结下安全的定义: 保密性:只有自己和允许的人能看到或看懂数据; 完整性:数据没有被破坏或篡改; 可信任性:确保消息是对方发的,不是伪造者发的; 加密算法 加密是保证数据安全的常用手段,已经有很多现成的加密算法了,这些算法都是经过验证和考验的,想要破解非常困难,所以,一般不需要设计算法,可以直接使用,这里只会介绍常见算法的基本概念和特性,不涉及算法实现细节。 散列 散列就是hash算法,把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值,常见的hash算法有MD5和SHA。 MD5即Message-Digest Algorithm 5,称为信息-摘要算法5,主要用于确保信息传输的完整性,输入是不定长度信息

深入浅出HTTPS工作原理

霸气de小男生 提交于 2019-11-26 00:08:41
前言 在HTTP协议中有可能存在信息窃听或身份伪装等安全问题。使用HTTPS通信机制可以有效地防止这些问题。本文我们就了解一下HTTPS。 一、什么是 HTTPS HTTPS,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。 经常会在Web的登录页面和购物结算界面等使用HTTPS通信。使用HTTPS通信时,不再用 http:// ,而是改用 https:// 。另外,当浏览器访问HTTPS通信有效的Web网站时,浏览器的地址栏内会出现一个带锁的标记。对HTTPS的显示方式会因浏览器的不同而有所改变。 二、HTTP 与 HTTPS 的区别 HTTP 是明文传输,HTTPS 通过 SSL\TLS 进行了加密 HTTP 的端口号是 80,HTTPS 是 443 HTTPS 需要到 CA 申请证书,一般免费证书很少,需要交费 HTTPS 的连接很简单,是无状态的;HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。 为什么说HTTPS比较安全了,接下我们介绍下HTTP存在哪些问题? 三、HTTP通信有什么问题? 1.通信使用明文(不加密),内容可能被窃听