summaryrefslogtreecommitdiff
path: root/digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspSfp.h
diff options
context:
space:
mode:
Diffstat (limited to 'digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspSfp.h')
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/Security/ServiceProvider/include/sspSfp.h203
1 files changed, 0 insertions, 203 deletions
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