I want to verify the security of transferring AWS credentials between LabVIEW and AWS. It looks like the toolkit VIs use HTTP. It is my understanding that LabVIEW is used to send HTTP Queries directly to communicate with AWS, and these queries are encrypted before they are sent to AWS. Can anyone verify that the communications are secure? Thank you.
Solved! Go to Solution.
The NI Cloud Toolkit for AWS has a LabVIEW based implementation for generating signatures that AWS requires on the HTTP requests. Here's a high level flow of how your AWS secret access key (not your login credentials) is used to sign each request to AWS by following the Signature Version 4 process. More details on how the signatures are generated and used can be found in Amazon's documentation. Signature Version 4 Signing Process
How Signature Version 4 works
Create a canonical request.
Use the canonical request and additional metadata to create a string for signing.
Derive a signing key from your AWS secret access key. Then use the signing key, and the string from the previous step, to create a signature.
Add the resulting signature to the HTTP request in a header or as a query string parameter.
When an AWS service receives the request, it performs the same steps that you did to calculate the signature you sent in your request. AWS then compares its calculated signature to the one you sent with the request. If the signatures match, the request is processed. If the signatures don't match, the request is denied.