Author

Topic: La passphrase (contributions bienvenues) : protégez vos bitcoins (Read 179 times)

hero member
Activity: 2814
Merit: 912
Si l'on n'a pas beaucoup de cryptos à stocker, alors une solution avec juste un seed de 24 mots est suffisante. Sinon, la solution avec un wallet leurre et un wallet avec passphrase peut être interessante.
hero member
Activity: 1932
Merit: 940

Avec donc la même seed et celui avec la passphrase serait le wallet leurre ? C'est ce que tu veux dire ?

Ledger explique mieux que moi mais ce que dit Saint-Loup est logique:
https://support.ledger.com/hc/fr-fr/articles/115005214529-Comment-configurer-une-passphrase-?docs=true

En fait, tu peux créer autant de compte différent en ajoutant une nouvelle passphrase sur ton ledger.

legendary
Activity: 2604
Merit: 2353
J'ai créé un wallet sur electrum avec une passphrase et ce n'est pas possible d'installer ce wallet sur trustwallet par exemple. Bon ça peut paraître évident, mais on est dans la partie débutant.
Et je trouve qu'il faut essayer des choses pour mieux comprendre. D'autres wallets (hot/cold) permettent d'installer ce même wallet electrum si on peut y ajouter la fameuse passphrase.

D'après un tuto, si on ajoute une passphrase au pif, on est sur un wallet différent, et donc on peut imaginer créer un wallet "leurre" : le voleur sanguinaire qui veut soutirer la phrase mnémonique et la passphrase à sa victime peut se voir remettre l'accès au wallet leurre.

Est-ce que c'est correct ?
Attention les seeds générées par Electrum ne sont pas BIP39, elles ne marchent donc dans aucun autre wallet, passphrase ou pas. Tu peux d'ailleurs créer une seed Electrum avec les mots de ton choix en modifiant le fichier du dictionnaire, la seed générée restera valide dans tout wallet Electrum.
En revanche Electrum accepte les seeds BIP39 (avec ou sans passphrase) et SLIP39.

Avec donc la même seed et celui avec la passphrase serait le wallet leurre ? C'est ce que tu veux dire ?
C'est plus logique que ça soit l'inverse. Si le voleur obtient ta seed et ta passphrase, rien ne l'empêchera d'essayer ta seed sans passphrase. Alors que si il n'obtient que la seed, il ne pourra jamais trouver la passphrase tout seul.
hero member
Activity: 1820
Merit: 775
J'ai créé un wallet sur electrum avec une passphrase et ce n'est pas possible d'installer ce wallet sur trustwallet par exemple. Bon ça peut paraître évident, mais on est dans la partie débutant.
Et je trouve qu'il faut essayer des choses pour mieux comprendre. D'autres wallets (hot/cold) permettent d'installer ce même wallet electrum si on peut y ajouter la fameuse passphrase.

D'après un tuto, si on ajoute une passphrase au pif, on est sur un wallet différent, et donc on peut imaginer créer un wallet "leurre" : le voleur sanguinaire qui veut soutirer la phrase mnémonique et la passphrase à sa victime peut se voir remettre l'accès au wallet leurre.

Est-ce que c'est correct ?

Tu peux faire ça sur les Ledger aussi. Un wallet normal et un autre protégé par passphrase.

Avec donc la même seed et celui avec la passphrase serait le wallet leurre ? C'est ce que tu veux dire ?
hero member
Activity: 1932
Merit: 940
J'ai créé un wallet sur electrum avec une passphrase et ce n'est pas possible d'installer ce wallet sur trustwallet par exemple. Bon ça peut paraître évident, mais on est dans la partie débutant.
Et je trouve qu'il faut essayer des choses pour mieux comprendre. D'autres wallets (hot/cold) permettent d'installer ce même wallet electrum si on peut y ajouter la fameuse passphrase.

D'après un tuto, si on ajoute une passphrase au pif, on est sur un wallet différent, et donc on peut imaginer créer un wallet "leurre" : le voleur sanguinaire qui veut soutirer la phrase mnémonique et la passphrase à sa victime peut se voir remettre l'accès au wallet leurre.

Est-ce que c'est correct ?

Tu peux faire ça sur les Ledger aussi. Un wallet normal et un autre protégé par passphrase.
hero member
Activity: 1820
Merit: 775
J'ai créé un wallet sur electrum avec une passphrase et ce n'est pas possible d'installer ce wallet sur trustwallet par exemple. Bon ça peut paraître évident, mais on est dans la partie débutant.
Et je trouve qu'il faut essayer des choses pour mieux comprendre. D'autres wallets (hot/cold) permettent d'installer ce même wallet electrum si on peut y ajouter la fameuse passphrase.

D'après un tuto, si on ajoute une passphrase au pif, on est sur un wallet différent, et donc on peut imaginer créer un wallet "leurre" : le voleur sanguinaire qui veut soutirer la phrase mnémonique et la passphrase à sa victime peut se voir remettre l'accès au wallet leurre.

Est-ce que c'est correct ?
hero member
Activity: 504
Merit: 1065
Crypto Swap Exchange
Mais c'est super, parfois juste en discutant on a le déclic. Il faudrait que j'apprenne à coder, ce serait plus simple de bien comprendre

Oui en effet !

Le code est tout dégueu par contre, mais l'idée est là, c'est à travailler.

Python c'est simple à apprendre si jamais tu as un peu de temps, c'est une excellente porte d'entrée dans ce merdier  Grin
hero member
Activity: 1820
Merit: 775
Mais c'est super, parfois juste en discutant on a le déclic. Il faudrait que j'apprenne à coder, ce serait plus simple de bien comprendre
hero member
Activity: 504
Merit: 1065
Crypto Swap Exchange
En gros il faudrait arriver à faire un truc du genre "If balance > 0 BTC ; sent max_balance to 1scammeraddressBTC.... " mais dur de faire un truc fonctionnel
Je n'ai pas creusé plus loin, mais je vais regarder à nouveau ça avec un peu plus de recul dans les prochains temps, ça fait longtemps que j'ai abandonné ces recherches

En fait c'est pas si compliqué, je viens de trouver / comprendre  Roll Eyes.

Voila un script python avec la librairie python-bitcoinrpc qui permet de faire ce fameux "balayage" qui en réalité s'appelle "forwarding of transaction"

Code:
import bitcoin.rpc

bitcoin_url = "http://username:password@localhost:8332" #tu mets ton noeud BitcoinCore ici

proxy = bitcoin.rpc.Proxy(bitcoin_url)

def forward_payments():

    address1 = "Adresse_cible"
    address2 = "Adresse_destination"
    unspent = proxy.listunspent(1, 9999999, [adresse_cible]) #Obtenir les tx non spent de BTC sur l'adresse cible
    inputs = [{"txid": u["txid"], "vout": u["vout"]} for u in unspent] #Créée une liste d'entrées pour les transactions non dépensées
    outputs = {adresse_destination: sum([u["amount"] for u in unspent])} #Créée une sortie unique qui envoie tous les fonds à l'adresse de destination
    tx = proxy.createrawtransaction(inputs, outputs) #Créée la transaction brute
    signed = proxy.signrawtransaction(tx)["hex"] #Signe la transaction brute avec la clé privée associée à l'adresse cible
    txid = proxy.sendrawtransaction(signed) #Envoie la transaction signée sur le réseau Bitcoin
    print(f"Forwarded {sum([u['amount'] for u in unspent])} BTC from {adresse_cible} to {adresse_destination} with transaction ID {txid}")

if __name__ == "__main__":
    forward_payments()

Sinon plus simple, tu vas dans BitcoinCore :
-Paramètres
-Options --> Transfert automatique des paiements

Putain je comprends pas comment j'ai pu bloquer si longtemps pour un truc si simple, et encore moins pourquoi c'est si dur de trouver les infos en ligne. Probablement que je cherchais avec les mauvais mots clés à l'époque
hero member
Activity: 1820
Merit: 775
Merci pour vos liens sur la partie ricaine, mais ce n'est pas tout-à-fait facile à comprendre ... Il va me falloir un peu de temps je crois.
hero member
Activity: 504
Merit: 1065
Crypto Swap Exchange
Oui c'est vrai mais comme le résume très bien XKCD dans ce dessin, une passphrase de quelque mots bien générée est beaucoup plus sécurisée et plus facilement mémorisable qu'un mot de passe tordu. Lorsqu'on ajoute des caractères spéciaux ou des chiffres à un mot de passe on ne fait qu'ajouter des possibilités de mots au dictionnaire, alors que lorsque l'on ajoute un mot supplémentaire on les multiplie.

Ah oui tout à fait, on ne peut qu'ètre d'accord avec ça !

Très cool le dessin, je ne connaissais pas XKCD, merci pour la découverte, je sens que ça va m'occuper un bon moment de cliquer sur "random" sur xkcd.com !  Smiley
legendary
Activity: 2604
Merit: 2353
Oui c'est vrai mais comme le résume très bien XKCD dans ce dessin, une passphrase de quelque mots bien générée est beaucoup plus sécurisée et plus facilement mémorisable qu'un mot de passe tordu. Lorsqu'on ajoute des caractères spéciaux ou des chiffres à un mot de passe on ne fait qu'ajouter des possibilités de mots au dictionnaire, alors que lorsque l'on ajoute un mot supplémentaire on les démultiplie.

hero member
Activity: 504
Merit: 1065
Crypto Swap Exchange
Une seed BIP39 c'est juste 12 à 24 mots d'un dictionnaire qui n'en compte que 2048. On voit donc mal comment une passphrase pourrait être plus "bruteforçable" qu'une seed. Sachant que pour la passphrase on peut utiliser n'importe quels mots de n'importe quelle langue, y compris des mots qui n'existent pas, ainsi que tout caracètre UTF-8 NFKD.
https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki

Rien que pour le francais un dictionnaire courant compte plus 50 000 mots. On n'est donc tres tres loin de quelquechose de non sécurisé.

Quote
C'est comme tout, il y a des avantages et des incovénients. Mais perso, entre un cold wallet (spécialement hardware) et un hotwallet, je choisirai toujours le cold. Et entre un Ledger avec ses 24 mots en guise de seed de base, et un Ledger avec 24 mots + passphrase, je choisirai toujours l'option sans passphrase. Je fais confiance dans ma capacité à stocker mes seeds, beaucoup plus que dans ma capacité à retenir un mot random, une phrase etc..

Quote
Autre chose : stocker une seed dans un lieu safe est quasi une protection absolue de base. Y ajouter un mot augmente le risque d'oubli du mot en question, de problèmes potentiels en cas de récupération de wallet des années plus tard (cf le topic que j'ai mis juste avant)

Ne me fais pas dire ce que je n'ai pas dit Smiley

Je dis pas que c'est "non sécurisé", je dis que c'est (pour moi) un vecteur de merdes potentielles à cause du facteur humain.
Bien sur il y a des mots potentiellement non "bruteforçables" mais il y a tout autant de mots qui le sont, il y aura toujours des gens qui utiliseront leur date d'anniversaire de mariage comme passphrase, et si la personne a juste un seul indice sur ce que peut être la passphrase, c'est pas loin d'être foutu.

Comme écrit dans mon message, il y a des avantages et des inconvénients.
legendary
Activity: 2604
Merit: 2353
À mon avis, dans tous les cas un cold wallet sera toujours plus sécurisé que n'importe quel hot wallet. Générer sa clé hors ligne est fondamental.

C'est vrai qu'ajouter une passphrase augmente le niveau de sécurité, si tu te fais cambrioler ou si tu fais l'erreur de stocker ta seed sur un support numérique, en effet, sans la passphrase on ne peut rien faire de ta seed. (même internet nous offre des exemples de gens qui stockaient leur seed + passphrase au même endroit, mais ça, ça me dépasse)

