Bitcoin Forum
November 17, 2024, 01:27:03 PM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Site web secure sans login/password  (Read 2266 times)
TotalPanda (OP)
Legendary
*
Offline Offline

Activity: 1946
Merit: 1012

vertex output parameter not completely initialized


View Profile
October 31, 2015, 07:10:10 PM
Last edit: October 31, 2015, 07:20:31 PM by TotalPanda
 #1

Il n'y a que les cookies ?
D'autres méthodes fiables existent-elles basées sur le blockchain ou pas (ceci est une question)  ?
J'ai pas creusé (ou pas percuté).
Merci  Grin



chagry
Sr. Member
****
Offline Offline

Activity: 500
Merit: 327


Partage des connaissances pour évoluer.


View Profile WWW
October 31, 2015, 08:18:43 PM
Last edit: November 04, 2015, 03:24:37 AM by chagry
 #2

Il n'y a que les cookies ?
D'autres méthodes fiables existent-elles basées sur le blockchain ou pas (ceci est une question)  ?
J'ai pas creusé (ou pas percuté).
Merci  Grin


Site : http://chagry.com
Repositories github pour le serveur en php : https://github.com/chagry/Server-RPC-Framework
Repositories github pour le client en js : https://github.com/chagry/Client-RPC-Framework

Video Youtube

Chagry.com Consultant en Crypto-monnaie, Blockchain, Trading, Implémentation, Automatisation. || ibtc.cash Simple HTML Page for Bitcoin Payments System. || mircoin.com Easy Brain & Paper Bitcoin Wallet.
Meuh6879
Legendary
*
Offline Offline

Activity: 1512
Merit: 1012



View Profile
October 31, 2015, 09:40:12 PM
 #3

D'autres méthodes fiables existent-elles basées sur le blockchain ou pas (ceci est une question)  ?

https://www.youtube.com/watch?v=2N_xD1eIFss

blague à part, tu crois franchement que le login et le mdp te sauveront si ta partie serveur est en rade (suite à du DDOS sur l'IP fixe reliée ? Et puis bonne chance pour justifier le traffic lié en question ... si t'es un peu à coté de tes sous)
TotalPanda (OP)
Legendary
*
Offline Offline

Activity: 1946
Merit: 1012

vertex output parameter not completely initialized


View Profile
November 01, 2015, 04:55:09 AM
Last edit: November 01, 2015, 05:14:54 AM by TotalPanda
 #4

Meuh : Je n'en sais rien...
Chagry :  merci, c'est très intéressant, je vais creuser
btchip
Hero Member
*****
Offline Offline

Activity: 623
Merit: 500

CTO, Ledger


View Profile WWW
November 01, 2015, 03:12:35 PM
 #5

Il y a pas mal de protocoles qui commencent à arriver, tous basés sur des challenges asymétriques.

Dans le monde Bitcoin, il y a BitID http://bitid.bitcoin.blue/ - compatible avec Airbitz, Mycelium et Ledger (et aussi DarkWallet, enfin RIP quoi)

Il y a aussi TREZOR Connect pour ceux qui aiment les solutions propriétaires qui laissent l'utilisateur sans compte quand on a perdu son appareil https://github.com/trezor/connect

Et d'autres travaillent aussi sur leur protocole (genre Onename) - https://github.com/blockstack/blockchain-auth-js ; l'idée en plus sera d'avoir quelque chose de complètement décentralisé (mais c'est encore alpha), basé sur Blockstore https://github.com/blockstack/blockstore

