ਲੋਕ VPN ਨੂੰ „ਜਨਤਕ-ਕੁੰਜੀ ਐਨਕ੍ਰਿਪਸ਼ਨ ਵਰਤਣ ਵਾਲਾ“ ਦੱਸਦੇ ਹਨ ਅਤੇ ਫਿਰ ਸੋਚਦੇ ਹਨ ਕਿ ਹਰ ਪੈਕੇਟ ਸਰਵਰ ਦੇ ਸਰਟੀਫਿਕੇਟ ਨਾਲ ਤਾਲਾ ਲੱਗਿਆ ਹੈ। ਇਹ ਤਸਵੀਰ ਉਸ ਤਰੀਕੇ ਨਾਲ ਗਲਤ ਹੈ ਜੋ ਕਨਫਿਗ ਫਾਈਲ ਜਾਂ ਪੈਕੇਟ ਰਿਕਾਰਡ ਪੜ੍ਹਦਿਆਂ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦਾ ਹੈ। VPN ਦਾ ਜਨਤਕ-ਕੁੰਜੀ ਅੱਧ ਸਾਥੀ ਕੌਣ ਹੈ ਇਹ ਸਾਬਤ ਕਰਨ ਅਤੇ ਗੁਪਤ ਸਮੱਗਰੀ ਉੱਤੇ ਸਹਿਮਤੀ ਬਾਰੇ ਹੈ; ਸਮਮਿਤੀ ਅੱਧ ਉਹ ਹੈ ਜੋ ਟ੍ਰੈਫਿਕ ਦੀ ਸੱਚਮੁੱਚ ਰੱਖਿਆ ਕਰਦਾ ਹੈ, ਪੈਕੇਟ ਮਗਰੋਂ ਪੈਕੇਟ, ਸੈਸ਼ਨ ਦੀ ਪੂਰੀ ਉਮਰ ਤੱਕ।

ਦੋਹਾਂ ਅੱਧਾਂ ਦੀ ਉਮਰ, ਫੇਲ੍ਹ ਹੋਣ ਦੇ ਢੰਗ ਅਤੇ ਸੁਰੱਖਿਅਤ ਛਾਪਣ ਯੋਗ ਚੀਜ਼ਾਂ ਵੱਖਰੀਆਂ ਹਨ। ਇਨ੍ਹਾਂ ਨੂੰ ਵੱਖ ਕਰਨ 'ਤੇ „ਕੀ RSA 2048 AES-128 ਤੋਂ ਕਮਜ਼ੋਰ ਹੈ“ ਵਰਗੇ ਸਵਾਲ ਉਲਝਾਉਣਾ ਬੰਦ ਕਰ ਦਿੰਦੇ ਹਨ, ਕਿਉਂਕਿ ਉਹ ਕਦੇ ਤੁਲਨਾਯੋਗ ਨਹੀਂ ਸਨ।

ਇਕੱਠੇ ਰਲਾਈਆਂ ਜਾਂਦੀਆਂ ਤਿੰਨ ਕਾਰਵਾਈਆਂ

ਜਨਤਕ-ਕੁੰਜੀ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਘੱਟੋ-ਘੱਟ ਤਿੰਨ ਵੱਖਰੀਆਂ ਕਾਰਵਾਈਆਂ ਦੀ ਛਤਰੀ ਹੈ। ਦਸਤਖ਼ਤ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਨਿੱਜੀ ਕੁੰਜੀ ਦੇ ਮਾਲਕ ਨੇ ਕੋਈ ਖ਼ਾਸ ਸੁਨੇਹਾ ਮਨਜ਼ੂਰ ਕੀਤਾ ਹੈ। ਕੁੰਜੀ ਸਮਝੌਤਾ ਦੋ ਸਾਥੀਆਂ ਨੂੰ ਜਨਤਕ ਤੌਰ 'ਤੇ ਬਦਲੇ ਮੁੱਲਾਂ ਤੋਂ ਸਾਂਝਾ ਭੇਤ ਕੱਢਣ ਦਿੰਦਾ ਹੈ। ਜਨਤਕ-ਕੁੰਜੀ ਐਨਕ੍ਰਿਪਸ਼ਨ ਡੇਟਾ ਨੂੰ ਕਿਸੇ ਦੀ ਜਨਤਕ ਕੁੰਜੀ ਹੇਠ ਲੁਕਾਉਂਦਾ ਹੈ, ਇਸ ਲਈ ਸਿਰਫ਼ ਨਿੱਜੀ ਕੁੰਜੀ ਹੀ ਖੋਲ੍ਹ ਸਕਦੀ ਹੈ।

