13

Gestion 100% réalisée par le système Les API du système permettent de : Savoir si le mot de passe est actif Declare Function GetPasswordStatus Lib "Coredll"

Embed Size (px)

Citation preview

Page 1: Gestion 100% réalisée par le système Les API du système permettent de : Savoir si le mot de passe est actif Declare Function GetPasswordStatus Lib "Coredll"
Page 2: Gestion 100% réalisée par le système Les API du système permettent de : Savoir si le mot de passe est actif Declare Function GetPasswordStatus Lib "Coredll"

Gestion 100% réalisée par le système

Les API du système permettent de :

•Savoir si le mot de passe est actifDeclare Function GetPasswordStatus Lib "Coredll" () As Int32

•Tester la validité du mot de passeDeclare Function CheckPassword Lib "Coredll" ( _ ByVal wPassword As String) As Boolean

•Changer le mot de passeDeclare Function SetPassword Lib "Coredll" ( _ ByVal wOldPassword As String, _ ByVal wNewPassword As String) As Boolean

Solution simple pour sécuriser l’accès à une application mono utilisateur

Page 3: Gestion 100% réalisée par le système Les API du système permettent de : Savoir si le mot de passe est actif Declare Function GetPasswordStatus Lib "Coredll"
Page 4: Gestion 100% réalisée par le système Les API du système permettent de : Savoir si le mot de passe est actif Declare Function GetPasswordStatus Lib "Coredll"

Ne jamais stocker le mot de passe en clair.

Utilisation de l’espace de nom : System.Security.Cryptography- MD5 (non managé)- SHA1 (managé et non managé)

Utiliser le hachage et tester la correspondance :Le hachage associe des données de n’importe quelle longueur à une séquenceD’octets de longueur fixe. Les hachages sont statistiquement uniques.Une séquence de deux octets différente n’a pas la même valeur de hachage

Stocker le mot de passe haché.

Mettre en place une sécurité active :

Limiter le nombre de saisies incorrectes.

Rendre la saisie de plus en plus pénible en cas d’erreur.

Ne pas hésiter à détruire les données sensibles en cas d’attaque.

Page 5: Gestion 100% réalisée par le système Les API du système permettent de : Savoir si le mot de passe est actif Declare Function GetPasswordStatus Lib "Coredll"
Page 6: Gestion 100% réalisée par le système Les API du système permettent de : Savoir si le mot de passe est actif Declare Function GetPasswordStatus Lib "Coredll"

Impossible d’ouvrir la base sans le mot de passe.

SQL Mobile permet le chiffrement des bases.

Les données sont chiffrées = Lecture sans signification.

Page 7: Gestion 100% réalisée par le système Les API du système permettent de : Savoir si le mot de passe est actif Declare Function GetPasswordStatus Lib "Coredll"
Page 8: Gestion 100% réalisée par le système Les API du système permettent de : Savoir si le mot de passe est actif Declare Function GetPasswordStatus Lib "Coredll"

Chiffrement (ou cryptage) :

Chiffrement symétrique (à clé secrète) :

Ce type de chiffrement utilise une clé secrète, de partage unique pourChiffrer et déchiffrer les données.

Algorithmes disponibles : DES / RC2 / Rijndael (AES) / TripleDES

Chiffrement asymétrique (à clé privée) :

Ce type de chiffrement utilise une paire de clés publique/privéeà partage unique pour chiffrer et déchiffrer les données.

Algorithmes disponibles : DSA / RSA

Effectue une transformation des données, empêchant que celles-ci neSoient lues par des tiers.

Deux grands types de chiffrement : Symétrique et Asymétrique.

Page 9: Gestion 100% réalisée par le système Les API du système permettent de : Savoir si le mot de passe est actif Declare Function GetPasswordStatus Lib "Coredll"
Page 10: Gestion 100% réalisée par le système Les API du système permettent de : Savoir si le mot de passe est actif Declare Function GetPasswordStatus Lib "Coredll"

HTTPS = HTTP + SSL = Protocole HTTP sécurisé

SSL = Secure Socket Layer

C’est un système qui permet d’échanger des informationsentre 2 ordinateurs de façon sûre.

SSL assure 3 choses :

La confidentialitéIl est impossible d’espionner les informations échangées.

L’intégritéIl est impossible de « truquer » les informations échangées.

L’authentificationIl permet de s’assurer de l’identité du programme,de la personne ou de l’entreprise avec laquelleon communique.

Page 11: Gestion 100% réalisée par le système Les API du système permettent de : Savoir si le mot de passe est actif Declare Function GetPasswordStatus Lib "Coredll"

Le format natif .NET n’est pas protégé

Pour interdire le reverse engineering il faut rendrele code illisible et incompréhensible.

Lecture du code IL par ildasm

Existence d’outils de reverse puissants comme reflector

L’obfuscation est donc indispensable pour la sécurité :

Crée une confusion

La logique exécutable est représentée de façon incompréhensibleLes chaînes sont chiffrées (important pour la sécurité)

+ d’autres avantages…

Page 12: Gestion 100% réalisée par le système Les API du système permettent de : Savoir si le mot de passe est actif Declare Function GetPasswordStatus Lib "Coredll"

S’informer S’informer - Un portail d’informations, des - Un portail d’informations, des événements, une newsletter bimensuelle événements, une newsletter bimensuelle personnaliséepersonnalisée

Se former - Se former - Des webcasts, des articles techniques, des Des webcasts, des articles techniques, des téléchargements, des forums pour échanger avec vos téléchargements, des forums pour échanger avec vos pairspairs

Bénéficier de services - Bénéficier de services - Des cursus de formations et Des cursus de formations et de certifications, des offres de support techniquede certifications, des offres de support technique

Visual Studio 2005 +Visual Studio 2005 +

Abonnement Abonnement MSDN MSDN Premium Premium

Abonnement Abonnement TechNet TechNet Plus :Plus :

Versions d’éval + 2 incidents Versions d’éval + 2 incidents supportsupport

Page 13: Gestion 100% réalisée par le système Les API du système permettent de : Savoir si le mot de passe est actif Declare Function GetPasswordStatus Lib "Coredll"

© 2007 Microsoft France

Votre potentiel, notre passion TM