From b24866225a6301d3a663f874725e83c012dc25d3 Mon Sep 17 00:00:00 2001 From: Florent Duchon Date: Wed, 26 Dec 2012 17:36:00 +0100 Subject: digital/beacon: add bitcloud stack into common directory digital/zigbit --- .../include/private/tcAuthenticHandler.h | 67 ++++++++++++ .../include/private/tcDeviceTableCtrlHandler.h | 46 ++++++++ .../include/private/tcKeyEstablishHandler.h | 82 +++++++++++++++ .../include/private/tcKeyUpdateHandler.h | 60 +++++++++++ .../Security/TrustCentre/include/private/tcMem.h | 116 +++++++++++++++++++++ .../TrustCentre/include/private/tcRemoveHandler.h | 77 ++++++++++++++ .../TrustCentre/include/private/tcTaskManager.h | 81 ++++++++++++++ .../Components/Security/TrustCentre/include/tc.h | 37 +++++++ .../Security/TrustCentre/include/tcAuthentic.h | 63 +++++++++++ .../Security/TrustCentre/include/tcCommon.h | 31 ++++++ .../Security/TrustCentre/include/tcDbg.h | 49 +++++++++ .../TrustCentre/include/tcDeviceTableCtrl.h | 109 +++++++++++++++++++ .../Security/TrustCentre/include/tcKeyEstablish.h | 53 ++++++++++ .../Security/TrustCentre/include/tcKeyUpdate.h | 66 ++++++++++++ .../TrustCentre/include/tcPromiscuousMode.h | 59 +++++++++++ .../Security/TrustCentre/include/tcRemove.h | 56 ++++++++++ .../Security/TrustCentre/include/tcReset.h | 33 ++++++ 17 files changed, 1085 insertions(+) create mode 100644 digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcAuthenticHandler.h create mode 100644 digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcDeviceTableCtrlHandler.h create mode 100644 digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcKeyEstablishHandler.h create mode 100644 digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcKeyUpdateHandler.h create mode 100644 digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcMem.h create mode 100644 digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcRemoveHandler.h create mode 100644 digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcTaskManager.h create mode 100644 digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tc.h create mode 100644 digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcAuthentic.h create mode 100644 digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcCommon.h create mode 100644 digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcDbg.h create mode 100644 digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcDeviceTableCtrl.h create mode 100644 digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcKeyEstablish.h create mode 100644 digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcKeyUpdate.h create mode 100644 digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcPromiscuousMode.h create mode 100644 digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcRemove.h create mode 100644 digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcReset.h (limited to 'digital/zigbit/bitcloud/stack/Components/Security/TrustCentre') diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcAuthenticHandler.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcAuthenticHandler.h new file mode 100644 index 00000000..290f0764 --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcAuthenticHandler.h @@ -0,0 +1,67 @@ +/**************************************************************************//** + \file tcAuthenticHandler.h + + \brief Trust Centre authentic 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: + 2007.12 - ALuzhetsky created. +******************************************************************************/ +#ifndef _TCAUTHENTICHANDLERH +#define _TCAUTHENTICHANDLERH + +/****************************************************************************** + Includes section. +******************************************************************************/ +#include +#include +#include + +/****************************************************************************** + Types section. +******************************************************************************/ +/**************************************************************************//** + \brief TBD. + + TBD +******************************************************************************/ +typedef struct +{ + TC_AuthenticObj_t *authenticObj; + uint8_t maxRequests; +} TcAuthenticHandlerMem_t; + +/****************************************************************************** + Functions prototypes section. +******************************************************************************/ + +/****************************************************************************** + Functions prototypes section. +******************************************************************************/ +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +void tcUpdateDeviceIndToAuthenticHandler(APS_UpdateDeviceInd_t *indParam); + + +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +void tcResetAuthenticHandler(void); + +#endif //_TCAUTHENTICHANDLERH + +// eof tcAuthenticHandler.h diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcDeviceTableCtrlHandler.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcDeviceTableCtrlHandler.h new file mode 100644 index 00000000..8d67c9eb --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcDeviceTableCtrlHandler.h @@ -0,0 +1,46 @@ +/**************************************************************************//** + \file tcDeviceTableCtrlHandler.h + + \brief Security Trust Centre devices' permission table control 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: + 2008.03 - ALuzhetsky created. +******************************************************************************/ +#ifndef _TCDEVICETABLECTRLHANDLERH +#define _TCDEVICETABLECTRLHANDLERH + +/****************************************************************************** + Includes section. +******************************************************************************/ +#include +#ifdef _TC_PERMISSION_TABLE_ +/****************************************************************************** + Functions prototypes section. +******************************************************************************/ +/**************************************************************************//** + \brief Initializes Trust Centre device permission table. + + \param none. + \return none. +******************************************************************************/ +void tcResetDevicePermissionTable(void); + +/**************************************************************************//** + \brief Finds device in Trust Centre device permission table. + + \param none. + \return true if device presents, false - otherwise. +******************************************************************************/ +bool tcFindDeviceInPermissionTable(ExtAddr_t *extAddr); +#endif +#endif // _TCDEVICETABLECTRLHANDLERH +// eof tcDeviceTableCtrlHandler.h + diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcKeyEstablishHandler.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcKeyEstablishHandler.h new file mode 100644 index 00000000..975e38f4 --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcKeyEstablishHandler.h @@ -0,0 +1,82 @@ +/**************************************************************************//** + \file tcKeyEstablishHandler.h + + \brief Trust Centre end to end key establishment 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: + 2008.01.17 - ALuzhetsky created. +******************************************************************************/ +#ifndef _TCKEYESTABLISHHANDLERH +#define _TCKEYESTABLISHHANDLERH + +#ifdef _LINK_SECURITY_ +/****************************************************************************** + Includes section. +******************************************************************************/ +#include +#include +#include + +/****************************************************************************** + Definitions section. +******************************************************************************/ + + +/****************************************************************************** + Types section. +******************************************************************************/ +/**************************************************************************//** + \brief TBD. + + TBD +******************************************************************************/ +typedef enum +{ + TC_KEY_ESTABLISH_OBJ_STATE_IDLE, + TC_KEY_ESTABLISH_OBJ_STATE_TRANSPORT_KEY_POSTED, + TC_KEY_ESTABLISH_OBJ_STATE_FIRST_TRANSPORT_KEY_EXECUTING, + TC_KEY_ESTABLISH_OBJ_STATE_SECOND_TRANSPORT_KEY_EXECUTING, +} TcKeyEstablishHandlerObjState_t; + +/**************************************************************************//** + \brief TBD. + + TBD +******************************************************************************/ +typedef struct +{ + TC_KeyEstablishObj_t *keyEstablishObj; + uint8_t maxRequests; +} TcKeyEstablishHandlerMem_t; + +/****************************************************************************** + Functions prototypes section. +******************************************************************************/ +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +void tcKeyEstablishTaskHandler(void); + +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +void tcResetKeyEstablishHandler(void); + +#endif // _LINK_SECURITY_ + +#endif //_TCKEYESTABLISHHANDLERH +// eof tcKeyEstablishHandler.h diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcKeyUpdateHandler.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcKeyUpdateHandler.h new file mode 100644 index 00000000..652dd3ec --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcKeyUpdateHandler.h @@ -0,0 +1,60 @@ +/**************************************************************************//** + \file tcKeyUpdateHandler.h + + \brief Trust Centre key update 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: + 2008.01.11 - ALuzhetsky created. +******************************************************************************/ +#ifndef _TCKEYUPDATEHANDLERH +#define _TCKEYUPDATEHANDLERH + +/****************************************************************************** + Includes section. +******************************************************************************/ +#include +#include +#include + +typedef struct +{ + QueueDescriptor_t reqQueueDescr; + APS_KeyHandle_t keyHandle; + void *currentReq; + union + { + APS_TransportKeyReq_t transportKeyReq; + APS_SwitchKeyReq_t switchKeyReq; + HAL_AppTimer_t keyUpdateTimer; + }; +} TcKeyUpdateHandlerMem_t; + +/****************************************************************************** + Functions prototypes section. +******************************************************************************/ +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +void tcKeyUpdateTaskHandler(void); + +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +void tcResetKeyUpdateHandler(void); + +#endif //_TCKEYUPDATEHANDLERH +// eof tcKeyUpdateHandler.h diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcMem.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcMem.h new file mode 100644 index 00000000..78bc08b9 --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcMem.h @@ -0,0 +1,116 @@ +/**************************************************************************//** + \file tcMem.h + + \brief Security Trust Centre memory manager 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: + 2007.12.25 - ALuzhetsky created. +******************************************************************************/ +#ifndef _TCMEM_H +#define _TCMEM_H + +/****************************************************************************** + Includes section. +******************************************************************************/ +#include +#include +#include +#include +#include +#include + +/****************************************************************************** + Types section. +******************************************************************************/ +/**************************************************************************//** + \brief TBD. + + TBD +******************************************************************************/ +typedef struct +{ + TcTaskManagerMem_t taskManagerMem; + TcAuthenticHandlerMem_t authenticHandlerMem; + TcKeyUpdateHandlerMem_t keyUpdateHandlerMem; +#ifdef _LINK_SECURITY_ + TcKeyEstablishHandlerMem_t keyEstablishHandlerMem; +#endif // _LINK_SECURITY_ + TcRemoveHandlerMem_t removeHandlerMem; +} TcMem_t; + +/****************************************************************************** + External variables. +******************************************************************************/ +extern TcMem_t tcMem; + +/****************************************************************************** + Inline functions prototypes section. +******************************************************************************/ +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +INLINE TcTaskManagerMem_t* tcGetTaskManagerMem(void) +{ + return &tcMem.taskManagerMem; +} + +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +INLINE TcAuthenticHandlerMem_t* tcGetAuthenticHandlerMem(void) +{ + return &tcMem.authenticHandlerMem; +} + +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +INLINE TcKeyUpdateHandlerMem_t* tcGetKeyUpdateHandlerMem(void) +{ + return &tcMem.keyUpdateHandlerMem; +} + +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +#ifdef _LINK_SECURITY_ +INLINE TcKeyEstablishHandlerMem_t* tcGetKeyEstablishHandlerMem(void) +{ + return &tcMem.keyEstablishHandlerMem; +} +#endif // _LINK_SECURITY_ + +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +INLINE TcRemoveHandlerMem_t* tcGetRemoveHandlerMem(void) +{ + return &tcMem.removeHandlerMem; +} + +#endif //_TCMEM_H + +// eof tcMem.h diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcRemoveHandler.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcRemoveHandler.h new file mode 100644 index 00000000..84bcac00 --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcRemoveHandler.h @@ -0,0 +1,77 @@ +/**************************************************************************//** + \file tcRemoveHandler.h + + \brief Trust Centre device remove 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: + 2008.01.20 - ALuzhetsky created. +******************************************************************************/ +#ifndef _TCREMOVEHANDLERH +#define _TCREMOVEHANDLERH + +/****************************************************************************** + Includes section. +******************************************************************************/ +#include +#include +#include +#include + + +/****************************************************************************** + Definition section. +******************************************************************************/ +/****************************************************************************** + Types section. +******************************************************************************/ +/**************************************************************************//** + \brief TBD. + + TBD +******************************************************************************/ +typedef struct +{ + QueueDescriptor_t reqQueueDescr; + APS_RemoveDeviceReq_t removeDeviceReq; + TC_RemoveDeviceReq_t *currentReq; +} TcRemoveHandlerMem_t; + +/****************************************************************************** + Functions prototypes section. +******************************************************************************/ +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +void tcUpdateDeviceIndToRemoveHandler(APS_UpdateDeviceInd_t *indParam); + +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +void tcRemoveTaskHandler(void); + +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +void tcResetRemoveHandler(void); + + +#endif //_TCREMOVEHANDLERH + +// eof tcRemoveHandler.h diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcTaskManager.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcTaskManager.h new file mode 100644 index 00000000..6753472e --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/private/tcTaskManager.h @@ -0,0 +1,81 @@ +/**************************************************************************//** + \file tcTaskManager.h + + \brief Security Trust Centre task manager 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: + 2007.12.25 - ALuzhetsky created. +******************************************************************************/ +#ifndef _TCTASKMANAGER_H +#define _TCTASKMANAGER_H + +/****************************************************************************** + Includes section. +******************************************************************************/ +#include + +/****************************************************************************** + Types section. +******************************************************************************/ +/**************************************************************************//** + \brief TBD. + + TBD +******************************************************************************/ +typedef enum +{ + //TC_TASK_RESET, + TC_TASK_KEY_UPDATE, +#ifdef _LINK_SECURITY_ + TC_TASK_KEY_ESTABLISH, +#endif // _LINK_SECURITY_ + TC_TASK_REMOVE, +} tcTaskID_t; + +/**************************************************************************//** + \brief TBD. + + TBD +******************************************************************************/ +typedef uint8_t TcTaskBitMask_t; + +/**************************************************************************//** + \brief TBD. + + TBD +******************************************************************************/ +typedef struct +{ + TcTaskBitMask_t taskBitMask; +} TcTaskManagerMem_t; + +/****************************************************************************** + Functions prototypes section. +******************************************************************************/ +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +void tcPostTask(tcTaskID_t taskID); + +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +void tcResetTaskManager(void); + +#endif // _TCTASKMANAGER_H + +// eof tcTaskManager.h diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tc.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tc.h new file mode 100644 index 00000000..67768f8b --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tc.h @@ -0,0 +1,37 @@ +/******************************************************************************//** + \file tc.h + + \brief Security Trust Centre main header file - includes all others TC public + header files. + + \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: + 2008.01 - ALuzhetsky created. +********************************************************************************/ +#ifndef _TCH +#define _TCH + +/****************************************************************************** + Include section. +******************************************************************************/ +#include +#include +#include +#include +#include +#include +#include +#ifdef _LINK_SECURITY_ + #include +#endif // _LINK_SECURITY_ + +#endif // _TCH + +// eof tc.h diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcAuthentic.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcAuthentic.h new file mode 100644 index 00000000..f5314499 --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcAuthentic.h @@ -0,0 +1,63 @@ +/**************************************************************************//** + \file tcAuthentic.h + + \brief Security Trust Centre authentic primitive 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: + 2007.12 - ALuzhetsky created. +******************************************************************************/ +#ifndef _TCAUTHENTICH +#define _TCAUTHENTICH + +/****************************************************************************** + Include section. +******************************************************************************/ +#include + +/****************************************************************************** + Types section. +******************************************************************************/ +typedef enum _TcAuthObjState_t +{ + TC_AUTHENTIC_OBJ_STATE_IDLE, + TC_AUTHENTIC_OBJ_STATE_TRANSPORTING_NETWORK_KEY, + TC_AUTHENTIC_OBJ_STATE_TRANSPORTING_MASTER_KEY, + TC_AUTHENTIC_OBJ_STATE_ESTABLISHING_KEY, + TC_AUTHENTIC_OBJ_STATE_REMOVING_DEVICE, +} TcAuthObjState_t; + +/**************************************************************************//** + \brief Authentic handler memory object. + + This struct declares memory wichshould be reserved for the Trust Centre + Authentication proceure. +******************************************************************************/ +typedef struct +{ + union + { //! Memory for APS_TransportKeyReq. + APS_TransportKeyReq_t transportKey; + //! Memory for APS_RemoveDeviceReq. + APS_RemoveDeviceReq_t removeDevice; +#if defined _LINK_SECURITY_ && defined _HI_SECURITY_ + //! Memory for APS_EstablishKeyReq. + APS_EstablishKeyReq_t establishKey; +#endif + } buffer; + //! Memory to store source address of APS_UpdateDeviceInd command. + ExtAddr_t updateIndSrcAddr; + //! Current state for Trust Centre authentic handler. + TcAuthObjState_t state; +} TC_AuthenticObj_t; + +#endif // _TCAUTHENTICH + +// eof tcAuthentic.h diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcCommon.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcCommon.h new file mode 100644 index 00000000..0db8fec8 --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcCommon.h @@ -0,0 +1,31 @@ +/**************************************************************************//** + \file tcCommon.h + + \brief Trust Centre common types and definitions 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: + 2008.12.01 - ALuzhetsky created. +******************************************************************************/ +#ifndef _TCCOMMONH +#define _TCCOMMONH + +/**************************************************************************//** + \brief Trust Centre service field. + + Service field - for internal needs - to store requets in the requets' queue. +******************************************************************************/ +typedef struct +{ + void *next; +} TC_Service_t; + +#endif // _TCCOMMONH +// eof tcCommon.h diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcDbg.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcDbg.h new file mode 100644 index 00000000..77d7b907 --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcDbg.h @@ -0,0 +1,49 @@ +/**************************************************************************//** + \file tcDbg.h + + \brief Security Trust Centre debug 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: + 2007.12 - ALuzhetsky created. +******************************************************************************/ +#ifndef _TCDBGH +#define _TCDBGH + +/****************************************************************************** + Includes section. +******************************************************************************/ +#include + +/****************************************************************************** + Types section. +******************************************************************************/ +/**************************************************************************//** + \brief Trust Centre debug codes declaration. + + These codes are used for debuging. +******************************************************************************/ +typedef enum +{ + TCAUTHENTICHANDLERC_APSUPDATEDEVICEINDICATION_01 = 0x7000, + TCAUTHENTICHANDLERC_APSUPDATEDEVICEINDICATION_02 = 0x7001, + TCAUTHENTICHANDLERC_TCAUTHENTICTASKHANDLER_01 = 0x7002, + TCKEYUPDATEHANDLER_TCKEYUPDATETASKHANDLER_00 = 0x7003, + TCAUTHENTICHANDLERC_APSREMOVEDEVICECONF_00 = 0x7004, + TCKEYUPDATEHANDLERC_ENDUPDATENETWORKKEYOPERATION_00 = 0x7005, + TCDEVICETABLECTRLHANDLER_TCSETDEVICEKEY_00 = 0x7006, + TCAUTHENTICHANDLERC_APSESTABLISHKEYCONF_00 = 0x7007, + TCTASKMANAGER_00 = 0x7008, + TCAUTHENTICHANDLERC_APSUPDATEDEVICEINDICATION_03 = 0x7009, + TCAUTHENTICHANDLERC_APSTRANSPORTKEYCONF_00 = 0x700A, +} TcDbgCodeId_t; +#endif // _TCDBGH + +// eof tcDbg.h diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcDeviceTableCtrl.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcDeviceTableCtrl.h new file mode 100644 index 00000000..ad076bd3 --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcDeviceTableCtrl.h @@ -0,0 +1,109 @@ +/**************************************************************************//** + \file tcDeviceTableCtrl.h + + \brief Security Trust Centre devices' control 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: + 2008.02 - ALuzhetsky created. +******************************************************************************/ +#ifndef _TCDEVICETABLECTRLH +#define _TCDEVICETABLECTRLH + +/****************************************************************************** + Includes section. +******************************************************************************/ +#include +#include +#include +#include + +#ifdef _TC_PERMISSION_TABLE_ +/****************************************************************************** + Functions prototypes section. +******************************************************************************/ +/**************************************************************************//** + \brief Adds new device to Trust Centre device permission table. + + \param extAddr - new device's address. + \return true in case if operation is successful - false if there is no free + space in Trust Centre device permission table. +******************************************************************************/ +bool TC_AddDeviceToPermissionTable(ExtAddr_t *extAddr); + + +/**************************************************************************//** + \brief Removes device from Trust Centre device permission table. + + \param extAddr - address of the device to remove. + \return true in case if operation is successful - false if there is no such + device in Trust Centre device permission table. +******************************************************************************/ +bool TC_RemoveDeviceFromPermissionTable(ExtAddr_t *extAddr); +#endif // _TC_PERMISSION_TABLE_ + +/****************************************************************************** + Types section. +******************************************************************************/ +/**************************************************************************//** + \brief Possible key types which could be stored for each device. + + Used in TC_SetDeviceKey primitive - to fill device table with particular + values. +******************************************************************************/ +typedef enum +{ + //! Master key type. + KEY_TYPE_MASTER, + //! Link key type. + KEY_TYPE_LINK +} TC_KeyType_t; + +/**************************************************************************//** + \brief Trust Centre set device key primitive paramemtrs. + + Used in TC_SetDeviceKey primitive - to fill device table with particular + values. +******************************************************************************/ +typedef struct +{ + //! Device extended address. + ExtAddr_t *deviceAddr; + //! Key value - 16 bytes array. + uint8_t (*key)[SECURITY_KEY_SIZE]; + //! Key type. + TC_KeyType_t keyType; +} TC_SetDeviceKey_t; + +/****************************************************************************** + Functions prototypes section. +******************************************************************************/ +/**************************************************************************//** + \brief Sets device parameters in device table - extended address associated + with particular key. + + \param params - request parameters' structure pointer. + \return true in case if operation is successful - false otherwise. +******************************************************************************/ +bool TC_SetDeviceKey(TC_SetDeviceKey_t *param); + +/**************************************************************************//** + \brief Deletes whole information about device with extended address equeal to + deviceAddr from APS_KeyPairSet_t table. + \param deviceAddr - device address. + + \return true - if device with extended address deviceAddr was found and its + entry was deleted, false - otherwise. +******************************************************************************/ +bool TC_DeleteDeviceEntry(ExtAddr_t *deviceAddr); + +#endif // _TCDEVICETABLECTRLH + +// eof tcDeviceTableCtrl.h diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcKeyEstablish.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcKeyEstablish.h new file mode 100644 index 00000000..e986064f --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcKeyEstablish.h @@ -0,0 +1,53 @@ +/**************************************************************************//** + \file tcKeyEstablish.h + + \brief Security Trust Centre End to End Key Establish primitive 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: + 2008.01.17 - ALuzhetsky created. +******************************************************************************/ +#ifndef _TCKEYESTABLISH +#define _TCKEYESTABLISH + +/****************************************************************************** + Types section. +******************************************************************************/ +/**************************************************************************//** + \brief TBD. + + TBD +******************************************************************************/ +typedef struct +{ + union + { + APS_TransportKeyReq_t transportKeyReq; + }; + //ExtAddr_t updateIndSrcAddr; + uint8_t state; +} TC_KeyEstablishObj_t; + +/****************************************************************************** + Functions prototypes section. +******************************************************************************/ +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +#ifdef _LINK_SECURITY_ +void APS_RequestKeyInd(APS_RequestKeyInd_t *indParams); +#endif // _LINK_SECURITY_ + +#endif // _LINK_SECURITY_ + +// eof tcKeyEstablish.h diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcKeyUpdate.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcKeyUpdate.h new file mode 100644 index 00000000..ce0d2ca7 --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcKeyUpdate.h @@ -0,0 +1,66 @@ +/**************************************************************************//** + \file tcKeyUpdate.h + + \brief Security Trust Centre key update primitive 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: + 2007.12 - ALuzhetsky created. +******************************************************************************/ +#ifndef _TCKEYUPDATEH +#define _TCKEYUPDATEH + +/****************************************************************************** + Includes section. +******************************************************************************/ +#include +#include +#include + +/****************************************************************************** + Types section. +******************************************************************************/ + +/**************************************************************************//** + \brief TBD. + + TBD +******************************************************************************/ +typedef struct +{ + uint8_t status; +} TC_KeyUpdateConf_t; + +/**************************************************************************//** + \brief TBD. + + TBD +******************************************************************************/ +typedef struct +{ + TC_Service_t service; + void (*TC_KeyUpdateConf)(TC_KeyUpdateConf_t *conf); + TC_KeyUpdateConf_t confirm; +} TC_KeyUpdateReq_t; + +/****************************************************************************** + Functions prototypes section. +******************************************************************************/ +/**************************************************************************//** + \brief Peforms trust centre key updating procedure in the network. + + \param reqParam - parameters of operation (for detailed description refer to + TC_KeyUpdateReq_t type declaration). + \return none. +******************************************************************************/ +void TC_KeyUpdateReq(TC_KeyUpdateReq_t *reqParam); + +#endif //_TCKEYUPDATEH +// eof tcKeyUpdate.h diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcPromiscuousMode.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcPromiscuousMode.h new file mode 100644 index 00000000..843d21af --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcPromiscuousMode.h @@ -0,0 +1,59 @@ +/****************************************************************************** + \file tcPromiscuousMode.h + + \brief + TC Promiscuous mode module interface. + + \author + Atmel Corporation: http://www.atmel.com \n + Support email: avr@atmel.com + + Copyright (c) 2010 , Atmel Corporation. All rights reserved. + Licensed under Atmel's Limited License Agreement (BitCloudTM). + + \internal + History: + 2010-25-01 arazinkov - Created. + Last change: + $Id: tcPromiscuousMode.h 14525 2010-12-23 10:18:45Z arazinkov $ +******************************************************************************/ + +#ifndef _TCPROMISCUOUSMODE_H_ +#define _TCPROMISCUOUSMODE_H_ + +#ifdef _LINK_SECURITY_ +#ifdef _TC_PROMISCUOUS_MODE_ + +/****************************************************************************** + Includes section +******************************************************************************/ +#include + +/****************************************************************************** + Prototypes section +******************************************************************************/ +/**************************************************************************//** + \brief Forces TC to enter the Promiscuous mode + + \return None. +******************************************************************************/ +void TC_EnterPromiscuousMode(void); + +/**************************************************************************//** + \brief Forces TC to leave the Promiscuous mode + + \return None. +******************************************************************************/ +void TC_LeavePromiscuousMode(void); + +/**************************************************************************//** + \brief Checks, if TC is in the Promiscuous mode + + \return True, if TC is in the Promiscuous mode, False - otherwise +******************************************************************************/ +bool TC_IsPromiscuousMode(void); + +#endif /* _LINK_SECURITY_ */ + +#endif /* _TC_PROMISCUOUS_MODE_ */ +#endif /* _TCPROMISCUOUSMODE_H_ */ diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcRemove.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcRemove.h new file mode 100644 index 00000000..c0d37786 --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcRemove.h @@ -0,0 +1,56 @@ +/**************************************************************************//** + \file tcRemove.h + \brief Security Trust Centre remove primitive 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: + 2008.01.20 - ALuzhetsky created. +******************************************************************************/ +#ifndef _TCREMOVEH +#define _TCREMOVEH + +#include +#include + +/****************************************************************************** + Types section. +******************************************************************************/ +/**************************************************************************//** + \brief TBD. + + TBD +******************************************************************************/ +typedef struct +{ + uint8_t status; +} TC_RemoveDeviceConf_t; + +/**************************************************************************//** + \brief TBD. + + TBD +******************************************************************************/ +typedef struct +{ + TC_Service_t service; + ExtAddr_t deviceAddr; + ExtAddr_t parentAddr; + void (*TC_RemoveDeviceConf)(TC_RemoveDeviceConf_t *conf); + TC_RemoveDeviceConf_t confirm; +} TC_RemoveDeviceReq_t; + +/****************************************************************************** + Functions prototypes section. +******************************************************************************/ +void TC_RemoveDeviceReq(TC_RemoveDeviceReq_t *param); + +#endif // _TCREMOVEH + +// eof tcRemove.h diff --git a/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcReset.h b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcReset.h new file mode 100644 index 00000000..c386d83b --- /dev/null +++ b/digital/zigbit/bitcloud/stack/Components/Security/TrustCentre/include/tcReset.h @@ -0,0 +1,33 @@ +/**************************************************************************//** + \file tcReset.h + + \brief Security Trust Centre reset 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: + 2007.12 - ALuzhetsky created. +******************************************************************************/ +#ifndef _TCRESETHANDLERH +#define _TCRESETHANDLERH + +/****************************************************************************** + Functions prototypes section. +******************************************************************************/ + +/**************************************************************************//** + \brief TBD. + + \param TBD. + \return TBD. +******************************************************************************/ +void TC_Reset(NWK_PowerFailureControl_t powerFailureControl); + +#endif // _TCRESETHANDLERH +// eof tcReset.h -- cgit v1.2.3