一网打尽!每个程序猿都该了解的黑客技术大汇(6)

在互联网通信中,有加密就有解密,解密自然就需要密钥,那如何把这个密钥告诉对方呢?密钥交换算法就是要解决这个问题:如何安全的将密钥传输给对方?

回头看看上面提到的非对称加密,它就可以解决这个问题:

服务器负责生成一对公私钥,公钥告诉客户端,私钥自己保存

客户端拿到公钥后,使用它来对后续通信将要使用的对称加密算法密钥进行加密传输

服务端收到后使用私钥解密,拿到这个密钥

以后双方可以通过对称加密进行传输通信

上面这个例子并不只是举例,在早期版本的HTTPS中,就是通过这种方式来进行密钥交换。而后来的版本中,另外一种叫DH及其变种的密钥交换算法用的越来越多。

DH全称Diffie-Hellman,是两位数学家的名称构成,这种算法的核心是完全依靠数学运算实现密钥的交换。

信息摘要算法

信息摘要算法其实不算是一种加密算法,加密的前提是可以通过解密还原,而信息摘要算法的目的并不是对数据进行保护,也无法解密还原。

在一些语境下,信息摘要我们听得少,听的更多的名词是哈希

信息摘要算法的目的之一是校验数据的正确性,算法公开,数据通过该算法得出一个摘要值,收到数据后通过该算法计算出这个摘要,前后对比就知道是否有被篡改。

常用的信息摘要算法有:

MD5

SHA1

SHA256

数据编码技术

严格来说,数据编码技术也不算是加密算法,因为其目的同样不是为了加密,而只是为了将数据编码以便传输。

最常见的编码算法就是base64了,多用于编码二进制的数据,将不可见的字符编码后转换成64个常见字符组成的文本,便于打印、展示、传输、存储。如邮件eml格式中,将附件文件通过base64编码。

除了base64,还有常用于比特币钱包地址编码的base58。base家族还有base85、base92、base128等众多算法。它们的区别不仅仅在于参与编码的字符集不同,算法执行也是各有千秋。

多因子认证技术

说到认证,最常出现的莫过于登录、支付等场景。传统的认证技术就是密码技术,但随着网络攻击的日益猖獗以及互联网渗透到人们生活的方方面面,传统密码技术的安全性不足以满足互联网的发展。

多因子认证技术意为在传统密码认证之外,引入其他认证技术进行补充,使用2种及以上的方式共同完成认证。随着人工智能技术的发展,基于生物特征的认证技术突飞猛进:

指纹认证

虹膜认证

人脸识别

......

这个世界从来不缺先行者,多因子认证看上去很复杂,好在已经有不少头部企业搭建了认证平台,对于绝大多数企业,需要做的只是下载SDK,调用API而已。

目前国内外主流的多因子认证平台有三大派系:

FIDO,国际标准,在国内,翼支付、百度钱包、京东钱包、微众银行等都已经应用

一网打尽!每个程序猿都该了解的黑客技术大汇

IFAA,阿里系,凭借阿里在电商领域的优势,也吸引了众多追随者。

TUSI,腾讯系

总结

本文罗列了一些常见的信息安全技术,主要分网络安全、系统安全和密码学三个领域展开。

信息安全技术不仅仅是安全工程师的事情,作为一位程序员,了解这些技术将帮助我们更好的Build The World!

知识在于分享,转发这篇文章,让更多的人看到。

往期热门回顾

看过无数Java GC文章,这5个问题你也未必知道!

Python一键转Jar包,Java调用Python新姿势!

一个Java对象的回忆录:垃圾回收

内核地址空间大冒险3:权限管理

谁动了你的HTTPS流量?

路由器里的广告秘密

内核地址空间大冒险2:中断与异常

DDoS攻击:无限战争

一条SQL注入引出的惊天大案

内核地址空间大冒险:系统调用

一个HTTP数据包的奇幻之旅

一个DNS数据包的惊险之旅

我是一个流氓软件线程

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyzfzd.html