Leonard Adleman ਨੇ RSA ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕੀਤੀ—ਇੱਕ ਪਬਲਿਕ-ਕੀ ਪ੍ਰਣਾਲੀ ਜਿਸ ਨੇ HTTPS, ਆਨਲਾਈਨ ਬੈਂਕਿੰਗ ਅਤੇ ਸਾਈਨ ਕੀਤੀਆਂ ਅੱਪਡੇਟਸ ਨੂੰ ਯਥਾਰਥਪੂਰਨ ਬਣਾਇਆ। ਜਾਣੋ ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ ਅਤੇ ਕਿਉਂ ਇਹ ਮਾਇਨੇ ਰੱਖਦਾ ਹੈ।

ਜਦ ਲੋਕ ਕਹਿੰਦੇ ਹਨ ਕਿ ਉਹ ਕਿਸੇ ਵੈੱਬਸਾਈਟ ਜਾਂ ਆਨਲਾਈਨ ਸਰਵਿਸ 'ਤੇ “ਭਰੋਸਾ” ਕਰਦੇ ਹਨ, ਉਹ ਆਮ ਤੌਰ 'ਤੇ ਤਿੰਨ ਵਿਹਾਰਿਕ ਗੱਲਾਂ ਮੰਨਦੇ ਹਨ:
RSA مشہور ਹੋਇਆ ਕਿਉਂਕਿ ਇਸ ਨੇ ਇਨ੍ਹਾਂ ਵਾਅਦਿਆਂ ਨੂੰ ਇੰਟਰਨੈੱਟ ਪੱਧਰ 'ਤੇ ਸੰਭਵ ਬਣਾਇਆ।
ਤੁਸੀਂ RSA ਦਾ ਪ੍ਰਭਾਵ ਮਹਿਸੂਸ ਕੀਤਾ ਹੈ ਭਾਵੇਂ ਤੁਸੀਂ ਉਸਦਾ ਨਾਮ ਨਾ ਸੁਣਿਆ ਹੋਵੇ। ਇਹ ਨਜ਼ਦੀਕ ਤਰੀਕੇ ਨਾਲ ਨਾਲ ਜੁੜਿਆ ਹੈ ਕਿ ਕਿਵੇਂ:
ਸਾਧਾਰਨ ਧਾਗਾ ਇਹ ਹੈ ਕਿ ਤੁਸੀਂ ਹਰ ਸਰਵਰ ਜਾਂ ਸੌਫਟਵੇਅਰ ਵੇਂਡਰ ਨਾਲ ਪਹਿਲਾਂ ਤੋਂ ਜਾਣ-ਪਛਾਣ (ਜਾਂ ਗੁਪਤ-ਸ਼ੇਅਰ) ਕੀਤੇ ਬਿਨਾਂ ਭਰੋਸਾ ਕਰ ਸਕਦੇ ਹੋ।
ਇਹ ਲੇਖ ਵਿਆਖਿਆਵਾਂ ਨੂੰ ਸਧਾਰਨ ਰੱਖਦਾ ਹੈ: ਕੋਈ ਭਾਰੀ ਗਣਿਤ ਨਹੀਂ, ਅਤੇ ਕਮਪਿਊਟਰ ਸਾਇੰਸ ਪਿਛੋਕੜ ਦੀ ਲੋੜ ਨਹੀਂ। ਅਸੀਂ ਦੈਨੀਕ "ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ" ਝਲਕ 'ਤੇ ਧਿਆਨ ਦੇਵਾਂਗੇ।
RSA ਨੇ ਇੱਕ ਸ਼ਕਤਿਸ਼ਾਲੀ ਰਵੱਈਆ ਪ੍ਰਚਲਿਤ ਕੀਤਾ: ਇੱਕ ਸਾਂਝੀ ਰਾਜ਼ ਦੀ ਥਾਂ, ਤੁਸੀਂ ਇੱਕ ਪਬਲਿਕ ਕੀ ਜੋ ਖੁੱਲ੍ਹੇ ਤੌਰ 'ਤੇ ਸਾਂਝੀ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ ਅਤੇ ਇੱਕ ਪ੍ਰਾਈਵੇਟ ਕੀ ਜੋ ਤੁਸੀਂ ਗੁਪਤ ਰੱਖਦੇ ਹੋ ਵਰਤਦੇ ਹੋ। ਇਹ ਵੰਡ ਗੋਪਨੀਅਤਾ ਅਤੇ ਪਛਾਣ ਦੋਹਾਂ ਨੂੰ ਸੰਭਵ ਬਣਾਉਂਦੀ ਹੈ ਜਦੋਂ ਲੋਕ ਜਾਂ ਸਿਸਟਮ ਪਹਿਲੀ ਵਾਰੀ ਮਿਲਦੇ ਹਨ।
Leonard Adleman RSA ਵਿੱਚ "A" ਹੈ, ਨਾਲ Ron Rivest ਅਤੇ Adi Shamir। ਜਦੋਂ ਕਿ Rivest ਅਤੇ Shamir ਅਕਸਰ ਮੁੱਖ ਬਣਤਰ ਲਈ ਧੰਨਵਾਦੀ ਮੰਨੇ ਜਾਂਦੇ ਹਨ, Adleman ਦਾ ਯੋਗਦਾਨ ਅਹੰਕਾਰਪੂਰਕ ਸੀ: ਉਸਨੇ ਪ੍ਰਣਾਲੀ ਨੂੰ ايسਾ ਸ਼ਕਲ ਦਿੱਤੀ ਜੋ ਸਿਰਫ ਚਤੁਰ ਨਹੀਂ, ਬਲਕਿ ਯਕੀਨੀ ਬਣਨ ਯੋਗ ਸੀ—ਇਕ ਐਲਗੋਰਿਦਮ ਜੋ ਲੋਕ ਵਿਸ਼ਲੇਸ਼ਣ, ਟੈਸਟ ਅਤੇ ਭਰੋਸਾ ਕਰ ਸਕਦੇ ਸਨ।
Adleman ਦੀ ਇੱਕ ਵੱਡੀ ਭੂਮਿਕਾ ਵਿਚਾਰ ਨੂੰ ਦਬਾਅ-ਟੈਸਟ ਕਰਨਾ ਸੀ। ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਵਿੱਚ, ਇੱਕ ਯੋਜਨਾ ਉਸ ਲਈ ਕੀਮਤੀ ਨਹੀਂ ਹੁੰਦੀ ਕਿ ਉਹ ਸੁਣਨ ਵਿੱਚ ਸੰਭਵ ਲੱਗੇ; ਕੀਮਤੀ ਉਹ ਹੁੰਦੀ ਹੈ ਜੋ ਕਿ ਗੰਭੀਰ ਹਮਲਿਆਂ ਅਤੇ ਨਿਰੀਖਣ ਨੂੰ ਬਰਦਾਸ਼ਤ ਕਰੇ। Adleman ਨੇ ਮਾਨਤਾ ਦੇਣ, ਧਾਰਣਾਵਾਂ ਨੂੰ ਨਿਖਾਰਨ, ਅਤੇ ਸ਼ੁਰੂਆਤੀ ਫਰੇਮਿੰਗ ਵਿੱਚ ਯੋਗਦਾਨ ਦਿੱਤਾ ਕਿ RSA ਕਿਉਂ ਤੋੜਨਾ ਮੁਸ਼ਕਲ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
ਇੱਕੋ ਮਹੱਤਵਪੂਰਨ ਗੱਲ: ਉਸਨੇ "ਇਹ ਹੋ ਸਕਦਾ ਹੈ" ਨੂੰ "ਇਹ ਇਕ ਐਸਾ ਕ੍ਰਿਪਟੋਸਿਸਟਮ ਹੈ ਜੋ ਹੋਰਾਂ ਮੁਲਾਂਕਣ ਕਰ ਸਕਦੇ ਹਨ" ਵਿੱਚ ਬਦਲਣ ਵਿੱਚ ਮਦਦ ਕੀਤੀ। ਇਸ ਸਪਸ਼ਟਤਾ—ਡਿਜ਼ਾਇਨ ਨੂੰ ਇਸਤਰਾ ਸਮਝਾਉਣਾ ਕਿ ਵੱਡਾ ਰਿਸਰਚ ਕਮਿਊਨਿਟੀ ਉਸਦੀ ਜਾਂਚ ਕਰ ਸਕੇ—ਗ੍ਰਹਿਣਯੋਗਤਾ ਲਈ ਨਿਰਣਾਇਕ ਸੀ।
RSA ਤੋਂ ਪਹਿਲਾਂ, ਸੁਰੱਖਿਅਤ ਸੰਚਾਰ ਆਮ ਤੌਰ 'ਤੇ ਦੋਨਾਂ ਧਿਰਾਂ ਦਾ ਪਹਿਲਾਂ ਤੋਂ ਸਾਂਝਾ ਕੀਤਾ ਗਿਆ ਰਾਜ਼ ਨਿਰਭਰ ਸੀ। ਇਹ ਤਰੀਕਾ ਬੰਦ ਗਰੁੱਪਾਂ ਵਿੱਚ ਚੰਗਾ ਕੰਮ ਕਰਦਾ ਸੀ, ਪਰ ਜਦ ਜਨਤਕ ਸੇਵਾ ਲੱਖਾਂ ਲੋਕਾਂ ਦੁਆਰਾ ਵਰਤੀ ਜਾਣੀ ਹੋਵੇ, ਇਹ ਸਕੇਲ ਨਹੀਂ ਹੁੰਦੀ।
RSA ਨੇ ਇਸ ਕਹਾਣੀ ਨੂੰ ਬਦਲ ਦਿੱਤਾ ਇੱਕ ਪ੍ਰਯੋਗਯੋਗ ਪਬਲਿਕ-ਕੀ ਕ੍ਰਿਪਟੋਸਿਸਟਮ ਨੂੰ ਪ੍ਰਚਲਿਤ ਕਰ ਕੇ: ਤੁਸੀਂ ਇਕ ਕੁੰਜੀ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹੋ ਦੂਜਿਆਂ ਲਈ ਵਰਤੋਂ ਲਈ, ਜਦਕਿ ਇੱਕ ਹੋਰ ਪ੍ਰਾਈਵੇਟ ਕੀ ਨੂੰ ਗੁਪਤ ਰੱਖਦੇ ਹੋ।
RSA ਦਾ ਪ੍ਰਭਾਵ ਇੱਕ ਗਿਣਤੀ ਨਾਲੋਂ ਵੱਧ ਹੈ। ਇਸ ਨੇ ਦੋ ਇੰਟਰਨੈੱਟ ਜ਼ਰੂਰੀਆਂ ਨੂੰ ਸਕੇਲ 'ਤੇ ਸੰਭਵ ਮਹਿਸੂਸ ਕਰਵਾਇਆ:
ਇਹ ਵਿਚਾਰ HTTPS, ਆਨਲਾਈਨ ਬੈਂਕਿੰਗ ਅਤੇ ਸਾਈਨ ਕੀਤੀਆਂ ਸੌਫਟਵੇਅਰ ਅੱਪਡੇਟਸ ਨੂੰ ਆਮ ਉਮੀਦਾਂ ਬਣਾਉਂਦੇ ਹਨ।
RSA ਤੋਂ ਪਹਿਲਾਂ, ਸੁਰੱਖਿਅਤ ਸੰਚਾਰ ਅਕਸਰ ਅਰਥ ਸੀ ਸ਼ੇਅਰ ਕੀਤੇ ਰਾਜ਼ ਐਨਕ੍ਰਿਪਸ਼ਨ: ਦੋਹਾਂ ਪੱਖਾਂ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਇੱਕੋ ਜਿਹੀ ਰਾਜ਼ ਕੁੰਜੀ ਹੋਣੀ ਚਾਹੀਦੀ ਸੀ। ਇਹ ਛੋਟੀ ਗਰੁੱਪ ਲਈ ਕੰਮ ਕਰ ਸਕਦਾ ਸੀ, ਪਰ ਜਦ ਤਰ੍ਹਾਂ ਇੱਕ ਜਨਤਕ ਸੇਵਾ ਲੱਖਾਂ ਲੋਕਾਂ ਦੁਆਰਾ ਵਰਤੀ ਜਾਵੇ ਤਾਂ ਇਹ ਟੁੱਟ ਜਾਂਦਾ ਹੈ।
ਜੇ ਹਰ ਗਾਹਕ ਨੂੰ ਬੈਂਕ ਨਾਲ ਗੱਲ ਕਰਨ ਲਈ ਇਕ ਵਿਲੱਖਣ ਰਾਜ਼ ਕੁੰਜੀ ਦੀ ਲੋੜ ਹੋਵੇ, ਤਾਂ ਬੈਂਕ ਨੂੰ ਬੇਅੰਤ ਰਾਜ਼ਾਂ ਨੂੰ ਬਣਾਉਣਾ, ਦੇਣਾ, ਸਟੋਰ ਕਰਨਾ, ਰੋਟੇਟ ਕਰਨਾ ਅਤੇ ਸੁਰੱਖਿਅਤ ਕਰਨਾ ਪਵੇਗਾ। ਸਭ ਤੋਂ ਮੁਸ਼ਕਲ ਹਿੱਸਾ ਗਣਿਤ ਨਹੀਂ—ਇਹ ਸਮਨਵਯ ਹੈ।
ਆਪਣੇ-ਆਪ ਨੂੰ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਰਾਜ਼ ਕੁੰਜੀ ਦੇਣ ਦੀ ਸਹੀ ਤਰੀਕਾ ਕੀ ਹੈ? ਡਾਕ ਨਾਲ ਭੇਜਣਾ ਸੁਸਤ ਅਤੇ ਜੋਖਮੀ ਹੈ। ਫੋਨ 'ਤੇ ਦੱਸਣਾ ਛੇੜਛਾੜ ਜਾਂ ਸੋਸ਼ਲ ਇੰਜੀਨੀਅਰਿੰਗ ਨਾਲ ਸੁਣਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਇੰਟਰਨੈੱਟ 'ਤੇ ਭੇਜਣਾ ਉਦੇਸ਼ ਨੂੰ ਫੇਲ ਕਰ ਦਿੰਦਾ ਹੈ, ਕਿਉਂਕਿ ਚੈਨਲ ਉਸੀ ਨੂੰ ਸੁਰੱਖਿਅਤ ਬਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ।
ਦੋ ਅਜਣਬੀਆਂ—ਮਾਨੋ ਤੁਸੀਂ ਅਤੇ ਇੱਕ ਔਨਲਾਈਨ ਦੁਕਾਨ—ਜਿਨ੍ਹਾਂ ਨੇ ਕਦੇ ਮਿਲਿਆ ਨਹੀਂ, ਤੁਹਾਨੂੰ ਸੁਰੱਖਿਅਤ ਭੁਗਤਾਨ ਭੇਜਣਾ ਹੈ। ਸਾਂਝੇ-ਰਾਜ਼ ਐਨਕ੍ਰਿਪਸ਼ਨ ਨਾਲ, ਤੁਹਾਨੂੰ ਉਹੀ ਨਿੱਜੀ ਕੁੰਜੀ ਦੋਹਾਂ ਨੂੰ ਪਹਿਲਾਂ ਹੀ ਜਾਣਣੀ ਪਏਗੀ। ਪਰ ਤੁਹਾਨੂੰ ਨਹੀਂ ਪਤਾ।
RSA ਨੇ ਉਹ ਪ੍ਰਗਟਾਵਾ ਕੀਤਾ ਕਿ ਪਹਿਲਾਂ ਰਾਜ਼ ਸਾਂਝਾ ਕੀਤੇ ਬਿਨਾਂ ਸੁਰੱਖਿਅਤ ਸੰਚਾਰ ਹੋ ਸਕਦਾ ਹੈ। ਇਸ ਦੀ ਥਾਂ, ਤੁਸੀਂ ਇੱਕ ਕੁੰਜੀ (ਪਬਲਿਕ ਕੀ) ਪ੍ਰਕਾਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹੋ ਜੋ ਕੋਈ ਵੀ ਤੁਹਾਡੇ ਲਈ ਸੁਨੇਹਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ ਵਰਤ ਸਕਦਾ ਹੈ, ਜਦਕਿ ਇਕ ਹੋਰ ਪ੍ਰਾਈਵੇਟ ਕੀ ਸਿਰਫ ਤੁਹਾਡੇ ਕੋਲ ਰਹਿੰਦੀ ਹੈ।
ਭਾਵੇਂ ਤੁਸੀਂ ਸੁਨੇਹਿਆਂ ਨੂੰ ਐਨਕ੍ਰਿਪਟ ਕਰ ਸਕਦੇ ਹੋ, ਤੁਹਾਨੂੰ ਫਿਰ ਵੀ ਇਹ ਜਾਣਨਾ ਪਏਗਾ ਕਿ ਤੁਸੀਂ ਕਿਸ ਨੂੰ ਐਨਕ੍ਰਿਪਟ ਕਰ ਰਹੇ ਹੋ। ਨਹੀਂ ਤਾਂ ਹਮਲਾਕਾਰ ਬੈਂਕ ਜਾਂ ਦੁਕਾਨ ਦੀ ਨਕਲ ਕਰ ਕੇ ਤੁਹਾਨੂੰ ਆਪਣੀ ਕੁੰਜੀ ਵਰਤਣ ਲਈ ਧੋਖਾ ਦੇ ਸਕਦਾ ਹੈ ਅਤੇ ਚੁੱਪਚਾਪ ਸਭ ਕੁਝ ਪੜ੍ਹ ਜਾਂ ਬਦਲ ਸਕਦਾ ਹੈ।
ਇਸ ਲਈ ਸੁਰੱਖਿਅਤ ਇੰਟਰਨੈੱਟ ਸੰਚਾਰ ਨੂੰ ਦੋ ਗੁਣਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ:
RSA ਨੇ ਦੋਹਾਂ ਨੂੰ ਸੰਭਵ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕੀਤੀ, ਅਤੇ ਇੰਟਰਨੈੱਟ 'ਤੇ ਭਰੋਸਾ ਕੰਮ ਕਰਨ ਲਈ ਬੁਨਿਆਦ ਰੱਖੀ।
ਪਬਲਿਕ-ਕੀ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਇੱਕ ਸਧਾਰਨ ਵਿਚਾਰ ਹੈ ਜਿਸਦੇ ਵੱਡੇ ਨਤੀਜੇ ਹਨ: ਤੁਸੀਂ ਕਿਸੇ ਨੂੰ ਬੰਦ ਕਰ ਸਕਦੇ ਹੋ ਬਿਨਾਂ ਪਹਿਲਾਂ ਇੱਕ ਸਾਂਝਾ ਰਾਜ਼ ਤੈਅ ਕੀਤੇ। ਇਹੀ ਮੁੱਖ ਬਦਲਾਵ RSA ਨੇ ਪ੍ਰਯੋਗਯੋਗ ਬਣਾਇਆ।
ਇੱਕ ਪਬਲਿਕ ਕੀ ਨੂੰ ਇੱਕ ਲਾਕ ਸਮਝੋ ਜੋ ਤੁਸੀਂ ਕਿਸੇ ਨੂੰ ਵੀ ਦੇ ਸਕਦੇ ਹੋ। ਲੋਕ ਇਸਨੂੰ ਤੁਹਾਡੇ ਲਈ ਸੁਨੇਹਾ ਬਚਾਉਣ ਲਈ ਵਰਤ ਸਕਦੇ ਹਨ—ਜਾਂ (ਸਾਈਨੇਚਰ ਪ੍ਰਣਾਲੀਆਂ ਵਿੱਚ) ਇਹ ਜਾਂਚਣ ਲਈ ਕਿ ਕੁਝ ਸੱਚਮੁੱਚ ਤੁਹਾਡੇ ਵਲੋਂ ਆਇਆ।
ਇੱਕ ਪ੍ਰਾਈਵੇਟ ਕੀ ਉਹ ਚੀਜ਼ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਆਪਣੇ ਲਈ ਰੱਖਣੀ ਚਾਹੀਦੀ ਹੈ। ਇਹ ਉਹ ਹੈ ਜੋ ਤੁਹਾਡੇ ਪਬਲਿਕ ਕੀ ਨਾਲ ਬੰਦ ਕੀਤੀ ਚੀਜ਼ ਨੂੰ ਖੋਲ੍ਹਦੀ ਹੈ, ਅਤੇ ਇਹ ਉਹੀ ਹੈ ਜੋ ਤੁਸੀਂ ਸਾਈਨ ਬਣਾਉਣ ਲਈ ਵਰਤਦੇ ਹੋ।
ਇੱਕਠੇ, ਪਬਲਿਕ ਅਤੇ ਪ੍ਰਾਈਵੇਟ ਕੀ ਇਕ ਕੀ ਜੋੜੀ ਬਣਾਉਂਦੇ ਹਨ। ਉਹ ਗਣਿਤਕ ਰੂਪ ਵਿੱਚ ਜੁੜੇ ਹਨ, ਪਰ ਆਪਸੀ ਤੌਰ 'ਤੇ ਬਦਲਣਯੋਗ ਨਹੀਂ ਹਨ। ਪਬਲਿਕ ਕੀ ਸਾਂਝੀ ਕਰਨ ਨਾਲ ਸੁਰੱਖਿਆ ਹੈ ਕਿਉਂਕਿ ਇਸਨੂੰ ਜਾਣ ਕੇ ਕਿਸੇ ਨੂੰ ਪ੍ਰਾਈਵੇਟ ਕੀ ਪ੍ਰਾਪਤ ਕਰਨ ਦਾ ਪ੍ਰਯੋਗਿਕ ਤਰੀਕਾ ਨਹੀਂ ਮਿਲਦਾ।
ਐਨਕ੍ਰਿਪਸ਼ਨ ਗੋਪਨੀਅਤਾ ਬਾਰੇ ਹੈ। ਜੇ ਕੋਈ ਤੁਹਾਡੀ ਪਬਲਿਕ ਕੀ ਨਾਲ ਸੁਨੇਹਾ ਐਨਕ੍ਰਿਪਟ ਕਰਦਾ ਹੈ, ਤਾਂ ਸਿਰਫ ਤੁਹਾਡੀ ਪ੍ਰਾਈਵੇਟ ਕੀ ਹੀ ਉਸਨੂੰ ਡੀਕ੍ਰਿਪਟ ਕਰ ਸਕਦੀ ਹੈ।
ਡਿਜਿਟਲ ਸਾਈਨੇਚਰ ਭਰੋਸਾ ਅਤੇ ਇੰਟੀਗ੍ਰਿਟੀ ਬਾਰੇ ਹਨ। ਜੇ ਤੁਸੀਂ ਆਪਣੀ ਪ੍ਰਾਈਵੇਟ ਕੀ ਨਾਲ ਕੁਝ ਸਾਈਨ ਕਰਦੇ ਹੋ, ਤਾਂ ਜੋ ਕੋਈ ਵੀ ਤੁਹਾਡੀ ਪਬਲਿਕ ਕੀ ਰੱਖਦਾ ਹੈ ਉਹ ਦੋ ਗੱਲਾਂ ਚੈੱਕ ਕਰ ਸਕਦਾ ਹੈ:
ਸੁਰੱਖਿਆ ਜਾਦੂ ਨਹੀਂ—ਇਹ ਉਨ੍ਹਾਂ ਮੁਸ਼ਕਲ ਗਣਿਤਕ ਸਮੱਸਿਆਵਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ ਜੋ ਇੱਕ ਤਰਫ਼ ਕਰਨ ਲਈ ਆਸਾਨ ਹਨ ਪਰ ਉਲਟ ਕਰਨ ਲਈ ਮੌਜੂਦਾ ਕੰਪਿਊਟਰਾਂ ਨਾਲ ਬਹੁਤ ਔਖਾ। ਇਸ "ਇੱਕ-ਤਰਫ਼" ਵਿਸ਼ੇਸ਼ਤਾ ਕਰਕੇ ਪਬਲਿਕ ਕੀ ਸਾਂਝੀ ਕਰਨਾ ਸੁਰੱਖਿਅਤ ਹੈ ਅਤੇ ਪ੍ਰਾਈਵੇਟ ਕੀ ਸ਼ਕਤੀਸ਼ਾਲੀ ਰਹਿੰਦੀ ਹੈ।
RSA ਇੱਕ ਸਾਦਾ ਅਸਮੈਟ੍ਰਿਕਤਾ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ: "ਅੱਗੇ" ਦੀ ਗਣਿਤ ਕਰਨ ਦੀ ਕਿਰਿਆ ਆਸਾਨ ਹੈ, ਪਰ ਉਸਨੂੰ ਉਲਟ ਕਰਨਾ ਬਹੁਤ ਮੁਸ਼ਕਲ ਹੈ—ਜੇ ਤਕ ਤੁਹਾਡੇ ਕੋਲ ਇੱਕ ਖ਼ਾਸ ਗੁਪਤ ਨਹੀ ਹੈ।
RSA ਨੂੰ ਇਕ ਪ੍ਰਕਾਰ ਦੇ ਗਣਿਤਕ ਪੈਡਲਾਕ ਵਜੋਂ ਸੋਚੋ। ਕੋਈ ਵੀ ਪਬਲਿਕ ਕੀ ਵਰਤ ਕੇ ਸੁਨੇਹਾ ਲਾਕ ਕਰ ਸਕਦਾ ਹੈ। ਪਰ ਸਿਰਫ ਉਹੀ ਜੋ ਪ੍ਰਾਈਵੇਟ ਕੀ ਰੱਖਦਾ ਹੈ ਉਹੀ ਇਸਨੂੰ ਖੋਲ੍ਹ ਸਕਦਾ ਹੈ।
ਇਹ ਸੰਭਵ ਬਣਾਉਂਦਾ ਹੈ ਕਿਉਂਕਿ ਦੋ ਕੁੰਜੀਆਂ ਦੇ ਵਿਚਕਾਰ ਧਿਆਨ ਨਾਲ ਚੁਣਿਆ ਰਿਸ਼ਤਾ ਹੁੰਦਾ ਹੈ। ਉਹ ਇਕੱਠੇ ਬਣਾਏ ਜਾਂਦੇ ਹਨ, ਅਤੇ ਜਦੋਂ ਕਿ ਉਹ ਸਬੰਧਤ ਹਨ, ਪਬਲਿਕ ਕੀ ਨੂੰ ਦੇਖ ਕੇ ਪ੍ਰਾਈਵੇਟ ਕੀ ਤਿਆਰ ਕਰਨਾ ਹਕੀਕਤ ਵਿੱਚ ਪ੍ਰਯੋਗਿਕ ਤਰੀਕੇ ਨਾਲ ਸੰਭਵ ਨਹੀਂ ਹੁੰਦਾ।
ਉਚੀ-ਕਾਮਗਾਰਤਾ ਦੇ ਦ੍ਰਿਸ਼ਟੀਕੋਣ ਤੋਂ, RSA ਇਸ ਗੱਲ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਕਿ ਵੱਡੇ ਪ੍ਰਾਈਮ ਨੰਬਰਾਂ ਨੂੰ ਗੁਣਾ ਕਰਨਾ ਆਸਾਨ ਹੈ, ਪਰ ਉਨ੍ਹਾਂ ਨੂੰ ਮੁੜ-ਤੋੜਨਾ—ਉਹਨੂੰ ਪਤਾ ਲਗਾਉਣਾ ਕਿ ਕਿਹੜੇ ਪ੍ਰਾਈਮ ਗੁਣੇ ਗਏ ਸਨ—ਉਸ ਵੇਲੇ ਬਹੁਤ ਔਖਾ ਹੈ।
ਛੋਟੇ ਨੰਬਰਾਂ ਲਈ, ਫੈਕਟੋਰਿੰਗ ਤੇਜ਼ ਹੈ। ਪਰ ਅਸਲ RSA ਕੀਜ਼ (ਹਜ਼ਾਰਾਂ ਬਿਟ) ਲਈ, ਸਭ ਤੋਂ ਵਧੀਆ ਜਾਣੇ-ਮਾਨੇ ਤਰੀਕੇ ਵੀ ਨਾਬਾਬ ਗਿਣਤੀ ਅਤੇ ਕੰਪਿਊਟਿੰਗ ਤਾਕਤ ਮੰਗਦੇ ਹਨ। ਇਹ "ਉਲਟ ਕਰਨ ਲਈ ਔਖਾ" ਗੁਣਾਤਮਕਤਾ ਹਮਲਾਕਾਰਾਂ ਨੂੰ ਪ੍ਰਾਈਵੇਟ ਕੀ ਦੁਬਾਰਾ ਬਣਾਉਣ ਤੋਂ ਰੋਕਦੀ ਹੈ।
RSA ਆਮ ਤੌਰ 'ਤੇ ਵੱਡੀਆਂ ਫਾਈਲਾਂ ਜਾਂ ਲੰਮੇ ਸੁਨੇਹਿਆਂ ਨੂੰ ਸਿੱਧਾ ਐਨਕ੍ਰਿਪਟ ਕਰਨ ਲਈ ਵਰਤਿਆ ਨਹੀਂ ਜਾਂਦਾ। ਬਦਲੇ ਵਿਚ, ਇਹ ਆਮ ਤੌਰ 'ਤੇ ਛੋਟੇ ਰਾਜ਼ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਦਾ—ਸਭ ਤੋਂ ਮਸ਼ਹੂਰ ਇੱਕ ਯਾਦਗਾਰ ਤੌਰ 'ਤੇ ਤਿਆਰ ਕੀਤੀ ਗਈ ਸੈਸ਼ਨ ਕੀ। ਉਹ ਸੈਸ਼ਨ ਕੀ ਫਿਰ ਤੇਜ਼ ਸਿੰਮੇਟ੍ਰਿਕ ਐਨਕ੍ਰਿਪਸ਼ਨ ਨਾਲ ਵਾਸਤਵਿਕ ਡੇਟਾ ਨੂੰ ਐਨਕ੍ਰਿਪਟ ਕਰਦੀ ਹੈ, ਜੋ ਬਲਕ ਟ੍ਰੈਫਿਕ ਲਈ ਯੋਗ ਹੈ।
RSA ਮਸ਼ਹੂਰ ਹੈ ਕਿਉਂਕਿ ਇਹ ਦੋ ਸੰਬੰਧਿਤ—ਪਰ ਬਹੁਤ ਵੱਖਰੇ—ਕੰਮ ਕਰ ਸਕਦਾ ਹੈ: ਐਨਕ੍ਰਿਪਸ਼ਨ ਅਤੇ ਡਿਜਿਟਲ ਸਾਈਨੇਚਰ। ਉਹਨਾਂ ਨੂੰ ਗੜਬੜ ਕਰ ਦੇਣਾ ਆਮ ਗਲਤੀ ਹੈ।
ਐਨਕ੍ਰਿਪਸ਼ਨ ਮੁੱਖ ਤੌਰ 'ਤੇ ਗੋਪਨੀਅਤਾ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਉਂਦੀ ਹੈ। ਡਿਜਿਟਲ ਸਾਈਨੇਚਰ ਮੁੱਖ ਤੌਰ 'ਤੇ ਇੰਟੀਗ੍ਰਿਟੀ + ਪੁਰਾਣਗੀ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਉਂਦੀਆਂ ਹਨ।
RSA ਐਨਕ੍ਰਿਪਸ਼ਨ ਵਿੱਚ, ਕੋਈ ਤੁਹਾਡੀ ਪਬਲਿਕ ਕੀ ਨਾਲ ਕੁਝ ਲਾਕ ਕਰਦਾ ਹੈ ਤਾਂ ਕੇ ਸਿਰਫ਼ ਤੁਹਾਡੀ ਪ੍ਰਾਈਵੇਟ ਕੀ ਉਸਨੂੰ ਖੋਲ੍ਹ ਸਕੇ।
ਵਾਸਤਵ ਵਿੱਚ, RSA ਅਕਸਰ ਇੱਕ ਛੋਟੇ ਰਾਜ਼ (ਜਿਵੇਂ ਸੈਸ਼ਨ ਕੀ) ਦੀ ਰੱਖਿਆ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। ਉਹ ਸੈਸ਼ਨ ਕੀ ਫਿਰ ਬਲਕ ਡੇਟਾ ਨੂੰ ਤੇਜ਼ ਸਿੰਮੇਟ੍ਰਿਕ ਐਲਗੋਰਿਦਮ ਨਾਲ ਐਨਕ੍ਰਿਪਟ ਕਰਦੀ ਹੈ।
RSA ਸਾਈਨੇਚਰਾਂ ਵਿੱਚ ਦਿਸ਼ਾ ਉਲਟ ਜਾਂਦੀ ਹੈ: ਭੇਜਣ ਵਾਲਾ ਆਪਣੀ ਪ੍ਰਾਈਵੇਟ ਕੀ ਨਾਲ ਸਾਈਨ ਬਣਾਉਂਦਾ ਹੈ, ਅਤੇ ਕੋਈ ਵੀ ਜਿਸ ਕੋਲ ਪਬਲਿਕ ਕੀ ਹੈ ਉਹ ਜਾਂਚ ਸਕਦਾ ਹੈ:
ਡਿਜਿਟਲ ਸਾਈਨੇਚਰ ਹਰ ਰੋਜ਼ ਦੀਆਂ "ਹੋਣ ਦੀ ਮਨਜ਼ੂਰੀ" ਘੜੀਆਂ ਵਿੱਚ ਆਉਂਦੇ ਹਨ:
ਐਨਕ੍ਰਿਪਸ਼ਨ ਰਾਜ਼ਾਂ ਨੂੰ ਰੱਖਦੀ ਹੈ; ਸਾਈਨੇਚਰ ਭਰੋਸਾ ਰੱਖਦੇ ਹਨ।
ਤੁਹਾਡੇ ਬਰਾਊਜ਼ਰ ਵਿੱਚ ਪੈਡਲਾਕ ਇੱਕ ਸੰਕੇਤ ਹੈ: ਤੁਹਾਡੀ ਕਨੈਕਸ਼ਨ ਇਸ ਵੈੱਬਸਾਈਟ ਨਾਲ ਲੁਕਾਈ ਅਤੇ (ਅਕਸਰ) ਪ੍ਰਮਾਣੀਕ੍ਰਿਤ ਹੈ। ਇਹ ਮਤਲਬ ਹੈ ਕਿ ਨੈੱਟਵਰਕ 'ਤੇ ਹੋਰ ਲੋਕ—ਜਿਵੇਂ ਕਿਸੇ ਸਰਵਜਨਕ Wi‑Fi 'ਤੇ ਕੋਈ—ਤੁਹਾਡੇ ਬਰਾਊਜ਼ਰ ਅਤੇ ਸਾਈਟ ਵੱਲੋਂ ਭੇਜੇ ਗਏ ਡੇਟਾ ਨੂੰ ਨਹੀਂ ਪੜ੍ਹ ਸਕਦੇ ਜਾਂ ਸੁਨੈਹਰੀ ਤਰੀਕੇ ਨਾਲ ਬਦਲ ਨਹੀਂ ਸਕਦੇ।
ਇਹ ਨਹੀਂ ਦੱਸਦਾ ਕਿ ਵੈਬਸਾਈਟ ਹਰ ਰੂਪ ਵਿੱਚ "ਸੁਰੱਖਿਅਤ" ਹੈ। ਪੈਡਲਾਕ ਤੁਹਾਨੂੰ ਇਹ ਨਹੀਂ ਦੱਸ ਸਕਦਾ ਕਿ ਦੁਕਾਨ ਇਮਾਨਦਾਰ ਹੈ, ਡਾਊਨਲੋਡ ਮਾਲਵੇਅਰ ਹੈ, ਜਾਂ ਤੁਸੀਂ ਸਹੀ ਡੋਮੇਨ ਦਰਜ ਕੀਤਾ। ਇਹ ਇਹ ਵੀ ਯਕੀਨੀ ਨਹੀਂ ਕਰਦਾ ਕਿ ਵੈਬਸਾਈਟ ਤੁਹਾਡੇ ਡੇਟਾ ਨੂੰ ਆਪਣੇ ਸਰਵਰਾਂ 'ਤੇ ਪਹੁੰਚਣ ਤੋਂ ਬਾਅਦ ਸੁਰੱਖਿਅਤ ਰੱਖੇਗੀ।
ਜਦੋਂ ਤੁਸੀਂ HTTPS ਸਾਈਟ 'ਤੇ ਜਾਦੇ ਹੋ, ਤੁਹਾਡਾ ਬਰਾਊਜ਼ਰ ਅਤੇ ਸਰਵਰ ਇੱਕ ਸੈਟਅਪ ਗੱਲਬਾਤ ਚਲਾਉਂਦੇ ਹਨ ਜਿਸਨੂੰ TLS ਹੈਂਡਸ਼ੇਕ ਕਹਿੰਦੇ ਹਨ:
ਇਤਿਹਾਸਿਕ ਤੌਰ 'ਤੇ, RSA ਅਕਸਰ ਸੈਸ਼ਨ ਕੀ ਦੇ ਅਦਾਨ-ਪ੍ਰਦਾਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਸੀ (ਬਰਾਊਜ਼ਰ ਸਰਵਰ ਦੀ RSA ਪਬਲਿਕ ਕੀ ਨਾਲ ਇੱਕ ਰਾਜ਼ ਐਨਕ੍ਰਿਪਟ ਕਰਦਾ)। ਆਧੁਨਿਕ TLS ਕਨਫਿਗਰੇਸ਼ਨਾਂ ਵਿੱਚ, RSA ਅਕਸਰ ਮੁੱਖ ਤੌਰ 'ਤੇ ਪ੍ਰਮਾਣੀਕਰਨ (ਸਾਈਨੇਚਰ) ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ, ਜਦਕਿ ਕੀ ਸਹਿਮਤੀ ਲਈ ਹੋਰ ਤਰੀਕੇ ਵਰਤੇ ਜਾਂਦੇ ਹਨ।
RSA ਛੋਟੀ ਜਿਹੀ ਜਾਣਕਾਰੀ ਦੀ ਸੁਰੱਖਿਆ ਲਈ ਬਹੁਤ ਚੰਗੀ ਹੈ ਅਤੇ ਸੈਟਅਪ ਦੌਰਾਨ ਛੋਟੇ ਰਾਜ਼ਾਂ ਦੀ ਰੱਖਿਆ ਕਰਦੀ ਹੈ, ਪਰ ਇਹ ਸਿੰਮੇਟ੍ਰਿਕ ਐਨਕ੍ਰਿਪਸ਼ਨ ਨਾਲੋਂ ਸੁਸਤ ਹੈ। ਹੈਂਡਸ਼ੇਕ ਤੋਂ ਬਾਅਦ, HTTPS ਅਸਲ ਪੇਜ਼ ਲੋਡ, ਲੌਗਇਨ ਅਤੇ ਬੈਂਕਿੰਗ ਲੈਣ-ਦੇਣ ਲਈ ਤੇਜ਼ ਸਿੰਮੇਟ੍ਰਿਕ ਅਲਗੋਰਿਦਮਾਂ 'ਤੇ ਸਵਿੱਚ ਕਰ ਲੈਂਦਾ ਹੈ।
ਆਨਲਾਈਨ ਬੈਂਕਿੰਗ ਇੱਕ ਸਧਾਰਨ ਵਾਅਦਾ ਰੱਖਦੀ ਹੈ: ਤੁਹਾਨੂੰ ਲਾਗਇਨ, ਬਕਾਇਆ ਵੇਖਣਾ, ਅਤੇ ਪੈਸਾ ਭੇਜਣਾ ਚਾਹੀਦਾ ਹੈ ਬਿਨਾਂ ਕਿਸੇ ਹੋਰ ਨੇ ਤੁਹਾਡੇ ਪ੍ਰਮਾਣ ਪੱਤਰ ਸਿੱਖਣ ਜਾਂ ਜੋ ਤੁਸੀਂ ਭੇਜ ਰਹੇ ਹੋ ਉਸਨੂੰ ਛੇੜਛਾੜ ਕਰਨ।
ਇੱਕ ਬੈਂਕਿੰਗ ਸੈਸ਼ਨ ਨੂੰ ਇੱਕੋ ਸਮੇਂ ਤਿੰਨ ਗੱਲਾਂ ਦੀ ਰੱਖਿਆ ਕਰਨੀ ਪੈਂਦੀ ਹੈ:
HTTPS ਦੇ ਬਿਨਾਂ, ਇੱਕੋ Wi‑Fi, ਇੱਕ ਕੰਪ੍ਰੋਮਾਈਜ਼ਡ ਰਾਊਟਰ, ਜਾਂ ਇੱਕ ਦੁਰਭਾਵਨ network operator ਕਿਸੇ ਦੇ ਟ੍ਰੈਫਿਕ ਨੂੰ ਸੁਣ ਜਾਂ ਛੇੜ ਸਕਦਾ ਹੈ।
HTTPS (TLS ਰਾਹੀਂ) ਕਨੈਕਸ਼ਨ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਸੁਰੱਖਿਅਤ ਕਰਦਾ ਹੈ ਕਿ ਤੁਹਾਡੇ ਬਰਾਊਜ਼ਰ ਅਤੇ ਬੈਂਕ ਦਰਮਿਆਨ ਚੱਲ ਰਹੀ ਜਾਣਕਾਰੀ ਐਨਕ੍ਰਿਪਟ ਅਤੇ ਇੰਟੀਗ੍ਰਿਟੀ-ਚੈੱਕ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਪ੍ਰਯੋਗਿਕ ਤੌਰ 'ਤੇ, ਇਸਦਾ ਅਰਥ ਹੈ:
ਇੱਥੇ RSA ਦਾ ਇਤਿਹਾਸਿਕ ਭੂਮਿਕਾ ਮਹੱਤਵਪੂਰਨ ਸੀ ਕਿਉਂਕਿ ਇਸਨੇ "ਪਹਿਲੀ ਸੰਪਰਕ" ਸਮੱਸਿਆ ਹੱਲ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕੀਤੀ: ਇੱਕ ਅਸੁਰੱਖਿਅਤ ਨੈੱਟਵਰਕ 'ਤੇ ਸੁਰੱਖਿਅਤ ਸੈਸ਼ਨ ਸਥਾਪਤ ਕਰਨਾ।
ਜੇ ਤੁਸੀਂ ਗਲਤ ਪੱਖ ਨੂੰ ਐਨਕ੍ਰਿਪਟ ਕਰ ਰਹੇ ਹੋ ਤਾਂ ਸਿਰਫ ਐਨਕ੍ਰਿਪਸ਼ਨ ਕਾਫੀ ਨਹੀਂ। ਆਨਲਾਈਨ ਬੈਂਕਿੰਗ ਸਿਰਫ਼ ਇਸ ਲਈ ਕੰਮ ਕਰਦੀ ਹੈ ਕਿ ਤੁਹਾਡਾ ਬਰਾਊਜ਼ਰ ਇਹ ਦੱਸ ਸਕੇ ਕਿ ਉਹ ਅਸਲ ਬੈਂਕ ਨਾਲ ਗੱਲ ਕਰ ਰਿਹਾ ਹੈ, ਨ ਕਿ ਕੋਈ ਨਕਲੀ ਸਾਈਟ ਜਾਂ ਮੈਨ-ਇਨ-ਦ-ਮਿਡਲ।
ਬੈਂਕ ਹਜੇ ਵੀ MFA, ਡਿਵਾਈਸ ਚੈੱਕ ਅਤੇ ਫ਼ਰਾਡ ਮਾਨੀਟਰਿੰਗ ਵਰਤਦੇ ਹਨ। ਇਹਨਾਂ ਨਾਲ ਜਦੋਂ ਪ੍ਰਮਾਣਪੱਤਰ ਚੁਰਾਏ ਜਾਂਦੇ ਹਨ ਤਦ ਨੁਕਸਾਨ ਘਟਦਾ ਹੈ—ਪਰ ਇਹ HTTPS ਦੀ ਜਗ੍ਹਾ ਨਹੀਂ ਲੈਂਦੇ। ਇਹ ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਪ੍ਰਾਈਵੇਟ ਅਤੇ ਛੇੜਛਾੜ-ਰਹਿਤ ਕਨੈਕਸ਼ਨ 'ਤੇ ਵਧੀਆ ਕੰਮ ਕਰਦੇ ਹਨ।
ਸੌਫਟਵੇਅਰ ਅੱਪਡੇਟ ਇੱਕ ਭਰੋਸੇ ਦੀ ਸਮੱਸਿਆ ਹੈ ਜਿਵੇਂ ਕਿ ਤਕਨੀਕੀ ਸਮੱਸਿਆ। ਭਾਵੇਂ ਕੋਈ ਐਪ ਧਿਆਨ ਨਾਲ ਲਿਖੀ ਗਈ ਹੋਵੇ, ਹਮਲਾਕਾਰ ਡਿਲਿਵਰੀ ਕਦਮ 'ਤੇ ਟਾਰਗੇਟ ਕਰ ਸਕਦੇ ਹਨ—ਇੱਕ ਵਾਸ਼ਤਵਿਕ ਇੰਸਟਾਲਰ ਨੂੰ ਬਦਲ ਕੇ ਇੱਕ ਤਬਦੀਲੀਸ਼ੁਦਾ ਵਰਜਨ ਦੇ ਸਕਦੇ ਹਨ, ਜਾਂ ਅੱਪਡੇਟ ਰਸਤੇ ਵਿੱਚ ਇੱਕ ਤਖਤਮੀਲ ਕੀਤਾ ਹੋਇਆ ਫਾਈਲ ਫੇੜ ਦੇ ਸਕਦੇ ਹਨ। ਜਿਸ ਤਰਾਂ ਤੁਸੀਂ ਜੋ ਡਾਊਨਲੋਡ ਕੀਤਾ ਹੈ ਉਸਦੀ ਯਕ਼ੀਨੀ ਸਰਤ ਨਹੀਂ ਹੋਵੇ, "ਅੱਪਡੇਟ ਉਪਲਬਧ" ਆਸਾਨ ਏਨਟਰੀ ਪੋਇੰਟ ਬਣ ਸਕਦਾ ਹੈ।
ਜੇ ਅੱਪਡੇਟ ਸਿਰਫ਼ ਡਾਊਨਲੋਡ ਲਿੰਕ ਨਾਲ ਸੁਰੱਖਿਅਤ ਹਨ, ਤਾਂ ਜੋ ਕੋਈ ਮਿਰਰ ਕੰਪਰੋਮਾਈਜ਼ ਕਰ ਲੈਂਦਾ ਹੈ, ਨੈੱਟਵਰਕ ਹਾਈਜੈਕ ਕਰ ਲੈਂਦਾ ਹੈ, ਜਾਂ ਉਪਭੋਗਤਾ ਨੂੰ ਨਕਲ ਪੇਜ 'ਤੇ ਲੈ ਜਾਂਦਾ ਹੈ, ਉਹ ਇੱਕ ਵੱਖਰੀ ਫਾਇਲ ਪਰੋਵਾਈਡ ਕਰ ਸਕਦਾ ਹੈ ਜਿਸਦਾ ਨਾਮ ਇੱਕੋ ਰਹੇ। ਉਪਭੋਗਤਾ ਆਮ ਤੌਰ 'ਤੇ ਇਸਨੂੰ ਸਥਾਪਿਤ ਕਰ ਲੈਂਦਾ ਹੈ, ਅਤੇ ਨੁਕਸਾਨ "ਚੁੱਪ" ਹੋ ਸਕਦਾ ਹੈ: ਮਾਲਵੇਅਰ ਬੰਧ ਹੋਇਆ ਹੋਵੇ, ਪ੍ਰੋਗਰਾਮ ਵਿੱਚ ਬੈਕਡੋਰ ਸ਼ਾਮਲ ਹੋਣ, ਜਾਂ ਸੁਰੱਖਿਆ ਸੈਟਿੰਗਜ਼ ਨਰਮ ਕੀਤੀਆਂ ਜਾਣ।
ਕੋਡ ਸਾਈਨਿੰਗ ਪਬਲਿਕ-ਕੀ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ (ਕਈ ਪ੍ਰਣਾਲੀਆਂ ਵਿੱਚ RSA ਸਮੇਤ) ਨੂੰ ਵਰਤਦੀ ਹੈ ਤਾਂ ਜੋ ਇੱਕ ਇੰਸਟਾਲਰ ਜਾਂ ਅੱਪਡੇਟ ਪੈਕੇਜ ਨਾਲ ਡਿਜਿਟਲ ਸਾਈਨ ਜੁੜ ਸਕੇ।
ਪਬਲਿਸ਼ਰ ਪ੍ਰਾਈਵੇਟ ਕੀ ਨਾਲ ਸੌਫਟਵੇਅਰ 'ਤੇ ਸਾਈਨ ਕਰਦਾ ਹੈ। ਤੁਹਾਡਾ ਡਿਵਾਈਸ (ਜਾਂ OS) ਉਹ ਸਾਈਨ ਤੁਸੀਂ ਜਿਸ ਪਬਲਿਕ ਕੀ ਨਾਲ ਵੈਰੀਫਾਈ ਕਰਦਾ ਹੈ—ਅਕਸਰ ਇੱਕ ਸਰਟੀਫਿਕੇਟ ਚੇਨ ਰਾਹੀਂ। ਜੇ ਇਕ ਬਾਈਟ ਵੀ ਬਦਲ ਜਾਂਦੀ ਹੈ ਤਾਂ ਵੈਰੀਫਿਕੇਸ਼ਨ ਫੇਲ ਹੋ ਜਾਂਦੀ ਹੈ। ਇਹ ਭਰੋਸਾ ਇਸ ਤੋਂ ਸਥਾਨ ਨੂੰ ਵਧਾ ਕਰਦਾ ਹੈ ਕਿ "ਮੈਂ ਕਿੱਥੋਂ ਡਾਊਨਲੋਡ ਕੀਤਾ" ਤੋਂ ਬਦਲੇ "ਕੀ ਮੈਂ ਸਾਬਤ ਕਰ ਸਕਦਾ ਹਾਂ ਕਿ ਇਸਨੂੰ ਕਿਸ ਨੇ ਬਣਾਇਆ ਅਤੇ ਇਹ ਅਟੁੱਟ ਹੈ"।
ਆਧੁਨਿਕ ਐਪ ਡਿਲਿਵਰੀ ਪਾਈਪਲਾਈਨਾਂ ਵਿੱਚ, ਇਹੀ ਵਿਚਾਰ ਇੰਸਟਾਲਰ ਤੋਂ ਬਾਹਰ ਵੀ ਲਾਗੂ ਹੁੰਦੇ ਹਨ—API ਕਾਲਜ਼, ਬਿਲਡ ਆਰਟੀਫੈਕਟ, ਅਤੇ ਡਿਪਲੋਇਮੈਂਟ ਰੋਲਆਊਟ ਜਿਵੇਂ। ਉਦਾਹਰਨ ਲਈ, ਪਲੇਟਫਾਰਮਾਂ ਜਿਵੇਂ Koder.ai (ਇਕ vibe-coding ਪਲੇਟਫਾਰਮ ਜੋ ਚੈਟ ਇੰਟਰਫੇਸ ਤੋਂ ਵੈੱਬ, ਬੈਕਏਂਡ, ਅਤੇ ਮੋਬਾਈਲ ਐਪ ਭੇਜਦਾ ਹੈ) ਅਜੇ ਵੀ ਉਨ੍ਹਾਂ ਹੀ ਬੁਨਿਆਦਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹਨ: HTTPS/TLS ਡੇਟਾ-ਇਨ-ਟ੍ਰਾਂਜ਼ਿਟ ਲਈ, ਕਸਟਮ ਡੋਮੇਨਾਂ ਲਈ ਧਿਆਨ ਨਾਲ ਸਰਟੀਫਿਕੇਟ ਹੈਂਡਲਿੰਗ, ਅਤੇ ਚੇੰਜ ਪੂਸ਼ ਕਰਨ ਵੇਲੇ ਜੋਖਮ ਘਟਾਉਣ ਲਈ ਪ੍ਰਯੋਗਿਕ ਰੋਲਬੈਕ ਵਰਕਫਲੋਜ਼ (ਸਨੈਪਸ਼ਾਟਸ ਅਤੇ ਰੀਸਟੋਰ ਪੌਇੰਟ)।
ਸਾਈਨ ਕੀਤੇ ਅੱਪਡੇਟ ਬੇਖ਼ਬਰ ਛੇੜਛਾੜ ਦੇ ਮੌਕੇ ਘਟਾਉਂਦੇ ਹਨ। ਉਪਭੋਗਤਿਆਂ ਨੂੰ ਅਜਿਹੇ ਪਰਿਸਥਿਤੀਆਂ ਵਿੱਚ ਸਪੱਸ਼ਟ ਚੇਤਾਵਨੀਆਂ ਮਿਲਦੀਆਂ ਹਨ, ਅਤੇ ਆਟੋਮੇਟਿਕ ਅੱਪਡੇਟ ਸਿਸਟਮ ਤਬਦੀਲ ਫਾਇਲਾਂ ਨੂੰ ਚੱਲਣ ਤੋਂ ਪਹਿਲਾਂ ਰੱਦ ਕਰ ਸਕਦੇ ਹਨ। ਇਹ ਇਹ ਗਾਰੰਟੀ ਨਹੀਂ ਕਿ ਸੌਫਟਵੇਅਰ ਖ਼ੁਦ ਬੱਗ-ਮੁਕਤ ਹੈ, ਪਰ ਇਹ ਭਰੋਸਾ-ਸਪਲਾਈ ਚੇਨ ਵਿੱਚ ਨਕਲ ਅਤੇ ਦਖ਼ਲਅੰਦਾਜ਼ੀ ਦੇ ਖ਼ਿਲਾਫ਼ ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਰੱਖਿਆ ਹੈ।
ਗਹਿਰਾਈ ਨਾਲ ਦੇਖਣ ਲਈ ਕਿ ਸਾਈਨੇਚਰ, ਸਰਟੀਫਿਕੇਟ, ਅਤੇ ਵੈਰੀਫਿਕੇਸ਼ਨ ਕਿਵੇਂ ਮਿਲਕੇ ਕੰਮ ਕਰਦੇ ਹਨ, ਦੇਖੋ /blog/code-signing-basics।
ਜੇ RSA ਤੁਹਾਨੂੰ ਇੱਕ ਪਬਲਿਕ ਕੀ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਅਗਲਾ ਸਵਾਲ ਹੁੰਦਾ ਹੈ: ਇਹ ਕਿਸ ਦੀ ਪਬਲਿਕ ਕੀ ਹੈ?
ਇੱਕ ਸਰਟੀਫਿਕੇਟ ਇੰਟਰਨੈੱਟ ਦਾ ਉੱਤਰ ਹੈ। ਇਹ ਇਕ ਛੋਟੀ, ਸਾਇਨ ਕੀਤੀ ਡਾਟਾ ਫਾਇਲ ਹੁੰਦੀ ਹੈ ਜੋ ਇੱਕ ਪਬਲਿਕ ਕੀ ਨੂੰ ਇੱਕ ਪਛਾਣ ਨਾਲ ਜੋੜਦੀ ਹੈ—ਜਿਵੇਂ ਕਿ ਇੱਕ ਵੈੱਬਸਾਈਟ ਨਾਂ (example.com), ਇੱਕ ਸੰਗਠਨ, ਜਾਂ ਇੱਕ ਸੌਫਟਵੇਅਰ ਪਬਲਿਸ਼ਰ। ਇਸਨੂੰ ਇੱਕ ਕੀ-ਕਾਰਡ ਸਮਝੋ: ਇਹ ਦੱਸਦਾ ਹੈ "ਇਹ ਕੁੰਜੀ ਇਸ ਨਾਮ ਨਾਲ ਸੰਬੰਧਤ ਹੈ," ਅਤੇ ਇਸ ਵਿੱਚ ਮਾਲਕ, ਪਬਲਿਕ ਕੀ, ਅਤੇ ਮਿਆਦ ਦੀਆਂ ਤਰੀਖਾਂ ਸਮੇਤ ਵੇਰਵੇ ਹੁੰਦੇ ਹਨ।
ਸਰਟੀਫਿਕੇਟ ਦੀ ਕੀਮਤ ਇਸ ਲਈ ਹੈ ਕਿਉਂਕਿ ਉਹ ਕਿਸੇ ਹੋਰ ਵੱਲੋਂ ਸਾਇਨ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਉਹ "ਕਿਸੇ" ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ Certificate Authority (CA) ਹੁੰਦਾ ਹੈ।
CA ਇਕ ਤੀਜਾ ਪੱਖ ਹੈ ਜੋ ਕੁਝ ਸਾਬਤੀਆਂ ਜਾਂਚਦਾ ਹੈ (ਜੋ ਬੇਸਿਕ ਡੋਮੇਨ ਕੰਟਰੋਲ ਤੋਂ ਲੈ ਕੇ ਘਰੇਲੂ ਕਾਰੋਬਾਰੀ ਜਾਂਚ ਤੱਕ ਹੋ ਸਕਦਾ ਹੈ) ਅਤੇ ਫਿਰ ਸਰਟੀਫਿਕੇਟ 'ਤੇ ਸਾਈਨ ਕਰਦਾ ਹੈ। ਤੁਹਾਡਾ ਬਰਾਊਜ਼ਰ ਜਾਂ OS ਇੱਕ ਇਨਬਿਲਟ ਭਰੋਸੇਯੋਗ CA ਲਿਸਟ ਨਾਲ ਆਉਂਦਾ ਹੈ। ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ HTTPS ਸਾਈਟ 'ਤੇ ਜਾਂਦੇ ਹੋ, ਤੁਹਾਡਾ ਡਿਵਾਈਸ ਉਸ ਲਿਸਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਫੈਸਲਾ ਕਰਦਾ ਹੈ ਕਿ ਸਰਟੀਫਿਕੇਟ ਦੇ ਦਾਅਵੇ ਨੂੰ ਕਬੂੱਲ ਕਰਨਾ ਹੈ ਜਾਂ ਨਹੀਂ।
ਇਹ ਪ੍ਰਣਾਲੀ ਪੂਰੀ ਨਹੀਂ: CAs ਗਲਤੀਆਂ ਕਰ ਸਕਦੇ ਹਨ, ਅਤੇ ਹਮਲਾਕਾਰ ਉਹਨਾਂ ਨੂੰ ਚਕਮਾ ਦੇਣ ਜਾਂ ਕੰਪ੍ਰੋਮਾਈਜ਼ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹਨ। ਪਰ ਇਹ ਇੱਕ ਵਿਸ਼ਵ ਪੱਧਰ 'ਤੇ ਕੰਮ ਕਰਨ ਵਾਲੀ ਵਰਤੋਂਯੋਗ ਚੇਨ-ਆਫ-ਟ੍ਰੱਸ ਬਣਾਉਂਦਾ ਹੈ।
ਸਰਟੀਫਿਕੇਟ ਮੁਕੱਤ ਸਮੇਂ ਲਈ ਮਿਆਦ ਰੱਖਦੇ ਹਨ। ਛੋਟੀ ਮਿਆਦਾਂ ਇਸ ਗੱਲ ਨੂੰ ਸੀਮਤ ਕਰਦੀਆਂ ਹਨ ਕਿ ਕੁੰਜੀ ਚੁਰਾਉਣ 'ਤੇ ਨੁਕਸਾਨ ਕਿੰਨਾ ਹੋ ਸਕਦਾ ਹੈ ਅਤੇ ਨਿਯਮਤ ਮੈਨਟੇਨੈਂਸ ਨੂੰ ਉਤਸ਼ਾਹਿਤ ਕਰਦੀਆਂ ਹਨ।
ਸਰਟੀਫਿਕੇਟ ਨੂੰ ਮਿਆਦ ਖਤਮ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਵੀ ਰੱਦ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਰਿਵੋਕੇਸ਼ਨ ਇਹ ਸੂਚਿਤ ਕਰਨ ਦਾ ਤਰੀਕਾ ਹੈ ਕਿ "ਇਸ ਸਰਟੀਫਿਕੇਟ 'ਤੇ ਭਰੋਸਾ ਕਰਨਾ ਬੰਦ ਕਰੋ," ਉਦਾਹਰਨ ਲਈ ਜੇ ਪ੍ਰਾਈਵੇਟ ਕੀ ਲੀਕ ਹੋ ਸਕਦੀ ਹੈ ਜਾਂ ਸਰਟੀਫਿਕੇਟ ਗਲਤ ਜਾਰੀ ਕੀਤਾ ਗਿਆ। ਡਿਵਾਈਸ ਰਿਵੋਕੇਸ਼ਨ ਸਥਿਤੀ ਦੀ ਜਾਂਚ ਕਰ ਸਕਦੇ ਹਨ (ਵੱਖ-ਵੱਖ ਭਰੋਸੇਯੋਗਤਾ ਅਤੇ ਕੜਕਤਾ ਨਾਲ), ਜਿਸ ਲਈ ਕੁੰਜੀ ਸਫਾਈ ਹਾਲੇ ਵੀ ਮਾਇਨੇ ਰੱਖਦੀ ਹੈ।
ਪ੍ਰਾਈਵੇਟ ਕੀ ਨੂੰ ਗੋਪਤ ਰੱਖੋ: ਇਸ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕੁੰਜੀ ਸਟੋਰੇਜ਼ ਵਿੱਚ ਰੱਖੋ, ਪਹੁੰਚ ਸੀਮਤ ਕਰੋ, ਅਤੇ ਲਾਜ਼ਮੀ ਨਾ ਹੋਣ ਤੇ ਸਿਸਟਮਾਂ ਵਿਚ ਕਾਪੀ ਨਾ ਕਰੋ।
ਲੋੜ ਹੋਣ 'ਤੇ ਕੁੰਜੀਆਂ ਰੋਟੇਟ ਕਰੋ—ਇੱਕ ਘਟਨਾ ਤੋਂ ਬਾਅਦ, ਯੋਜਿਤ ਅਪਗਰੇਡ ਦੌਰਾਨ, ਜਾਂ ਨੀਤੀ ਵਿਚ ਲੋੜ ਹੋਣ 'ਤੇ। ਅਤੇ ਅੰਤ-ਮਿਆਦਾਂ ਨੂੰ ਟ੍ਰੈਕ ਕਰੋ ਤਾਂ ਕਿ ਨਵੀਨੀਕਰਨ ਆਖ਼ਰੀ-ਕਿਸੇ-ਪਲ ਦੀ ਤਰ੍ਹਾਂ ਨਹੀਂ ਰਹਿ ਜਾਵੇ।
RSA ਇੱਕ ਬੁਨਿਆਦੀ ਵਿਚਾਰ ਹੈ, ਪਰ ਇਹ ਜਾਦੂਈ ਢਾਲ ਨਹੀਂ। ਜ਼ਿਆਦਾਤਰ ਹਕੀਕਤੀ-ਦੁਨੀਆ ਦੇ ਉਦਘਾਟ ਅਕਸਰ RSA "ਹੱਲ ਹੋਣ" ਦੀ ਵਜ੍ਹਾ ਨਾਲ ਨਹੀਂ ਹੁੰਦੇ—ਉਹ RSA ਦੇ ਆਲੇ-ਦੁਆਲੇ ਵਾਲੇ ਸਿਸਟਮ ਫੇਲ ਹੋਣ ਕਰਕੇ ਹੁੰਦੇ ਹਨ।
ਕੁਝ ਨਮੂਨੇ ਵਾਰ-ਵਾਰ ਵੇਖੇ ਜਾਂਦੇ ਹਨ:
RSA ਦੀ ਸੁਰੱਖਿਆ ਇਸ ਗੱਲ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ ਕਿ ਕੁੰਜੀਆਂ ਕਾਫੀ ਵੱਡੀਆਂ ਅਤੇ ਵਾਸਤਵ ਵਿੱਚ ਅਣਅਨੁਮਾਨਯੋਗ ਬਣਾਈਆਂ ਗਈਆਂ ਹਨ। ਚੰਗੀ ਯਾਦਗਾਰੀ (randomness) ਮਹੱਤਵਪੂਰਨ ਹੈ: ਜੇ ਕੁੰਜੀ ਜਨਰੇਸ਼ਨ ਇੱਕ ਕੰਮਜ਼ੋਰ ਰੈਂਡਮ ਸਰੋਤ ਵਰਤਦਾ ਹੈ, ਤਾਂ ਹਮਲਾਕਾਰ ਕਈ ਵਾਰੀ ਸੰਭਾਵਿਤ ਕੁੰਜੀਆਂ ਦੀ ਦੁਹਰਾਈ ਕਰ ਸਕਦੇ ਹਨ ਜਾਂ ਸੰਭਾਵਨਾਵਾਂ ਨੂੰ ਘਟਾ ਸਕਦੇ ਹਨ। ਓਸੇ ਤਰ੍ਹਾਂ, ਕੀ ਲੰਬਾਈ ਮੁੱ[ਦ]ਾ ਹੈ ਕਿਉਂਕਿ ਕੰਪਿਊਟਿੰਗ ਤਾਕਤ ਅਤੇ ਗਣਿਤਕ ਤਕਨੀਕਾਂ ਵਿੱਚ ਸੁਧਾਰ ਛੋਟੀਆਂ ਕੀਜ਼ ਲਈ ਸੁਰੱਖਿਆ ਗਲਟਾ ਦੇਂਦਾ ਹੈ।
RSA ਦੇ ਆਪਰੇਸ਼ਨ ਆਧੁਨਿਕ ਵਿਕਲਪਾਂ ਨਾਲੋਂ ਭਾਰੀ ਹੋ ਸਕਦੇ ਹਨ, ਇਸ ਲਈ ਬਹੁਤ ਸਾਰੇ ਪ੍ਰੋਟੋਕੋਲ RSA ਨੂੰ ਸੰਯੁਕਤ ਤੌਰ 'ਤੇ ਘੱਟ ਵਰਤਦੇ ਹਨ—ਅਕਸਰ ਪ੍ਰਮਾਣੀਕਰਨ ਜਾਂ ਇੱਕ ਅਸਥਾਈ ਰਾਜ਼ ਦੇ ਅਦਾਨ-ਪ੍ਰਦਾਨ ਲਈ, ਫਿਰ ਬਲਕ ਡੇਟਾ ਲਈ ਤੇਜ਼ ਸਿੰਮੇਟ੍ਰਿਕ ਐਲਗੋਰਿਦਮ 'ਤੇ ਸਵਿੱਚ ਕਰਦੇ ਹਨ।
ਸੁਰੱਖਿਆ ਸਭ ਤੋਂ ਵਧੀਆ ਤਰੀਕੇ ਨਾਲ ਬਹੁ-ਸਤਹੀ ਰੱਖਿਆ ਦੇ ਰੂਪ ਵਿੱਚ ਕੰਮ ਕਰਦੀ ਹੈ: ਪ੍ਰਾਈਵੇਟ ਕੀਜ਼ ਦੀ ਰੱਖਿਆ (ਜੋ ਆਦਰਸ਼ ਤੌਰ 'ਤੇ ਹਾਰਡਵੇਅਰ ਵਿੱਚ ਹੋਵੇ), ਸਰਟੀਫਿਕੇਟ ਜਾਰੀ ਕਰਨ ਦੀ ਨਿਗਰਾਨੀ, ਸਿਸਟਮਾਂ ਨੂੰ ਪੈਚ ਕਰਨਾ, ਫਿਸ਼ਿੰਗ-ਰੋਧੀ ਪ੍ਰਮਾਣੀਕਰਨ ਵਰਤਣਾ, ਅਤੇ ਸੁਰੱਖਿਅਤ ਕੁੰਜੀ ਰੋਟੇਸ਼ਨ ਲਈ ਡਿਜ਼ਾਇਨ। RSA ਇੱਕ ਸੰਦ ਹੈ—ਪੂਰੇ ਚੇਨ ਦੀ ਨਹੀਂ।
RSA ਇੰਟਰਨੈੱਟ 'ਤੇ ਸਭ ਤੋਂ ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਸਮਰਥਿਤ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕ ਟੂਲਜ਼ ਵਿੱਚੋਂ ਇੱਕ ਹੈ। ਭਾਵੇਂ ਕੋਈ ਸੇਵਾ ਹੁਣ "RSA ਪ੍ਰਾਥਮਿਕਤਾ" ਨਹੀਂ ਰੱਖਦੀ, ਅਕਸਰ ਇਹ ਪੱਛੇ-ਪਾਸੇ RSA ਸਹਿਯੋਗ ਰੱਖਦੀ ਹੈ ਕਿਉਂਕਿ ਇਹ ਹਰ ਜਗ੍ਹਾ ਹੈ: ਪੁਰਾਣੇ ਡਿਵਾਈਸ, ਲੰਬੇ ਸਮੇਂ ਤੋਂ ਚੱਲ ਰਹੀ ਏਂਟਰਪ੍ਰਾਈਜ਼ ਪ੍ਰਣਾਲੀਆਂ, ਅਤੇ ਸਰਟੀਫਿਕੇਟ ਇਨਫਰਾਸਟਰਕਚਰ ਜੋ ਸਾਲਾਂ ਤੋਂ ਬਣੇ ਹਨ।
ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਉਸੇ ਕਾਰਨਾਂ ਲਈ ਵਿਕਸਿਤ ਹੁੰਦੀ ਹੈ ਜਿਸ ਲਈ ਹੋਰ ਸੁਰੱਖਿਆ ਤਕਨੀਕਾਂ:
TLS ਅਤੇ ਆਧੁਨਿਕ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਤੁਸੀਂ ਅਕਸਰ ਵਿਕਲਪ ਵੇਖੋਗੇ:
ਸਾਫ਼-ਬੋਲ ਕੇ: RSA ਦੋਹਾਂ ਐਨਕ੍ਰਿਪਸ਼ਨ ਅਤੇ ਸਾਈਨੇਚਰ ਕਰਨ ਯੋਗ ਹੈ, ਪਰ ਨਵੇਂ ਸਿਸਟਮ ਆਮ ਤੌਰ 'ਤੇ ਕੰਮ ਵੰਨਦੇ ਹਨ—ਇੱਕ ਤਰੀਕਾ ਸਾਈਨੇਚਰ ਲਈ ਅਤੇ ਦੂਜਾ ਸੈਸ਼ਨ ਕੀ ਸਥਾਪਨਾ ਲਈ।
ਨਹੀਂ। RSA ਹਜੇ ਵੀ ਬਹੁਤ ਹੱਦ ਤੱਕ ਸਮਰਥਿਤ ਹੈ ਅਤੇ ਕਈ ਸੰਦਰਭਾਂ ਵਿੱਚ ਵੈਧ ਚੋਣ ਰਹਿੰਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਿੱਥੇ ਅਨੁਕੂਲਤਾ ਜ਼ਰੂਰੀ ਹੈ ਜਾਂ ਜਿੱਥੇ ਮੌਜੂਦਾ ਸਰਟੀਫਿਕੇਟ ਅਤੇ ਕੁੰਜੀ-ਪਰਬੰਧ ਪ੍ਰਥਾਵਾਂ RSA 'ਤੇ ਆਧਾਰਤ ਹਨ। "ਸਰਵੋਤਮ" ਵਿਕਲਪ ਉਨ੍ਹਾਂ ਗੁਣਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਜਿਵੇਂ ਡਿਵਾਈਸ ਸਮਰਥਨ, ਕਾਰਗਰਤਾ ਲੋੜਾਂ, ਅਨੁਕੂਲਤਾ ਮੰਗਾਂ, ਅਤੇ ਕਿਵੇਂ ਕੁੰਜੀਆਂ ਸਟੋਰ ਅਤੇ ਰੋਟੇਟ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।
ਜੇ ਤੁਸੀਂ ਦੇਖਣਾ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਇਹ ਚੋਣਾਂ ਅਸਲ HTTPS ਕਨੈਕਸ਼ਨਾਂ ਵਿੱਚ ਕਿਵੇਂ ਦਿਖਦੀਆਂ ਹਨ, ਅਗਲਾ ਕਦਮ ਹੈ: /blog/ssl-tls-explained.
RSA ਨੇ ਇੰਟਰਨੈੱਟ ਪੱਧਰ 'ਤੇ ਵਿਸ਼ਵਾਸ ਨੂੰ ਵਰਤੋਂਯੋਗ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕੀਤੀ, ਦੁਆਰਾ ਪਬਲਿਕ-ਕੀ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਜੋ ਇਹ ਸਹਾਇਕ ਹੈ:
ਇਹ ਬਿਲਡਿੰਗ ਬਲਾਕ HTTPS, ਆਨਲਾਈਨ ਬੈਂਕਿੰਗ, ਅਤੇ ਸਾਇਨ ਕੀਤੇ ਸੌਫਟਵੇਅਰ ਅੱਪਡੇਟਸ ਲਈ ਕੇਂਦਰੀ ਹਨ।
Leonard Adleman ਨੇ RSA ਨੂੰ ਇੱਕ ਚਤੁਰ ਵਿਚਾਰ ਤੋਂ ਇਕ ਐਸੇ ਕ੍ਰਿਪਟੋਸਿਸਟਮ ਵਿੱਚ ਬਦਲਣ ਵਿੱਚ ਮਦਦ ਕੀਤੀ ਜੋ ਹੋਰਾਂ ਦੁਆਰਾ ਵਿਸ਼ਲੇਸ਼ਣ ਅਤੇ ਭਰੋਸਾ ਯੋਗ ਹੋਵੇ। ਵਿਹਾਰਕ ਰੂਪ ਵਿੱਚ, ਇਸਦਾ ਅਰਥ ਸੀ—ਧਾਰਣਾਵਾਂ ਨੂੰ ਆਜ਼ਮਾਉਣਾ, ਪੇਸ਼ਕਸ਼ ਨੂੰ ਸੁਧਾਰਨਾ, ਅਤੇ ਇਹ ਮਜ਼ਬੂਤ ਕਰਨਾ ਕਿ ਵਾਸਤਵਿਕ ਹਮਲਿਆਂ ਹੇਠ ਕੀ RSA ਨੂੰ ਤੋੜਨਾ ਔਖਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
ਪਬਲਿਕ ਕੀ ਸਾਂਝ ਕਰਨ ਲਈ ਹੁੰਦੀ ਹੈ; ਲੋਕ ਇਸਨੂੰ ਤੁਹਾਡੇ ਲਈ ਕੁਝ ਐਨਕ੍ਰਿਪਟ ਕਰਨ ਜਾਂ ਤੁਹਾਡੇ ਦੌਰਾ ਕੀਤੇ ਸਾਈਨ ਚੈੱਕ ਕਰਨ ਲਈ ਵਰਤ ਸਕਦੇ ਹਨ।
ਪ੍ਰਾਈਵੇਟ ਕੀ ਗੁਪਤ ਰੱਖਣੀ ਚਾਹੀਦੀ ਹੈ; ਇਹ ਉਹ ਕੀ ਹੈ ਜੋ RSA-ਐਨਕ੍ਰਿਪਸ਼ਨ ਸੈਟਅੱਪ ਵਿੱਚ ਜਿਹੜੀ ਤੁਹਾਡੇ ਲਈ ਐਨਕ੍ਰਿਪਟ ਕੀਤੀ ਗਈ ਚੀਜ਼ ਨੂੰ ਡੀਕ੍ਰਿਪਟ ਕਰਦਾ ਹੈ ਅਤੇ ਉਹੀ ਹੈ ਜੋ ਸਾਈਨੇਚਰ ਬਣਾਉਂਦਾ ਹੈ।
ਜੇ ਪ੍ਰਾਈਵੇਟ ਕੀ ਲੀਕ ਹੋ ਜਾਵੇ ਤਾਂ ਹਮਲਾਕਾਰ ਤੁਹਾਨੂੰ ਨਕਲ ਕਰ ਸਕਦੇ ਹਨ ਅਤੇ/ਜਾਂ ਜਿਹੜੇ ਰਾਜ਼ ਸੁਰੱਖਿਅਤ ਸਨ ਉਹ ਡੀਕ੍ਰਿਪਟ ਕਰ ਸਕਦੇ ਹਨ।
RSA ਦੀ ਸੁਰੱਖਿਆ ਇੱਕ ਉਲਟ-ਮੈਥ ਮਸਲੇ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ: ਵੱਡੇ ਮੁਲਾਂਕਣਾਂ (prime numbers) ਨੂੰ ਗੁਣਾ ਕਰਨਾ ਅਸਾਨ ਹੈ, ਪਰ ਛੋਟੀਆਂ ਗਿਣਤੀਆਂ ਬਣਾ ਕੇ ਬਣਾਈ ਗਈ ਵੱਡੀ ਗਿਣਤੀ ਨੂੰ ਮੁੜ-ਤੋੜ (factoring) ਕਰਨਾ ਬਹੁਤ ਮੁਸ਼ਕਲ ਹੈ ਜੇ ਕੀਜ਼ ਵੱਡੀਆਂ ਹਨ।
ਪਬਲਿਕ ਅਤੇ ਪ੍ਰਾਈਵੇਟ ਕੀ ਗਣਿਤਕ ਤੌਰ 'ਤੇ ਜੁੜੇ ਹੁੰਦੇ ਹਨ, ਪਰ ਇਹ ਇਸ ਤਰ੍ਹਾਂ ਬਣਾਏ ਜਾਂਦੇ ਹਨ ਕਿ ਪਬਲਿਕ ਕੀ ਨੂੰ ਦੇਖ ਕੇ ਗ੍ਰਹਿਣਯੋਗ ਢੰਗ ਨਾਲ ਪ੍ਰਾਈਵੇਟ ਕੀ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।
ਉਹ ਵੱਖ-ਵੱਖ ਭਰੋਸੇ ਦੇ ਟੀਚੇ ਹੱਲ ਕਰਦੇ ਹਨ:
ਇੱਕ ਆਮ ਨਿਯਮ: ਐਨਕ੍ਰਿਪਸ਼ਨ ਰਾਜ਼ਾਂ ਨੂੰ ਰੱਖਦੀ ਹੈ; ਸਾਈਨੇਚਰ ਇਹ ਪ੍ਰਮਾਣਿਤ ਕਰਦੇ ਹਨ ਕਿ ਕੋਈ ਚੀਜ਼ ਕਿਸ ਨੇ ਭੇਜੀ ਅਤੇ ਕੀ ਉਹ ਬਦਲੀ ਨਹੀਂ ਗਈ।
ਸਧਾਰਨ TLS/HTTPS ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ:
RSA ਐਤਿਹਾਸਿਕ ਤੌਰ 'ਤੇ ਸੈਸ਼ਨ ਕੀ ਦੇ ਆਦਾਨ-ਪ੍ਰਦਾਨ ਲਈ ਵਰਤੀ ਗਈ ਸੀ; ਆਧੁਨਿਕ TLS ਸੰਰਚਨਾਵਾਂ ਵਿੱਚ ਇਹ ਅਕਸਰ ਸਰਵਰ ਦੇ ਪ੍ਰਮਾਣੀਕਰਨ (ਸਾਈਨ) ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ।
ਨਹੀਂ। ਪੈਡਲਾਕ ਮੁੱਖ ਤੌਰ 'ਤੇ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਕਨੈਕਸ਼ਨ ਐਨਕ੍ਰਿਪਟ ਹੈ ਅਤੇ ਆਮ ਤੌਰ 'ਤੇ ਪ੍ਰਮਾਣੀਕ੍ਰਿਤ ਵੀ।
ਇਹ ਨਹੀਂ ਦੱਸਦਾ ਕਿ:
HTTPS ਨੂੰ ਇਕ ਲੋੜੀਂਦਾ ਟ੍ਰਾਂਸਪੋਰਟ ਸਹਾਇਤਾ ਪਤਰਾ ਮੰਨੋ, ਪਰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਦਾ ਭਰੋਸਾ-ਫੈਸਲਾ ਨਹੀਂ।
ਇੱਕ ਸਰਟੀਫਿਕੇਟ ਇੱਕ ਪਬਲਿਕ ਕੀ ਨੂੰ ਕਿਸੇ ਪਛਾਣ (ਜਿਵੇਂ ਡੋਮੇਨ name(example.com), ਇਕ ਸੰਗਠਨ, ਜਾਂ ਸੌਫਟਵੇਅਰ ਪਬਲਿਸ਼ਰ) ਨਾਲ ਜੋੜਦਾ ਹੈ। ਬਰਾਊਜ਼ਰ/OS ਇਕ ਭਰੋਸੇਯੋਗ CA ਲਿਸਟ ਨਾਲ ਆਉਂਦੇ ਹਨ; ਇੱਕ Certificate Authority (CA) ਸਰਟੀਫਿਕੇਟ 'ਤੇ ਸਾਇਨ ਕਰਦਾ ਹੈ ਬਾਅਦ ਉਹ ਦੱਸਦਾ ਹੈ ਕਿ ਇਹ ਕੀ ਉਸ ਨਾਂ ਨਾਲ ਮਿਲਦੀ ਹੈ।
ਜੇ ਤੁਸੀਂ ਸੇਵਾ ਤੈਨਾਤ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਯੋਜ਼ਨਾ ਬਣਾੳੋ:
ਸਾਈਨ ਕੀਤੇ ਅੱਪਡੇਟ ਤੁਹਾਡੇ ਡਿਵਾਈਸ ਨੂੰ ਦੋ ਗੱਲਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਦਿੰਦੇ ਹਨ:
ਇਹ "ਪੈਕੇਜ ਬਦਲ ਦਿਓ" ਹਮਲਿਆਂ (ਕਮਜ਼ੋਰ ਮਿਰਰ, ਜਹਾਜ਼-ਹਾਈਜੈਕਿੰਗ, ਨਕਲ ਡਾਊਨਲੋਡ ਪੇਜ) ਖਿਲਾਫ਼ ਰੱਖਾਵ ਕਰਦੇ ਹਨ। ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ /blog/code-signing-basics.
ਅਸਲ-ਦੁਨੀਆ ਦੀਆਂ ਨੁਕਸਾਨਾਂ ਅਕਸਰ ਚਲਤੀਆਂ (operational) ਗਲਤੀਆਂ ਕਾਰਨ ਹੁੰਦੀਆਂ ਹਨ, ਨਾ ਕਿ "RSA ਗਣਿਤ ਤੋੜਿਆ ਗਿਆ" ਕਰਨ ਕਰਕੇ:
ਵਿਆਵਹਾਰਿਕ ਕਦਮ: ਪ੍ਰਾਈਵੇਟ ਕੀ ਦਾ ਸੁਰੱਖਿਅਤ ਸਟੋਰੇਜ਼ (ਭਿੰਨ ਹਾਰਡਵੇਅਰ ਜਿੱਥੇ ਸੰਭਵ), ਮਿਆਦਾਂ ਦਾ ਟ੍ਰੈਕ ਰੱਖੋ, ਦੀਆਂ ਕੁੰਜੀਆਂ ਨਿਰਧਾਰਤ ਢੰਗ ਨਾਲ ਰੋਟੇਟ ਕਰੋ, ਅਤੇ ਜਿਥੇ ਸੰભਵ ਹੋਵੇ ਸਰਟੀਫਿਕੇਟ ਜਾਰੀ ਕਰਨ ਦੀ ਨਿਗਰਾਨੀ ਕਰੋ।