{"id":{"repo_id":"sherbrooke","oai_identifier":"oai:usherbrooke.scholaris.ca:11143/23648"},"canonical_url":"https://search.dev.ndltd.org/etd/sherbrooke/oai:usherbrooke.scholaris.ca:11143/23648","repository":{"repo_id":"sherbrooke","name":"Université de Sherbrooke","base_url":"https://usherbrooke.scholaris.ca/server/oai/request"},"display":{"title":"Étude de la crypto-agilité de OpenSSL et du test automatisé de systèmes non déterministes","abstract":"Ce mémoire propose une approche destinée à relever les défis liés au test des systèmes non déterministes, dont les comportements imprévisibles peuvent résulter du temps d’exécution, de la concurrence ou de l’utilisation d’entrées aléatoires. Il s’intéresse également à l’analyse approfondie de la structure logicielle d’OpenSSL, principale bibliothèque cryptographique libre, ainsi qu’à celle de son fournisseur d’algorithmes post-quantiques: Open Quantum Safe (OQS). Une première phase est consacrée aux fondements théoriques : la cryptographie classique et post-quantique, la crypto-agilité et les méthodes de génération de tests. Sur cette base, la première contribution repose sur l’utilisation des tests basés sur les modèles, associés à des méthodes formelles, afin d’assurer une couverture de test systématique. L’outil ProB, vérificateur de modèles pour la méthode B, est employé pour analyser un modèle formel du système ciblé et générer automatiquement des scénarios de test. Cette méthodologie est appliquée au protocole TLS 1.3, norme cryptographique complexe et largement utilisée, en ciblant une implémentation via l’API Java BouncyCastle pour OpenSSL. Bien que TLS repose sur des mécanismes majoritairement déterministes, il intègre des éléments non déterministes---tels que la négociation dynamique d’algorithmes ou la génération de valeurs aléatoires---qui en font un environnement expérimental pertinent pour évaluer l’efficacité du test à base de modèle. La seconde contribution s’inscrit dans le contexte de la transition vers la cryptographie post-quantique, engagée par l'Institut national des normes et de la technologie depuis 2016 pour remplacer les primitives vulnérables aux attaques quantiques. L’intégration de ces nouveaux algorithmes dans TLS soulève des enjeux techniques significatifs, touchant autant l’architecture logicielle que l’implémentation. L’étude met en évidence, par rétro-ingénierie, les contraintes imposées par les structures héritées en C d’OpenSSL, qui freinent la crypto-agilité et compliquent la maintenance, en comparaison avec l’architecture modulaire d’OQS fondée sur le concept de fournisseurs. En combinant les méthodes formelles, l’analyse des comportements non déterministes et l’exploration d’architectures logicielles modernes pour la cryptographie post-quantique, ce travail souligne la nécessité de cadres de test et de développement plus flexibles, fiables et adaptés aux exigences croissantes de la cybersécurité.","abstract_html":"Ce mémoire propose une approche destinée à relever les défis liés au test des systèmes non déterministes, dont les comportements imprévisibles peuvent résulter du temps d’exécution, de la concurrence ou de l’utilisation d’entrées aléatoires. Il s’intéresse également à l’analyse approfondie de la structure logicielle d’OpenSSL, principale bibliothèque cryptographique libre, ainsi qu’à celle de son fournisseur d’algorithmes post-quantiques: Open Quantum Safe (OQS). Une première phase est consacrée aux fondements théoriques : la cryptographie classique et post-quantique, la crypto-agilité et les méthodes de génération de tests. Sur cette base, la première contribution repose sur l’utilisation des tests basés sur les modèles, associés à des méthodes formelles, afin d’assurer une couverture de test systématique. L’outil ProB, vérificateur de modèles pour la méthode B, est employé pour analyser un modèle formel du système ciblé et générer automatiquement des scénarios de test. Cette méthodologie est appliquée au protocole TLS 1.3, norme cryptographique complexe et largement utilisée, en ciblant une implémentation via l’API Java BouncyCastle pour OpenSSL. Bien que TLS repose sur des mécanismes majoritairement déterministes, il intègre des éléments non déterministes---tels que la négociation dynamique d’algorithmes ou la génération de valeurs aléatoires---qui en font un environnement expérimental pertinent pour évaluer l’efficacité du test à base de modèle. La seconde contribution s’inscrit dans le contexte de la transition vers la cryptographie post-quantique, engagée par l&#x27;Institut national des normes et de la technologie depuis 2016 pour remplacer les primitives vulnérables aux attaques quantiques. L’intégration de ces nouveaux algorithmes dans TLS soulève des enjeux techniques significatifs, touchant autant l’architecture logicielle que l’implémentation. L’étude met en évidence, par rétro-ingénierie, les contraintes imposées par les structures héritées en C d’OpenSSL, qui freinent la crypto-agilité et compliquent la maintenance, en comparaison avec l’architecture modulaire d’OQS fondée sur le concept de fournisseurs. En combinant les méthodes formelles, l’analyse des comportements non déterministes et l’exploration d’architectures logicielles modernes pour la cryptographie post-quantique, ce travail souligne la nécessité de cadres de test et de développement plus flexibles, fiables et adaptés aux exigences croissantes de la cybersécurité.","abstract_has_math":false,"creators":["Onofrei, Alexander"],"institution":"Université de Sherbrooke","degree_name":"M. Sc.","degree_level":"Maîtrise","degree_discipline":"Génie informatique","degree_department":null,"school":null,"contributors":[],"advisors":["Frappier, Marc"],"committee_chairs":[],"committee_members":[],"year":2025,"date_issued":"2025","date_published":"2025","updated_at":"2026-07-27T21:07:28Z","subjects":["Cryptographie post-quantique","Cryptoagilité","TLS","OpenSSL","ProB","Langage B","Tests à base de modèles","Systèmes non déterministes"],"languages":["fr","en"],"rights":[],"rights_urls":["http://creativecommons.org/licenses/by/4.0/"],"identifier_entries":[{"key":"dc:identifier.doi","label":"DOI","values":["https://doi.org/10.71892/11143/1238"],"render_values":[{"text":"https://doi.org/10.71892/11143/1238","href":"https://doi.org/10.71892/11143/1238","code":true}]}]},"links":{"outbound_url":"https://hdl.handle.net/11143/23648","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Frappier, Marc"]},{"key":"dc:creator","label":"Author","values":["Onofrei, Alexander"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2025-12-03T16:39:19Z"]},{"key":"dc:date.issued","label":"Date","values":["2025"]},{"key":"dc:publisher","label":"Institution","values":["Université de Sherbrooke"]},{"key":"dc:type","label":"Dc Type","values":["Mémoire de maîtrise"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Génie informatique"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Maîtrise"]},{"key":"thesis:degree_name","label":"Degree Name","values":["M. Sc."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["Université de Sherbrooke"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Cryptographie post-quantique","Cryptoagilité","TLS","OpenSSL","ProB","Langage B","Tests à base de modèles","Systèmes non déterministes"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["fr","en"]},{"key":"dc:rights.uri","label":"Rights URI","values":["http://creativecommons.org/licenses/by/4.0/"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.doi","label":"DOI","values":["https://doi.org/10.71892/11143/1238"]},{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://hdl.handle.net/11143/23648"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["Ce mémoire propose une approche destinée à relever les défis liés au test des systèmes non déterministes, dont les comportements imprévisibles peuvent résulter du temps d’exécution, de la concurrence ou de l’utilisation d’entrées aléatoires. Il s’intéresse également à l’analyse approfondie de la structure logicielle d’OpenSSL, principale bibliothèque cryptographique libre, ainsi qu’à celle de son fournisseur d’algorithmes post-quantiques: Open Quantum Safe (OQS). Une première phase est consacrée aux fondements théoriques : la cryptographie classique et post-quantique, la crypto-agilité et les méthodes de génération de tests. Sur cette base, la première contribution repose sur l’utilisation des tests basés sur les modèles, associés à des méthodes formelles, afin d’assurer une couverture de test systématique. L’outil ProB, vérificateur de modèles pour la méthode B, est employé pour analyser un modèle formel du système ciblé et générer automatiquement des scénarios de test. Cette méthodologie est appliquée au protocole TLS 1.3, norme cryptographique complexe et largement utilisée, en ciblant une implémentation via l’API Java BouncyCastle pour OpenSSL. Bien que TLS repose sur des mécanismes majoritairement déterministes, il intègre des éléments non déterministes---tels que la négociation dynamique d’algorithmes ou la génération de valeurs aléatoires---qui en font un environnement expérimental pertinent pour évaluer l’efficacité du test à base de modèle. La seconde contribution s’inscrit dans le contexte de la transition vers la cryptographie post-quantique, engagée par l'Institut national des normes et de la technologie depuis 2016 pour remplacer les primitives vulnérables aux attaques quantiques. L’intégration de ces nouveaux algorithmes dans TLS soulève des enjeux techniques significatifs, touchant autant l’architecture logicielle que l’implémentation. L’étude met en évidence, par rétro-ingénierie, les contraintes imposées par les structures héritées en C d’OpenSSL, qui freinent la crypto-agilité et compliquent la maintenance, en comparaison avec l’architecture modulaire d’OQS fondée sur le concept de fournisseurs. En combinant les méthodes formelles, l’analyse des comportements non déterministes et l’exploration d’architectures logicielles modernes pour la cryptographie post-quantique, ce travail souligne la nécessité de cadres de test et de développement plus flexibles, fiables et adaptés aux exigences croissantes de la cybersécurité."]},{"key":"dc:title","label":"Title","values":["Étude de la crypto-agilité de OpenSSL et du test automatisé de systèmes non déterministes"]}]}],"canonical_facts":{"dc:contributor.advisor":["Frappier, Marc"],"dc:creator":["Onofrei, Alexander"],"dc:date.accessioned":["2025-12-03T16:39:19Z"],"dc:date.issued":["2025"],"dc:description.abstract":["Ce mémoire propose une approche destinée à relever les défis liés au test des systèmes non déterministes, dont les comportements imprévisibles peuvent résulter du temps d’exécution, de la concurrence ou de l’utilisation d’entrées aléatoires. Il s’intéresse également à l’analyse approfondie de la structure logicielle d’OpenSSL, principale bibliothèque cryptographique libre, ainsi qu’à celle de son fournisseur d’algorithmes post-quantiques: Open Quantum Safe (OQS). Une première phase est consacrée aux fondements théoriques : la cryptographie classique et post-quantique, la crypto-agilité et les méthodes de génération de tests. Sur cette base, la première contribution repose sur l’utilisation des tests basés sur les modèles, associés à des méthodes formelles, afin d’assurer une couverture de test systématique. L’outil ProB, vérificateur de modèles pour la méthode B, est employé pour analyser un modèle formel du système ciblé et générer automatiquement des scénarios de test. Cette méthodologie est appliquée au protocole TLS 1.3, norme cryptographique complexe et largement utilisée, en ciblant une implémentation via l’API Java BouncyCastle pour OpenSSL. Bien que TLS repose sur des mécanismes majoritairement déterministes, il intègre des éléments non déterministes---tels que la négociation dynamique d’algorithmes ou la génération de valeurs aléatoires---qui en font un environnement expérimental pertinent pour évaluer l’efficacité du test à base de modèle. La seconde contribution s’inscrit dans le contexte de la transition vers la cryptographie post-quantique, engagée par l'Institut national des normes et de la technologie depuis 2016 pour remplacer les primitives vulnérables aux attaques quantiques. L’intégration de ces nouveaux algorithmes dans TLS soulève des enjeux techniques significatifs, touchant autant l’architecture logicielle que l’implémentation. L’étude met en évidence, par rétro-ingénierie, les contraintes imposées par les structures héritées en C d’OpenSSL, qui freinent la crypto-agilité et compliquent la maintenance, en comparaison avec l’architecture modulaire d’OQS fondée sur le concept de fournisseurs. En combinant les méthodes formelles, l’analyse des comportements non déterministes et l’exploration d’architectures logicielles modernes pour la cryptographie post-quantique, ce travail souligne la nécessité de cadres de test et de développement plus flexibles, fiables et adaptés aux exigences croissantes de la cybersécurité."],"dc:identifier.doi":["https://doi.org/10.71892/11143/1238"],"dc:identifier.uri":["https://hdl.handle.net/11143/23648"],"dc:language.iso":["fr","en"],"dc:publisher":["Université de Sherbrooke"],"dc:rights.uri":["http://creativecommons.org/licenses/by/4.0/"],"dc:subject":["Cryptographie post-quantique","Cryptoagilité","TLS","OpenSSL","ProB","Langage B","Tests à base de modèles","Systèmes non déterministes"],"dc:title":["Étude de la crypto-agilité de OpenSSL et du test automatisé de systèmes non déterministes"],"dc:type":["Mémoire de maîtrise"],"thesis:degree_discipline":["Génie informatique"],"thesis:degree_level":["Maîtrise"],"thesis:degree_name":["M. Sc."],"thesis:institution_name":["Université de Sherbrooke"]},"updated_at":"2026-07-27T21:07:28Z"}