ਦੋ ਲੇਬਲ ਇੱਕੋ ਚੀਜ਼ ਵਾਂਗ ਵਰਤੇ ਜਾਂਦੇ ਹਨ: ਹਾਰਡਵੇਅਰ-ਤੇਜ਼ ਅਤੇ ਕਰਨਲ ਵਿੱਚ ਭੇਜਿਆ। ਇੱਕ ਦੱਸਦਾ ਹੈ ਕਿ ਲਾਇਬ੍ਰੇਰੀ ਦੀ AES ਰੁਟੀਨ ਕਿਹੜੀਆਂ ਹਦਾਇਤਾਂ ਚਲਾਉਂਦੀ ਹੈ, ਅਤੇ ਦੂਜਾ ਦੱਸਦਾ ਹੈ ਕਿ ਪੈਕਟ ਪਰੋਸੈਸਿੰਗ ਕਿੱਥੇ ਹੁੰਦੀ ਹੈ। VPN ਕੋਲ ਪਹਿਲਾ ਦੂਜੇ ਬਿਨਾਂ, ਦੂਜਾ ਪਹਿਲੇ ਬਿਨਾਂ, ਜਾਂ ਦੋਵੇਂ ਇਕੱਠੇ ਹੋ ਸਕਦੇ ਹਨ। ਕਾਰਗੁਜ਼ਾਰੀ ਬਾਰੇ ਕੋਈ ਵੀ ਫੈਸਲਾ ਤੁਸੀਂ ਅਸਲ ਵਿੱਚ ਦੋਵਾਂ ਵਿੱਚੋਂ ਕਿਹੜਾ ਬਦਲ ਰਹੇ ਹੋ ਇਸ ਦਾ ਨਾਂ ਲੈਣ ਤੋਂ ਸ਼ੁਰੂ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।

ਦੋ ਧੁਰੇ, ਇੱਕ ਸਕੋਰ ਨਹੀਂ

ਪਹਿਲਾ ਧੁਰਾ ਲਾਗੂਕਰਨ ਹੈ: AES-256-GCM ਕਰਨ ਵਾਲਾ ਕੋਡ ਪ੍ਰੋਸੈਸਰ ਦੀਆਂ ਸਮਰਪਿਤ ਹਦਾਇਤਾਂ ਵਰਤਣ ਵਾਲੇ ਸੰਸਕਰਣ ਵੱਲ ਜਾਂਦਾ ਹੈ ਜਾਂ ਉਨ੍ਹਾਂ ਨੂੰ ਆਮ ਗਣਿਤ ਵਾਂਗ ਚਲਾਉਣ ਵਾਲੀ ਪੋਰਟੇਬਲ ਰੁਟੀਨ ਵੱਲ। ਇਹ ਚੋਣ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕ ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਅੰਦਰ ਰਹਿੰਦੀ ਹੈ ਅਤੇ ਉਦੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜਦੋਂ ਇਹ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ।

ਦੂਜਾ ਧੁਰਾ ਥਾਂ ਹੈ: ਪੈਕਟ ਕਰਨਲ ਦੇ ਬਦਲਾਅ ਦੇ ਰਾਹ ਰਾਹੀਂ ਜਾਂਦਾ ਹੈ ਜਾਂ ਵਰਤੋਂਕਾਰ ਥਾਂ ਦਾ ਡੈਮਨ ਟਨਲ ਡਿਵਾਈਸ ਤੋਂ ਪੜ੍ਹਦਾ ਹੈ, ਐਨਕ੍ਰਿਪਟ ਕਰਦਾ ਹੈ ਅਤੇ ਵਾਪਸ ਲਿਖਦਾ ਹੈ।

ਕੋਈ ਵੀ ਧੁਰਾ ਦੂਜੇ ਨੂੰ ਸੀਮਤ ਨਹੀਂ ਕਰਦਾ। AES ਹਦਾਇਤਾਂ ਵਾਲੇ CPU ਉੱਤੇ ਵਰਤੋਂਕਾਰ ਥਾਂ ਦਾ VPN ਉਨ੍ਹਾਂ ਨੂੰ ਹਰ ਸਮੇਂ ਵਰਤ ਸਕਦਾ ਹੈ, ਅਤੇ ਉਨ੍ਹਾਂ ਤੋਂ ਬਿਨਾਂ CPU ਉੱਤੇ ਕਰਨਲ ਰਾਹ ਸਾਫ਼ਟਵੇਅਰ ਲਾਗੂਕਰਨ ਵੱਲ ਮੁੜਦਾ ਹੈ। ਵਿਕਰੇਤਾ ਸਮੱਗਰੀ ਵਿੱਚ ਲੇਬਲ ਇਹ ਫ਼ਰਕ ਘੱਟ ਹੀ ਦਿਖਾਉਂਦੇ ਹਨ, ਇਸ ਲਈ ਦੋ ਹਾਲਤਾਂ ਵਿਚਕਾਰ ਨਕਲ ਕੀਤੀ ਟਿਊਨਿੰਗ ਸਲਾਹ ਅਕਸਰ ਕੁਝ ਨਹੀਂ ਕਰਦੀ।

ਧੁਰਾ ਇੱਕ: ਕਿਹੜਾ ਕੋਡ ਐਨਕ੍ਰਿਪਸ਼ਨ ਕਰਦਾ ਹੈ

OpenSSL ਸ਼ੁਰੂਆਤ ਵੇਲੇ ਪ੍ਰੋਸੈਸਰ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਖੋਜਦਾ ਹੈ ਅਤੇ ਨਤੀਜੇ ਦੀ ਵਰਤੋਂ ਸੁਧਾਰੇ ਕੋਡ ਰਾਹ ਚੁਣਨ ਲਈ ਕਰਦਾ ਹੈ, ਜਿਵੇਂ x86 ਸਮਰੱਥਾਵਾਂ ਦਾ ਦਸਤਾਵੇਜ਼ ਦੱਸਦਾ ਹੈ। AES-NI ਉਸ ਭੇਜਣ ਪਿੱਛੇ ਦੀਆਂ ਦਰਜ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ। ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੁਝ ਵੀ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਕਰਨਲ ਹਿੱਸਾ ਬਣਨ ਦੀ ਮੰਗ ਨਹੀਂ ਕਰਦਾ।

ਤੇਜ਼ ਰਾਹ ਵਰਤਿਆ ਜਾ ਰਿਹਾ ਹੈ ਇਹ ਮੰਨਣ ਤੋਂ ਪਹਿਲਾਂ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਵਿਸ਼ੇਸ਼ਤਾ ਪਰੋਸੈਸ ਲਈ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ। Linux ਉੱਤੇ ਸਰੋਤ /proc/cpuinfo ਦਾ flags ਖੇਤਰ ਹੈ, ਅਤੇ ਮਹਿਮਾਨ ਦੇ ਅੰਦਰ ਇਹ ਹਾਈਪਰਵਾਈਜ਼ਰ ਜੋ ਪ੍ਰਗਟ ਕਰਦਾ ਹੈ ਉਹ ਦਰਸਾਉਂਦਾ ਹੈ, ਭੌਤਿਕ ਹੋਸਟ ਦਾ ਮਾਡਲ ਨਾਂ ਨਹੀਂ।

grep -m1 '^flags' /proc/cpuinfo | grep -o '\baes\b'
openssl list -providers -verbose

