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" () As Int32 Tester la validité du mot de passe Declare Function CheckPassword Lib "Coredll" ( _ ByVal wPassword As String) As Boolean Changer le mot de passe Declare 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
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équence D’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.
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.
Chiffrement (ou cryptage) : Chiffrement symétrique (à clé secrète) : Ce type de chiffrement utilise une clé secrète, de partage unique pour Chiffrer 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 ne Soient lues par des tiers. Deux grands types de chiffrement : Symétrique et Asymétrique.
HTTPS = HTTP + SSL = Protocole HTTP sécurisé SSL = Secure Socket Layer C’est un système qui permet d’échanger des informations entre 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’authentification Il permet de s’assurer de l’identité du programme, de la personne ou de l’entreprise avec laquelle on communique.
Le format natif.NET n’est pas protégé Pour interdire le reverse engineering il faut rendre le 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éhensible Les chaînes sont chiffrées (important pour la sécurité) + d’autres avantages…
S’informer - Un portail d’informations, des événements, une newsletter bimensuelle personnalisée Se former - Des webcasts, des articles techniques, des téléchargements, des forums pour échanger avec vos pairs Bénéficier de services - Des cursus de formations et de certifications, des offres de support technique Visual Studio Abonnement MSDN Premium Abonnement TechNet Plus : Versions d’éval + 2 incidents support
© 2007 Microsoft France Votre potentiel, notre passion TM