iT邦幫忙

2021 iThome 鐵人賽

DAY 23
0
Software Development

少女人妻在廚房裡想不通的演算法系列 第 23

【在廚房想30天的演算法】Day 23 資訊安全與演算法 : 前言

  • 分享至 

  • xImage
  •  

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 - 什麼是資訊安全?

對稱加密與非對稱加密優缺點詳解


好的~今天就到這邊啦,感謝閱讀!我要去遛狗狗了~掰掰明天見啦!


上一篇
【在廚房想30天的演算法】Day 22 演算法 : 最短路徑 Shortest Path Bellman–Ford 演算法
下一篇
【在廚房想30天的演算法】Day 24 資訊安全與演算法 : 共用金鑰密碼系統
系列文
少女人妻在廚房裡想不通的演算法30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言