Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/imrehg/libatsha204

Library for communication and emulation of the ATSHA204 cryptochip (FORK FROM https://gitlab.labs.nic.cz/turris/libatsha204 )
https://github.com/imrehg/libatsha204

Last synced: 12 days ago
JSON representation

Library for communication and emulation of the ATSHA204 cryptochip (FORK FROM https://gitlab.labs.nic.cz/turris/libatsha204 )

Awesome Lists containing this project

README

        

libatsha204
===========

Libatsha204 is a library providing easy communication with Atmel ATSHA204
cryptography chip.

ATSHA204 is safe storage for 32 bytes long keys that can be stored without
permission to read any data. These keys could be used only for
challenge-response authentication operations. The second part of ATSHA204 is OTP
(One Time Programmeable) memory for some vendor-specific informations.

Libatsha204 is implementing API for basic and most important features (but not
all of them) of ATSHA204 chip. Typical API function presents one chip's command
and provides abstraction from bit flags, packet's composition and communication
protocol. You probably will not be able to use libatsha204 without knowleadge of
basic properties of ATSHA204 and studying of the datasheet is still required.

Libatsha204 is part of Project Turris and some project relevant tools are
included to this repository:

- atsha204cmd - Command line tool for interaction with ATSHA204. Main
features are: challenge-response operation from stdin and from file; print
some formatted informations from OTP memory

- chiptools - program that enables dump informations and some basic commands
(mainly for debug purposes)

- chipinit - program that loads configuration file with crypto keys and OTP
memory items, stores it to the chip and locks the memory slots

- chiptest - compare expected responses based on the configuration file
computed by emulation layer and responses computed by ATSHA204

The architecture of libatsha204 is multilayer. The most important bottom layers
are:

- NI2C - I2C communication through native Linux kernel driver (production)
- Emulation - The ATSHA204 chip is emulated by software (server part)
- USB - Layer for USB dongle with ATSHA204 (AT88CK454BLACK Kit) (testing)