ਦੂਜਾ ਕਮਾਂਡ ਉਸ ਬਿਲਡ ਵਿੱਚ ਲੋਡ ਕੀਤੇ ਪ੍ਰਦਾਤਾਵਾਂ ਦੇ ਨਾਂ ਦੱਸਦਾ ਹੈ। ਇਹ ਤੁਹਾਨੂੰ ਨਹੀਂ ਦੱਸਦਾ ਕਿ VPN ਸੇਵਾ ਨੇ ਕਿਹੜੀ ਲਾਇਬ੍ਰੇਰੀ ਨਾਲ ਲਿੰਕ ਕੀਤਾ, ਅਤੇ ਇੱਕ ਹੋਸਟ ਦੋ OpenSSL ਇੰਸਟਾਲੇਸ਼ਨ ਰੱਖ ਸਕਦਾ ਹੈ ਜਦੋਂ ਕਿ ਚੱਲ ਰਿਹਾ ਪਰੋਸੈਸ ਉਨ੍ਹਾਂ ਵਿੱਚੋਂ ਸਿਰਫ਼ ਇੱਕ ਵਰਤਦਾ ਹੈ।

ਧੁਰਾ ਦੋ: ਪੈਕਟ ਰਾਹ ਕਿੱਥੇ ਚੱਲਦਾ ਹੈ

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

ਇਹ ਹਦਾਇਤ ਸਹਾਇਤਾ ਨਹੀਂ ਬਣਾਉਂਦਾ, ਸਾਈਫਰ ਸੰਰਚਿਤ ਨਹੀਂ ਕਰਦਾ ਅਤੇ ਮੌਜੂਦਾ ਰਾਹ ਨੂੰ ਕੰਮ ਕਰਨ ਵਾਲਾ ਨਹੀਂ ਬਣਾਉਂਦਾ।

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

ਹਰ ਚੋਣ ਕੀ ਖ਼ਰੀਦਦੀ ਹੈ, ਅਤੇ ਕੀ ਨਹੀਂ ਕਰ ਸਕਦੀ

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

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

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

ਕੁਝ ਵੀ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਚਾਰ ਤੱਥ ਲਿਖੋ

ਸੇਵਾ ਦੀ ਬਾਈਨਰੀ ਅਤੇ ਉਹ ਕ੍ਰਿਪਟੋ ਲਾਇਬ੍ਰੇਰੀ ਲਿਖੋ ਜਿਸ ਨਾਲ ਇਹ ਲਿੰਕ ਹੈ, ਕਿਉਂਕਿ ਉਹੀ ਧੁਰਾ ਇੱਕ ਤੈਅ ਕਰਦੇ ਹਨ। ਫਿਰ ਤੈਅ ਡਾਟਾ ਸੁਰੱਖਿਆ ਦਰਜ ਕਰੋ, ਕਿਉਂਕਿ ਸਮਰਪਿਤ ਹਦਾਇਤ ਰਾਹ ਤੋਂ ਬਿਨਾਂ ਸਾਈਫਰ ਉਸ ਨਾਲੋਂ ਵੱਖਰਾ ਵਿਵਹਾਰ ਕਰਦਾ ਹੈ, ਅਤੇ ਸੈੱਟ ਦੋਵੇਂ ਧਿਰਾਂ ਚੁਣਦੀਆਂ ਹਨ।

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

ਇੱਕ ਚੀਜ਼ ਬਦਲੋ, ਫਿਰ ਉਹੀ ਅੰਤ ਬਿੰਦੂ ਅਤੇ ਉਹੀ ਤਬਾਦਲਾ ਦਿਸ਼ਾ ਵਾਲੇ ਇਕਸਾਰ ਕੰਮ ਭਾਰ ਨਾਲ ਤੁਲਨਾ ਕਰੋ। ਤੁਸੀਂ ਨਾ ਮਾਪੀ ਗਤੀ ਦਾ ਦਾਅਵਾ ਬੈਕਐਂਡ ਕਦੇ ਸ਼ੱਕ ਵਿੱਚ ਨਹੀਂ ਸੀ ਅਜਿਹੀ ਟਿੱਪਣੀ ਤੋਂ ਘੱਟ ਕੀਮਤੀ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