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.
|
||||
|
||||
|
||||
## 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
|
||||
|
||||
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
|
||||
state until the TKey device is disconnected.
|
||||
|
||||
- (HW) The RAM memory now includes an initial adress and scrambling
|
||||
mechanism to make it harder to find assets generated by and
|
||||
stored in the RAM by applications. The address space layout
|
||||
randomizarion (ASLR) and data value scrambling is set up by the
|
||||
firmware before the application is loaded, and does not affect
|
||||
how applications executes.
|
||||
- (HW) The RAM memory now includes an address randomisation and data
|
||||
scrambling mechanism to make it harder for someone outside of the
|
||||
CPU to find assets generated by and stored in the RAM by
|
||||
applications. This randomisation and scrambling is set up by
|
||||
firmware before the application is loaded, and does not affect how
|
||||
applications executes.
|
||||
|
||||
- (HW) The UART Rx FIFO now allows applications to read out the
|
||||
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,
|
||||
`-march=rv32iczmmul` for `clang`.
|
||||
|
||||
- (HW) The UDI is locked down and can now only be accessed by
|
||||
firmware, not applications.
|
||||
- (HW) The UDI is locked down and can only be accessed by firmware, to
|
||||
prevent applications from tracking a particular TKey.
|
||||
|
||||
- (HW) The timer MMIO API now takes separate start and stop bits for
|
||||
triggering the respective action, mitigating a time-of-check to
|
||||
|
Loading…
Reference in New Issue
Block a user