VPN ਹੈਂਡਸ਼ੇਕ ਮੁੱਖ ਤੌਰ 'ਤੇ ਪਹਿਲੇ ਦੋ ਵਰਤਦੇ ਹਨ। ਸਰਟੀਫਿਕੇਟ ਐਨਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀ ਨਹੀਂ; ਇਹ ਨਾਮ ਨੂੰ ਜਨਤਕ ਕੁੰਜੀ ਨਾਲ ਜੋੜਨ ਵਾਲਾ ਦਸਤਖ਼ਤੀ ਬਿਆਨ ਹੈ ਅਤੇ ਦੂਜੇ ਪਾਸੇ ਨੂੰ ਹਾਲੇ ਮਿਲੀ ਕੁੰਜੀ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਦਾ ਫ਼ੈਸਲਾ ਕਰਨ ਦਿੰਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, TLS 1.3 ਦੀ ਕੁੰਜੀ ਸਥਾਪਨਾ (EC)DHE ਕੁੰਜੀ ਸਮਝੌਤੇ ਅਤੇ ਸਰਟੀਫਿਕੇਟ ਦਸਤਖ਼ਤਾਂ 'ਤੇ ਆਧਾਰਿਤ ਹੈ, ਸਰਵਰ ਦੀ ਜਨਤਕ ਕੁੰਜੀ ਨਾਲ ਸੈਸ਼ਨ ਐਨਕ੍ਰਿਪਟ ਕਰਨ 'ਤੇ ਨਹੀਂ।

ਹੈਂਡਸ਼ੇਕ ਅਸਲ ਵਿੱਚ ਕੀ ਪੈਦਾ ਕਰਦਾ ਹੈ

ਆਧੁਨਿਕ ਹੈਂਡਸ਼ੇਕ ਵਿੱਚ ਹਰ ਧਿਰ ਇੱਕ ਥੋੜ੍ਹਚਿਰੀ ਕੁੰਜੀ ਜੋੜੀ ਬਣਾਉਂਦੀ ਹੈ, ਜਨਤਕ ਅੱਧ ਬਦਲਦੀ ਹੈ ਅਤੇ ਤਾਰ ਰਾਹੀਂ ਕਦੇ ਨਾ ਲੰਘਣ ਵਾਲਾ ਸਾਂਝਾ ਭੇਤ ਗਿਣਦੀ ਹੈ। ਉਹ ਭੇਤ ਫਿਰ ਕੁੰਜੀ-ਨਿਕਾਸੀ ਫੰਕਸ਼ਨ ਵਿੱਚੋਂ ਲੰਘ ਕੇ ਹਰ ਦਿਸ਼ਾ ਲਈ ਵੱਖਰੀ ਕੁੰਜੀ, ਨਾਲ ਹੀ ਰਿਕਾਰਡ ਪਰਤ ਲਈ ਲੋੜੀਂਦੇ nonce ਅਤੇ IV ਸਮੱਗਰੀ ਬਣਾਉਂਦਾ ਹੈ। WireGuard ਇਹ Noise ਆਧਾਰਿਤ ਬਣਾਵਟ ਨਾਲ ਕਰਦਾ ਹੈ; TLS 1.3 ਇਹ ਹੈਂਡਸ਼ੇਕ ਟ੍ਰਾਂਸਕ੍ਰਿਪਟ 'ਤੇ HKDF ਨਾਲ ਕਰਦਾ ਹੈ।

ਦੀਰਘਕਾਲੀ ਪਛਾਣ — ਸਰਟੀਫਿਕੇਟ ਅਤੇ ਨਿੱਜੀ ਕੁੰਜੀ, ਜਾਂ ਸਥਿਰ WireGuard ਕੁੰਜੀ — ਉਸ ਅਦਲਾ-ਬਦਲੀ ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਕਰਦੀ ਹੈ। ਇਹ ਟ੍ਰਾਂਸਕ੍ਰਿਪਟ 'ਤੇ ਦਸਤਖ਼ਤ ਕਰਦੀ ਹੈ ਜਾਂ ਉਸ ਵਿੱਚ ਰਲਦੀ ਹੈ, ਇਸ ਲਈ ਬਾਹਰਲਾ ਵਿਅਕਤੀ ਸਾਥੀ ਦੀ ਥਾਂ ਹੈਂਡਸ਼ੇਕ ਪੂਰਾ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਉਸ ਤੋਂ ਬਾਅਦ ਪਛਾਣ ਹਰ ਪੈਕੇਟ 'ਤੇ ਕੰਮ ਨਹੀਂ ਕਰਦੀ। ਕਰਦੀ ਤਾਂ ਹਰ ਪੈਕੇਟ ਲਈ ਨਿੱਜੀ-ਕੁੰਜੀ ਕਾਰਵਾਈ ਲੋੜੀਂਦੀ ਹੁੰਦੀ ਅਤੇ ਰੁੱਝਿਆ ਟਨਲ ਸਟੈਕ ਦੀ ਸਭ ਤੋਂ ਹੌਲੀ ਕਾਰਵਾਈ ਨਾਲ ਸੀਮਿਤ ਹੁੰਦਾ।

