mirror of
https://github.com/tillitis/tillitis-key1.git
synced 2025-09-23 14:24:44 -04:00
Rename to TK1
This commit is contained in:
parent
5e80b4ae15
commit
4b4f014d38
27 changed files with 281 additions and 284 deletions
|
@ -184,7 +184,7 @@ Available commands/reponses:
|
|||
|
||||
#### `FW_{CMD,RSP}_VERIFY_DEVICE`
|
||||
|
||||
Verification that the device is an authentic Mullvad
|
||||
Verification that the device is an authentic Tillitis
|
||||
device. Implemented using challenge/response.
|
||||
|
||||
#### `FW_{CMD,RSP}_GET_APP_DIGEST`
|
||||
|
@ -305,8 +305,7 @@ v v
|
|||
The memory exposes SoC functionality to the software when in firmware
|
||||
mode. It is a set of memory mapped registers (MMIO), starting at base
|
||||
address `0xc000_0000`. For specific offsets/bitmasks, see the file
|
||||
[mta1_mkdf_mem.h](../../hw/application_fpga/fw/mta1_mkdf_mem.h) (in
|
||||
this repo).
|
||||
[tk1_mem.h](../../hw/application_fpga/fw/tk1_mem.h) (in this repo).
|
||||
|
||||
Assigned core prefixes:
|
||||
|
||||
|
@ -320,7 +319,7 @@ Assigned core prefixes:
|
|||
| UART | 0xc3 |
|
||||
| TOUCH | 0xc4 |
|
||||
| FW_RAM | 0xd0 |
|
||||
| MTA1 | 0xff |
|
||||
| TK1 | 0xff |
|
||||
|
||||
*Nota bene*: MMIO accesses should be 32 bit wide, e.g use `lw` and
|
||||
`sw`. Exceptions are `FW_RAM` and `QEMU_DEBUG`.
|
||||
|
@ -349,7 +348,7 @@ Assigned core prefixes:
|
|||
| `UDA` | r | invisible | 16B | u8[16] | | Unique Device Authentication key. |
|
||||
| `UDI` | r | r | 8B | u64 | | Unique Device ID (UDI). |
|
||||
| `QEMU_DEBUG` | w | w | | u8 | | Debug console (only in QEMU) |
|
||||
| `NAME0` | r | r | 4B | char[4] | "mta1" | ID of core/stick |
|
||||
| `NAME0` | r | r | 4B | char[4] | "tk1 " | ID of core/stick |
|
||||
| `NAME1` | r | r | 4B | char[4] | "mkdf" | ID of core/stick |
|
||||
| `VERSION` | r | r | 4B | u32 | 1 | Current version. |
|
||||
| `SWITCH_APP` | w | invisible? | 1B | u8 | | Switch to application mode. Write non-zero to trigger. |
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
## Purpose and Revision
|
||||
The purpose of this document is to provide a description of the
|
||||
Tillitis Key 1 (TK1). What it is, what is supposed to be used for, by whom,
|
||||
where and possible use cases. The document also provides a functional level
|
||||
description of features and components of the mta1_mkdf.
|
||||
Tillitis Key 1 (TK1). What it is, what is supposed to be used for, by
|
||||
whom, where and possible use cases. The document also provides a
|
||||
functional level description of features and components of the TK1.
|
||||
|
||||
Finally, the document acts as a requirement description. For the
|
||||
requirements, the document follows
|
||||
|
@ -60,7 +60,7 @@ The TK1 store and use the following assets internally:
|
|||
- UDS - Unique Device Secret. Provisioned and stored during
|
||||
device manufacturing. Never to be replaced during the life time of
|
||||
a given device. Used to derive application secrets. Must never leave
|
||||
the device. Mullvad must NOT store a copy of the UDS.
|
||||
the device. Tillitis must NOT store a copy of the UDS.
|
||||
|
||||
- UDI - Unique Device ID. Provisioned and stored during
|
||||
device manufacturing. Never to be replaced or altered during the life
|
||||
|
@ -69,7 +69,7 @@ The TK1 store and use the following assets internally:
|
|||
- UDA - Unique Device Authentication Secret. Provisioned and stored during
|
||||
device manufacturing. Never to be replaced during the life time of
|
||||
a given device. Used to authenticate a specific device. Must never
|
||||
leave the device. Mullvad MUST have a copy of the UDA.
|
||||
leave the device. Tillitis MUST have a copy of the UDA.
|
||||
|
||||
|
||||
Additionally the following asset could be provided from the host:
|
||||
|
@ -100,8 +100,8 @@ libraries etc. Roughly these can be divided into:
|
|||
- host side application loader. Software that talks to the FW in the
|
||||
application_fpga to load a secure application
|
||||
|
||||
- host side boot, management. Support software to boot, authenticate the
|
||||
mta1_mkdf board connected to a host
|
||||
- host side boot, management. Support software to boot, authenticate
|
||||
the TK1 board connected to a host
|
||||
|
||||
- host side secure application. Software that communicates with the
|
||||
secure application running in the application_fpga as needed to solve
|
||||
|
@ -125,27 +125,27 @@ The Application FPGA hardware should provide the following:
|
|||
- Unique Device ID (UDI)
|
||||
- 64 bits
|
||||
- Readable via API before application start
|
||||
- Generated and stored by Mullvad
|
||||
- Generated and stored by Tillitis
|
||||
|
||||
- Unique Device Authentication key (UDA)
|
||||
- At least 128 bits number
|
||||
- Readable by FW before application start
|
||||
- Generated and stored by Mullvad
|
||||
- Generated and stored by Tillitis
|
||||
|
||||
- Unique Device Secret (UDS)
|
||||
- 256 bits
|
||||
- Readable by HW before application start
|
||||
- Generated but NOT stored by Mullvad
|
||||
- Generated but NOT stored by Tillitis
|
||||
|
||||
- NAME
|
||||
- 64 bits. ASCII string. "mta1_mkdf"
|
||||
- 64 bits. ASCII string. "TK1 MKDF"
|
||||
- Readable via API before application start
|
||||
- Set by Mullvad as part of FPGA design
|
||||
- Set by Tillitis as part of FPGA design
|
||||
|
||||
- VERSION: version
|
||||
- 32 bits. 32 bit data, for example 1
|
||||
- Readable via API before application start
|
||||
- Set by Mullvad as part of FPGA design
|
||||
- Set by Tillitis as part of FPGA design
|
||||
|
||||
2. Communication
|
||||
- Rx-FIFO with status (data_available)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue