Reverse engineering Bambu Connect: Difference between revisions
purpose of private key and certificate |
m rewording |
||
Line 78: | Line 78: | ||
</pre> | </pre> | ||
=== Purpose of the private key === | ===Purpose of the private key=== | ||
The private key is used to digitally sign critical operations, such as print jobs and G-code commands. The printer can validate whether received MQTT commands are signed by Bambu Connect using the app's public key, rejecting any unsigned or improperly signed commands. | |||
Bambu Lab | Bambu Lab assumes that third-party software cannot generate a valid signature because it does not have access to the private key. | ||
However, since the private key has already been leaked, third-party software can now send critical operations, bypassing the imposed authorization measures. | |||
=== Purpose of the certificates === | ===Purpose of the certificates=== | ||
The private key corresponds to the public key contained in the app's certificate. This certificate is sent to the printer, | The private key corresponds to the public key contained in the app's certificate. This certificate is sent to the printer, allowing it to verify the authenticity of the digital signature using the public key. | ||
Bambu Connect | Bambu Connect also encrypts G-code commands and file paths of print operations using the printer's certificate. This ensures that only the intended printer can decrypt the data, adding another layer of security. | ||
However, the potential security benefits are diminished because the encrypted commands still include the plaintext G-code command or file path, likely due to negligence or the need for backwards compatibility. | |||
==References== | ==References== |