為什麼電子郵件允許冒充發件人?

有的電子郵件的伺服器不驗證電子郵件發件人的真實性。因而可以冒充別人發送電子郵件。這顯然是非常不安全的。

為什麼SMTP不驗證發件人?


電子郵件發明的時候,那個發件人主要是用來告訴收件人回郵件回哪去。

本質上SMTP協議只負責投遞,連收件人是否成功收到都不管。所以才叫簡單郵件傳輸協議。

校驗發件人身份其實是個很麻煩的事情,更何況即使校驗了還要防止郵件傳輸過程中被篡改才行。如此一來,還不如讓發件人把郵件加密附上數字簽名來的簡單。


Email authentication

這主要看伺服器之間的意見


電子郵件完全是模擬現實的郵件。

現實中,你寫信,信封上寫的落款,郵局會管嗎?


因為SMTP是簡單(S)郵件(M)傳輸(T)協議(P)

最開始是沒必要,然而後來就用的人多就悲劇了.這就好像比爾的64K內存,32位定址.由此也驗證了當規模大到一定程度,複雜性就成倍上升.

其實目前大家常用的郵件服務類似163等,都會驗證的,當然這個還是存在有冒充的.

重災區主要是私設垃圾郵件伺服器,這個國外註冊域名,MX紀錄等,然後發送釣魚,廣告的,你看到的發件人可以隨便寫啊.

郵件信息頭:


首先,電子郵件的傳輸過程中要用到兩套收發地址,一套信封上,用於電子郵件的投遞,這部分不可作假,伺服器會根據域名的MX記錄進行投遞。一套在信頭上,這部分你想些什麼寫什麼。大部分垃圾/釣魚郵件會在發件人(From: )上作假,讓收件人誤以為郵件是從某機構/個人除發出了。

https://zh.wikipedia.org/wiki/MX%E8%AE%B0%E5%BD%95

Envelope Address Vs. Message Header Address | Protected Trust

在說SMTP, 最早期,其本身沒有驗證機制。不過現在大多數伺服器都會驗證發件人真偽。服務期間也會驗證伺服器的真偽。具體實辦法有很多,例如SPF記錄。

https://zh.wikipedia.org/wiki/%E5%8F%91%E4%BB%B6%E4%BA%BA%E7%AD%96%E7%95%A5%E6%A1%86%E6%9E%B6

郵件是可以提供加密和防篡改功能的。https://zh.wikipedia.org/wiki/%E8%89%AF%E5%A5%BD%E9%9A%B1%E7%A7%81%E5%AF%86%E7%A2%BC%E6%B3%95參見PGP。


開始圈子小,以為大家都是講道德的。人多了才發現還是得上手段,靠法律才行啊。


其實就是單鑰系統和雙鑰系統的區別啊!

可以選擇OUTLOOK EXPRESS之類的郵件軟體,選用數字簽名功能,絕對保證發送人的唯一;

另外用PGP之類的雙鑰系統加密軟體啊!


其實這關乎一個哲學問題。原本的互聯網是去中心化的,所以基本沒法去驗證。

後來才有了PKI,有了root DNS,有了Google Facebook。走著走著,歪了


推薦閱讀:

安全團隊發現漏洞而獲得廠商公開致謝是什麼意思?
怎樣讓一個只有2個月上網經歷的人懂得怎樣安全上網?
白帽子是合法的嗎?
網路詐騙受害者如何有效報案?
web安全會逐漸沒落嗎?

TAG:互聯網 | 網路安全 | 電子郵件 |