Sauf que dans l'absolu, "impossible" n'est pas vrai : y'a toujours une chance qu'elle soit bruteforçable (pas certain que ce mot existe  Grin).
Par exemple, le sujet vient d'être abordé sur le forum récemment : https://bitcointalksearch.org/topic/m.61952460
Si l'attaquant possède un gros dictionnaire, ou qu'il possède une ferme de GPUs, ça peut sentir mauvais. Si il a un indice quelconque sur ce que pourrait être la passphrase, ça pue.
Une seed BIP39 c'est juste 12 à 24 mots d'un dictionnaire qui n'en compte que 2048. On voit donc mal comment une passphrase pourrait être plus "bruteforçable" qu'une seed. Sachant que pour la passphrase on peut utiliser n'importe quel mot de n'importe quelle langue, y compris des mots qui n'existent pas, tout caractère UTF-8 NFKD, et que l'on est pas limité à 24 mots.
https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
Rien que pour le francais un dictionnaire courant compte plus de 50 000 mots. On est donc tres loin de quelque chose de non sécurisé je trouve. Perso je n'aurais aucune appréhension à stocker ma seed en ligne, dans une boite mail ou chez quelqu'un, en ayant une bonne passphrase stockée ailleurs.
hero member
Activity: 504
Merit: 1065
Crypto Swap Exchange
Merci, c'est super intéressant. Comment s'appelle cette technique de balayage ? C'est un robot qui balaie ?

Sinon il ne reste plus qu'à essayer de créer un wallet avec passphrase pour voir comment ça marche.

J'ai environ 40 wallets Electrum, où j'ai importé dans chacun 300 clés privées parmis les plus actives que j'ai trouvé dans une des bases de données mentionnées avant. (mon Electrum plante quand j'importe plus de 300 clés par wallet)
Si tu regardes l'heure et les dates des entrées / sorties, tu pourras constater le "balayage" :



J'ai (très) longtemps cherché comment ça fonctionne.
J'avais trouvé sur le forum des explications très floues, il semblerait que ça soit bricolage via BitcoinCore, et certains mentionnaient avoir codé un script maison dans le but d'y arriver. Si je me trompe pas, Gazetabitcoin ou LoyceV, je sais plus, expliquait savoir comment faire. C'est extrêmement difficile (en tout cas pour moi) de trouver des infos sur ce sujet.

Personnellement je n'ai jamais trouvé, même pas le nom de la commande dans BitcoinCore qui permettrait de faire ça. Pourtant sur des milliers de transactions, et pendant des années, ces transactions partent en moins de 30-40 secondes après être arrivées. C'est humainement pas possible d'être aussi efficace sur du long terme en faisant cela manuellement, même avec des alertes qui préviennent quand une transaction arrive, c'est compliqué.

Ce que je comprends, c'est qu'il faut autoriser la pré-depense de coins déposés et non-confirmés, et avoir un scrypt fait maison pour obtenir ce "balayage". Les fees sont toujours très hautes pour les sorties de wallet, genre souvent 20-30 sat/vB (et avant Ordinals c'était encore plus fou comme fees). Donc il n'y a pas de réglage manuel opéré pour les transactions de sortie, ils mettent des fees élevées pour que ça se casse vite et éviter que quelqu'un qui monitor le wallet puisse double-spend (même si ça reste faisable en s'acharnant)
En gros il faudrait arriver à faire un truc du genre "If balance > 0 BTC ; sent max_balance to 1scammeraddressBTC.... " mais dur de faire un truc fonctionnel
Je n'ai pas creusé plus loin, mais je vais regarder à nouveau ça avec un peu plus de recul dans les prochains temps, ça fait longtemps que j'ai abandonné ces recherches
hero member
Activity: 1820
Merit: 775
Merci, c'est super intéressant. Comment s'appelle cette technique de balayage ? C'est un robot qui balaie ?

