Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
M

meddie

@meddie
About
Posts
106
Topics
9
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • [security] Introducing signing support to MySensors
    M meddie

    i used the stable lib and comiled the sketch both features are now working encryption and signing! Thank you very much!!!!! I will try to update the example lib and try again.

    I got just the next problem the space from sensebender micro is not enought to use all three features signing, encryption and ota. When i use AES and Signing i get over 109%, when i use the example sketch temp and humidty meassure.

    Greets Eddie

    Development security

  • W25X40CLSNIG as flash for OTA
    M meddie

    thank you very much, then i can order them. i was not sure.
    Greets Eddie

    Hardware

  • My Slim 2AA Battery Node
    M meddie

    @ahmedadelhosni said:

    @meddie THanks for the answer.

    Can you please also explain your final result to reach 4uA. I have also the same problem and current is 90uA and sometimes drops to 20uA, then rises again. Thanks.

    Edit: I figured out that I was using the 3.3v from arduino UNO. CHanged to two 1.5 batteries. THe current drops to 1.4uA when contact is open but sometimes it is also 15 uA. And when contact is closed it is 60 uA, and sometimes drops. Don't know why it is not stable.

    Edit 26.1.2016: I managed to reach 1.4uA with door opened, and 15uA when closed. I guess the problem was with the wiring. DOn't really know but I used a battery holder instead. I will try to rechange the resistor value to 1Mohm and reupdate.

    Edit 27.1.2016: ok I created another node and connected the contact sensor in series with the 1Mohm and the output is the voltage divider. now it is 1.4uA when open and 4.6uA when closed.

    Thanks

    Yes, i used a 1 Mohm reisitor instead of the internall pull up. You can read this few messages above. This was a tip from GertSander

    My Project

  • Signing or encrypting the data
    M meddie

    @ahmedadelhosni
    fine, thank you in advanced

    General Discussion

  • Sensebender Gateway with NRF24 PA and Hardsigning and Encryption
    M meddie

    AAAAAH! I am so stupid! I read all the Time SAM and didnt seen the D at the end. Sorry sorry sorry.
    Yes it works now!!!
    Thank you very much!

    Hardware

  • My Slim 2AA Battery Node
    M meddie

    :thumbsup:

    My Project

  • Encryption, Signing and OTA is there any how-to?
    M meddie

    ok, i did read this three times but i dont understand.

    General Discussion

  • My Slim 2AA Battery Node
    M meddie

    it would be nice when a atsha204 a an a flash rom where placed to pcb for signing and ota

    My Project

  • Encryption, Signing and OTA is there any how-to?
    M meddie

    if i understood it correctly, i have to use the securitypersonalization.ino on the gw. For the first time i upload this code

    /**
     * @def LOCK_CONFIGURATION
     * @brief Uncomment this to enable locking the configuration zone.
     *
     * It is still possible to change the key, and this also enable random key generation.
     * @warning BE AWARE THAT THIS PREVENTS ANY FUTURE CONFIGURATION CHANGE TO THE CHIP
     */
    #define LOCK_CONFIGURATION
    
    /**
     * @def LOCK_DATA
     * @brief Uncomment this to enable locking the data zone.
     *
     * It is not required to lock data, key cannot be retrieved anyway, but by locking
     * data, it can be guaranteed that nobody even with physical access to the chip,
     * will be able to change the key.
     * @warning BE AWARE THAT THIS PREVENTS THE KEY TO BE CHANGED
     */
    //#define LOCK_DATA
    
    /**
     * @def SKIP_KEY_STORAGE
     * @brief Uncomment this to skip key storage (typically once key has been written once)
     */
    #define SKIP_KEY_STORAGE
    
    /**
     * @def USER_KEY
     * @brief Uncomment this to skip key generation and use @ref user_key_data as key instead.
     */
    //#define USER_KEY
    
    /**
     * @def SKIP_UART_CONFIRMATION
     * @brief Uncomment this for boards that lack UART
     *
     * @b Important<br> No confirmation will be required for locking any zones with this configuration!
     * Also, key generation is not permitted in this mode as there is no way of presenting the generated key.
     */
    //#define SKIP_UART_CONFIRMATION
    
    /**
     * @def USE_SOFT_SIGNING
     * @brief Uncomment this to store data to EEPROM instead of ATSHA204A
     */
    //#define USE_SOFT_SIGNING
    
    /**
     * @def STORE_SOFT_KEY
     * @brief Uncomment this to store soft HMAC key to EEPROM
     */
    //#define STORE_SOFT_KEY
    
    /**
     * @def USER_SOFT_KEY
     * @brief Uncomment this to skip soft HMAC key generation and use @ref user_soft_key_data as HMAC key instead.
     */
    //#define USER_SOFT_KEY
    
    /**
     * @def STORE_SOFT_SERIAL
     * @brief Uncomment this to store soft serial to EEPROM
     */
    //#define STORE_SOFT_SERIAL
    
    /**
     * @def USER_SOFT_SERIAL
     * @brief Uncomment this to skip soft serial generation and use @ref user_soft_serial as serial instead.
     */
    //#define USER_SOFT_SERIAL
    
    /**
     * @def STORE_AES_KEY
     * @brief Uncomment this to store AES key to EEPROM
     */
    //#define STORE_AES_KEY
    
    /**
     * @def USER_AES_KEY
     * @brief Uncomment this to skip AES key generation and use @ref user_aes_key as key instead.
     */
    //#define USER_AES_KEY
    
    

    When its uploaded on first run i will get the AES and HMAC Key, which i have to notice and safe securely.

    Then i have to upload the sketch again with this code:

    /**
     * @def LOCK_CONFIGURATION
     * @brief Uncomment this to enable locking the configuration zone.
     *
     * It is still possible to change the key, and this also enable random key generation.
     * @warning BE AWARE THAT THIS PREVENTS ANY FUTURE CONFIGURATION CHANGE TO THE CHIP
     */
    #define LOCK_CONFIGURATION
    
    /**
     * @def LOCK_DATA
     * @brief Uncomment this to enable locking the data zone.
     *
     * It is not required to lock data, key cannot be retrieved anyway, but by locking
     * data, it can be guaranteed that nobody even with physical access to the chip,
     * will be able to change the key.
     * @warning BE AWARE THAT THIS PREVENTS THE KEY TO BE CHANGED
     */
    //#define LOCK_DATA
    
    /**
     * @def SKIP_KEY_STORAGE
     * @brief Uncomment this to skip key storage (typically once key has been written once)
     */
    //#define SKIP_KEY_STORAGE
    
    /**
     * @def USER_KEY
     * @brief Uncomment this to skip key generation and use @ref user_key_data as key instead.
     */
    #define USER_KEY
    
    /**
     * @def SKIP_UART_CONFIRMATION
     * @brief Uncomment this for boards that lack UART
     *
     * @b Important<br> No confirmation will be required for locking any zones with this configuration!
     * Also, key generation is not permitted in this mode as there is no way of presenting the generated key.
     */
    #define SKIP_UART_CONFIRMATION
    
    /**
     * @def USE_SOFT_SIGNING
     * @brief Uncomment this to store data to EEPROM instead of ATSHA204A
     */
    //#define USE_SOFT_SIGNING
    
    /**
     * @def STORE_SOFT_KEY
     * @brief Uncomment this to store soft HMAC key to EEPROM
     */
    //#define STORE_SOFT_KEY
    
    /**
     * @def USER_SOFT_KEY
     * @brief Uncomment this to skip soft HMAC key generation and use @ref user_soft_key_data as HMAC key instead.
     */
    //#define USER_SOFT_KEY
    
    /**
     * @def STORE_SOFT_SERIAL
     * @brief Uncomment this to store soft serial to EEPROM
     */
    //#define STORE_SOFT_SERIAL
    
    /**
     * @def USER_SOFT_SERIAL
     * @brief Uncomment this to skip soft serial generation and use @ref user_soft_serial as serial instead.
     */
    //#define USER_SOFT_SERIAL
    
    /**
     * @def STORE_AES_KEY
     * @brief Uncomment this to store AES key to EEPROM
     */
    #define STORE_AES_KEY
    
    /**
     * @def USER_AES_KEY
     * @brief Uncomment this to skip AES key generation and use @ref user_aes_key as key instead.
     */
    //#define USER_AES_KEY
    
    #if defined(SKIP_UART_CONFIRMATION) && !defined(USER_KEY)
    #error You have to define USER_KEY for boards that does not have UART
    #endif
    
    #ifdef USER_KEY
    /** @brief The user-defined HMAC key to use for personalization */
    #define MY_HMAC_KEY 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
    /** @brief The data to store in key slot 0 */
    const uint8_t user_key_data[32] = {MY_HMAC_KEY};
    #endif
    
    #ifdef USER_SOFT_KEY
    /** @brief The user-defined soft HMAC key to use for EEPROM personalization */
    #define MY_SOFT_HMAC_KEY 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
    /** @brief The data to store as soft HMAC key in EEPROM */
    const uint8_t user_soft_key_data[32] = {MY_SOFT_HMAC_KEY};
    #endif
    
    #ifdef USER_SOFT_SERIAL
    /** @brief The user-defined soft serial to use for EEPROM personalization */
    #define MY_SOFT_SERIAL 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
    /** @brief The data to store as soft serial in EEPROM */
    const uint8_t user_soft_serial[9] = {MY_SOFT_SERIAL};
    #endif
    
    #ifdef USER_AES_KEY
    /** @brief The user-defined AES key to use for EEPROM personalization */
    #define MY_AES_KEY 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
    /** @brief The data to store as AES key in EEPROM */
    const uint8_t user_aes_key[16] = {MY_AES_KEY};
    #endif
    
    

    in the second code i have to place the Keys which i got on first run.

    after this i can upload the normally gateway sketch

    is that correct?
    thank you very much

    General Discussion
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular