DKIM stands for DomainKeys Identified Mail, a technical method that helps guard email senders and receivers from spoofing, spam, and phishing scams. It is a method of email authentication that enables an organisation to claim its messages in a way that can be verified at the recipient's end.
DKIM allows the recipient to verify that an email claimed to be from a specific domain was really authorised by the domain owner. It achieves this task by allowing a digital signature linked to the domain's name to every outgoing email. The receiver system can verify the sender's public key registered in the Domain Name System. A valid signature also means that the email parts, including attachments, have not been tampered with since the signature was attached.
Its working method is based on affixing a digital signature to the email headers. That signature is validated using a public cryptographic key in the organisation's DNS records. In simple terms, the process happens as follows:
Domain owners publish a cryptographic public key in their domain's overall DNS records as a specially-formatted TXT record.
When an outbound mail server sends a mail message, the server creates and affixes a unique DKIM signature header to the email. This Header consists of two cryptographic hashes, one of the specified headers and one of the email body. Information about how the signature was generated is contained in this Header.
DNS searches for the sender's public DKIM key after receiving an incoming email. A freshly computed version of the signature is compared against this key on the inbound server. If the two keys match, the message is proven to be authentic and unmodified in transit.
DKIM was first proposed in 2004 by Eric Allman, the creator of the Sendmail email server software, and Cindy Morgan, a member of the Yahoo! Mail team. The aim was to develop a new way of email authentication that would be more effective than existing methods, such as Sender Policy Framework (SPF) and DomainKeys.
DKIM was standardised by the Internet Engineering Task Force (IETF) in 2011, and it is now widely used by email providers, senders, and recipients to help protect against spam, phishing, and other types of email-based attacks
One advantage of DKIM is that it helps to prevent spam and phishing attacks by allowing recipients to verify the authenticity of emails. It also allows senders to take responsibility for their emails, which can improve the reputation of their domain and make it less likely that their emails will be flagged as spam.
Another advantage of DKIM is that it can be used to protect against email spoofing. This can be used for malicious purposes, such as to trick people into giving away sensitive information or to spread malware. DKIM helps to prevent this by allowing recipients to check the authenticity of the sender's domain.
There are also some potential disadvantages to using DKIM. One potential issue is that it can be difficult to set up and manage, especially for larger organisations with many different domains and email servers. Additionally, if the sender's private key is compromised, it can be used to forge emails that appear to be from the sender's domain, undermining the security provided by DKIM. Finally, some email clients and servers may not support DKIM, which can make it difficult to use in some situations.