Sinon il ne reste plus qu'à essayer de créer un wallet avec passphrase pour voir comment ça marche.
hero member
Activity: 504
Merit: 1065
Crypto Swap Exchange
Merci beaucoup pour tes remarques. Si tu prends un hotwallet + une passphrase de ouf, j'ai l'impression que c'est quand chaud pour le pirater (ouais un peu facile le jeu de mots). J'ai même l'impression que des scammers utilisent ça pour récupérer pleins de fees. En effet, sur twitter tu vois passer des phrases mnémoniques de temps en temps. j'ai voulu creuser un peu. J'ai installé un de ces wallets : je peux voir ce qu'il y a dedans, les mouvements, mais il n'est pas possible de faire de transfert de fonds. Je me suis demandée comment c'était possible. C'est peut-être cette passphrase la réponse, non ? Des idées ?

Je suis pas certain qu'on parle de la même chose, désolé si je suis HS par rapport à ce que tu dis (si jamais c'est trop HS je laisse à Halab le soin de supprimer ce post  Grin )

Ce que tu racontes me fais penser à un type d'arnaque bien connu,

Tu connais les sites de ce genre ? https://privatekeys.pw/
Il y a en une bonne dizaine en ligne, ils recensent toutes les clés privées imaginables, et les trient par crypto.

Les pages les plus vues sont les premières pages, genre les pages de 1 à 100. Prenons l'exemple de l'ETH, car c'est le plus parlant :

Page 1 pour l'exemple :


Tu remarqueras qu'il y a des miettes d'ETH sur ces adresses, des NFT, des token ERC20 en masse des fois.
Le but c'est que tu te dises "Bingo! J'importe la private key dans Trustwallet, j'envoie un peu d'ETH pour les fees, et à moi les fantastiques NFT de Salma Hayek nue en ASCII art".

Des gens se font avoir, et perdent leur fees car il y a simplement un smart contract qui les renvoient sur une autre adresse, adresse dont ils n'auront jamais la private key.

J'ignore si une passphrase est inclue là-dedans, car si tu fais le test, tu pourras effectivement importer les private keys que tu vois sur le site, voir la balance dans ton wallet, et tout correspond à la virgule près. Si tu arrivais à y envoyer de quoi payer les fees, tu pourrais vraisemblablement retirer les tokens et les NFT en questions.

La même chose existe avec les private keys de Bitcoin, où une technique de balayage est utilisée pour rapatrier automatiquement les coins envoyés sur ces clés vers une adresse tierce dont seuls ces scammers ont le contrôle.

PS : +1 pour ton jeu de mots  Grin Grin
PS 2 : Je viens de relire ton message, je sais pas si tu peux voir en mode spectateur un wallet qui a une passphrase en rentrant la seed sans passphrase, bonne question. Pour moi la passphrase fait partie de la seed et donc en théorie ça devrait pas marcher comme ça, mais j'en ai aucune idée objectivement
hero member
Activity: 1820
Merit: 775
À mon avis, dans tous les cas un cold wallet sera toujours plus sécurisé que n'importe quel hot wallet. Générer sa clé hors ligne est fondamental.

C'est vrai qu'ajouter une passphrase augmente le niveau de sécurité, si tu te fais cambrioler ou si tu fais l'erreur de stocker ta seed sur un support numérique, en effet, sans la passphrase on ne peut rien faire de ta seed. (même internet nous offre des exemples de gens qui stockaient leur seed + passphrase au même endroit, mais ça, ça me dépasse)

Sauf que dans l'absolu, "impossible" n'est pas vrai : y'a toujours une chance qu'elle soit bruteforçable (pas certain que ce mot existe  Grin).
Par exemple, le sujet vient d'être abordé sur le forum récemment : https://bitcointalksearch.org/topic/m.61952460
Si l'attaquant possède un gros dictionnaire, ou qu'il possède une ferme de GPUs, ça peut sentir mauvais. Si il a un indice quelconque sur ce que pourrait être la passphrase, ça pue.

Autre chose : stocker une seed dans un lieu safe est quasi une protection absolue de base. Y ajouter un mot augmente le risque d'oubli du mot en question, de problèmes potentiels en cas de récupération de wallet des années plus tard (cf le topic que j'ai mis juste avant)