ਇਸ ਤੋਂ ਦੋ ਪਾਸੇ ਦੇ ਅਸਰ ਨਿਕਲਦੇ ਹਨ। ਪਹਿਲਾ, ਸੈਸ਼ਨ ਕੁੰਜੀਆਂ ਹਰ ਵਾਰ ਨਵੀਆਂ ਹੁੰਦੀਆਂ ਹਨ, ਇਸ ਲਈ ਬਾਅਦ ਵਿੱਚ ਦੀਰਘਕਾਲੀ ਕੁੰਜੀ ਚੋਰੀ ਕਰਨ ਵਾਲਾ ਹਮਲਾਵਰ ਪਹਿਲਾਂ ਰਿਕਾਰਡ ਹੋਈਆਂ ਸੈਸ਼ਨਾਂ ਨੂੰ ਡੀਕ੍ਰਿਪਟ ਨਹੀਂ ਕਰ ਸਕਦਾ, ਜੇ ਸਮਝੌਤਾ ਥੋੜ੍ਹਚਿਰਾ ਸੀ। ਦੂਜਾ, ਲੀਕ ਹੋਈ ਸੈਸ਼ਨ ਕੁੰਜੀ ਇੱਕ ਸੈਸ਼ਨ ਨੂੰ ਖ਼ਤਰੇ ਵਿੱਚ ਪਾਉਂਦੀ ਹੈ, ਪਛਾਣ ਨੂੰ ਨਹੀਂ।

ਵੱਡੀ ਮਾਤਰਾ ਦਾ ਡੇਟਾ ਸਮਮਿਤੀ ਕੁੰਜੀਆਂ ਕਿਉਂ ਵਰਤਦਾ ਹੈ

ਸਮਮਿਤੀ ਸਾਈਫਰ ਮਾਤਰਾ ਚੰਗੀ ਤਰ੍ਹਾਂ ਸੰਭਾਲਦੇ ਹਨ: AES-GCM ਜਾਂ ChaCha20-Poly1305 ਹਰ ਪੈਕੇਟ ਨੂੰ ਪਹਿਲਾਂ ਹੀ ਮੈਮੋਰੀ ਵਿੱਚ ਮੌਜੂਦ ਕੁੰਜੀ ਨਾਲ ਪ੍ਰੋਸੈਸ ਕਰਦੇ ਹਨ, ਹੈਡਰ ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਕਰਦੇ ਹਨ ਅਤੇ ਕਾਊਂਟਰ ਵਧਾਉਂਦੇ ਹਨ। ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲਾ ਪਾਸਾ nonce ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ ਟੈਗ ਜਾਂਚ ਕੇ ਫੇਲ੍ਹ ਜਾਂ ਦੁਹਰਾਏ ਗਏ ਸਭ ਕੁਝ ਸੁੱਟ ਦਿੰਦਾ ਹੈ। ਇਹ ਆਮ ਹਾਰਡਵੇਅਰ 'ਤੇ ਲਾਈਨ ਰਫ਼ਤਾਰ ਨਾਲ ਚੱਲਣ ਲਈ ਕਾਫ਼ੀ ਸਸਤਾ ਹੈ ਅਤੇ ਉਹੀ ਬਣਾਵਟ ਇੱਕੋ ਪਾਸ ਵਿੱਚ ਗੋਪਨੀਯਤਾ ਅਤੇ ਅਖੰਡਤਾ ਦਿੰਦੀ ਹੈ।

