Comment font-ils pour cracker

Le
ChP
Bonjour à toutes et à tous,

Mon but est de protéger un mot de passe, pas de cracker un code, mais je
me suis toujours posé cette question.

Imaginons : je veux coder un mot de passe. Etant relativement ignare de
toutes les siouxeries existantes, j'ai à ma disposition tout un arsenal
d'opérations telles que ajout, soustraction, décalage, rotation,
découpage qui sont toutes bijectives. Ma seule limitation dans
l'emploi de ces méthodes étant le temps que je veux bien y consacrer, le
nombre de couches d'opérations que je mets en place et la durée que
prendra ces transformations.

Le nombre de combinaisons que cela représente doit être gigantesque. De
plus, à chaque essai, un test doit être fait pour voir si le résultat
est correct.

Du haut de mon ignorance, j'ai du mal à imaginer qu'on puisse aisément
cracquer un tel cryptage s'il est peu répandu.

Des idées, des liens qui pourraient m'éclairer.

Merci pour vos informations.

Pierre
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sylvain
Le #1868876
ChP wrote on 26/03/2008 11:12:

Mon but est de protéger un mot de passe, pas de cracker un code, mais je
me suis toujours posé cette question.


"protéger" peut signifier plusieurs choses, vous ne dites pas clairement
lesquelles vous préoccupent, on peut citer:
- protéger son stockage: être sur qu'il n'est pas lisisble par qui n'est
pas autorisé,
- protéger son utilisation: ne pas autoriser un nombre illimité d'essai
- protéger son rejeu: s'assurer qu'une présentation valide dérobée ne
peux pas être représentée pour obtenir les droits associés.

[...]
Le nombre de combinaisons que cela représente doit être gigantesque. De
plus, à chaque essai, un test doit être fait pour voir si le résultat
est correct.


faire un nombre gigantesque d'opérations ne sert à rien si nombres
d'entre elles s'annulent, ou participent juste à construire ce qui sera
vérifié (ie un pattern peut être imprévisible et non le mot de passe saisi).

certes si cette construction prend 10mn cela freinera une attaque
exhaustive mais cela sera sûrement inacceptable pour l'utilisateur légitime.

Du haut de mon ignorance, j'ai du mal à imaginer qu'on puisse aisément
cracquer un tel cryptage s'il est peu répandu.


penser que quelque chose est sur car son procédé est inconnu est souvent
une erreur.

de ce que vous dites il semble que ce chiffrement sera inutile,
l'attaque soumettra un mot de passe quelconque qui passera comme dans le
cas nominal par cette machine à brouiller, l'attaquant ne moque de
savoir si vous brouillez ou pas, il attaque de la même façon.

ce chiffrement évite l'utilisation des mots de passes dans le cas où le
fichier des mots de passe peut être dérobé; mais ce cas n'est pas un
strict problème de crypto. si cette attaque est possible vous devez
l'adresser en premier en sécurisant son accès.

Sylvain.

Sokon Matsumura
Le #1868656
Bonjour à toutes et à tous,

Mon but est de protéger un mot de passe, pas de cracker un code, mais je
me suis toujours posé cette question.

Imaginons : je veux coder un mot de passe. Etant relativement ignare de
toutes les siouxeries existantes, j'ai à ma disposition tout un arsenal
d'opérations telles que ajout, soustraction, décalage, rotation,
découpage ... qui sont toutes bijectives. Ma seule limitation dans
l'emploi de ces méthodes étant le temps que je veux bien y consacrer, le
nombre de couches d'opérations que je mets en place et la durée que
prendra ces transformations.

Le nombre de combinaisons que cela représente doit être gigantesque. De
plus, à chaque essai, un test doit être fait pour voir si le résultat
est correct.

Du haut de mon ignorance, j'ai du mal à imaginer qu'on puisse aisément
cracquer un tel cryptage s'il est peu répandu.

Des idées, des liens qui pourraient m'éclairer.

Merci pour vos informations.

Pierre
Bonjour


il est vrai qu'une telle méthode semble costaud à casser.

