> Tech > La file de données externe REXX

La file de données externe REXX

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

La file de données externe REXX est une file d’attente de chaînes de caractères au travers desquelles les programmes REXX et non-REXX peuvent échanger des données. Les instructions REXX manipulent cette file de données: L’instruction PUSH empile une chaîne de caractères sur la tête de la file d’attente

La file de données externe REXX

en ordre LIFO (Last In First Out, dernier entré premier sorti).

L’instruction QUEUE ajoute une chaîne de caractères à la queue de la file d’attente en ordre FIFO (First In First Out, premier entré premier sorti). L’instruction PULL fait surgir une chaîne de caractères de la tête de la file d’attente, sauf si celle-ci est vide, auquel cas PULL lit à partir de l’entrée du défileur interactif REXX. Les programmes non-REXX peuvent manipuler la file d’attente en appelant l’API QREXQ. SIMPLE recherche trois éléments dans la file d’attente avant le cryptage ou le décryptage : un numéro d’option, une chaîne en texte clair ou en texte chiffré, et une clé publique ou privée.

Si SIMPLE les trouve dans la file d’attente, il contourne la section du programme qui affiche le défileur interactif REXX. Cela donne à SIMPLE la possibilité de s’exécuter dans un job batch. Le petit exemple REXX échange des données avec SIMPLE par l’intermédiaire de la file d’attente. Cet exemple crypte le texte clair avec une clé publique, décrypte le texte chiffré avec une clé privée, puis effectue un test pour déterminer si le texte chiffré décrypté correspond au texte clair original.

Une concordance signifie que les clés publique et privée sont accouplées, et le programme laisse l’utilisateur poursuivre l’application. Vous avez peut-être remarqué que cet exemple code en dur la clé privée dans le code source.

Ce n’est pas prudent parce que quelqu’un ayant autorité sur le code source pourrait voir la clé privée. Dans une vraie application, il est probable que vous inviteriez l’utilisateur à taper la clé privée dans un champ d’écran, avec un attribut non affichable. C’est une version CL du petit exemple REXX, excepté qu’il ne code pas en dur la clé privée dans le code source.

TESTSIMPLE demande à l’utilisateur un mot de passe (en réalité, la clé privée RSA), ajoute le mot de passe à la file d’attente en utilisant l’API QREXQ, appelle le programme SIMPLE, extrait le texte chiffré de la file d’attente en utilisant l’API QREXQ et vérifie si le texte chiffré décrypté correspond au texte clair original avant de laisser l’utilisateur poursuivre l’application.

Un algorithme trappe RSA est un algorithme « trappe ». Il est facile de multiplier deux nombres premiers pour créer un modulo, mais il est difficile d’obtenir les deux nombres premiers à partir du modulo, par l’ingénierie inverse. Si vous obtenez les deux nombres premiers originaux qui constituaient le modulo, il est facile de calculer la clé privée et donc de décrypter le texte chiffré.

Les inventeurs de RSA pensaient que le fait de choisir de longs nombres premiers – quelques centaines de chiffres – garderait fermée la trappe d’ingénierie inverse des deux nombres premiers qui constituaient le modulo. SIMPLE choisit des nombres premiers de cinq chiffres. Vous pouvez faire des expériences et modifier SIMPLE pour choisir des nombres premiers plus longs si vous le souhaitez ; changez simplement l’instruction d’assignation WIDTH=5 près du haut du programme pour lui donner une valeur d’assignation plus élevée. Mais préparez-vous à attendre longtemps pendant que l’interpréteur REXX concocte vos longs nombres premiers.
 

Téléchargez cette ressource

Comment sécuriser une PME avec l’approche par les risques ?

Comment sécuriser une PME avec l’approche par les risques ?

Disposant de moyens financiers et humains contraints, les PME éprouvent des difficultés à mettre en place une véritable stratégie de cybersécurité. Opérateur de services et d’infrastructures, Naitways leur propose une approche pragmatique de sécurité « by design » en priorisant les risques auxquelles elles sont confrontées.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010