Sinon dans le monde du dehors, on trouve FIDO U2F, qui est déjà adopté par Google, Github et Dropbox avec pas mal de ressources dispo pour l'intégrer facilement. Ce n'est pas directement un login sans mot de passe (c'est un second facteur robuste qui utilise une clé externe), mais ça peut facilement etre utilisé comme ça. https://www.yubico.com/applications/fido/

Et pour terminer dans le meme registre, SQRL avec un téléphone - https://www.grc.com/sqrl/sqrl.htm

J'aurais tendance à conseiller U2F pour une nouvelle intégration vu la traction qu'ils peuvent avoir. J'en ai fait une implémentation Open Source sur KeepKey pendant un meeting un peu trop long, pour ceux qui voudraient avoir des idées https://github.com/LedgerHQ/keepkey-firmware/tree/u2f


TotalPanda (OP)
Legendary
*
Offline Offline

Activity: 1946
Merit: 1012

vertex output parameter not completely initialized


View Profile
November 01, 2015, 07:34:03 PM
 #6

Merci btchip !
chagry
Sr. Member
****
Offline Offline

Activity: 500
Merit: 327


Partage des connaissances pour évoluer.


View Profile WWW
November 03, 2015, 03:12:22 AM
Last edit: November 03, 2015, 04:16:33 AM by chagry
 #7

Ce qui est intéressant, c'est que le système de bitcoin apporte déjà une solution de cryptographie asymétriques qu’on peut utiliser pour la partie connexion sans pour autant passer par une api tiers ou d’installer des applications sur le serveur, ce qui serait impossible avec un hébergement mutualisé.

Le bitcoin nous permet de générer une adresse qui est notre identifiant public et une clé privée. Puis il nous permet de faire des signatures avec cette clé et vérifiable avec notre identifiant public. Au final, il nous reste plus qu'à transmettre au serveur l’identifiant public et toute information qui sera transmise sera signée par la clé. Toutes les fonctions existent déjà et sont distribuer en open source.

Cas d’utilisation.

Côté Clients, nous avons une application développée en JavaScript (js). Il nous suffit d’utiliser bitcoinjs. Le client entre une phrase secrète. À partir de cette phrase, un identifiant public est générait et envoyer au serveur.


Code:
<script type="text/javascript">
    // Creat hash of pass phrase.
    var hash = Crypto.SHA256('a', { asBytes: true });

    // Init bitcoin
    var sec = new Bitcoin.ECKey(hash);

    // Add address bitcoin.
    var adr = ''+sec.getBitcoinAddress();

    // Add key bitcoin.
    var key = ''+sec.getExportedPrivateKey();
</script>


Si le client veut envoyer une information au serveur, on utilise la phrase pour générait la clé et signer l’information.

Côté serveur, il nous reste plus qu'a vérifier la signature du client avec son identifiant publique qui est son adresse bitcoin. Si vous utiliser nodejs, il vous suffit d’installer bitcoinjs, si vous utiliser php, il y a ces lib qui sont disponible : bitcoin-php ou bitcoin-signature-routines

Cas de sécurité.
  • Pendant tout le temps de l’exécution de l’application, la phrase secrète reste sur l’ordinateur du client dans une variable js, et n’est jamais transmise au serveur. Mais elle est sauvegardée en claire dans la variable. Pour palier a ça, on peut utiliser un cryptage symétrique : CRP-Crypt Symmetric Cryptography
  • Au moment ou le client rentre ça phrase secrète, on lui demande d’inventer un code pin pour cette session. Le code pin est utiliser pour crypter la phrase, et on ne sauvegarde pas le code pin. La phrase et crypter dans la variable js sur la machine du client.
  • Maintenant si le client doit faire une signature ou juste voire ça clé privée, il devra composer son code pin pour déchiffrer la phrase contenue dans la variable js sur ça machine.
  • C’est un cas assez pratique si vous êtes au bureau ou chez vous et que vous aller aux toilettes, votre collègue, votre femme ou homme ne pourront pas accéder à votre clé sans avoir le code pin.
  • À chaque nouvelle connexion, vous pouvez inventer un nouveau code pin.

Il y a plusieurs avantages à utiliser le system cryptographique du bitcoin directement.
  • Plus de bases de données avec des informations sensibles comme le pass, ce qui enlève pas mal de problème de sécurité.
  • Le client reste maître de sa phrase qui ne quitte jamais ça machine.
  • Je suis sure de l’information de mon client qui est signé avec ça clé.
  • Il n'y a plus besoin de stoker les informations de connexion, car ils seront régénérait de nouveau, des que le client rentrera ça phrase secrète.
  • On peut utiliser l’identifiant pour transmettre des bitcoin au client ou l’inverse.

J’utilise ce système dans le framework chagry ou dans le portefeuille mircoin.

Chagry.com Consultant en Crypto-monnaie, Blockchain, Trading, Implémentation, Automatisation. || ibtc.cash Simple HTML Page for Bitcoin Payments System. || mircoin.com Easy Brain & Paper Bitcoin Wallet.
TotalPanda (OP)
Legendary
*
Offline Offline

Activity: 1946
Merit: 1012

vertex output parameter not completely initialized


View Profile
November 04, 2015, 04:31:17 AM
Last edit: December 01, 2015, 10:55:57 AM by TotalPanda
 #8

OK merci chagry
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!