Update the coreSNTP demo to showcase use of symmetric key algorithm of authentication scheme for securing SNTP communication between client and server.
The demo uses the AES-128-CMAC algorithm for the generating Message Authentication Code for the client on sending the SNTP time request to server as well as validating the server response received by verifying if the payload present authentication code can be generated. Use of an authentication mechanism in SNTP communication protects against server spoofing attacks as well as man-in-the-middle attacks of server response modification.
The demo uses corePKCS11 library for the AES-CMAC operations. Also, the demo adds functionality of generating random number, using corePKCS11, for sending as a parameter to the Sntp_SendTimeRequest API.
Note: For symmetric key based security mechanism to be protective against malicious, it is IMPORTANT to securely pre-share the symmetric key between client and server.
Add the FreeRTOS/coreSNTP library as a submodule (along with manifest.yaml file update) and add a demo project to showcase use of the coreSNTP library for having a SNTP client daemon in the system for periodically synchronizing system time with the internet to maintain Coordinated Univeral Time (UTC) in a device. This demo maintains UTC time of system in RAM, thereby, representing systems without a Real-Time Clock (RTC) module in the device.
Note: This demo shows use of coreSNTP library for SNTP communication with NTP/SNTP time servers in non-authenticated mode (i.e. without any security mechanism payload beyond the standard 48 bytes of NTP packet exchange between client-server).
* Added spell check
* All words
* Add a missing word
* Fix header checks
* Fix header checks v1
* Fix header check v2
* Updated freertos link in header
* Fixed afr link in the header
* Fix last of header checks
* Update the spell check script to check amazon licensed files only
* Fixed paths and added comments
* Try with modified repo
* Add inplace substitute option to sed
* Use official repo as the spell checker source
* Add vendor file to the ignored list
Co-authored-by: root <root@ip-172-31-5-28.us-west-2.compute.internal>
This change adds the OTA demos and required dependencies and helper components .
* Add demos , configs and project files
* Add subscription manager
* Add HTTP utils
* Submodules the OTA LTS 3.0 Library.
* Add OTA pal
* Minor update to the UART write function in the IAR/QEMU/MPS2 demo project. Now the function checks to ensure there is space in the Tx buffer before writing to the buffer - although this does not appear to be necessary in QEMU it is more correct.
* Update main.c
Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
* Disregard coverage data without a function_name field set
* Fix calling make on subdirectories
* Undefine FORTIFY_SOURCE when running without ENABLE_SANITIZERS
* Add queue and semaphore unit tests
* Update FreeRTOS-Kernel submodule revision
* Add test for backlogged auto-reset timer
Must call vTimerDemoIncludeBacklogTests() to activate.
* Fix little style issues
- Update to new header
- Add parentheses (style)
- Remove trailing space accidentally introduced
* Don't verify full clearing of backlog
The timer task should be free to process the stop request without a
specific requirement to work through the backlog of callbacks for the
stopped timer. The timer task should be allowed to cancel the entire
backlog, part of it, or none of it. In other words, once the
application sends the stop request, it should not depend on receiving
any more callbacks, even backlogged ones.
The only requirement here is that the timer stop as requested.
Co-authored-by: Joseph Julicher <jjulicher@mac.com>
Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>