Beweegt fir 2FA op der Blockchain ze sécheren

SMS Messagen sinn déi populärste Method vun Zwee-Faktor Authentifikatioun (2FA). Et gëtt vu Banken, elektroneschen a Krypto Portemonnaien, Mailboxen an all Zorte vu Servicer benotzt; d'Zuel vun de Method Benotzer ass op 100%.

Ech sinn indignéiert op dësem Szenario, well dës Method onsécher ass. D'Wiederbezuelung vun enger Nummer vun enger SIM Kaart op eng aner huet am Ufank vun der mobiler Ära ugefaang - dat ass wéi d'Zuel restauréiert gëtt wann eng SIM Kaart verluer ass. "Digital Geld Déifstall Spezialisten" realiséiert datt d'Optioun "SIM Kaart ëmschreiwen" kann a betrügeresche Schemaen benotzt ginn. Iwwerhaapt, deen deen d'SIM Kaart kontrolléiert, kann aner Leit d'Online Banking, elektronesch Portemonnaien, a souguer cryptocurrency kontrolléieren. An Dir kënnt d'Nummer vun enger anerer Persoun besëtzen duerch Bestiechung vun engem Telekom-Mataarbechter, Täuschung oder gefälschte Dokumenter.

Beweegt fir 2FA op der Blockchain ze sécheren

Dausende vun Episoden vun SIM Tauschen goufen opgedeckt, wéi dëst Bedruch Schema genannt gëtt. D'Skala vun der Katastroph suggeréiert datt d'Welt geschwënn 2FA iwwer SMS opginn. Mä dëst geschitt net - an Fuerschung si soen datt et net d'Benotzer sinn déi d'2FA Method wielen, mee Servicebesëtzer.

Mir proposéieren déi sécher 2FA Method mat der Liwwerung vun eemolege Coden iwwer de Blockchain ze benotzen, a mir soen Iech wéi de Servicebesëtzer et verbënnt.

D'Zuel geet a Millioune

Am Joer 2019 ass SIM Swap Bedruch ëm 63% eropgaang no der Londoner Police, an den "Duerchschnëttsrechnung" vun engem Ugräifer war 4,000 GBP. Ech hunn keng Statistiken a Russland fonnt, mee ech huelen un datt se nach méi schlëmm sinn.

SIM Swapping gëtt benotzt fir populär Twitter, Instagram, Facebook, VK Konten, Bankkonten a viru kuerzem souguer Krypto-Währungen ze klauen - D'Zeitung Times bericht laut Bitcoin Entrepreneur Joby Weeks. Héich-Profil Fäll vun cryptocurrency Déifstall mat SIM-Austausch hunn an der Press zënter 2016 opgedaucht; 2019 huet e richtegen Héichpunkt gesinn.

Am Mee, den US Attorney's Office fir den Ostdistrikt vu Michigan Käschten bruecht néng jonk Leit tëscht dem Alter vun 19 a 26: Si ginn ugeholl datt si Deel vun enger Hacker-Bande mam Numm "The Community" sinn. D'Bande gëtt mat siwen Tausattacken ugeklot, als Resultat vun deenen d'Hacker cryptocurrency am Wäert vun iwwer $2,4 Millioune geklaut hunn. An am Abrëll, Kalifornien Student Joel Ortiz krut 10 Joer Prisong fir SIM Tausch; seng Produktioun war $ 7.5 Milliounen an cryptocurrency.

Beweegt fir 2FA op der Blockchain ze sécheren
Foto vum Joel Ortiz op enger Uni Pressekonferenz. Zwee Joer méi spéit gëtt hie wéinst Cyberbedruch festgehalen.

Wéi SIM Swap funktionnéiert

