ESP32 ਉੱਤੇ WireGuard ਕੁੰਜੀਆਂ: ਹਰ ਡਿਵਾਈਸ ਲਈ ਵੱਖਰੀ ਜਾਂ ਇੱਕ ਹੀ ਸ਼ਾਮਲ?
ESP32 ਫਰਮਵੇਅਰ ਵਿੱਚ ਕੰਪਾਇਲ ਕੀਤੀ ਕੁੰਜੀ ਪੀਅਰ ਪਛਾਣ ਹੈ, ਪਾਸਵਰਡ ਨਹੀਂ। ਤਿੰਨ ਸ਼ਰਤਾਂ ਨਾਲ ਫੈਸਲਾ ਕਰੋ: ਕਬਜ਼ਾ, ਫਲੈਸ਼ ਸੁਰੱਖਿਆ ਅਤੇ ਪੂਰੇ ਬੇੜੇ ਵਿੱਚ ਮੁੜ ਵਰਤੋਂ।
ਸਕੈਚ WireGuard ਦੀ ਨਿੱਜੀ ਕੁੰਜੀ ਨੂੰ ਅੱਖਰ ਐਰੇ ਵਿੱਚ ਰੱਖਦਾ ਹੈ, ਅਤੇ ਸੁਰੰਗ ਕੰਮ ਕਰਦੀ ਹੈ, ਇਸ ਲਈ ਇਹ ਸਵਾਲ ਵਾਰ-ਵਾਰ ਉੱਠਦਾ ਹੈ। ਜੋ ਫੈਸਲਾ ਤੁਹਾਨੂੰ ਸੱਚਮੁੱਚ ਲੈਣਾ ਹੈ ਉਹ «ਕੀ ਇਹ ਸੁਰੱਖਿਅਤ ਹੈ» ਨਹੀਂ, ਸਗੋਂ «ਤਿੰਨ ਸ਼ਰਤਾਂ ਵਿੱਚੋਂ ਕਿਹੜੀ ਇਸ ਤੈਨਾਤੀ ਉੱਤੇ ਲਾਗੂ ਹੁੰਦੀ ਹੈ» ਹੈ। ਉਹ ਹਨ: ਡਿਵਾਈਸ ਨੂੰ ਭੌਤਿਕ ਤੌਰ ਉੱਤੇ ਕੌਣ ਫੜ ਸਕਦਾ ਹੈ, ਤੁਹਾਡੇ ਹਿੱਸੇ ਵਿੱਚ ਫਲੈਸ਼ ਪੜ੍ਹਨ ਨਾਲ ਕੀ ਮਿਲਦਾ ਹੈ, ਅਤੇ ਕੀ ਬੇੜਾ ਇੱਕ ਕੁੰਜੀ ਸਾਂਝੀ ਕਰਦਾ ਹੈ ਜਾਂ ਹਰ ਇੱਕ ਆਪਣੀ ਲੈ ਕੇ ਚੱਲਦਾ ਹੈ। ਇਹਨਾਂ ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਡਿਜ਼ਾਈਨ ਆਪਣੇ ਆਪ ਆ ਜਾਵੇਗਾ, ਕਿਉਂਕਿ ਹਰ ਸ਼ਰਤ ਲੀਕ ਹੋਈ ਕੁੰਜੀ ਦੀ ਕੀਮਤ ਬਦਲਦੀ ਹੈ, ਇਹ ਤੱਥ ਨਹੀਂ ਕਿ ਉਹ ਲੀਕ ਹੋ ਸਕਦੀ ਹੈ।
ਕੁੰਜੀ ਕੀ ਅਧਿਕਾਰ ਦਿੰਦੀ ਹੈ
WireGuard ਪੀਅਰਾਂ ਨੂੰ ਜਨਤਕ ਕੁੰਜੀ ਨਾਲ ਪ੍ਰਮਾਣਿਤ ਕਰਦਾ ਹੈ। ਸਰਵਰ ਹਰ ਪੀਅਰ ਦੀ ਜਨਤਕ ਕੁੰਜੀ ਨੂੰ ਇੱਕ ਪਤੇ ਅਤੇ AllowedIPs ਸੂਚੀ ਨਾਲ ਮੈਪ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਨਿੱਜੀ ਕੁੰਜੀ ਹੀ ਕਲਾਇੰਟ ਨੂੰ ਉਸ ਪਤੇ ਤੋਂ ਟ੍ਰੈਫਿਕ ਭੇਜਣ ਦਿੰਦੀ ਹੈ।
ਉਹੀ ਐਂਟਰੀ ਤੈਅ ਕਰਦੀ ਹੈ ਕਿ ਡਿਵਾਈਸ ਕਿਹੜੇ ਟਿਕਾਣਿਆਂ ਤੱਕ ਪਹੁੰਚ ਸਕਦਾ ਹੈ, ਇਸ ਲਈ ਲੀਕ ਹੋਈ ਕੁੰਜੀ ਸੁਰੰਗ ਪਿੱਛੇ ਦਾ ਨੈੱਟਵਰਕ ਅਤੇ ਸੁਰੰਗ ਦਾ ਪਤਾ ਦੋਵੇਂ ਖੋਲ੍ਹ ਦਿੰਦੀ ਹੈ।
ਸ਼ਰਤ ਇੱਕ: ਡਿਵਾਈਸ ਕੌਣ ਫੜ ਸਕਦਾ ਹੈ
ਜੇ ਯੂਨਿਟ ਤਾਲਾਬੰਦ ਅਲਮਾਰੀ ਵਿੱਚ ਹੈ ਅਤੇ ਤੁਹਾਡੀ ਟੀਮ ਤੋਂ ਬਾਹਰ ਕੋਈ ਉਸ ਨੂੰ ਨਹੀਂ ਛੂੰਹਦਾ, ਤਾਂ ਖੁੱਲ੍ਹ ਮੁੱਖ ਤੌਰ ਉੱਤੇ ਫਰਮਵੇਅਰ ਵੰਡ ਦਾ ਸਵਾਲ ਹੈ। ਜੇ ਇਹ ਗਾਹਕਾਂ ਨੂੰ ਭੇਜੀ ਜਾਂਦੀ ਹੈ, ਵਾਹਨ ਵਿੱਚ ਰਹਿੰਦੀ ਹੈ ਜਾਂ ਵਾਰੰਟੀ ਵਿੱਚ ਵਾਪਸ ਆਉਂਦੀ ਹੈ, ਤਾਂ ਭੌਤਿਕ ਕਬਜ਼ਾ ਹੀ ਪ੍ਰਮਾਣ ਪੱਤਰ ਹੈ ਅਤੇ ਬਾਈਨਰੀ ਦੀ ਗੁਪਤਤਾ ਦੂਜੀ ਪੱਧਰ ਦੀ ਹੈ। ਜੋ ਵਿਅਕਤੀ ਡਿਵਾਈਸ ਫੜੀ ਬੈਠਾ ਹੈ ਉਸ ਨੂੰ ਕੁੰਜੀ ਪੜ੍ਹਨ ਦੀ ਲੋੜ ਨਹੀਂ, ਕਿਉਂਕਿ ਚੱਲ ਰਿਹਾ ਫਰਮਵੇਅਰ ਉਸ ਲਈ ਸੁਰੰਗ ਖੋਲ੍ਹ ਦੇਵੇਗਾ। ਇਸ ਲਈ ਸਰਵਰ ਪਾਸੇ ਦੇ ਜਵਾਬ ਵਿੱਚ ਰੱਦ ਕਰਨਾ ਅਤੇ ਸੀਮਤ ਉਮਰ ਸ਼ਾਮਲ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ, ਸਿਰਫ਼ ਸੁਰੱਖਿਅਤ ਈਮੇਜ ਨਹੀਂ।
ਇਹ ਸ਼ਰਤ ਬਾਕੀ ਦੋ ਤੋਂ ਪਹਿਲਾਂ ਤੈਅ ਕਰੋ, ਕਿਉਂਕਿ ਇਹ ਦੋਵਾਂ ਲਈ ਬਜਟ ਤੈਅ ਕਰਦੀ ਹੈ।
ਸ਼ਰਤ ਦੋ: ਫਲੈਸ਼ ਪੜ੍ਹਨ ਨਾਲ ਕੀ ਮਿਲਦਾ ਹੈ
ਜੋ ਵੀ ਫਲੈਸ਼ ਈਮੇਜ ਪੜ੍ਹ ਸਕਦਾ ਹੈ ਉਹ ਲਿਟਰਲ ਵਜੋਂ ਰੱਖੀ ਕੁੰਜੀ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ — ਡੀਬੱਗ ਕਨੈਕਸ਼ਨ, ਅਪਡੇਟ ਫਾਈਲ, ਬੈਕਅੱਪ ਜਾਂ ਵਾਪਸ ਆਈ ਯੂਨਿਟ ਰਾਹੀਂ। ਫਲੈਸ਼ ਐਨਕ੍ਰਿਪਸ਼ਨ ਸਿੱਧੇ ਡੰਪ ਦੀ ਕੀਮਤ ਵਧਾਉਂਦਾ ਹੈ, ਅਤੇ ESP-IDF ਦਸਤਾਵੇਜ਼ ਦੱਸਦੇ ਹਨ ਕਿ ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਕਿਸੇ ਦਿੱਤੇ ਹਿੱਸੇ ਅਤੇ ਸੰਰਚਨਾ ਲਈ ਕੀ ਕਵਰ ਕਰਦੀ ਹੈ। ਇਹ ਕੁੰਜੀ ਨੂੰ ਹਰ ਹਮਲਾ ਮਾਡਲ ਹੇਠ ਕੱਢਣ-ਅਯੋਗ ਨਹੀਂ ਬਣਾਉਂਦਾ, ਅਤੇ ਡਿਵਾਈਸ ਹੱਥ ਵਿੱਚ ਹੋਣ ਦੀ ਸਥਿਤੀ ਵਿੱਚ ਕੁਝ ਨਹੀਂ ਕਰਦਾ। ਇਸ ਨੂੰ ਕੀਮਤ ਬਦਲਣ ਵਾਲੀ ਇੱਕ ਪਰਤ ਮੰਨੋ, ਜਵਾਬ ਨਹੀਂ।
ਡਿਜ਼ਾਈਨ ਸਮੀਖਿਆ ਵਿੱਚ ਕੋਈ ਗੁਣ ਦਾਅਵਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਆਪਣੇ ਸਹੀ ਚਿੱਪ ਅਤੇ ਸੰਰਚਨਾ ਲਈ ਪਲੇਟਫਾਰਮ ਦਸਤਾਵੇਜ਼ ਪੜ੍ਹੋ।
ਸ਼ਰਤ ਤਿੰਨ: ਪੂਰੇ ਬੇੜੇ ਵਿੱਚ ਮੁੜ ਵਰਤੋਂ
ਉਤਪਾਦਨ ਲੜੀ ਲਈ ਇੱਕ ਕੁੰਜੀ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਹਰ ਯੂਨਿਟ ਇੱਕ ਹੀ ਪਛਾਣ ਸਾਂਝੀ ਕਰਦੀ ਹੈ। ਸਰਵਰ ਲਾਗਾਂ ਵਿੱਚ ਉਹਨਾਂ ਨੂੰ ਵੱਖ ਨਹੀਂ ਕਰ ਸਕਦਾ, ਸਭ ਨੂੰ ਰੱਦ ਕੀਤੇ ਬਿਨਾਂ ਇੱਕ ਨੂੰ ਰੱਦ ਨਹੀਂ ਕਰ ਸਕਦਾ, ਅਤੇ ਕਲੋਨ ਨੂੰ ਅਸਲੀ ਤੋਂ ਵੱਖ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਹਰ ਡਿਵਾਈਸ ਲਈ ਕੁੰਜੀਆਂ ਤਿੰਨੇ ਸਮੱਸਿਆਵਾਂ ਹੱਲ ਕਰਦੀਆਂ ਹਨ, ਕੀਮਤ ਹੈ ਇੱਕ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਕਦਮ ਅਤੇ ਸੀਰੀਅਲ ਤੋਂ ਜਨਤਕ ਕੁੰਜੀ ਤੱਕ ਦਾ ਮੈਪਿੰਗ। ਉਹੀ ਮੈਪਿੰਗ ਉਹ ਸੰਪਤੀ ਹੈ ਜੋ ਰੱਦ ਕਰਨ ਨੂੰ ਪੂਰੇ ਬੇੜੇ ਦੇ ਮੁੜ ਫਲੈਸ਼ ਦੀ ਥਾਂ ਇੱਕ ਲਾਈਨ ਦੇ ਬਦਲਾਅ ਵਿੱਚ ਬਦਲਦੀ ਹੈ।
ਜੇ ਬੇੜਾ ਬੈਂਚ ਉੱਤੇ ਪੰਜ ਯੂਨਿਟਾਂ ਦਾ ਹੈ, ਤਾਂ ਕੁੰਜੀ ਸਾਂਝੀ ਕਰਨਾ ਵਾਜਬ ਸੌਦਾ ਹੋ ਸਕਦਾ ਹੈ। ਜੇ ਮੈਦਾਨ ਵਿੱਚ ਪੰਜ ਸੌ ਹੈ, ਤਾਂ ਇਹ ਕੋਈ ਸੌਦਾ ਨਹੀਂ।
ਉਹ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਢਾਂਚਾ ਜੋ ਹਰ ਡਿਵਾਈਸ ਦੀ ਕੁੰਜੀ ਨੂੰ ਵਿਹਾਰਕ ਬਣਾਉਂਦਾ ਹੈ
ਪਹਿਲੇ ਬੂਟ ਉੱਤੇ ਡਿਵਾਈਸ ਵਿੱਚ ਹੀ ਕੁੰਜੀ ਜੋੜੀ ਬਣਾਓ, ਨਿੱਜੀ ਅੱਧ ਸੁਰੱਖਿਅਤ ਗੈਰ-ਅਸਥਿਰ ਭੰਡਾਰ ਵਿੱਚ ਰੱਖੋ, ਅਤੇ ਸਿਰਫ਼ ਜਨਤਕ ਕੁੰਜੀ ਉਸ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਸੇਵਾ ਨੂੰ ਭੇਜੋ ਜੋ ਪਤਾ ਦਿੰਦੀ ਹੈ ਅਤੇ ਪੀਅਰ ਐਂਟਰੀ ਲਿਖਦੀ ਹੈ। ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਜਵਾਬ ਪ੍ਰਮਾਣਿਤ ਕਰੋ, ਨਹੀਂ ਤਾਂ ਸਥਾਨਕ ਨੈੱਟਵਰਕ ਦਾ ਹਮਲਾਵਰ ਤੁਹਾਡੇ ਖਾਤੇ ਉੱਤੇ ਆਪਣੀ ਕੁੰਜੀ ਰਜਿਸਟਰ ਕਰ ਸਕਦਾ ਹੈ। ਪ੍ਰੋਵਿਜ਼ਨਿੰਗ ਦੌਰਾਨ ਨਿੱਜੀ ਕੁੰਜੀ ਕਦੇ ਸੀਰੀਅਲ ਕੰਸੋਲ ਉੱਤੇ ਨਾ ਛਾਪੋ। ਡਿਵਾਈਸ ਦਾ ਸੀਰੀਅਲ ਨੰਬਰ ਜਨਤਕ ਕੁੰਜੀ ਦੇ ਕੋਲ ਲਿਖੋ, ਤਾਂ ਜੋ ਗੁੰਮ ਯੂਨਿਟ ਠੀਕ ਇੱਕ ਪੀਅਰ ਐਂਟਰੀ ਨਾਲ ਮੇਲ ਖਾਵੇ।
ਉਹ ਛੋਟੀ ਸੇਵਾ ਹੈ, ਅਤੇ ਜਿਸ ਬੇੜੇ ਦਾ ਤੁਸੀਂ ਆਡਿਟ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਜਿਸ ਨੂੰ ਸਿਰਫ਼ ਮੁੜ ਫਲੈਸ਼ ਕਰ ਸਕਦੇ ਹੋ, ਉਹਨਾਂ ਵਿਚਕਾਰ ਫ਼ਰਕ ਉਹੀ ਹੈ।
ਸਮਾਂ, ਅੰਤ ਬਿੰਦੂ ਅਤੇ ਫੈਸਲਾ
ਉਦਾਹਰਨ ਸੁਰੰਗ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਮਾਂ ਸਿੰਕ ਕਰਦੀ ਹੈ, ਅਤੇ ਇਹ TLS ਤੋਂ ਬਾਹਰ ਵੀ ਮਹੱਤਵਪੂਰਨ ਹੈ: WireGuard ਹੈਂਡਸ਼ੇਕ ਮੁੜ-ਪ੍ਰਸਾਰਨ ਸੁਰੱਖਿਆ ਲਈ ਟਾਈਮਸਟੈਂਪ ਲੈ ਕੇ ਚੱਲਦੇ ਹਨ, ਇਸ ਲਈ ਗਲਤ ਘੜੀ ਨਾਲ ਬੂਟ ਹੋਣ ਵਾਲੇ ਡਿਵਾਈਸ ਦੇ ਹੈਂਡਸ਼ੇਕ ਰੱਦ ਹੋ ਸਕਦੇ ਹਨ। ਅੰਤ ਬਿੰਦੂ ਹੋਸਟਨਾਮ ਹੈ, ਜੋ DNS ਨੂੰ ਭਰੋਸੇ ਦੇ ਰਾਹ ਵਿੱਚ ਰੱਖਦਾ ਹੈ, ਭਾਵੇਂ ਸਰਵਰ ਦੀ ਜਨਤਕ ਕੁੰਜੀ ਅਜੇ ਵੀ ਪੀਅਰ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਦੀ ਹੈ। ਗਲਤ ਪਤਾ ਕੋਸ਼ਿਸ਼ਾਂ ਬਰਬਾਦ ਕਰਦਾ ਹੈ ਅਤੇ ਦੱਸਦਾ ਹੈ ਕਿ ਡਿਵਾਈਸ ਕਦੋਂ ਆਨਲਾਈਨ ਹੈ। ਕੁੰਜੀ ਬਾਰੇ ਬਹਿਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਦੋਵੇਂ ਸੰਭਾਲੋ।
ਫਿਰ ਫੈਸਲਾ ਕਰੋ: ਸਾਂਝੀ ਕੁੰਜੀ ਸਿਰਫ਼ ਤਦ ਤੱਕ ਜਦੋਂ ਕਬਜ਼ਾ ਨਿਯੰਤਰਿਤ ਹੈ ਅਤੇ ਬੇੜਾ ਛੋਟਾ ਹੈ, ਹਰ ਡਿਵਾਈਸ ਲਈ ਕੁੰਜੀਆਂ ਜਿਵੇਂ ਹੀ ਇਹਨਾਂ ਦੋਵਾਂ ਵਿੱਚੋਂ ਇੱਕ ਸੱਚ ਹੋਣਾ ਬੰਦ ਕਰੇ।