TCP/IP哪些層加密了哪些沒有加密?
應用層、運輸層、網路層、數據鏈路層、物理層。
不錯一般情況下,我們上網哪些層會被加密?
理論上每層都可以加密,但如果只是介紹每層的加密技術,會枯燥乏味,咱們就從最貼近生活中的無線上網談起。
數據鏈路層加密
數據鏈路英文為Data Link ,重點在link,所謂link就是一條鏈路,比如電腦用網線連交換機、或家庭路由器,這根網線就是一個鏈路。但網線總是不方便,總不能讓手機也插一根網線上網吧?於是就有了無線技術,這樣手機可以自由移動來上網,手機與無線路由器之間依靠無線電波來通信,雖然是看不見摸不著,但是它也是一個虛擬數據鏈路,無線電波工作在特定的頻段,無線頻段範圍內,任何不懷好意的人都可以監聽並解碼通信的內容,這顯然不安全,所以需要加密。手機或電腦把要發送的數據加密,到達無線路由器解密,得到原始數據。到此加密/解密過程就結束了(數據鏈路層安全完成其使命,接下來就和它沒有半毛錢關係了),數據如果要發送到Internet,就是其本來的面目了。
如果用戶採用HTTP,則用戶數據本來面目就是不加密;
如果採用HTTPS,則用戶數據本來面目就是加密的,這裡就會有兩層加密:數據鏈路層加密 + 傳輸層加密,數據鏈路層的加密/解密只保證其勢力範圍(這條鏈路內)是安全的,再遠它也管不著了。
而傳輸層加密可以一直保留到目的地才解密,所以提供端對端的安全機制。傳輸層加密
凡是用過網銀的用戶一定見過類似的網址 https://bank.xxxx.com ,這個就是傳輸層加密,報文格式:
IP + TCP + SSL + HTTP
SSL負責加密/解密工作,由於SSL工作在傳輸層與應用層之間,一般稱之為傳輸層加密。
通常來說,加密代理伺服器,還有Cisco Anyconnect 都屬於傳輸層加密,都是基於SSL/TLS加密。
網路層加密
有些在家辦公的同學,一定用過這個安全軟體,撥號到公司,然後公司分配一個公司內部IP,然後所有訪問公司內部的流量全部走安全隧道,其格式為:
公網IP + ESP + 公司IP + Data
其中ESP(Encryption Security Payload)負責加密/解密,其身後的內容需要加密。
但是由於NAT的存在,ESP不容易穿越NAT,所以一般會用這種封裝格式:
公網IP + UDP + ESP + 公司IP + Data
雖然ESP跑在UDP傳輸層之上,但是還是網路層加密,因為其服務對象是公司IP流量。
像 IP sec/ L2TP/ PPTP 都屬於網路層加密。
應用層加密
一般用於對數據安全要求極高的單位或組織,數據發送方在發送之前將數據加密,接收方將數據解密。
物理層加密
為了防止敵方竊聽無線電波,將原始的無線電波與一個偽隨機噪音波PN做為共同輸入量,然後輸出一個波形,敵方沒有正確的PN,無法解密無線電內容。
綜述:評判一項加密技術屬於哪層,只要看其加密的數據內容是第幾層,那它就屬於第幾層。
小胖已經解答了大部分問題。
在哪層加密主要看要防止的攻擊是什麼和來自哪裡。鏈路層加密只有在廣播域內有效,物理層加密只能在層2一跳有效。ip加密是一直到主機,傳輸層加密一直到進程。應用層則一直到應用。
ip層用ipsec,傳輸層用tls。但是ipsec沒有認證和密鑰協商,必需藉助ike來做。而ike的配置和使用都不簡單,另外一般ike認證用證書而主機卻往往沒有證書,所以ip層加密用的不多。ip層的另一個問題是可能在同一主機內跨應用的攻擊,在ip層不同應用有相互看到的可能性。
傳輸層用tls。tls協議自帶認證,且支持客戶端和伺服器端不對稱的認證方式。(IP層沒有伺服器和主機的區別,二者是對等的)。不對稱方式提供了伺服器用證書客戶端用其他憑據的可能性。另一種傳輸層的協議ssh也類似。
認證和密鑰協商是安全通信的基礎,加密的技術含量相對低多啦。
還有一種模式是ip層的主機到網關,這個也是一段,屬於vpn訪問互聯網時,sp網路通常是不為所傳輸的數據加密的。所以出現信息安全受侵犯的時候運營商是不會背鍋的……
加密都是用在端到端訪問當中,具體加密技術車老師說得很透徹了,在實際應用中通常都是結合數據加密、用戶認證、許可權分級一起運作保證安全性的。
加密和層關係不大,應該是協議,都是為了保護通信數據而做的
物理層 原本明文的無線報文 用 wpa wep這些給報文加密防竊取
原本不加密的telnet 改進為ssh協議
原來的gre不加密 後來就有了ipsec協議
原來的pptp不加密 於是有了sslvpn shadowsock
郵件smtp pop不加密 後來有了加密的imap pop3
應用層 原來的各類可逆加密演算法 開始加鹽加密,
http不加密篡改太多 就有了https
各種socket加密
確實很有趣的問題 有空再整理黃豆怎麼吃?
1.帶豆莢煮著吃
2.豆子直接煮著吃
3.做豆芽吃
4.磨成豆漿吃
5.做成豆腐豆乾豆皮……
……
首先先看一下各個層傳遞的內容都有什麼:
- 物理層
- 高低電平:純物理信號
- 數據鏈路層
- 數據幀:幀頭+IP數據包+幀尾 (幀頭包括源和目標主機MAC地址及類型,幀尾是校驗字)
- 網路層
- IP數據包:IP頭部+TCP數據信息(IP頭包括源和目標主機IP地址、類型、生存期等)
- 傳輸層
- TCP數據信息:TCP頭部+實際數據 (TCP頭包括源和目標主機埠號、順序號、確認號、校驗字等)
- UDP數據信息:UDP報頭+實際數據(UDP報頭包括目標埠號、數據報長度、校驗值)
先說物理層,如果你在這一層加密了全部數據,那麼勢必會造成數據鏈路層不認識你傳輸了一套什麼東西導致無法抽出IP數據包,於是丟棄,轉而去處理其他有明確數據開頭和結尾的。除非你特製一個數據鏈路層,有專門的電路去解析你的加密後的數據,但你作為數據提供商是無法改變用戶的硬體的。
同理,數據鏈路層對IP數據包加密後,網路層的各個路由將不認識你傳輸的是什麼。如果能按照第幾位數據代表什麼內容的方式將內容提取出來,IP地址將會是「5er.1ex.i{9.cdd「的格式,肯定是亂碼。
於是在傳輸層對實際數據加密就是最主流的加密方式了。這個加密可以完全繼承現行通用硬體。這時候,伺服器和用戶的埠號已經一一對應起來了,傳遞什麼信息全憑應用層說了算了。其中應用層的HTTP和HTTP的子集HTTPs的區別就在於傳輸層的實際數據的不同。http站點傳輸的東西都是非加密的。比如你截斷了你自己電腦網路遊戲通過傳輸層向遊戲代理商發送的TCP數據包,之後,修改裡面的東西,比如money:50改成money:5000傳輸出去,OK你就能坐專車、住單間,免費衣服新手鏈。但如果是HTTPs呢,裡面的東西全是亂碼了,具體說就是用SSL的加密法則處理http句法的頁面)--&>亂碼,而且伺服器設定數據幾秒就失效了,而破解需要幾年,你即便想去享受監獄的美食,也只能另尋他策了。其他每個應用層的協議都有可能自制一些加密演算法,這些都是理論隨便弄,現實都沒錢沒精力搞這麼底層的東西,況且現有的標準已經足夠滿足大部分人需要了。有業界標準就遵循業界標準,沒有業界標準自己急著用就自己搞出一個業界標準來。
說了傳輸層的加密了,再說一下應用層的加密。這個加密的自主性完全擺脫了各種協議的限制了,但肯定通過某種協議做信息的傳輸方式的。這是一個自由的樂園,我在這寫下odhcsweedxeeliuyslxlqolusielsknopl這串字元串,看我就加密了,解密演算法就是e = 2.718281828459中的數字(2個字元od)h(7個字元csweedx)e(8個字元eliuyslx)l(2個字元qo)l(8個字元usielskn)o(其餘捨棄pl)。這不就很快加密成功了。通常文件和網站密碼的加密方式太多太多了。說到加密,不得不說要死了的黑莓手機。這是一家靠加密而發揚光大的公司。他們的加密方式就是這樣的,你寫好了郵件,直接通過軟體和手機自身硬體加密後,通過網際網路傳輸到黑莓伺服器上,接收方不斷訪問黑莓伺服器,發現有自己的郵件之後將這堆亂碼下載下來,再利用自身硬體軟體解碼,於是只有通信雙方知道傳輸的內容。
熟悉了所有常見信息加密方式之後,那些翻牆的應該會感到什麼了吧。嘎握門特通過長城將大部分吃瓜群眾圍在了牆內。至於你們沾沾自喜的翻牆技術,你想想,要考試了,老師們給你說考點都在這本書里,或者給你花了幾十個重點,哪個考起來更簡單?一般情況下,都沒有加密
一般情況下,最簡單的,
我可以獲取到你電腦上qq發送的ip數據報文,但是我不知道你說的什麼。
最好理解,其的就不贅述了,因為底層的不是用戶關心的了
推薦閱讀:
※UNP第三版中大篇幅的介紹了SCTP,請問SCTP應用的發展趨勢怎麼樣?有沒有多投入學習的必要?
※RIP協議中,解決路由自環的毒性逆轉思想是什麼?
※進行 Linux 網路編程的人需不需要看 TCP/IP 詳解這種書?
※IP地址為什麼是定長的?是什麼因素限制的?
※wifi非常不穩定且延遲高可能的原因是什麼?