嫦娥奔月是我们耳熟能详的神话故事。接下来,我们将以嫦娥与后羿神话为背景主题,与大家分享信息安全技术的基础知识。假设:嫦娥要告诉后羿“9月20日要一起去看电影”的事情,让后羿通过网络发消息。如何保证消息的安全传递?首先,我们需要思考的问题有:如何保证消息的信息安全,加密后的内容只有后羿才能解密阅读?如何保证消息的完整性和不可篡改?如果日期或地点发生变化,后羿找不到嫦娥怎么办?如何确保消息是嫦娥发出的,而不是玉兔冒充嫦娥?互联网可以作为信息传输的媒介,但是如果所有的信息都是明文传输的话,如果我们的网络被监控或者劫持。如果我们的聊天记录和通话信息被泄露,我们的生活就会失去隐私;如果我们的账户密码被盗,那么我们的财产安全就得不到保障。所以学习安全基础知识也是很有必要的。对称加密常见的对称加密算法:1.DES:置换+位移,56位密钥,64位数据块,速度快,密钥生成方便。3DES(三重DES):两个64位密钥K1、K2加密:K1加密->K2解密->K1加密解密:K1解密->K2加密->K1解密2.RC-5:RSA数据安全公司的很多我们的产品采用RC-53.IDEA算法:128位密钥,64位数据块,加密优于DES,对计算机功能要求较低,PGP。4、AES算法:AdvancedEncryptionStandard,又称Rijndael加密,是各国政府采用的区块加密标准。缺陷:加密强度不高,但效率很高密钥分发困难特点:加解密密钥相同非对称加密常见的非对称加密算法有:1.RSA:2048位(或1024位)key,计算量大2.破解难度大2.Elgamal:安全依赖于计算机上有限域的离散对数问题3.ECC:椭圆曲线算法缺点:加密速度慢特点:1.公钥可以制作public,但是私钥不能公开。2.公钥加密,私钥解密,私钥加密,公钥解密。image.pngMessageDigest消息摘要:单向哈希函数,固定长度的哈希值。常用的消息摘要算法有MD5、SHA等。市场上广泛使用的MD5和SHA算法的哈希值长度分别为128位和160位。由于SHA通常使用更长的加密长度,因此它比MD5更安全。比如我们在网站上下载一个“镜像文件”,上面也会给出MD5摘要值。我们下载下来之后,可以将文件的MD5值与官方的MD5值进行比较。检查文件是否完整正确,避免出现安全安装错误。数字签名数字签名(也称为公钥数字签名)是只有信息的发送者才能生成的、他人无法伪造的数字串。这个数字串也是信息发送者所发送信息真实性的有效证明。它是一种验证数字信息的方法,类似于写在纸上的普通物理签名,但使用公钥密码学领域的技术实现。一组数字签名通常定义两个互补的操作,一个用于签名,另一个用于验证。数字签名是非对称密钥加密技术和数字抽象技术的应用。下面以嫦娥对后羿说“9.20我们去看电影”为例,谈谈数字签名的过程。整体流程如下图所示:图表解读:1、嫦娥需要通过网络向后羿发送消息“9月20日我们去看电影吧”。消息首先生成加密消息“V7btGj2ZhQsdada/.....T1Ram6AzforA==”,发送密文;2、然后为原文生成消息摘要“2d43abe9ec71c90952101bc0d8241fba”;3.最后,嫦娥用自己的私钥对消息摘要进行加密,生成数字签名。“EDadada3432f#CC1”。然后发送数字签名。4、后羿收到密文后解密,然后得到原文并计算摘要信息,再通过数字签名对摘要信息进行解密。最后对比一下两条摘要信息,如果相同,说明这条消息是嫦娥发出的(防止否认),消息没有被篡改过。5、在本例中,我们成功结合了消息加密、消息摘要、数字签名等技术,实现了消息的安全传递。综合实践设计一个安全的邮件系统需要满足以下要求:邮件以加密方式传输,邮件最大附件内容可达2G,不能拒绝发件人,如果邮件被第三方截获,第三方无法篡改。答:参考之前的案例。本文转载自微信公众号《运维开发故事》
