Week38 - 各种安全性演算法的应用 - 概念篇 [高智能方程式系列]

本文章同时发布于:

MediumiT 邦帮忙

大家好,这几天较有时间,终于可以好好的思考文章 XD。由于最近周遭的朋友对安全性演算法这个词时常感到高深莫测,这次就来介绍安全性演算法的应用吧!

安全性演算法是相当複杂的,但事实上他的应用概念是很直觉的,我们不妨直接以应用来了解,演算法採用网路大家常用的 library 即可。

所以这几篇文章会以实际应用来讲解,不琢磨演算法细节。

P.S. 我是从演算法图鉴这本书来了解安全性演算法的,因为安全性演算法的目标都一样,所以文章内容虽然都是我内化的,但可能会许多雷同,请多多包涵 XD。

安全性演算法的目标

这些演算法到底要保护什么事情,就是保护传送这个动作会产生的 4 个问题:

窃听(eavesdrop)电子欺骗(spoofing)窜改(falsification)抵赖(repudiation)

而这些问题可以透过以下 3 个方法来解决:

加密(encryption)讯息识别码(message authentication code)数位签章(digital signature)

是怎么解决的呢?以下会以小明线上早餐店阿姨与在他们对话间做坏事的坏蛋来讲解。

窃听(eavesdrop)是什么?

答:

偷取传输过程中的资料

假设小明要线上付款早餐店款项,理想如下图:

❗ 但如果有坏蛋从中拦截封包,就可以取得小明的付款密码:

怎么防範?

将传送的资料加密,这样就算坏蛋偷走了也不知道资料内容

只要小明早餐店阿姨有协议好一个双方才知道的加解密方法,而坏蛋不知道,就可以如以下模式运作:

电子欺骗(spoofing)是什么?

答:

无法确认传输对象的身份

假设小明要购买一杯大冰奶,理想如下图:

❗ 但如果有坏蛋也声称自己是小明,就可以谎报资料:

怎么防範?

传输人员在资料上产生一笔独一无二的代码供另一端验证

此代码可以是讯息识别码数位签章,因为这两种技术都可以让资料产生独一无二的代码,小明会透过金钥与资料一起产生此代码,早餐店阿姨只需再接收到资料时再用金钥与资料一起产生代码,比对代码是否相同即可判断是不是小明传的:

窜改(falsification)是什么?

答:

修改传输的资料

假设小明要购买一杯大冰奶,理想如下图:

❗ 但如果坏蛋窜改了小明的订单,小明就会收到不预期的回应:

怎么防範?

与电子欺骗的解决方法相同,传输人员在资料上产生一笔独一无二的代码供另一端验证

此代码可以是讯息识别码数位签章,因为这两种技术都可以让资料产生独一无二的代码,小明会透过金钥与资料一起产生此代码,早餐店阿姨只需再接收到资料时再用金钥与资料一起产生代码,比对代码是否相同即可判断是不是小明传的:

抵赖(repudiation)是什么?

答:

无法证明传输方有做过这件事

❗ 假设小明心怀不轨,买了一杯大冰奶却不想付钱,他可以这样做:

怎么防範?

要求传输人员在资料上产生一笔独一无二的代码供另一端验证

此代码为数位签章,不可为讯息识别码,虽然两者都可产生独一无二的代码,但讯息识别码双方共同约定好的金钥来产生代码,而数位签章小明个人金钥产生代码,只有数位签章才可证明是小明一位产生的,用讯息是别码会有可能是双方任一端产生的。

小明得透过个人金钥与资料一起产生此代码,如果小明赖帐,早餐店阿姨只需拿此代码去跟小明讨帐即可:

各个安全性演算法的特性

有了以上慨念后,在针对任何传输安全性的问题,你可以透过此表来思考到底要用何种技术解决:

窃听电子欺骗窜改抵赖加密v讯息识别码vv数位签章vvv

你可能会需要注意的

到底从何处拦截?答: 比如说路由器,从个人电脑 > 路由器 > Server,不当程式就可以在路由器中拦截你会发现,这些安全性演算法都在保护资料的完整性与正确性,资料被拦截并且恶意丢弃并不是这些演算法保护的目标

参考

演算法图鉴

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章