什麼是電子郵件的資安防護?
April 17, 2020
電子郵件這項技術是從網路發達以來就被許多企業、機構或是個人所喜愛。雖然這幾年隨著通訊軟體的普及,電子郵件在個人使用的潮流中漸漸淡出,但是電子郵件的使用在公家機關和企業行號仍然是不可取代的存在。反而隨著網路的可用性變高、人手一機的現代生活環境下,電子郵件的使用更是方便資訊的交流,和隨時隨地的工作環境。如果您的企業有在用電子郵件的話,那一定不能不知道電子郵件的優點跟缺點。電子郵件是在網路剛成型時就有的科技,雖然保有了方便性和簡單的共通協定,但是也為安全性埋下了隱憂。
電子郵件因為可以由不只一個系統寄出,而且可以以代理人的身份寄出。所以只要花一些功夫做好設定,駭客也可以設一個系統假裝自己是銀行或是商店來竊取個人的訊息。舉一個例子,
假設你有註冊並會定期收到 Apple 一些新的產品的信件,而駭客想把你騙到自己的假 Apple 網站上來買東西的話,他可以偽裝信件讓你看起來像這一封信件真的是從 support@apple.com 所寄出的,並在信件裡面附上假網站的連結,並把該網站的介面也弄的和真的 Apple 網站很像。這樣的情況,一般的使用者在很少會去檢查點擊進 Apple 的網站的情況下,很容易掉入這個所謂「釣魚」的手法之中。正是因為電子郵件的開放性,任何人都可以設立一個系統並假借 support@apple.com 來寄出信件給任何人。
慶幸的是,有許多由電子郵件技術衍生來加強電子郵件來源的「可信性」(integrity),在目前的網路世界中是 Apple 公司可以採取的措施,如果使用了 SPF 或是 DKIM 以上的 DMARC 技術,目前大多的郵件服務如 Google 和 Hotmail 等都會由收件方的角度來主動檢查每一封信的來源的可信性,如果檢查出現問題,該封信件則會被移至垃圾筒裡。可是 SPF 和 DKIM 都是由「寄件方」主動需要做的設定,而「收件方」只是被動的檢查收到的信件是否有做、並有符合設定條件,所以,為了保護您的客戶或是收件方,身為「寄件方」的您或是您的公司,做這個設定就變得非常關鍵。
首先,來談談 SPF 和 DKIM 的本質。SPF 和 DKIM 本身並不是什麼加密的技術,而做了這兩項設定也不能保證你寄出去的信件資料不會被攔截或是外洩。他們更像是簽名或是蓋章一樣,好讓使用者在收到時,可以比對收到的電子郵件是否是真實的寄件者。而收件者在收到信件時則比對印章或是簽名是否和「真實」的印章和簽名一樣。在現實的世界之中,印章或是簽名可以和之前記錄中的舊章和舊簽名相比,但是在電腦的世界中,我們又該怎麼讓完全沒有交流過的兩方來確認互相都是「真實」的身份呢?
SPF
SPF 是靠檢查信件來源的 IP 位置來確認收到的信件所寄出的 IP 位置是否正確來判斷該信件是否為可信。在網路的世界中,每兩個位置相互交流都一定會留下 IP 位置,而 IP 位置不能造假,所以可信度比較高。而你每收到一封信件,裡面都會有來源 IP 位置的資訊。延用以上的例子,假設 Apple 在寄一封信件給你之後,那封信件會留下來源的 IP 位置,如下:
此為 17.151.1.55,那我們要怎麼確認這個就是 Apple 寄出的呢?
接下來,我們來談談網域,「apple.com」的 DNS。「apple.com」是 Apple 公司所保有的網域,而每個網域的 DNS 也都是公開的。只有 Apple 公司有權限可以對「 apple.com」的 DNS 進行編輯,如:
A Record
指定 apple.com 的網址的 IP 位置。這會決定使用者在瀏覽器中輸入「apple.com」的當下,瀏覽器要去哪一個「伺服器」去取得網站的資訊跟檔案等等。
這裡有三個 IP 位置,你的電腦去跟任何一個 IP 位置取得「apple.com」網域的資料都是可以的。
MX Record
指定 apple.com 的收件時應該寄到的位置,可以看到有多個位置:
只要寄到任何一個「nwk-aaemail-lappxx.apple.com」底下的 IP 位置都是可以的,而「nwk-aaemail-lapp01.apple.com」則是 17.151.62.66。
TXT Record
這是 TXT 的記錄,一般用於公開這個網域「apple.com」的資訊。SPF 正是 TXT 記錄的一項使用方法。
而剛剛由「email.apple.com」寄出的信件的 IP 位置的 TXT 中的 SPF 是公開在網路上的,所以收件者在收到 Email 時,Google 等服務,會主動查尋。17.151.1.55 在 17.151.1.0/24 這一組 CIDR 中,所以「email.apple.com」許可可以由 17.151.1.15 的 IP 位置的伺服器所寄出。
這個結果也剛好被登錄在信件內容裡面:
由以上我們對 SPF 的解釋,可以暸解到 SPF 是用來確認信件的來源的可信性所使用的方法。由以上的範例,能夠更改「可信」的 IP 位置只有 Apple 公司,並且收到的信件裡面的 IP 位置無法偽造。所以可以由寄出的 IP 位置來判斷寄件的伺服器的位置是否真實。
DKIM
DKIM 的功能跟 SPF 的確認來源的可信性稍微不太一樣,而是確保收到的信件的完整性(integrity),信件是否有被竄改。因為寄件方的伺服器跟收件者的伺服器之間路途之遙,可能會經過網路提供商如「hinet」或是一些其他提供網路的公司,如果當中有人攔截並竄改了信件敏感的內容的話,又要如何確認呢?假設今天你要跟 Apple 買東西,可是不能用信用卡,而 Apple 用 Email 寄給你他們的銀行帳號,如果駭客想從中得到好處的話,會竄改 Email 關於帳號的部份,如果你匯錢一不小心,就匯到了駭客的帳號了。因為信件是被竄改的,但是來源的 IP 位置並沒有問題,而是可信的。
要說明 DKIM ,則需要說明密碼學中的演算法。一般的演算法使用的是質數的原則來達到單向性算法(one-way hash)的功能。如 md5、sha1 或是 DKIM 用的 sha256等都是。因為這種單向性算法取得的雜質(hash)本質上是一些很大的質數,所以要算出構成質數的原輸入(input)是非常花時間,但是一開始取得雜質的算法確能很快,這個特性正好可以讓他用來做為確認一封信件內容的完整性。而且雜質有不論輸入是多長出來都是固定長度的特性,所以並不需要花費大量的資源就可以完成這靠這個雜質取得確認的任務(如加到 Email 中,sha256所產生的雜質正好都只需要再加 256 bits,對一封 4-5KB 的信件可能只是 5%)。
雖然這個長度特性方便我們做傳輸,但也容易產生對撞(collision)。如果長度越短,如 md5 產生的 32bit,對撞的機率是 sha256
的倍數,大約是3.4x1038。所以 sha256 會是比 md5 更安全的算法
先不論 sha256 演算法的壞處,不論寄件方送出的是什麼信件或是信件有多長,該信件都可以產生一組 256 bit 長度的簽名,而每一封信件的簽名基本上也都不一樣(一樣的機率只有
。)所以只要在 Email 的當中把取得的雜質加入就可以確認信件的完整性了。因為信件的內容一旦改掉一個字,整封信產生的雜質也會改變,所以駭客從中一旦竄改了,信件的內容和雜質的簽名也就不相符了。
但是,小偷有可能修改整封信件,如果 DKIM 的簽名也被竄改了,那信件的內容就算被竄改了,還是不會發現的。這時候要利用的就是從 DNS 中取得另外一筆 TXT,稱之為 DKIM 來當做公開金鑰並解密信件裡的 DKIM 的一部份文字來確保該信件是由只有寄件方擁有的秘密金鑰加密的。
如果您在找的是信件的加密,很遺憾的,SPF 和 DKIM 並不能做到您想做到的信件加密。因為電子郵件是互相傳送和接收的,所以如果一方主動將信件加密的話,另外一方可能會因為不相容而沒辦法看到信件。這時候我們建議可以把附件的部份做加密,這樣收件方在收到信件時不會因為不相容的問題看不到信件,也可以確保附件一定要有密碼才可以打開。如果員工覺得每次寄信都要手動加密太麻煩了,HENNGE Email DLP 可以自動把由 Office 365 和 G Suite 寄出信件的附件做加密。如果您是想像這一篇文章裡防止有心人事偽造你公司的信件的話,HENNGE Email DLP 也同步支援 SPF 和 DKIM 的設定的。
喜歡這篇文章嗎?歡迎分享出去!