From a54ad9edce697133a024aff096e50f7e4f389d5b Mon Sep 17 00:00:00 2001 From: Florent Duchon Date: Sun, 18 Mar 2012 12:22:02 +0100 Subject: digital/beacon: import Zigbit stack (bitcloud) & avr sources --- .../Security/ServiceProvider/include/sspSkke.h | 92 ++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspSkke.h (limited to 'digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspSkke.h') diff --git a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspSkke.h b/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspSkke.h new file mode 100644 index 00000000..788e50e7 --- /dev/null +++ b/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspSkke.h @@ -0,0 +1,92 @@ +/**************************************************************************//** + \file sspSkke.h + + \brief Security-Key Key Esteblishment routine header file. + + \author + Atmel Corporation: http://www.atmel.com \n + Support email: avr@atmel.com + + Copyright (c) 2008-2011, Atmel Corporation. All rights reserved. + Licensed under Atmel's Limited License Agreement (BitCloudTM). + + \internal + History: + 29/11/07 ALuzhetsky - Created. +******************************************************************************/ +#ifndef _SSPSKKE_H +#define _SSPSKKE_H + +#ifdef _LINK_SECURITY_ +/****************************************************************************** + Includes section. +******************************************************************************/ +#include +#include +#include +#include + +/****************************************************************************** + Definitions section. +******************************************************************************/ + +/****************************************************************************** + Types' definition section. +******************************************************************************/ + +/**************************************************************************//** + \brief Declaration of CalculateSkkeParamsConf primitive parameters structure. +******************************************************************************/ +typedef struct +{ + //! Calculated MacTag1. + uint8_t macTag1[HASH_SIZE]; + //! Calculated MacTag2. + uint8_t macTag2[HASH_SIZE]; + //! Calculated keyData. + uint8_t keyData[HASH_SIZE]; +} SSP_CalculateSkkeParamsConf_t; + +/**************************************************************************//** + \brief Declaration of CalculateSkkeParamsReq primitive parameters structure. +******************************************************************************/ +typedef struct +{ + //! Service field - for internal needs. + SSP_Service_t service; + //! Extended address of the device which initiated SKKE procedure. + const uint64_t *initiatorIEEEAddr; + //! Extended address of the device which should response. + const uint64_t *responderIEEEAddr; + //! Preset key which should be known by both devices (initiator and responder). + uint8_t *masterKey/*[SECURITY_KEY_SIZE]*/; + //! Initiator challenge sequence (just 128-bit random number). + uint8_t qeu[CHALLENGE_SEQUENCE_SIZE]; + //! Responder challenge sequence (just 128-bit random number). + uint8_t qev[CHALLENGE_SEQUENCE_SIZE]; + //! Security Service Provider CalculateSkkeParams confirm callback function's pointer. + void (*SSP_CalculateSkkeParamsConf)(SSP_CalculateSkkeParamsConf_t *conf); + //! Security Service Provider CalculateSkkeParams confirm parameters' structure. + SSP_CalculateSkkeParamsConf_t confirm; +} SSP_CalculateSkkeParamsReq_t; + +/****************************************************************************** + Prototypes section. +******************************************************************************/ +/******************************************************************************* + Performs calculation of the parameters for Symmetric key key establishment + procedure. + Parameters: + param - SKKE procedure parameters (for detailed description look at + SSP_CalculateSkkeParamsReq_t declaration). + Return: + none. +********************************************************************************/ +void SSP_CalculateSkkeParamsReq(SSP_CalculateSkkeParamsReq_t *param); + +#endif // _LINK_SECURITY_ + +#endif //_SSPSKKE_H + +// eof sspSkke.h + -- cgit v1.2.3