ਈਮੇਲ ਪ੍ਰਮਾਣਿਕਤਾ ਵਿੱਚ DKIM ਰਿਕਾਰਡ ਦੀ ਭੂਮਿਕਾ
ਡੋਮੇਨਕੀਜ਼ ਆਈਡੈਂਟੀਫਾਈਡ ਮੇਲ (DKIM) ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਈਮੇਲ ਪ੍ਰਮਾਣਿਕਤਾ ਵਿਧੀ ਹੈ ਜੋ ਭੇਜਣ ਵਾਲੇ ਦੇ ਡੋਮੇਨ ਨੂੰ ਇੱਕ ਡਿਜੀਟਲ ਦਸਤਖਤ (digital signature) ਰਾਹੀਂ ਈਮੇਲ ਨਾਲ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ। ਇਹ ਪ੍ਰਕਿਰਿਆ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਟ੍ਰਾਂਜਿਟ ਦੌਰਾਨ ਈਮੇਲ ਵਿੱਚ ਕੋਈ ਬਦਲਾਅ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ। DKIM ਪ੍ਰਣਾਲੀ ਪਬਲਿਕ-ਕੀ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ (public-key cryptography) 'ਤੇ ਕੰਮ ਕਰਦੀ ਹੈ। ਡੋਮੇਨ ਪ੍ਰਸ਼ਾਸਕ ਆਪਣੇ DNS (Domain Name System) ਵਿੱਚ ਇੱਕ TXT ਰਿਕਾਰਡ ਵਜੋਂ ਇੱਕ ਪਬਲਿਕ ਕੁੰਜੀ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਦੇ ਹਨ। ਜਦੋਂ ਕੋਈ ਈਮੇਲ ਸਰਵਰ ਸੁਨੇਹਾ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ, ਤਾਂ ਉਹ ਇਸ ਪਬਲਿਕ ਕੁੰਜੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਈਮੇਲ ਦੇ ਸਿਰਲੇਖ (header) ਵਿੱਚ ਮੌਜੂਦ ਦਸਤਖਤ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ।
ਇੱਕ ਸਹੀ ਢੰਗ ਨਾਲ ਸੰਰਚਿਤ DKIM TXT ਰਿਕਾਰਡ ਈਮੇਲ ਦੀ ਡਿਲੀਵਰੀ ਦਰ ਵਿੱਚ ਸੁਧਾਰ ਕਰਦਾ ਹੈ ਅਤੇ ਸਪੈਮ ਜਾਂ ਫਿਸ਼ਿੰਗ ਹਮਲਿਆਂ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ। ਜੇਕਰ ਰਿਕਾਰਡ ਦੇ ਸੰਟੈਕਸ (syntax) ਜਾਂ ਕੁੰਜੀ ਦੇ ਆਕਾਰ ਵਿੱਚ ਕੋਈ ਗਲਤੀ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਪ੍ਰਾਪਤਕਰਤਾ ਸਰਵਰ ਦਸਤਖਤ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਹੋ ਸਕਦੇ ਹਨ, ਜਿਸ ਨਾਲ ਜਾਇਜ਼ ਈਮੇਲਾਂ ਵੀ ਰੱਦ ਹੋ ਸਕਦੀਆਂ ਹਨ।
DKIM TXT ਰਿਕਾਰਡ ਦੀ ਬਣਤਰ ਅਤੇ ਮੁੱਖ ਭਾਗ
ਇੱਕ DKIM TXT ਰਿਕਾਰਡ ਵੱਖ-ਵੱਖ ਟੈਗਾਂ (tags) ਦੀ ਇੱਕ ਸੂਚੀ ਹੁੰਦੀ ਹੈ ਜੋ ਸੈਮੀਕੋਲਨ (;) ਦੁਆਰਾ ਵੱਖ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਹਰੇਕ ਟੈਗ ਦਾ ਇੱਕ ਖਾਸ ਮਤਲਬ ਅਤੇ ਨਿਯਮ ਹੁੰਦਾ ਹੈ:
- v (ਸੰਸਕਰਨ): ਇਹ DKIM ਦਾ ਵਰਜਨ ਦਰਸਾਉਂਦਾ ਹੈ। ਜੇਕਰ ਇਹ ਮੌਜੂਦ ਹੈ, ਤਾਂ ਇਹ ਰਿਕਾਰਡ ਵਿੱਚ ਸਭ ਤੋਂ ਪਹਿਲਾ ਟੈਗ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਅਤੇ ਇਸਦਾ ਮੁੱਲ ਬਿਲਕੁਲ
DKIM1ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। - k (ਕੁੰਜੀ ਦਾ ਕਿਸਮ): ਇਹ ਵਰਤੀ ਜਾਣ ਵਾਲੀ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕ ਕੁੰਜੀ ਦੀ ਕਿਸਮ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਆਮ ਤੌਰ 'ਤੇ ਇਸਦਾ ਮੁੱਲ
rsaਜਾਂed25519ਹੁੰਦਾ ਹੈ। - p (ਪਬਲਿਕ ਕੁੰਜੀ): ਇਹ Base64 ਫਾਰਮੈਟ ਵਿੱਚ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤੀ ਗਈ ਪਬਲਿਕ ਕੁੰਜੀ ਹੁੰਦੀ ਹੈ। ਇਹ ਰਿਕਾਰਡ ਦਾ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਹਿੱਸਾ ਹੈ।
- s (ਸੇਵਾਵਾਂ): ਇਹ ਉਹਨਾਂ ਸੇਵਾਵਾਂ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਜੋ ਇਸ ਕੁੰਜੀ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੀਆਂ ਹਨ। ਇਸਦਾ ਮੁੱਲ
emailਜਾਂ*(ਸਭ ਸੇਵਾਵਾਂ) ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। - h (ਹੈਸ਼ ਐਲਗੋਰਿਦਮ): ਇਹ ਸਵੀਕਾਰਯੋਗ ਹੈਸ਼ ਐਲਗੋਰਿਦਮ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ। ਮੌਜੂਦਾ ਸੁਰੱਖਿਆ ਮਾਪਦੰਡਾਂ ਅਨੁਸਾਰ ਇਸ ਵਿੱਚ
sha256ਦੀ ਆਗਿਆ ਹੋਣੀ ਲਾਜ਼ਮੀ ਹੈ।
DNS TXT ਰਿਕਾਰਡ ਦੀਆਂ ਸੀਮਾਵਾਂ ਅਤੇ ਚੰਕਸ (Chunks)
DNS ਪ੍ਰਣਾਲੀ ਦੇ ਅੰਦਰ, ਇੱਕ TXT ਰਿਕਾਰਡ ਵਿੱਚ ਮੌਜੂਦ ਇੱਕ ਸਿੰਗਲ ਚਰਿੱਤਰ ਸਟ੍ਰਿੰਗ (character string) ਦੀ ਅਧਿਕਤਮ ਸੀਮਾ 255 ਬਾਈਟਸ ਹੁੰਦੀ ਹੈ। ਜੇਕਰ ਤੁਹਾਡੀ DKIM ਪਬਲਿਕ ਕੁੰਜੀ ਲੰਬੀ ਹੈ (ਜਿਵੇਂ ਕਿ 2048-bit RSA ਕੁੰਜੀ), ਤਾਂ ਇਹ ਇਸ ਸੀਮਾ ਨੂੰ ਪਾਰ ਕਰ ਜਾਂਦੀ ਹੈ।
ਇਸ ਸਮੱਸਿਆ ਦੇ ਹੱਲ ਲਈ, ਲੰਬੇ DKIM ਰਿਕਾਰਡਾਂ ਨੂੰ ਕਈ ਉਧਰਿਤ ਸਟ੍ਰਿੰਗਾਂ (quoted strings) ਜਾਂ ਚੰਕਸ (chunks) ਵਿੱਚ ਵੰਡਿਆ ਜਾਂਦਾ ਹੈ। DNS ਇਹਨਾਂ ਸਾਰੇ ਚੰਕਸ ਨੂੰ ਕ੍ਰਮ ਅਨੁਸਾਰ ਜੋੜਦਾ ਹੈ। DKIM ਰਿਕਾਰਡ ਚੈੱਕਰ ਇਹਨਾਂ ਉਧਰਿਤ TXT ਹਿੱਸਿਆਂ ਅਤੇ ਜ਼ੋਨ-ਫਾਈਲ ਕੋਠੜੀਆਂ (parentheses) ਨੂੰ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ ਅਤੇ ਜਾਂਚ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਉਹਨਾਂ ਨੂੰ ਆਪਸ ਵਿੱਚ ਜੋੜਦਾ ਹੈ। ਇਨਪੁਟ ਦੀ ਅਧਿਕਤਮ ਸੀਮਾ 20,000 ਅੱਖਰਾਂ ਤੱਕ ਹੈ।
ਸਥਾਨਕ ਪ੍ਰੋਸੈਸਿੰਗ ਅਤੇ ਨਿੱਜਤਾ
ਇਹ ਟੂਲ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸਥਾਨਕ (local) ਪੱਧਰ 'ਤੇ ਕੰਮ ਕਰਦਾ ਹੈ। ਤੁਹਾਡਾ DKIM ਰਿਕਾਰਡ ਤੁਹਾਡੇ ਬਰਾਊਜ਼ਰ ਵਿੱਚ ਰਹਿੰਦਾ ਹੈ। BroBroGo ਇਹਨਾਂ ਰਿਕਾਰਡਾਂ ਨੂੰ ਆਪਣੇ ਸਰਵਰ 'ਤੇ ਅੱਪਲੋਡ ਜਾਂ ਸੇਵ ਨਹੀਂ ਕਰਦਾ।
ਇਹ ਇੱਕ ਸਥਾਨਕ ਰਿਕਾਰਡ-ਟੈਕਸਟ ਚੈੱਕ ਹੈ। ਇਹ ਟੂਲ DNS ਡੇਟਾਬੇਸ ਨੂੰ ਕਵੈਰੀ ਨਹੀਂ ਕਰਦਾ ਅਤੇ ਨਾ ਹੀ ਕਿਸੇ ਖਾਸ ਈਮੇਲ ਦੇ ਹਸਤਾਕਸ਼ਰ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ। ਇਸ ਲਈ, ਇਸ ਟੂਲ ਦੀ ਵਰਤੋਂ ਤੁਹਾਡੇ ਰਿਕਾਰਡ ਦੇ ਸੰਟੈਕਸ ਅਤੇ ਬਣਤਰ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ, ਨਾ ਕਿ ਲਾਈਵ ਡਿਲਿਵਰੀ ਸਬੂਤ ਵਜੋਂ।
ਆਮ ਗਲਤੀਆਂ ਅਤੇ ਚੇਤਾਵਨੀਆਂ ਦੀ ਸੂਚੀ
DKIM ਰਿਕਾਰਡ ਨੂੰ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਵਿੱਚ ਕਈ ਤਰ੍ਹਾਂ ਦੀਆਂ ਸੰਟੈਕਸ ਗਲਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਇਹ ਚੈੱਕਰ ਹੇਠ ਲਿਖੀਆਂ ਗਲਤੀਆਂ ਅਤੇ ਚੇਤਾਵਨੀਆਂ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ:
ਸੰਟੈਕਸ ਅਤੇ ਫਾਰਮੈਟ ਦੀਆਂ ਗਲਤੀਆਂ
- ਖਰਾਬ ਪ੍ਰਸਤੁਤੀ: ਜੇਕਰ ਉਧਰਿਤ TXT ਪ੍ਰਸਤੁਤੀ ਖਰਾਬ ਹੈ, ਤਾਂ ਇਹ "ਉਧਰਿਤ TXT ਪ੍ਰਸਤੁਤੀ ਖਰਾਬ ਹੈ। ਸਾਰੇ ਚੰਕ ਉਧਰਿਤ ਰੱਖੋ ਅਤੇ ਕੋਟਸ ਦੇ ਬਾਹਰ ਦਾ ਪਾਠ ਹਟਾਓ।" ਗਲਤੀ ਦਿਖਾਉਂਦਾ ਹੈ।
- ਲੰਬਾ ਚੰਕ: ਜੇਕਰ ਕੋਈ ਸਿੰਗਲ ਚੰਕ 255 ਬਾਈਟਸ ਤੋਂ ਵੱਧ ਜਾਂਦਾ ਹੈ, ਤਾਂ "TXT ਚੰਕ
‹detail›ਇੱਕ DNS ਪਾਤਰ ਸਟ੍ਰਿੰਗ ਲਈ 255-ਬਾਈਟ ਸੀਮਾ ਤੋਂ ਵੱਧ ਹੈ।" ਚੇਤਾਵਨੀ ਮਿਲਦੀ ਹੈ। - ਗੁੰਮ ਟੈਗ: ਜੇਕਰ ਪਬਲਿਕ ਕੁੰਜੀ ਗਾਇਬ ਹੈ, ਤਾਂ "ਲੋੜੀਂਦਾ p ਪਬਲਿਕ-ਕੀ ਟੈਗ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।" ਗਲਤੀ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ।
- ਦੋਹਰੇ ਟੈਗ: ਜੇਕਰ ਕੋਈ ਟੈਗ ਇੱਕ ਤੋਂ ਵੱਧ ਵਾਰ ਵਰਤਿਆ ਗਿਆ ਹੈ, ਤਾਂ ਇਹ "
‹tag›ਟੈਗ ਇੱਕ ਤੋਂ ਵੱਧ ਵਾਰੀ ਵਾਪਰਦਾ ਹੈ।" ਦਰਸਾਉਂਦਾ ਹੈ। - ਬਰਾਬਰ ਦਾ ਚਿੰਨ੍ਹ ਗੁੰਮ ਹੋਣਾ: ਜੇਕਰ ਕਿਸੇ ਟੈਗ ਵਿੱਚ
=ਨਹੀਂ ਹੈ, ਤਾਂ "ਖੇਤਰ “‹tag›” ਵਿੱਚ = ਚਿੰਨ੍ਹ ਨਹੀਂ ਹੈ।" ਗਲਤੀ ਆਉਂਦੀ ਹੈ।
ਕੁੰਜੀ ਅਤੇ ਸੁਰੱਖਿਆ ਸੰਬੰਧੀ ਚੇਤਾਵਨੀਆਂ
- ਕਮਜ਼ੋਰ RSA ਕੁੰਜੀ: 1024 ਬਿਟ ਤੋਂ ਘੱਟ ਦੀਆਂ RSA ਕੁੰਜੀਆਂ ਅਵੈਧ ਹਨ ਅਤੇ "RSA ਕੀ
‹detail›ਬਿਟ ਹੈ। DKIM ਲਈ ਘੱਟੋ-ਘੱਟ 1024 ਬਿਟ ਲਾਜ਼ਮੀ ਹਨ।" ਗਲਤੀ ਦਿੰਦੀਆਂ ਹਨ। 2048 ਬਿਟ ਤੋਂ ਘੱਟ ਦੀਆਂ ਕੁੰਜੀਆਂ ਲਈ "RSA ਕੀ‹detail›ਬਿਟ ਹੈ। 2048 ਬਿਟ ਜਾਂ ਵੱਧ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।" ਦੀ ਚੇਤਾਵਨੀ ਮਿਲਦੀ ਹੈ। - ਰੱਦ ਕੀਤੀ ਕੁੰਜੀ: ਜੇਕਰ
pਦਾ ਮੁੱਲ ਖਾਲੀ ਹੈ, ਤਾਂ ਇਹ "p ਵੈਲਯੂ ਖਾਲੀ ਹੈ, ਜੋ ਰੱਦ ਕੀਤੇ ਗਏ DKIM ਕੀ ਨੂੰ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਦੀ ਹੈ।" ਵਜੋਂ ਪਛਾਣਿਆ ਜਾਂਦਾ ਹੈ। - ਪੁਰਾਣਾ ਹੈਸ਼: ਜੇਕਰ
sha1ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਗਈ ਹੈ, ਤਾਂ "sha1 DKIM ਸਾਈਨੇਚਰਸ ਲਈ ਪੁਰਾਣਾ ਹੋ ਗਿਆ ਹੈ ਅਤੇ ਵਰਤਣਾ ਨਹੀਂ ਚਾਹੀਦਾ।" ਚੇਤਾਵਨੀ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ।
ਅਕਸਰ ਪੁੱਛੇ ਜਾਣ ਵਾਲੇ ਸਵਾਲ (FAQ)
ਲੰਬੇ DKIM ਰਿਕਾਰਡ ਨੂੰ ਉਧਰਿਤ ਸਟਰਿੰਗ ਵਿਚ ਵੰਡਣ ਦਾ ਕਾਰਣ ਕੀ ਹੈ?
ਇੱਕ DNS TXT ਰਿਕਾਰਡ ਕਈ ਕਿਰਦਾਰਾਂ ਦੀਆਂ ਸਪੱਤਰਾਂ ਸ਼ਾਮਲ ਕਰ ਸਕਦਾ ਹੈ, ਹਰੇਕ ਸਪੱਤਰ 255 ਬਾਈਟਸ ਤੱਕ ਸੀਮਤ ਹੈ। DNS ਸਪੱਤਰਾਂ ਨੂੰ ਕ੍ਰਮ ਅਨੁਸਾਰ ਜੋੜਦਾ ਹੈ, ਇਸ ਲਈ ਸਾਰੇ ਚੰਕ ਇੱਕ TXT ਰਿਕਾਰਡ ਦੇ ਅੰਦਰ ਹੀ ਰਹਿਣੇ ਚਾਹੀਦੇ ਹਨ।
ਇਹ ਚੈੱਕਰ ਕਿਸ ਕਿਸਮ ਦੀਆਂ DKIM ਕੁੰਜੀਆਂ ਨੂੰ ਪਛਾਣਦਾ ਹੈ?
ਇਹ RSA ਅਤੇ Ed25519 ਸਰਵਜਨਤਾਕ ਕੁੰਜੀਆਂ ਨੂੰ ਪਛਾਣਦਾ ਹੈ, ਉਹਨਾਂ ਦੇ Base64 ਫਾਰਮ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ, ਅਤੇ RSA ਕੁੰਜੀਆਂ ਜੋ 1024 ਬਿਟ ਤੋਂ ਘੱਟ ਹਨ ਉਹਨਾਂ ਨੂੰ ਅਵੈਧ ਦਰਜ ਕਰਦਾ ਹੈ ਅਤੇ 2048 ਬਿਟ ਤੋਂ ਘੱਟ ਕੁੰਜੀਆਂ ਨੂੰ ਸਿਫਾਰਸ਼ੀ ਕੁੰਜੀਆਂ ਨਾਲੋਂ ਕਮਜ਼ੋਰ ਦਰਜ ਕਰਦਾ ਹੈ।
ਕੀ ਇੱਕ ਸਾਫ ਨਤੀਜਾ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ DKIM ਕੰਮ ਕਰ ਰਹੀ ਹੈ?
ਨਹੀਂ। ਇਹ ਪੰਨਾ ਸਿਰਫ਼ ਉਹਨਾਂ ਰਿਕਾਰਡ ਟੈਕਸਟ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ ਜੋ ਤੁਸੀਂ ਪੇਸਟ ਕਰਦੇ ਹੋ। ਇਹ DNS ਨੂੰ ਕਵੈਰੀ ਨਹੀਂ ਕਰਦਾ, ਕਿਸੇ ਸੁਨੇਹੇ ਦੇ ਹਸਤਾਕਸ਼ਰ ਦੀ ਪੁਸ਼ਟੀ ਨਹੀਂ ਕਰਦਾ, ਸੈਲੈਕਟਰ ਨਾਮ ਦੀ ਪੁਸ਼ਟੀ ਨਹੀਂ ਕਰਦਾ ਜਾਂ ਸਾਬਤ ਨਹੀਂ ਕਰਦਾ ਕਿ ਮੇਲ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੇ ਰਿਕਾਰਡ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਨ।