La sécurité des applications Web grâce à la cryptographie

Dimension: px
Commencer à balayer dès la page:

Download "La sécurité des applications Web grâce à la cryptographie"

Transcription

1 La sécurité des applications Web grâce à la cryptographie Pendant le développement d applications PHP, vous vous êtes probablement retrouvé dans des situations dans lesquelles vous deviez élever le niveau de sécurité. Imaginez, par exemple, que deux applications PHP échangent des données, que chacune d entre elles doit s assurer que l autre est correctement identifiée et que les données échangées ne sont connues que d elles seules. Seuls des techniques robustes de cryptographie peuvent y parvenir, et je vous recommande OpenSSL et PHP pour cela. Par Carlos Serrão Chaque jour, les applications Web deviennent de plus en plus complexes. La tendance actuelle est de remplacer la plupart des applications de bureau que nous utilisons actuellement par leur équivalent Web. Cela implique de nouveaux besoin en matière de sécurité, notamment en ce qui concerne l interaction entre les différents clients de telles applications et pour les applications elles-mêmes. Il faut en particulier des mécanismes robustes d identification, des signatures numériques et une cryptographie à clé publique. Il existe d autres méthodes pour introduire la cryptographie à clé publique dans un environnement de production PHP, soit par le biais d extensions PHP personnalisées qui ajoutent cette fonctionnalité à PHP lui-même, soit par le biais de l utilisation de l extension de GPG (GNUPG). Le moyen probablement le plus efficace d introduire la cryptographie dans vos applications PHP consiste à utiliser l extension OpenSSL. Dans cet article, j utilise l extension OpenSSL pour PHP et je vous montre comment tirer pleinement avantage de cette extension afin de fournir à vos applications PHP les fonctionnalités suivantes : création de certificats X509 utilisation de certificats X509 pour chiffrer et déchiffrer des données grâce à un mécanisme à clé publique utilisation de la cryptographie à clé publique pour signer numériquement des données utilisation de certificats X509 pour vérifier des données signées numériquement Mais avant de commencer, voici quelques informations simples et fondamentales concernant les techniques de cryptographie, notamment celles à clé publique. Quelques mots au sujet de la cryptographie Le processus de transformation d informations claires (texte simple) en quelque chose qui ait un sens pour l auteur des informations et pour ceux à qui elles sont destinées (texte chiffré) s appelle le chiffrement. Pour y parvenir, le moyen le plus simple est d utiliser le remplacement de texte :

2 // technique de chiffrement for($n = 0; $n < strlen($plaintext); $n++) { $ciphertext.= chr(ord($plaintext[$n]) + $key); // technique de déchiffrement for($n = 0; $n < strlen($ciphertext); $n++) { $result.= chr(ord($ciphertext[$n]) - $key); Dans cet exemple, nous parcourons simplement les données du texte clair et effectuons un simple remplacement de texte en fonction de la valeur qui a été attribuée à une clé. Ensuite, le processus inverse est effectué avec la même clé pour obtenir la valeur d origine. Cela se nomme le chiffrement César, et il s agit de l une des techniques de chiffrement les plus simples et les plus connues. Il s agit d un type de chiffrement par substitution, dans lequel chaque lettre du texte clair est remplacée par une lettre qui se trouve à un endroit déterminé plus loin dans l alphabet. Ce procédé est très simple, mais il n offre quasiment pas de sécurité aux informations que vous aimeriez masquer. L une des caractéristiques les plus importantes en matière de bon algorithme de cryptographie concerne l entropie des données. Ce premier exemple ne se repose pas sur des informations aléatoires : les mêmes caractères sont toujours remplacés de la même manière, et une analyse statistique du texte chiffré peut suffire à un intrus pour déchiffrer les informations. Une autre caractéristique importante en matière de bon algorithme de cryptographie concerne la clé. Dans le cas que nous venons de voir, la clé est extrêmement simple à trouver et à craquer, c està-dire deviner. Reportez-vous à la figure 1 pour en comprendre les raisons. La cryptographie moderne repose sur des processus mathématiques plus avancés afin d implanter des mécanismes cryptographiques robustes. Ils fonctionnent généralement au niveau binaire et effectuent des substitutions, des déplacements et des permutations des informations d origine, en fonction d une clé cryptographique établie. Les deux types de cryptographie les plus couramment utilisés sont : la cryptographie à clé secrète et la cryptographie à clé publique. La différence fondamentale entre celles-ci réside dans le fait que, dans le premier cas, une seule clé secrète est utilisée pour chiffrer et déchiffrer les informations, tandis que dans le second cas, une paire de clés est utilisée. L une permet de chiffrer les informations, l autre de les déchiffrer. Avec la cryptographie à clé secrète, telle qu illustrée à la figure 2, l expéditeur, Alice, et Figure 1 Figure 2 Figure 3 le destinataire, Bob, doivent tous deux partager la même clé, car elle permettra à la fois de chiffrer et de déchiffrer les données. Si Alice veut envoyer des informations privées à Bob, elle devra créer et utiliser une clé pour chiffrer les données et l envoyer à Bob. Bob utilise alors la même clé qu Alice a utilisé pour déchiffrer les données. Cela soulève un important problème : comment cette clé secrète est-elle créée et transmise de manière sécurisée à la fois à Alice et à Bob, sans être interceptée par une tierce personne? La réponse à cette question est simple : il faut utiliser la cryptographie à clé publique pour distribuer la clé secrète! En réalité, l utilisation de la cryptographie à clé publique permet à Alice et à Bob d avoir une paire de clés : une clé publique qui peut être librement distribuée à n importe qui, et une clé privée qui doit être gardée et enregistrée de manière appropriée afin d éviter qu elle ne soit divulguée. Les clés dans cette paire de clés sont toutes deux liées mathématiquement, mais il est impossible de déduire la clé privée à partir de la clé publique, et vice versa. Ce qui est chiffré avec l une des clés ne peut être déchiffré qu en utilisant la paire correspondante. Dans ce scénario, si Alice veut envoyer des informations sécurisées à Bob, elle doit chiffrer ces informations en utilisant la clé publique de Bob. Quand Bob reçoit le message, il utilise sa clé privée pour déchiffrer les informations et obtenir des données claires. Comme

