|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre Expert
![]() ![]() Inscription : juin 2003 Messages : 1 203 ![]() |
La commande Options Sécurité Coder/Décoder une base de données ne protège pas les données. Elle permet simplement d'éviter la lecture de la bdd à partir d'un éditeur de textes. Toutes les données du fichier .MDB crypté de cette manière restent accessibles via le Jet Engine. D'autre part, il est très rare que toutes les données soient confidentielles. Il est par conséquent trop onéreux de protéger toutes les données en implémentant la sécurité au niveau du groupe de travail. Il faut donc appliquer une technique de cryptage personnalisée simple, permettant de protéger suffisamment bien les données confidentielles quelles soient numériques ou alphabétiques. Le niveau de protection assuré doit en somme donner beaucoup de difficultés à un pirate pour casser le code. La technique présentée ci-après ne nécessite pas une clé externe, susceptible d'être perdue, ce qui rendrait les données indéchiffrables.
Pour obtenir un code, qui ne peut pas être cassé par une analyse de fréquence d'apparition des caractères, il faut recourir à un algorithme qui autorise les substitutions multiples d'un caractère. A cet effet, on peut utiliser la rotation variable dont le principe est expliqué ci-après. Dans ce cas, la valeur du 1er signe est augmentée d'une valeur N, celle du 2ème est augmentée de N-1, celle du 3ème de N-2 et ainsi de suite jusqu'à zéro. Puis on recommence à ajouter 1, 2, ……, N-2, N-1 et N. Dans notre code N = 7. Exemples: fonction pour crypter et son corollaire pour décrypter Code :
__________________
Amicalement |
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() ![]() Inscription : juin 2003 Messages : 1 203 ![]() |
Autre possibilité que j'utilise
Pour protéger ce type de données contre les assauts de pirates expérimentés, il faut les transformer à l'aide d'un algorithme travaillant au niveau de chaque bit. La technique proposée est d'appliquer l'opérateur booléen du Ou Exclusif (XOR) à la valeur binaire ASCII de chaque caractère des données à crypter, sur la base d'une phrase clé comportant le plus de signes différents (lettres, chiffres, signes de ponctuation). On a donc deux arguments en entrée de cet opérateur qui va produire un résultat: les données cryptées. Cet opérateur se prête particulièrement bien au cryptage car il est complètement réversible et symétrique. Il suffira donc d'appliquer le même algorithme avec la même phrase clé au texte crypté pour obtenir le texte normal d'origine. D'autre part, ce qui le rend difficile à décoder est le fait qu'on obtient le même résultat, dont la plupart des signes sont non affichables, à partir de nombreuses données différentes. Un pirate ne doit pas seulement connaître la valeur numérique des données cryptées, mais en plus il doit connaître la valeur binaire de la phrase clé. Dans un module standard, on place la fonction de cryptage suivante: Code :
__________________
Amicalement |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com