"Austausch" heescht Austausch. An all esou Schemaen iwwerhuelen d'Krimineller d'Telefonsnummer vum Affer, normalerweis duerch d'Erausfuerderung vun enger SIM Kaart, a benotzen se fir d'Passwuert zréckzesetzen. En typesche SIM Swap an der Theorie gesäit esou aus:

  1. Intelligenz Service. Fraudsters fannen d'perséinlech Informatioun vum Affer eraus: Numm an Telefonsnummer. Si kënnen an oppene Quellen (sozialen Netzwierker, Frënn) fonnt ginn oder vun engem Kompliz kritt ginn - en Employé vun engem mobilen Bedreiwer.
  2. Blockéieren. D'SIM Kaart vum Affer ass deaktivéiert; Fir dëst ze maachen, rufft just d'technesch Ënnerstëtzung vum Provider un, gitt d'Nummer a sot datt den Telefon verluer ass.
  3. Capture, Transfert d'Nummer op Är SIM Kaart. Normalerweis gëtt dat och duerch e Kompliz an der Telekommunikatiounsfirma oder duerch Fälschung vun Dokumenter gemaach.

Am richtege Liewen sinn d'Saachen nach méi schwéier. Ugräifer wielt en Affer an verfollegen dann de Standuert vum Telefon all Dag - eng Ufro fir Informatioun ze kréien datt den Abonnent op Roaming gewiesselt ass kascht 1-2 Cent. Soubal de Besëtzer vun der SIM Kaart an d'Ausland gaangen ass, verhandelt se mam Manager am Kommunikatiounsgeschäft fir eng nei SIM Kaart erauszestellen. Et kascht ongeféier $ 50 (Ech hunn Informatiounen fonnt - a verschiddene Länner a mat verschiddene Betreiber vun $ 20 bis $ 100), an am schlëmmste Fall gëtt de Manager entlooss - et gëtt keng Verantwortung fir dës.

Elo gëtt all SMS vun Ugräifer kritt, an de Besëtzer vum Telefon kann näischt doriwwer maachen - hien ass am Ausland. An dann kréien d'Béiser Zougang zu all de Konten vum Affer an änneren Passwierder wann Dir wëllt.

Chancen fir geklauten Eegentum zréckzekommen

Banken ënnerhuelen heiansdo Affer hallef an entzéien Transfere vun hire Konten. Dofir ass et méiglech Fiat Suen zréckzekommen, och wann de Kriminell net fonnt gëtt. Mä mat cryptocurrency Portemonnaien ass alles méi komplizéiert - an technesch, a legislativ. Bis elo huet keen eenzegen Austausch / Portemonnaie Kompensatioun un d'Affer vum Tausch bezuelt.

Wann d'Affer hir Sue viru Geriicht verdeedegen wëllen, schëlleg se de Bedreiwer: hien huet d'Konditioune fir de Vol vu Suen aus dem Kont erstallt. Genee dat hunn ech gemaach Michael Turpin, deen duerch Tauschen 224 Milliounen Dollar verluer huet.Hie verklot elo d'Telekommunikatiounsfirma AT&T.

Beweegt fir 2FA op der Blockchain ze sécheren

Bis elo huet kee Staat Aarbechtsschemaen fir d'Besëtzer vun Krypto-Währungen legal ze schützen. Et ass onméiglech Äert Kapital ze versécheren oder Kompensatioun fir säi Verloscht ze kréien. Dofir ass d'Vermeiden vun engem Swap-Attack méi einfach wéi mat sengen Konsequenzen ëmzegoen. Déi offensichtlechst Manéier ass e méi zouverléissege "zweete Faktor" fir 2FA ze benotzen.

SIM Swap ass net deen eenzege Problem mat 2FA iwwer SMS

Bestätegungscoden an SMS sinn och aus technescher Siicht onsécher. Messagen kënnen ofgefaangen ginn wéinst onpatchéierte Schwachstelle am Signalsystem 7 (SS7). 2FA iwwer SMS ass offiziell als onsécher unerkannt (den US National Institute of Standards and Technology seet dëst a sengem Digital Authentifikatioun Guide).

Zur selwechter Zäit gëtt d'Präsenz vun 2FA dacks dem Benotzer e Gefill vu falscher Sécherheet, an hie wielt e méi einfacht Passwuert. Dofir mécht esou Authentifikatioun et net schwéier, awer mécht et méi einfach fir en Ugräifer Zougang zum Kont ze kréien.

An dacks komme SMSen mat laanger Verspéidung oder kommen guer net.

Aner 2FA Methoden