3 le présente la figure 3, dans ce scénario, il n est pas nécessaire de changer le même clé secrète. Par la suite, nous allons voir comment utiliser ces mécanismes cryptographiques dans PHP afin de développer des applications mieux sécurisées. Utilisation de la cryptographie à clé secrète avec PHP Le meilleur moyen d utiliser la cryptographie à clé secrète dans des applications PHP consiste à utiliser l extension mcrypt. Mcrypt offre aux développeurs une fonctionnalité qui leur permet de chiffrer et de déchiffrer des données en utilisant des algorithmes à clé secrète. Une alternative consiste à programmer directement l algorithme cryptographique à clé secrète dans PHP. Néanmoins, cette alternative est toujours défavorable aux développeurs, car leur implantation peut contenir des failles de sécurité et ils risquent très certainement de rencontrer des problèmes de performances. Par conséquent, et par précaution, utilisez mcrypt. Mcrypt donne aux développeurs PHP le choix entre plusieurs algorithmes cryptographiques à clé secrète. Il y a encore peu de temps, la norme de chiffrement des données (DES, Data Encryption Standard) était l algorithme le plus courant pour effectuer une cryptographie à clé secrète ; néanmoins, cette norme a été remplacée par la norme de chiffrement avancée des données (AES/Rijndael, Advanced Encryption Standard) en raison de sa robustesse. Nous utiliserons donc, dans les exemples suivants, AES comme algorithme cryptographique. La première chose à faire est de s assurer que l extension elle-même est correctement installée et configurée pour fonctionner sur votre système. Ce procédé dépend du serveur sur lequel PHP a été déployé. S il s agit d une machine Windows, vous devrez vous assurer que la ligne extension=php_ mcrypt.dll n est pas commentée dans le fichier php. ini. Dans un système Linux, vous devrez vous assurer que PHP est compilé avec l option --with-mcrypt. En réalité, deux opérations peuvent être effectuées avec l extension mcrypt : le chiffrage et le déchiffrage des données. Pour ces deux procédés de base, il suffit d utiliser les fonctions suivantes : mcrypt_cbc(), mcrypt_ecb(), mcrypt_cfb() et mcrypt_ofb(). Les différents noms des fonctions font référence à leurs différents modes de fonctionnement. Néanmoins, l explication en détail de leurs mécanismes ne fait pas est l objet de cet article. CBC :Enchaînements de blocs ; ECB :Dictionnaire de codes ; CFB :Chiffrement à rétroaction ; OFB :Chiffrement à rétroaction de sortie. Les fonctions mcrypt_* prennent les deux paramètres suivants : Le nom de l algorithme à utiliser. Dans notre cas, nous utiliserons l algorithme AES/Rijndael. Trois valeurs valides sont alors possibles : MCRYPT_RIJNDAEL_128, MCRYPT_ RIJNDAEL_192 ou MCRYPT_RIJNDAEL_256. Les chiffres de la chaîne représentent la taille de la clé en nombre de bits. Par exemple, si vous utilisez MCRYPT_RIJNDAEL_128, il est conseillé d utiliser une taille de clé de 128 bits. La clé, c est-à-dire une chaîne qui contient la clé avec la taille qui a été spécifiée précédemment Les données à chiffrer ou à déchiffrer L opération à effectuer. Il peut supposer l une des deux valeurs : MCRYPT_ENCRYPT ou MCRYPT_DECRYPT Le motif d initialisation (IV, Initialization Vector). Il s agit d une chaîne qui contient un bloc de bits requis pour permettre l exécution d un flux ou d un chiffrement par blocs dans l un des différents modes d opération. Il rend possible l existence d un flux unique, indépendant des autres flux produits par la même clé de chiffrement, sans avoir à passer par un nouveau processus de création de clé. Dans l exemple suivant, nous allons construire une classe en utilisant les nouvelles caractéristiques orientées objet de PHP 5 afin de maîtriser le chiffrage et le déchiffrage avec AES/Rijndael. Cette classe, appelée «AES», définit deux méthodes de base : encrypt() et decrypt() pour maîtriser les opérations cryptographiques. Avant procéder à ces deux opérations, le constructeur de la classe doit être invoqué pour construire un objet «AES». Le constructeur doit recevoir les paramètres suivants : La «clé», qui doit être soit de 128, soit de 192, soit de 256 bits. En d autres termes, il doit s agir d une chaîne de 16, 24 ou 32 caractères «IV», le motif d initialisation, qui est de 128 bits et par conséquent une chaîne de 16 caractères

