可信计算中一个非常重要的概念是可信执行环境TEE(Trusted Execution Environment),简单来说就是在现有的计算机内部的世界里,再构建一个秘密基地,专门用于运行极度机密的程序。该秘密基地甚至连操作系统都轻易无法访问,更别说操作系统之上的应用程序了。
在移动端,ARM芯片占据了主流市场,ARM芯片提供了名为TrustZone技术的技术,在硬件层面新增一个可信计算环境,包含一个可信OS,和一些可信,和普通环境在硬件层面隔离,处理器内部进行通信完成两个世界的交互。
重点关注:终端系统工程师
密码学由于数据传输的过程中会遇到信息泄漏、篡改、伪造的风险,加密技术应运而生。
对称加密 & 非对称加密有加密就有解密,根据加密过程使用的密钥和解密过程使用的密钥是否相同,将加密算法分为了两个大类:对称加密和非对称加密。
最早出现的加密技术是对称加密
对称加密:加密密钥和解密密钥一致,特点是加密速度快、加密效率高。常用的对称加密算法有:DESAESRC4这种加密方式中有一个非常关键的问题是,解密方需要拿到密钥才能进行解密,而密钥钥匙通过网络传输又会面临不安全的风险,这成了一个鸡生蛋,蛋生鸡的问题。
于是通信技术上一个划时代的技术被发明了出来,这就是非对称加密!
非对称加密:加密密钥与解密密钥不一致,特点是算法较复杂,但安全性高。非对称加密的密钥一般分为公钥和私钥,公钥公开,私钥需保密。常用于数字认证,如HTT中握手阶段的服务器认证。常用的非对称加密算法有:RSADHECC(椭圆曲线加密)可以毫不夸张的说,没有了非对称加密,互联网绝不会发展到今天这样的高度。
秘钥交换技术在互联网通信中,有加密就有解密,解密自然就需要密钥,那如何把这个密钥告诉对方呢?密钥交换算法就是要解决这个问题:如何安全的将密钥传输给对方?
回头看看上面提到的非对称加密,它就可以解决这个问题:
服务器负责生成一对公私钥,公钥告诉客户端,私钥自己保存客户端拿到公钥后,使用它来对后续通信将要使用的对称加密算法密钥进行加密传输服务端收到后使用私钥解密,拿到这个密钥以后双方可以通过对称加密进行传输通信上面这个例子并不只是举例,在早期版本的HTTPS中,就是通过这种方式来进行密钥交换。而后来的版本中,另外一种叫DH及其变种的密钥交换算法用的越来越多。
DH全称Diffie-Hellman,是两位的名称构成,这种算法的核心是完全依靠运算实现密钥的交换。
信息摘要算法信息摘要算法其实不算是一种加密算法,加密的前提是可以通过解密还原,而信息摘要算法的目的并不是对数据进行保护,也无法解密还原。
在一些语境下,信息摘要我们听得少,听的更多的名词是
信息摘要算法的目的之一是校验数据的正确性,算法公开,数据通过该算法得出一个摘要值,收到数据后通过该算法计算出这个摘要,前后对比就知道是否有被篡改。
常用的信息摘要算法有:
MD5SHA1SHA256数据编码技术严格来说,数据编码技术也不算是加密算法,因为其目的同样不是为了加密,而只是为了将数据编码以便传输。
最常见的编码算法就是了,多用于编码二进制的数据,将不可见的编码后转换成64个常见字符组成的文本,便于打印、展示、传输、存储。如邮件eml格式中,将附件文件通过base64编码。