Natierlech huet d'Liicht net op Smartphones an SMS konvergéiert. Et ginn aner Methoden vun 2FA. Zum Beispill, eent-Zäit TAN Coden: eng primitiv Method, mä et Wierker - et ass nach an e puer Banken benotzt. Et gi Systemer déi biometresch Donnéeën benotzen: Fangerofdréck, Netzhautscannen. Eng aner Optioun, déi schéngt wéi e vernünfteg Kompromiss a punkto Komfort, Zouverlässegkeet a Präis ass speziell Uwendungen fir 2FA: RSA Token, Google Authenticator. Et ginn och kierperlech Schlësselen an aner Methoden.

An Theorie gesäit alles logesch an zouverlässeg. Awer an der Praxis hunn modern 2FA Léisungen Problemer, a wéinst hinnen ënnerscheet sech d'Realitéit vun den Erwaardungen.

Nëmmen Fuerschung, d'Benotzung vun 2FA ass am Prinzip en Onbequemlechkeet, an d'Popularitéit vun 2FA iwwer SMS gëtt erkläert duerch "manner Nodeel am Verglach mat anere Methoden" - Eemol Coden ze kréien ass verständlech fir de Benotzer.

D'Benotzer verbannen vill 2FA Methoden mat der Angscht datt den Zougang verluer geet. De kierperleche Schlëssel oder d'Lëscht vun de TAN Passwierder ka verluer oder geklaut ginn. Ech perséinlech hu schlecht Erfahrungen mam Google Authenticator. Mäin éischte Smartphone mat dëser Applikatioun ass gebrach - appréciéiert meng Efforten fir den Zougang zu menge Konten ze restauréieren. En anere Problem ass op en neien Apparat ze wiesselen. Google Authenticator huet keng Exportoptioun wéinst Sécherheetsgrënn (wann Schlësselen exportéiert kënne ginn, wéi eng Sécherheet gëtt et?). Eemol hunn ech d'Schlësselen manuell gedroen, an dunn hunn ech décidéiert datt et méi einfach war den alen Smartphone an enger Këscht op engem Regal ze loossen.

D'2FA Method soll sinn:

  • Séchert - nëmmen Dir an net Ugräifer sollten Zougang zu Ärem Kont kréien
  • Zouverlässeg - Dir kritt Zougang zu Ärem Kont wann Dir et braucht
  • Praktesch an zougänglech - 2FA benotzen ass kloer an hëlt minimal Zäit
  • Bëlleg

Mir gleewen datt Blockchain déi richteg Léisung ass.

Benotzt 2FA op der Blockchain

Fir de Benotzer gesäit 2FA op der Blockchain d'selwecht aus wéi eng eemoleg Coden iwwer SMS ze kréien. Deen eenzegen Ënnerscheed ass de Liwwerkanal. D'Method fir en 2FA Code ze kréien hänkt dovun of wat de Blockchain bitt. An eisem Projet (Informatioun ass a mengem Profil) ass dëst eng Webapplikatioun, Tor, iOS, Android, Linux, Windows, MacOS.

De Service generéiert en eemolege Code a schéckt en un de Messenger op der Blockchain. Follegt dann d'Klassiker: de Benotzer gitt de kritt Code an der Service-Interface an a loggt sech un.

Beweegt fir 2FA op der Blockchain ze sécheren

Den Artikel Wéi funktionnéiert en dezentraliséierte Messenger op der Blockchain? Ech hunn geschriwwen datt Blockchain d'Sécherheet an d'Privatsphär vun der Messageiwwerdroung garantéiert. Wat d'Fro vun der Sendung vun 2FA Coden ugeet, wäert ech Highlight:

  • Ee Klick fir e Kont ze kreéieren - keng Telefonen oder E-Mailen.
  • All Messagen mat 2FA Coden sinn verschlësselte End-to-End curve25519xsalsa20poly1305.
  • MITM Attack ass ausgeschloss - all Message mam 2FA Code ass eng Transaktioun op der Blockchain a gëtt vum Ed25519 EdDSA ënnerschriwwen.
  • De Message mam 2FA Code endet an engem eegene Block. D'Sequenz an d'Zäitstempel vun de Blocken kënnen net korrigéiert ginn, an dofir d'Uerdnung vun de Messagen.
  • Et gëtt keng zentral Struktur déi d'"Authentizitéit" vun engem Message kontrolléiert. Dëst gëtt gemaach vun engem verdeelt System vun Noden baséiert op Konsens, an et ass am Besëtz vun de Benotzer.
  • Kann net behënnert ginn - Konte kënnen net blockéiert ginn a Messagen kënnen net geläscht ginn.
  • Zougang zu 2FA Coden vun all Apparat zu all Moment.
  • Bestätegung vun Message Liwwerung mat 2FA Code. De Service deen dat eemolegt Passwuert schéckt, weess sécher datt et geliwwert gouf. Keng "Schécken erëm" Knäppercher.