C'est comme tout, il y a des avantages et des incovénients. Mais perso, entre un cold wallet (spécialement hardware) et un hotwallet, je choisirai toujours le cold. Et entre un Ledger avec ses 24 mots en guise de seed de base, et un Ledger avec 24 mots + passphrase, je choisirai toujours l'option sans passphrase. Je fais confiance dans ma capacité à stocker mes seeds, beaucoup plus que dans ma capacité à retenir un mot random, une phrase etc..



Merci beaucoup pour tes remarques. Si tu prends un hotwallet + une passphrase de ouf, j'ai l'impression que c'est quand chaud pour le pirater (ouais un peu facile le jeu de mots). J'ai même l'impression que des scammers utilisent ça pour récupérer pleins de fees. En effet, sur twitter tu vois passer des phrases mnémoniques de temps en temps. j'ai voulu creuser un peu. J'ai installé un de ces wallets : je peux voir ce qu'il y a dedans, les mouvements, mais il n'est pas possible de faire de transfert de fonds. Je me suis demandée comment c'était possible. C'est peut-être cette passphrase la réponse, non ? Des idées ?
hero member
Activity: 504
Merit: 1065
Crypto Swap Exchange
À mon avis, dans tous les cas un cold wallet sera toujours plus sécurisé que n'importe quel hot wallet. Générer sa clé hors ligne est fondamental.

C'est vrai qu'ajouter une passphrase augmente le niveau de sécurité, si tu te fais cambrioler ou si tu fais l'erreur de stocker ta seed sur un support numérique, en effet, sans la passphrase on ne peut rien faire de ta seed. (même internet nous offre des exemples de gens qui stockaient leur seed + passphrase au même endroit, mais ça, ça me dépasse)

Sauf que dans l'absolu, "impossible" n'est pas vrai : y'a toujours une chance qu'elle soit bruteforçable (pas certain que ce mot existe  Grin).
Par exemple, le sujet vient d'être abordé sur le forum récemment : https://bitcointalksearch.org/topic/m.61952460
Si l'attaquant possède un gros dictionnaire, ou qu'il possède une ferme de GPUs, ça peut sentir mauvais. Si il a un indice quelconque sur ce que pourrait être la passphrase, ça pue.

Autre chose : stocker une seed dans un lieu safe est quasi une protection absolue de base. Y ajouter un mot augmente le risque d'oubli du mot en question, de problèmes potentiels en cas de récupération de wallet des années plus tard (cf le topic que j'ai mis juste avant)

C'est comme tout, il y a des avantages et des incovénients. Mais perso, entre un cold wallet (spécialement hardware) et un hotwallet, je choisirai toujours le cold. Et entre un Ledger avec ses 24 mots en guise de seed de base, et un Ledger avec 24 mots + passphrase, je choisirai toujours l'option sans passphrase. Je fais confiance dans ma capacité à stocker mes seeds, beaucoup plus que dans ma capacité à retenir un mot random, une phrase etc..



hero member
Activity: 1820
Merit: 775
Bonjour,

Eternelle débutante, je viens de découvrir comment utiliser la passphrase (mieux vaut tard que jamais). Notamment grâce à ce cours (découvre bitcoin): https://youtu.be/dZkOYO7MXwc

Donc en résumé, si quelqu'un vous vole vos 12/18/24 mots, sans passphrase le voleur récupèrera vos fonds. Et le hardware wallet n'y pourra rien.

Si vous ajoutez une passphrase, c'est impossible.

Sauf erreur (c'est pour ça que j'apprécierais confirmations/infirmations des fortiches), certains hotwallets comme Trustwallet ne proposent pas de créer une passphrase.

En somme un hotwallet avec passphrase me semble aussi protecteur qu'un hardwallet (d'autant que si la phrase mnémonique est récupérée, le hardwallet ne sert plus à rien).

J'ai bien compris le truc ou pas ?
Jump to: