mirror of
https://github.com/tillitis/tillitis-key1.git
synced 2024-10-01 01:45:38 -04:00
Add release notes for TK1-24.03
Clarifying earlier release notes.
This commit is contained in:
parent
574e17f26a
commit
1c90b1aa3d
@ -2,6 +2,73 @@
|
|||||||
|
|
||||||
Descriptions of the tagged TKey releases.
|
Descriptions of the tagged TKey releases.
|
||||||
|
|
||||||
|
|
||||||
|
## TK1-24.03
|
||||||
|
|
||||||
|
This is an official release of the "Bellatrix" version of the Tillitis'
|
||||||
|
TKey. This version is ready for general use.
|
||||||
|
|
||||||
|
Using OCI image `ghcr.io/tillitis/tkey-builder:4`, built from
|
||||||
|
`../contrib/Dockerfile`, and the generic
|
||||||
|
`../hw/application_fpga/data/uds.hex` and
|
||||||
|
`../hw/application_fpga/data/udi.hex`, a clean build should generate
|
||||||
|
the following digest:
|
||||||
|
|
||||||
|
```
|
||||||
|
321924aa3b26507f2a02325750e63c83b306c7831f8e2c87e8d198cecf8cc1c1 application_fpga.bin
|
||||||
|
```
|
||||||
|
|
||||||
|
### FPGA
|
||||||
|
- Security Monitor now prevents access to RAM outside of the physical
|
||||||
|
memory. If it detects an access outside of the RAM address space, it
|
||||||
|
will halt the CPU.
|
||||||
|
- CPU Monitor changes name to Security monitor, which CPU Monitor is a
|
||||||
|
part of. Prepare for more functions in the future.
|
||||||
|
- Support incremental builds for the bitstream, when changing UDS/UDI
|
||||||
|
between builds. Requires tkey-builder:3 or higher.
|
||||||
|
- Update Verilog linter to Verilog-2005 and fixed warnings.
|
||||||
|
- Complete testbenches and add 9 tests for the FPGA cores.
|
||||||
|
|
||||||
|
### Firmware
|
||||||
|
- Protect zeroisation against compiler optimisation by using
|
||||||
|
secure_wipe(), fixing a memset() that was removed during
|
||||||
|
compilation.
|
||||||
|
- Make memeq() function side channel silent.
|
||||||
|
- Change memory constants to defines instead of an enum, to be
|
||||||
|
compatible with ISO C.
|
||||||
|
- Deprecate TK1_MMIO_TK1_RAM_ASLR and introduce
|
||||||
|
TK1_MMIO_TK1_RAM_ADDR_RAND instead to distinguish from OS-level
|
||||||
|
ASLR.
|
||||||
|
- Use pedantic warnings while building firmware and fixed warnings.
|
||||||
|
- Use clang-tidy in CI.
|
||||||
|
- Fix warnings from splint.
|
||||||
|
|
||||||
|
### TP1
|
||||||
|
- New plastic clip o and update of BOM.
|
||||||
|
- Build TP1 firmware in CI.
|
||||||
|
|
||||||
|
### CH552
|
||||||
|
- Fixed a bug where a byte of data could in some rare circumstances be
|
||||||
|
dropped, causing a client app to hang.
|
||||||
|
- General clean-up of code, translated all comments to English.
|
||||||
|
|
||||||
|
### TK1
|
||||||
|
- New injection moulded plastic case
|
||||||
|
|
||||||
|
### tkey-builder
|
||||||
|
- Updated to version 3. Bumping Ubuntu to 23.10, Yosys to 0.36 and
|
||||||
|
nextpnr to 0.6.
|
||||||
|
- Updated to version 4. Bumping pico-sdk to 1.5.1, adding clang-tidy
|
||||||
|
and splint.
|
||||||
|
|
||||||
|
### Docs
|
||||||
|
- Fixing broken links, cleaning up docs and READMEs.
|
||||||
|
- Clarify warm boot attack mitigations and scope for Bellatrix in
|
||||||
|
threat model.
|
||||||
|
|
||||||
|
For full change log [see](https://github.com/tillitis/tillitis-key1/compare/TK1-23.03.2...TK1-24.03)
|
||||||
|
|
||||||
|
|
||||||
## TK1-23.03.2
|
## TK1-23.03.2
|
||||||
|
|
||||||
This is the official release of the "Bellatrix" version of the
|
This is the official release of the "Bellatrix" version of the
|
||||||
@ -87,12 +154,12 @@ f11d6b0f57c5405598206dcfea284008413391a2c51f124a2e2ae8600cb78f0b application_fp
|
|||||||
will start flashing red. Note that the CPU will stay in the trap
|
will start flashing red. Note that the CPU will stay in the trap
|
||||||
state until the TKey device is disconnected.
|
state until the TKey device is disconnected.
|
||||||
|
|
||||||
- (HW) The RAM memory now includes an initial adress and scrambling
|
- (HW) The RAM memory now includes an address randomisation and data
|
||||||
mechanism to make it harder to find assets generated by and
|
scrambling mechanism to make it harder for someone outside of the
|
||||||
stored in the RAM by applications. The address space layout
|
CPU to find assets generated by and stored in the RAM by
|
||||||
randomizarion (ASLR) and data value scrambling is set up by the
|
applications. This randomisation and scrambling is set up by
|
||||||
firmware before the application is loaded, and does not affect
|
firmware before the application is loaded, and does not affect how
|
||||||
how applications executes.
|
applications executes.
|
||||||
|
|
||||||
- (HW) The UART Rx FIFO now allows applications to read out the
|
- (HW) The UART Rx FIFO now allows applications to read out the
|
||||||
number of bytes received and not yet consumed by the application.
|
number of bytes received and not yet consumed by the application.
|
||||||
@ -142,8 +209,8 @@ f11d6b0f57c5405598206dcfea284008413391a2c51f124a2e2ae8600cb78f0b application_fp
|
|||||||
PicoRV32. Please compile your programs with the Zmmul extension,
|
PicoRV32. Please compile your programs with the Zmmul extension,
|
||||||
`-march=rv32iczmmul` for `clang`.
|
`-march=rv32iczmmul` for `clang`.
|
||||||
|
|
||||||
- (HW) The UDI is locked down and can now only be accessed by
|
- (HW) The UDI is locked down and can only be accessed by firmware, to
|
||||||
firmware, not applications.
|
prevent applications from tracking a particular TKey.
|
||||||
|
|
||||||
- (HW) The timer MMIO API now takes separate start and stop bits for
|
- (HW) The timer MMIO API now takes separate start and stop bits for
|
||||||
triggering the respective action, mitigating a time-of-check to
|
triggering the respective action, mitigating a time-of-check to
|
||||||
|
Loading…
Reference in New Issue
Block a user