 Vous avez juste vu avec France comment créer une application sur le top de SecureManager sans avoir une interaction avec SecureManager juste en utilisant un STM32 Cubemix, mais dans l'environnement SecureManager. Maintenant, nous allons commencer à interrompre avec SecureManager et ici, nous allons utiliser l'encryption pour faire ça. Donc, le propose ici de cette deuxième hands-on est de vous montrer la provision de SecureStorage et l'usage de la clé dans la cryptographie. Donc, la première générateur, un store préformatisé contenu dans un clé secret. Nous réinstallons le SecureManager contenant ce nouveau store clé. Et nous allons utiliser un API de PSA Crypto en utilisant la clé de la provision faite dans le steps préformatifs pour encryver les données et nous allons vérifier que l'outlet de l'encryption est correct. Donc, nous allons commencer. Donc, dans notre histoire, nous avons créé notre application. Nous avons notre timestamp d'informations qui vont en clé sur l'outlet et nous voulons faire cela confidentement. Donc, une simple façon de faire cela, c'est d'utiliser l'encryption et l'objet de l'encryption sur le PC de target. Pour cela, nous avons utilisé un simple ASCBC pour la coopération cryptographique. Et pour cela, nous allons mettre la clé de l'encryption dans le target et protéger l'accessoire contrainte. Et nous devons ajouter l'encryption de la data avant de transmettre à l'UART. Le premier API que nous voulons utiliser est le PSA Cypher Encrypt. Le quai que nous utilisons peut être installé à l'arrivée de l'accessoire ou de l'arrivée de l'accessoire. Mais pour une raison obvious, le quai devrait être installé sur l'arrivée de l'accessoire. Et pour cela, nous pouvons utiliser l'accessoire de l'accessoire pour l'arrivée de l'accessoire. Et après, nous avons ensuite un moyen de provisioner ce quai à production dans une façon sécuritaire, et ensuite de l'utiliser plus tard pour faire l'encryption. Et vous verrez que nous allons appeler ce PSA Cypher Encrypt service qui est implémenté dans la partie cryptographique de l'accessoire. Et cette partie va utiliser l'accessoire de l'arrivée de l'accessoire à l'interne pour obtenir l'accessoire à l'accessoire et l'utiliser pour l'encryption. Donc, premièrement, nous allons couper un script et un quai que nous allons utiliser pour cette encryption. Nous avons donné vous les deux. Et donc vous pouvez les couper de l'accessoire pour votre application de workshop. Donc, nous allons le faire. Donc, on va dans le matériel de l'arrivée de l'accessoire, ici, et dans l'accessoire de l'arrivée de l'accessoire et vous verrez quels sont les quai et l'accessoire de l'arrivée de l'accessoire. Coupez et retournez à votre application de l'arrivée de l'accessoire. Et dans la même direction, rôtes, provisions, SM, et pastez le contenu ici. Donc, vous avez maintenant l'ITS blob perso. Il y avait un prévu ITS blob.bat et des quai. Donc, ici, nous voulons provisioner quelques quai à l'intérieur de l'accessoire de l'arrivée de l'accessoire. Donc, la première chose que nous devons faire c'est de retirer l'accessoire de l'arrivée de l'accessoire. Nous avons déjà downloadé. Tout d'abord, disconnectez les burgers. Donc, vous avez la application de France. Donc, déconnectez et recueillez le tabard JTAG. Et ici, retournez à votre application et retournez à l'arrivée de l'arrivée de l'arrivée de l'accessoire. Et là, vous avez ici un régression.bat. On peut simplement le lancer et ce script va automatiquement performer une régression de votre dévice. C'est ça. Donc le dévice maintenant est clean, il est ré-opensé et on peut aller. La première chose à faire est de générer notre nouveau Blob. Donc retournez à SecureManager et lancer ITSBlobPerson.bat. Donc il devrait être assez rapide. Donc vous pouvez ouvrir cette fenêtre. Et vous pouvez ouvrir ce log file. Donc je vais ouvrir avec Notepad. Et vous pouvez voir ici que nous avons utilisé cet ITS builder. Et ici nous créons seulement une clé, un ES-Key 256 bits. C'est un persistent utilisé pour l'incrétion et on le réprovise en clair. Donc avec ça, nous avons créé la structure de l'institut de l'institut de l'institut. Donc le système de file qui sera utilisé. La prochaine fois, nous allons provisioner le manager de secure. Je vais l'encloser. On va retourner au slide. Donc ici, nous sommes dans une zone de trottinage. Nous sommes avec notre application. Et nous avons fait cette régression. Et nous avons créé cet ITS builder par ce script ITSBlobPerson.bat. Et avec cet ES-Key, nous générons un nouveau Blob ITSFactoryBlob.bin. Donc ici c'est. Et maintenant, nous avons besoin de réinstaller le manager de secure. Pour faire ça, nous allons renforcer l'autor.bat. Vous devez voir que après quelque temps, dans les traces avec l'ITSBlob, ici, comme vous pouvez le voir, nous utilisons l'ITSFactoryBlob.bin. Et cet ITSFactoryBlob est installé dans un file SFI, donc encrypted, et envoyé au target. Donc si je lance la caméra, vous pouvez voir que ça va commencer à blinker après quelque temps, quand le manager de secure est installé avec l'application default. Ici, c'est. Donc maintenant, nous avons réinstallé notre manager de secure. Et cet manager de secure contient notre nouveau clé. Donc ici, nous avons introduit notre nouveau facteur de bloc ITSFactory dans les différents files SFI. Et donc, comme je l'ai dit, nous générons une image complète qui contient le manager de secure avec ce bloc ITSFactoryBlob, l'application default, donc l'application de blinker, et aussi le secret de bloc OEM. Le secret de bloc OEM est le clé d'authentication, donc le clé pour authentiquer l'application. Et donc maintenant, nous avons dans notre target ce nouveau clé dans le storage entré. Ensuite, nous pouvons utiliser ce clé. Pour faire ça, nous avons besoin de coller ce nouveau PSAAPI et nous allons utiliser Qubemix pour enlever ce PSAAPI. Donc, nous allons retourner à Qubemix. Donc ici, nous avons configuré l'application simple. S'il vous plait, nous allons au milieu de Weres et des packs de softwares, et nous avons sélectionné l'application de manager de secure. Ici, oui, ici c'est. Le manager de secure, premièrement, vous pouvez voir le profil de manager de secure. Nous avons ici seulement un profil large. Dans la prochaine version de manager de secure, nous avons un profil petit, ce qui signifie que nous allons réduire, pour exemple, le nombre d'algorithmes cryptographiques implémentés dans le manager de secure pour enlever plus de space pour l'application non-secure. Donc ici, nous avons le profil large pour ce premier step. Et dans cette partie, vous pouvez voir que nous pouvons enlever l'une de chaque service de manager de secure. Donc ici, nous avons seulement besoin de services de cryptographie. Donc, nous allons le vérifier et nous allons juste générer le code encore. Merci à ça, nous allons ajouter tout ce qu'on a besoin relativement à l'application cryptographique pour utiliser les services cryptographiques. Donc, quand cette génération de code est faite, vous pouvez juste ouvrir le pop-up qui va s'appliquer ici. C'est là, donc ouvrez. Et retournez vers la cube ID. Et vous pouvez voir ici ce que vous avez et simplement performer un refresh. Et vous pouvez voir que ces deux directeurs ont été ajoutés. Donc, les hautes mènes. Donc vous avez l'application de manager de secure et vous avez aussi ce petit directeur de manager de secure. Le next step est d'enlever cette encryption. Donc, pour faciliter ça, nous avons juste ajouté ce flag. Donc, s'il vous plait, commentez l'outil d'enlever un data flag. Et si vous voulez voir ce que ça veut dire, ici, sous ce flag, nous avons ce data encrypt avec le code pour PSS CIFER encrypt. Donc maintenant, vous pouvez compiler. Et quand c'est compilé, je vais revenir aux slides et vous montrer ce que nous avons fait. Donc, c'est là. Donc, nous avons ajouté tout ce que nous avons fait un refresh. Et maintenant, nous pouvons tester notre application. Donc, nous avons besoin d'enlever ça de nouveau. Juste presser sur le bouton de bug pour enlever l'application. Et nous devons voir quelque chose qui est arrivée dans le terminal. Donc, nous allons voir. Donc, le biais est OK. Nous sommes downloadant l'application. Donc, timestamp events version 1. Vous devez attendre ici et lancer. Si je presserai le bouton bleu, vous devez voir que nous avons maintenant un data encrypté. Vraiment, si je reviens aux slides, vous devez voir que nous avons la même chose ici. Et nous pouvons lancer ce script pour décrypter sur le PC le contenu de l'output. Pour faire ça, juste retourner vers le matériel de la hands-on et aller aux tools et à décrypte.ui.exe. C'est un simple script Python qui utilise la même clé que nous avons utilisé précédemment. C'est la clé que nous avons prévenu pour le storage de l'output. Ensuite, vous pouvez copier une partie de l'output. Donc, édite copier. Et ici, paste, contrôle V et décrypte. Et vous pouvez voir que la décryption est regardée exactement la même que nous avons avant, sans décrypte. Donc, ça fonctionne bien. Pour vous donner un peu plus d'explanation, quand nous pressons le bouton bleu, nous décryptons maintenant le buffer avec un nouveau clé, le clé qui est lié sur le storage de l'output. Avec index 23, nous reposons le buffer décrypté et le envoyons au uART. C'est pourquoi vous avez vu le data décrypté. Donc, la implementation est ici. Vous pouvez voir que le code de PSA, cifera et decrypte reposons l'index de la clé dans le storage de l'output. L'algorithme que nous voulons utiliser, l'output buffer et l'output buffer. C'est aussi simple que ça. Et vous pouvez également ajouter un point de break. Donc, nous pouvons le faire maintenant dans detection.c. Si je double-clique ici et pressons le bouton bleu ici, ici, nous pouvons voir le code de stack. Donc, nous sommes ici dans l'incryption de data. Donc, nous avons dans l'input buffer où nous pouvons voir le button de détection et le date et tout, dans le format clair. L'output avant l'incryption est 0. Et ensuite, je peux juste passer par ce code. Donc ici, nous avons appelé le manager secure API pour l'incrypte de la data et nous reposons l'output buffer qui est incrypted. Donc ici, rien que ça peut être réveillé en clair. Et ensuite, vous pouvez juste débugger comme vous voulez. C'était pour débugger. Donc, ici est le PSA API que nous avons utilisé pour cet exemple. Pour des détails, il y avait un vector d'initialisation qui a été créé grâce à cet API qui est ajouté à l'output et le script que vous utilisez à l'incrypte a réveillé cet outil d'initialisation dans l'output buffer pour l'incrypte. De toute façon, vous avez les détails de cet API dans le site armé pour PSA API et vous avez aussi beaucoup de détails dans l'H5 STM32MCU wiki. Donc, en conclusion, nous avons vu comment provisioner une cryptographie ou d'autres détails en production et dans un moyen sécuritaire parce que nous nous avons downloadé l'incrypte SFI file. Et nous avons vu que, grâce à Qubemix, nous pouvons pouvoir intégrer le PSA API dans nos projets dans un moyen très simple et comment débugger l'implementation et comment utiliser ce PSA API. Et dans le précédent, vous avez vu l'insolation et l'insolation et ici, maintenant, sur la fonction sécuritaire, vous pouvez voir que nous avons un outil sécuritaire dans un outil sécuritaire notre outil secret. Nous avons utilisé la cryptographie et aussi le storage sécuritaire. Donc, un outil sécuritaire en downloadant le storage sécuritaire. Nous allons au next step de la frontière. Merci pour votre attention.