Fir mat e puer aner 2FA Methoden ze vergläichen, hunn ech en Dësch gemaach:

Beweegt fir 2FA op der Blockchain ze sécheren

De Benotzer kritt e Kont am Blockchain Messenger fir Coden an enger Sekonn ze kréien - nëmmen e Passphrase gëtt benotzt fir aloggen. Dofir kënnen d'Methoden vun der Uwendung anescht sinn: Dir kënnt ee Kont benotze fir Coden fir all Servicer ze kréien, oder Dir kënnt e separaten Kont fir all Service erstellen.

Et gëtt och en Nodeel - de Kont muss op d'mannst eng Transaktioun hunn. Fir de Benotzer eng verschlësselte Message mat engem Code ze kréien, musst Dir säin ëffentleche Schlëssel kennen, an et erschéngt am Blockchain nëmme mat der éischter Transaktioun. Esou hu mir et fäerdeg bruecht, dovunner erauszekommen: Mir hunn hinnen d’Méiglechkeet ginn, gratis Tokens an hire Portemonnaie ze kréien. Wéi och ëmmer, eng besser Léisung ass de Kont en ëffentleche Schlëssel ze nennen. (Zum Verglach hu mir eng Kontosnummer U1467838112172792705 ass eng Derivat vum ëffentleche Schlëssel cc1ca549413b942029c4742a6e6ed69767c325f8d989f7e4b71ad82a164c2ada. Fir de Messenger ass dëst méi praktesch a liesbar, awer fir de System fir 2FA Coden ze schécken ass et eng Begrenzung). Ech mengen, datt an Zukunft een esou eng Decisioun wäert huelen an "Convenience and Accessibility" an d'Gréngzon plënneren.

De Präis fir en 2FA Code ze schécken ass wierklech niddereg - 0.001 ADM, elo ass et 0.00001 USD. Erëm, Dir kënnt Är Blockchain erhéijen an de Präis null maachen.

Wéi verbënnt 2FA op der Blockchain mat Ärem Service

Ech hoffen ech konnt e puer Lieser interesséieren fir Blockchain Autorisatioun fir hir Servicer ze addéieren.

Ech soen Iech wéi Dir dëst maacht mat eisem Messenger als Beispill, an duerch Analogie kënnt Dir eng aner Blockchain benotzen. An der 2FA Demo App benotze mir postgresql10 fir Kontinformatioun ze späicheren.

Verbindungsstadien:

  1. Erstellt e Kont op der Blockchain aus deem Dir 2FA Coden schéckt. Dir kritt e Passphrase, deen als private Schlëssel benotzt gëtt fir Messagen mat Coden ze verschlësselen an Transaktiounen z'ënnerschreiwen.
  2. Füügt e Skript op Äre Server fir 2FA Coden ze generéieren. Wann Dir schonn eng aner 2FA Method mat enger eemoleger Passwuert Liwwerung benotzt, hutt Dir dëse Schrëtt schonn ofgeschloss.
  3. Füügt e Skript op Äre Server fir Coden un de Benotzer am Blockchain Messenger ze schécken.
  4. Erstellt eng User-Interface fir en 2FA Code ze schécken an anzeginn. Wann Dir schonn eng aner 2FA Method mat enger eemoleger Passwuert Liwwerung benotzt, hutt Dir dëse Schrëtt schonn ofgeschloss.

1 Erstellt e Kont

E Kont an der Blockchain erstellen heescht e private Schlëssel generéieren, en ëffentleche Schlëssel, an eng ofgeleet Kontoadress.

