為什麼電子郵件允許冒充發件人?
有的電子郵件的伺服器不驗證電子郵件發件人的真實性。因而可以冒充別人發送電子郵件。這顯然是非常不安全的。
為什麼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安全會逐漸沒落嗎?