【在厨房想30天的演算法】Day 23 资讯安全与演算法 : 前言

Aloha!又是我少女人妻 Uerica!今天老公特地带我出门去餐厅吃饭,享受我们的两人时光,在老公开车到一半我突然回神大叫 : 疑! 我的狗狗呢!? 喔喔..原来我们根本没带她出门 Q__Q。


资讯安全与演算法

从资料储存到网路上传输再到对方收到资料,这一连串的过程都可能碰到资料被偷窃、窜改、冒用等,所以安全性技术也是很重要的一环节,而为了解决这些问题,可以使用加密、讯息监别码、数位签章等相关的演算法来处理。

CIA三要素

  • 机密性 Confidentiality : 确保资料传递与储存的隐密性,避免未经授权者有意或无意的揭露资料内容。
  • 完整性 Integrity : 确保传输与储存资料的过程中,都确保资料不可被未经授权者窜改
  • 可用性 Availability : 当使用者需透过资讯系统进行操作时,资料与服务须保持可用状况,并能满足使用需求。

加密与杂凑

加密

小时候在玩交换日记,都会买有锁头的日记本,而钥匙只有自己跟要一起写日记的朋友各有一副,所以中间不管是放在家被爸妈看到,或在学校请同学传递,都不怕被偷看或串改内容,因为日记本需要唯一的那把钥匙才能打开。加密的概念也是如此。只是加密是直接将资料转换成电脑无法读懂的数据,而加密过後的资料称为密文 (cipher text) ,而将密文还原则称为解密 (decryption)。

  • 密文 cipher text : 加密过後的资料
  • 解密 decryption : 将密文还原的过程

简单来说,加密是只要拿到解密的钥匙就能将密文逆推回去,而加密又分为对称式与非对称式,对称式加密常见演算法有 : DES 、 3DES 、 AES,而非对称式加密 Asymmetric Encryption 常见的演算法有 : RSA 、 DSA 、 ECC。

  • 对称式加密 Symmetric Encryption : 双方使用的同一个金钥,可以加密又可以解密,又称为单金钥加密。
  • 非对称式加密 Asymmetric Encryption : 一对金钥由公钥和私钥组成(也可以使用很多对金钥) 。

杂凑

前面有提到经由杂凑函数产生的杂凑值是不可逆的,就像我们在网站上创使用者与密码时,存在网站资料库的密码其实都是经由杂凑函数产生的杂凑值,所以当使用者输入密码时,会将密码放入一样的杂凑函数,并产生一串杂凑值,再跟资料库中的杂凑值做比对,若验证正确就可成功登入,这麽做可以维持安全性,当资料库被骇才不会都光光大家的密码,所以若按忘记密码时,回传的是原本的密码(没有杂凑过的值称为明码) ,而并非杂凑值,那就代表该网站的安全性存在很大的疑虑。

杂凑值通常为了防止被攻击破解,会再加入一组乱数 (可能是当下时间为底的乱数),来多一层保护。常见的杂凑演算法有 : MD5 (已证实不安全)SHA-1 (已证实不安全)、 SHA-256

延伸阅读 Day 12 资料结构:杂凑表 Hash Table

参考资料 :

[第十一周] 资讯安全 - 杂凑密码:hash
为什麽密码要经过杂凑?

从零开始学资安 — 什麽是资讯安全?

维基百科 : 资讯安全

EP2 - 什麽是资讯安全?

对称加密与非对称加密优缺点详解


好的~今天就到这边啦,感谢阅读!我要去遛狗狗了~掰掰明天见啦!


<<:  Day 24. Zabbix 通知设定 - Webhook - Telegram

>>:  Day30 Open-Match 使用与参赛心得

【C#】Creational Patterns Singleton Mode

单例是设计模式的其中一种~ 它让程序在同一时间~ 只会有一个实例化的物件~ 设计的思维很简单~ 就是...

Day30 - 逆向 WannaCry 病毒,想哭病毒?

恶名昭彰的 WannaCry 让 Windows 使用者欲哭无泪。今天来逆向 WannaCry,看这...

Day12-Kubernetes 那些事 - Replication Controller

前言 在上一篇文章提到由於 Pod 是 Stateless ,因此我们可以扩充 Pod ,今天这篇文...

Day 34 (MySQL)

1.除错 MySQL02影片00:01 2.MAD利用命令列进入MySQL $ % = 终端机 (1...

做为应徵者,挖出团队隐藏的资讯

职务内容光鲜亮丽,或是面试官讲的非常美丽,对於未来工作的状况,那要怎麽知道这对应徵者来说是雷缺呢?以...