HTTPS的介紹與簡短的密碼學概念與延伸應用筆記

 
一般在網路OSI第七層應用層當中的HTTP,預設採用「明文」傳輸而這對於網頁上資料的交換過程來說是十分缺乏安全性的。因而會在HTTP多加上一層SSL/TLS使其可以將傳輸資料進行加密,傳輸「密文」變作為HTTPS (Secure HTTP),讓有心人士(駭客)即便中途攔截到這些資料也無法直接破譯。

總體來說
除http之外其他還有Telnet、Ftp也是會以明碼傳輸
因此
Telnet (明碼) - > SSH (密文)
Ftp(明碼) - > SFtp(密文)
http(明碼) -> https(密文)



密碼學概念:

明文:未被加密過的原始資料。

密文:明文經由某種加密演算法加密後的產物,密文也可被解密得到原始明文。

加解密演算法:
又細分成「可逆」及「不可逆」的加密演算法。
而針對可逆加密演算法又分為「對稱式加密」、「非對稱式加密」。


密鑰:為一種參數,於明文轉換為密文或於密文轉為明文的算法中輸入的特定參數。
又可細分為「對稱式密鑰」、「非對稱式密鑰」分別被應用於「對稱式加密」、「非對稱式加密」。

對稱式加密:又經常被稱作私鑰加密,意思是指訊息發送方和接收方使用同一把密鑰去進行資料的加解密,特點是演算法都是公開的,加解密的速度也快。適用於針對大量資料的情況做使用。(加密跟解密使用的是同一把)

常見的對稱式加密演算法:DES、ˇDES、TDEA、RC5、IDEA、Blowfish...

加密過程:明文+加密演算法+私鑰->密文
解密過程:密文+解密算法+私鑰->明文


非對稱式加密:又常被稱作公鑰加密,相對於對稱式加密是較為安全的。
因為對稱式加密溝通傳輸過程當中雙方使用同一把密鑰,若其中一方的密鑰遭洩漏那整個傳輸通訊過程就會被破解。
至於非對式加密則是使用一對密鑰而非只有一把,分為公鑰與私鑰,且兩者成對出現。
私鑰是自己留存不可對外洩漏,而公鑰則是公開的密鑰,任何人都能獲取。
用公鑰or私鑰鍾任一個來作加密用另一個進行解密。(加密跟解密使用的是不同把)

若是採用公鑰加密的密文則只能用私鑰解密
加密過程:
明文+加密算法+公鑰 -> 密文
解密過程:
密文+解密算法+私鑰->明文

若是採用私鑰加密過的密文則只能用公鑰解密
加密過程:
明文+加密算法+私鑰 -> 密文
解密過程:
密文+解密算法+公鑰 ->明文


常見的非對稱式加密演算法:RSA、Rabin、DSA、ECC、Elgamal、D-H

缺點:加解密花費時間較長、解譯較慢,只適合資料量少情境。


電子簽名(Electronic Signature)

在電子文件上產出一個簡單的簽名圖檔,有被竄改的可能性。


訊息摘要(message digest)

將傳送的內容經過雜湊方法加密產生message digest,用於
驗證訊息內容有無被竄改(『完整性』)。



(公鑰)數位簽章(Digital Signature)

進階版的電子簽名形式,一種使用了非對稱式公鑰加密技術,用於鑑別數位訊息的方法。
有點類似在一份紙本資料上面蓋了章,證明這份資料確實是某人發出的意思。
主要為了確保傳送訊息內容的『完整性』傳(發)送端的『不可否認性』不會事後賴帳不承認。

運作方式:
發送者將自己要傳送的內容經過雜湊方法加密產生message digest
再用自己的private key將message digest加密最終產生結果就是「數位簽章」

接收者藉由使用和發送端相同的雜湊方法計算出原始的message digest
接收者使用發送者的public key來把Digital Signature解密取出message digest後來進行
比對


數位憑證(Digital Certificate)

一份電子性的文件,被用來證明持有人的身分證明,其中至少包含著持有人的姓名、郵政地址、電子郵件地址、以及公開鑰匙,並且必須經過具權威的單位(憑證授權(Certificate Authority, CA)中心)證明其有效期限,可想像成 “公鑰的保證書”。


Ref:


留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

Architecture(架構) 和 Framework(框架) 有何不同?_軟體設計前的事前規劃的藍圖概念

經得起原始碼資安弱點掃描的程式設計習慣培養(五)_Missing HSTS Header