Skip to content

Release 4.0.0

Compare
Choose a tag to compare
@douglasbakkum douglasbakkum released this 31 Jul 14:19
· 141 commits to master since this release

Compatible with desktop app versions v4.0.0 or newer.

Release notes:

  • More secure smart verification pairing process
  • Various bug fixes and security fixes, and improvements in unit testing

To reproduce and verify the deterministic build:

# Clone the repository
git clone https://github.com/digitalbitbox/mcu.git
cd mcu

# Build deterministically (requires Vagrant and Virtualbox and OSX or Linux)
vagrant up
cp build-vagrant/bin/firmware.pad.bin firmware.deterministic.4.0.0.bin

# Verify the deterministic binary
shasum -a 256 firmware.deterministic.4.0.0.bin  #  26770f38bba0c62ca1fc81a5038fe1f5865e00c72d8aa34ffc6042ad97a9ff34

# Append signatures of the firmware
py/prepend_signatures_firmware_binary.py firmware.deterministic.4.0.0.bin firmware.deterministic.4.0.0.signed.bin 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104628d9c67537a8ef79bff375afacf78c35fad647a090f05d45811e23c4a96539a9f9b3ca465f5af9e6691e518d816fa8e73c67896625be68de2621d22b5e8091d6e389ed384bcaf5d7ba16a8af1a34bd48084b911a5685f41ff3340cb11616cc1d06f8c558fac31c38afb95f1c30e42bd9da204002ba757b9d972633016760f06409c24dc497d60524bb1275394de5df57981b485622d341e209d99b3e13854b21d7459abd0e3872011765b53e211069bc6b0438e18a4bed774ca2ac820489dc82dae4bb7e6093e888e4dcdfebee068af79f255c5d78b9eb1118a752491740023aea8924944f213fb5733a62a82d8d5a2706ea163cecf83df8aac0711cdf1

# Verify the signed deterministic binary
shasum -a 256 firmware.deterministic.4.0.0.signed.bin  #  c44130a9e5d01a393a34e60e003a93e0078f1acdcdfa488f19f61c13d3a5a82b

# Signed deterministic binaries can be loaded into the Digital Bitbox 
# using the Upgrade Firmware button in the desktop app.

# In case of problems, check that:
vagrant --version  #  Vagrant 1.9.5
vagrant box list   #  ubuntu/trusty64 (virtualbox, 20170313.0.7)
virtualbox --help  #  Oracle VM VirtualBox Manager 5.1.18

ECC secp256k1 public keys and signatures of the double SHA256 hash of firmware.deterministic.4.0.0.bin:

0263b742d9873405c609814da884324ab0f4c1597a5fd152b388899857f4d041df : 0104628d9c67537a8ef79bff375afacf78c35fad647a090f05d45811e23c4a96539a9f9b3ca465f5af9e6691e518d816fa8e73c67896625be68de2621d22b5e8
02b95dc22d293376222ef896f74a8436a8b6672e7e416299f3c4e23b49c38ad366 : 091d6e389ed384bcaf5d7ba16a8af1a34bd48084b911a5685f41ff3340cb11616cc1d06f8c558fac31c38afb95f1c30e42bd9da204002ba757b9d97263301676
03ef4c48dc308ace971c025db3edd4bc5d5110e28e14bdd925fffafd4d21002800 : 0f06409c24dc497d60524bb1275394de5df57981b485622d341e209d99b3e13854b21d7459abd0e3872011765b53e211069bc6b0438e18a4bed774ca2ac82048
030d8b0b86fca70bfd3a8d842cdb3ff8362c02f455fd092b080f1bb137dfc1d25f : 9dc82dae4bb7e6093e888e4dcdfebee068af79f255c5d78b9eb1118a752491740023aea8924944f213fb5733a62a82d8d5a2706ea163cecf83df8aac0711cdf1

Signature blob appended to firmware.deterministic.4.0.0.bin

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104628d9c67537a8ef79bff375afacf78c35fad647a090f05d45811e23c4a96539a9f9b3ca465f5af9e6691e518d816fa8e73c67896625be68de2621d22b5e8091d6e389ed384bcaf5d7ba16a8af1a34bd48084b911a5685f41ff3340cb11616cc1d06f8c558fac31c38afb95f1c30e42bd9da204002ba757b9d972633016760f06409c24dc497d60524bb1275394de5df57981b485622d341e209d99b3e13854b21d7459abd0e3872011765b53e211069bc6b0438e18a4bed774ca2ac820489dc82dae4bb7e6093e888e4dcdfebee068af79f255c5d78b9eb1118a752491740023aea8924944f213fb5733a62a82d8d5a2706ea163cecf83df8aac0711cdf1