TLS ਕੁੰਜੀ ਸਾਂਝ ਬਨਾਮ ਕਲਾਇੰਟ ਸਰਟੀਫਿਕੇਟ: ਕਿਹੜਾ ਲੌਗਇਨ ਕਰਦਾ ਹੈ?
ਕੁੰਜੀ ਸਮਝੌਤੇ ਨੂੰ ਕਲਾਇੰਟ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਪਛਾਣ ਤੋਂ ਵੱਖ ਕਰੋ, ਅਤੇ ਹੈਂਡਸ਼ੇਕ ਸੁਨੇਹੇ ਪੜ੍ਹੋ ਜੋ ਦਿਖਾਉਂਦੇ ਹਨ ਕਿ ਕਨੈਕਸ਼ਨ ਨੇ ਅਸਲ ਵਿੱਚ ਕਿਹੜਾ ਵਰਤਿਆ।
ਹੈਂਡਸ਼ੇਕ ਵਿੱਚ ਜਨਤਕ ਕੁੰਜੀ-ਵਟਾਂਦਰੇ ਦਾ ਮੁੱਲ ਲੈ ਜਾਣਾ ਉਹੀ ਘਟਨਾ ਨਹੀਂ ਹੈ ਜੋ ਕਲਾਇੰਟ ਦਾ ਲੌਗਇਨ ਹੋਣਾ ਹੈ। ਇੱਕ ਕਨੈਕਸ਼ਨ ਲਈ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕ ਸਥਿਤੀ ਸਥਾਪਤ ਕਰਦਾ ਹੈ; ਦੂਜਾ ਦੱਸਦਾ ਹੈ ਕਿ ਕਲਾਇੰਟ ਕੌਣ ਹੈ, ਅਤੇ ਇਹ ਤਦ ਹੀ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਸਰਵਰ ਇਸ ਦੀ ਮੰਗ ਕਰਦਾ ਹੈ ਅਤੇ ਵਟਾਂਦਰਾ ਇਸ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ। ਪਹਿਲੇ ਨੂੰ ਦੂਜਾ ਮੰਨਣ ਨਾਲ VPN ਕੀ ਲੁਕਾਉਂਦਾ ਹੈ ਅਤੇ ਕੀ ਨਹੀਂ, ਇਸ ਬਾਰੇ ਗਲਤ ਸਿੱਟੇ ਨਿਕਲਦੇ ਹਨ। ਸੁਨੇਹੇ ਪੜ੍ਹੋ, ਫਿਰ ਤੈਅ ਕਰੋ ਕਿ ਚਾਰ ਗੁਣਾਂ ਵਿੱਚੋਂ ਕਿਹੜਾ ਤੁਸੀਂ ਸੱਚਮੁੱਚ ਦੇਖਿਆ।
ਕੈਪਚਰ ਵਿੱਚ ਇੱਕੋ ਜਿਹੇ ਦਿਸਦੇ ਦੋ ਵਸਤੂ
TLS 1.3 ਕਲਾਇੰਟ ਕੋਈ ਵੀ ਸਰਟੀਫਿਕੇਟ ਪੇਸ਼ ਕੀਤੇ ਬਿਨਾਂ ਆਪਣੀ ਪਹਿਲੀ ਉਡਾਣ ਵਿੱਚ ਕੁੰਜੀ-ਵਟਾਂਦਰਾ ਸਮੱਗਰੀ ਦੇ ਸਕਦਾ ਹੈ। ਇਹ ਯੋਗਦਾਨ ਡਿਜ਼ਾਈਨ ਨਾਲ ਹੀ ਜਨਤਕ ਹੈ, ਕਿਉਂਕਿ ਸਾਂਝਾ ਭੇਤ ਕੱਢਣ ਲਈ ਸਰਵਰ ਨੂੰ ਇਸ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਕਲਾਇੰਟ ਸਰਟੀਫਿਕੇਟ ਇੱਕ ਵੱਖਰਾ ਸੁਨੇਹਾ ਹੈ, ਅਤੇ ਸਰਵਰ ਦੇ ਇੱਕ ਮੰਗਣ ਤੋਂ ਬਾਅਦ ਹੀ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਉਹ ਪਛਾਣ ਰੱਖਦਾ ਹੈ ਜਿਸ ਨੂੰ ਸਰਵਰ ਬਾਅਦ ਵਿੱਚ ਤਸਦੀਕ ਕਰਦਾ ਹੈ, ਅਤੇ ਆਪਸੀ ਪ੍ਰਮਾਣਿਕਤਾ ਸਰਵਰ ਦਾ ਫੈਸਲਾ ਹੈ, ਸਾਈਫਰ ਸੂਟ ਦਾ ਲਾਜ਼ਮੀ ਗੁਣ ਨਹੀਂ। ਐਪਲੀਕੇਸ਼ਨ ਪਛਾਣ ਬਿਲਕੁਲ ਤੀਜੀ ਚੀਜ਼ ਹੈ: ਲੌਗਇਨ ਫਾਰਮ, ਬੀਅਰਰ ਟੋਕਨ, ਕੁਕੀ। ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਹੈਂਡਸ਼ੇਕ ਵਿੱਚ ਨਹੀਂ ਦਿਸਦਾ, ਅਤੇ ਸਾਰੇ ਨੈੱਟਵਰਕ ਰਾਹ ਬਦਲਣ 'ਤੇ ਵੀ ਟਿਕੇ ਰਹਿੰਦੇ ਹਨ।
| Object in play | What it establishes |
|---|---|
| Key-exchange share | Cryptographic state for this connection |
| Server certificate | Which server the client reached |
| Client certificate | Client authentication, when requested |
| Application session | Account identity inside the application |
ਚਾਰੇ ਕਤਾਰਾਂ ਸੁਤੰਤਰ ਹਨ। ਕਨੈਕਸ਼ਨ ਵਿੱਚ ਪਹਿਲੀ ਅਤੇ ਦੂਜੀ ਕਤਾਰ ਹੋ ਸਕਦੀ ਹੈ, ਤੀਜੀ ਛੱਡ ਸਕਦੀ ਹੈ, ਅਤੇ ਫਿਰ ਵੀ ਚੌਥੀ ਕੁਕੀ ਹੈਡਰ ਵਿੱਚ ਲੈ ਜਾ ਸਕਦੀ ਹੈ।
ਤੈਅ ਕਰੋ ਕਿ ਫੜਿਆ ਹੈਂਡਸ਼ੇਕ ਕੀ ਸਾਬਤ ਕਰ ਸਕਦਾ ਹੈ
ਸਿਰਫ਼ ਹੈਂਡਸ਼ੇਕ ਤੋਂ ਨਿਰੀਖਕ ਗੱਲਬਾਤ ਕੀਤਾ ਸੰਸਕਰਣ, ਸਾਈਫਰ ਸੂਟ, ਸਰਵਰ ਦਾ ਸਰਟੀਫਿਕੇਟ ਅਤੇ ਜਨਤਕ ਕੁੰਜੀ-ਵਟਾਂਦਰੇ ਦੇ ਮੁੱਲ ਜਾਣਦਾ ਹੈ। ਕਲਾਇੰਟ ਲਾਗੂਕਰਨ ਦਾ ਫਿੰਗਰਪ੍ਰਿੰਟ ਲੈਣ ਅਤੇ ਇਹ ਦੇਖਣ ਲਈ ਕਿ ਕਿਹੜੇ ਸਰਵਰ ਨਾਲ ਸੰਪਰਕ ਹੋਇਆ, ਇਹ ਕਾਫ਼ੀ ਹੈ। ਜੋ ਇਹ ਨਹੀਂ ਦਿੰਦਾ ਉਹ ਕਨੈਕਸ਼ਨ ਡੀਕ੍ਰਿਪਟ ਕਰਨ ਲਈ ਲੋੜੀਂਦੀ ਨਿੱਜੀ ਸਥਿਤੀ ਹੈ, ਜਿਸ ਦੀ ਗੁਪਤਤਾ ਜਨਤਕ ਹਿੱਸੇ 'ਤੇ ਨਹੀਂ ਸਗੋਂ ਥੋੜ੍ਹੇ ਸਮੇਂ ਦੇ ਵਟਾਂਦਰੇ 'ਤੇ ਟਿਕੀ ਹੈ। ਇਹ ਖਾਤਾ ਪਛਾਣ ਵੀ ਨਹੀਂ ਦਿੰਦਾ, ਜੋ ਸ਼ੁਰੂ ਤੋਂ ਹੀ ਹੈਂਡਸ਼ੇਕ ਵਿੱਚ ਨਹੀਂ ਸੀ।
ਇਸ ਲਈ ਇਮਾਨਦਾਰ ਸਿੱਟਾ ਤੰਗ ਹੈ: ਇਸ ਵਟਾਂਦਰੇ ਵਿੱਚ ਕੋਈ ਕਲਾਇੰਟ ਸਰਟੀਫਿਕੇਟ ਪੇਸ਼ ਨਹੀਂ ਕੀਤਾ ਗਿਆ। ਗੱਲ ਇਹ ਨਹੀਂ ਕਿ ਕਲਾਇੰਟ ਨੇ ਜੋੜਨਯੋਗ ਕੁਝ ਨਹੀਂ ਭੇਜਿਆ, ਅਤੇ ਪੱਕੀ ਤੌਰ 'ਤੇ ਇਹ ਨਹੀਂ ਕਿ ਸੈਸ਼ਨ ਕੋਈ ਪਛਾਣਕਰਤਾ ਨਹੀਂ ਰੱਖਦਾ ਸੀ।
ਸਾਈਫਰ ਦਾ ਨਾਮ ਨਹੀਂ, ਸੁਨੇਹੇ ਪੜ੍ਹੋ
ਸਾਈਫਰ ਸੂਟ ਤੋਂ ਅੰਦਾਜ਼ਾ ਲਾਉਣ ਦੀ ਬਜਾਏ ਸਰਵਰ ਨੂੰ ਪੁੱਛੋ ਕਿ ਉਹ ਕੀ ਮੰਗਦਾ ਹੈ। ਸਰਟੀਫਿਕੇਟ ਬੇਨਤੀ ਸਮੇਤ TLS 1.3 ਹੈਂਡਸ਼ੇਕ ਟ੍ਰਾਂਸਕ੍ਰਿਪਟ ਵਿੱਚ ਦਿਸਦਾ ਹੈ, ਅਤੇ ਇਸ ਦੀ ਗੈਰਹਾਜ਼ਰੀ ਵੀ ਉੱਨੀ ਹੀ ਦਿਸਦੀ ਹੈ।
openssl s_client -connect app.example.net:443 -tls1_3 -msg < /dev/null 2>&1 | grep -i -E 'key_share|CertificateRequest'
ਫਿਰ ਕਲਾਇੰਟ ਸਰਟੀਫਿਕੇਟ ਸੰਰਚਿਤ ਕਰਕੇ ਦੁਹਰਾਓ ਅਤੇ ਤੁਲਨਾ ਕਰੋ। ਦੂਜੇ ਰਨ ਵਿੱਚ ਸਰਟੀਫਿਕੇਟ ਭੇਜਿਆ ਅਤੇ ਸਵੀਕਾਰਿਆ ਜਾਂਦਾ ਦਿਸਣਾ ਚਾਹੀਦਾ ਹੈ; ਪਹਿਲੇ ਵਿੱਚ ਕੁਝ ਵੀ ਨਹੀਂ ਦਿਸਣਾ ਚਾਹੀਦਾ, ਅਤੇ ਇਹੀ ਬਹਿਸ ਦਾ ਠੋਸ ਫ਼ਰਕ ਹੈ।
openssl s_client -connect app.example.net:443 -tls1_3 -cert client.pem -key client.key -quiet
ਜੇ ਤੁਹਾਨੂੰ ਸਿਰਫ਼ ਆਮ ਬ੍ਰਾਊਜ਼ਿੰਗ ਕੇਸ ਚਾਹੀਦਾ ਹੈ, ਤਾਂ ਪ੍ਰੋਟੋਕੋਲ ਸੰਸਕਰਣ, ਤਸਦੀਕ ਦਾ ਨਤੀਜਾ ਅਤੇ ਇਹ ਦੇਖਣ ਲਈ ਕਿ ਕਲਾਇੰਟ ਸਰਟੀਫਿਕੇਟ ਪੇਸ਼ ਕੀਤਾ ਗਿਆ ਸੀ ਜਾਂ ਨਹੀਂ, ਕਲਾਇੰਟ ਦਾ ਵਿਸਥਾਰਿਤ ਆਉਟਪੁੱਟ ਕਾਫ਼ੀ ਹੈ। ਜੋ ਸਰਵਰ ਕਦੇ ਵੀ ਸਰਟੀਫਿਕੇਟ ਬੇਨਤੀ ਨਹੀਂ ਭੇਜਦਾ, ਉਸ ਨੂੰ ਇੱਕ ਮਿਲ ਹੀ ਨਹੀਂ ਸਕਦਾ।
ਕਿੱਥੇ ਮੁੜ-ਸ਼ੁਰੂਆਤ ਜਵਾਬ ਬਦਲਦੀ ਹੈ
TLS 1.3 ਵਿੱਚ ਮੁੜ-ਸ਼ੁਰੂਆਤ ਗੁਪਤ ਸਥਿਤੀ ਨਾਲ ਜੁੜੀਆਂ ਟਿਕਟਾਂ ਵਰਤਦੀ ਹੈ, ਇਸ ਲਈ ਬਾਅਦ ਦਾ ਕਨੈਕਸ਼ਨ ਪੂਰੀ ਸਰਟੀਫਿਕੇਟ ਵਟਾਂਦਰੇ ਤੋਂ ਬਿਨਾਂ ਪੂਰਾ ਹੋ ਸਕਦਾ ਹੈ। ਇਹ ਨਿਰੀਖਕ ਨੂੰ ਘੱਟ ਦਿਸਦਾ ਹੈ ਅਤੇ ਟ੍ਰਾਂਸਕ੍ਰਿਪਟ ਜੋ ਸਾਬਤ ਕਰਦਾ ਹੈ ਉਹ ਬਦਲਦਾ ਹੈ। ਇਹ ਉੱਥੇ ਪਛਾਣ ਨਹੀਂ ਬਣਾਉਂਦਾ ਜਿੱਥੇ ਪਹਿਲਾਂ ਨਹੀਂ ਸੀ। ਮੁੜ-ਸ਼ੁਰੂ ਕੀਤਾ ਸੈਸ਼ਨ ਅਜੇ ਵੀ ਉਸੇ ਐਪਲੀਕੇਸ਼ਨ ਸੈਸ਼ਨ ਦਾ ਹੈ, ਅਤੇ ਉਸ ਸੈਸ਼ਨ ਦੀ ਕੋਈ ਵੀ ਕੁਕੀ ਜਾਂ ਟੋਕਨ ਮਹੱਤਵਪੂਰਨ ਪਛਾਣਕਰਤਾ ਰਹਿੰਦੀ ਹੈ।
ਇਸੇ ਲਈ "ਕੋਈ ਕਲਾਇੰਟ ਸਰਟੀਫਿਕੇਟ ਨਹੀਂ" 'ਤੇ ਰੁਕਣ ਵਾਲੀ ਗੋਪਨੀਯਤਾ ਸਮੀਖਿਆ ਦਿਲਚਸਪ ਹਿੱਸਾ ਖੁੰਝਾ ਦਿੰਦੀ ਹੈ। ਪੁੱਛਣ ਵਾਲਾ ਸਵਾਲ ਇਹ ਹੈ ਕਿ ਕਿਹੜਾ ਧਿਰ ਸਥਿਰ ਪਛਾਣਕਰਤਾ ਰੱਖਦੀ ਹੈ, ਇਹ ਨਹੀਂ ਕਿ ਇੱਕ ਹੈਂਡਸ਼ੇਕ ਤੋਂ ਕਿਹੜਾ ਸੁਨੇਹਾ ਗੈਰਹਾਜ਼ਰ ਸੀ।
ਇੱਕ ਫੈਸਲਾ ਨਹੀਂ, ਚਾਰ ਗੁਣ ਲਿਖੋ
ਕੁੰਜੀ ਸਮਝੌਤਾ, ਸਰਵਰ ਤਸਦੀਕ, ਕਲਾਇੰਟ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਪਛਾਣ ਨੂੰ ਚਾਰ ਵੱਖਰੀਆਂ ਕਤਾਰਾਂ ਵਜੋਂ ਲਿਖੋ, ਹਰੇਕ ਦੇ ਸਬੂਤ ਸਮੇਤ। ਇਹ ਸੂਚੀ ਪ੍ਰੋਟੋਕੋਲ ਸੰਸਕਰਣ ਬਦਲਣ 'ਤੇ ਵੀ ਟਿਕਦੀ ਹੈ, ਅਤੇ ਗੋਪਨੀਯਤਾ ਬਾਰੇ ਦਲੀਲ ਨੂੰ ਕਿਸੇ ਹੋਰ ਲਈ ਜਾਂਚਯੋਗ ਬਣਾਉਂਦੀ ਹੈ। ਫਿਰ ਜੋੜੋ ਕਿ ਨੈੱਟਵਰਕ ਰਾਹ ਕੀ ਦਿੰਦਾ ਹੈ। VPN ਉਹ ਸਰੋਤ ਪਤਾ ਬਦਲਦਾ ਹੈ ਜੋ ਸੇਵਾ ਦੇਖਦੀ ਹੈ; ਇਹ ਐਪਲੀਕੇਸ਼ਨ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਲੌਗਇਨ, ਕੁਕੀ ਜਾਂ ਡਿਵਾਈਸ ਫਿੰਗਰਪ੍ਰਿੰਟ ਨੂੰ ਹਟਾਉਂਦਾ ਨਹੀਂ।
ਕਨੈਕਸ਼ਨ ਦਾ ਗੱਲਬਾਤ ਕੀਤਾ ਸੰਸਕਰਣ ਅਤੇ ਸਰਟੀਫਿਕੇਟ ਬੇਨਤੀ ਦਾ ਨਤੀਜਾ ਇਕੱਠੇ ਲਿਖੋ, ਕਿਉਂਕਿ ਸਮੀਖਿਅਕ ਨੂੰ ਬਿਨਾਂ ਆਪਣੇ ਕੈਪਚਰ ਦੇ ਤੁਹਾਡਾ ਸਿੱਟਾ ਦੁਹਰਾਉਣ ਲਈ ਇਹੀ ਜੋੜੀ ਚਾਹੀਦੀ ਹੈ।