什麼是 DKIM 以及它如何提高您的電子郵件安全?
已發表: 2023-08-18您是否曾經收到過來自可信來源的電子郵件,結果卻是惡意網絡釣魚詐騙?
這就像收到一封看起來像是來自您的銀行的信件,但這是一個巧妙的偽造,試圖欺騙您放棄您的個人信息。 這就是域名密鑰識別郵件 (DKIM)的用武之地。
就像信用卡上的全息印章或貨幣上的水印一樣,DKIM 是一種電子郵件身份驗證協議,可驗證發件人的合法性並確保消息未被篡改。
借助基於域的消息身份驗證、報告和一致性 (DMARC) 軟件來保護您的電子郵件通信,有助於阻止可疑電子郵件活動並提高安全性。 DMARC 軟件可幫助根據 DKIM 和發件人策略框架 (SPF) 標準對電子郵件進行身份驗證。
什麼是 DKIM?
DKIM 是一種電子郵件身份驗證方法,旨在增強電子郵件安全性並幫助防止電子郵件欺騙和網絡釣魚攻擊。 它使發件人能夠使用私有加密密鑰對電子郵件進行簽名,從而將唯一的 DKIM 簽名添加到電子郵件的標頭中。 然後,收件人的電子郵件服務器通過域名系統 (DNS) 查找發件人的公鑰來驗證簽名。
此過程有助於確保電子郵件的真實性和完整性,因為簽名證明電子郵件在傳輸過程中沒有被篡改,並且源自與所聲稱的發件人關聯的 IP 地址。
DKIM 是現代電子郵件基礎設施的重要組成部分。 當與 SPF 和DMARC等其他身份驗證方法結合使用時,它有助於確保更安全、更值得信賴的電子郵件體驗。
為什麼 DKIM 很重要?
DKIM 是一種重要的電子郵件身份驗證方法,可為最終用戶提供與電子郵件安全相關的多種優勢。
- 電子郵件真實性: DKIM 使用加密簽名來驗證發件人的域,使收件人的電子郵件系統能夠驗證發件人的身份並信任電子郵件內容。 這有助於防止未經授權的各方偽造電子郵件並代表域發送電子郵件。
- 電子郵件完整性: DKIM 機制通過對電子郵件的選定部分進行簽名,確保電子郵件在傳輸過程中不被篡改。 然後,收件人的電子郵件系統能夠驗證簽名部分的內容自離開發件人系統以來沒有被更改。 這有助於保持電子郵件通信的可靠性。
- 電子郵件送達率:通過驗證電子郵件並證明其完整性,DKIM 幫助電子郵件收件人區分合法電子郵件與垃圾郵件和網絡釣魚電子郵件。 這可以帶來更好的郵箱過濾算法並提高合法發件人的投遞能力。 具有有效 DKIM 簽名的電子郵件更有可能進入收件人的收件箱,而不是被標記為垃圾郵件或被拒絕。
- 減少垃圾郵件和網絡釣魚攻擊:實施 DKIM 作為電子郵件安全策略的一部分可以幫助收件人更有效地識別和阻止惡意電子郵件,從而降低垃圾郵件和網絡釣魚攻擊的成功率。
- 與 SPF 和 DMARC 結合使用: DKIM 可以與其他電子郵件身份驗證標準(例如 SPF 記錄和 DMARC)一起使用,以創建全面的電子郵件安全生態系統。 這進一步增強了發件人的域聲譽和電子郵件送達率。
總之,DKIM 至關重要,因為它有助於確保電子郵件的真實性和完整性,同時提高合法發件人的送達率並降低垃圾郵件和網絡釣魚攻擊的有效性。
DKIM 的工作原理
DKIM 使用加密數字簽名來驗證發件人的域並確保電子郵件的完整性。 加密數字簽名用於驗證數據的真實性。 它的工作原理是使用收件人電子郵件服務器驗證的數字簽名來簽署外發電子郵件。 此外,DKIM 會驗證郵件在傳輸過程中尚未被修改。
以下是 DKIM 工作原理的分步概述:
- 發件人的電子郵件系統(郵件傳輸代理)為每封外發電子郵件生成唯一的 DKIM 簽名。 這是通過以下方式完成的:
- 選擇要簽名的電子郵件標頭和正文。
- 使用加密哈希函數對所選部分進行哈希處理。
- 使用發送者的域特定私鑰對哈希進行加密。
- 生成的 DKIM 簽名將添加到電子郵件標頭,並將電子郵件發送給收件人。
- 當收件人的電子郵件系統收到電子郵件時,它會檢查電子郵件標頭中的 DKIM 簽名。
- 如果存在 DKIM 簽名,收件人的電子郵件系統將使用發件人的公鑰(從發件人的 DNS 記錄中獲取)對其進行解密。
- 然後,收件人的電子郵件系統重新散列所選部分,並將新散列與從 DKIM 簽名中提取的散列進行比較。
- 如果哈希值匹配,則表示電子郵件未被篡改並且源自發件人的域。 該電子郵件被認為是真實的,收件人的系統將繼續發送。
- 如果哈希值不匹配或 DKIM 簽名丟失,則電子郵件可能會被標記為可疑或根據收件人的電子郵件系統安全策略進行處理。
通過利用加密散列和公鑰-私鑰加密的組合,DKIM 提供了一種可靠的方法來驗證發件人的域並維護電子郵件的完整性。
需要注意的是,用戶必須將 DKIM 與其他電子郵件身份驗證方法結合使用,以增強整體電子郵件安全性,並通過提供驗證電子郵件真實性的方法來確保可信的電子郵件通信。
如何為您的域設置 DKIM
要為您的自定義域設置 DKIM,您可以按照以下常規步驟操作:
- 生成公鑰-私鑰對。 首先,使用您選擇的工具(例如 OpenSSL)生成公鑰-私鑰對。
- 配置您的域的 DNS。 為您的域創建新的 TXT DNS 記錄並在其中發佈公鑰。
- 啟用 DKIM 簽名。 在您的電子郵件軟件中,啟用 DKIM 簽名並輸入選擇器(TXT 記錄的前綴)和私鑰文件的位置。
請務必注意,具體步驟和命令可能會有所不同,具體取決於您的電子郵件服務提供商和軟件/平台。 有關更詳細的說明,請參閱提供商提供的文檔或遵循特定教程。
什麼是 DKIM 記錄?
DKIM 記錄是在發件人域的 DNS 中創建的 TXT 記錄。 它充當用於在電子郵件標頭中生成 DKIM 簽名的私鑰的公鑰副本。
DKIM 記錄的主要用途是使收件人的電子郵件系統能夠檢索發件人的公鑰,以解密和驗證收到的電子郵件中的 DKIM 簽名。
DKIM 記錄通常具有以下結構:
- 領域。 鏈接到DKIM 記錄的域,通常採用selector._domainkey.example.com 格式,其中“selector”是域所有者選擇的用於區分多個DKIM 密鑰的標識符,“example.com”是發件人的域。
- 類型。 始終將 DKIM 記錄設置為 TXT。
- 價值。 DKIM 記錄的值包含 DKIM 密鑰信息,包括版本、密鑰類型、算法、公鑰和其他可選元素。
通過在發件人的 DNS 中提供 DKIM 記錄,收件人的電子郵件系統可以執行 DKIM 檢查並驗證收到的電子郵件的真實性和完整性,最終有助於提高電子郵件安全性並減少電子郵件欺騙和網絡釣魚攻擊。
如何設置 DKIM 記錄
設置 DKIM 記錄很大程度上取決於您使用的電子郵件系統和 DNS 提供商。 不過,一般步驟如下:
- 生成 DKIM 密鑰。 第一步是生成一對 DKIM 密鑰(私鑰和公鑰)。 您通常在電子郵件系統上執行此操作,其中通常有用於 DKIM 密鑰生成的工具或選項。 當您生成這些密鑰時,私鑰將安裝在您的電子郵件服務器上,而公鑰則用於在您的 DNS 中創建 DKIM 記錄。
- 創建 DKIM 記錄。 獲取公鑰後,您必須在域的 DNS 中創建 DKIM 記錄。 DKIM 記錄是 TXT 記錄。 創建記錄時,您必須指定選擇器(密鑰的標識符)和公鑰。
DKIM 記錄的格式通常如下所示:
Selector._domainkey.yourdomain.com ,其中選擇器是您選擇的標識符, _domainkey是記錄的常量部分,yourdomain.com 是您的域。
TXT 記錄的值包括 DKIM 版本、密鑰類型和實際公鑰,格式如下:
v=DKIM1; k=rsa; p=你的公鑰
您在顯示your_public_key 的位置插入實際的公鑰部分。 - 發布 DKIM 記錄。 使用正確的值完成記錄設置後,您需要發布它。 這通常涉及保存記錄或單擊 DNS 系統中的“發布”按鈕。
- 驗證您的 DKIM 記錄。 為了確保 DKIM 記錄正常工作,DKIM 驗證是關鍵。 許多電子郵件系統提供驗證工具,您可以在其中檢查 DKIM 記錄的狀態。
請記住,具體步驟和工具可能會有所不同,具體取決於您的電子郵件系統(如 Office 365、Google Workspace、Microsoft 等)和 DNS 提供商。 如果您遇到任何問題,最好參閱系統的具體文檔或聯繫他們的支持人員。
什麼是 DKIM 記錄檢查?
DKIM 記錄檢查是驗證域是否設置了正確的 DKIM 記錄的過程。 DKIM 記錄的目的是存儲用於驗證私鑰簽名的消息的公鑰。 大多數提供 DKIM 記錄檢查的在線工具都會驗證域名、公鑰的語法以及在相應域上設置的 DNS 條目。
MxToolbox提供的DKIM記錄檢查工具示例 針對域名和有效已發布 DKIM 密鑰記錄的選擇器執行 DKIM 測試。 它通過允許簽名域聲明對傳輸中的消息的責任來測試電子郵件的域級數字簽名身份驗證框架。
總體而言,運行 DKIM 記錄檢查可以幫助識別電子郵件身份驗證設置中的潛在問題,並幫助確保您的郵件安全地傳遞給收件人。 安全電子郵件網關軟件 還可用於過濾垃圾郵件並防止惡意垃圾郵件發送者攻擊最終用戶。
什麼是 DKIM 選擇器?
DKIM 選擇器是一個字符串,發送郵件服務器使用它來查找私鑰以對電子郵件進行簽名,接收郵件服務器使用它來查找 DNS 中的公鑰以驗證電子郵件的完整性。
選擇器是域 DKIM 記錄的一部分,由 DKIM-Signature 標頭字段中的“s=”標記指定。 選擇器有助於支持單個域的多個 DKIM 密鑰記錄,並且是有助於 DKIM 公鑰識別過程的任意字符串。
什麼是 DKIM 身份驗證?
DKIM 使用一對加密密鑰(一個公鑰和一個私鑰)來簽署外發電子郵件。 公鑰在組織的 DNS 記錄中作為 TXT 記錄發布,私鑰由發送者保密。
使用 DKIM 發送電子郵件時,它會在郵件標頭中包含數字簽名。 接收電子郵件服務器可以使用發件人的公共 DKIM 密鑰來驗證簽名。 如果簽名不匹配,則意味著消息在傳輸過程中被修改或不是由合法發件人發送的。
用更專業的術語來說,DKIM 使用哈希函數生成電子郵件正文和標頭特定部分的加密摘要,然後使用發件人的私鑰對其進行簽名。 然後將摘要和發件人的域名添加到消息標頭中作為數字簽名。
接收服務器可以從 DNS 記錄中檢索發件人域的公鑰,並使用它來驗證數字簽名。 如果簽名與摘要匹配,則電子郵件消息經過身份驗證並且值得信賴。
通過驗證傳入電子郵件的 DKIM 簽名,組織可以確保其域發送的電子郵件成功送達,並防止電子郵件網絡釣魚和欺騙攻擊。
什麼是 DKIM 簽名?
DKIM 簽名是發件人的電子郵件系統在 DKIM 電子郵件身份驗證過程中創建的唯一的加密字符串。 簽名的主要功能是驗證發件人的域並確保電子郵件在發件人和收件人之間傳輸過程中的完整性。
使用 DKIM 發送電子郵件時,發件人的電子郵件服務器會在郵件中附加數字簽名。 該簽名是使用加密算法和發件人域唯一的私鑰生成的。 與該私鑰對應的公鑰被存儲為 DNS 記錄。
當收件人的電子郵件服務器收到電子郵件時,它會通過從發件人的 DNS 記錄中檢索相應的公鑰來檢查 DKIM 簽名。 然後,服務器使用該公鑰來解密簽名並驗證其真實性。 如果簽名匹配,則意味著電子郵件自發送以來未被更改或篡改。 DKIM 簽名還提供有關發送電子郵件的域的信息。
總之,DKIM 簽名是驗證電子郵件的真實性和完整性的數字簽名。 它有助於防止電子郵件篡改並確保電子郵件確實是由所聲明的域發送的。
如何驗證電子郵件簽名
要驗證 DKIM 簽名,接收電子郵件服務器需要遵循以下常規步驟:- 檢索 DKIM 公鑰:電子郵件服務器使用傳入電子郵件中 DKIM 簽名標頭中指定的選擇器從 DNS 記錄中檢索發件人的 DKIM 公鑰。
- 檢索郵件標頭和正文:電子郵件服務器從傳入電子郵件中提取郵件標頭和正文。
- 重新計算摘要:電子郵件服務器使用 DKIM-Signature 標頭中指定的哈希算法計算郵件正文的哈希值。
- 驗證簽名:電子郵件服務器通過使用檢索到的公鑰解密簽名並將結果與重新計算的摘要進行比較來驗證簽名。 如果匹配,則該電子郵件被認為是真實且值得信賴的; 否則,它可能表明它在傳輸過程中被修改或由未經授權的發件人發送。
請務必注意,用於驗證 DKIM 簽名的特定命令和庫可能會有所不同,具體取決於您使用的編程語言和平台。 您可以找到用於驗證 DKIM 簽名的庫和工具,例如適用於 Python 的 DKIMpy 和適用於 .NET 的 DKIMVerifier。
此外,建議檢查其他電子郵件身份驗證機制,例如 SPF 和 DMARC,以提供更全面的電子郵件安全方法。
DKIM 與 SPF 與 DMARC
DKIM 和 SPF 是兩種類型的電子郵件身份驗證協議。
DKIM在電子郵件中添加數字簽名,以驗證郵件不僅是從聲稱的域發送的,而且郵件本身在傳輸過程中沒有被更改。
另一方面, SPF的工作原理是根據給定域的授權發送服務器列表來驗證發送郵件服務器。 如果服務器未經授權,接收服務器有幾個選項來處理可疑電子郵件。
另一方面, DMARC用於利用 DKIM(以及 SPF)執行的驗證過程,並允許電子郵件發件人指導電子郵件收件人如何處理身份驗證失敗的消息。 具體來說,DMARC 策略定義電子郵件接收者應如何根據既定的身份驗證標準(例如 DKIM 和 SPF)評估傳入郵件,以及如果電子郵件未通過這些檢查則應採取哪些操作。
因此,雖然 DKIM 主要用於發件人身份驗證,但 DMARC 允許域所有者指定收件人應如何處理身份驗證失敗的電子郵件,從而提供額外的安全層。 通過部署 DKIM 和 DMARC,域所有者可以顯著降低其域被用於網絡釣魚和欺騙攻擊的風險,並提高電子郵件的送達率。
前 5 名 DMARC 軟件
DMARC 是一種技術規範和電子郵件身份驗證協議,旨在使電子郵件域所有者能夠保護其域免受未經授權的使用,例如電子郵件網絡釣魚和欺騙攻擊。
要啟用DMARC,域所有者在其DNS 記錄中發布DMARC 策略,指示應使用哪些身份驗證方法(例如SPF 和/或DKIM)來驗證傳入電子郵件,以及電子郵件接收者應如何處理未通過驗證的郵件。驗證檢查。
有多種可用的 DMARC 軟件解決方案(付費和免費),可幫助組織實施 DMARC 策略並提供有關各個電子郵件提供商的電子郵件真實性的詳細報告。
5 大 DMARC 軟件解決方案
- DMARC 報告
- 瓦利郵件
- 易DMARC
- DMARC上
- 自動SPF
*這些是 G2 2023 年夏季網格報告中排名前 5 的 DMARC 軟件解決方案。
DKIM:常見問題
問:我可以有多個 DKIM 記錄嗎?
答:是的。 用戶可以在 DNS 中擁有多個 DKIM 記錄。 每個 DKIM 密鑰都與添加到簽名中的不同 DKIM 選擇器相關聯。 這使得接收者能夠了解哪些密鑰用於驗證。
問:什麼是 Gappssmtp?
答: Gmail 簡單郵件傳輸協議 (SMTP) 或 Gappssmtp 是 Google 提供的電子郵件發送協議。 它是通過互聯網共享電子郵件的標準協議。 Gappssmtp 幫助配置電子郵件應用程序或服務器設置,以確保電子郵件可以通過 Gmail 服務器發送,同時保留“發件人”地址作為發件人的域。
Gappssmtp 確保安全性和可靠性,無需單獨的服務器。 使用以下內容設置服務器:
SMTP 服務器:smtp.gmail.com SMTP 端口:587 加密:TLS(傳輸層安全)
撰寫電子郵件時,您可以將“發件人”地址設置為您自己的域(例如,[email protected])。 當收件人收到電子郵件時,儘管它是通過 Gmail 服務器發送的,但看起來就像是直接從您的域發送的一樣。
問:運行 DKIM 是否需要證書?
答:不需要。運行 DKIM 不需要證書。 它為用戶提供了一種快速創建、設置或銷毀密鑰的方法。
問:如何測試 DKIM 是否配置正確?
答:添加 DKIM 後,必須使用在線 DKIM 分析器對其進行驗證。 在線提供各種免費的 DKIM 分析器。 檢查驗證的另一種方法是將測試電子郵件發送到 Gmail 或 Yahoo,以驗證電子郵件是否帶有 DKIM 簽名。
為此,請單擊發件人姓名下方的三角形圖標來展開電子郵件標題。 如果域名顯示為“發送者”和“簽名者”,則電子郵件配置正確。
問:DKIM 是否確保電子郵件具有端到端加密?
答:DKIM 更多地充當調解者,以確保電子郵件在傳輸到收件人服務器的過程中沒有被篡改。 它不確保端到端加密。
問:DKIM 標頭是什麼樣的?
答:典型的 DKIM 標頭如下所示:
DKIM 簽名:v=1; a=rsa-sha256;
c=輕鬆/簡單;
d=example.com; s=選擇器1;
h=發件人:收件人:主題:日期:消息 ID;
bh=加密的_body_hash;
b=dkim_signature_value;
讓我們分解一下 DKIM 標頭的各個部分:
- DKIM 簽名:標識 DKIM 標頭的開頭。
- v:正在使用的 DKIM 簽名的版本。
- a:用於簽署電子郵件的算法(例如,rsa-sha256)。
- c:用於準備簽名消息的規範化算法。
- d:與 DKIM 記錄關聯的域名。
- s: DKIM 選擇器,指定用於簽名的密鑰。
- h:簽名中包含的標頭。
- bh:電子郵件正文的加密哈希值。
- b:實際的 DKIM 簽名值。
請注意,實際的 DKIM 標頭可能會有所不同,具體取決於所使用的特定電子郵件服務或軟件。
告別電子郵件欺騙
DKIM 是這個難題中的一小部分。 它通過加密簽名驗證發件人的域和電子郵件的完整性,幫助打擊電子郵件偽造、欺騙和篡改。 通過採用 DKIM 和其他此類電子郵件安全措施,您將邁向安全、值得信賴且富有成效的電子郵件通信和身份驗證環境。
對電子郵件送達實踐的輕微改變可以為您的電子郵件策略帶來非凡的結果。 了解更多!