Skip to content

Commit 1c90b1a

Browse files
dehanjmchack-work
authored andcommitted
Add release notes for TK1-24.03
Clarifying earlier release notes.
1 parent 574e17f commit 1c90b1a

File tree

1 file changed

+75
-8
lines changed

1 file changed

+75
-8
lines changed

doc/release_notes.md

+75-8
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,73 @@
22

33
Descriptions of the tagged TKey releases.
44

5+
6+
## TK1-24.03
7+
8+
This is an official release of the "Bellatrix" version of the Tillitis'
9+
TKey. This version is ready for general use.
10+
11+
Using OCI image `ghcr.io/tillitis/tkey-builder:4`, built from
12+
`../contrib/Dockerfile`, and the generic
13+
`../hw/application_fpga/data/uds.hex` and
14+
`../hw/application_fpga/data/udi.hex`, a clean build should generate
15+
the following digest:
16+
17+
```
18+
321924aa3b26507f2a02325750e63c83b306c7831f8e2c87e8d198cecf8cc1c1 application_fpga.bin
19+
```
20+
21+
### FPGA
22+
- Security Monitor now prevents access to RAM outside of the physical
23+
memory. If it detects an access outside of the RAM address space, it
24+
will halt the CPU.
25+
- CPU Monitor changes name to Security monitor, which CPU Monitor is a
26+
part of. Prepare for more functions in the future.
27+
- Support incremental builds for the bitstream, when changing UDS/UDI
28+
between builds. Requires tkey-builder:3 or higher.
29+
- Update Verilog linter to Verilog-2005 and fixed warnings.
30+
- Complete testbenches and add 9 tests for the FPGA cores.
31+
32+
### Firmware
33+
- Protect zeroisation against compiler optimisation by using
34+
secure_wipe(), fixing a memset() that was removed during
35+
compilation.
36+
- Make memeq() function side channel silent.
37+
- Change memory constants to defines instead of an enum, to be
38+
compatible with ISO C.
39+
- Deprecate TK1_MMIO_TK1_RAM_ASLR and introduce
40+
TK1_MMIO_TK1_RAM_ADDR_RAND instead to distinguish from OS-level
41+
ASLR.
42+
- Use pedantic warnings while building firmware and fixed warnings.
43+
- Use clang-tidy in CI.
44+
- Fix warnings from splint.
45+
46+
### TP1
47+
- New plastic clip o and update of BOM.
48+
- Build TP1 firmware in CI.
49+
50+
### CH552
51+
- Fixed a bug where a byte of data could in some rare circumstances be
52+
dropped, causing a client app to hang.
53+
- General clean-up of code, translated all comments to English.
54+
55+
### TK1
56+
- New injection moulded plastic case
57+
58+
### tkey-builder
59+
- Updated to version 3. Bumping Ubuntu to 23.10, Yosys to 0.36 and
60+
nextpnr to 0.6.
61+
- Updated to version 4. Bumping pico-sdk to 1.5.1, adding clang-tidy
62+
and splint.
63+
64+
### Docs
65+
- Fixing broken links, cleaning up docs and READMEs.
66+
- Clarify warm boot attack mitigations and scope for Bellatrix in
67+
threat model.
68+
69+
For full change log [see](https://github.com/tillitis/tillitis-key1/compare/TK1-23.03.2...TK1-24.03)
70+
71+
572
## TK1-23.03.2
673

774
This is the official release of the "Bellatrix" version of the
@@ -87,12 +154,12 @@ f11d6b0f57c5405598206dcfea284008413391a2c51f124a2e2ae8600cb78f0b application_fp
87154
will start flashing red. Note that the CPU will stay in the trap
88155
state until the TKey device is disconnected.
89156

90-
- (HW) The RAM memory now includes an initial adress and scrambling
91-
mechanism to make it harder to find assets generated by and
92-
stored in the RAM by applications. The address space layout
93-
randomizarion (ASLR) and data value scrambling is set up by the
94-
firmware before the application is loaded, and does not affect
95-
how applications executes.
157+
- (HW) The RAM memory now includes an address randomisation and data
158+
scrambling mechanism to make it harder for someone outside of the
159+
CPU to find assets generated by and stored in the RAM by
160+
applications. This randomisation and scrambling is set up by
161+
firmware before the application is loaded, and does not affect how
162+
applications executes.
96163

97164
- (HW) The UART Rx FIFO now allows applications to read out the
98165
number of bytes received and not yet consumed by the application.
@@ -142,8 +209,8 @@ f11d6b0f57c5405598206dcfea284008413391a2c51f124a2e2ae8600cb78f0b application_fp
142209
PicoRV32. Please compile your programs with the Zmmul extension,
143210
`-march=rv32iczmmul` for `clang`.
144211

145-
- (HW) The UDI is locked down and can now only be accessed by
146-
firmware, not applications.
212+
- (HW) The UDI is locked down and can only be accessed by firmware, to
213+
prevent applications from tracking a particular TKey.
147214

148215
- (HW) The timer MMIO API now takes separate start and stop bits for
149216
triggering the respective action, mitigating a time-of-check to

0 commit comments

Comments
 (0)