wickr-crypto-c
|
Device Information used to make a uniquely identifying set of data for each context running the Wickr Protocol. More...
#include <devinfo.h>
Data Fields | |
wickr_buffer_t * | dev_salt |
wickr_buffer_t * | system_salt |
wickr_buffer_t * | msg_proto_id |
wickr_buffer_t * | srv_comm_id |
Device Information used to make a uniquely identifying set of data for each context running the Wickr Protocol.
These identifiers are not required to be absolutely unique from a security perspective, but having a good amount of entropy in them is a nice property to attempt to achieve.
wickr_dev_info::dev_salt |
a random salt used in generating 'msg_proto_id' and 'srv_comm_id'. Ideally, this salt value is generated and stored on the device in a way it is quickly retrived. It does not need to be transmitted off the device, as it simply provides some entropy to Wickr specific identifier generation.
wickr_dev_info::msg_proto_id |
messaging protocol identifier shared with devices transmitting data to you. Used as context within key exchanges where a context using the associated 'dev_salt' and 'system_salt' is the recipient
wickr_dev_info::srv_comm_id |
server communication identifier transmitted to the server and used for salting operations outside of the messaging component of Wickr, such as communicating with the Wickr Server API.
wickr_dev_info::system_salt |
a salt that is optimally bound to a hardware context of the device the library is executing on. On systems where getting hardware specific values are not available, this salt can also be randomly generated and stored on the device. The system salt is used to salt your device storage key, and thus binding to a hardware value that is not recorded on disk could increase security of your local storage in some scenarios.