How do common embedded systems/IoT software applications use cryptography?
Hi. I'm. Nicola happy the IOT, ecosystem manager. At Texas Instruments. I'm. Giving a five-part. Training, series, entitled. Understanding secure. Connectivity in IOT and embedded, system devices. This. Is the fifth module, in the series, entitled. How, do common. IOT, software, applications, use cryptography. And, we're going to walk through a number of software. Functions, such as establishing. A secure, network. Connection, using TLS. Performing. A secure, remote update. Performing. Secure, provisioning. Of security, credentials to an IOT, device and then. Finally, look at Omni. Certificates. Are needed on an IOT, device. You. May find that it helps to take the earlier modules, to fully understand, some of the terminology and. Technology, discussed, in this particular module. To. Give you a better perspective of, all the cryptography. And security, concepts, you've learnt in the previous modules. We're. Going to walk through some examples. Of how, cryptography. And certificates. Are used in, real-world, software. The. First example, we'll walk, through how a TLS. Connection is established. Then. We will look at how an IOT. Endpoint, can be provisioned with a certificate, using a certificate. Signing request. Next. We'll look at over-the-air, updates, which is how you can securely, perform. A remote update. To, a IOT. Endpoint, then, finally, we'll look at all the certificates required, in an IOT, endpoint, to make sure you have a good grasp of, different. Ones needed. In the endpoint. Before. We get into the details, of exactly how, the, TLS, protocol. Uses. The, various, cryptographic, concepts. We've, discussed, in earlier modules I'd like to talk a bit more about TLS, itself for those of you who are not familiar with it, TLS. Is the standard, protocol, that's used to provide end-to-end communication, security, over. The Internet. If. You think of an HTTP. It's. Simply, an HTTP. Server that, also uses, a TLS, secured, connection. Now. If you're not familiar with, the acronym, of TLS, you may be familiar with saying called SSL, or secure Sockets. Layer an, SSL, was the predecessor. To TLS, and it was replaced by TLS. Back in 1999. However. Because, there is a popular, implementation, called. Open SSL, for TLS. A lot of people are still more familiar of the term SSL, what. We're going to do in this presentation, is walk through the, handshake. For TLS. 1.2. This. Is the most widely deployed, version, and one, used in today's IOT. Implementations. This, handshake will show how various, security mechanisms. Are used that we've discussed, earlier, in the presentations. Now. There is a more recent TLS. Standard. Called TLS 1.3.
That Came out in late, 2018. It. Does optimize, the handshake, so the handshake, is a little bit different but the same security, principles, apply the. Other thing that TLS. 1.3. Does is it removes support, for many older, ciphers. That have compromised, security and, if you reviewed. Some of the earlier, modules. In this class. You'll notice that we specifically. Talked. About ciphers. That would be used in TLS, 1.3. Going forward. How. A TLS. 1.3. Hasn't even been deployed, yet by major, IOT. Services, so we, believe discussing. TLS, 1.2 in, more detail, as the preferred option at, this time before. We go, into the details of, a TLS, handshake I, would like to make one additional, point if you search for explanations. Of TLS, handshakes, on the internet you'll typically find ones, that discuss, only, server side authentication, this. Is because when a browser connects, to a large public website, like Google or Facebook those. Web sites don't, care about who is connecting, therefore, there's no need to authenticate, them. In. An IOT, network the situation, is different you don't want any old devices well connect to your network you only want devices, our authorized, connect, you on network actually being connected. Therefore. Client-side, authentication. Is enforced. And our discussion, the TLS, handshake here. Will, include, client-side. Authentication. Let's. Start with a very high-level, view of a different stages, of that handshake. The. First stage is st. known as the client, and server hellos, there, are no cryptographic, techniques. Applied, at that stage. The. Purpose, of this stage, is for the client and the server to, agree on which ciphers. Will actually be using and also to exchange the. Certificates. For mutual authentication. The. Next phase is, authentication. Where, the, certificates, are taken and validated, by both parties. Obviously. This does involve quite, a bit of cryptography, including. Asymmetric. Encryption and, digital signatures, public. Key infrastructures, and certificates, the. Third phase is key exchange, where, a, symmetric. Key is, exchanged, between the two parties, to. Exchange, this. Key, asymmetric, encryption and, digital signatures, are required and, if you recall our discussion. In one. Of the earlier modules, about diffie-hellman. You'll. Probably recall that the actual key is not exchanged. The value is just in parallel, generated, by both parties. And. Finally, at the conclusion, of the handshake, both, parties, switch, to the gread, symmetric.
Encryption Cipher. And the key. They have just exchanged. To begin, normal. Encrypted. Data, exchange, via messages, the. First message. Sent which. Concludes, a handshake, is a hash of the whole handshake, so each party can check that no. Attackers. Successfully. Compromised. The communication. At any point now. Let's start walking through, each of these stages in, more detail. First step in the handshake is the client, and server hellos, it's. A client ie, the, IOT. Endpoint, that will initiate the connection to the IOT service, and it begins by sending, a TLS, client, hello, this. Contains, a list of the supported. Cipher, suite in order. Of preference, a list, of the supported, TLS, versions, and also a random, byte string. The. IOT, server. Will then respond, by. Selecting. The, cipher, suite and it will select the strongest possible from the list presented, to it in the client hello. Will. Then select the latest version, of TLS, that was available in, the client, hello. At. That point it will do a couple of different things it. Will send a session, ID down, to the client, will, send its own random, byte string and it will send its certificate, chain, along, with a request for the client, to send its certificate. Chain, the. Random, byte strings, we see exchanged, here will be used later to compute, the shares symmetric, encryption key. Before. We go on to talk about the next step in the TLS, handshake I'd, like to explain the, actual, cipher. Suite strings. And more details, it's often confusing. When you actually start looking at the TLS, API, calls, as to what's happening. I've. Given an example, here of a, typical. TLS. 1.2 cipher. Suite string and you'll see it basically has three components, on. The, left-hand side the, EC, DHE. Underscore. ECDSA. Refers. To the, key exchange, algorithm, it's going to be used to share the symmetric, session key between the client and the server and, then, it also refers, to the digital. Signature, algorithm. They'll be used to help authenticate, the, key exchange. The. Next, part of the string, with. Aes-256. Underscore. GCM, refers. To the symmetric. Cipher, they'll be used for encrypted, communication. Once the secure connection is, established so. Aes-256. Is, the symmetric, cipher, then, the, Mac or tag for the message, that's used to authenticate each, message, in the stream is specified, here by GCM. 'dallas. Counter, mode. Then. Finally we have the actual hash, function. Also referred as a pseudo-random. Function. And that can be used in a number of ways, it's. Used by EC. DHE. During. Key generation. And, it's also used by DSA. To, generate, digital, signatures. Finally. If you're using a, different type of Mac function, GCM. Does not need a hash but. There are other Mac. Functions, that do require a hash, if. You selected, one of those then, it would use sha, 384. Here, to help generate, the Mac's one thing you may have noticed that none, of the ciphers, are associated, with the certificate. Authentication, and. If you recall a certificate. Includes, the information, on which cypher. Should be used for its digital, signature, so. Therefore that's independent. Of this, cipher, suite list. The. Next stage in the TLS, handshake that. Follows. A client, and server hellos is. Authentication. Where. The client, to the server authenticate. Each other, we're. Just going to cover the, server being authenticated. By the client, since the server follows, the same process when authenticating. The client the. Authentication. Process starts. When the server sends, the client, which is the term we'll use here for the, IOT. Device its, certificate, chain the. Client will then validate the certificate chain you'll, need to have the trusted, root certificate. Installed, on it to complete the validation. As, we pointed out earlier this. Might be in a certificate store, for a more.
Memory. Rich client, or it may specifically, being loaded into memory for, clients. With limited, amounts, of on-chip, memory, once. It's checked the certificate, chain the next thing it does is look at the certificate, expiration. It. Compares the expiration, date versus. The current date and time which, it fetches via an NTP, service. Such. As one operated, by Google. If. The. Certificate is not expired, at, that point it can just simply complete, the, authentication. However. In some cases it, may do so in cord checking, for certificate. Revocation. The. Certificate, that the server sent may subsequently. Have been found, to have been compromised. To. Double-check this, the, client, needs, revocation. Status. You. Can either go out and request. This, over the Internet but, more commonly, there's a technique called OCSP. Stapling, where. The IOT, server, will, already provided. The revocation. Status. Stapled, to the initial, certificate, chain the, client can then check if the certificates, been revoked, it has not it, can assume, the certificate is valid and then. Proceed, with the rest of the communication. Following. These three steps the. Client, can now be sure that the server certificate. Is in fact valid for use. There. Is an additional, step and needs to be done, we'll. Cover this in the next section, but essentially, the, client, at this point doesn't, know if the server owns, the private key associated, with the public key in, the certificate so. In, the next step what will be done is for, the server to encrypt, some, data that. The client, knows about, with. Its private key, send. It to the client the client will then decrypt, it, and match. It with this version of the data and if these match it now knows the server does, in fact owned the private, key associated, with the certificate and can. Be trusted. As. I mentioned at the start of the slide when. A server authentication. Client. The steps are essentially, the same the one potential, difference is that an IOT, server, may. Well have a list of client. Certificates, that are valid, for its. IOT. Devices. And, it will likely check, against. That valid, certificate list, rather, than explicitly. Checking, for revocation, for example. Once. The certificates, have been authenticated. The. Next step is key exchange, and to, remind you what we're doing here, is we're going, to actually calculate. The shared. Symmetric. Key that both parties, will use for the main. Part, of the communication. Throughout the rest of the session, the. Key exchange, begins with. The send server, key, exchange, message. This. Sends over, the server diffie-hellman. Parameters. In, addition, if we go back to the previous slide I discussed. How the. Client, for example needed. To be sure that the server actually, owned, the private, key that, was. Associated, with the public key sent. In the server certificate. That's, done in the, sense. Of a key exchange, message, so the server, generates, the signature, from the previous, handshake, traffic, and obviously that signature, is simply encrypted. Pash the previous handshape traffic. When. The client receives that, it, can then take the public. Key in the service certificate it received, decrypt. The hash, and, then compare, it with a hash it generates itself the previous handshake, Massud a previous. Handshake. Message, traffic, if these, match up it, improves, the server owns a private key that, point.
The Client will then send, its key exchange, message, which of course will include, a, handshake. Of the previous. Traffic. As well in, the case of client-side, authentication. And it's stiffie, Hellman parameters. If. You're not familiar with diffie-hellman, please. Refer to the previous module. On certificates. And the. Module, before that on asymmetric. Encryption and, this will explain how diffie-hellman works, and a little bit more detail. So. At this point both sides have, the, diffie-hellman parameters. And if you recall in, the client. And server hellos, they both exchanged. Random, byte strings, at. This point both parties, can, independently. Calculate. A shared, secret, key using. The diffie-hellman, parameters. And, the, random. Byte string they receive from, the other party, there. Are several stages involved, in this and I'm not going to get into those stages, they involve pretty complex mathematics. But the result, of the, key calculation. Is the end of that process, both, sides have, independently. Come to the same shared, secret, key value, to begin communication. Using symmetric encryption, at. That point the client sends a client. Change cipher, message the. Change cipher, message will tell the server to change to the previously, agreed, symmetric. Encryption protocol. Such as. Aes-256. In. Addition, the client. Finished message, includes, a hash, of, the, previous, handshake, messages. The. Server can compare this to a hash of its record, as the previous handshake, messages, to make sure that no attack, occurred, at any stage, of the handshake. At. That point the server obviously, changes, to using, the symmetric, encryption protocol. Agreed for the rest of the session and. It sends back its change cipher, message and its. Server finished. Message so the client can again verify that. There were no successful. Attacks during exchange. Once. The TLS, handshake is. Complete. The. Session can then proceed with message. Exchange, between the client and server. This. Is a very straightforward process. The. Client, will simply, encrypt, a message with. The shared session, key and send, it to the server which then decrypt. It with the shared session, key and vice-versa. For messages, from the server, to the client a. Couple. Of points to make are, the. Session key is not stored permanently and, that's, one of the advantages, of the, ephemeral. Diffie-hellman. Implementation. There's, now. Standardized. For, TLS. Means. That a new session key will be created, the next time the client the server connect, and that means that subsequently. Getting, hold of the key for. A later session does, not enable, you to decrypt, earlier sessions, you may have recorded. And. Again if we go back to our. Discussion, a couple of modules ago about symmetric, encryption. Symmetric. Encryption includes. A message. Authentication code, or Mac which. Is used, in each message to make sure that an individual, message cannot, be altered, or tampered with, by, a third party, so. That concludes the, discussion about, the TLS, handshake we're. Now going to move on to talk about a, certificate. Signing request. The. Use case we're going to cover, for, a certificate. Signing request which, we're going to abbreviate to CSR, on the rest of this section is how, to use one to join an IOT, device network. Earlier. In this series we've, pointed out how i OT device, networks, are closed. They're, not open, servers. Like Google, or Facebook allows, any client, to connect the. Only one authorized. IOT. Endpoint, devices to connect to them and to enforce, this the IOT, endpoint, device must have some type of security credential. Which will Tivoli be a certificate. If the, IOT. Network, is using sewing standard, like TLS, authentication. If. The IOT, device has, its own public private key pair it's, possible, for, the IOT. Device to generate a CSR, and get. The stiphu cut delivered at runtime rather. Than hang to burn, it in directly. In the factory. The. Advantage, of getting certificate, at runtime is reduced, costs, because managing. Certificates. And the associated private, keys during, manufacturing. Means. You either need an expensive, secure. Manufacturing. Location, or you need to have a third-party create. A series, of secure, elements, that contain, pre-burn.
Certificates. That can then be used at a low. Cost manufacturer. Either. Of these approaches, adds cost, and therefore it's much more desirable, to add the, certificate, during. For example product installation. However. The, way CSRs. Work means, that you have to do a little bit more than just a simple CSR, to guarantee, only, authorized. Devices, can join the network and, to do this it's very useful, if the IOT, device, also. Has a unique, identity. That, can be used, with the key pair to help verify its, identity. To. Enable the device identity. To be confirmed, prior. To issuing the, CSR, it's. Necessary, to have a database. That matches. A device, ID, with. The public, key value, that the device will, have. In the certificate. Each. IOT. Endpoint. Device will need to have a unique, identity. This, may be an, immutable, identity. That's already present on the device either, in a secure. Element or, in, the MCU, itself, or it could simply be added as, a label on the box that device ships in, in. The case of the, unique. Identity, being on a label it, will be necessary for, there to be a phone app for, the user. To enter the, unique device identity. During, installation. So that device, can use, it. The. IOT, device vendor, or need. To create a database that, stores both. This identity. And the associated, public, key that is, stored on the endpoint, device. This. Database can, come from a couple of sources. Semiconductor. Vendors who provide secure. Wireless MC use or, secure. Elements, may provide a, whitelist. That contains the, public, keys and, associated, identities. This. May come with certain volume. Requirements. Such as a minimum, of two thousand, devices. Another. Approach is simply, to generate, the database during. Tests for, example when the IOT. Endpoint. Device is being tested, it can be booted up and some code can be used to extract. The, public, key and the identity. And then it can then be stored in a database that. Can be used for future reference. Now. We've described, how, the actual, database, they'll, be used to verify the IOT. Device. Identity, is, created, let's actually look at the process, of the. CSR, being generated, and then, the, provisioning, service verifying. Its legitimate, csr. So. If you look at this diagram. Here we'll see we have the IOT. Endpoint, device and, the, user will, connect. It up to their home network and begin. The installation. Once. The IOT endpoint, device is connected. Successfully. To the Wi-Fi. Home. Network, it. Can now generate, and, sign, a CSR, and the. CSR, will include. The, identity. This unique, to the endpoint device and also, will include, the public, key this. CSR. Is now sent. To the, provisioning. Server which we've called the registration. Server here and. Go, of the registration, server is to validate. The devices, identity, and it, does that by referring, to the identity, database, who described. Previous, slide you'll. See here that the CSR, comes in, the. Provisioning. Service will extract, that identity, from the CSR, and the public key and then. Compare, it to the entry in the database if. There, is a matching. Database. Entry, that has the device ID with, the same, Associated. Public key and noses, authorized. Device, and at that point it can then pass the CSR, onto the certificate. Authority server. The. Certificate authority server, will now then issue the client, certificate, back to the IOT endpoint, and that will then store, that certificate it should store it in a secure manner, so. It cannot be accessed by, unauthorized. Parties. Now. The IOT, endpoint, device has, the. Client-side. Certificate. It can now simply, open, a TLS connection to, the IOT, network, which of course requires. Client. Authentication. And then it then simply, passes, up the client certificate, during. The authentication process. And. The IOT, service. Will permit the device onto the IOT, network, so. You'll see with this approach that there, was no need to actually pre. Program. The, certificate. Into the IOT endpoint, device simply, went out and got it during installation and, this. Greatly simplifies, the production.
Process, For IOT devices, a. Third. Common, application. That involves use of cryptography is, secure. OTA. Updates. OTA. Stands, for over-the-air, and, can really be effectively. Regarded, as remote. Updates. Virtually. Every single, connected. And bedded, application, is going to want to do remote updates. There. Are several reasons why is this so first. It's much cheaper to, remotely patch, bugs, or security, vulnerabilities. In an embedded application. Via, a network connection, and have technicians. Physically. Upgrade. Each individual, system. Secondly. You're going to want a cheap, way to, replace, expired. Or revoked certificates, which, again feeds, back to improving, the security, of connected, devices, and. Then finally, it, may be a good way to in boost business by adding, a new service, to. Embedded. Application. That generates a new revenue stream. So. The ability to do OTA, or, remote. Updates, is extremely. Critical for any modern, IOT. Application. However. Security. Is very important, because since. The, OTA mechanism. Is actually downloading. A new. Image if an attacker can subvert that mechanism, they. Can therefore take, control, of the device by, installing, malware. So. Cryptography. Obviously has a key role to play in, OTA. Now. Unlike. Secure. Connectivity where, there's standards, like TLS. Prescribed. How to perform, a secure connection there. Is no specific protocol. That governs an OTA process. So. What we're going to do here is walk through an. Implementation. Of an. OTA, process. That does deliver. Security. Then. Of course secure. OTA requires. A secure TLS. Enabled. Connection. But. In addition it also requires, another, certificate called, a code signing certificate, is used to authenticate the, image. Before. We get into, the specific. Steps of performing. A secure, OTA, update. There's, a couple of security, risks I'd like to highlight one, is fairly obvious, since. The IOT, device endpoints. Expecting, a new image an attacker, can, try to substitute. Their own image so, they can perform a malware, takeover. Of the device. The. Second, form of attack is called a downgrade. Attack. In. This, case, since. The OTA, device. Is looking for a signed, image, it's. Not possible, to substitute, a random, malware, image to do the takeover. However. If, the attacker has obtained, an earlier OTA, update, image, with, a known security, vulnerability. They. Can send. The device that, image, in the hope they can downgrade, the, device, to this older, version of software that can then be exploited. By another. Form of an attack. So. How, do we go about countering. These security. Threats the. First step, is to create a digital, signature. That, we can use to sign the image. To. Do that we, would simply, take. The OTA update, image, create. A hash, then. We encrypt, it using the. Private. Key of the code signing certificate, to create the signature. By. Signing the image we, make it impossible for. An, attacker. To pass malware. Via. The OTA mechanism. And then have that malware. Accepted. As an upgrade. Then. Of course simply. Signing. The image doesn't address the. Downgrade. Attack, approach. To. Counter, downgrade, attacks it's, useful to add metadata. Obviously. One, extremely. Important, piece of metadata, is the actual version of the software image. So. If we append, some metadata, to the image prior, to creating the signature, at, that point we'll have a version. Associated. With the image which will prevent a downgrade. Attack from happening. It's. Also worth including other types, of metadata, such as the applicable product. Part numbers, these. Are helpful, to prevent. Reliability. Problems, in the OT a process.
That Can end up breaking the endpoint and. We'll discuss. Reliability. In a little bit more detail later. In the OTA discussion. Once. Assigned. OTA, image, is available on the OTA update, server the. Next step is to have the IOT. Endpoint, device download, it and then all CENTAC ate it, on. The IOT, endpoint, device there will be an OTA, agent. And this will periodically, monitor, to, detect, if there is a new update available. If. A new update is available the. OTA agent, will establish. A secure, connection to the OTA update, server using, TLS. Although. In some cases the, OTA, agent. May simply use the existing telemetry. Channel, to perform, the download. And. Then downloads. The image and metadata. And signature, into temporary files. The. IOT endpoint, device will already have the public. Key from the code signing certificate. Burnt into, it during, production. It. Uses that public, key to extract, the hash from the digital, signature. And. Then takes the downloaded. Image, and, generates. The hash for that and compares, it to the hash from the signature. If. These match it knows the image is valid, at. That point it will check, any metadata, such as version numbers, and, if the version number, of the, downloaded. Image is later than, the one that's already on, the IOT, endpoint, device it, knows it can safely upgrade. And is not suffering from a downgrade, attack. The. Final, step is to boot, the new, OTA, image, the. Booting process should. Incorporate a number of checks, to ensure that it works relying. And securely. The. Bootloader, should be secured, by. A secure, bootloader. I mean, the, bootloader should check the signature, of the image to authenticate. That it comes from the, device. Provider. While. Of course we've already checked, the image, signature, when we did the download. Having. The bootloader also, checked this is important, because it's, conceivable, that physical, attacks on the device might, attempt, to replace. The, image. In the device with, a malware. Image, by. Studying for example, a new memory chip and in that case secure. Boot would prevent this from being, successful. In. Addition, to checking. The images. Signed, you also need to be concerned about, reliability. You certainly. Don't want the OTA. Boot process to, hang, the, device and render. It non-functional. To the user so. A few procedures. Should be done to prevent this one as that device, should, have enough memory that you can keep the prior, image, version, available on, device, and if the booting. Of the new image fails you need to be able to revert back. To. Prevent a hang from happening you just set a watchdog. Timer and that will timeout, so if you do hang the, watchdog, will trigger and then you can then again revert, to the previous image, so.
If We look at see what happens here the bootloader, will check, the signature and then set various flags the watchdog. It will then boot the OTA image. Run. Through a self test and. If the self test fails or, the, image hangs or. You have resolve will run out of battery, and the device fails, all. Of these will simply result in you, rebooting. The, previous. Old image, that you know works the next time around, if. Of course you successfully. Pass the tests, at. That point you'll stop the watchdog, and then set the OTA image to be the new image, that the device, always boots from. It. Should be clear by now that, certificates. Are a key element in, providing. Secure, connectivity, between, an IOT, endpoint. Device and the IOT servers. With. That in mind I'd, like to summarize, exactly. How, many certificates. Are needed, down on an IOT, device to. Securely. Connect, and perform, secure, OTA, operations. This. Particular walk, there will be based on a Texas, Instruments CC 30 to 35 Wi-Fi. MCU. It's. An arm cortex-m, based, MCU, of a dedicated Wi-Fi, network, security, processor, one. Important, point is that the trusted, root catalog, that is programmed, into the CC, 3235. Only, contains, hashes. Of each certificate, this. Is because the CC 3235. Is an MCU, and limited, on chip memory and it's not possible, to load. Every, full. Certificate, into, memory about taking, up an inordinate, amount of space. When. Establishing. A secure. TLS, connection. The. First action, the device. Will need to do is to authenticate. The IOT, server. IOT. Server will send down its, certificate. Chain. The. CC 3235. Will, need to contain, the, trusted, root for, the server. Certificate. That, means the, IOT, device manufacturer. Must. Pre-program. The, trusted. Root certificate, into, the, device. Because. We're dealing with a closed, network. The IOT. Device manufacturer. Will know in advance the, trusted, root required, for the server certificate. The. IOT, device will use the hash in, its trusted, root store to verify, that the, trusted, root programmed. Into the device, for, the server, certificate, is in fact valid, the, next step in establishing a, secure, TLS, connection between. The IOT, device and its server will. Be for the server to authenticate the. IOT, endpoint, device. This. Requires, that the IOT. Endpoint, device can, send a copy of its client, certificate, chain. The. Certificate, chain will obviously contain, the TLS, and NT certificate, and whatever, intermediate. Root certificates. Were used, in issuing, that end entity certificate, because. The server will have a operating. System, like Windows or. Linux. Its. Trusted, root store will certainly contain the full trusted, root certificate. To complete, the client certificate. Datian, for. The IOT, endpoint, device, fail to authenticate. Signed. OTA. Update, image it. Must be able to validate. The, code signing, certificate. In. The case of the CC, 3235. There's, a requirement. Of the complete, code, signing, certificate, chain be present, for the image to be authenticated, so. In this case we need to have the code. Signing certificate, chain including. Any intermediates. And the, trusted, roof the code signing certificate, to be or present, on the end device. It. Should be stressed however that many, IOT, device, vendors are, happy was simply, putting, the public, key, associated. With the code signing certificate, on the IOT, endpoint, and just, using that not doing, a full certificate. Chain. Validation. Remember. That OTA, does not have any form or protocol, associated, with it unlike, TLS. So. Therefore there, is flexibility. In how you implement, this. So. Let's summarize, how. Many certificates are needed. We. Need two trusted, root certificates. One. Of these is the trusted, root for, the TLS, service certificate, so we can do the, authentication. Of the server. Certificate. We. Need the complete TLS. Client, certificate, chain but not it's trusted, root since, that will be stored, on the actual IOT server that does the authentication. And the client. For. A device like the CC 32 35 that wants to see a complete, code signing certificate, chain, that. Whole chain including. The trusted, root needs, to be also on the device, however. Since there's not a standard, protocol. Enforcing. This requirement, on. Some, other devices you may be even. Simply just to put in the public key for the code signing certificate, to authenticate. Any images. Downloaded, for, update purposes. In. This. Module, we. Walk through, several. Use cases where, encryption, is used in common, embedded, software applications. The. First of these was TLS. Which is the standard, internet, security. Protocol, we. Went through the handshake, and showed multiple use, cases of asymmetric. And symmetric encryption, and, how, they're used to establish and, maintain a secure, connection. We. End look to OTA, downloads. And how encryption, helps with signing. Images, to make sure that only authenticated.
Images, Are accepted, by, the IOT. Device. We. Also looked at a stiff Achatz signing request and how that can be combined, with a unique, device identity. To create a secure. Runtime. Provisioning, implementation. That avoids the, need to have certificates. Pre-programmed. Into embedded. Devices in, production. We. Then finished, by recapping. How, many certificates you actually need on an IOT, device to, make sure that, you have a clear understanding of. What. Is required for. Secure, connectivity and, OTA. This. Is the last module in the understanding, secure, connectivity training. Series if, you stay with us with the next slide you'll, see a number of options where you can actually delve, into hands-on, training, using, ATI. Wi-Fi. MCU. Thank. You for taking the time to, listen, to this series, of training. Modules I hope it was helpful understanding. Security. Related. Technology. At. Some point is likely you'll want to do some actual, software development. Of a secure. Connected, application. I've. Put a few links here to, enable you to get the appropriate, software, and. Evaluation. Modules, to develop, secure. Connected, applications. On a TI simple. Link Wi-Fi, device. We. Have an extensive set of hands-on, training modules, called, simple, link Academy, as you, go there and select you'll, see a number of examples that. Deal with secure connectivity secure. Storage and cryptography. You.