je n'y connais pas grand chose en la matière mais je m'instruit sur le
sujet en ce moment.

Jj en profittes donc pour glisser ce lien qui pourrait interesser des
newbies comme moi :)

http://www.apprendre-en-ligne.net

ChP
Le #1869111
ChP wrote on 26/03/2008 11:12:

Mon but est de protéger un mot de passe, pas de cracker un code, mais
je me suis toujours posé cette question.


"protéger" peut signifier plusieurs choses, vous ne dites pas clairement
lesquelles vous préoccupent, on peut citer:
- protéger son stockage: être sur qu'il n'est pas lisisble par qui n'est
pas autorisé,
- protéger son utilisation: ne pas autoriser un nombre illimité d'essai
- protéger son rejeu: s'assurer qu'une présentation valide dérobée ne
peux pas être représentée pour obtenir les droits associés.

[...]
Le nombre de combinaisons que cela représente doit être gigantesque.
De plus, à chaque essai, un test doit être fait pour voir si le
résultat est correct.


faire un nombre gigantesque d'opérations ne sert à rien si nombres
d'entre elles s'annulent, ou participent juste à construire ce qui sera
vérifié (ie un pattern peut être imprévisible et non le mot de passe
saisi).

certes si cette construction prend 10mn cela freinera une attaque
exhaustive mais cela sera sûrement inacceptable pour l'utilisateur
légitime.

Du haut de mon ignorance, j'ai du mal à imaginer qu'on puisse aisément
cracquer un tel cryptage s'il est peu répandu.


penser que quelque chose est sur car son procédé est inconnu est souvent
une erreur.

de ce que vous dites il semble que ce chiffrement sera inutile,
l'attaque soumettra un mot de passe quelconque qui passera comme dans le
cas nominal par cette machine à brouiller, l'attaquant ne moque de
savoir si vous brouillez ou pas, il attaque de la même façon.

ce chiffrement évite l'utilisation des mots de passes dans le cas où le
fichier des mots de passe peut être dérobé; mais ce cas n'est pas un
strict problème de crypto. si cette attaque est possible vous devez
l'adresser en premier en sécurisant son accès.

Sylvain.


Merci pour ces explications.

Mon problème est le suivant : J'ai un site WEB chez un FAI. Sur ce site,
il y a une base de données et son accès ne peut se faire que si on donne
un mot de passe. Cette base de données contient des tables de liens vers
des images que tout le monde peut consulter. Je ne demande pas à
l'internaute qui visite mon site de fournir un mot de passe. Par
conséquent, je dois avoir, quelque part sur mon site, crypté ou pas, ce
mot de passe pour que je puisse accéder à la base de données.

J'ai cru comprendre que malgré des protections nominales (.htaccess
entre autres) des petits malins étaient capables d'aller explorer les
fichiers et donc d'en extraire un mot de passe (mais peut-être je me
trompe). C'est pour cette raison que je souhaite le crypter.

Ce que j'ai fait comprend quatre niveaux de transformations et doit bien
prendre quelques microsecondes de traitement !

Cordialement.

Pierre


ChP
Le #1869110
Bonjour à toutes et à tous,

Mon but est de protéger un mot de passe, pas de cracker un code, mais
je me suis toujours posé cette question.

Imaginons : je veux coder un mot de passe. Etant relativement ignare
de toutes les siouxeries existantes, j'ai à ma disposition tout un
arsenal d'opérations telles que ajout, soustraction, décalage,
rotation, découpage ... qui sont toutes bijectives. Ma seule
limitation dans l'emploi de ces méthodes étant le temps que je veux
bien y consacrer, le nombre de couches d'opérations que je mets en
place et la durée que prendra ces transformations.

Le nombre de combinaisons que cela représente doit être gigantesque.
De plus, à chaque essai, un test doit être fait pour voir si le
résultat est correct.

Du haut de mon ignorance, j'ai du mal à imaginer qu'on puisse aisément
cracquer un tel cryptage s'il est peu répandu.

Des idées, des liens qui pourraient m'éclairer.

Merci pour vos informations.

Pierre
Bonjour