Beweegt fir 2FA op der Blockchain ze sécheren

Als éischt gëtt de BIP39 Passphrase generéiert, an de SHA-256 Hash gëtt dovun berechent. Den Hash gëtt benotzt fir de private Schlëssel ks an den ëffentleche Schlëssel kp ze generéieren. Vum ëffentleche Schlëssel, mat der selwechter SHA-256 mat Inversioun, kréien mir d'Adress an der Blockchain.

Wann Dir 2FA Coden all Kéier vun engem neie Kont wëllt schécken, da muss de Kontkreatiounscode op de Server bäigefüügt ginn:

import Mnemonic from 'bitcore-mnemonic'
this.passphrase = new Mnemonic(Mnemonic.Words.ENGLISH).toString()

…

import * as bip39 from 'bip39'
import crypto from 'crypto'

adamant.createPassphraseHash = function (passphrase) {
  const seedHex = bip39.mnemonicToSeedSync(passphrase).toString('hex')
  return crypto.createHash('sha256').update(seedHex, 'hex').digest()
}

…

import sodium from 'sodium-browserify-tweetnacl'

adamant.makeKeypair = function (hash) {
  var keypair = sodium.crypto_sign_seed_keypair(hash)
  return {
    publicKey: keypair.publicKey,
    privateKey: keypair.secretKey
  }
}

…

import crypto from 'crypto'

adamant.getAddressFromPublicKey = function (publicKey) {
  const publicKeyHash = crypto.createHash('sha256').update(publicKey, 'hex').digest()
  const temp = Buffer.alloc(8)
  for (var i = 0; i < 8; i++) {
    temp[i] = publicKeyHash[7 - i]
  }
  return 'U' + bignum.fromBuffer(temp).toString()
}

An der Demo-Applikatioun hu mir et vereinfacht - mir hunn ee Kont an der Webapplikatioun erstallt a Coden dovunner geschéckt. Am meeschte Fäll ass dëst och méi bequem fir de Benotzer: hie weess datt de Service 2FA Coden vun engem spezifesche Kont schéckt a kann et nennen.

Beweegt fir 2FA op der Blockchain ze sécheren

2 Generéiere 2FA Coden

En 2FA Code muss fir all Benotzer Login generéiert ginn. Mir benotzen d'Bibliothéik schwätzen einfach, mee du kanns all aner wielen.

const hotp = speakeasy.hotp({
  counter,
  secret: account.seSecretAscii,
});

Iwwerpréift d'Gëltegkeet vum 2FA Code, dee vum Benotzer aginn ass:

se2faVerified = speakeasy.hotp.verify({
  counter: this.seCounter,
  secret: this.seSecretAscii,
  token: hotp,
});

3 Schécken 2FA Code

Fir en 2FA Code ofzeginn, kënnt Dir de Blockchain Node API, JS API Bibliothéik oder d'Konsol benotzen. An dësem Beispill benotze mir d'Konsole - dëst ass de Command Line Interface, en Utility dat d'Interaktioun mat der Blockchain vereinfacht. Fir e Message mat engem 2FA Code ze schécken, musst Dir de Kommando benotzen send message konsoll.

const util = require('util');
const exec = util.promisify(require('child_process').exec);

…

const command = `adm send message ${adamantAddress} "2FA code: ${hotp}"`;
let { error, stdout, stderr } = await exec(command);

Eng alternativ Manéier fir Messagen ze schécken ass d'Method ze benotzen send an der JS API Bibliothéik.

4 Benotzer Interface

De Benotzer muss d'Méiglechkeet ginn en 2FA Code anzeginn, dëst kann op verschidde Manéiere gemaach ginn ofhängeg vun Ärer Applikatiounsplattform. An eisem Beispill ass dëst Vue.

Beweegt fir 2FA op der Blockchain ze sécheren

De Quellcode vun der Demo-Applikatioun fir Zwee-Faktor Authentifikatioun op der Blockchain ka gekuckt ginn GitHub. Et gëtt e Link am Readme op eng Live Demo fir et auszeprobéieren.

Source: will.com

Setzt e Commentaire