美文网首页
Android https 可以解决数据安全问题,但是你真的

Android https 可以解决数据安全问题,但是你真的

作者: 码农ing | 来源:发表于2021-05-12 13:28 被阅读0次

    总是感叹时间过得很快,有个词是转眼即逝,确实,不知不觉走出校门已将近五年,到了三十而立的年纪,作为码农自己慌得一逼,一直就想通过写点东西来记录下自己的成长......

    站在巨人的肩膀上,幻想着在未来的十年、二十年 ,实现网数分离,数据像水电一样标准化使用。

    数据传输安全也就至关重要了。

    我们真的了解http 与https 吗??大多数人也仅仅浅于表面;使用 https 可以解决数据安全问题,但是你真的理解 https 吗?


    我们应该知道,http 通信存在以下问题

    1、通信使用明文可能会被窃听

    2、不验证通信方的身份可能遭遇伪装

    3、无法证明报文的完整型,可能已遭篡改

    关于https 我们思索以下几个问题

    (1)什么是 https,为什么需要 https

    (2)https 的连接过程

    (3)https 的加密方式是怎样的,对称加密和非对称加密,为什么要这样设计?内容传输为什么要使用对称机密

    什么是 https

    简单来说, https 是 http + ssl,对 http 通信内容进行加密,是HTTP的安全版,是使用TLS/SSL加密的HTTP协议

    Https的作用

    内容加密 建立一个信息安全通道,来保证数据传输的安全;身份认证 确认网站的真实性;数据完整性 防止内容被第三方冒充或者篡改。

    什么是SSL

    它是一种标准协议,用于加密浏览器和服务器之间的通信。它允许通过Internet安全轻松地传输账号密码、银行卡、手机号等私密信息。

    SSL证书就是遵守SSL协议,由受信任的CA机构颁发的数字证书。

    SSL/TLS的工作原理

    需要理解SSL/TLS的工作原理,我们需要掌握加密算法。加密算法有两种:对称加密和非对称加密:

    对称加密:通信双方使用相同的密钥进行加密。特点是加密速度快,但是缺点是需要保护好密钥,如果密钥泄露的话,那么加密就会被别人破解。常见的对称加密有AES,DES算法。

    非对称加密:它需要生成两个密钥:公钥(Public Key)和私钥(Private Key)。

    公钥顾名思义是公开的,任何人都可以获得,而私钥是私人保管的。相信大多程序员已经对这种算法很熟悉了:我们提交代码到github的时候,就可以使用SSH key:在本地生成私钥和公钥,私钥放在本地.ssh目录中,公钥放在github网站上,这样每次提交代码,不用麻烦的输入用户名和密码了,github会根据网站上存储的公钥来识别我们的身份。

    公钥负责加密,私钥负责解密;或者,私钥负责加密,公钥负责解密。这种加密算法安全性更高,但是计算量相比对称加密大很多,加密和解密都很慢。常见的非对称算法有RSA。

    https 的连接过程

    https 的连接过程大概分为两个阶段,证书验证阶段和数据传输阶段。

    https 的加密方式是怎样的,对称加密和非对称加密,为什么要这样设计

    从上面我们可以知道,https 加密是采用对称加密和非对称机密一起结合的。

    在证书验证阶段,使用非对称加密。 在数据传输阶段,使用对称机密。这样设计有一个好处,能最大程度得兼顾安全效率。

    在证书验证阶段,使用非对称加密,需要公钥和私钥,假如浏览器的公钥泄漏了,我们还是能够确保随机数的安全,因为加密的数据只有用私钥才能解密。这样能最大程度确保随机数的安全。

    在内容传输阶段,使用对称机密,可以大大提高加解密的效率。

    内容传输为什么要使用对称机密

    对称加密效率比较高;一对公私钥只能实现单向的加解密。只有服务端保存了私钥。如果使用非对称机密,相当于客户端必须有自己的私钥,这样设计的话,每个客户端都有自己的私钥,这很明显是不合理的,因为私钥是需要申请的。


    相关文章

      网友评论

          本文标题:Android https 可以解决数据安全问题,但是你真的

          本文链接:https://www.haomeiwen.com/subject/nyxadltx.html