ਇਹ ਬਣਾਵਟ ਹੀ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਜ਼ਿਆਦਾਤਰ ਲਾਗੂ ਕਰਨ ਦੀਆਂ ਗਲਤੀਆਂ ਰਹਿੰਦੀਆਂ ਹਨ। GCM ਵਿੱਚ nonce ਦੁਹਰਾਇਆ ਜਾਵੇ ਤਾਂ ਗੋਪਨੀਯਤਾ ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ ਇਕੱਠੇ ਟੁੱਟਦੇ ਹਨ, ਇਸ ਲਈ ਪ੍ਰੋਟੋਕਾਲ ਹਰ ਦਿਸ਼ਾ ਲਈ ਕੁੰਜੀ ਕੱਢਦੇ ਹਨ ਅਤੇ ਸਪਸ਼ਟ ਕਾਊਂਟਰ ਜਾਂ ਯੁੱਗ ਰੱਖਦੇ ਹਨ। ਪੈਕੇਟ ਰਿਕਾਰਡ ਪੜ੍ਹਦਿਆਂ ਜੇ ਐਨਕ੍ਰਿਪਟਿਡ ਟੈਕਸਟ ਦੀ ਲੰਬਾਈ ਸਾਦੇ ਟੈਕਸਟ ਵਿੱਚ ਸਥਿਰ ਵਾਧਾ ਜੋੜਨ ਨਾਲ ਮਿਲਦੀ ਹੈ, ਤਾਂ ਕੰਮ ਕਰ ਰਹੀ ਸਮਮਿਤੀ ਪਰਤ ਹੈ, ਹਰ ਪੈਕੇਟ 'ਤੇ ਜਨਤਕ-ਕੁੰਜੀ ਕਾਰਵਾਈ ਨਹੀਂ।

ਉਮਰ, ਕੁੰਜੀ ਨਵਿਆਉਣਾ ਅਤੇ ਅੱਗੇ ਵੱਲ ਗੁਪਤਤਾ

ਸੈਸ਼ਨ ਕੁੰਜੀਆਂ ਮੁੱਕਣ ਲਈ ਹਨ। TLS 1.3 KeyUpdate ਸੁਨੇਹੇ ਨੂੰ ਟ੍ਰੈਫਿਕ ਕੁੰਜੀਆਂ ਘੁਮਾਉਣ ਦਿੰਦਾ ਹੈ; WireGuard ਸੈੱਟ ਸਮੇਂ ਜਾਂ ਸੁਨੇਹਾ ਗਿਣਤੀ ਮਗਰੋਂ ਸੈਸ਼ਨ ਨਵਿਆਉਂਦਾ ਹੈ ਅਤੇ ਰਾਹ ਵਿੱਚ ਪਏ ਪੈਕੇਟਾਂ ਲਈ ਪੁਰਾਣੀ ਥੋੜ੍ਹੀ ਦੇਰ ਰੱਖਦਾ ਹੈ। OpenVPN ਆਪਣੇ ਡੇਟਾ ਚੈਨਲ ਦੀਆਂ ਕੁੰਜੀਆਂ ਦੀ ਸਮਾਂ-ਸਾਰਣੀ ਮੁਤਾਬਕ ਦੁਬਾਰਾ ਗੱਲਬਾਤ ਕਰਦਾ ਹੈ, reneg-sec ਅੰਤਰਾਲ ਨਿਯੰਤਰਿਤ ਕਰਦਾ ਹੈ।

ਇਨ੍ਹਾਂ ਘੁਮਾਵਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਸਰਟੀਫਿਕੇਟ ਨਵਿਆਉਣ ਵਰਗੀ ਨਹੀਂ। ਸਰਟੀਫਿਕੇਟ ਸਾਲ ਭਰ ਯੋਗ ਰਹਿ ਸਕਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਸੈਸ਼ਨ ਕੁੰਜੀਆਂ ਹਰ ਕੁਝ ਮਿੰਟਾਂ ਬਾਅਦ ਬਦਲਦੀਆਂ ਹਨ, ਅਤੇ ਚੱਲ ਰਹੇ ਟਨਲ ਦੀਆਂ ਕੁੰਜੀਆਂ ਨੂੰ ਛੂਹੇ ਬਿਨਾਂ ਸਰਟੀਫਿਕੇਟ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਮਿਆਦ ਪੁੱਗਣ ਦੀ ਯੋਜਨਾ ਬਣਾਉਂਦਿਆਂ ਪੁੱਛੋ ਕਿ ਕਿਹੜੀ ਵਸਤੂ ਘੁਮਾ ਰਹੇ ਹੋ; ਜਵਾਬ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਗਾਹਕ ਦੁਬਾਰਾ ਜੁੜਨਗੇ ਜਾਂ ਸਿਰਫ਼ ਕੁੰਜੀਆਂ ਨਵਿਆਉਣਗੇ।