il est vrai qu'une telle méthode semble costaud à casser.

je n'y connais pas grand chose en la matière mais je m'instruit sur le
sujet en ce moment.

Jj en profittes donc pour glisser ce lien qui pourrait interesser des
newbies comme moi :)

http://www.apprendre-en-ligne.net


Merci pour ce lien.

Cordialement.

Pierre


Sylvain
Le #1869109
ChP wrote on 26/03/2008 18:47:

Mon problème est le suivant : J'ai un site WEB chez un FAI.


donc aucune sécurité garantie.
vous ne savez pas ce qu'héberge la machine, quels process tournent
dessus, comment la mémoire est nettoyé entre une requête sur vos
pages et celles d'un autre hébergement, etc, etc.

Sur ce site,
il y a une base de données et son accès ne peut se faire que si on donne
un mot de passe. Cette base de données contient des tables de liens vers
des images que tout le monde peut consulter.


une table dont les records sont des url d'images ?
quelle est le moteur de la base ? on va présumer mysql.

Je ne demande pas à
l'internaute qui visite mon site de fournir un mot de passe.


normal.

Par conséquent, je dois avoir, quelque part sur mon site, crypté ou pas,
ce mot de passe pour que je puisse accéder à la base de données.


qui est "je" ?
lorsque vous "auteur" de ce site mettez à jour votre base vous devez
(c'est préférable!) présenter le mot de passe d'un utilisateur de la
base ayant les droits INSERT et UPDATE (accessoirement CREATE).

lorsque le serveur de pages (pas précisé non plus, mais php ou asp)
accède à la table pour lire (et lire uniquement) il peut y accéder
via un compte utilisateur de la table sans mot de passe et avec un
droit READ uniquement.

J'ai cru comprendre que malgré des protections nominales (.htaccess
entre autres) des petits malins étaient capables d'aller explorer les
fichiers et donc d'en extraire un mot de passe (mais peut-être je me
trompe). C'est pour cette raison que je souhaite le crypter.


avec ou sans .htaccess (donc php plus que asp) vous espérez surtout
que ni apache ni php ne délivre le code php d'une page mais uniquement
l'output html - c'est en principe vrai.

Ce que j'ai fait comprend quatre niveaux de transformations et doit bien
prendre quelques microsecondes de traitement !


si elles sont codées dans le php qui code l'accès à la base, elles ne
servent à rien (post précédent).

seon ma compréhension, votre inquiétude se résouds par une base
correctement configurée.

Sylvain.

ChP
Le #1869326


...
lorsque le serveur de pages (pas précisé non plus, mais php ou asp)
accède à la table pour lire (et lire uniquement) il peut y accéder
via un compte utilisateur de la table sans mot de passe et avec un
droit READ uniquement.



Je sens bien que je tourne en rond ...

Pour avoir accès à ma base de données, je dois écrire :

$link = mysql_connect($host, $nom_base, $mot_de_passe);

Je ne sais pas faire via le compte utilisateur que vous évoquez.

Par ailleurs, lors des visites, des données sont inscrites dans cette base.

Cordialement.

Pierre

Sylvain
Le #1869760
ChP wrote on 26/03/2008 19:40:

lorsque le serveur de pages (pas précisé non plus, mais php ou asp)
accède à la table pour lire (et lire uniquement) il peut y accéder
via un compte utilisateur de la table sans mot de passe et avec un
droit READ uniquement.


Je sens bien que je tourne en rond ...
Pour avoir accès à ma base de données, je dois écrire :

$link = mysql_connect($host, $nom_base, $mot_de_passe);


non:
$link = mysql_connect($host, $user, $pass);
puis: mysql_select_db($base, $link);

vous faites en effet ceci pour connecter l'utilisateur 'user'
à la base précisée et lui permettre de faire ce que son compte
mysql l'autorise à faire.

concrètement cet 'user' est juste un utilisateur parmi d'autres
également inscrits dans la table des utilisateurs de cette base.

une lecture de manuel de MySQL est peut être opportun !

