The Zymbit Secure Compute Module (SCM) is an all-in-one Linux compute module - secured and ready to deploy into your IoT and edge applications : a Zymbit Security Module + Hardware Wallet + Raspberry Pi CM4 integrated into a secure encapsulated module.
zymbit-dev
and a user named zymbit
can be used for login either on the console or via SSH. The default password for zymbit is zymbit. Please change your password once you login.rpiboot
in the field. Without rpiboot
, a change that prevents the SCM from booting most likely cannot be corrected, as there is no way to access the boot partition. Also, the SCM only allows boot off the eMMC. Proceed with caution before changing boot files, such as config.txt.dtoverlay=dwc2,dr_mode=host
line in config.txt. DO NOT REMOVE or you will brick the unit. Do not use otg_mode=1
.We highly recommend turning off unattended-upgrades prior to the encryption process. In some cases primarily with Ubuntu, during an update/upgrade after encryption, the update-initramfs process may fail and leave the system unable to boot.
To mitigate this issue, remove the service unattended-upgrades:
systemctl stop unattended-upgrades
systemctl disable unattended-upgrades
apt remove --purge unattended-upgrades -y
Now allow console login.
Now allow initial SSH via password (use zymbit/zymbit). Please change once logged in.
No longer providing SSH key on USB stick; as noted above, you can use password.
No longer necessary to register product; no SSH key necessary so no need for key passphrase.
sudo for user zymbit with password in standard PI OS manner allowed; no need to supply password every time.
FW 01.02.02release - April 2024. Update bootcode.bin to 1/11/2023 version. You can verify with vcgencmd bootloader_version
. Should say 1/11/2023. Necessary to support Ubuntu 22.04.
FW 01.02.02release - Supports B1 revision of SCM
FW 01.00.00 - Supports A1 revision of SCM
FW 01.00.00 - Fixed: #117 Stored tamper event on shutdown has incorrect timestamp
zkifc 1.2-36 - Fixed: #120 get_public_key() with a very large number crashes zkifc
zkpkcs 11 1.0-3 - Fixed: #123 zk_pkcs11: Doesn’t work with 64-bit OS
Affects SCM, Firmware version: 01.02.02release (not in earlier firmware releases)
On B1 versions of the SCM with firmware version 01.02.02release, generated key pairs created with gen_key_pair()
are removed during reboot.
You can determine the version with:
python3 -c "import zymkey; print(zymkey.client.get_firmware_version())"
gen_key_pair(key_type)
creates key pairs for slots 16 and up, but a reboot removes the key slots. Keys generated using the BIP32 wallet with gen_wallet_master_seed()
/gen_wallet_child_key()
keys are not removed on reboot. The BIP32 wallet keys can be used as a workaround for B1 units.
For example,
Instead of:
key_slot = gen_key_pair("secp256k1")
Use:
seed = zymkey.client.gen_wallet_master_seed("secp256k1", "", "wallet_name")
key_slot = zymkey.client.gen_wallet_child_key(seed, 0, False)
From this point on you can use the key_slot
in the same manner to get_public_key(key_slot)
or remove_key(key_slot)
This only affects SCMs with firmware 01.02.02release. This does not affect the HSM6.
rpiboot
in the field. Bootware can be used to replace supported Operating System images. See Bootware for details.