summaryrefslogtreecommitdiff
path: root/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include
diff options
context:
space:
mode:
Diffstat (limited to 'digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include')
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspAuthenticHandler.h75
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspCcmHandler.h171
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspChallengeGenHandler.h42
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspHashHandler.h118
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspManager.h174
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspMem.h238
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspSfpHandler.h134
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspSkkeHandler.h96
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspAuthentic.h101
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspChallengeGen.h50
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspCommon.h74
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspDbg.h38
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspHash.h69
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspReset.h34
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspSfp.h203
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspSkke.h92
16 files changed, 0 insertions, 1709 deletions
diff --git a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspAuthenticHandler.h b/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspAuthenticHandler.h
deleted file mode 100644
index 37c66d44..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspAuthenticHandler.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/**************************************************************************//**
- \file sspAuthenticHandler.h
-
- \brief Mutual Symmetric-Key Entity Authentication routine handler's 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:
- 17/12/07 ALuzhetsky - Created.
-******************************************************************************/
-#ifndef _SSPAUTHENTICHANDLER_H
-#define _SSPAUTHENTICHANDLER_H
-
-#ifdef _LINK_SECURITY_
-/******************************************************************************
- Includes section.
-******************************************************************************/
-#include <types.h>
-#include <sspManager.h>
-#include <sspHashHandler.h>
-#include <sspAesHandler.h>
-
-/******************************************************************************
- Types section.
-******************************************************************************/
-/******************************************************************************
- TBD
-******************************************************************************/
-typedef struct
-{
- SspKeyedHashMacReq_t keyedHashMacParams;
- BEGIN_PACK
- struct PACK
- {
- volatile uint8_t keyExpander[SECURITY_KEY_SIZE];
- uint8_t macData[MAX_HASH_TEXT_SIZE];
- volatile uint8_t bitsExpander[16];
- };
- END_PACK
-} SspAuthenticHandlerMem_t;
-/******************************************************************************
- Prototypes section.
-******************************************************************************/
-/*******************************************************************************
- Calculates parameters (MacTag1) for Mutual Symmetric-Key Entity Authentication
- procedure.
- Parameters:
- none.
- Return:
- none.
-********************************************************************************/
-void sspCalculateAuthenticMacTag1ReqHandler(void);
-
-/*******************************************************************************
- Calculates parameters (MacTag2) for Mutual Symmetric-Key Entity Authentication
- procedure.
- Parameters:
- none.
- Return:
- none.
-********************************************************************************/
-void sspCalculateAuthenticMacTag2ReqHandler(void);
-
-#endif // _LINK_SECURITY_
-
-#endif //_SSPAUTHENTICHANDLER_H
-
-// eof sspAuthenticHandler.h
-
diff --git a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspCcmHandler.h b/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspCcmHandler.h
deleted file mode 100644
index 1e924c49..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspCcmHandler.h
+++ /dev/null
@@ -1,171 +0,0 @@
-/**************************************************************************//**
- \file sspCcmHandler.h
-
- \brief CCM 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:
- 2006 - VGribanovsky created.
- 29/11/2007 - ALuzhetsky API corrected.
-******************************************************************************/
-#ifndef _SSPCCMHANDLER_H
-#define _SSPCCMHANDLER_H
-
-
-/******************************************************************************
- Includes section.
-******************************************************************************/
-#include <types.h>
-
-
-/******************************************************************************
- Definitions section.
-******************************************************************************/
-#define CCM_MIC_MAX_SIZE 16
-#define CCM_NONCE_SIZE 13
-
-/******************************************************************************
- Types' definitions section.
-******************************************************************************/
-/**************************************************************************//**
- TBD
-******************************************************************************/
-typedef enum
-{
- CCM_REQ_TYPE_CRYPT,
- CCM_REQ_TYPE_AUTH,
- CCM_REQ_TYPE_CHECK_MIC
-} CcmReqType_t;
-
-/**************************************************************************//**
- TBD
-******************************************************************************/
-typedef enum
-{
- CCM_STATE_IDLE,
- CCM_STATE_SET_KEY_WHILE_AUTH_OR_MIC_CHECK,
- CCM_STATE_SET_KEY_WHILE_CRYPT,
- CCM_STATE_CALC_X1_FOR_HDR_WHILE_AUTH_OR_MIC_CHECK,
- CCM_STATE_CALC_XN_FOR_HDR_WHILE_AUTH_OR_MIC_CHECK,
- CCM_STATE_CALC_XN_FOR_PLD_WHILE_CRYPT_OR_MIC_CHECK,
- CCM_STATE_CALC_LAST_X_FOR_HDR_WHILE_MIC_CHECK,
- CCM_STATE_CALC_LAST_X_FOR_HDR_WHILE_AUTH,
- CCM_STATE_CALC_LAST_X_FOR_PLD_WHILE_CRYPT_OR_MIC_CHECK,
- CCM_STATE_CRYPT_NEXT_PLD_BLOCK_WHILE_CRYPT_OR_MIC_CHECK,
- CCM_STATE_CALC_XN_FOR_PLD_WHILE_AUTH,
- CCM_STATE_CALC_LAST_X_FOR_PLD_WHILE_AUTH,
- CCM_STATE_CRYPT_MIC,
-} SspCcmState_t;
-
-/**************************************************************************//**
- \brief Input param structure for CCM authentification & encrypt
- OR decode & authentification operations.
-******************************************************************************/
-typedef struct
-{
- //!< key
- uint8_t *key/*[SECURITY_KEY_SIZE]*/;
- //!< nonce
- uint8_t *nonce/*[CCM_NONCE_SIZE]*/;
- //!< header
- uint8_t *a/*[len_a]*/;
- //!< pdu
- uint8_t *m/*[len_m]*/;
- //!< MIC length (or MAC - message authentication code).
- //!< Limitations: does not work correctly if MIC length >= 0xfeff.
- uint8_t M;
- //!< header length
- uint8_t len_a;
- //!< pdu length
- uint8_t len_m;
- //!< Pointer to MIC memory - real MIC value will be XORed to this memory.
- //!< Set to zero MIC byte values if you want the new MIC to be generated.
- //!< To verify MIC check that it's value is all zeroes after authentication.
- uint8_t *mic/*[M]*/;
- //!< Confirm callback function
- void (*ccmConfirm)(void);
-} CcmReq_t;
-
-/******************************************************************************
- \brief Cryptographic context. Used for only for MIC generation and checking.
-******************************************************************************/
-typedef struct
-{
- uint8_t textSize;
- uint8_t *text/*[textSize]*/;
- uint8_t x_i[SECURITY_BLOCK_SIZE];
-} CcmAuthCtx_t;
-
-/**************************************************************************//**
- \brief CCM handler module static memory structure.
-******************************************************************************/
-typedef struct
-{
- //!< Current CCM request pointer
- CcmReq_t *ccmReq;
- //!< Current CCM request type
- CcmReqType_t reqType;
- //!< Current CCM module state
- SspCcmState_t ccmState;
- //!< Buffer is used to save intermidiate decryption results while MIC
- //!< calculating procedure and to form B1 while authentication.
- uint8_t tmpCcmBuf[SECURITY_BLOCK_SIZE];
- //!< Payload block counter
- uint8_t pldBlockCounter;
- CcmAuthCtx_t ccmAuthCtx;
-} SspCcmHandlerMem_t;
-
-
-/******************************************************************************
- Prototypes section.
-******************************************************************************/
-/******************************************************************************
- Calculate the CCM* authentication tag (CBC-MAC in RFC 3610 terms).
- Arguments:
- key - AES-128 key;
- nonce_block - 16-byte block containing nonce in bytes 1..13
- (bytes 0,14,15 are arbitrary);
- frame - ptr to data to be protected by the authentication tag;
- len_auth - data that have to be authentified only;
- len_crypt - data that have to be authentified and encrypted;
- auth - buffer to place the authentication tag;
- M - MIC length,
- temp - 176-byte array used by AES encryption algorithm.
- If M=0 (which is permitted by ZigBee Standard but not by RFC 3610)
- the function returns immediately.
- Limitations: does not work correctly if len_auth >= 0xfeff.
-******************************************************************************/
-void ccmAuthReq(CcmReq_t *ccmParam);
-
-
-/******************************************************************************
- Encrypt the buffer in place by the CCM*. Arguments:
- key - AES-128 key;
- nonce_block - 16-byte block containing nonce in bytes 1..13
- (bytes 0,14,15 are arbitrary);
- payload - buffer to be encrypted;
- len_payload - length of this buffer;
- auth - MIC which have to be encrypted additionally (also in place);
- M - its length;
- temp - 176-byte array used by AES encryption algorithm.
-******************************************************************************/
-void ccmCryptReq(CcmReq_t *);
-
-/**************************************************************************//**
- \brief Performs encrypted frame MIC check procedure.
-
- \param checMecReq - request parametrs structure pointer. Take a look at the
- CcmReq_t type declaration for the detailes.
-******************************************************************************/
-void ccmCheckMicReq(CcmReq_t *checkMicReq);
-
-#endif //_SSPCCMHANDLER_H
-
-//eof sspCcmHandler.h
diff --git a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspChallengeGenHandler.h b/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspChallengeGenHandler.h
deleted file mode 100644
index a245e581..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspChallengeGenHandler.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/**************************************************************************//**
- \file sspChallengeGenHandler.h
-
- \brief Challenge generator handler 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:
- 17/12/07 ALuzhetsky - Created.
-******************************************************************************/
-#ifndef _SSPCHALLENGEGENHANDLER_H
-#define _SSPCHALLENGEGENHANDLER_H
-
-/******************************************************************************
- Includes section.
-******************************************************************************/
-
-/******************************************************************************
- Definition section.
-******************************************************************************/
-
-/******************************************************************************
- Prototypes section.
-******************************************************************************/
-/*******************************************************************************
- Resets Security Service Provider entity.
- Parameters:
- challenge - pointer to the memory for saving generated challenge.
- Return:
- none.
-********************************************************************************/
-void sspGenerateChallengeHandler(uint8_t challenge[/*CHALLENGE_SEQUENCE_SIZE*/]);
-#endif //_SSPCHALLENGEGENHANDLER_H
-
-// eof sspChallengeGenHandler.h
-
diff --git a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspHashHandler.h b/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspHashHandler.h
deleted file mode 100644
index c89a1193..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspHashHandler.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/**************************************************************************//**
- \file sspHashHandler.h
-
- \brief Hash 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 _SSPHASHHANDLER_H
-#define _SSPHASHHANDLER_H
-
-#ifdef _LINK_SECURITY_
-
-/******************************************************************************
- Includes section.
-******************************************************************************/
-#include <types.h>
-#include <sspCommon.h>
-
-/******************************************************************************
- Definitions section.
-******************************************************************************/
-#define MAX_HASH_TEXT_SIZE 53 // 1 + 2*sizeof(uint64_t) + 2*CHALLENGE_SIZE + sizeof(uint32_t)
-#define IPAD 0x36
-#define OPAD 0x5C
-
-/******************************************************************************
- Types' definitions section.
-******************************************************************************/
-/******************************************************************************
- TBD
-******************************************************************************/
-typedef struct
-{
- // Service field - for internal needs.
- SSP_Service_t service;
- // There is should be an additional memory before and after text (16 bytes in both cases).
- uint8_t *text/*[SECURITY_KEY_SIZE + textSize + 16]*/;
- // Pointer to key fir Keyed Hash Function.
- const uint8_t *key/*[SECURITY_KEY_SIZE]*/;
- // Size of the text.
- uint8_t textSize;
- // Buffer for generated hash. Shoul be initialized by the user.
- uint8_t *hash_i/*[SECURITY_KEY_SIZE]*/;
- void (*sspKeyedHashMacConfirm)(void);
-} SspKeyedHashMacReq_t;
-
-/******************************************************************************
- TBD
-******************************************************************************/
-typedef enum
-{
- HASH_STATE_IDLE,
- HASH_STATE_CREATE_HASH1,
- HASH_STATE_CREATE_HASH2,
-} SspHashHandlerState_t;
-
-/******************************************************************************
- TBD
-******************************************************************************/
-typedef struct
-{
- uint8_t *M/*[textSize + 16]*/;
- uint8_t *hash_i/*[SECURITY_KEY_SIZE]*/;
- uint8_t textSize;
- void (*bcbHashConf)(void);
-} SspBcbHashReq_t;
-
-/******************************************************************************
- TBD
-******************************************************************************/
-typedef struct
-{
- SspBcbHashReq_t *currentBcbHashReq;
- SspKeyedHashMacReq_t *keyedHashMacReq;
- SspBcbHashReq_t bcbHashReq;
- uint8_t bcbBlockCounter;
- SspHashHandlerState_t hashHandlerState;
-} SspHashHandlerMem_t;
-
-
-/******************************************************************************
- Prototypes section.
-******************************************************************************/
-/*******************************************************************************
- Keyed hash function implementation.
- Parameters:
- param - parameters of the primitive (for detailed description look at
- SspKeyedHashMacReq_t declaration).
- Return:
- none.
-********************************************************************************/
-void sspKeyedHashMacReq(SspKeyedHashMacReq_t *param);
-
-/*******************************************************************************
- Block Cipher Based hash function implementation.
- Parameters:
- param - parameters of the primitive (for detailed description look at
- SspBcbHashReq_t declaration).
- Return:
- none.
-********************************************************************************/
-void sspBcbHashReq(SspBcbHashReq_t *param);
-
-#endif // _LINK_SECURITY_
-
-#endif //_SSPHASHHANDLER_H
-
-//eof sspHashHandler.h
diff --git a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspManager.h b/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspManager.h
deleted file mode 100644
index 034ebf89..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspManager.h
+++ /dev/null
@@ -1,174 +0,0 @@
-/**************************************************************************//**
- \file sspManager.h
-
- \brief Security Service Provider 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:
- 06/12/2007 - ALuzhetsky API corrected.
-******************************************************************************/
-#ifndef _SSPMANAGER_H
-#define _SSPMANAGER_H
-
-/******************************************************************************
- Includes section.
-******************************************************************************/
-#include <queue.h>
-
-/******************************************************************************
- Definition section.
-******************************************************************************/
-#ifdef _SSP_USE_FLASH_FOR_CONST_DATA
- #include <types.h>
- #define HANDLERS_MEM FLASH_VAR
- #define HANDLERS_GET(A, I) memcpy_P(A, &sspHandlers[I], sizeof(SspTask_t))
-#else // _SSP_USE_FLASH_FOR_CONST_DATA
- #define HANDLERS_MEM
- #define HANDLERS_GET(A, I) (((A)->task) = sspHandlers[I].task)
-#endif // _SSP_USE_FLASH_FOR_CONST_DATA
-
-#if defined(_MAC_HW_AES_) || defined(_HAL_HW_AES_)
- #ifdef _LINK_SECURITY_
- #define SSP_TASKS_LIST \
- {sspCalculateAuthenticMacTag1ReqHandler}, \
- {sspCalculateAuthenticMacTag2ReqHandler}, \
- {sspCalculateSkkeParamsReqHandler}, \
- {sspKeyedHashReqHandler}, \
- {sspEncryptFrameReqHandler}, \
- {sspDecryptFrameReqHandler}
- #else // _LINK_SECURITY_
- #define SSP_TASKS_LIST \
- {sspEncryptFrameReqHandler}, \
- {sspDecryptFrameReqHandler}
- #endif // _LINK_SECURITY_
-
-#elif defined(_SSP_SW_AES_)
- #ifdef _LINK_SECURITY_
- #define SSP_TASKS_LIST \
- {sspCalculateAuthenticMacTag1ReqHandler}, \
- {sspCalculateAuthenticMacTag2ReqHandler}, \
- {sspCalculateSkkeParamsReqHandler}, \
- {sspKeyedHashReqHandler}, \
- {sspEncryptFrameReqHandler}, \
- {sspDecryptFrameReqHandler}, \
- {sspAesReqHandler},
- #else // _LINK_SECURITY_
- #define SSP_TASKS_LIST \
- {sspEncryptFrameReqHandler}, \
- {sspDecryptFrameReqHandler}, \
- {sspAesReqHandler}
- #endif // _LINK_SECURITY_
-
-#else
- #error Unknown AES routine provider
-#endif
-
-/******************************************************************************
- Types section.
-******************************************************************************/
-/**************************************************************************//**
- \brief TBD.
-
- TBD
-******************************************************************************/
-typedef struct
-{
- void (*task)(void);
-} SspTask_t;
-
-/**************************************************************************//**
- \brief TBD.
-
- TBD
-******************************************************************************/
-typedef enum
-{
-#ifdef _LINK_SECURITY_
- SSP_TASK_AUTHENTIC_MAC_TAG1,
- SSP_TASK_AUTHENTIC_MAC_TAG2,
- SSP_TASK_SKKE,
- SSP_TASK_KEYED_HASH,
-#endif // _LINK_SECURITY_
- SSP_TASK_ENCRYPT_FRAME,
- SSP_TASK_DECRYPT_FRAME,
-#ifdef _SSP_SW_AES_
- SSP_TASK_AES,
-#endif // _SSP_SW_AES_
-
- SSP_TASKS_SIZE,
-} SspTaskId_t;
-
-/**************************************************************************//**
- \brief TBD.
-
- TBD
-******************************************************************************/
-typedef enum // ssp possible requests' types.
-{
-#ifdef _LINK_SECURITY_
- SSP_REQ_ID_AUTHENTIC_MAC_TAG1 = SSP_TASK_AUTHENTIC_MAC_TAG1,
- SSP_REQ_ID_AUTHENTIC_MAC_TAG2 = SSP_TASK_AUTHENTIC_MAC_TAG2,
- SSP_REQ_ID_SKKE = SSP_TASK_SKKE,
- SSP_REQ_ID_KEYED_HASH = SSP_TASK_KEYED_HASH,
-#endif // _LINK_SECURITY_
- SSP_REQ_ID_SFP_ENCRYPT_FRAME = SSP_TASK_ENCRYPT_FRAME,
- SSP_REQ_ID_SFP_DECRYPT_FRAME = SSP_TASK_DECRYPT_FRAME,
-
-} SspRequestId_t;
-
-/**************************************************************************//**
- \brief TBD.
-
- TBD
-******************************************************************************/
-typedef uint8_t SspTaskBitMask_t;
-
-/**************************************************************************//**
- \brief TBD.
-
- TBD
-******************************************************************************/
-typedef struct
-{
- SspTaskBitMask_t taskBitMask;
- QueueDescriptor_t reqQueueDescr;
-} SspManagerMem_t;
-
-/******************************************************************************
- Functions prototypes section.
-******************************************************************************/
-/**************************************************************************//**
- \brief TBD.
-
- \param TBD.
- \return TBD.
-******************************************************************************/
-void sspPostTask(SspTaskId_t taskID);
-
-/**************************************************************************//**
- \brief TBD.
-
- \param TBD.
- \return TBD.
-******************************************************************************/
-void sspResetTaskManager(void);
-
-/******************************************************************************
- Sends confirmation to the SSP user.
- Parameters:
- request - parameters of the request to be confirmed.
- Returns:
- none.
-******************************************************************************/
-void sspSendConfToUpperLayer(void *request);
-
-#endif // _SSPMANAGER_H
-
-// eof sspManager.h
diff --git a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspMem.h b/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspMem.h
deleted file mode 100644
index 1512a170..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspMem.h
+++ /dev/null
@@ -1,238 +0,0 @@
-/**************************************************************************//**
- \file sspMem.h
-
- \brief Security Service Provider 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:
- 06/12/2007 - ALuzhetsky created.
-******************************************************************************/
-#ifndef _SSPMEM_H
-#define _SSPMEM_H
-
-/******************************************************************************
- Includes section.
-******************************************************************************/
-#include <queue.h>
-#include <sspManager.h>
-#include <sspAuthenticHandler.h>
-#include <sspSkkeHandler.h>
-#include <sspSfpHandler.h>
-#include <sspCcmHandler.h>
-
-/******************************************************************************
- Types section.
-******************************************************************************/
-typedef struct
-{
- void *sspReq; // Used by all modules which need to save requests' parameters.
- // For Manager needs.
- SspManagerMem_t managerMem;
- SspAesMem_t aes;
- union
- {
-#ifdef _LINK_SECURITY_
- SspAuthenticHandlerMem_t authenticHandlerMem;
- SspSkkeHandlerMem_t skkeHandlerMem;
-#endif // _LINK_SECURITY_
- SspSfpHandlerMem_t sfpHandlerMem;
- };
- union
- {
-#ifdef _LINK_SECURITY_
- SspHashHandlerMem_t hashHandlerMem;
-#endif // _LINK_SECURITY_
- SspCcmHandlerMem_t ccmHandlerMem;
- };
-} SspMem_t;
-
-/******************************************************************************
- External variables.
-******************************************************************************/
-extern SspMem_t sspMem;
-
-/******************************************************************************
- Inline static functions prototypes section.
-******************************************************************************/
-/******************************************************************************
- Stores the pointer to the current request.
- Parameters:
- req - pointer to the current request.
- returns:
- none.
-******************************************************************************/
-INLINE void sspStoreReqParams(void *req)
-{
- sspMem.sspReq = req;
-}
-
-/******************************************************************************
- Gets the pointer to the current request.
- Parameters:
- none.
- returns:
- Pointer to the current request.
-******************************************************************************/
-INLINE void* sspGetReqParams(void)
-{
- return sspMem.sspReq;
-}
-
-/******************************************************************************
- Gets the current manager state.
- Parameters:
- none.
- returns:
- current manager state.
-******************************************************************************/
-/*INLINE SspState_t sspGetManagerState(void)
-{
- return sspMem.managerMem.managerState;
-}*/
-
-/******************************************************************************
- Sets the current manager state.
- Parameters:
- new state.
- returns:
- none.
-******************************************************************************/
-/*INLINE void sspSetManagerState(SspState_t newState)
-{
- sspMem.managerMem.managerState = newState;
-}*/
-
-/******************************************************************************
- Gets pointer to the queue descriptor.
- Parameters:
- none.
- returns:
- pointer to the queue descriptor.
-******************************************************************************/
-INLINE QueueDescriptor_t* sspGetQueueDescr(void)
-{
- return &sspMem.managerMem.reqQueueDescr;
-}
-
-/******************************************************************************
- Gets pointer to the queue descriptor.
- Parameters:
- none.
- returns:
- pointer to the queue descriptor.
-******************************************************************************/
-INLINE SspTaskBitMask_t* sspGetTaskBitMask(void)
-{
- return &sspMem.managerMem.taskBitMask;
-}
-
-/******************************************************************************
- Gets pointer to the current request.
- Parameters:
- none.
- returns:
- pointer to the current request.
-******************************************************************************/
-INLINE void* sspGetCurrentReq(void)
-{
- return sspMem.sspReq;
-}
-
-/******************************************************************************
- Stores pointer to the current request.
- Parameters:
- pointer to the current request.
- returns:
- none.
-******************************************************************************/
-INLINE void sspSetCurrentReq(void* param)
-{
- sspMem.sspReq = param;
-}
-
-#ifdef _LINK_SECURITY_
-/******************************************************************************
- Gets pointer to the authentic handler memory.
- Parameters:
- none.
- returns:
- pointer to the authentic handler memory.
-******************************************************************************/
-INLINE SspAuthenticHandlerMem_t* sspGetAuthenticHandlerMem(void)
-{
- return &sspMem.authenticHandlerMem;
-}
-
-/******************************************************************************
- Gets pointer to the skke handler memory.
- Parameters:
- none.
- returns:
- pointer to the skke handler memory.
-******************************************************************************/
-INLINE SspSkkeHandlerMem_t* sspGetSkkeHandlerMem(void)
-{
- return &sspMem.skkeHandlerMem;
-}
-
-/******************************************************************************
- Gets pointer to the hash handler memory.
- Parameters:
- none.
- returns:
- pointer to the hash handler memory.
-******************************************************************************/
-INLINE SspHashHandlerMem_t* sspGetHashHandlerMem(void)
-{
- return &sspMem.hashHandlerMem;
-}
-#endif // _LINK_SECURITY_
-
-/******************************************************************************
- Gets pointer to the sfp handler memory.
- Parameters:
- none.
- returns:
- pointer to the sfp handler memory.
-******************************************************************************/
-INLINE SspSfpHandlerMem_t* sspGetSfpHandlerMem(void)
-{
- return &sspMem.sfpHandlerMem;
-}
-
-/******************************************************************************
- Gets pointer to the memory for aes encryption procedure.
- Parameters:
- none.
- returns:
- pointer to the memory for aes encryption procedure.
-******************************************************************************/
-INLINE SspAesMem_t* sspGetAesMem(void)
-{
- return &sspMem.aes;
-}
-
-/******************************************************************************
- Gets pointer to the ccm handler memory.
- Parameters:
- none.
- returns:
- pointer to the ccm handler memory.
-******************************************************************************/
-INLINE SspCcmHandlerMem_t* sspGetCcmHandlerMem(void)
-{
- return &sspMem.ccmHandlerMem;
-}
-
-
-//#endif // _SSP_USE_STATIC_MEM_
-
-#endif //_SSPMEM_H
-// eof sspMem.h
diff --git a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspSfpHandler.h b/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspSfpHandler.h
deleted file mode 100644
index 3cc50904..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspSfpHandler.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/**************************************************************************//**
- \file sspSfpHandler.h
-
- \brief SFP 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:
- 2006 - VGribanovsky created.
- 29/11/2007 - ALuzhetsky API corrected.
-******************************************************************************/
-
-#ifndef _SSPSFPHANDLER_H
-#define _SSPSFPHANDLER_H
-
-/******************************************************************************
- Includes section.
-******************************************************************************/
-#include <bcEndian.h>
-#include <sspManager.h>
-#include <sspSfp.h>
-#include <sspAesHandler.h>
-#include <sspCcmHandler.h>
-
-/******************************************************************************
- Types definition section.
-******************************************************************************/
-/**************************************************************************//**
- \brief TBD
-******************************************************************************/
-typedef enum
-{
- SFP_STATE_IDLE,
- SFP_STATE_ENCRYPTION_KEY_TRANSFORMING,
- SFP_STATE_ENCRYPTION_AUTHENTIC,
- SFP_STATE_ENCRYPTION_ENCRYPT,
- SFP_STATE_DECRYPTION_KEY_TRANSFORMING,
- SFP_STATE_DECRYPTION_AUTHENTIC,
- SFP_STATE_DECRYPTION_ENCRYPT,
- SFP_STATE_DECRYPTION_MIC_CHECK
-} SspSfpHandlerState_t;
-
-/**************************************************************************//**
- \brief TBD
-******************************************************************************/
-typedef struct
-{
- SspSfpHandlerState_t sfpState;
- uint8_t nonce[CCM_NONCE_SIZE];
- uint8_t transformedKey[SECURITY_KEY_SIZE];
- uint8_t mic[CCM_MIC_MAX_SIZE];
- uint8_t auxiliaryHeaderLength;
- union
- {
- CcmReq_t ccmReq;
-#ifdef _LINK_SECURITY_
- SspKeyedHashMacReq_t hashMacReq;
-#endif // _LINK_SECURITY_
- };
- BEGIN_PACK
- struct PACK
- {
- volatile uint8_t keyExpander[16];
- uint8_t text;
- volatile uint8_t bitsExpander[16];
- }; // For hash function
- END_PACK
-} SspSfpHandlerMem_t;
-
-/**************************************************************************//**
- \brief Security Control field format.
-******************************************************************************/
-BEGIN_PACK
-typedef struct PACK
-{
- LITTLE_ENDIAN_OCTET(4,(
- uint8_t securityLevel : 3,
- uint8_t keyIdentifier : 2,
- uint8_t extendedNonce : 1,
- uint8_t reserved : 2
- ))
-} SecurityCtrlField_t;
-END_PACK
-
-/******************************************************************************
- Prototypes section.
-******************************************************************************/
-/******************************************************************************
- Encrypts frame. Encoding is based on incoming param which are extracted from
- SSP_EncryptFrameReq param.
- Parameters:
- none.
- Return:
- none.
-******************************************************************************/
-void sspEncryptFrameReqHandler(void);
-
-/******************************************************************************
- Decrypts frame. Decrypting is based on incoming param which are extracted from
- SSP_DecryptFrameReq param.
- Parameters:
- none.
- Return:
- none.
-******************************************************************************/
-void sspDecryptFrameReqHandler(void);
-
-/******************************************************************************
- Parses auxiliary frame header.
- Parameters:
- param - contains pointer to the frame and parameters to be initialized.
- Return:
- Auxiliary header length.
-******************************************************************************/
-uint8_t sspParseAuxiliaryHeaderHandler(SSP_ParseAuxiliaryHeader_t *param);
-
-/******************************************************************************
- Security Frame Processor Handler's task.
- Parameters:
- none
- Return:
- none.
-******************************************************************************/
-void sspSfpTaskHandler(void);
-
-#endif //_SSPSFPHANDLER_H
-
-// eof sspSfpHandler.h
diff --git a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspSkkeHandler.h b/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspSkkeHandler.h
deleted file mode 100644
index c9d881e0..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/private/sspSkkeHandler.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/**************************************************************************//**
- \file sspSkkeHandler.h
-
- \brief SKKE routine handler 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 _SSPSKKEHANDLER_H
-#define _SSPSKKEHANDLER_H
-
-#ifdef _LINK_SECURITY_
-
-/******************************************************************************
- Includes section.
-******************************************************************************/
-#include <types.h>
-#include <sspManager.h>
-#include <sspAesHandler.h>
-
-/******************************************************************************
- Types section.
-******************************************************************************/
-typedef enum
-{
- SKKE_STATE_IDLE,
- SKKE_STATE_CALCULATE_MACTAG1,
- SKKE_STATE_CALCULATE_MACTAG2,
- SKKE_STATE_CALCULATE_FINAL_MACTAG1,
- SKKE_STATE_CALCULATE_HASH1,
- SKKE_STATE_CALCULATE_HASH2,
-} SspSkkeState_t;
-/******************************************************************************
- TBD
-******************************************************************************/
-typedef struct
-{
- SspSkkeState_t skkeState;
- uint8_t macKey[SECURITY_KEY_SIZE];
- BEGIN_PACK
- struct PACK
- {
- volatile uint8_t keyExpander[SECURITY_KEY_SIZE];
- uint8_t macData[MAX_HASH_TEXT_SIZE];
- volatile uint8_t bitsExpander[16];
- };
- END_PACK
- union
- {
- SspKeyedHashMacReq_t keyedHashMacParam;
- SspBcbHashReq_t bcbHashReqParam;
- };
-} SspSkkeHandlerMem_t;
-
-/******************************************************************************
- Prototypes section.
-******************************************************************************/
-/*******************************************************************************
- Calculates parameters of Security-Key Key Esteblishment procedure.
- Parameters:
- none.
- Return:
- none.
-********************************************************************************/
-void sspCalculateSkkeParamsReqHandler(void);
-
-/***************************************************************************\\**
- \brief Copies with mirroring "length" bytes from "src" to "dst".
-
- \param
- dst - destination memory.
- src - source memory.
- length - number of bytes to copy.
- \return
- none.
-********************************************************************************/
-INLINE void mirrorMemcpy(uint8_t *dst, uint8_t *src, uint8_t length)
-{
- while(length)
- *(dst++) = *(src + --length);
-}
-
-#endif // _LINK_SECURITY_
-
-#endif //_SSPSKKEHANDLER_H
-
-// eof sspSkkeHandler.h
-
diff --git a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspAuthentic.h b/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspAuthentic.h
deleted file mode 100644
index b1134c4a..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspAuthentic.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/**************************************************************************//**
- \file sspAuthentic.h
-
- \brief Mutual Symmetric-Key Entity Authentication 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 _SSPAUTHENTIC_H
-#define _SSPAUTHENTIC_H
-
-#ifdef _LINK_SECURITY_
-/******************************************************************************
- Includes section.
-******************************************************************************/
-#include <types.h>
-#include <sspCommon.h>
-#include <sspChallengeGen.h>
-
-/******************************************************************************
- Definitions section.
-******************************************************************************/
-#define HASH_SIZE 16
-
-/******************************************************************************
- Types' definition section.
-******************************************************************************/
-
-/**************************************************************************//**
- \brief Declaration of CalculateAuthenticParamsConf primitive parameters structure.
-******************************************************************************/
-typedef struct
-{
- //! Calculated MacTag1 or MacTag2.
- uint8_t macTag[HASH_SIZE];
-} SSP_CalculateAuthenticParamsConf_t;
-
-/**************************************************************************//**
- \brief Declaration of CalculateAuthenticParamsConf primitive parameters structure.
-******************************************************************************/
-typedef struct
-{
- //! Service field - for internal needs.
- SSP_Service_t service;
- //! Extended address of the device which initiated authnetication procedure.
- const uint64_t *initiatorIEEEAddr;
- //! Extended address of the device which should response.
- const uint64_t *responderIEEEAddr;
- //! Initiator or responder device frame counter.
- uint32_t frameCounter;
- //! Preset key which should be known by both devices (initiator and responder).
- const uint8_t *networkKey/*[SECURITY_KEY_SIZE]*/;
- //! Initiator challenge sequence (just 128-bit random number).
- uint8_t *qeu;
- //! Responder challenge sequence (just 128-bit random number).
- uint8_t *qev;
- //! Security Service Provider CalculateAuthenticParams confirm callback function's pointer.
- void (*SSP_CalculateAuthenticParamsConf)(SSP_CalculateAuthenticParamsConf_t *conf);
- //! Security Service Provider CalculateAuthenticParams confirm parameters' structure.
- SSP_CalculateAuthenticParamsConf_t confirm;
-} SSP_CalculateAuthenticParamsReq_t;
-
-/******************************************************************************
- Prototypes section.
-******************************************************************************/
-/*******************************************************************************
- Performs calculation of the parameters for Mutual Symmetric-Key Entity
- Authentication procedure (MatTag1).
- Parameters:
- param - procedure parameters (for detailed description look at
- SSP_CalculateAuthenticParamsReq_t declaration).
- Return:
- none.
-********************************************************************************/
-void SSP_CalculateAuthenticMacTag1Req(SSP_CalculateAuthenticParamsReq_t *param);
-
-/*******************************************************************************
- Performs calculation of the parameters for Mutual Symmetric-Key Entity
- Authentication procedure (MatTag2).
- Parameters:
- param - procedure parameters (for detailed description look at
- SSP_CalculateAuthenticParamsReq_t declaration).
- Return:
- none.
-********************************************************************************/
-void SSP_CalculateAuthenticMacTag2Req(SSP_CalculateAuthenticParamsReq_t *param);
-
-#endif // _LINK_SECURITY_
-
-#endif //_SSPAUTHENTIC_H
-
-// eof sspAuthentic.h
-
diff --git a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspChallengeGen.h b/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspChallengeGen.h
deleted file mode 100644
index ac9677ab..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspChallengeGen.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/**************************************************************************//**
- \file sspChallengeGen.h
-
- \brief Challenge genrator 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:
- 07/12/07 ALuzhetsky - Created.
-******************************************************************************/
-#ifndef _SSPCHALLENGEGEN_H
-#define _SSPCHALLENGEGEN_H
-
-/******************************************************************************
- Includes section.
-******************************************************************************/
-#include <types.h>
-#include <sspCommon.h>
-
-/******************************************************************************
- Definitions section.
-******************************************************************************/
-#define CHALLENGE_SEQUENCE_SIZE 16
-
-/******************************************************************************
- Types' definition section.
-******************************************************************************/
-
-/******************************************************************************
- Prototypes section.
-******************************************************************************/
-/*******************************************************************************
- Generates challenge.
- Parameters:
- challenge - space to store generated challenge.
- Return:
- none.
-********************************************************************************/
-void SSP_GenerateChallenge(uint8_t challenge[/*CHALLENGE_SEQUENCE_SIZE*/]);
-
-#endif //_SSPCHALLENGEGEN_H
-
-// eof sspChellenge.h
-
diff --git a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspCommon.h b/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspCommon.h
deleted file mode 100644
index 5fd2bea3..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspCommon.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/**************************************************************************//**
- \file sspCommon.h
-
- \brief Declarations of common Security Service Provider's fields and types.
-
- \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:
- 06/12/07 ALuzhetsky - Created.
-******************************************************************************/
-
-#ifndef _SSPCOMMON_H
-#define _SSPCOMMON_H
-
-/******************************************************************************
- Includes section.
-******************************************************************************/
-#include <types.h>
-
-/******************************************************************************
- Definitions section.
-******************************************************************************/
-#define SECURITY_KEY_SIZE 16U
-#define SECURITY_BLOCK_SIZE 16U
-#define SSP_SECURITY_CONTROL_FIELD_LENGTH 1U
-#define SSP_FRAME_COUNTER_FIELD_LENGTH 4U
-#define SSP_KEY_SEQ_NUMBER_FIELD_LENGTH 1U
-
-/******************************************************************************
- Types section.
-******************************************************************************/
-/**************************************************************************//**
- \brief Possible status values of different SSP primitives.
-******************************************************************************/
-typedef enum
-{
- SSP_SUCCESS_STATUS,
- SSP_NOT_PERMITED_STATUS,
- SSP_MAX_FRM_COUNTER_STATUS,
- SSP_BAD_CCM_OUTPUT_STATUS,
-} SSP_Status_t;
-
-/**************************************************************************//**
- \brief Internal service fields which give an opportunity to compose requests' queue.
-******************************************************************************/
-typedef struct
-{
- void *next;
- uint8_t requestId;
-} SSP_Service_t;
-
-
-/******************************************************************************
- Prototypes section
- ******************************************************************************/
-/*******************************************************************************
- Checks a security key.
- Parameters:
- key - valid pointer to a security key.
- Return:
- true - if key is not zero otherwise return false.
-********************************************************************************/
-bool SSP_IsKeyValid(const uint8_t *key);
-
-
-#endif //_SSPCOMMON_H
-
-// eof sspCommon.h
diff --git a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspDbg.h b/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspDbg.h
deleted file mode 100644
index 86415548..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspDbg.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/********************************************************************************//**
- \file sspDbg.h
-
- \brief
-
- \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
-**********************************************************************************/
-#ifndef _SSPDBGH
-#define _SSPDBGH
-
-#include <dbg.h>
-
-typedef enum
-{
- SSPSFPHANDLERC_SSPENCRYPTFRAMEREQHANDLER_00 = 0x7800,
- SSPMANAGER_TASKHANDLER_00 = 0x7801,
- SSPMANAGER_TASKHANDLER_01 = 0x7802,
- SSPCCM_SSPAESCONF_00 = 0x7803,
- SSPSFPHANDLERC_CCMCONFIRM_00 = 0x7804,
- SSPHASHHANDLERC_BCBHASHCONF_00 = 0x7805,
- SSPSFPHANDLERC_SSPKEYEDHASHMACCONFIRM_00 = 0x7806,
- SSPSKKEHANDLERC_HASHCONFIRM_00 = 0x7807,
- SSPMANAGER_SENDREQTOHANDLER_00 = 0x7808,
- SSPHASHHANDLERC_SSPBCBHASH_0 = 0x7809,
- SSPCCM_SSPAESCONFWHILEMICCHECK_00 = 0x780a,
- SSPCCM_SSPAESCONFWHILEMICCHECK_01 = 0x780b,
- SSPCCM_SSPAESCONFWHILEMICCHECK_02 = 0x780c,
- SSPCCMHANDLER_DETECTNEXTSTATE_0 = 0x780d,
- SSPCCMHANDLER_SSPAESCONF_00 = 0x780e,
-} SspDbgCodeId_t;
-#endif // _SSPDBGH
diff --git a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspHash.h b/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspHash.h
deleted file mode 100644
index ade0fe31..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspHash.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/**************************************************************************//**
- \file sspHash.h
-
- \brief Security Hash Processor 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:
- 01/05/2008 A.Potashov - Created
-******************************************************************************/
-
-#ifndef _SSPHASH_H
-#define _SSPHASH_H
-
-#include <types.h>
-#include <private/sspHashHandler.h>
-
-typedef struct
-{
- //! Service field - for internal needs.
- SSP_Service_t service;
- // Service field - for internal needs.
- SSP_Service_t sspService;
- // There is should be an additional memory before and after text (16 bytes in both cases).
- uint8_t *text/*[SECURITY_KEY_SIZE + textSize + 16]*/;
- // Pointer to key fir Keyed Hash Function.
- uint8_t (*key)/*[SECURITY_KEY_SIZE]*/;
- // Size of the text.
- uint8_t textSize;
- // Buffer for generated hash. Shoul be initialized by the user.
- uint8_t (*hash_i)/*[SECURITY_KEY_SIZE]*/;
- // Confirm handler pointer for internal use
- void (*sspKeyedHashMacConf)(void);
-
- // Confirm handler pointer
- void (*SSP_KeyedHashMacConf)(void);
-} SSP_KeyedHashMacReq_t;
-
-
-void SSP_KeyedHashMacReq(SSP_KeyedHashMacReq_t *req);
-void sspKeyedHashReqHandler(void);
-#ifndef _USE_CERTICOM_HASH_
-/**************************************************************************\\**
- \brief This function computes the AES MMO digest of the data parameter of
- length <tt>sz</tt>, and stores the result in.
-
- \param[out] digest This is an unsigned char buffer to hold the message digest.
- The length of the digest must be AES_MMO_HASH_SIZE bytes.
- \param[in] sz The size in bytes of the message to be hashed.
- \param[in] data This is an unsigned char buffer of data to be hashed.
-
- \return MCE_ERR_NULL_OUTPUT_BUF digest is NULL
- MCE_ERR_NULL_INPUT_BUF data is NULL
- MCE_SUCCESS indicates successful completion.
-
-******************************************************************************/
-int SSP_BcbHash(unsigned char *digest, unsigned long sz, unsigned char *data);
-//int aesMmoHash(unsigned char *digest, unsigned long sz, unsigned char *data);
-#endif // _USE_CERTICOM_HASH_
-
-#endif //#ifndef _SSPHASH_H
-
-//eof sspHash.h
diff --git a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspReset.h b/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspReset.h
deleted file mode 100644
index 165dcb71..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspReset.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/**************************************************************************//**
- \file sspReset.h
-
- \brief Security Frame Processor 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:
- 07/12/2007 - ALuzhetsky created.
-******************************************************************************/
-
-#ifndef _SSPRESET_H
-#define _SSPRESET_H
-
-/******************************************************************************
- Includes section.
-******************************************************************************/
-
-
-/******************************************************************************
- Functions' prototypes section.
-******************************************************************************/
-void SSP_Init(void);
-
-
-#endif //_SSPRESET_H
-
-// eof sspReset.h
diff --git a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspSfp.h b/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspSfp.h
deleted file mode 100644
index ac53c27d..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspSfp.h
+++ /dev/null
@@ -1,203 +0,0 @@
-/**************************************************************************//**
- \file sspSfp.h
-
- \brief Security Frame Processor 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:
- 2006 - VGribanovsky created.
- 29/11/2007 - ALuzhetsky.
-******************************************************************************/
-
-#ifndef _SSPSFP_H
-#define _SSPSFP_H
-
-/******************************************************************************
- Includes section.
-******************************************************************************/
-#include <types.h>
-#include <macAddr.h>
-#include <sspCommon.h>
-
-
-/******************************************************************************
- Definitions section.
-******************************************************************************/
-#define SSP_MAX_AUXILIARY_HEADER_LENGTH 14
-
-/**************************************************************************//**
- \brief Possible key types.
-******************************************************************************/
-enum
-{
- SSP_DATA_KEY_ID = 0x00,
- SSP_NETWORK_KEY_ID = 0x01,
- SSP_KEY_TRANSPORT_KEY_ID = 0x02,
- SSP_KEY_LOAD_KEY_ID = 0x03
-};
-
-/**************************************************************************//**
- \brief Possible levels of security.
-******************************************************************************/
-enum
-{
- SSP_NONE_SECURITY_LEVEL = 0x00,
- SSP_MIC_32_SECURITY_LEVEL = 0x01,
- SSP_MIC_64_SECURITY_LEVEL = 0x02,
- SSP_MIC_128_SECURITY_LEVEL = 0x03,
- SSP_ENC_SECURITY_LEVEL = 0x04,
- SSP_ENC_MIC_32_SECURITY_LEVEL = 0x05,
- SSP_ENC_MIC_64_SECURITY_LEVEL = 0x06,
- SSP_ENC_MIC_128_SECURITY_LEVEL = 0x07
-};
-
-/******************************************************************************
- Types' definition section.
-******************************************************************************/
-/**************************************************************************//**
- \brief Confirm parameters of SSP_EncryptFrame.
-******************************************************************************/
-typedef struct
-{
- //! Status of frame encoding.
- SSP_Status_t status;
-} SSP_EncryptFrameConf_t;
-
-typedef struct
-{
- //! Status of frame encoding.
- SSP_Status_t status;
-
- //! Type of the used key.
- uint8_t keyIdentifier;
-} SSP_DecryptFrameConf_t;
-
-/**************************************************************************//**
- \brief Declaration of Encrypt Frame primitive's parameters structure.
-******************************************************************************/
-typedef struct
-{
- //! Service field - for internal needs.
- SSP_Service_t service;
- //! The sequence number of active network key in nwkSecurityMaterialSet.
- uint8_t nwkActiveKeySeqNumber;
- //! The actual value of the key.
- const uint8_t *key/*[SECURITY_KEY_SIZE]*/;
- //! Identifies the type of the key which is used to protect the frame.
- uint8_t keyIdentifier;
- //! Outgoing frame counter used only for outgoing frames.
- uint32_t outFrameCounter;
- //! The security level for outgoing and incoming NWK and APS frames.
- uint8_t securityLevel;
- //! Detects whether the extended address is present in the nonce or not.
- bool extendedNoncePresent;
- //! Extended (64-bit) device address responsible for securing of the frame. Should always be presented.
- const ExtAddr_t *extAddr;
- //! Layer protocol data unit pointer. There is should be allocated memory for auxiliary header before pdu.
- uint8_t *pdu/*[headerLength + payloadLength]*/;
- //! Length of the header.
- uint8_t headerLength;
- //! Payload length.
- uint8_t payloadLength;
- //! Security Service Provider SSP_EncryptFrame confirm parameters' structure.
- SSP_EncryptFrameConf_t confirm;
- //! Encrypt frame confirm callback function.
- void (*SSP_EncryptFrameConf)(SSP_EncryptFrameConf_t *conf);
-} SSP_EncryptFrameReq_t;
-
-/**************************************************************************//**
- \brief Declaration of Encrypt Frame primitive's parameters structure.
-******************************************************************************/
-typedef struct
-{
- //! Service field - for internal needs.
- SSP_Service_t service;
- //! The actual value of the key.
- const uint8_t *key/*[SECURITY_KEY_SIZE]*/;
- //! The security level for outgoing and incoming NWK and APS frames.
- uint8_t securityLevel;
- //! Extended (64-bit) source device address.
- const ExtAddr_t *extAddr;
- //! Layer protocol data unit pointer.
- uint8_t *pdu;
- //! Length of the header.
- uint8_t headerLength;
- //! Payload length.
- uint8_t payloadLength;
- //! Enables a separate MIC check without payload decryption
- // Payload actually will be decrypted, but decryption results
- // will not overwrite original payload and they will be lost.
- bool onlyMicCheck;
- //! Encrypt frame confirm callback function.
- void (*SSP_DecryptFrameConf)(SSP_DecryptFrameConf_t *conf);
- //! Security Service Provider SSP_DecryptFrame confirm parameters' structure.
- SSP_DecryptFrameConf_t confirm;
-} SSP_DecryptFrameReq_t;
-
-/**************************************************************************//**
- \brief Declaration of Parse Auxiliary Header primitive's parameters structure.
-******************************************************************************/
-typedef struct
-{
- //! Layer protocol data unit pointer - should be initialized by user.
- uint8_t *pdu;
- //! Length of the header.
- uint8_t headerLength;
- //! The sequence number of active network key in nwkSecurityMaterialSet.
- //! This parameter will be initialized during ParseAuxiliaryHeader function executing.
- uint8_t nwkActiveKeySeqNumber;
- //! Received frame counter.
- //! This parameter will be initialized during ParseAuxiliaryHeader function executing.
- u32Packed_t *receivedFrameCounter;
- //! Extended (64-bit) source device address.
- //! This parameter will be initialized during ParseAuxiliaryHeader function executing.
- u64Packed_t *sourceExtAddr;
- //! Identifies the type of the key which is used to protect the frame.
- uint8_t keyIdentifier;
- //! Extended nonce presented flag
- bool extendedNoncePresented;
-} SSP_ParseAuxiliaryHeader_t;
-
-
-/******************************************************************************
- Functions' prototypes section.
-******************************************************************************/
-/**************************************************************************//**
- Performs frame encrypting based on incoming parameters.
- Parameters:
- param - encrypt frame procedure parameters (for detailed description look at
- SSP_EncryptFrameReq_t declaration).
- Return:
- none.
-******************************************************************************/
-void SSP_EncryptFrameReq(SSP_EncryptFrameReq_t *param);
-
-/**************************************************************************//**
- Performs frame decrypting based on incoming parameters.
- Parameters:
- param - decrypt frame procedure parameters (for detailed description look at
- SSP_DecryptFrameReq_t declaration).
- Return:
- none.
-******************************************************************************/
-void SSP_DecryptFrameReq(SSP_DecryptFrameReq_t *param);
-
-/**************************************************************************//**
- Extracts parameters from secured frame auxiliary header.
- Parameters:
- param - parse frame procedure parameters (for detailed description look at
- SSP_ParseAuxiliaryHeader_t declaration).
- Return:
- Auxiliary header length.
-******************************************************************************/
-uint8_t SSP_ParseAuxiliaryHeader(SSP_ParseAuxiliaryHeader_t *param);
-
-#endif //_SSPSFP_H
-// eof sspSfp.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
deleted file mode 100644
index 788e50e7..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspSkke.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/**************************************************************************//**
- \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 <types.h>
-#include <sspCommon.h>
-#include <sspAuthentic.h>
-#include <sspChallengeGen.h>
-
-/******************************************************************************
- 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
-