il est possible de cela vous paraisse du chinois si votre FAI
a configuré la base pour vous et vous a laissé croire que cet
'user' était unique.

il en est évidemment rien, utilisez par exemple MySQL Administrator
disponible dans la suite "MySQL Tools" (dl sur le site mysql), et
créez des utilisateurs supplémentaires si nécessaires, configurer
ensuite le compte anonyme pour autoriser la lecture (elle seule) en
local (et en local seul), après quoi vos pages php contiendront:

$link = mysql_connect();

qui se connecte sur localhost (par défaut) sous le compte anonyme.
un problème réglé, il n'y a plus de passe du tout donc pas à le
protéger.

le compte mysql actuel (vraisemblablement unique) que vous utilisez
est votre compte d'administrateur de la base, vous ne devriez jamais
l'utiliser dans une page php, vous l'utiliserez seulement via MyQSL
Admin. et MySQL Query Browser pour mettre à jour vos pages.

vous pouvez éventuellement avoir des pages privées (un répertoire
protégé par .htaccess) qui contiendra des pages php codant un
accès à mysql avec votre compte admin pour réaliser des opérations
de maintenance de la base via des formulaires html et du traitement
php; cela peut être nécessaire pour des sites moyens à gros nécessitant
de nombreuses opérations, ici si on parle d'une seule table d'url je
ne pense pas que cela soit nécessaire.


Je ne sais pas faire via le compte utilisateur que vous évoquez.


donc ceux que vos devrez peut être créer.

Par ailleurs, lors des visites, des données sont inscrites dans cette base.


généralement un compteur de visites (ou des choses de même importances,
je veux dire non sensibles) - pour cette table la, vous donnerez un
droit d'écriture à l'utilisateur anonymous.

NOTA: il n'existe pas de ng dédié à mysql dans la hiérarchie fr.
où faire suivre ce fil, je duplique et positionne le renvoi sur
fr.comp.lang.php qui me parait le plus judicieux.

Sylvain.


Mickael Wolff
Le #1876523

NOTA: il n'existe pas de ng dédié à mysql dans la hiérarchie fr.
où faire suivre ce fil, je duplique et positionne le renvoi sur
fr.comp.lang.php qui me parait le plus judicieux.


Je viens de m'appercevoir qu'il existe : fr.comp.applications.sgbd

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Mickael Wolff
Le #1876524

non:
$link = mysql_connect($host, $user, $pass);
puis: mysql_select_db($base, $link);


Je préfères MySQLi, qui est plus récent et possède des fonctionnalités
indispensables :

$my_con = new mysqli($host, $user, $pass, $base) ;

D'ailleurs PHP6 introduit l'interface mysqlng... on est pas sorti de
l'aberge :)

une lecture de manuel de MySQL est peut être opportun !


Je soutiens :)


$link = mysql_connect();

qui se connecte sur localhost (par défaut) sous le compte anonyme.


On peut configurer PHP pour qu'il utilises d'autres valeurs par défaut.

NOTA: il n'existe pas de ng dédié à mysql dans la hiérarchie fr.
où faire suivre ce fil, je duplique et positionne le renvoi sur
fr.comp.lang.php qui me parait le plus judicieux.


fr.comp.divers ? :) C'est vrai que ça manque, un groupe ne traitant
que des SGBDR, leur administration et leur exploitation.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Sylvain
Le #1877884
Mickael Wolff wrote on 27/03/2008 13:22:

NOTA: il n'existe pas de ng dédié à mysql dans la hiérarchie fr.
où faire suivre ce fil, je duplique et positionne le renvoi sur
fr.comp.lang.php qui me parait le plus judicieux.


Je viens de m'appercevoir qu'il existe : fr.comp.applications.sgbd


certes, le fil est issu de fr.misc.crypto. car le PO essayait de
chiffrer son mot de passe présent dans ses pages php via qlq
opérations algébriques.

la solution à son problème (ses craintes plus que pbs avérés d'ailleurs)
me semble tenir plus de php et de la config de base de sa base que d'une
notion pointue portant sur un SGBDR précis.

Sylvain.


Publicité
Poster une réponse
Anonyme