HTTPS,你不知道的事儿

what is https?

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

看到上面定义,我们大致也明白了HTTPS其实就是一个经过加密后的HTTP,具有更高的安全性。因此我们就需要了解一下经过加密的HTTPS是如何工作的?

加密算法

笔者目前所了解到的算法归为三类:

  • 对称加密

  • 对称密码编码技术

  • 编码和解码采用相同描述字符(加密、解密采用相同密钥)

  • 对称加密使用简单

  • 密钥较短

  • 加密、解密过程较快、耗时短

  • 常见算法有:DES、3DES、IDEA、AES、RC4等等

  • 非对称加密

  • 加密需要两个密钥:公钥(publickey)、私钥(privatekey)

  • 公钥加密,私钥才能解密

  • 保密性好

  • 加密、解密过程较慢、耗时多

  • 适合对少量数据加密

  • 常见算法有:RSA、ECC、DSA等等

  • Hash算法加密

  • 单向加密

  • 通过Hash算法对数据加密生成唯一Hash值,此值无法计算出原来的数据

  • 频繁应用于数据完整性检验

  • 常用算法有:SHA、MD2、MD4、MD5等等

how to work

在弄清HTTPS如何工作前,我需要了解两个概念:

密钥

  • 加密或解密都需要一个密钥,正如开门或锁门都需要一把钥匙

  • Java中密钥由KeyGenerator或KeyPairGenerator生成的

  • 对称密钥(KeyGenerator生成的)

  • 使用同一个密钥加密或加密

  • 非对称密钥(KeyPairGenerator生成的)

  • 公钥(pulickey)广泛用做传播,主要用做加密,私钥(privatekey)用做解密(公钥加密后的数据只有私钥才能解密)

证书

  • 证书是一个许可证,用来证明这个证书的可信赖的
  • 证书中可能内置密钥
  • android系统内置了很多证书,证书之间存在一定信任关系,信任是嵌套的,为了确保密钥的更高安全性

了解上面两个概念后,接下来我们来了解下HTTPS如何安全通信?前面在定义HTTPS时讲到HTTPS是一种加密的HTTP,为了更高的安全性,没错,密钥和证书正是特定设计来实现HTTPS安全通信的。

说到安全通信,我们可能先想到对称加密算法,思路如下:

  • 将数据加密
  • 将加密后的数据和密钥同时传给服务器
  • 服务器利用传来的密钥解密数据

以上这种方案存在很大漏洞,假如加密后的数据和密钥被黑客给截获,黑客拿着密钥直接把加密后的数据给解密了,这样数据就泄漏出去了。

1132780-f58fe3a5c5a7c281.jpg

既然对称算法不行,那就来试试非对称算法,思路如下:

  • 服务器将公钥发给客户端
  • 客户端将数据采用公钥加密然后发送给服务器
  • 服务器收到客户端加密数据,用私钥解密数据

以上这个方案貌似不错,看过前面加密算法说明的童鞋应该清楚非对称算法有缺陷,就是加密、解密过程较慢、耗时多,影响用户体验。

1132780-4e0c4064e76528b6.jpg

那有木有更好的方案呢?必须有啦~~HTTPS最终采用的安全通信方案,大家看清楚啦~

1132780-2d7d1306d1b86b65.jpg

思路如下:

  • 服务器生成一对非对称加密密钥:公钥(publickey)、私钥(privatekey)
  • 服务器将公钥(publickey)发送给客户端
  • 客户端生成对称加密密钥(clientkey),利用clientkey给数据加密
  • 客户端使用服务器传来的公钥(publickey)给clientkey进行加密、此时clientkey是安全的,因为只有服务器才有私钥(private)能解密它
  • 客户端发送用clientkey加密过的数据和用公钥(publickey)加密过的clientkey给服务器
  • 服务器使用私钥(privatekey)解密用公钥(publickey)加密过的clientkey,得到真的clientkey
  • 使用clientkey解密数据,这样数据就安全地从客户端传给服务器了。

总结

由于对称加密算法比非对称加密算法效率高、性能好,https决定采用对称加密算法来加密解密数据,使用非对称加密算法加密解密对称算法密钥,以确保通信安全。

1132780-253900d649118aa0.jpg

关于作者

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容