美文网首页
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与HTTP

    HTTPS大体流程图: 总结: https无非解决的就是http数据明文传输不安全问题,但是在对传输数据加密后,要...

  • Android安全问题

    Android安全问题--漏洞及解决方案(转) 关键字:漏洞解决方案Android安全问题 1. 程序可被任意调试...

  • HTTPS中的密码学

    一 HTTPS 存在意义 HTTP协议有些安全问题,HTTPS为解决这些安全问题造成的,主要有哪些安全问题那: 机...

  • 多线程并发编程9-ReentrantReadWriteLock源

    前面文章说到了ReentrantLock,解决线程间安全问题,使用ReentrantLock就可以,但是Ree...

  • 18_线程安全_同步机制_锁

    多线程访问共享数据 造成安全问题 造成安全问题的原因 ==================锁 解决线程安全的方式 ...

  • 黑马程序员-JDK1.5新特性

    -------android培训java培训期待与您交流!---------- 泛型 用于解决安全问题,是一个安全...

  • iOS技术图谱之多线程安全问题

    多线程安全问题 多个线程访问同一块资源进行读写,如果不加控制随意访问容易产生数据错乱从而引发数据安全问题。为了解决...

  • android应用安全

    android应用面临的安全问题 1,病毒:一些恶意软件 2,关键信息泄露:虽然java代码可以做混淆,但是安卓的...

  • Android 7.0 https 抓包实现

    说到抓包,这就是涉及到调试和安全问题,对于 Android 7.0 (API 24 )以下,你可以直接使用 Cha...

网友评论

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

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