4 Le «mode de chiffrement», chaîne qui contient inquiétez pas, cela est une bonne chose! Maintenant soit CBC, ECB, CFB ou OFB que nous avons chiffré les données, déchiffrons-les. Un exemple d utilisation : $aes = new AES( ABCDEF, , CBC ); Cela initialisera l objet «AES» avec une clé de 128 bits ( ABCDEF), et un IV de 128 bits ( ) qui utilise le mode de chiffrement «CBC». La classe que nous avons définie pour contrôler le chiffrement AES est également protégée grâce à un contrôle des erreurs, tel que la gestion des exceptions, et le code doit donc être mis à l intérieur d une assertion try et catch : try { $aes = new AES( ABCDEF, , CBC ); catch (AESException $e) { echo $e; Chiffrement des données avec une clé secrète Maintenant que nous avons créé notre objet «AES», nous pouvons commencer à chiffrer et à déchiffrer les données grâce à cet objet. Pour chiffrer les données, nous pouvons définir une fonction qui effectuera l opération à l intérieur de la classe «AES». Cette fonction contient, outre le code qui procéde à la validation, le code spécifique pour invoquer les fonctions mcrypt : mcrypt_cbc($alg, $this->key, $data_to_encrypt, MCRYPT_ENCRYPT, $this->iv); Vous aurez peut-être remarqué que lorsque l on invoque cette fonction à l intérieur de la classe «AES», on suppose que le constructeur a déjà été appelé et que la clé, le motif d initialisation IV et le mode de chiffrement possèdent des valeurs valides. Une fois cela en place, nous pouvons directement invoquer la méthode encrypt() dans la classe AES, comme suit : try { $aes = new AES( ABCDEF, , CBC ); $cipherdata = $aes->encrypt( Ceci est une valeur secrète ); echo $cipherdata; catch (AESException $e) { echo $e; Le résultat de ce script doit être assez illisible. Ne vous Déchiffrement des données avec une clé secrète Pour déchiffrer les données, il suffit d effectuer l opération inverse. À nouveau, il suffit de se concentrer sur la partie spécifique à mcrypt, et ignorer toutes les validations que la méthode de la classe applique. mcrypt_cbc($alg, $this->key, $data_to_decrypt, MCRYPT_DECRYPT, $this->iv); Comme vous l avez peut-être déjà remarqué, la seule différence entre cette ligne et celle que j ai présentée précédemment porte sur la macro MCRYPT_ DECRYPT. Cette macro indique que les données doivent être déchiffrées. Nous pouvons donc revenir à notre code et déchiffrer les données précédemment chiffrées. Vous devriez obtenir quelque chose ressemblant à : try { $aes = new AES( ABCDEF, , CBC ); $cipherdata = $aes->encrypt( This is a secret value ); echo $cipherdata; $plaindata = $aes->decrypt($cipherdata); echo $plaindata; catch (AESException $e) { echo $e; Le résultat de l exécution de ce script devrait permettre la récupération des données d origine à partir du texte chiffré. Dans cet exemple, nous n avons fait que chiffrer et déchiffrer les données à l intérieur du même script PHP, sur le même ordinateur hôte, mais la même technique pourrait s appliquer dans un scénario clientserveur à distance. Néanmoins, dans ce cas, vous devrez prendre en considération le partage de la clé entre le client et le serveur, sans la compromettre. Utilisation de la cryptographie à clé publique dans PHP Comme je l ai mentionné précédemment, la cryptographie à clé secrète pose un problème qui doit être résolu : celui de la distribution de la clé secrète. Un moyen de surmonter ce problème consiste à utiliser la cryptographie à clé publique. Toutefois, la cryptographie à clé publique souffre également d un problème de confiance. Je vous explique. Lorsque vous essayez d envoyer des informations privées à une autre personne en utilisant le chiffrement à clé publique, vous devez, d une manière ou d une autre, obtenir la clé publique de cette personne afin

5 de pouvoir chiffrer les données. La question est : comment savoir si la clé que vous utiliserez provient réellement de la personne à laquelle vous voulez envoyer vos données ou d une autre personne qui essaie d usurper son identité? Soit vous connaissez l autre personne personnellement, et alors elle vous donne sa clé publique «en mains propres», soit vous n avez pas de moyen sécurisé pour y parvenir. Il existe heureusement un moyen de surmonter ce problème : les certificats numériques. Il s agit d un ensemble d octets qui affirme que la clé qu ils transportent est réellement la clé du propriétaire. Les certificats numériques rassemblent généralement des informations sur le monde réel avec la clé publique. Ils sont délivrés par des agents de certification : Certification Authorities (CA). Un CA est tout simplement une entité tierce, de confiance, qui valide les clés publiques et qui délivre les certificats numériques, qui contiennent ces clés. Le format le plus courant pour un certificat numérique est X509. Dans un scénario de la vie réelle, vous n iriez jamais demander une clé publique à l entité à laquelle vous essayez d envoyer des informations privées. Vous lui demanderiez leur certificat numérique. C est exactement ce que nous allons faire quand nous utiliserons la cryptographie à clé publique. Dans le monde à code ouvert, OpenSSL est le principal fournisseur de cryptographie à clé publique. OpenSSL ( est utilisé pour fournir au serveur HTTP d Apache les certificats numériques nécessaires pour utiliser le protocole SSL. PHP possède également une extension qui peut tirer parti des fonctionnalités de OpenSSL. Afin de pouvoir utiliser OpenSSL à l intérieur de vos scripts PHP scripts, vous devrez vous assurer que l extension OpenSSL n est pas commentée dans votre fichier de configuration php.ini. Dans le cas de Windows, il s agit de extension=php_openssl.dll, et dans le cas de Linux, vous aurez besoin de compiler votre installation PHP avec l option de configuration --with-openssl. Pour les utilisateurs de Windows, le fichier libeay32. Une clé exportée -----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAnyyxVSvESCZktTF/oDH0sywCS1bBICSBx1H3gODCCXmihCig CIuZM/XSsfTaXYbvLJ2OrLkJ6GSPJSA/izz3jaioWtebHOu+DovUOpWQvh9qdXSw... ympnrkjmhjkugjn7/3yzhdu3l0kyfmgazfj+1y3ne+psej+gyulexp2vcbfpl1o7 60mCuaizGIZYScdqJF5jrD41GTP9BOzVii42ktcG8MmfGtrcZAGfsg== -----END RSA PRIVATE KEY----- dll doit être copié dans le répertoire system32 de Windows. À nouveau pour Windows, si vous avez l intention d utiliser la génération de clés ou des fonctions de signatures de certificats, vous devrez installer un fichier openssl.cnf valide sur votre système. L extension OpenSSL de PHP recherche ces fichiers dans les répertoires configurés par les variables d environnement OPENSSL_CONF et SSLEAY_CONF. Si l un d entre eux n est pas configuré, vous devrez spécifier l emplacement du fichier manuellement dans vos propres scripts. Ce fichier doit exister sur le système. Généralement, il y a un fichier openssl.cnf qui se trouve dans votre répertoire d installation PHP, c est-à-dire PHP_DIR, dans PHP_DIR /extras/openssl. Création d une paire de clés Lorsque vous utilisez la cryptographie à clé publique, l une des opérations les plus communes consiste à créer une paire de clés. Une paire de clés est un ensemble de bits qui représentent à la fois les clés publique et privée d un sujet. Les clés de cette paire sont liées mathématiquement, mais il est impossible de dériver une clé privée à partir de la clé publique, et vice-versa.= Pour créer une paire de clés avec l extension OpenSSL de PHP, il faut appeler la fonction nommée openssl_pkey_new(). Cette fonction crée une paire de clés, grâce à un ensemble de paramètres de configuration spécifiés par l utilisateur : <?php /* cree une nouvelle paire de clé */ $CONFIGURATION[ configargs ] = array( config => C:\wamp\php\extras\openssl\openssl. cnf, private_key_bits => 2048 ); $keypair = openssl_pkey_new($configuration[ con figargs ]); var_dump($keypair);?> La paire de clés qui en résulte, et dont la taille est de 2048 bits, est enregistrée dans une variable, qui pourra être utilisée pour effectuer des opérations de cryptographie. Il est nécessaire d avoir une version imprimable de la paire de clés dont nous aurons besoin pour exporter les clés. Pour ce faire, il faut utiliser la fonction openssl_pkey_export() : openssl_pkey_export($keypair, $mykey, null, $CO NFIGURATION[ configargs ]); Cette fonction reçoit la paire de clés précédemment créée et l exporte dans $mykey dans un format imprimable. Il est éventuellement possible de protéger ces informations par un mot de passe. Le résultat ressemble à l encadré ci-contre.

6 Il est également possible d exporter la paire de clés vers un fichier, afin de pouvoir les transporter ou pour une utilisation ultérieure. Pour cela, il faut utiliser la fonction openssl_pkey_export_to_file() : openssl_pkey_export_to_file($keypair, pem, null, $CONFIGURATION[ configargs ]); mykey. ); /* Création d une requête de certification de signature */ $csr = openssl_csr_new($dndata, $keypair, $CONF IGURATION[ configargs ]); /* signature du CSR (auto-certification) */ $x509certificate = openssl_csr_sign($csr, null, $keypair, 365, $CONFIGURATION[ configargs ]); Il en résulte que la paire de clés est exportée vers un fichier appelé mykey.pem. De la même manière qu il est possible d exporter une paire de clés vers un fichier, il est également possible d importer une paire de clés à partir d un fichier. Voici comment y parvenir : <?php /* chargement d une paire de clé depuis un fichier */ $fp = fopen( mykey.pem, r ); $skey = fread($fp, 10000); fclose ($fp); $keypair = openssl_pkey_get_private($skey); var_dump($keypair);?> La gestion des certificats numériques Maintenant que nous avons appris à créer, à exporter et à importer des paires de clés, nous possédons suffisamment de notions pour commencer à chiffrer et à déchiffrer ces informations grâce à la cryptographie à clé publique. Lors de l utilisation de OpenSSL, il est nécessaire d utiliser un mécanisme qui affirmera que la clé publique provient réellement de l expéditeur d origine. Ce mécanisme, comme je l ai mentionné précédemment, est un certificat numérique X509. Généralement, les certificats sont créés par des agents de certification, mais comme nos clés publiques ne seront pas certifiées par de telles agents, nous utiliserons un mécanisme appelé l auto-certification. L auto-certification vous permet de publier vos propres certificats numériques et de les certifier vous-même. Cela a peu de valeur dans une situation réelle, peut-être parce que personne ne vous fait confiance, mais elle sera parfaite pour notre scénario de test et de démonstration. /* Quelques données d identifications pour le certificat */ $dndata = array( countryname => PT, stateorprovincename => Lisboa, localityname => Lisboa, organizationname => ISCTE, organizationalunitname => ADETTI, commonname => Carlos Serrao, address => carlos.serrao@iscte.pt Le processus pour créer un certificat X509 est extrêmement simple avec OpenSSL. La première chose à faire est de créer un CSR. Un CSR, ou requête de signatures de certificats (Certificate Signing Request en anglais) est un document numérique qui contient des informations concernant le sujet qui requiert la certification. Pour le CSR, il est important de régler le DN (Distinguished Name, nom distinctif) du sujet. Le DN contient plusieurs attributs, dont les plus courantes sont : countryname ou pays, stateorprovincename ou province, localityname ou ville, organizationname ou nom d entreprise, organizationalunitname ou département, commonname ou nom et address ou adresse courriel. Pour créer le CSR, il faut utiliser la fonction openssl_ csr_new() ainsi que les données du DN et la paire de clés. Toutes ces données seront rassemblées et un CSR X509 sera préparé. /* creation d une nouvelle requête de certificat */ $csr = openssl_csr_new($dndata, $keypair, $CONFI GURATION[ configargs ]); Une fois le CSR compilé, il doit être signé, soit par vous-même, soit par un agent de certification. Dans ce cas, nous signerons nous-mêmes le CSR. Pour cela, nous utilisons openssl_csr_sign(). Cette fonction reçoit le CSR généré précédemment, le certificat de signature, qui dans notre cas, est NULL, car il a été auto-signé, la paire de clés et le nombre de jours pendant lequel le certificat sera valide. Il en résulte un certificat X509 auto-signé. /* auto-certification du CSR */ $x509certificate = openssl_csr_sign($csr, null, $keypair, 365, $CONFIGURATION[ configargs ]); Il est impossible d exporter et d analyser un certificat X509. Pour exporter un objet du certificat X509 vers une chaîne, vous pouvez utiliser la fonction openssl_ x509_export() : <?php openssl_x509_export($x509certificate, $sx509);

7 echo $sx509; Les dossiers nexen.net Pour analyser un certificat X509 vers une chaîne, il y a la fonction openssl_x509_parse(), qui convertit un objet X509 en tableau. Il est ensuite possible d imprimer le contenu du certificat : /* analyse du certificat et affichage */ print_r(openssl_x509_parse($x509certificate)); extraire la clé publique d un certificat X509, il existe une fonction qui porte le nom de openssl_pkey_get_ public(). L unique argument vers cette fonction est un certificat X509 sous la forme d une chaîne : openssl_x509_export($x509certificate, $sx509); $cleardata = Test string. $publickey = openssl_pkey_get_public($sx509); openssl_public_encrypt($cleardata, $cipherdata, $publickey); echo CIPHERDATA =.$cipherdata; De même qu avec les paires de clés, il est possible d exporter à la fois un certificat X509 vers un fichier et d en importer un à partir d un fichier. L exportation vers un fichier est simple si l on utilise openssl_x509_ export_to_file(): /* exporter le certificat vers un fichier */ openssl_x509_export_to_file($x509certificate, mycert.pem ); Il en résulte un certificat numérique qui est enregistré dans le fichier appelé mycert.pem. Pour importer un certificat à partir d un fichier, il convient de suivre la procédure suivante : /* lit un certificat dans un fichier et l importe */ $fp = fopen( mycert.pem, r ); $mycert = fread($fp, 15000); fclose ($fp); $x509mycert = openssl_x509_read($mycert); La fonction openssl_x509_read() permet d importer le certificat vers un objet X509. Ainsi, vous serez en mesure de créer vos propres clés et vos propres certificats et les utiliser sur vos applications. Chiffrement et déchiffrement des données avec une clé publique Les fonctions de OpenSSL permettent à l utilisateur de chiffrer et de déchiffrer, soit à l aide de clés publiques, soit à l aide de clés privées. Il suffit de vous rappeler que ce qui a été signé avec une clé publique ne pourra être déchiffré qu avec la clé privée correspondante, et vice versa. N oubliez pas également qu il n est pas conseillé d utiliser la clé privée pour chiffrer vos données si vous souhaitez garantir leur protection. En effet, tous ceux qui sont en possession de votre clé publique sont également capables de déchiffrer n importe quelle donnée chiffrée par la clé privée. Par conséquent, il faut utiliser le certificat X509 pour extraire la clé publique du destinataire et utiliser cette clé lors de l envoi de données critiques à l expéditeur. Pour Une fois la clé publique obtenue à partir du certificat, il est possible d utiliser openssl_public_encrypt() pour chiffrer les données. Ces données sont alors verrouillées avec la clé publique du destinataire et ne pourront être ouvertes qu en utilisant la clé privée correspondante. La personne qui recevra ces données chiffrées devra posséder la clé privée afin de déchiffrer les données et d obtenir les informations d origine : $privatekey = openssl_pkey_get_ private($keypair); openssl_private_decrypt($cipherdata, $newtext, $privatekey); echo DECIPHER =.$newtext; Pour obtenir la clé privée, il faut utiliser la fonction openssl_pkey_get_private(). openssl_private_ decrypt() est invoquée pour effectuer le déchiffrage et obtenir les informations d origine. Cet exemple fonctionne pour des petits blocs de données, comme pour les simples messages que j ai montrés. Si le bloc de données à chiffrer est plus grand, quelques astuces permettent d appliquer le remplissage : // supprime 11 octets a cause du complément $maxlength = ( (11*8))/8; $cipherdata = ; while($cleardata){ $input = substr($cleardata, 0, $maxlength); $cleardata = substr($cleardata, $maxlength); if (openssl_public_encrypt($input, $encrypted, $publickey)==false) { break; $cipherdata.= $encrypted; echo CIPHERDATA =.$cipherdata; $maxlength = 1024/8; $newptext = ; while($cipherdata){ $input = substr($cipherdata, 0, $maxlength); $cipherdata = substr($cipherdata, $maxlength); if (openssl_private_decrypt($input, $out, $privatekey) == false) { break; $newptext.= $out;

8 echo DATA =.$newptext; Les dossiers nexen.net Comme vous l aurez peut-être remarqué, ce que nous faisons en réalité consiste à diviser les différents blocs de données en des fragments de 1024 bits. Cela s explique par le fait que nous utilisons la clé à 1024 bits. Avec une clé plus grande, la taille du bloc sera aussi plus grande. Cela conclut cette section concernant le chiffrement et le déchiffrement à clé publique. Passons maintenant à un autre sujet important concernant la sécurité : les signatures numériques. Signature et vérification des données avec une clé publique Tout d abord, il est important que vous sachiez ce qu est une signature numérique et ce pour quoi elle est utilisée. En termes génériques, une signature numérique est utilisée pour garantir à quelqu un que les données que vous avez créées ou envoyées sont exactes et qu elles n ont pas été trafiquées. Elle est généralement utilisée pour garantir l identité et l intégrité à une tierce partie. En termes techniques, une signature numérique est constituée d une valeur de hachage générée à partir des informations qui sont signées et chiffrées avec la clé publique de l expéditeur. Comme vous l aurez peut-être remarqué, les signatures numériques ne garantissent pas la confidentialité, car toute personne ayant accès à la clé publique de l expéditeur peut déchiffrer le message. Ce n est pas un problème. PHP et OpenSSL proposent les mécanismes nécessaires pour gérer les signatures numériques. Deux procédés de base sont à retenir : la génération des signatures numériques et la vérification des signatures numériques. Si vous observez la figure 4, vous pourrez observer comment ces algorithmes fonctionnent. Pour générer une signature numérique à partir d un message, une valeur de hachage est calculée à partir du message et chiffrée avec la clé publique de l expéditeur : il s agit de la signature numérique. Le destinataire reçoit le message et calcule également une valeur de hachage à partir du message d origine. Ensuite, en utilisant la clé publique de l expéditeur, le destinataire déchiffre le hachage d origine envoyé et le compare avec les nouveaux hachages générés. S ils correspondent, la signature numérique est vérifiée. Le cas échéant, soit la signature numérique a été contrefaite, soit altérée pendant le processus. Dans l extension OpenSSL de PHP, deux fonctions permettent de signer et de vérifier les signatures numériques : openssl_sign() et openssl_verify(). $data2sign = Une information à signer!!! ; $pkey = openssl_pkey_get_private($keypair, null); $signature = null; openssl_sign($data2sign, $signature, $pkey, OPENSSL_ALGO_SHA1); echo $signature; openssl_sign() reçoit les données à signer, la Figure 4

9 clé privée de l expéditeur et une identification de l algorithme de signature à utiliser. Dans ce cas spécifique, OPENSSL_ALGO_SHA1 signifie que l algorithme de hachage SHA1 sera utilisé dans le processus de génération de la signature numérique. openssl_x509_export($x509certificate, $sx509); $pubkey = openssl_pkey_get_public($sx509); if (openssl_verify($data2sign, $signature, $pubkey) == true) { echo Signature valide ; else { echo Signature erronnée ; Pour vérifier la signature numérique précédemment générée, utilisez openssl_verify(). Cette fonction accepte les données d origine, la signature et la clé publique de l expéditeur. Si la signature est valide, la fonction retourne TRUE. Remarques finales Je l ai déjà dit, mais je le répète : n essayez pas d inventer votre propre algorithme cryptographique. La plupart des algorithmes de sécurité «faits maison» sont simples à casser grâce à l analyse cryptographique. Il est vraiment beaucoup plus sûr d utiliser un algorithme bien établi et testé, comme ce que j ai présenté dans cet article, plutôt que d utiliser votre propre algorithme, même si vous pensez qu il est extrêmement sûr. N allez pas non plus vous imaginer que vous êtes en sécurité simplement parce que vous utilisez l un des algorithmes que j ai décrit! La plupart du temps, les failles sécuritaires proviennent du fait que l application a été mal conçue, et même si vous utilisez une bonne cryptographie, si vous ne vous occupez pas de la gestion et/ou de l enregistrement des clés, vous rencontrerez encore de sérieux problèmes. N oubliez pas que toute application Web n est seulement aussi sûre que son lien le plus faible. Par conséquent, cela n a pas d importance si vous développez un module de cryptographie complexe, si certaines autres parties de l application ne sont pas sécurisés. Février

Cours 14. Crypto. 2004, Marc-André Léger

Cours 14. Crypto. 2004, Marc-André Léger Cours 14 Crypto Cryptographie Définition Science du chiffrement Meilleur moyen de protéger une information = la rendre illisible ou incompréhensible Bases Une clé = chaîne de nombres binaires (0 et 1)

Plus en détail

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux Chapitre 7 Sécurité des réseaux Services, attaques et mécanismes cryptographiques Hdhili M.H Cours Administration et sécurité des réseaux 1 Partie 1: Introduction à la sécurité des réseaux Hdhili M.H Cours

Plus en détail

Livre blanc. Sécuriser les échanges

Livre blanc. Sécuriser les échanges Livre blanc d information Sécuriser les échanges par emails Octobre 2013 www.bssi.fr @BSSI_Conseil «Sécuriser les échanges d information par emails» Par David Isal Consultant en Sécurité des Systèmes d

Plus en détail

Signature électronique. Romain Kolb 31/10/2008

Signature électronique. Romain Kolb 31/10/2008 Romain Kolb 31/10/2008 Signature électronique Sommaire I. Introduction... 3 1. Motivations... 3 2. Définition... 3 3. La signature électronique en bref... 3 II. Fonctionnement... 4 1. Notions requises...

Plus en détail

TP 2 : Chiffrement par blocs

TP 2 : Chiffrement par blocs USTL - Licence et Master Informatique 2006-2007 Principes et Algorithmes de Cryptographie TP 2 : Chiffrement par blocs Objectifs du TP utiliser openssl pour chiffrer/déchiffrer, étudier le remplissage

Plus en détail

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima Introduction à la sécurité Cours 8 Infrastructure de clés publiques Catalin Dima 1 Gestion des clés La gestion des clés concerne : La distribution de clés cryptographiques, Les mécanismes utilisés pour

Plus en détail

Sécurisez votre serveur Web Internet Information Services de Microsoft (MS IIS) avec un certificat numérique de thawte thawte thawte thawte thawte

Sécurisez votre serveur Web Internet Information Services de Microsoft (MS IIS) avec un certificat numérique de thawte thawte thawte thawte thawte Sécurisez votre serveur Web Internet Information Services de Microsoft (MS IIS) avec un certificat numérique de thawte UN GUIDE ÉTAPE PAR ÉTAPE, pour tester, acheter et utiliser un certificat numérique

Plus en détail

Sécurité du Système d Information. Mini PKI

Sécurité du Système d Information. Mini PKI Sécurité du Système d Information Mini PKI Nombres de pages : 9 Version : 1.0 Auteurs : HAMROUNI Makram POISSENOT Thomas ROUX Nicolas Destinataires : BOMBAL Sébastien Remarques : Aucune. Tables des matières

Plus en détail

Le protocole sécurisé SSL

Le protocole sécurisé SSL Chapitre 4 Le protocole sécurisé SSL Les trois systèmes de sécurisation SSL, SSH et IPSec présentés dans un chapitre précédent reposent toutes sur le même principe théorique : cryptage des données et transmission

Plus en détail

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI Cryptologie Algorithmes à clé publique Jean-Marc Robert Génie logiciel et des TI Plan de la présentation Introduction Cryptographie à clé publique Les principes essentiels La signature électronique Infrastructures

Plus en détail

Rapport de certification ANSSI-CSPN-2010/07. KeePass Version 2.10 Portable

Rapport de certification ANSSI-CSPN-2010/07. KeePass Version 2.10 Portable PREM IE R M IN IS T R E Secrétariat général de la défense et de la sécurité nationale Agence nationale de la sécurité des systèmes d information Rapport de certification ANSSI-CSPN-2010/07 KeePass Version

Plus en détail

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader Gestion des Clés Pr Belkhir Abdelkader Gestion des clés cryptographiques 1. La génération des clés: attention aux clés faibles,... et veiller à utiliser des générateurs fiables 2. Le transfert de la clé:

Plus en détail

Cryptographie. Cours 3/8 - Chiffrement asymétrique

Cryptographie. Cours 3/8 - Chiffrement asymétrique Cryptographie Cours 3/8 - Chiffrement asymétrique Plan du cours Différents types de cryptographie Cryptographie à clé publique Motivation Applications, caractéristiques Exemples: ElGamal, RSA Faiblesses,

Plus en détail

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références 2 http://securit.free.fr Introduction aux concepts de PKI Page 1/20

Plus en détail

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse Questions - Révision- - 1 er Semestre Informatique Durée de l examen : 1h pour 40 questions. Aucun document n est autorisé. L usage d appareils électroniques est interdit. Les questions faisant apparaître

Plus en détail

Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE

Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE sommaire MIEUX COMPRENDRE LES CERTIFICATS SSL...1 SSL et certificats SSL : définition...1

Plus en détail

Une introduction à SSL

Une introduction à SSL Une introduction à SSL Felip Manyé i Ballester 6 juin 2009 Plan Introduction et concepts de base 1 Introduction et concepts de base Buts et enjeux de SSL Concepts de base 2 Certificats X.509 Protocole

Plus en détail

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net : Champ Encodé SKWRITTEN() : Champ Variable défini Précédemment & définissant l état des champs à suivre ECT

Plus en détail

Autorité de certification

Autorité de certification IUT de Villetaneuse, Université Paris 13, Sorbonne Paris Cité Étienne André Travaux pratiques de cryptographie Autorité de certification Licence Pro R&T ASUR Version du sujet : 23 décembre 2014 Ce TP s

Plus en détail

Plateforme PAYZEN. Définition de Web-services

Plateforme PAYZEN. Définition de Web-services Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network

Plus en détail

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 L envoi d un formulaire par courriel Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 Chapitre 9 L envoi d un formulaire par courriel L envoi par courriel d informations

Plus en détail

INF 4420: Sécurité Informatique Cryptographie II

INF 4420: Sécurité Informatique Cryptographie II : Cryptographie II José M. Fernandez M-3106 340-4711 poste 5433 Aperçu Crypto II Types de chiffrement Par bloc vs. par flux Symétrique vs. asymétrique Algorithmes symétriques modernes DES AES Masque jetable

Plus en détail

Les certificats numériques

Les certificats numériques Les certificats numériques Quoi, pourquoi, comment Freddy Gridelet 9 mai 2005 Sécurité du système d information SGSI/SISY La sécurité : quels services? L'authentification des acteurs L'intégrité des données

Plus en détail

Présentation. LogMeIn Rescue. Architecture de LogMeIn Rescue

Présentation. LogMeIn Rescue. Architecture de LogMeIn Rescue LogMeIn Ce document propose un aperçu de l architecture de LogMeIn. 1 Introduction 2 Confidentialité des données 3 Authentification 4 Validation des clés 5 Échange de messages 6 Authentification et autorisation

Plus en détail

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2. DTIC@Alg 2012 16 et 17 mai 2012, CERIST, Alger, Algérie Aspects techniques et juridiques de la signature électronique et de la certification électronique Mohammed Ouamrane, Idir Rassoul Laboratoire de

Plus en détail

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups 1.3.7 Auteur : Charles-Alban BENEZECH

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups 1.3.7 Auteur : Charles-Alban BENEZECH 2012 Les tutos à toto CUPS server - install and configure Réalisée sur CentOS 5.7 Ecrit par Charles-Alban BENEZECH 2012 titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups 1.3.7

Plus en détail

Université d Aix-Marseille Master Réseaux & Télécoms Cryptographie

Université d Aix-Marseille Master Réseaux & Télécoms Cryptographie Université d Aix-Marseille Master Réseaux & Télécoms Cryptographie Semestre 2 Exercices et corrections pour le TD 5 2014 2015 Rappeler les initialisations pour ce cours : CRYPTO = "http://iml.univ-mrs.fr/~kohel/tch/crypto/"

Plus en détail

La sécurité dans les grilles

La sécurité dans les grilles La sécurité dans les grilles Yves Denneulin Laboratoire ID/IMAG Plan Introduction les dangers dont il faut se protéger Les propriétés à assurer Les bases de la sécurité Protocoles cryptographiques Utilisation

Plus en détail

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application

Plus en détail

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents. Serveur de partage de documents Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents. Table des matières Création de la machine virtuelle Debian... 3 Présentation

Plus en détail

NOTE: Pour une meilleure sécurisation, nous vous recommandons de faire l installation des outils web à l intérieur d un serveur virtuel.

NOTE: Pour une meilleure sécurisation, nous vous recommandons de faire l installation des outils web à l intérieur d un serveur virtuel. Environnement des outils de gestion Comme nous allons utiliser principalement des outils orientés Web pour la gestion de notre domaine, pour que ceux-ci fonctionnent autant sous Windows que sous Linux,

Plus en détail

Guide Numériser vers FTP

Guide Numériser vers FTP Guide Numériser vers FTP Pour obtenir des informations de base sur le réseau et les fonctions réseau avancées de l appareil Brother : consultez le uu Guide utilisateur - Réseau. Pour obtenir des informations

Plus en détail

1. Mise en œuvre du Cegid Web Access Server en https

1. Mise en œuvre du Cegid Web Access Server en https 1. Mise en œuvre du Cegid Web Access Server en https Principe d usage La mise en œuvre du mode https sur un serveur Web Access implique : De disposer d un certificat pour le nom d hôte configuré sur le

Plus en détail

Documentation utilisateur "OK-MARCHE" Historique des modifications. 3.0 Mise à jour complète suite à version OK-MARCHE V2.2. de marchés publics

Documentation utilisateur OK-MARCHE Historique des modifications. 3.0 Mise à jour complète suite à version OK-MARCHE V2.2. de marchés publics Documentation utilisateur "OK-MARCHE" Historique des modifications Version Modifications réalisées 1.0 Version initiale de diffusion Ouverture & traitement des 2.0 Mise à jour complète enveloppes électroniques

Plus en détail

TD n o 8 - Domain Name System (DNS)

TD n o 8 - Domain Name System (DNS) IUT Montpellier - Architecture (DU) V. Poupet TD n o 8 - Domain Name System (DNS) Dans ce TD nous allons nous intéresser au fonctionnement du Domain Name System (DNS), puis pour illustrer son fonctionnement,

Plus en détail

7. Le Service de certification déchiffre le document avec sa clé privée de déchiffrement.

7. Le Service de certification déchiffre le document avec sa clé privée de déchiffrement. 1 2 Ce schéma illustre le mécanisme d échange sécurisé de fichiers entre l agent de vérification de l identité (AVI) (expéditeur) et le Service de certification du MJQ (destinataire) : 1. L AVI se connecte

Plus en détail

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement Guillaume HARRY l Contenu sous licence Creative Commons CC-BY-NC-ND Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement P. 2 1. Introduction 2.

Plus en détail

Définition des Webservices Ordre de paiement par email. Version 1.0

Définition des Webservices Ordre de paiement par email. Version 1.0 Définition des Webservices Ordre de paiement par email Version 1.0 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Historique du document

Plus en détail

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D ÉPREUVE COMMUNE DE TIPE 2008 - Partie D TITRE : Les Fonctions de Hachage Temps de préparation :.. 2 h 15 minutes Temps de présentation devant le jury :.10 minutes Entretien avec le jury :..10 minutes GUIDE

Plus en détail

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05 Les Protocoles de sécurité dans les réseaux WiFi Ihsane MOUTAIB & Lamia ELOFIR FM05 PLAN Introduction Notions de sécurité Types d attaques Les solutions standards Les solutions temporaires La solution

Plus en détail

Mise en place d un serveur HTTPS sous Windows 2000

Mise en place d un serveur HTTPS sous Windows 2000 Livre Blanc Mise en place d un serveur HTTPS sous Windows 2000 Pierre LANSALOT-BASOU Μ Mise à jour : Mai 2003 Page 51 : Export/Import du certificat serveur vers un serveur IIS 5. Les informations recueillies

Plus en détail

L identité numérique. Risques, protection

L identité numérique. Risques, protection L identité numérique Risques, protection Plan Communication sur l Internet Identités Traces Protection des informations Communication numérique Messages Chaque caractère d un message «texte» est codé sur

Plus en détail

Manuel des logiciels de transferts de fichiers File Delivery Services

Manuel des logiciels de transferts de fichiers File Delivery Services Manuel des logiciels de transferts de fichiers File Delivery Services Editeur La Poste CH SA Technologies de l information Webergutstrasse 12 CH-3030 Berne (Zollikofen) Contact La Poste CH SA Technologies

Plus en détail

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG EHRHARD Eric - Gestionnaire Parc Informatique 1 Possibilités d OCS Inventory. Informations d'inventaire pertinentes.

Plus en détail

Devoir Surveillé de Sécurité des Réseaux

Devoir Surveillé de Sécurité des Réseaux Année scolaire 2009-2010 IG2I L5GRM Devoir Surveillé de Sécurité des Réseaux Enseignant : Armand Toguyéni Durée : 2h Documents : Polycopiés de cours autorisés Note : Ce sujet comporte deux parties. La

Plus en détail

Service de certificat

Service de certificat Service de certificat Table des matières 1 Introduction...2 2 Mise en place d une autorité de certification...3 2.1 Introduction...3 2.2 Installer le service de certificat...4 3 Sécuriser un site web avec

Plus en détail

Architectures PKI. Sébastien VARRETTE

Architectures PKI. Sébastien VARRETTE Université du Luxembourg - Laboratoire LACS, LUXEMBOURG CNRS/INPG/INRIA/UJF - Laboratoire LIG-IMAG Sebastien.Varrette@imag.fr http://www-id.imag.fr/~svarrett/ Cours Cryptographie & Securité Réseau Master

Plus en détail

Processus 2D-Doc. Version : 1.1 Date : 16/11/2012 Pôle Convergence AGENCE NATIONALE DES TITRES SECURISÉS. Processus 2D-Doc.

Processus 2D-Doc. Version : 1.1 Date : 16/11/2012 Pôle Convergence AGENCE NATIONALE DES TITRES SECURISÉS. Processus 2D-Doc. Page 1 sur 16 PROCESSUS 2D-DOC...1 1. ARCHITECTURE GLOBALE...4 1.1. 1.2. Les rôles... 4 Les étapes fonctionnelles... 5 1.2.1. Etape 1 : la création du code à barres... 5 1.2.2. Etape 2 : l envoi du document...

Plus en détail

Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS

Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS Nicole Dausque CNRS/UREC CNRS/UREC IN2P3 Cargèse 23-27/07/2001 http://www.urec.cnrs.fr/securite/articles/certificats.kezako.pdf http://www.urec.cnrs.fr/securite/articles/pc.cnrs.pdf

Plus en détail

Crypter le courrier. Pourquoi crypter? Les clés de cryptage. Supplément au manuel Internet sécurité d'abord!

Crypter le courrier. Pourquoi crypter? Les clés de cryptage. Supplément au manuel Internet sécurité d'abord! Supplément au manuel Internet sécurité d'abord! 1 Votre courrier est facile à lire... même par ceux qui n ont pas le droit de le faire. De l expéditeur à la réception sur votre ordinateur, il passe par

Plus en détail

SSH, le shell sécurisé

SSH, le shell sécurisé , le shell sécurisé Objectifs : 1. Présenter le protocole et les outils associés Sébastien JEAN Pourquoi 1/2? Les services standards ne supportent que peu de propriétés de sécurité souvent l identification,

Plus en détail

Keyyo Guide de mise en service CTI / API / TAPI Keyyo

Keyyo Guide de mise en service CTI / API / TAPI Keyyo Keyyo Guide de mise en service CTI / API / TAPI Keyyo Keyyo Opération & Support http://www.keyyo.fr/fr/support/expert.php Version 1.0.7 Sommaire 1 Portée du document... 3 2 Introduction à la configuration...

Plus en détail

CCNA Discovery Travailler dans une PME ou chez un fournisseur de services Internet

CCNA Discovery Travailler dans une PME ou chez un fournisseur de services Internet Curriculum Name Guide du participant CCENT 3 Section 9.3 Dépannage de l adressage IP de la couche 3 Cette section consacrée au dépannage vous permettra d étudier les conditions nécessaires à l obtention

Plus en détail

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE ET SECURITE DES TRANSACTIONS ELECTRONIQUES : STANDARDS, ALGORITHMES DE HACHAGE ET PKI» DU 22 AU 26 JUIN 2015 TUNIS (TUNISIE) CRYPTOGRAPHIE APPLIQUEE ET SECURITE DES

Plus en détail

Protocoles d authentification

Protocoles d authentification Sécurité des Réseaux, Master CSI 2 J.Bétréma, LaBRI, Université Bordeaux 1 Protocoles d authentification 1. Authentification simple 2. Authentification mutuelle 3. Clé de session 4. KDC Source 1. Authentification

Plus en détail

Cryptographie et fonctions à sens unique

Cryptographie et fonctions à sens unique Cryptographie et fonctions à sens unique Pierre Rouchon Centre Automatique et Systèmes Mines ParisTech pierre.rouchon@mines-paristech.fr Octobre 2012 P.Rouchon (Mines ParisTech) Cryptographie et fonctions

Plus en détail

Pascal Gachet Travail de diplôme 2001. Déploiement de solutions VPN : PKI Etude de cas

Pascal Gachet Travail de diplôme 2001. Déploiement de solutions VPN : PKI Etude de cas Travail de diplôme 2001 Déploiement de solutions VPN : Département E+I Filière : Télécommunication Orientation : Réseaux et services Professeur responsable : Stefano Ventura Date : 20 décembre 2001 : Remerciements

Plus en détail

Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC

Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC Certificats X509 & Infrastructure de Gestion de Clés Claude Gross CNRS/UREC 1 Confiance et Internet Comment établir une relation de confiance indispensable à la réalisation de transaction à distance entre

Plus en détail

Manuel de la sécurité intégrée HP ProtectTools Ordinateurs d entreprise HP modèle dx5150

Manuel de la sécurité intégrée HP ProtectTools Ordinateurs d entreprise HP modèle dx5150 Manuel de la sécurité intégrée HP ProtectTools Ordinateurs d entreprise HP modèle dx5150 Référence : 376352-051 Décembre 2004 Ce manuel contient le mode d emploi du logiciel permettant de définir les paramètres

Plus en détail

La sécurité des réseaux. 9e cours 2014 Louis Salvail

La sécurité des réseaux. 9e cours 2014 Louis Salvail La sécurité des réseaux 9e cours 2014 Louis Salvail Échanges de clés authentifiés Supposons qu Obélix et Astérix, qui possèdent des clés publiques certifiées PK O et PK A, veulent établir une communication

Plus en détail

UltraBackup NetStation 4. Guide de démarrage rapide

UltraBackup NetStation 4. Guide de démarrage rapide UltraBackup NetStation 4 Guide de démarrage rapide Table des matières 1 Fonctionnalités... 3 1.1 Ce qu UltraBackup NetStation permet de faire... 3 1.2 Ce qu UltraBackup NetStation ne permet pas de faire...

Plus en détail

II- Préparation du serveur et installation d OpenVpn :

II- Préparation du serveur et installation d OpenVpn : I- Etude du VPN a. Qu est-ce qu un VPN? Un VPN(Virtual Private Network = Réseau Privé Virtuel) permet de créer une connexion sécurisée entre un ordinateur et un serveur VPN. Ce dernier servira de relai

Plus en détail

Sécurisation du réseau

Sécurisation du réseau Sécurisation du réseau La sécurisation du réseau d entreprise est également une étape primordiale à la sécurisation générale de votre infrastructure. Cette partie a pour but de présenter les fonctionnalités

Plus en détail

Sécurité des réseaux IPSec

Sécurité des réseaux IPSec Sécurité des réseaux IPSec A. Guermouche A. Guermouche Cours 4 : IPSec 1 Plan 1. A. Guermouche Cours 4 : IPSec 2 Plan 1. A. Guermouche Cours 4 : IPSec 3 Pourquoi? Premier constat sur l aspect critique

Plus en détail

Installation et utilisation d'un certificat

Installation et utilisation d'un certificat 1 IceWarp Merak Mail Server Installation et utilisation d'un certificat Icewarp France octobre 2007 2 Icewarp Merak Mail Serveur : Guide de mises à jour à la version 9 Sommaire Introduction...3 Situation

Plus en détail

Initiation au cryptage et à la signature électronique

Initiation au cryptage et à la signature électronique Bertrand Lemaire http://www.bertrandlemaire.com Initiation au cryptage et à la signature électronique Note : Ce document a été écrit par Bertrand Lemaire pour son propre site mais il peut être réutilisé

Plus en détail

Gestion des Clés Publiques (PKI)

Gestion des Clés Publiques (PKI) Chapitre 3 Gestion des Clés Publiques (PKI) L infrastructure de gestion de clés publiques (PKI : Public Key Infrastructure) représente l ensemble des moyens matériels et logiciels assurant la gestion des

Plus en détail

Sécurisation des accès au CRM avec un certificat client générique

Sécurisation des accès au CRM avec un certificat client générique NOTE TECHNIQUE Sécurisation des accès au CRM avec un certificat client générique OBJETIF DE SECURITE Réduire les risques d usurpation d identité et de vols de données (exemple : keylogger, cheval de Troie

Plus en détail

Mise en route d'un Routeur/Pare-Feu

Mise en route d'un Routeur/Pare-Feu Mise en route d'un Routeur/Pare-Feu Auteur : Mohamed DAOUES Classification : T.P Numéro de Version : 1.0 Date de la création : 30.05.2011 2 Suivi des Versions Version : Date : Nature des modifications

Plus en détail

Sécurité WebSphere MQ V 5.3

Sécurité WebSphere MQ V 5.3 Guide MQ du 21/03/2003 Sécurité WebSphere MQ V 5.3 Luc-Michel Demey Demey Consulting lmd@demey demey-consulting.fr Plan Les besoins Les technologies Apports de la version 5.3 Mise en œuvre Cas pratiques

Plus en détail

Authentification de messages et mots de passe

Authentification de messages et mots de passe Sébastien Gambs Autour de l authentification : cours 1 1 et mots de passe Sébastien Gambs sgambs@irisa.fr 1 décembre 2014 Sébastien Gambs Autour de l authentification : cours 1 2 Introduction à l authentification

Plus en détail

Préparation d un serveur Apache pour Zend Framework

Préparation d un serveur Apache pour Zend Framework Préparation d un serveur Apache pour Zend Framework Jacques THOORENS 30 novembre 2010 Résumé Cette petite introduction explique comment paramétrer son serveur Apache personnel pour en faire une machine

Plus en détail

Sécurité des réseaux sans fil

Sécurité des réseaux sans fil Sécurité des réseaux sans fil Francois.Morris@lmcp.jussieu.fr 13/10/04 Sécurité des réseaux sans fil 1 La sécurité selon les acteurs Responsable réseau, fournisseur d accès Identification, authentification

Plus en détail

Déploiement d'une Infrastructure de Gestion de Clés publiques libre

Déploiement d'une Infrastructure de Gestion de Clés publiques libre Falzon Marc BTS Informa tique de Gestion - Session 200 5 Epreuve E6 : Soutenance de projet Déploiement d'une Infrastructure de Gestion de Clés publiques libre Marc FALZON Page 1 1) Présent a t ion de l'association

Plus en détail

Programmation Réseau SSH et TLS (aka SSL)

Programmation Réseau SSH et TLS (aka SSL) Programmation Réseau SSH et TLS (aka SSL) Jean-Baptiste.Yunes@liafa.jussieu.fr Coloriages: François Armand armand@informatique.univ-paris-diderot.fr UFR Informatique 2011-2012 Réseau et Sécurité Problèmes

Plus en détail

Mécanismes de configuration automatique d une interface réseau, aspects sécurité

Mécanismes de configuration automatique d une interface réseau, aspects sécurité Mécanismes de configuration automatique d une interface réseau, aspects sécurité B. Amedro, V. Bodnartchouk, V.Robitzer Juin 2005 Université de Nice - Sophia-Antipolis Licence d informatique 3ème année

Plus en détail

Gestion d identités PSL Installation IdP Authentic

Gestion d identités PSL Installation IdP Authentic Gestion d identités PSL Installation IdP Authentic Entr ouvert SCOP http ://www.entrouvert.com 2 avril 2015 Table des matières 1 Installation du système de base 1 1.1 Rappel sur la la synchronisation des

Plus en détail

SÉCURITÉ DU SI. Mini PKI. Denoun Jérémy De Daniloff Cyril Bettan Michael SUJET (3): Version : 1.0

SÉCURITÉ DU SI. Mini PKI. Denoun Jérémy De Daniloff Cyril Bettan Michael SUJET (3): Version : 1.0 M I N I - P K I SRS Epita Promo 2009 SÉCURITÉ DU SI SUJET (3): Mini PKI Version : 1.0 Denoun Jérémy De Daniloff Cyril Bettan Michael 1 4-1 6 r u e v o l t a i r e 9 4 2 3 0 K r e m l i n B i c ê t r e

Plus en détail

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1 CARPE (Documentation Informatique) 1 CARPE Version 2.00 Août 2013 Documentation Informatique S E T R A Programme CARPE - Manuel informatique de l'utilisateur CARPE (Documentation Informatique) 2 Table

Plus en détail

Konica Minolta, un leader aux standards de sécurité les plus élevés du marché

Konica Minolta, un leader aux standards de sécurité les plus élevés du marché SéCURITé Konica Minolta, un leader aux standards de sécurité les plus élevés du marché A l ère du numérique, les communications mondiales connaissent une croissance sans précédent, et les risques de failles

Plus en détail

CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. Emmanuel.Bresson@sgdn.gouv.fr. SGDN/DCSSI Laboratoire de cryptographie

CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. Emmanuel.Bresson@sgdn.gouv.fr. SGDN/DCSSI Laboratoire de cryptographie CRYPTOGRAPHIE Chiffrement par flot E. Bresson SGDN/DCSSI Laboratoire de cryptographie Emmanuel.Bresson@sgdn.gouv.fr CHIFFREMENT PAR FLOT Chiffrement par flot Chiffrement RC4 Sécurité du Wi-fi Chiffrement

Plus en détail

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS FOURNIER VINCENT 29/04/2015 1.2 Ce tutoriel est réalisé sous debian 7.7 avec une synchronisation

Plus en détail

La sécurité dans un réseau Wi-Fi

La sécurité dans un réseau Wi-Fi La sécurité dans un réseau Wi-Fi Par Valérian CASTEL. Sommaire - Introduction : Le Wi-Fi, c est quoi? - Réseau ad hoc, réseau infrastructure, quelles différences? - Cryptage WEP - Cryptage WPA, WPA2 -

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

Les certfcats. Installation de openssl

Les certfcats. Installation de openssl Les certfcats Cette documentation a pour but de créer des certificats afin d'authentifier et de chiffrer les échanges entre un serveur et plusieurs clients. Openssl est un outil de cryptographie qui sert

Plus en détail

AWS avancé. Surveiller votre utilisation d EC2

AWS avancé. Surveiller votre utilisation d EC2 10 AWS avancé Dans ce chapitre, nous bâtirons sur les bases que nous avons apprises jusqu ici. Nous étudierons des sujets plus avancés tels que la surveillance de votre utilisation d AWS, l utilisation

Plus en détail

Aristote Groupe PIN. Utilisations pratiques de la cryptographie. Frédéric Pailler (CNES) 13 janvier 2009

Aristote Groupe PIN. Utilisations pratiques de la cryptographie. Frédéric Pailler (CNES) 13 janvier 2009 Aristote Groupe PIN Utilisations pratiques de la cryptographie Frédéric Pailler (CNES) 13 janvier 2009 Objectifs Décrire les techniques de cryptographie les plus courantes Et les applications qui les utilisent

Plus en détail

Paginer les données côté serveur, mettre en cache côté client

Paginer les données côté serveur, mettre en cache côté client Paginer les données côté serveur, mettre en cache côté client Vous voulez sélectionner des lignes dans une table, mais celle-ci comporte trop de lignes pour qu il soit réaliste de les ramener en une seule

Plus en détail

Du 03 au 07 Février 2014 Tunis (Tunisie)

Du 03 au 07 Février 2014 Tunis (Tunisie) FORMATION SUR LA «CRYPTOGRAPHIE APPLIQUEE ET SECURITE DES TRANSACTIONS ELECTRONIQUES» POUR LES OPERATEURS ET REGULATEURS DE TELECOMMUNICATION Du 03 au 07 Février 2014 Tunis (Tunisie) CRYPTOGRAPHIE ET SECURITE

Plus en détail

Gestion des clés cryptographiques

Gestion des clés cryptographiques PREMIER MINISTRE Secrétariat général de la défense nationale Direction centrale de la sécurité des systèmes d information Paris, le 28 mars 2006 N 724/SGDN/DCSSI/SDS/AsTeC Gestion des clés cryptographiques

Plus en détail

Modes opératoires pour le chiffrement symétrique

Modes opératoires pour le chiffrement symétrique Modes opératoires pour le chiffrement symétrique Charles Bouillaguet 5 février 2015 1 Notion(s) de sécurité On a vu qu un mécanisme de chiffrement symétrique E est contistué de deux algorithmes : E : {0,

Plus en détail

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward PHP CLÉS EN MAIN 76 scripts efficaces pour enrichir vos sites web par William Steinmetz et Brian Ward TABLE DES MATIÈRES INTRODUCTION 1 1 TOUT CE QUE VOUS AVEZ TOUJOURS VOULU SAVOIR SUR LES SCRIPTS PHP

Plus en détail

Guide de démarrage du canal de transfert FTP

Guide de démarrage du canal de transfert FTP Guide de démarrage du canal de transfert FTP Version 9 Table des matières 1. Qu'est-ce que le FTP?... 3 2. De quoi avez-vous besoin?... 3 2.1 Connexion à l extranet de la sécurité sociale... 3 2.1.1 Connexion

Plus en détail

Manuel d Administration

Manuel d Administration Manuel d Administration Manuel d Administration Copyright 2001 Auralog S.A. All rights reserved Sommaire INTRODUCTION...3 CONFIGURATIONS POUR TELL ME MORE PRO...4 CONFIGURATIONS REQUISES...4 INSTALLATION

Plus en détail

IPS-Firewalls NETASQ SPNEGO

IPS-Firewalls NETASQ SPNEGO IPS-Firewalls NETASQ SPNEGO Introduction Un utilisateur doit gérer de nombreux mots de passe. Un mot de passe pour la connexion au poste de travail, un mot de passe pour la messagerie et n mots de passe

Plus en détail