Ron Rivest ਨੇ ਅਸਲ-ਦੁਨੀਆ ਦੀ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਨੂੰ ਕਿਵੇਂ ਰੂਪ ਦਿੱਤਾ: RSA, ਡਿਜਿਟਲ ਦਸਤਖ਼ਤਾਂ ਅਤੇ ਉਹ ਸੁਰੱਖਿਆ ਨਿਰਣੇ ਜੋ HTTPS ਅਤੇ ਸੁਰੱਖਿਅਤ ਵਪਾਰ ਨੂੰ ਆਮ ਬਣਾਉਂਦੇ ਹਨ।

Ron Rivest ਉਹਨਾਂ ਸਿਰਲੇਖਾਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ ਜਿਸਨੂੰ ਅਕਸਰ ਸੁਰੱਖਿਆ ਵਾਲੇ ਗੋਲਿਆਂ ਤੋਂ ਬਾਹਰ ਨਹੀ ਸੁਣਿਆ ਜਾਂਦਾ, ਫਿਰ ਵੀ ਉਸਦਾ ਕੰਮ ਔਨਲਾਈਨ "ਨਾਰਮਲ" ਸੁਰੱਖਿਆ ਦੇ ਅਨੁਭਵ ਨੂੰ ਸ਼ਾਂਤੀ ਨਾਲ ਗਠਿਤ ਕਰਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਬੈਂਕ ਵਿੱਚ ਲਾਗਇਨ ਕੀਤਾ, ਕਾਰਡ ਨਾਲ ਕੁਝ ਖਰੀਦਿਆ, ਜਾਂ ਕਿਸੇ ਵੈੱਬਸਾਈਟ 'ਤੇ ਭਰੋਸਾ ਕੀਤਾ ਕਿ ਉਹੀ ਸਾਈਟ ਹੈ—ਤਾਂ ਤੁਸੀਂ ਉਸ ਸੋਚ ਤੋਂ ਲਾਭਾਨਵਿਤ ਹੋਏ ਹੋ ਜੋ ਰਿਵੇਸਟ ਨੇ ਲੋਕਪ੍ਰਿਯ ਬਣਾਈ: ਕਾਗਜ਼ 'ਤੇ ਹੀ ਨਹੀਂ, ਅਸਲ ਦੁਨੀਆ ਵਿੱਚ ਕੰਮ ਕਰਨ ਵਾਲੀ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ।
ਲਾੱਖਾਂ ਅਜਾਣਿਆਂ ਦੀਾਂ ਮੁਲਾਕਾਤਾਂ ਹੋਣ ਸਮੇਂ ਸੁਰੱਖਿਅਤ ਸੰਚਾਰ ਮੁਸ਼ਕਲ ਹੋ ਜਾਂਦਾ ਹੈ। ਇਹ ਸਿਰਫ਼ ਸੁਨੇਹਿਆਂ ਨੂੰ ਨਿੱਜੀ ਰੱਖਣ ਦੀ ਗੱਲ ਨਹੀ—ਇਹ ਪਛਾਣ ਸਾਬਤ ਕਰਨ, ਸੋਧ ਰੋਕਣ ਅਤੇ ਭੁਗਤਾਨਾਂ ਨੂੰ ਨਕਲ ਜਾਂ ਚੁੱਕਣ ਤੋਂ ਬਚਾਉਣ ਦੀ ਵੀ ਗੱਲ ਹੈ।
ਛੋਟੀ ਗਰੁੱਪ ਵਿੱਚ ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਇੱਕ ਗੁਪਤ ਕੋਡ ਸਾਂਝਾ ਕਰ ਸਕਦੇ ਹੋ। ਇੰਟਰਨੈੱਟ 'ਤੇ ਇਹ ਤਰੀਕਾ ਟੁੱਟ ਜਾਂਦਾ ਹੈ: ਤੁਸੀਂ ਹਰ ਸਾਈਟ, ਸਟੋਰ ਅਤੇ ਸੇਵਾ ਨਾਲ ਪਹਿਲਾਂ ਗੁਪਤ ਸਾਂਝਾ ਨਹੀਂ ਕਰ ਸਕਦੇ।
ਰਿਵੇਸਟ ਦਾ ਪ੍ਰਭਾਵ ਇੱਕ ਵੱਡੇ ਵਿਚਾਰ ਨਾਲ ਜੁੜਿਆ ਹੈ: ਸੁਰੱਖਿਆ ਤਦ ਹੀ ਵਿਆਪਕ ਹੁੰਦੀ ਹੈ ਜਦੋਂ ਇਹ ਡਿਫਾਲਟ ਬਣ ਜਾਏ। ਇਸ ਲਈ ਤਿੰਨ ਗੱਲਾਂ ਇਕੱਠੀਆਂ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ:
ਇਹ ਇੱਕ ਉੱਚ-ਸਤ੍ਹਾਹੀ, ਗੈਰ-ਗਣਿਤੀਯ ਦੌਰਾ ਹੈ ਕਿ RSA ਕਿਸ ਤਰ੍ਹਾਂ ਇੱਕ ਅਮਲੀ ਸੁਰੱਖਿਆ ਸਟੈਕ ਵਿੱਚ ਫਿੱਟ ਹੋਈ—ਇਨਕ੍ਰਿਪਸ਼ਨ, ਦਸਤਖ਼ਤ, ਸਰਟੀਫਿਕੇਟ ਅਤੇ HTTPS—ਅਤੇ ਕਿਉਂ ਇਸ ਸਟੈਕ ਨੇ ਸੁਰੱਖਿਅਤ ਵਪਾਰ ਅਤੇ ਸੰਚਾਰ ਨੂੰ ਰੋਜ਼ਾਨਾ ਬਣਾਇਆ।
RSA ਤੋਂ ਪਹਿਲਾਂ, ਜ਼ਿਆਦਾਤਰ ਸੁਰੱਖਿਅਤ ਸੰਚਾਰ ਇੰਝ ਕੰਮ ਕਰਦਾ ਸੀ: ਦੋਨਾਂ ਪਾਸਿਆਂ ਨੂੰ ਇੱਕੋ ਹੀ ਗੁਪਤ ਕੁੰਜੀ ਚਾਹੀਦੀ ਸੀ—ਇਸਨੂੰ symmetric cryptography ਕਹਿੰਦੇ ਹਨ—ਤੇਜ਼ ਅਤੇ ਪ੍ਰਭਾਵਸ਼ਾਲੀ, ਪਰ ਇਹ ਧਾਰਨਾ ਕਰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਉਹ ਗੁਪਤ ਸਾਂਝਾ ਕਰਨ ਦਾ ਸੁਰੱਖਿਅਤ ਤਰੀਕਾ ਰੱਖਦੇ ਹੋ।
ਪਬਲਿਕ-ਕੀ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਨੇ ਇਹ ਵਿਵਸਥਾ ਉਲਟ ਦਿੱਤੀ। ਤੁਸੀਂ ਇੱਕ ਕੁੰਜੀ (ਪਬਲਿਕ) ਛਾਪਦੇ ਹੋ ਜਿਸ ਨਾਲ ਕੋਈ ਵੀ ਤੁਹਾਡੇ ਲਈ ਸੁਨੇਹਾ ਲਾਕ ਕਰ ਸਕਦਾ ਹੈ, ਅਤੇ ਤੁਸੀਂ ਦੂਜੀ ਕੁੰਜੀ (ਪ੍ਰਾਈਵੇਟ) ਰੱਖਦੇ ਹੋ ਜੋ ਸਿਰਫ਼ ਤੁਸੀਂ ਹੀ ਖੋਲ੍ਹ ਸਕਦੇ ਹੋ। ਗਣਿਤ ਚਤੁਰ ਹੈ, ਪਰ ਮੱਤਵ ਇਹ ਹੈ ਕਿ ਇਸਨੇ ਗੁਪਤੀਆਂ ਦੇ ਵੰਡਣ ਦਾ ਢੰਗ ਬਦਲ ਦਿੱਤਾ।
ਕੱਲਪਨਾ ਕਰੋ ਇੱਕ ਔਨਲਾਈਨ ਦੁਕਾਨ ਨਾਲ ਜੋ ਇੱਕ ਮਿਲੀਅਨ ਗਾਹਕਾਂ ਨੂੰ ਸੇਵਾ ਦਿੰਦੀ ਹੈ। symmetric ਕੀਆਂ ਨਾਲ, ਦੁਕਾਨ ਨੂੰ ਹਰ ਗਾਹਕ ਨਾਲ ਇੱਕ ਵੱਖਰੀ ਸਾਂਝੀ ਕੀ ਦੀ ਜ਼ਰੂਰਤ ਹੋਵੇਗੀ।
ਇਸ ਨਾਲ ਗੰਦੇ ਸਵਾਲ ਉੱਠਦੇ ਹਨ:
ਕੀਮਤੀ ਚੀਜ਼ ਡਾਕ ਰਾਹੀਂ ਭੇਜਣ ਦੀ ਸੋਚ ਕਰੋ। symmetric ਕੀਜ਼ ਨਾਲ, ਤੁਹਾਨੂੰ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੇ ਨੂੰ ਪਹਿਲਾਂ ਇੱਕੋ ਹੀ ਫਿਜ਼ਿਕਲ ਚਾਬੀ ਸਾਂਝੀ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।
ਪਬਲਿਕ ਕੀਜ਼ ਨਾਲ, ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲਾ ਤੁਹਾਨੂੰ ਇੱਕ ਖੁੱਲ੍ਹ੍ਹਾ ਤਾਲਾ (ਉਹਦੀ ਪਬਲਿਕ ਕੀ) ਭੇਜ ਸਕਦਾ ਹੈ। ਤੁਸੀਂ ਚੀਜ਼ ਬਕਸੇ ਵਿੱਚ ਰੱਖ ਕੇ ਤਾਲਾ ਲਾ ਦੇਂਦੇ ਹੋ ਅਤੇ ਭੇਜ ਦਿੰਦੇ ਹੋ। ਕੋਈ ਵੀ ਤਾਲਾ ਫੜ ਸਕਦਾ ਹੈ, ਪਰ ਸਿਰਫ਼ ਪ੍ਰਾਪਤਕਰਤਾ ਦੇ ਕੋਲ ਹੀ ਤਾਲਾ ਖੋਲ੍ਹਣ ਦੀ ਚਾਬੀ (ਪ੍ਰਾਈਵੇਟ ਕੀ) ਹੁੰਦੀ ਹੈ।
ਇਹ ਉਹੀ ਚੀਜ਼ ਹੈ ਜੋ ਇੰਟਰਨੈੱਟ ਨੂੰ ਚਾਹੀਦੀ ਸੀ: ਅਜਾਣਿਆਂ ਨਾਲ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਗੁਪਤੀਆਂ ਸਾਂਝੀਆਂ ਕਰਨ ਦਾ ਇਕ ਪੱਧਰ।
ਪਬਲਿਕ-ਕੀ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ RSA ਨਾਲ ਸ਼ੁਰੂ ਨਹੀਂ ਹੋਈ। ਵੱਡੀ ਸੋਚ-ਵਿਚਾਰ 1976 ਵਿੱਚ Whitfield Diffie ਅਤੇ Martin Hellman ਨੇ ਦਰਸਾਈ ਜਦ ਉਹਨਾਂ ਦੱਸਿਆ ਕਿ ਦੋ ਲੋਕ ਬਿਨਾਂ ਪਹਿਲਾਂ ਗੁਪਤ ਸਾਂਝੇ ਕੀ ਕੀਤੇ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਸੰਚਾਰ ਕਰ ਸਕਦੇ ਹਨ। ਇਹ ਵਿਚਾਰ—"ਪਬਲਿਕ" ਜਾਣਕਾਰੀ ਨੂੰ "ਪ੍ਰਾਈਵੇਟ" ਰਾਜ ਤੋਂ ਵੱਖਰਾ ਕਰਨ—ਨੇ ਸਾਰੀ ਦਿਸ਼ਾ ਨਿਰਧਾਰਤ ਕੀਤੀ।
ਇੱਕ ਸਾਲ ਬਾਅਦ (1977) Ron Rivest, Adi Shamir ਅਤੇ Leonard Adleman ਨੇ RSA ਪੇਸ਼ ਕੀਤਾ, ਅਤੇ ਇਹ ਤੁਰੰਤ ਹੀ ਪਬਲਿਕ-ਕੀ ਸਿਸਟਮ ਬਣਾ ਜੋ ਲੋਕ ਅਮਲ ਵਿੱਚ ਲਿਆ ਸਕਣ। ਨਾ ਸੋਚੋ ਕਿ ਇਹ ਇਕੱਲਾ ਚਤੁਰ ਆਈਡੀਆ ਸੀ—ਲੱਗਦਾ ਇਹ ਅਸਲ ਵਿੱਚ ਕਿਉਂ ਤੁਰੰਤ ਵਰਤੋਂਯੋਗ ਹੋ ਗਿਆ, ਇਹ ਹੈ ਕਿ ਇਹ ਅਸਲ ਸਿਸਟਮਾਂ ਦੀਆਂ ਗੰਝਲਦਾਰ ਜ਼ਰੂਰਤਾਂ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਸੀ: ਲਾਗੂ ਕਰਨ ਵਿੱਚ ਸਿੱਧਾ, ਕਈ ਉਤਪਾਦਾਂ ਵਿੱਚ ਅਨੁਕੂਲ, ਅਤੇ ਮਿਆਰਬੱਧ ਕਰਨ ਲਈ ਆਸਾਨ।
RSA ਨੇ ਦੋ ਅਹੰਕਾਰਪੂਰਨ ਸਮਰਥਾਂ ਨੂੰ ਵਰਤੋਂਯੋਗ ਬਣਾਇਆ:
ਇਹ ਦੋ ਫੀਚਰ ਵੀ ਭਿੰਨ ਸਮੱਸਿਆਵਾਂ ਹੱਲ ਕਰਦੇ ਹਨ: ਇਨਕ੍ਰਿਪਸ਼ਨ ਰਾਜਦਾਰਤਾ ਦੀ ਰੱਖਿਆ ਕਰਦਾ ਹੈ; ਦਸਤਖ਼ਤ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਅਖੰਡਤਾ ਦੀ ਰੱਖਿਆ—ਇਹ ਸਬੂਤ ਦਿੰਦੇ ਹਨ ਕਿ ਸੁਨੇਹਾ ਬਦਲਿਆ ਨਹੀਂ ਗਿਆ ਅਤੇ ਵਾਸਤਵ ਵਿੱਚ ਕਿਸੇ ਨੇ ਮਨਜ਼ੂਰ ਕੀਤਾ।
RSA ਦੀ ਤਾਕਤ ਸਿਰਫ ਅਕਾਦਮਿਕ ਨਹੀ ਸੀ। ਇਹ ਉਸ ਸਮੇਂ ਦੇ ਕੰਪਿਊਟਿੰਗ ਸਰੋਤਾਂ ਨਾਲ ਲਾਗੂਯੋਗ ਸੀ, ਅਤੇ ਉਤਪਾਦਾਂ ਵਿੱਚ ਹਿੱਸੇ ਵਾਂਗ ਸੀ ਨਾ ਕਿ ਰਿਸਰਚ ਪ੍ਰੋਟੋਟਾਈਪ।
ਇਸ ਨਾਲ ਨਾਲ, RSA ਮਿਆਰਬੱਧ ਅਤੇ ਇੰਟਰਓਪਰੇਬਲ ਸੀ। ਜਿਵੇਂ ਜਨਰਲ ਨਿਯਮ ਅਤੇ APIs ਉਭਰੇ (ਕੀ ਸਾਈਜ਼, ਪੈਡਿੰਗ, ਸਰਟੀਫਿਕੇਟ ਹੈਂਡਲਿੰਗ ਲਈ ਸਾਂਝੇ ਰਿਵਾਜ), ਵੱਖ-ਵੱਖ ਵੇਂਡਰਾਂ ਦੇ ਸਿਸਟਮ ਇਕੱਠੇ ਕੰਮ ਕਰ ਸਕਦੇ ਸਨ।
ਇਹ ਅਮਲੀਅਤ—ਕਿਸੇ ਇਕ ਤਕਨੀਕੀ ਵਿਸ਼ੇਸ਼ਤਾ ਤੋਂ ਵੱਧ—RSA ਨੂੰ ਇਕ ਡਿਫਾਲਟ ਇਮਾਰਤਾਂ ਲਈ ਅਹੰਕਾਰਪੂਰਨ ਬਣਾਉਂਦੀ ਸੀ।
RSA ਇਨਕ੍ਰਿਪਸ਼ਨ ਮੂਲ ਰੂਪ ਵਿੱਚ ਇੱਕ ਢੰਗ ਹੈ ਜੇ ਤੁਸੀਂ ਸਿਰਫ਼ ਪ੍ਰਾਪਤਕਰਤਾ ਦੀ ਪਬਲਿਕ ਕੀ ਜਾਣਦੇ ਹੋ ਤਾਂ ਡੇਟਾ ਨੂੰ ਗੁਪਤ ਰੱਖਣ ਲਈ। ਤੁਸੀਂ ਉਹ ਪਬਲਿਕ ਕੀ ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹੋ, ਅਤੇ ਕੋਈ ਵੀ ਇਸਨੂੰ ਵਰਤ ਕੇ ਡੇਟਾ ਇਨਕ੍ਰਿਪਟ ਕਰ ਸਕਦਾ ਹੈ ਜੋ ਕੇਵਲ ਮਿਲਦੀ-ਜੁਲਦੀ ਪ੍ਰਾਈਵੇਟ ਕੀ ਨਾਲ ਹੀ ਖੁਲ ਸਕਦਾ ਹੈ।
ਇਸ ਨਾਲ ਇਕ ਅਮਲੀ ਸਮੱਸਿਆ ਹੱਲ ਹੋ ਜਾਂਦੀ ਹੈ: ਤੁਹਾਨੂੰ ਸੁਰੱਖਿਅਤ ਜਾਣ-ਪਛਾਣ ਜਾਂ ਪ੍ਰੀ-ਸ਼ੇਅਰ ਕੀ ਦੀ ਲੋੜ ਨਹੀ ਰਹਿੰਦੀ।
ਜੇ RSA ਡੇਟਾ ਇਨਕ੍ਰਿਪਟ ਕਰ ਸਕਦਾ ਹੈ, ਤਾਂ ਸਾਰਾ ਡੇਟਾ ਕਿਉਂ ਨਈਂ? ਕਾਰਨ: RSA ਗਣਿਤੀ ਤੌਰ 'ਤੇ ਮਹਿੰਗਾ ਹੈ ਅਤੇ ਇਸਦੇ ਕੁਝ ਆਕਾਰ-ਸੀਮਾਵਾਂ ਹਨ: ਤੁਸੀਂ ਸਿਰਫ਼ ਇੱਕ ਨਿਰਦਿਸ਼ਟ ਲੰਬਾਈ ਤੱਕ ਦਾ ਡੇਟਾ ਇਨਕ੍ਰਿਪਟ ਕਰ ਸਕਦੇ ਹੋ (ਕੀ-ਸਾਈਜ਼ ਨਾਲ ਜੁੜਿਆ) ਅਤੇ ਇਹ ਬਾਰ-ਬਾਰ ਕਰਨ ਉਤੇ ਆਧੁਨਿਕ symmetric ਅਲਗੋਰਿਦਮਾਂ ਨਾਲੋਂ ਧੀਮਾ ਹੈ।
ਇਸ ਹਕੀਕਤ ਨੇ applied cryptography ਵਿੱਚ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਪੈਟਰਨ ਨੂੰ ਜਨਮ ਦਿੱਤਾ: ਹਾਈਬ੍ਰਿਡ ਇਨਕ੍ਰਿਪਸ਼ਨ।
ਹਾਈਬ੍ਰਿਡ ਡਿਜ਼ਾਈਨ ਵਿੱਚ, RSA ਇੱਕ ਛੋਟੀ ਸੀ ਰਾਜ਼ ਦੀ ਰੱਖਿਆ ਕਰਦਾ ਹੈ ਅਤੇ ਤੇਜ਼ symmetric ਸਾਈਫਰ ਮੁੱਖ ਡੇਟਾ ਨੂੰ ਰੱਖਦਾ ਹੈ:
ਇਹ ਡਿਜ਼ਾਈਨ ਜ਼ਿਆਦਾਤਰ ਤੌਰ 'ਤੇ ਪ੍ਰਦਰਸ਼ਨ ਅਤੇ ਅਮਲਯੋਗਤਾ ਬਾਰੇ ਹੈ: symmetric ਇਨਕ੍ਰਿਪਸ਼ਨ ਵੱਡੀ ਡੇਟਾ ਲਈ ਤੇਜ਼ ਹੈ, ਜਦਕਿ ਪਬਲਿਕ-ਕੀ ਇਨਕ੍ਰਿਪਸ਼ਨ ਸੁਰੱਖਿਅਤ ਕੀ-ਐਕਸਚੇਂਜ ਲਈ ਬਣਿਆ ਹੈ।
ਅਨੇਕ ਆਧੁਨਿਕ ਸਿਸਟਮ ਵੱਖ-ਵੱਖ key-exchange ਤਰੀਕੇ (ਖਾਸ ਕਰਕੇ ephemeral Diffie–Hellman ਵੈਰੀਐਂਟ TLS ਵਿੱਚ) ਪਸੰਦ ਕਰਦੇ ਹਨ ਤਾਂ ਜੋ ਬਿਹਤਰ forward secrecy ਅਤੇ ਚੰਗੀ ਪ੍ਰਦਰਸ਼ਨ ਮਿਲੇ।
ਪਰ RSA ਦਾ ਮਾਡਲ—"ਪਬਲਿਕ ਕੀ ਇੱਕ session secret ਦੀ ਰੱਖਿਆ ਕਰੇ, symmetric crypto ਪੇਲੋਡ ਲਈ"—ਉਸ ਟੈਂਪਲੇਟ ਨੂੰ ਸੈੱਟ ਕੀਤਾ ਜੋ ਅੱਜ ਵੀ ਸੁਰੱਖਿਅਤ ਸੰਚਾਰ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
ਡਿਜਿਟਲ ਦਸਤਖ਼ਤ ਇੱਕ ਦਸਤਾਵੇਜ਼ 'ਤੇ ਟੈਂਪਰ-ਸਾਬਤ ਮੋਹਰ ਅਤੇ ਇਕ ਜ਼ਿੰਮੇਵਾਰ ਪਛਾਣ ਦਾ ਮਿਲਾਪ ਹੈ। ਜੇ ਸਾਈਨ ਕੀਤੇ ਸੁਨੇਹੇ ਵਿੱਚ ਇੱਕ ਵੀ ਅੱਖਰ ਬਦਲਿਆ ਜਾਂਦਾ ਹੈ, ਦਸਤਖ਼ਤ ਮਿਲਣਾ ਬੰਦ ਹੋ ਜਾਂਦਾ ਹੈ। ਅਤੇ ਜੇ ਦਸਤਖ਼ਤ ਸਾਈਨ ਕਰਨ ਵਾਲੇ ਦੀ ਪਬਲਿਕ ਕੀ ਨਾਲ ਸਹੀ ਢੰਗ ਨਾਲ ਵੈਰੀਫਾਈ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਤੁਹਾਡੇ ਕੋਲ ਮਜ਼ਬੂਤ ਸਬੂਤ ਹੁੰਦਾ ਹੈ ਕਿ kis ਨੇ ਮਨਜ਼ੂਰ ਕੀਤਾ।
ਇਹ ਅਕਸਰ ਉਲਝ ਜਾਂਦਾ ਹੈ ਕਿਉਂਕਿ ਦੋਹਾਂ ਇੱਕ-ਦੂਜੇ ਦੇ ਨਾਲ ਹੀ ਜਾਣ-ਪਛਾਣ ਕਰਦੇ ਹਨ, ਪਰ ਉਹ ਵੱਖ-ਵੱਖ ਸਮੱਸਿਆਵਾਂ ਹੱਲ ਕਰਦੇ ਹਨ:
ਤੁਸੀਂ ਇੱਕ ਪਬਲਿਕ ਐਲਾਨ ਨੂੰ ਸਾਈਨ ਕਰ ਸਕਦੇ ਹੋ ਤਾਂ ਜੋ ਹਰ ਕੋਈ ਉਸਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਦੀ ਜਾਂਚ ਕਰ ਸਕੇ। ਤੁਸੀਂ ਇਕੋ ਵੇਲੇ ਇਨਕ੍ਰਿਪਟ ਬਿਨਾਂ ਸਾਈਨ ਕੀਤੇ ਸੁਨੇਹੇ ਭੇਜ ਸਕਦੇ ਹੋ, ਪਰ ਅਕਸਰ ਹਕੀਕਤ ਵਿੱਚ ਦੋਹਾਂ ਵਰਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।
ਜਦੋਂ RSA ਨੇ ਪਬਲਿਕ-ਕੀ ਦਸਤਖ਼ਤਾਂ ਨੂੰ ਅਮਲੀ ਬਣਾਇਆ, ਬਿਜ਼ਨਸਾਂ ਨੇ ਭਰੋਸਾ ਕਾਗਜ਼ ਅਤੇ ਫੋਨ ਕੋਲੋਂ ਸਪਸ਼ਟ ਵੈਰੀਫਾਇਏਬਲ ਡੇਟਾ 'ਤੇ ਲਿਓ:
ਲੋਕ ਅਕਸਰ ਦੱਸਦੇ ਹਨ ਕਿ ਦਸਤਖ਼ਤ "non-repudiation" ਦਿੰਦੇ ਹਨ—ਮਤਲਬ ਸਾਈਨ ਕਰਨ ਵਾਲਾ ਅਸਲੀ ਤੌਰ 'ਤੇ ਇਹ ਨਹੀਂ ਕਹਿ ਸਕਦਾ ਕਿ ਉਸਨੇ ਸਾਈਨ ਨਹੀਂ ਕੀਤਾ। ਅਮਲ ਵਿੱਚ, ਇਹ ਇੱਕ ਲਕੜੀ ਹੈ, ਗਾਰੰਟੀ ਨਹੀਂ। কী ਦੀ ਚੋਰੀ, ਸ਼ੇਅਰ ਕੀਤੇ ਖਾਤੇ, ਕਮਜ਼ੋਰ ਡਿਵਾਈਸ ਸੁਰੱਖਿਆ ਜਾਂ ਅਸਪਸ਼ਟ ਨੀਤੀਆਂ attribution ਧੁੰਦਲਾ ਸਕਦੀਆਂ ਹਨ।
ਡਿਜਿਟਲ ਦਸਤਖ਼ਤ ਸ਼ਕਤੀਸ਼ਾਲੀ ਸਬੂਤ ਹਨ, ਪਰ ਅਸਲ ਦੁਨੀਆ ਦੀ ਜ਼ਿੰਮੇਵਾਰੀ ਲਈ ਵਧੀਆ ਕੀ ਪ੍ਰਬੰਧਨ, ਲੌਗਿੰਗ ਅਤੇ ਨੀਤੀਆਂ ਵੀ ਲੋੜੀਦੀਆਂ ਹਨ।
ਪਬਲਿਕ-ਕੀ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਆਸਾਨ ਲੱਗਦੀ ਹੈ: ਆਪਣੀ ਪਬਲਿਕ ਕੀ ਛਾਪੋ, ਪ੍ਰਾਈਵੇਟ ਕੀ ਛੁਪਾਈ ਰੱਖੋ। ਪਰ ਗੰਝਲਦਾਰ ਹਿੱਸਾ ਇਹ ਪੁੱਛਣ ਵਿੱਚ ਹੈ: ਇਹ ਕੀ ਕਿਸਦਾ ਹੈ?
ਜੇ ਕੋਈ ਹਮਲਾਵਰ ਆਪਣੀ ਕੀ ਦਾਖਲ ਕਰ ਦੇਵੇ, ਤਾਂ ਇਨਕ੍ਰਿਪਸ਼ਨ ਅਤੇ ਦਸਤਖ਼ਤ ਫ਼ੰਕਸ਼ਨ ਤਾਂ ਕਰ ਦੇਣ—ਪਰ ਗਲਤ ਵਿਅਕਤੀ ਲਈ।
TLS ਸਰਟੀਫਿਕੇਟ ਬੁਨਿਆਦੀ ਤੌਰ 'ਤੇ ਇੱਕ ਵੈੱਬਸਾਈਟ ਲਈ ID ਕਾਰਡ ਹੈ। ਇਹ ਡੋਮੇਨ ਨਾਂ (ਜਿਵੇਂ example.com) ਨੂੰ ਇੱਕ ਪਬਲਿਕ ਕੀ ਨਾਲ ਜੋੜਦਾ ਹੈ, ਨਾਲ ਹੀ ਮੈਟਾਡੇਟਾ ਜਿਵੇਂ ਸੰਗਠਨ (ਕੁਝ ਸਰਟੀਫਿਕੇਟ ਕਿਸਮਾਂ ਲਈ) ਅਤੇ ਮਿਆਦ-ਖਤਮ ਹੋਣ ਦੀ ਤਾਰੀਖ।
ਜਦੋਂ ਤੁਹਾਡਾ ਬ੍ਰਾਊਜ਼ਰ HTTPS ਨਾਲ ਜੁੜਦਾ ਹੈ, ਸਰਵਰ ਇਹ ਸਰਟੀਫਿਕੇਟ ਪੇਸ਼ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ ਬ੍ਰਾਊਜ਼ਰ ਯਕੀਨ ਕਰ ਸਕੇ ਕਿ ਉਹ ਸਹੀ ਡੋਮੇਨ ਨਾਲ ਗੱਲ ਕਰ ਰਿਹਾ ਹੈ ਪਹਿਲਾਂ ਕਿ ਇਨਕ੍ਰਿਪਟ ਕੀਤੀ ਗੱਲਬਾਤ ਸਥਾਪਤ ਹੋਵੇ।
ਬਰਾਊਜ਼ਰ "ਇੰਟਰਨੈੱਟ ਤੇ ਭਰੋਸਾ" ਨਹੀਂ ਕਰਦੇ—ਉਹ ਇੱਕ curated set ਭਰੋਸੇਯੋਗ Certificate Authorities (CAs) 'ਤੇ ਭਰੋਸਾ ਕਰਦੇ ਹਨ ਜਿਨ੍ਹਾਂ ਦੀਆਂ root certificates ਓਐਸ ਜਾਂ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਪਹਿਲਾਂ ਤੋਂ ਇੰਸਟਾਲ ਹੁੰਦੀਆਂ ਹਨ।
ਜ਼ਿਆਦਾਤਰ ਵੈੱਬਸਾਈਟ ਇੱਕ ਚੇਨ ਵਰਤਦੀਆਂ ਹਨ: leaf ਸਰਟੀਫਿਕੇਟ (ਤੁਹਾਡੀ ਸਾਈਟ) ਨੂੰ ਇੱਕ intermediate CA ਨੇ ਸਾਈਨ ਕੀਤਾ ਹੁੰਦਾ ਹੈ, ਜੋ ਕਿ ਇੱਕ trusted root CA ਵੱਲੋਂ ਸਾਈਨ ਕੀਤਾ ਗਿਆ ਹੋ ਸਕਦਾ ਹੈ। ਜੇ ਹਰ ਸਿਗਨੇਚਰ ਠੀਕ ਹੈ ਅਤੇ ਡੋਮੇਨ ਮੇਲ ਖਾਂਦਾ ਹੈ, ਤਾਂ ਬ੍ਰਾਊਜ਼ਰ ਉਸ ਪਬਲਿਕ ਕੀ ਨੂੰ ਉਸ ਸਾਈਟ ਨਾਲ ਸੰਬੰਧਿਤ ਮੰਨ ਲੈਂਦਾ ਹੈ।
ਸਰਟੀਫਿਕੇਟ ਅਕਸਰ ਮਹੀਨਿਆਂ ਦੀ ਅਵਧੀ ਲਈ ਮਿਆਦ ਦਰਜ ਹੁੰਦੀ ਹੈ, ਇਸ ਲਈ ਟੀਮਾਂ ਨੂੰ ਉਨ੍ਹਾਂ ਨੂੰ ਨਿਯਮਤ ਤੌਰ 'ਤੇ ਨਵੀਨਤ ਅਤੇ ਤैनਾਤ ਕਰਨਾ ਪੈਂਦਾ ਹੈ—ਅਕਸਰ ਆਟੋਮੇਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
ਰਿਵੋਕੇਸ਼ਨ ਐਮਰਜੈਂਸੀ ਬਰੇਕ ਹੈ: ਜੇ ਪ੍ਰਾਈਵੇਟ ਕੀ ਲੀਕ ਹੋ ਜਾਂਦੀ ਹੈ ਜਾਂ ਸਰਟੀਫਿਕੇਟ ਗਲਤ ਜਾਰੀ ਕੀਤਾ ਗਿਆ, ਤਾਂ ਇਸਨੂੰ ਰੱਦ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਅਮਲ ਵਿੱਚ, ਰਿਵੋਕੇਸ਼ਨ ਪੂਰੀ ਤਰ੍ਹਾਂ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਨਹੀਂ—ਆਨਲਾਈਨ ਚੈੱਕ ਫੇਲ ਹੋ ਸਕਦੇ ਹਨ, ਲੇਟੈਂਸੀ ਵਧ ਸਕਦੀ ਹੈ ਜਾਂ ਚੈੱਕ ਛੱਡ ਦਿੱਤੇ ਜਾਂਦੇ ਹਨ—ਇਸ ਲਈ ਛੋਟੀਆਂ ਅਵਧੀਆਂ ਅਤੇ ਆਟੋਮੇਸ਼ਨ ਅਹੰਕਾਰਪੂਰਨ ਰਣਨੀਤੀਆਂ ਬਣ ਗਈਆਂ ਹਨ।
PKI ਭਰੋਸਾ ਪੈਮਾਉਂਦਾ ਹੈ, ਪਰ ਇਹ ਭਰੋਸੇ ਨੂੰ ਕੇਂਦਰੀਕ੍ਰਿਤ ਵੀ ਕਰਦਾ ਹੈ। ਜੇ ਕੋਈ CA ਗਲਤੀ ਕਰੇ (ਗਲਤ ਇਸ਼ੂਅੰਸ) ਜਾਂ ਦੁਸ਼ਮਨ ਹੋ ਜਾਵੇ, ਤਾਂ ਹਮਲਾਵਰਾਂ ਕੋਲ ਵੈਧ-ਨਜ਼ਰ ਆਉਣ ਵਾਲੇ ਸਰਟੀਫਿਕੇਟ ਪ੍ਰਾਪਤ ਹੋ ਸਕਦੇ ਹਨ।
PKI ਨਾਲ ਅਪਰੇਸ਼ਨਲ ਜਟਿਲਤਾ ਵੀ ਆਉਂਦੀ ਹੈ: ਸਰਟੀਫਿਕੇਟ ਇਨਵੈਂਟਰੀ, ਨਵੀਨੀਕਰਨ ਪਾਈਪਲਾਈਨ, ਕੀ ਪ੍ਰੋਟੈਕਸ਼ਨ, ਅਤੇ ਘਟਨਾ ਜਵਾਬ—ਇਹ ਸਭ ਨਿਰੰਜਨ ਕੰਮ ਹਨ—ਪਰ ਇਹ ਉਹੀ ਚੀਜ਼ ਹੈ ਜੋ ਆਮ ਲੋਕਾਂ ਅਤੇ ਬ੍ਰਾਊਜ਼ਰਾਂ ਲਈ ਪਬਲਿਕ-ਕੀ ਵਰਤਣਯੋਗ ਬਣਾਉਂਦੀ ਹੈ।
RSA ਨੇ ਸਾਬਤ ਕੀਤਾ ਕਿ ਪਬਲਿਕ-ਕੀ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਅਸਲ ਸਿਸਟਮਾਂ ਵਿੱਚ ਕੰਮ ਕਰ ਸਕਦੀ ਹੈ। TLS (HTTPS ਦੇ ਪਿੱਛੇ ਦਾ ਪ੍ਰੋਟੋਕੋਲ) ਉਹ ਜਗ੍ਹਾ ਹੈ ਜਿੱਥੇ ਇਹ ਵਿਚਾਰ ਦਿਨ-ਰਾਤ ਲਈ ਆਦਤ ਬਣ ਗਿਆ—ਅਕਸਰ ਲੋਕਾਂ ਨੂੰ ਪਤਾ ਵੀ ਨਹੀਂ ਲੱਗਦਾ।
ਜਦੋਂ ਤੁਹਾਡਾ ਬ੍ਰਾਊਜ਼ਰ HTTPS ਦਿਖਾਏ, TLS ਇਹ ਤਿੰਨ ਚੀਜ਼ਾਂ ਲਕੜੀਆਂ ਦੇ ਲਕੜੀ ਕਰ ਰਿਹਾ ਹੁੰਦਾ ਹੈ:
ਇਤਿਹਾਸਕ ਤੌਰ 'ਤੇ, RSA ਅਕਸਰ ਕਦਮ 4 ਵਿੱਚ ਸੀधा ਰੋਲ ਨਿਭਾਂਦਾ ਸੀ (RSA key transport)। ਆਧੁਨਿਕ TLS ਆਮ ਤੌਰ 'ਤੇ ephemeral Diffie–Hellman (ECDHE) ਵਰਤਦਾ ਹੈ, ਜੋ forward secrecy ਦਿੰਦਾ ਹੈ: ਜੇ ਸਰਵਰ ਦੀ ਲੰਬੇ ਸਮੇਂ ਵਾਲੀ ਕੀ ਬਾਅਦ ਵਿੱਚ ਚੋਰੀ ਹੋਵੇ, ਪਿਛਲੇ ਕੈਪਚਰ ਕੀਤੇ ਟ੍ਰੈਫਿਕ ਨੂੰ ਫਿਰ ਵੀ ਪੜ੍ਹਨਾ ਮੁਸ਼ਕਲ ਰਹਿੰਦਾ ਹੈ।
TLS ਨੇ ਸਫਲਤਾ ਇਸ ਕਰਕੇ ਹਾਸਲ ਕੀਤੀ ਕਿ ਇਸ ਨੇ ਸੁਰੱਖਿਆ ਨੂੰ ਆਪਰੇਸ਼ਨਲ ਤੌਰ 'ਤੇ ਆਰਾਮਦਾਇਕ ਬਣਾਇਆ: ਸਵੈਚਾਲਿਤ ਨੇਗੋਸੀਏਸ਼ਨ, ਬ੍ਰਾਊਜ਼ਰਾਂ ਅਤੇ ਸਰਵਰਾਂ ਵਿੱਚ ਡਿਫਾਲਟ, ਅਤੇ ਦਿਖਾਈ ਦੇਣ ਵਾਲੇ ਸੰਕੇਤ (ਲਾਕ ਆਈਕਨ, ਚੇਤਾਵਨੀਆਂ) ਜਿਹੜੀਆਂ ਵਰਤੋਂ ਨੂੰ ਪ੍ਰੇਰਿਤ ਕਰਦੀਆਂ। ਇਹ "ਡਿਫਾਲਟ ਦੁਆਰਾ ਸੁਰੱਖਿਅਤ" ਤਜਰਬਾ ਕਿਸੇ ਵੀ ਗਣਿਤੀ ਖੋਜ ਦੇ ਸਮਾਨ ਮਹੱਤਵਪੂਰਨ ਸਾਬਤ ਹੋਇਆ—ਅਤੇ ਇਸਨੇ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਨੂੰ ਵਿਸ਼ੇਸ਼ਗਿਆ ਕੇ ਟੂਲ ਤੋਂ ਆਮ ਇੰਫ੍ਰਾਸਟਰੱਕਚਰ ਵਿੱਚ ਬਦਲ ਦਿੱਤਾ।
RSA (ਅਤੇ ਉਸ 'ਤੇ ਨਿਰਭਰ ਕ੍ਰਿਪਟੋ) ਗਣਿਤੀ ਤੌਰ 'ਤੇ ਠੀਕ ਹੋ ਸਕਦੀ ਹੈ ਅਤੇ ਫਿਰ ਵੀ ਅਮਲ ਵਿੱਚ ਫੇਲ ਹੋ ਸਕਦੀ ਹੈ। ਫ਼ਰਕ ਅਕਸਰ ਬੋਰਿੰਗ ਪਰ ਫੈਸਲੇਵਾਰ ਹੁੰਦਾ ਹੈ: ਤੁਸੀਂ ਕੀਆਂ ਨੂੰ ਕਿਵੇਂ ਜਨਰੇਟ, ਸਟੋਰ, ਵਰਤਦੇ, ਰੋਟੇਟ ਅਤੇ ਰੀਕਵਰ ਕਰਦੇ ਹੋ।
ਮਜ਼ਬੂਤ ਕ੍ਰਿਪਟੋ ਡੇਟਾ ਦੀ ਰੱਖਿਆ ਕਰਦੀ ਹੈ; ਮਜ਼ਬੂਤ ਕੀ ਹੈਂਡਲਿੰਗ ਕ੍ਰਿਪਟੋ ਨੂੰ ਬਚਾਉਂਦੀ ਹੈ।
ਜੇ ਕੋਈ ਹਮਲਾਵਰ ਤੁਹਾਡੇ ਪ੍ਰਾਈਵੇਟ ਕੀ ਨੂੰ ਚੁਰਾ ਲੈਂਦਾ ਹੈ, ਤਾਂ RSA ਦੇ ਅਧਿਐਨ ਨਾਲ ਕੋਈ ਫ਼ਰਕ ਨਹੀਂ ਪੈਂਦਾ। ਉਹ ਜੋ ਤੁਸੀਂ ਇਨਕ੍ਰਿਪਟ ਕੀਤਾ, ਉਹ ਡਿਕ੍ਰਿਪਟ ਕਰ ਸਕਦੇ ਹਨ, ਸਰਵਰਾਂ ਦੀ ਨਕਲ ਕਰ ਸਕਦੇ ਹਨ, ਜਾਂ ਤੁਹਾਡੀ ਤਰ੍ਹਾਂ ਮਾਲਵੇਅਰ ਸਾਈਨ ਕਰ ਸਕਦੇ ਹਨ।
ਸੁਰੱਖਿਆ ਇੰਜੀਨੀਅਰਿੰਗ ਕੀਜ਼ ਨੂੰ ਉੱਚ ਮੁੱਲ ਵਾਲੀ ਸੰਪਤੀ ਵਾਂਗ ਮੰਨਦੀ ਹੈ—ਇੱਕ ਤਿਜ਼ਰਬੇ ਵਾਲੇ ਵੌਲਟ ਵਿੱਚ ਰੱਖਣ ਦੀ ਤਰ੍ਹਾਂ, ਡੈਸਕ 'ਤੇ ਖੁਲ੍ਹੇ ਨੋਟਾਂ ਵਾਂਗ ਨਹੀਂ।
ਕੀ ਪ੍ਰਬੰਧਨ ਇੱਕ ਕੰਮ ਨਹੀਂ—ਇਹ ਇੱਕ ਜੀਵਨਚੱਕਰ ਹੈ:
ਕੀ ਐਕਸਪੋਜ਼ਰ ਘੱਟ ਕਰਨ ਲਈ, ਸੰਸਥਾਵਾਂ ਹਾਰਡਵੇਅਰ-ਬੈਕਡ ਸੁਰੱਖਿਆ ਵਰਤਦੀਆਂ ਹਨ। Hardware Security Modules (HSMs) ਕੁੰਜੀਆਂ ਨੂੰ ਇੱਕ ਸੁਰੱਖਿਅਤ ਡਿਵਾਈਸ ਦੇ ਅੰਦਰ ਬਣਾਉਣ ਅਤੇ ਵਰਤਣ ਦੀ ਸਹੂਲਤ ਦਿੰਦੇ ਹਨ ਤਾਂ ਕਿ ਪ੍ਰਾਈਵੇਟ ਕੀ ਮੈਟਰਿਅਲ ਨੂੰ ਨਿਕਾਸ ਕਰਨਾ ਔਖਾ ਹੋ ਜਾਵੇ। ਸੁਰੱਖਿਅਤ ਏਨਕਲੇਵ ਆਧੁਨਿਕ CPUs ਵਿੱਚ ਸਮਾਨ ਅਲੱਗੋ-ਪੁਸ਼ਟੀ ਦਿੰਦੇ ਹਨ, ਜੋ ਕਿ ਕੀ ਓਪਰੇਸ਼ਨ ਨੂੰ ਬਾਕੀ ਸਿਸਟਮ ਤੋਂ ਅਲੱਗ ਰੱਖਦੇ ਹਨ।
ਇਹ ਟੂਲ ਪ੍ਰਕਿਰਿਆਵਾਂ ਦੀ ਥਾਂ ਨਹੀਂ ਲੈਂਦੇ—ਪਰ ਉਹਨਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੇ ਹਨ।
ਕਈ ਅਸਲ ਬਰੇਚ "ਕ੍ਰਿਪਟੋ-ਸੰਬੰਧੀ" ਗਲਤੀਆਂ ਨੇ ਨਹੀਂ ਹੋਂਦੀਆਂ—ਉਹ ਕਮੀਆ ਇਹ ਹਨ:
RSA ਨੇ ਵਿਆਪਕ ਪੱਧਰ 'ਤੇ ਸੁਰੱਖਿਅਤ ਸੰਚਾਰ ਯੋਗ ਬਣਾਇਆ, ਪਰ ਕੀ-ਹੈਂਡਲਿੰਗ ਨੇ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕੀਤਾ ਕਿ ਇਹ ਗੰਦਲੀ ਦੁਨੀਆਂ ਵਿੱਚ ਜੀਵਿਤ ਰਹਿ ਸਕੇ।
ਜਲਦੀ ਚੱਲ ਰਹੀਆਂ ਟੀਮਾਂ—ਖ਼ਾਸ ਕਰਕੇ ਜਿਹੜੀਆਂ ਤੇਜ਼ੀ ਨਾਲ ਐਪ ਜਨਰੇਟ ਅਤੇ ਡਿਪਲੌਇ ਕਰ ਰਹੀਆਂ ਹਨ—ਉਹੀ ਮੁਢਲੇ ਨਿਯਮਾਂ ਨਾਲ ਟਕਰਾਉਂਦੀਆਂ ਹਨ: TLS ਟਰਮੀਨੀਸ਼ਨ, ਸਰਟੀਫਿਕੇਟ ਨਵੀਨੀਕਰਨ, ਸੀਕ੍ਰੇਟਸ ਹੈਂਡਲਿੰਗ, ਅਤੇ ਘੱਟ-ਅਧਿਕਾਰ ਪਹੁੰਚ।
ਉਦਾਹਰਣ ਲਈ, ਪਲੇਟਫਾਰਮਾਂ ਜਿਵੇਂ Koder.ai (ਇੱਕ vibe-coding ਵਰਕਫਲੋ ਜੋ ਚੈਟ ਤੋਂ ਵੈੱਬ, ਬੈਕਐਂਡ ਅਤੇ ਮੋਬਾਈਲ ਐਪ ਬਣਾਉਂਦਾ ਅਤੇ ਸ਼ਿਪ ਕਰਦਾ ਹੈ) ਵਿਕਾਸ ਸਮੇ ਨੂੰ ਕਾਫੀ ਘਟਾ ਸਕਦੇ ਹਨ, ਪਰ ਉਹ ਆਪਰੇਸ਼ਨਲ ਸੁਰੱਖਿਆ ਫੈਸਲੇ ਹਟਾਉਂਦੇ ਨਹੀਂ। ਜਿੱਤ ਉਹ ਹੈ ਕਿ ਸੁਰੱਖਿਅਤ ਡੀਫਾਲਟ ਅਤੇ ਦੁਹਰਾਏ ਜਾਣ ਯੋਗ ਡਿਪਲੌਇਮੈਂਟ ਰੀਤੀਆਂ ਪਾਈਪਲਾਈਨ ਦਾ ਹਿੱਸਾ ਬਣ ਜਾਣ—ਤਾਂ ਜੋ ਤੇਜ਼ੀ ਦਾ ਮਤਲਬ ਨਾਹ ਬਣੇ "ਕਿਸੇ ਨੇ ਪ੍ਰਾਈਵੇਟ ਕੀ ਟਿਕਟ ਵਿੱਚ ਕਾਪੀ ਕਰ ਦਿੱਤੀ"।
ਥ੍ਰੇਟ ਮਾਡਲ ਸਧਾਰਨ ਤੌਰ 'ਤੇ ਇਹ ਸਵਾਲ ਪੁੱਛਦਾ ਹੈ: ਕੌਣ ਸਾਡੇ ਉੱਤੇ ਹਮਲਾ ਕਰ ਸਕਦਾ ਹੈ, ਉਹ ਕੀ ਚਾਹੁੰਦਾ ਹੈ, ਅਤੇ ਉਹ ਹਕੀਕਤ ਵਿੱਚ ਕੀ ਕਰ ਸਕਦਾ ਹੈ?
ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਅਮਲੀ ਇਸ ਲਈ ਬਣੀ ਕਿ ਇਹ ਗਣਿਤੀ ਸੁੰਦਰਤਾ ਕਾਰਨ ਨਹੀਂ ਜੀਤੀ—ਇਹ ਇਸ ਲਈ ਜੀਤੀ ਕਿ ਇੰਜੀਨੀਅਰਾਂ ਨੇ ਸਬ ਤੋਂ ਸੰਭਵ ਫੇਲ-ਮੋਡ ਨੂੰ ਮਿਲਾਉਣ ਦੇ ਲਈ ਰੱਖਿਆਵਾਂ ਚੁਣੀਆਂ।
ਇੱਕ ਪੈਸਿਵ ਈਵੇਸਡ੍ਰੌਪਰ ਸਿਰਫ ਸੁਣਦਾ ਹੈ। ਸੋਚੋ ਪਬਲਿਕ Wi‑Fi 'ਤੇ ਕੋਈ ਵਿਅਕਤੀ ਟ੍ਰੈਫਿਕ ਕੈਪਚਰ ਕਰ ਰਿਹਾ ਹੈ। ਜੇ ਤੁਹਾਡਾ ਧਮਕੀ ਪੈਸਿਵ ਹੈ, ਤਾਂ ਗੁਪਤ ਰੱਖਣ ਵਾਲੀ ਇਨਕ੍ਰਿਪਸ਼ਨ ਅਤੇ ਵਧੀਆ ਕੀ-ਸਾਈਜ਼ ਬਹੁਤ ਹੱਦ ਤੱਕ ਕਾਫੀ ਹੁੰਦੇ ਹਨ।
ਇੱਕ ਐਕਟਿਵ ਹਮਲਾਵਰ ਖੇਡ ਬਦਲ ਦਿੰਦਾ ਹੈ। ਉਹ ਇਹ ਕਰ ਸਕਦਾ ਹੈ:
RSA-ਕਾਲ ਦੇ ਸਿਸਟਮਾਂ ਨੇ ਜਲਦੀ ਸਿੱਖ ਲਿਆ ਕਿ ਕੇਵਲ ਰਾਜਦਾਰਤਾ ਹੀ ਕਾਫੀ ਨਹੀਂ; ਤੁਹਾਨੂੰ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਅਖੰਡਤਾ ਵੀ ਚਾਹੀਦੀ ਹੈ (ਡਿਜਿਟਲ ਦਸਤਖ਼ਤ, ਸਰਟੀਫਿਕੇਟ ਵੈਰੀਫਿਕੇਸ਼ਨ, ਨੋਨਸ, ਸੀਕਵੰਸ ਨੰਬਰ)।
ਚੰਗੇ ਥ੍ਰੇਟ ਮਾਡਲ concrete ਡਿਪਲੌਇਮੈਂਟ ਫੈਸਲੇ ਲੈਣ ਨੂੰ ਲੈ ਕੇ ਆਉਂਦੇ ਹਨ:
ਸਬਕ ਸਧਾਰਨ ਹੈ: ਹਮਲਾਵਰ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ, ਫਿਰ ਉਹ ਕੰਟਰੋਲ ਚੁਨੋ ਜੋ ਸੁਰੱਖਿਆ ਨੂੰ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਫੇਲ ਕਰਨ ਦਿੰਦੇ ਹਨ—ਕਿਉਂਕਿ ਅਸਲ دنیا misconfigurations, ਚੋਰੀ ਕੀਜ਼ ਅਤੇ ਹੈਰਾਨੀਆਂ ਨਾਲ ਭਰੀ ਹੋਈ ਹੈ।
ਔਨਲਾਈਨ ਵਪਾਰ ਇੱਕ ਸੁਰੱਖਿਅਤ ਗੱਲਬਾਤ ਨਹੀਂ—ਇਹ ਹੱਥ-ਹੱਥਾਂ ਦੀ ਇੱਕ ਲੜੀ ਹੈ। ਆਮ ਕਾਰਡ ਭੁਗਤਾਨ ਬ੍ਰਾਊਜ਼ਰ ਜਾਂ ਮੋਬਾਈਲ ਐਪ ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ, ਮਰਚੈਂਟ ਦੇ ਸਰਵਰਾਂ ਵਿੱਚ ਜਾਂਦਾ ਹੈ, ਫਿਰ ਇੱਕ ਪੇਮੈਂਟ ਗੇਟਵੇ/ਪ੍ਰੋਸੈਸਰ, ਕਾਰਡ ਨੈੱਟਵਰਕ, ਅਤੇ ਆਖ਼ਿਰ ਵਿੱਚ ਜਾਰੀ ਕਰਨ ਵਾਲਾ ਬੈਂਕ ਜੋ ਲੈਣ-ਦੇਣ ਮਨਜ਼ੂਰ ਜਾਂ ਰੱਦ ਕਰਦਾ ਹੈ।
ਹਰ ਕਦਮ ਵੱਖਰੇ ਸੰਸਥਾਵਾਂ ਨੂੰ ਪਾਰ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ “ਸੁਰੱਖਿਆ” ਉਹਨਾਂ ਅਜਾਣਿਆਂ ਵਿੱਚ ਵੀ ਕੰਮ ਕਰਣੀ ਚਾਹੀਦੀ ਹੈ ਜੋ ਇੱਕੋ ਵਿਅਕਤੀਗਤ ਪ੍ਰਾਈਵੇਟ ਨੈਟਵਰਕ ਸਾਂਝਾ ਨਹੀਂ ਕਰ ਸਕਦੇ।
ਗਾਹਕ-ਅੰਤਰਫੇ 'ਤੇ, ਕ੍ਰਿਪਟੋ ਮੁੱਖ ਤੌਰ 'ਤੇ ਟ੍ਰਾਂਸਪੋਰਟ ਅਤੇ ਸਰਵਰ ਪਛਾਣ ਦੀ ਰੱਖਿਆ ਕਰਦੀ ਹੈ। HTTPS (TLS) ਚੈੱਕਆਉਟ ਸੈਸ਼ਨ ਨੂੰ ਇਨਕ੍ਰਿਪਟ ਕਰਦਾ ਤਾਂ ਜੋ ਕਾਰਡ ਡੇਟਾ ਅਤੇ ਪਤੇ ਨੈਟ 'ਤੇ ਖੁੱਲ੍ਹੇ ਨਾ ਰਹਿਣ, ਅਤੇ ਸਰਟੀਫਿਕੇਟ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਮਦਦ ਕਰਦੇ ਹਨ ਕਿ ਉਹ ਮਰਚੈਂਟ ਹੀ ਹੈ, ਕਿਸੇ ਨਜ਼ਦੀਕੀ ਨਕਲ-ਸਾਈਟ ਨਹੀਂ।
ਭੁਗਤਾਨ ਚੇਨ ਦੇ ਅੰਦਰ, ਕ੍ਰਿਪਟੋ ਨੂੰ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਅਖੰਡਤਾ ਲਈ ਵੀ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਗੇਟਵੇ ਅਤੇ ਮਰਚੈਂਟ ਅਕਸਰ ਰਿਕਵੇਸਟਾਂ ਨੂੰ ਸਾਈਨ ਕਰਦੇ ਹਨ (ਜਾਂ mutual TLS ਵਰਤਦੇ ਹਨ) ਤਾਂ ਜੋ API ਕਾਲ ਦੀ ਪਰਖ ਹੋ ਸਕੇ ਕਿ ਇਹ ਅਧਿਕਾਰਤ ਧਿਰੋਂ ਆਈ ਹੈ ਅਤੇ ਰਸਤੇ ਵਿੱਚ ਸੋਧੀ ਨਹੀਂ ਗਈ।
ਆਖ਼ਿਰਕਾਰ, ਕਈ ਸਿਸਟਮ ਟੋਕਨਾਈਜੇਸ਼ਨ ਵਰਤਦੇ ਹਨ: ਮਰਚੈਂਟ ਰਾ ਕਾਰਡ ਨੰਬਰਾਂ ਦੀ ਥਾਂ ਇੱਕ ਟੋਕਨ ਸਟੋਰ ਕਰਦਾ ਹੈ। ਕ੍ਰਿਪਟੋ mapping ਨੂੰ ਰੱਖਣ ਅਤੇ ਇਹ ਸੀਮਾ ਲਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ ਕਿ ਲੀਕ ਹੋਏ ਡੇਟਾਬੇਸ ਕੀ ਦਿਖਾਂ ਦੇ ਸਕਦੇ ਹਨ।
ਭਰੀ ਇਨਕ੍ਰਿਪਸ਼ਨ ਵੀ ਇਹ ਨਹੀਂ ਦੱਸ ਸਕਦੀ ਕਿ ਖਰੀਦਦਾਰ ਸੱਚਮੁੱਚ ਕੌਣ ਹੈ, ਜੇ ਡਿਲਿਵਰੀ ਦਾ ਪਤਾ ਸ਼ੱਕੀ ਹੈ, ਜਾਂ ਬਾਅਦ ਵਿੱਚ ਕਾਰਡਹੋਲਡਰ ਟਰਾਂਜ਼ੈਕਸ਼ਨ ਨੂੰ ਚੈਲੇਂਜ ਕਰੇਗਾ। ਫ੍ਰੌਡ ਡਿਟੈਕਸ਼ਨ, ਚਾਰਜਬੈਕ ਅਤੇ ਆਈਡੈਂਟੀਟੀ ਪ੍ਰੂਫ਼ਿੰਗ ਓਪਰੇਸ਼ਨਲ ਕੰਟਰੋਲ, ਰਿਸਕ ਸਕੋਰਿੰਗ, کسਟਮਰ ਸਪੋਰਟ ਅਤੇ ਕਾਨੂੰਨੀ ਨਿਯਮਾਂ 'ਤੇ ਨਿਰਭਰ ਹੁੰਦੇ ਹਨ—ਸਿਰਫ਼ ਗਣਿਤ 'ਤੇ ਨਹੀਂ।
ਇੱਕ ਗਾਹਕ HTTPS 'ਤੇ ਚੈੱਕਆਉਟ ਕਰਦਾ ਹੈ, ਭੁਗਤਾਨ ਵੇਰਵੇ ਮਰਚੈਂਟ ਨੂੰ ਭੇਜਦਾ ਹੈ। ਫਿਰ ਮਰਚੈਂਟ ਗੇਟਵੇ ਦੀ API ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ।
ਉਹ ਬੈਕ-ਆਫਿਸ ਰਿਕਵੇਸਟ Authenticate ਹੋ ਸਕਦੀ ਹੈ (ਉਦਾਹਰਣ ਲਈ, ਮਰਚੈਂਟ ਦੀ ਪ੍ਰਾਈਵੇਟ ਕੀ ਨਾਲ ਬਣਾਈ ਸਾਈਨ ਵਰਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ ਉਸ ਦੀ ਪਬਲਿਕ ਕੀ ਨਾਲ ਵੈਰੀਫਾਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ) ਅਤੇ TLS 'ਤੇ ਭੇਜੀ ਜਾਂਦੀ ਹੈ। ਜੇ ਕੋਈ ਹਮਲਾਵਰ ਰਕਮ ਜਾਂ ਮੁਲਕ-ਗੰਤੀ ਸੋਧੇ, ਤਾਂ ਸਾਈਨ ਵੈਰੀਫਿਕੇਸ਼ਨ ਫੇਲ ਹੋ ਜਾਏਗੀ—ਭਾਵੇਂ ਸੁਨੇਹਾ ਰੂਟ ਤੇ ਰੀਰੂਟ ਕੀਤਾ ਗਿਆ ਹੋਵੇ।
ਇਹੀ ਕਾਰਨ ਹੈ ਕਿ RSA-ਯੁੱਗੀ ਵਿਚਾਰ ਵਪਾਰ ਲਈ ਮਹੱਤਵਪੂਰਨ ਸਨ: ਐਹਨਾਂ ਨੇ ਇਨਕ੍ਰਿਪਸ਼ਨ, ਦਸਤਖ਼ਤ ਅਤੇ ਪ੍ਰਬੰਧਯੋਗ ਭਰੋਸੇ ਨੂੰ ਬਹੁਤ ਸਾਰੇ ਅਜ਼ਾਦ ਸਿਸਟਮਾਂ ਵਿੱਚ ਯੋਗ ਬਣਾਇਆ—ਠੀਕ ਉਹ ਚੀਜ਼ਾਂ ਜੋ ਭੁਗਤਾਨਾਂ ਲਈ ਲੋੜੀਂਦੀਆਂ ਹੁੰਦੀਆਂ ਹਨ।
ਜ਼ਿਆਦਾਤਰ ਸੁਰੱਖਿਆ ਘਟਨਾਵਾਂ RSA, TLS ਜਾਂ ਸਰਟੀਫਿਕੇਟਾਂ ਦੇ ਗਣਿਤ-ਭੰਗ ਕਾਰਨ ਨਹੀਂ ਹੁੰਦੀਆਂ। ਉਹ ਇਸ ਲਈ ਹੁੰਦੀਆਂ ਹਨ ਕਿਉਂਕਿ ਅਸਲ ਸਿਸਟਮ ਕਈ ਲਾਇਬ੍ਰੇਰੀਆਂ, ਕੰਫਿਗਰੇਸ਼ਨਾਂ ਅਤੇ ਆਪਰੇਸ਼ਨਲ ਅਭਿਆਸਾਂ ਨਾਲ ਜੁੜੇ ਹੁੰਦੇ ਹਨ—ਅਤੇ ਇਹ ਥਾਂਵਾਂ ਤੇ ਤੇਜ਼ ਬਾਲ-ਕਿਨਾਰੇ ਹੁੰਦੇ ਹਨ।
ਕੁਝ ਗਲਤੀਆਂ ਮੁੜ-ਮੁੜ ਦਿਖਾਈ ਦਿੰਦੀਆਂ ਹਨ:
ਇਹ ਨੁਕਸ ਹਨ ਅਕਸਰ ਬੋਰਿੰਗ ਲੱਗਦੇ ਹਨ—ਜਦ ਤੱਕ ਉਹ ਆਉਟੇਜ ਜਾਂ ਬਰੇਚ ਨਾ ਬਣ ਜਾਣ।
ਖੁਦ ਦੀ ਇਨਕ੍ਰਿਪਸ਼ਨ ਜਾਂ ਸਾਈਨਿੰਗ ਕੋਡ ਲਿਖਣਾ ਖਿੱਚਦਾਰ ਲੱਗਦਾ ਹੈ: ਇਹ ਸਟੈਂਡਰਡ ਸਿੱਖਣ ਅਤੇ ਲਾਇਬ੍ਰੇਰੀਆਂ ਚੁਣਨ ਨਾਲੋਂ ਤੇਜ਼ ਮਹਿਸੂਸ ਹੁੰਦਾ ਹੈ। ਪਰ ਸੁਰੱਖਿਆ ਸਿਰਫ਼ ਅਲਗੋਰਿਦਮ ਨਹੀਂ—ਇਹ randomness, ਐਨਕੋਡਿੰਗ, ਪੈਡਿੰਗ, ਕੀ ਸਟੋਰੇਜ, ਐਰਰ ਹੈਂਡਲਿੰਗ, side-channel ਰੋਧ ਅਤੇ ਸੁਰੱਖਿਅਤ ਅੱਪਡੇਟਾਂ ਦੇ ਸਮੱਸਿਆਂ ਨੂੰ ਵੀ ਸ਼ਾਮਲ ਕਰਦੀ ਹੈ।
ਆਮ "ਘਰੇਲੂ" ਅਸਫਲਤਾਵਾਂ ਵਿੱਚ ਪ੍ਰਡਿਕਟੇਬਲ ਰੈਨਡਮ ਨੰਬਰ, ਅਸੁਰੱਖਿਅਤ ਮੋਡਾਂ, ਜਾਂ ਸੂਖਮ ਵੈਰੀਫਿਕੇਸ਼ਨ ਬੱਗ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ (ਉਦਾਹਰਣ: ਇੱਕ ਸਿਗਨੇਚਰ ਜਾਂ ਸਰਟੀਫਿਕੇਟ ਨੂੰ "accept" ਕਰ ਲੈਣਾ ਜੋ ਨਿਗਰਾਨੀ ਕਰਕੇ reject ਹੋਣਾ ਚਾਹੀਦਾ ਸੀ)।
ਸੁਰੱਖਿਅਤ ਰਸਤਾ ਸਧਾਰਨ ਹੈ: ਚੰਗੇ-ਵਿਸਥਾਰਤ ਲਾਇਬ੍ਰੇਰੀਆਂ ਅਤੇ ਮਿਆਰਾਂ ਵਰਤੋ, ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਅਪਡੇਟ ਰੱਖੋ।
ਡਿਫਾਲਟ ਉਹ ਰਸਤਾ ਬਣਾਉ ਜੋ ਮਨੁੱਖੀ ਯਤਨ ਨੂੰ ਘਟਾਉਂਦਾ:
ਜੇ ਤੁਸੀਂ ਇੱਕ ਰੇਫਰੰਸ ਬੇਸਲਾਈਨ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਆਪਣੀ ਆਧਾਰਿਕ runbook ਨੂੰ ਇੱਕ "known-good" config ਪੰਨਾ ਨਾਲ ਜੋੜੋ (ਉਦਾਹਰਨ ਵਜੋਂ, /security/tls-standards).
ਨਿਗਰਾਨੀ ਕਰੋ:
ਮੁੱਖ ਨਤੀਜਾ: ਅਮਲੀ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਉਸ ਵੇਲੇ ਕਾਮਯਾਬ ਹੁੰਦੀ ਹੈ ਜਦੋਂ ਓਪਰੇਸ਼ਨਸ ਸੁਰੱਖਿਅਤ ਰਸਤੇ ਨੂੰ ਆਸਾਨ ਰਸਤੇ ਬਣਾਉਂਦੇ ਹਨ।
RSA ਦੀ ਸਭ ਤੋਂ ਵੱਡੀ ਜਿੱਤ ਸਿਰਫ਼ ਗਣਿਤੀ ਨਹੀਂ ਸੀ—ਇਹ ਆਰਕੀਟੈਕਚਰ ਸੀ। ਇਸਨੇ ਇੱਕ ਦੁਹਰਾਏ ਜਾਣਯੋਗ ਨਮੂਨਾ ਪ੍ਰਸਿੱਧ ਕੀਤਾ ਜੋ ਅਜੇ ਵੀ ਸੇਵਾਵਾਂ ਦੇ ਪਿੱਠ ਬਲੌਕ ਨੂੰ ਰੱਖਦਾ ਹੈ: ਪਬਲਿਕ ਕੁੰਜੀਆਂ ਜੋ ਸਾਂझਾਂ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ, ਸਰਟੀਫਿਕੇਟ ਜੋ ਕੁੰਜੀਆਂ ਨੂੰ ਅਸਲੀ ਪਛਾਣ ਨਾਲ ਬਾਂਧਦੇ ਹਨ, ਅਤੇ ਆਮ ਪ੍ਰੋਟੋਕੋਲ ਜੋ ਇਹ ਹਿੱਸੇ ਵੱਖ-ਵੱਖ ਵੇਂਡਰਾਂ ਅਤੇ ਮਹਾਦੇਸ਼ਾਂ ਵਿਚਕਾਰ ਇੰਟਰਓਪਰੇਬਲ ਬਣਾਉਂਦੇ ਹਨ।
ਜੋ ਪ੍ਰਯੋਗਿਕ ਰੈਸੀਪੀ ਬਣੀ ਉਹ ਇਸ ਪ੍ਰਕਾਰ ਹੈ:
ਇਹ ਕਾਂਬੀਨੇਸ਼ਨ ਨੇ ਸੁਰੱਖਿਆ ਨੂੰ ਪੈਮਾਇਸ਼ਯੋਗ ਬਣਾਇਆ। ਇਸਨੇ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਸਰਵਰ ਨਾਲ ਗੱਲ-ਬਾਤ ਕਰਨ, ਪੇਮੈਂਟ ਗੇਟਵੇਜ਼ ਨੂੰ ਮਰਚੈਂਟ ਨਾਲ ਗੱਲ ਕਰਵਾਉਣ ਅਤੇ ਅੰਦਰੂਨੀ ਸੇਵਾਵਾਂ ਨੂੰ ਇੱਕ-ਦੂਜੇ ਨਾਲ ਗੱਲ ਕਰਨ ਦੇ ਯੋਗ ਕੀਤਾ—ਬਿਨਾਂ ਹਰ ਟੀਮ ਦੇ ਆਪਣਾ ਸਕੀਮ ਬਣਾਉਣ ਦੀ ਲੋੜ।
ਕਈ ਡਿਪਲੌਇਮੈਂਟ RSA ਤੋਂ ਦੂਰ ਹੋ ਚੁੱਕੇ ਹਨ key exchange ਅਤੇ ਹੁਣ-ਹੁਣ ਸਾਈਨਿੰਗ ਲਈ। ਤੁਸੀਂ ਆਧੁਨਿਕ ਪ੍ਰਣਾਲੀਆਂ ਵਿੱਚ ECDHE forward secrecy ਲਈ ਅਤੇ ਨਵੇਂ ਸਿਸਟਮਾਂ ਵਿੱਚ EdDSA/ECDSA ਸਾਈਨਿੰਗ ਵੇਖੋ گے।
ਬਿੰਦੂ ਇਹ ਨਹੀਂ ਕਿ RSA ਸਦਾ ਲਈ "ਉੱਤਰ" ਸੀ; ਬਿੰਦੂ ਇਹ ਹੈ ਕਿ RSA ਨੇ ਇੱਕ ਮ્યਾਡਲ ਸਾਬਤ ਕੀਤਾ: ਮਿਆਰੀ ਪ੍ਰਿਮਿਟਿਵ ਅਤੇ ਅਨੁਸ਼ਾਸਿਤ ਕੀ ਪ੍ਰਬੰਧਨ ਇਕ-ਅਲੱਗ ਡਿਜ਼ਾਈਨ ਨਾਲੋਂ ਚੰਗੇ।
ਸੋ ਜਿਵੇਂ ਅਲਗੋਰਿਦਮ ਬਦਲਦੇ ਹਨ, ਬੁਨਿਆਦੀ ਅਸੁਲ ਰਹਿੰਦੇ ਹਨ:
ਡਿਫਾਲਟ ਸੁਰੱਖਿਆ ਇੱਕ ਚੈੱਕਲਿਸਟ ਨਹੀਂ—ਇਹ ਇੱਕ ਅਪਰੇਟਿੰਗ ਮੋਡ ਹੈ:
ਜਦੋਂ ਤੁਸੀਂ ਸੁਰੱਖਿਅਤ ਸੰਚਾਰ ਅਤੇ ਪੇਮੈਂਟ ਸਿਸਟਮ ਬਣਾਉਂਦੇ ਜਾਂ ਖਰੀਦਦੇ ਹੋ, ਤਰਜੀਹ ਦਿਓ:
RSA ਦੀ ਵਿਰਾਸਤ ਇਹ ਹੈ ਕਿ ਸੁਰੱਖਿਆ ਉਹ ਚੀਜ਼ ਬਣ ਗਈ ਜੋ ਟੀਮਾਂ ਡਿਫਾਲਟ ਰੂਪ 'ਤੇ ਅਪਣਾ ਸਕਦੀਆਂ—ਇਕਸਪਟਰੇਟ ਕੀਤੇ ਮਿਆਰੀ ਰੂਪ ਵਿੱਚ—ਨਾ ਕਿ ਹਰ ਉਤਪਾਦ ਲਾਂਚ 'ਤੇ ਇਕ ਨਵਾਂਚੀਜ਼ ਬਣਾਉਣੀ ਪਏ।
RSA ਨੇ ਪਬਲਿਕ-ਕੀ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਨੂੰ ਅਮਲੀ ਤੌਰ 'ਤੇ ਡਿਪਲੌਇਯੋਗ ਬਣਾ ਦਿੱਤਾ: ਕੋਈ ਵੀ ਤੁਹਾਡੀ ਪਬਲਿਕ ਕੀ ਨਾਲ ਡੇਟਾ ਇਨਕ੍ਰਿਪਟ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਸਿਰਫ਼ ਤੁਸੀਂ ਆਪਣੀ ਪ੍ਰਾਈਵੇਟ ਕੀ ਨਾਲ ਉਸਨੂੰ ਡਿਕ੍ਰਿਪਟ ਕਰ ਸਕਦੇ ਹੋ।
ਇਸ ਤੋਂ ਵੀ ਮਹੱਤਵਪੂਰਨ, RSA ਨੇ ਡਿਜਿਟਲ ਦਸਤਖ਼ਤਾਂ ਦਾ ਸਹਾਰਾ ਦਿੱਤਾ, ਜਿਸ ਨਾਲ ਦੂਜੇ ਪੂਰੀ ਤਰ੍ਹਾਂ ਚੈੱਕ ਕਰ ਸਕਦੇ ਹਨ ਕਿ ਡੇਟਾ ਵਾਸਤਵ ਵਿੱਚ ਤੁਹਾਡੇ ਵੱਲੋਂ ਆਇਆ ਸੀ ਅਤੇ ਸੋਧਿਆ ਨਹੀਂ ਗਿਆ।
ਇਹ ਦੋਹਾਂ (ਇਨਕ੍ਰਿਪਸ਼ਨ + ਦਸਤਖ਼ਤ) ਅਸਲ ਉਤਪਾਦਾਂ ਨਾਲ ਫਿੱਟ ਹੋਏ ਅਤੇ ਮਿਆਰਬੱਧ ਕੀਤੇ ਜਾ ਸਕਦੇ ਸਨ, ਜਿਸ ਨਾਲ ਇਹ ਤਿਆਰ ਹੋ ਕੇ ਫੈਲਿਆ।
ਸਿਮੈਟ੍ਰਿਕ ਕ੍ਰਿਪਟੋ ਤੇਜ਼ ਹੈ, ਪਰ ਇਹ ਮੰਗਦਾ ਹੈ ਕਿ ਦੋਨਾਂ ਪਾਰਟੀਆਂ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਇਕੋ ਹੀ ਗੁਪਤ ਕੁੰਜੀ ਹੋਵੇ।
ਇੰਟਰਨੈੱਟ ਪੱਧਰ 'ਤੇ ਇਹ ਕਈ ਸਖ਼ਤ ਸਮੱਸਿਆਵਾਂ ਪੈਦਾ ਕਰਦਾ ਹੈ:
ਪਬਲਿਕ-ਕੀ ਕ੍ਰਿਪਟੋ (ਜਿਸ ਵਿੱਚ RSA ਵੀ ਆਉਂਦਾ ਹੈ) ਨੇ ਇਸ ਵੰਡ ਸਮੱਸਿਆ ਨੂੰ ਬਦਲ ਦਿੱਤਾ — ਲੋਕ ਆਪਣੀ ਪਬਲਿਕ ਕੀ ਖੁੱਲ੍ਹ ਕੇ ਛਾਪ ਸਕਦੇ ਹਨ।
ਹਾਈਬ੍ਰਿਡ ਇਨਕ੍ਰਿਪਸ਼ਨ ਇੱਕ ਵਿਆਵਹਾਰਿਕ ਪੈਟਰਨ ਹੈ ਜਿੱਥੇ ਪਬਲਿਕ-ਕੀ ਕ੍ਰਿਪਟੋ ਇੱਕ ਛੋଟਾ ਰਹੱਸ (session key) ਸੁਰੱਖਿਅਤ ਕਰਦਾ ਹੈ ਅਤੇ ਸਿਮੈਟ੍ਰਿਕ ਕ੍ਰਿਪਟੋ ਵੱਧ ਡੇਟਾ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਰੱਖਦਾ।
ਆਮ ਫ਼ਲੋ:
ਇਨਕ੍ਰਿਪਸ਼ਨ ਉੱਤਰ ਦਿੰਦੀ ਹੈ: "ਇਹ ਕੌਣ ਪੜ੍ਹ ਸਕਦਾ ਹੈ?"
ਡਿਜਿਟਲ ਦਸਤਖ਼ਤ ਇਸਦਾ ਉਤਰ ਦਿੰਦਾ ਹੈ: "ਇਹ ਕਿਸ ਨੇ ਮਨਜ਼ੂਰ ਕੀਤਾ, ਅਤੇ ਕੀ ਇਸਨੂੰ ਸੋਧਿਆ ਗਿਆ ਹੈ?"
ਵਿਆਹਿਕ ਤੌਰ 'ਤੇ:
TLS ਸਰਟੀਫਿਕੇਟ ਬੁਨਿਆਦੀ ਤੌਰ 'ਤੇ ਇੱਕ ਵੈਬਸਾਈਟ ਲਈ ID ਕਾਰਡ ਹੈ। ਇਹ ਇੱਕ ਡੋਮੇਨ ਨਾਂ (ਜਿਵੇਂ example.com) ਨੂੰ ਇੱਕ ਪਬਲਿਕ ਕੀ ਨਾਲ ਜੋੜਦਾ ਹੈ, ਨਾਲ ਹੀ ਕੁਝ ਮੈਟਾਡੇਟਾ ਜਿਵੇਂ ਕਿ ਸੰਗਠਨ ਅਤੇ ਮਿਆਦ-ਖਤਮ ਹੋਣ ਦੀ ਤਾਰੀਖ।
ਜੇ ਡੋਮੇਨ ਨਾਲ ਜੋੜੀ ਕੀ ਨਹੀਂ ਹੈ, ਤਾਂ ਕੋਈ ਹਮਲਾਵਰ ਆਪਣੀ ਪਬਲਿਕ ਕੀ ਮਾਰ ਕੇ ਕਨੈਕਸ਼ਨ ਬਣਾਉ ਸਕਦਾ ਅਤੇ ਇਨਕ੍ਰਿਪਸ਼ਨ ਤਾਂ ਕੰਮ ਕਰੇਗੀ—ਪਰ ਉਹ ਗਲਤ ਪਾਰਟੀ ਨੂੰ ਸੁਰੱਖਿਅਤ ਸੰਚਾਰ ਦੇ ਰਿਹਾ ਹੋਵੇਗਾ।
ਬਰਾਊਜ਼ਰ ਅਤੇ ਓਐਸ ਪਹਿਲਾਂ ਹੀ ਭਰੋਸੇਯੋਗ root Certificate Authorities (CAs) ਦੀ ਲਿਸਟ ਨਾਲ ਆਉਂਦੇ ਹਨ। ਜਿਆਦਾਤਰ ਸਾਈਟਾਂ ਇੱਕ ਚੇਨ ਵਰਤਦੀਆਂ ਹਨ:
HTTPS ਕਨੈਕਸ਼ਨ ਦੌਰਾਨ, ਬ੍ਰਾਊਜ਼ਰ ਚੇਨ ਦੀਆਂ ਸਿਗਨੇਚਰਾਂ, ਡੋਮੇਨ ਮਿਲਾਪ ਅਤੇ ਵੈਧਤਾ ਅਵਧੀ ਨੂੰ ਜाँचਦਾ ਹੈ। ਜੇ ਇਹ ਸਭ ਠੀਕ ਹੋਵੇ ਤਾਂ ਬ੍ਰਾਊਜ਼ਰ ਸਾਈਟ ਦੀ ਪਬਲਿਕ ਕੀ ਨੂੰ ਉਸ ਡੋਮੇਨ ਨਾਲ ਸਬੰਧਿਤ ਮੰਨ ਲੈਂਦਾ ਹੈ।
ਆਧੁਨਿਕ TLS ਵਿੱਚ ਅਕਸਰ key agreement ਲਈ RSA ਦੀ ਥਾਂ ephemeral Diffie–Hellman (ECDHE) ਵਰਤੀ ਜਾਂਦੀ ਹੈ।
ਬੁਨਿਆਦੀ ਕਾਰਨ: forward secrecy।
RSA ਹੁਣ ਵੀ ਸਰਟੀਫਿਕੇਟ/ਸਾਈਨਿੰਗ ਵਿੱਚ ਨਜ਼ਰ ਆ ਸਕਦਾ ਹੈ, ਪਰ ਹਨਸ਼ੇਕ ਏਅਰ-ਹੈੰਡਸ਼ੇਕ ECDHE ਨੇ ਜਿਆਦਾ ਵਰਤੋਂ ਪਾਈ।
ਆਮ ਆਪਰੇਸ਼ਨਲ ਗਲਤੀਆਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:
ਗਣਿਤ ਠੀਕ ਹੋ ਸਕਦੀ ਹੈ, ਪਰ ਅਸਲ ਸਿਸਟਮ ਅਕਸਰ ਕੀ ਹੈਂਡਲਿੰਗ, ਕੰਫਿਗਰੇਸ਼ਨ ਅਤੇ ਪੈਚ ਹਾਈਜੀਨ ਕਾਰਨ ਫੇਲ ਹੁੰਦੇ ਹਨ।
ਕੀ ਪ੍ਰਬੰਧਨ ਵਿੱਚ ਕੁੰਜੀਆਂ ਦੇ ਜੀਵਨ‑ਚੱਕਰ ਨੂੰ ਸਮਝਾਉਣਾ ਸ਼ਾਮਲ ਹੈ:
ਜੇ ਕੋਈ ਅਟੈਕਰ ਤੁਹਾਡੀ ਪ੍ਰਾਈਵੇਟ ਕੀ ਚੋਰੀ ਕਰ ਲੈਂਦਾ ਹੈ, ਤਾਂ ਉਹ ਡੇਟਾ ਡਿਕ੍ਰਿਪਟ ਕਰ ਸਕਦਾ ਹੈ ਜਾਂ ਸੇਵਰਾਂ ਦੀ ਨਕਲ ਕਰ ਸਕਦਾ ਹੈ—ਇਸ ਲਈ ਕੁੰਜੀਆਂ ਦੇ ਆਈਨ-ਆਪਰੇਸ਼ਨਲ ਕੰਟਰੋਲ ਅਕਸਰ ਅਲਗੋਰੀਥਮ ਨਾਲੋਂ ਜ਼ਿਆਦਾ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦੇ ਹਨ।
ਇਹ ਇਸ ਤਰ੍ਹਾਂ ਹੈ:
ਕ੍ਰਿਪਟੋ ਖੁਦ ਧੋਖਾਧੜੀ ਜਾਂ ਵਿਵਾਦ ਨਹੀਂ ਰੋਕਦੀ—ਉਹ ਓਪਰੇਸ਼ਨਲ ਕੰਟਰੋਲ, ਰਿਸਕ ਸਕੋਰਿੰਗ ਅਤੇ ਹਾਲਾਤ-ਚਾਲ ਨਾਲ ਮਿਲਕੇ ਕੰਮ ਕਰਦੀ ਹੈ—ਪਰ ਇਹ ਭੁਗਤਾਨ ਲਾਈਨ ਨੂੰ ਇੰਟਰਸੈਪਟ ਜਾਂ ਟੈਂਪਰ ਕਰਨਾ ਮੁਸ਼ਕਲ ਬਣਾਉਂਦੀ ਹੈ।
ਇਹ ਇਸ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ ਕਿ RSA ਸੈੱਲਫ਼ ਵਿੱਚ ਮਹਿਲਾ-ਖਰਚੀਲਾ ਅਤੇ ਸਾਈਜ਼ ਸੀਮਤ ਹੋ ਸਕਦਾ ਹੈ, ਜਦਕਿ ਸਿਮੈਟ੍ਰਿਕ ਸਾਇਫਰ ਵੱਡੀ ਡੇਟਾ ਲਈ ਤੇਜ਼ ਹੁੰਦੇ ਹਨ।