ericltw / notes

0 stars 1 forks source link

TLS / DTLS #56

Open ericltw opened 5 years ago

ericltw commented 5 years ago

https://tiptopsecurity.com/how-does-https-work-rsa-encryption-explained/

ericltw commented 5 years ago

IP / TCP / UDP

IP protocol

每個連接到internet的設備都分配一個ip,確保連接internet的設備能夠互相發送data。

IP protocol通過將data分成小塊的data來工作,這些小塊的data稱為封包(packets),每個封包包含header,header內包含像是source address和destination address。

當封包離開設備,會經過一個個gateway轉發,直到到達指定得destination address。因為data被拆分為packets,因此不能保證所有的封包經過同相同的路由,甚至不依照順序到達。

TCP(Transmission Control Protocol)

IP僅保證了封包從source address傳送到destination address,但IP不處理封包掉包或是封包錯誤,甚至這些封包如何在到達destination還原順序。

而TCP基於IP,目的就是保障封包的的可靠性,所謂可靠性指的是所有由發送端發送的所有封包,將全部正確的到接收端,且能確保以正確的順序重新組合˙。

UDP(User Datagram Prorocol)

與TCP不同,UDP不保證封包可靠性,接收端不需要告知發送端已經收到封包,所有丟失的封包也不會重傳,特性為對比TCP他的速度更快。

UDP沒有sequence number,因此接收端無法確認發正確的封包順序,但有checksum的機制,以進行最基礎的正確性過濾。

Reference
ericltw commented 5 years ago

對稱 / 非對稱加密

對稱加密

使用相同的key執行加密和解密。

非對稱加密

使用一個key來加密數據,另一個key來解密數據,在非對稱系統中,用於加密的key我們稱為public key,可以與任何人分享,用於解密的key為private key,應保密。

ericltw commented 5 years ago

SSL / TLS

介紹

TLS(SSL為TLS的前身)的目的是在兩個應用程序之間提供隱私(privacy)數據完整性(data integrity)。TLS由兩個layer組成,分別是TLS Record Protocol和TLS Handshake Protocol,TLS基於reliable transport protocol(e.g. TCP)。

TLS Record Protocol用於封裝各種更高級別的協議,提供具有兩個基本屬性的連接安全性:

TLS Record Protocol封裝的其中一個協議就是TLS Handshake Protocol,允許server和client驗證身份,在應用協議發送或接收第一個byte前協商加密算法和加密密鑰。TLS Handshake Protocol提供具有三個基本屬性的連接安全性:

TLS與application protocol無關,High-level protocol可以基於TLS。TLS並沒有指定如何通過TLS添加安全性,有關如何啟動TLS握手和如何解釋交換的authentication certificates的決定,由運行於TLS之上的設計和實現者決定。

TLS Record Protocol // TODO
TLS Handshake protocol // TODO
Reference