ਵਸਤੂਆਂ ਨੂੰ ਨਾ ਰਲਾਉਂਦੇ ਹੋਏ ਕਨਫਿਗ ਅਤੇ ਨਿਦਾਨ ਪੜ੍ਹਨਾ

ਅਮਲ ਵਿੱਚ ਤੁਸੀਂ ਪੂਰਾ ਪ੍ਰੋਟੋਕਾਲ ਅਤੇ ਉਸ ਦੇ ਸਮਰਥਿਤ ਆਦਿਮ ਚੁਣਦੇ ਹੋ, ਆਪਣਾ ਨਹੀਂ ਜੋੜਦੇ। OpenVPN ਦੀ --tls-crypt ਕੁੰਜੀ ਕੰਟਰੋਲ ਚੈਨਲ ਦੀ ਰੱਖਿਆ ਕਰਦੀ ਹੈ; ਡੇਟਾ ਚੈਨਲ ਗੱਲਬਾਤ ਕੀਤੇ ਸਮਮਿਤੀ ਸਾਈਫਰ ਵਰਤਦਾ ਹੈ। WireGuard ਦੀਆਂ PrivateKey ਅਤੇ PublicKey ਐਂਟਰੀਆਂ ਪਛਾਣ ਸਮੱਗਰੀ ਹਨ, ਜਦੋਂ ਕਿ ਉਸ ਦੀਆਂ ਟਰਾਂਸਪੋਰਟ ਕੁੰਜੀਆਂ ਅੰਦਰੋਂ ਕੱਢੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ਉਹ ਖੇਤਰ ਇੱਕੋ ਕਿਸਮ ਦੇ ਭੇਤ ਵਜੋਂ ਪੜ੍ਹਨਾ ਨਿੱਜੀ ਕੁੰਜੀ ਦੀ ਥਾਂ ਜਨਤਕ ਕੁੰਜੀ ਚਿਪਕਾਉਣ ਵਰਗੀਆਂ ਗਲਤੀਆਂ ਵੱਲ ਲੈ ਜਾਂਦਾ ਹੈ।

ਜਨਤਕ ਸਮੱਗਰੀ ਨੂੰ ਨਿੱਜੀ ਤੋਂ ਵੱਖ ਰੱਖੋ। ਸਰਟੀਫਿਕੇਟ, WireGuard ਜਨਤਕ ਕੁੰਜੀ ਅਤੇ ਉਂਗਲ ਦਾ ਨਿਸ਼ਾਨ ਟਿਕਟ ਵਿੱਚ ਸਾਂਝਾ ਕਰਨਾ ਸੁਰੱਖਿਅਤ ਹੈ। ਨਿੱਜੀ ਕੁੰਜੀ, ਪਹਿਲਾਂ ਸਾਂਝੀ ਕੀਤੀ ਕੁੰਜੀ ਅਤੇ ਨਿਰਯਾਤ ਕੀਤੀ ਸੈਸ਼ਨ ਕੁੰਜੀ ਨਹੀਂ। ਤਾਕਤ ਦੀ ਤੁਲਨਾ ਕਰਦਿਆਂ ਇੱਕੋ ਕਿਸਮ ਵਿੱਚ ਕਰੋ: ਦੀਰਘਵ੍ਰਿੱਤ ਵਕਰ ਪਛਾਣਕਰਤਾ, RSA ਮਾਡਿਊਲਸ ਆਕਾਰ ਅਤੇ AES ਕੁੰਜੀ ਆਕਾਰ ਵੱਖਰੇ ਅਨੁਮਾਨਾਂ ਹੇਠ ਵੱਖਰੀਆਂ ਚੀਜ਼ਾਂ ਮਾਪਦੇ ਹਨ। TLS 1.3 ਵਿਸ਼ੇਸ਼ਤਾ ਦੋ ਪਰਤਾਂ ਕਿਵੇਂ ਮਿਲਦੀਆਂ ਹਨ ਇਸ ਬਾਰੇ ਲਾਭਦਾਇਕ ਸੰਦਰਭ ਹੈ, ਤੁਹਾਡਾ ਟਨਲ TLS ਨਾ ਹੋਣ 'ਤੇ ਵੀ।

ਸੰਬੰਧਿਤ ਲੇਖ