Tietoja: |
- Miniscriptin avulla on mahdollista rakentaa Bitcoin-ohjelmistolompakoita, jotka tekevät takaoven hyödyntämisen mahdottomaksi. Olemme iloisia voidessamme sanoa, että Ledger on ensimmäinen kaupallinen laitteistolompakkovalmistaja, joka tukee miniscriptiä.
- Lisäominaisuudet voidaan ottaa käyttöön käyttäjäkokemuksesta tinkimättä. |
Laitteiston allekirjoituslaitteet on suunniteltu suojaamaan käyttäjää useilta yleisiltä hyökkäysvektoreilta, kuten:
- Siementen luvaton pääsy ja poistaminen
- Haittaohjelma, joka saastuttaa liittyvän ohjelmistolompakkoasi
- Ohjelmiston haavoittuvuudet itse laitteessa
Kuten minkä tahansa yrityksen, valmistajan edun mukaista on valmistaa laitteita sellaisina kuin ne ovat rikkoutumaton kuin voivat. Onnistuminen tässä tehtävässä on ensiarvoisen tärkeää, ja Ledgerin kaltaiset turvallisuusyritykset luottavat maineeseensa, joka on rakennettu heidän saavutuksiinsa.
Joillakin käyttäjillä saattaa kuitenkin olla huolia. Mikä estää yritystä itseään piiloutumasta a takaoven laitteissa?
Itsehuollossa me älä luota, tarkistamme.
Mutta voiko käyttäjä ihan oikeesti Tarkista, ettei laitteessa ole takaovea?
Tämä on tämän artikkelin avainkysymys. Tarkemmin sanottuna tässä artikkelissa käsitellään seuraavia aiheita:
- mikä on takaovi ja miksi on vaikeaa, ellei mahdotonta, todistaa, ettei sitä ole;
- miksi vain käyttäjät voivat suojautua tältä riskiltä;
- kuinka miniscript mahdollistaa käytännön ratkaisut tähän haasteeseen bitcoin-lompakoissa.
Olemalla ensimmäinen tukema laitteistolompakko minikirjoitus, toivomme inspiroivamme kehittäjiä rakentamaan turvallisia ratkaisuja ja päivittämään koko toimialaamme ja eliminoimaan tällaisen järjestelmäriskin mahdollisuuden koskaan toteutua.
Kuinka rakentaa takaovematon allekirjoituslaite
Sanotaanpa selkeästi: et voi.
Puolustaaksesi itseäsi mahdolliselta takaovelta, tarvitset erilaisen hyökkäysmallin kuin yllä hahmottelemamme: tässä skenaariossa vastustaja voi olla myyjä itse tai vioittunut sisäpiiriläinen.
Usein mainostettu ratkaisu tähän ongelmaan on avoin lähdekoodi: jos voit tarkistaa koodin, mikä voisi mennä pieleen?
Totuus on kuitenkin monimutkaisempi. Koska myyjä kokoaa laitteiston, takaovi voi olla kokonaan sen sisällä. Laitteisto voidaan suunnitella jättämään ohjelmisto tietyissä kohdissa huomioimatta ja suorittamaan sen sijaan haitallista koodia.
Toisin kuin ohjelmistot, jotka toimivat yleiskäyttöisissä tietokoneissa (kuten kannettavassa tietokoneessa tai puhelimessa), laitteiston tarkasteleminen on käytännössä mahdotonta nykytekniikalla. Vaikka laitteistospesifikaatiot olisivat täysin avoimen lähdekoodin ja piirin jokaisen portin yksityiskohdat, tarvitset silti kalliita laitteita varmistaaksesi, että tietty siru on rakennettu niiden mukaisesti.
Kuinka avata laitteistolompakko takaoveen
Tässä on muutamia yksinkertaisimpia menetelmiä, joita haittaohjelmien myyjät voivat käyttää takaoven käyttöönotossa, sekä tapoja, joilla tehokäyttäjät voivat suojata itseään nykyään.
Siementen sukupolvi
Monet laitteet tarjoavat sinulle mahdollisuuden luoda siemen (kutsutaan myös Salainen palautuslause) suoraan laitteeseen käyttämällä a Todellinen satunnaislukugeneraattori.
😈 Paha laite voi tuottaa siemeniä, jotka näyttävät sattumanvaraisilta, mutta ovat itse asiassa hyökkääjän ennustettavissa.
🛡️ Tehokäyttäjät voivat kiertää tämän ongelman luomalla muistiinpanon offline-tilassa. Lisäksi mukana vankka tunnuslause voi myös luoda täysin itsenäisen siemenen, jota laitteistotoimittaja ei voi ennustaa. Kompromissi on, että käyttäjien on varmistettava, että he varmuuskopioivat salalauseen oikein muistosanojen lisäksi.
Julkisen avaimen johtaminen
Hardware lompakot johdetaan ja viedään julkiset avaimet (kutsutaan myös xpubs, lyhenne jstk laajennettu julkinen avain kohdassa määriteltynä BIP-32. xpubs käytetään luomaan mahdolliset osoitteet kolikoiden vastaanottamista varten.
😈 Paha laite voisi palauttaa hyökkääjän hallitsemia julkisia avaimia oikeiden siemenestä johdettujen avainten sijaan.
🛡️ Käyttäjät voivat vahvistaa johdetun xpub toisella offline-laitteella. Siemenen syöttämiseen muihin laitteisiin liittyy kuitenkin omat riskinsä. Tietoturvatietoiset käyttäjät saattavat pitää mitä tahansa siemeneen päässyt laitetta vaarallisena, ja ne voivat tuhota ne. Tavallisella käyttäjällä saattaa olla vaikeuksia suorittaa tämä toimenpide oikein samalla kun hän hallitsee lisäriskejä.
Tietojen vuotaminen
An ilmaväli on usein ehdotettu ratkaisuksi, jolla estetään haitallista tai vaarantunutta laitetta tunkeutumasta yksityisiin avaimiin. Loppujen lopuksi, jos laite ei pysty kommunikoimaan ulkomaailman kanssa, se ei voi tehdä mitään haitallista, eikö?
Ei aivan!
Laite voi aina kommunikoida, kun se on käytössä: se tuottaa allekirjoituksia. Nämä allekirjoitukset päätyvät tapahtumiin, jotka lähetetään ja tallennetaan ikuisesti lohkoketjuun.
Allekirjoitus on satunnainen tavujono, jossa on vähintään 64 tavua. Koska useampi kuin yksi kelvollinen allekirjoitus voi kuitenkin vastata samaa viestiä, haitallinen laite voisi välittää muutaman bitin tietoa joka kerta, kun allekirjoitus tuotetaan, generoimalla useita allekirjoituksia ja valitsemalla valikoivasti, mitkä julkaistaan.
😈 Roistolaite saattaa tuottaa ei-satunnaisia allekirjoituksia, jotka monien tapahtumien aikana paljastavat siemenen hyökkääjälle!
Tällaisen takaoven asentamisessa onnistuneen hyökkääjän täytyisi vain odottaa haitallisten allekirjoitusten ilmestymistä lohkoketjuun, kunnes heillä on tarpeeksi tietoa koko siemenen rekonstruoimiseksi.
🛡️ ECDSA-allekirjoituksille käyttämällä standardoitua menetelmää nonce deterministiseen johtamiseen (esim. RFC6979) estää tämän hyökkäyksen, mikäli varmistetaan, että tuotettu allekirjoitus vastaa odotettua allekirjoitusta. Tämän varmistaminen edellyttää kuitenkin toisen laitteen lataamista samalla siemenellä, mikä johtaa samoihin käytännön ongelmiin, jotka mainittiin edellisessä osiossa.
🛡️ Mielenkiintoinen lähestymistapa on käyttää älykästä tapaa pakottavat laite todella valita satunnaisen nonce. Tätä tarkoitusta varten oleva protokolla, joka tunnetaan nimellä anti-exfil or antiklepto, on tällä hetkellä toteutettu Blockstream Jade- ja ShiftCrypto BitBox02 -laitteistolompakoissa. Lue lisää ShiftCrypton blogi, joka sisältää myös teknisen kuvauksen siitä, kuinka tällainen hyökkäys voidaan suorittaa.
Ok, eikö sitten ole toivoa?
Suurin osa yllä luetelluista suojauksista🛡️ vaatii enimmäkseen käyttäjää suorittamaan eksplisiittisiä, tunkeilevia toimia suojatakseen itseään: joko luomalla siemen itse (olennaisesti aivojensa avulla korvaamaan toiminnallisuuden laitteistolompakosta) tai käyttämällä lisälaitetta, jolla varmistetaan, että laskelmat suoritetaan oikein.
Anti-exfil-protokolla erottuu kuitenkin joukosta: koska laitteiston allekirjoittajan ja ulkomaailman välillä on aina kone, tämä kone voi auttaa. Interaktiivisen protokollan kautta laitteiston allekirjoittajan kanssa se voi valvoa aidosti satunnaisen noncen käyttö, mikä vähentää tai eliminoi mahdollisuuden manipuloida merkittävästi lopullista allekirjoitusta.
Tässä blogiviestissä olemme ensisijaisesti kiinnostuneita tämäntyyppisistä toimenpiteistä: vaikka käyttökokemusta merkittävästi heikentävät strategiat voivat houkutella tehokäyttäjiä, ne todennäköisesti tekevät asioita huonompi Käytännössä teknisesti vähemmän taitaville käyttäjille – joita on suurin osa.
Turvallisuusmalli
Vakiomalli laitteiston allekirjoittajille
Laitteiston allekirjoittajien valmistajat pyrkivät suojelemaan käyttäjiä useilta mahdollisilta uhilta (lisätietoja on kohdassa Uhkamalli). Tässä artikkelissa keskitymme yhteen, erittäin tärkeään ominaisuuteen, joka voidaan tiivistää seuraavasti:
Käyttäjiä ei voida huijata toimiin, jotka johtavat rahaston menettämiseen, mikäli he ymmärtävät ja tarkistavat näytöllä näkyvät tiedot ennen hyväksyntää.
Kaikki arkaluontoiset toimet, erityisesti allekirjoitukset, edellyttävät hyväksyntää. Siemenen suojaaminen olisi turhaa, jos haittaohjelmat voisivat tuottaa allekirjoituksia mielivaltaisille viesteille, kuten tapahtumalle, joka vie kaikki varat!
On tärkeää korostaa, että yllä olevan ominaisuuden on oltava totta, vaikka ohjelmistolompakko olisi täysin vaarantunut. Kannettavan tietokoneen/puhelimen näytöllä näkyvään sisältöön ei voi luottaa: haittaohjelmat voivat korvata osoitteita, huijata, mitkä osoitteet ovat sinun, esittää tapahtuman, mutta sitten lähettää toisen laitteeseen allekirjoittamista varten jne.
Siksi laitteisto-allekirjoituslaitteessa käynnissä olevat laiteohjelmistot ja sovellukset pitävät ohjelmistolompakkoa luonnostaan epäluotettava ja epäluotettava.
Takaoven vastainen turvamalli ohjelmistolompakoihin
Tässä osiossa käännämme roolit kokonaan. Haluamme nyt suunnitella a ohjelmistolompakko joka estää laitteiston valmistajaa varastamasta tai aiheuttamasta varojen menetystä, vaikka laite olisi täysin haitallinen.
Näin ollen tämä ei voi olla ominaisuus laite: pikemminkin se on ominaisuus ohjelmistolompakko perustaa. Voisimme tiivistää sen seuraavasti:
Edellyttäen, että ohjelmistolompakko ei vaarannu, laitteiston valmistaja ei voi aiheuttaa käyttäjän varojen menettämistä.
Tämä saattaa tuntua ristiriitaiselta, koska se on suoraan ristiriidassa yllä kuvatun vakioturvamallin kanssa. Kuitenkin "takaoven puuttuminen" tarkoittaa "tekemistä täsmälleen mitä heidän pitäisi tehdä". Koska ohjelmistolompakko on aurinko rajapinta allekirjoituslaitteen ja ulkoisen maailman välillä, se on ainoa paikka, jossa voidaan pakottaa suojaa väärinkäyttäytymistä vastaan – joko bugin tai laitteen nimenomaisen vaarantumisen vuoksi.
Huomaa, että tämä malli ulottuu huomattavasti pidemmälle kuin laitevika, kuten hyödynnettävä bugi. Tässä tapauksessa toimimme tilanteessa, jossa laite pyrkii aktiivisesti aiheuttamaan varojen menetystä.
Tietenkään ei ole mahdollista suojaa, jos valmistaja on onnistunut tinkimään sekä laite ja myös ohjelmistolompakkoa käyttävä kone. Siksi on ehdottoman tärkeää varmistaa, että ohjelmistolompakkosi on avoimen lähdekoodin ja tarkastettavissa, varsinkin jos sen on rakentanut sama laitteiston valmistaja.
Minikirjoituksen rooli
Miniscript antaa lompakon kehittäjille mahdollisuuden hyödyntää täysimääräisesti bitcoin Scriptin edistyneitä ominaisuuksia. Katso yleiskatsauksen uskomattomista mahdollisuuksista miniscriptin lukituksen avaamisesta edellinen blogikirjoituksemme. Haluat ehkä myös kuunnella Stephan Livera Podcastin jakso 452 keskusteluun siitä, mitä miniscript tuo bitcoin-maisemaan.
Ledger Bitcoin -sovellus tukee miniscriptiä sen 2.1.0-julkaisusta lähtien, joka otettiin käyttöön helmikuussa 2023. Bitcoin 2023 -konferenssissa Miamissa Wizardsardine ilmoitti julkaisevansa 1.0-version. Liana lompakko, ensimmäinen miniscriptiin perustuva käyttöön otettu lompakko.
Tämän postauksen perusideana on, että bitcoin-lompakkotiliä voidaan suojata ei vain yhdellä, vaan myös yhdellä moninkertainen avaimet. Tämä mahdollistaa joustavat tietoturvakehykset, joissa edes täydellinen epäonnistuminen tai avaimen vaarantuminen ei ole katastrofaalinen.
Multisig miettii
Multisig on merkittävä parannus omavaraisuusratkaisun vahvuuteen. Hyödyntämällä Bitcoin Scriptin ohjelmoitavuutta, se mahdollistaa lompakoiden luomisen, jotka vaativat useita avaimia yhden sijasta. A k-n multisig-lompakko vaatii yhdistelmän k kelvollisia allekirjoituksia yhteensä n mahdollisia.
Multisig asettaa kuitenkin myös käyttäjälle UX-taakan ja tuo uusia mahdollisuuksia virheisiin. 3/3 multisig-asennus, joka sisältää kolme erilaista avainta, jotka on varmuuskopioitu turvallisesti eri paikkoihin, tarjoaa vahvan suojan… mutta se tarkoittaa myös sitä, että vaikka single avain katoaa, kolikot ovat pysyvästi saavuttamattomissa!
Siksi enemmän redundanssia tarjoavat asetukset (kuten 2-3 tai 3-5-XNUMX) ovat yleensä suositumpia: jos yksi avain katoaa, muut avaimet voivat silti helpottaa palautumista. Mutta tämä tuo kompromissin: jos yksi avain vaarantuu tietämättäsi, kokonaisturvallisuus heikkenee huomattavasti!
Yritykset pitävät Koti ja Ketjuton pääoma ovat erikoistuneet omavaraisuusratkaisuihin, joissa heillä on vähemmistö asiakkaidensa avaimista. He myös auttavat käyttäjiään ohjaamalla heitä käyttöönottoprosessin läpi ja yksinkertaistamalla säilytysjärjestelmien käyttöä, mikä voi muuten olla pelottavaa useimmille ei-teknisille käyttäjille.
Miniscript ja aikalukitut palautuspolut
Liana käyttää miniscriptiä luodakseen lompakoita, joilla on useita tapoja kuluttaa:
- ensisijainen käyttöehto, joka on heti saatavilla;
- yksi tai useampi lisäkäyttöehto, joka tulee saataville tietyn ajanjakson jälkeen (ns aikalukko).
Tämä mahdollistaa monia mielenkiintoisia käyttötapauksia:
- Elpyminen: Vakiolompakko, jossa joko yksi allekirjoitus tai monimerkki ensisijaisena kulutuspoluna; mutta erillinen palautusmekanismi (avain eri siemenellä, multisig, tekniikkaa ymmärtävä ystävä, säilyttäjä) tulee saataville 6 kuukauden kuluttua.
- Hallinto: Yritys, jossa on kaksi johtajaa, voisi perustaa 2/2 yhtiön kassalle; erimielisyyksien tapauksessa luotettava asianajaja voi saada varat käyttöön 6 kuukauden kuluttua.
- Hajoava multisig: Lompakko alkaa 3/3:sta, siirtyy 2/3:ksi 6 kuukauden kuluttua ja muuttuu 1/3:ksi 9 kuukauden kuluttua.
- Automaattinen periytyminen: Toipumispolku 6 kuukauden jälkeen sisältää 2/3 kolmesta lapsestasi; ehkä toinen toipumispolku vuoden kuluttua on notaari, jos perilliset eivät pääse yhteisymmärrykseen.
Huomautus: kaikissa yllä olevissa esimerkeissä käytetään a suhteellinen aikalukko, joka viittaa kolikoiden ikään (eli viimeiseen siirtoon). Kompromissi on, että käyttäjän on muistettava kuluttaa kolikot (lähettämällä ne itselleen), jos aikalukko lähestyy umpeutumista.
Nämä ovat vain muutamia esimerkkejä, mutta niiden pitäisi riittää vakuuttamaan lukija siitä, että minikirjoitus on merkittävä askel eteenpäin kohti Bitcoinin potentiaalin toteuttamista. ohjelmoitava raha.
Lompakkokäytännön rekisteröinti
Bitcoin-lompakkotileillä, jotka käyttävät useita avaimia (olipa kyseessä sitten multisig- tai kehittyneempiä miniscript-pohjaisia ratkaisuja), on tärkeää kouluttaa laite tunnistamaan kyseiseen tiliin kuuluvat osoitteet. Tämä on ainoa tapa, jolla laite voi auttaa käyttäjää varmistamaan, että hän saa tai kuluttaa oikeista osoitteista…
Käytännön vahvistaminen ja xpubs Yhteistyökumppanin käyttäminen luotettavaa varmuuskopiota vastaan on välttämätöntä, mutta suhteellisen aikaa vievää.
Hyvä uutinen on, että se tarvitsee tehdä vain kerran:
Kun käytäntö on rekisteröity nimellä (esimerkissä "Decaying 3/3"), laitteesi pystyy tunnistamaan sen aina, kun tällaista käytäntöä käytetään.
Teknisistä yksityiskohdista kiinnostuneet voivat löytää lisätietoja osoitteesta BIP-ehdotus.
Käytännön varmuuskopio
Yksi tärkeä huomioitava näkökohta on, että vaikka usean avaimen käytännöt sallivat osajoukon yksityiset avaimet valtuuttaa liiketoimia, tietäen kaikki julkiset avaimet (ja tarkka politiikka) vaaditaan.
Toisin kuin siemen, käytännön ja julkisten avainten varmuuskopiointi on kuitenkin paljon vähemmän riskialtista: jos joku löytää sen, hän voisi jäljittää kaikki kyseiseen käytäntöön liittyvät tapahtumat. Vaikka tämä ei ole ihanteellista – yksityisyydellä on väliä! − Se ei ole niin tuhoisaa kuin kolikoiden menettäminen ja vähemmän houkuttelevaa mahdollisille hyökkääjille. Näin ollen useiden käytäntöjen kopioiden tallentaminen hot wallets -lompakoihin, sen tulostaminen ja tallentaminen eri paikkoihin, sen salaus ja tallentaminen pilvitallennustilaan ja niin edelleen ovat kaikki toteuttamiskelpoisia strategioita.
Takaamaton yhden allekirjoituksen lompakko
Otetaan askel taaksepäin. Olemme keskustelleet usean allekirjoituksen lompakoista, mutta nyt palaamme perusasioihin luodaksemme yhden allekirjoituksen lompakon. Tarkemmin sanottuna haluamme lompakon tuntuu ja ulkonäkö kuin yhden allekirjoituksen lompakko, alkuasetusvaiheen jälkeen. Silti pyrimme luomaan lompakon, josta valmistaja ei voi varastaa varojasi, vaikka ne olisivat haitallisia 😈 ja laitteiston allekirjoituslaite käyttäytyy arvaamattomilla tavoilla.
Lähestymistapa voidaan helposti yleistää usean allekirjoituksen lompakoille.
Alla olevat esimerkit kirjoitetaan kielellä nimeltä politiikkaminikirjoituksen sijaan. Käytäntö on ihmisten helpompi lukea ja ajatella, ja se voidaan koota miniscriptiksi automaattisilla työkaluilla. Lue lisää minikirjoituksesta ja käytännöistä.
Laitteistolompakko voi suojata sinua vakioturvamallissa. Miniscript voi suojata sinua takaoven vastaisessa suojausmallissa (ja paljon muuta!).
Vaihe nolla: status quo
Tämä on käytäntö, jota useimmat käyttäjät käyttävät nykyään: yksi avain, joka on johdettu laitteistolompakossa tuotetusta siemenestä.
pk(key_ledger)
Takaoven puuttumista ei tietenkään voida todistaa millään tavalla.
Vaihe yksi: tuplaa nämä avaimet
Ensimmäinen vaihe on yksinkertainen:
and(pk(key_ledger), pk(key_client))
Täällä key_client
generoidaan käyttäjän koneella, joten a pikanäppäin. Pohjimmiltaan se on 2/2 multisig-asetus. Tärkeintä on, että käyttäjä ei ole paljon vuorovaikutuksessa key_client
: ohjelmistolompakko luo tämän avaimen, sisällyttää sen lompakon varmuuskopioon ja allekirjoittaa tarvittaessa (esimerkiksi kun käyttäjä on varattu allekirjoittamiseen laitteistoallekirjoittajansa kanssa).
Tämä vaikuttaa jo varsin mielenkiintoiselta: varat ovat käyttämättömiä ilman key_client
, joka ei ole laitteiston toimittajan saatavilla; vaikka paha myyjä olisi täysin tietoinen laitteen avaimesta, he eivät silti pystyisi siirtämään varoja kohdentamatta nimenomaisesti käyttäjää, esimerkiksi vaarantamalla koneen, joka käyttää heidän ohjelmistolompakkoaan.
On kuitenkin olemassa ongelma: lompakon käyttöönoton aikana laitteiston allekirjoittaja on ainoa taho, joka pystyy luomaan julkisen avaimen (xpub). key_ledger
käytetty lompakossa. Näin ollen laite voi tarkoituksella tuottaa a vääryyksiä xpub on hyökkääjän hallinnassa ja kieltäytyy myöhemmin (tai ei pysty) allekirjoittamaan. Tämä on luultavasti melko äärimmäinen hyökkäysskenaario: takaoven luoja ei voi varastaa varoja, ja suurinta he voivat tehdä yksilöllisesti kohden käyttäjän ja vaatia lunnaita ("Voin auttaa sinua saamaan rahasi, jos maksat puolet minulle").
Realistisemmin tämä lisää virheiden mahdollisuutta: sinulla on nyt kaksi siementä / yksityistä avainta ja tarvitset sekä voidakseen kuluttaa. Hävitä jompikumpi, ja kolikot lukitaan ikuisesti.
Vaihe kaksi: aikalukittu palautus
Esittelemme erillisen palautusavaimen, joka on käytettävissä vain tietyn aikalukon jälkeen: and(older(25920)
, pk(key_recovery))
, jossa 25920 on likimääräinen lohkojen lukumäärä 6 kuukaudessa. Täydestä käytännöstä tulee:
or(
and(pk(key_ledger), pk(key_client)), and(after(25920), pk(key_recovery))
)
Tämä on samanlainen kuin edellinen skenaario, mutta käänteellä: jos key_ledger
or key_client
ei jostain syystä ole käytettävissä (useimmiten siemenvarmistuksen menettäminen!), a palautumispolku tulee saataville 6 kuukauden kuluttua.
Vaihtoehtoja on useita key_recovery
, jokaisella on omat kompromissinsa:
a. Käytä toista pikanäppäin. Tämä on käytännöllinen ratkaisu, kunhan käyttäjä muistaa nollata aikalukon. Jos pikanäppäimet kuitenkin vaarantuvat (skenaariota, jota pitäisi yleensä pitää varsin todennäköisenä!), hyökkääjä voi yrittää päästä käsiksi varoihin heti, kun aikalukko umpeutuu ja aloittaa kilpailun laillisen omistajan kanssa.
b. Käytä erillistä laitteisto-allekirjoituslaitetta. Tämä on vankka ratkaisu, ja sitä voidaan haluttaessa käyttää yhdessä eri toimittajan kanssa; Se kuitenkin lisää asennuksen monimutkaisuutta ja lisää käyttäjän kustannuksia käyttökokemuksen kannalta.
c. Käytä luotettavaa ulkopuolista palvelua. Ohjelmistolompakko voisi tuoda xpubin ulkoisesta palvelusta käyttämällä sitä key_recovery
. Tähän kolmanteen osapuoleen luotetaan vain, jos aikalukko vanhenee, mikä voi olla houkutteleva kompromissi joillekin käyttäjille.
Kuten mainittiin, kuten kaikissa aikalukkokäytännöissä, on tärkeää, että käyttäjä muistaa päivittää kolikot ennen aikalukon umpeutumista.
Kolmas vaihe: epäluotettava kolmas osapuoli
Yhdistetään molemmat ideat (a) ja (c): palautuspolkua varten tarvitsemme paikallisen pikanäppäimen key_recovery_local
, Ja key_recovery_remote
jota isännöi puoliksi luotettu palvelu; pidämme myös aikalukon.
or(
and(pk(key_ledger), pk(key_client)),
and(older(25920),
and(pk(key_recovery_local), pk(key_recovery_remote))
)
)
Tämä laskee palautuspalvelulta vaadittavaa luottamusta. Meidän on kuitenkin oltava varovaisia: palvelu itse saattaa valvoa lohkoketjua ja havaita UTXO:mme – loppujen lopuksi ne tarjosivat meille key_recovery_remote
xpub, jotta he voivat etsiä UTXO:ita, jotka sisältävät peräisin olevia pubavaimia key_recovery_remote
. He voivat oppia taloushistoriastamme jopa ennen aikalukon umpeutumista, ja vaikka emme koskaan käyttäisikään heidän palveluaan.
Huomautus: Taroot-puut voivat poistaa tämän tietosuojaongelman tietyissä käytännöissä, mutta näin ei aina ole, ja se vaatii huolellista arviointia tietyn käytännön perusteella.
Vaihe neljä: sokeuta kolmas osapuoli 🙈
Jotta palautuspalvelu ei saisi tietää taloushistoriastamme, sen meille välittämän pubkeyn käyttämisen sijaan voimme käyttää sokea xpub tekniikka mflaxman selittää yksityiskohtaisesti täällä. Lyhyesti sanottuna käytön sijaan key_recovery_remote
Käytännössämme valitsemme neljä 31-bittistä satunnaislukua a
, b
, c
, d
( sokaisevia tekijöitä), ja käytämme seuraavaa BIP-32 johdettu pubkey:
key_recovery_remote_blind = key_recovery_remote_blind/a/b/c/d
On tärkeää, että myös lisäämme key_recovery_remote
ja sokaisevat tekijät a
, b
, c
ja d
varmuuskopioihimme myöhempää käyttöä varten.
Jos joudumme joskus käyttämään palautuspalvelua, paljastamme sen a
, b
, c
, d
heille. Siihen asti heillä ei ole mitään keinoa saada selville, että avaimet ovat peräisin heiltä key_recovery_remote
julkaistaan lohkoketjussa: mahdollisten yhdistelmien määrä neljälle sokaisevalle tekijälle on 2^(31*4) = 2^124
, mikä tekee mahdottomaksi raa'alla pakottaa heitä kaikkia.
Vaihe viisi: liian monet pikanäppäimet voivat polttaa sinut 🔥
Onnistuimme saamaan ohjelmistolompakkomme käyttökelvottomaksi. Otimme kuitenkin käyttöön erilaisen ongelman: molemmat kulutusehdot käyttävät paikallisesti luotua, kuuma avain, jota laitteistolompakko ei ole vahvistanut. Siksi, jos isäntäkone vaarantuu, se saattaa huijata sinut rekisteröimään käytäntö pub-avaimia käyttäen. key_client
ja key_recovery_local
, mutta laita satunnaiset, toisiinsa liittymättömät yksityiset avaimet varmuuskopioihimme (muista, kuuma avaimet ovat osa varmuuskopioitamme!).
Se periaatteessa tekisi kaikki varat lähetetyksi lompakkoon käyttämätön, koska kukaan ei hallitse allekirjoittamiseen tarvittavia yksityisiä avaimia.
On olemassa muutamia ratkaisuja tämän ongelman ratkaisemiseksi:
- Käyttöönoton aikana, kun olemme tulostaneet varmuuskopiomme paperille, voimme käyttää erillistä laitetta varmistaaksemme, että varmuuskopion yksityiset ja julkiset pikanäppäimet todella täsmäävät. Tämä lähestymistapa poistaisi ongelman, koska olisimme varmoja, että meillä on kaikki tarvittavat avaimet, joita tarvitaan jälleenrakennukseen ja allekirjoittamiseen.
- Voimme lisätä toisen kulutusehdon vielä pidemmällä aikalukituksella (9 kuukautta, 38880 lohkoa), joka vaatii vain
key_ledger_failsafe
laitteistosta. Tällä tavalla pahimmassa tapauksessa, jossa kaikki muu epäonnistuu, palaamme yhden allekirjoituslaitteen turvallisuuteen. Normaalissa toiminnassa emme koskaan antaisi ensimmäisen aikalukon vanhentua, joten toinen aikalukko ei myöskään vanhene!
Toisella lähestymistavalla lopullinen politiikka näyttäisi tältä
or(
and(pk(key_ledger), pk(key_client)),
or(
and(older(25920),
and(pk(key_recovery_local), pk(key_recovery_remote_blind))
),
and(older(38880), pk(key_ledger_failsafe))
),
)
Tämä ohjelmistolompakkokokoonpano täyttää kaikki alussa vaatimamme suojausominaisuudet. Lisäksi se tarjoaa elpymispolun tärkeimpien kulutusavainten varalta key_ledger
ovat hukassa. Kiva ominaisuus!
Käyttöönotto takaportaamattomaan ohjelmistolompakkoon
Miltä näyttäisi lompakon käyttökokemus näin monimutkaisella käytännöllä? Tässä lyhyt katsaus:
- Käyttäjä avaa ohjelmistolompakon ja aloittaa uuden tilin luomisen.
- Ohjelmistolompakko kehottaa käyttäjää yhdistämään allekirjoituslaitteensa ja hakee xpub-tiedostot
key_ledger
jakey_ledger_failsafe
. - Ohjelmistolompakko luo itsenäisesti key_client-pikanäppäimen.
- Ohjelmistolompakko saa
key_recovery_remote
yhteisallekirjoituspalvelusta tai antaa käyttäjän määrittää avaimen muulla tavalla. Valinnaisesti se laskeekey_recovery_remote_blind
käyttämällä aiemmin mainittua sokaisutekniikkaa. - Ohjelmistolompakko luo käytäntövarmuuskopion, joka sisältää tarkan miniscript-käytännön, kaikki xpubit ja laajennetun yksityisen avaimen
key_client
pikanäppäin. Tämä varmuuskopio on tallennettu turvallisesti (esimerkiksi tulostettuna paperille tai tallennettuna erilliseen laitteeseen). - Lopuksi ohjelmistolompakko kehottaa käyttäjää rekisteröimään käytännön laitteeseen. Käyttäjä ristiintarkistaa varmuuskopion (paperilla tai millä tahansa muulla välineellä kuin ohjelmistolompakon ohjaamalla näytöllä).
Ohjelmistolompakko hallitsee suurimman osan yllä olevista vaiheista, joten käyttäjän osallistuminen ei ole raskaampaa kuin odotettavissa oleva vaiva, jota tarvitaan tänään moniallekirjoituslompakkoon luomiseen.
Käyttöönoton pitäisi kestää vain muutama minuutti, kun sille on rakennettu hyvä UX. Valmistuttuaan ohjelmistolompakko voi tarjota käyttökokemuksen, joka on hyvin samanlainen kuin tyypillinen yhden allekirjoituksen lompakko. Näin miniscript muuttaa kaiken: katoamalla käyttäjän silmistä!
Tajuuren parannuksia
Ledger tukee miniscriptiä maaliskuussa julkaistusta Bitcoin-sovelluksen versiosta 2.1.0 lähtien. Vaikka tuki taproot-osoitteisiin vastaanottamiseen ja niistä kuluttamiseen oli käytössä taproot softfork marraskuussa 2021 viimeistelemme nyt tiekartan seuraavaa vaihetta: miniscript-tuki taprootille.
Taprootilla on valtava vaikutus tässä artikkelissa esitettyjen lähestymistapojen käytettävyyteen. Jos ensisijainen kulutuspolku on yhden avaimen kulutusehto, elpyvien kulutuspolkujen olemassaoloa ei voida havaita lohkoketjussa, ellei niitä hyödynnetä. Tämä parantaa huomattavasti yksityisyyttä poistamalla kokonaan sormenjäljet tavalliselta kulutuspolulta. Lisäksi se parantaa skaalautuvuutta, sillä vakiokulutuspolku tulee mahdollisimman kustannustehokkaaksi kulutettavaksi. Tämä tarkoittaa, että palautuspolkujen olemassaolosta ei aiheudu lisäkustannuksia, ellei niitä käytetä. Tämä on merkittävä päivitys SegWit-tapahtumiin, jotka edellyttävät koko skriptin julkaisemista, mukaan lukien kaikki kulutusehdot, minkä tahansa kulutuksen aikana.
Lopuksi kehittyneempiä protokollia, kuten MuSig2 (äskettäin standardoitu) ja FROST ylilataa tajuuren avainpolkua. Nämä Schnorr-allekirjoituksiin perustuvat protokollat mahdollistavat yhden aggregoitu pubkey jota voidaan käyttää edustamaan an n-n moniallekirjoitus tai a k-n kynnysjärjestelmä. Tämä mahdollistaisi taproot-avainpolun käytön myös tapauksissa, jotka nykyään ovat yleisempiä tietyillä multisig-skripteillä.
Päätelmät
Tämä artikkeli tutkii pientä (mutta tärkeää) markkinarakoa valtavasta suunnittelutilasta, jonka miniscript vapauttaa ohjelmistolompakoihin.
Näitimme, kuinka miniscriptiä voidaan käyttää luomaan "taustaovikelvoton" ohjelmistolompakko, samalla kun lisäämme ylimääräisen palautuspolun, jonka avulla voidaan estää tuhoisat avainten katoamiset. Vaikka laitteiston allekirjoituslaitteet eivät voi pakottaa takaoven vastaista suojausmallia, ne mahdollistavat miniscriptin tukemisen ohjelmistolompakoita, jotka tekevät juuri sen!
Hyödyntämällä taitavasti useiden allekirjoitusten, aikalukkojen, sokean xpubin ja pikanäppäimien yhdistelmää, olemme osoittaneet turvallisen lompakkokokoonpanon, joka tasapainottaa turvallisuuden, yksityisyyden ja kestävyyden.
Lisäksi väitimme, että tämä on mahdollista vaikuttamatta negatiivisesti käyttökokemukseen, koska asennuksen monimutkaisuus ei merkitse suurta UX-lisätaakkaa.
Olemme innoissamme mahdollisuuksista, jotka miniscript avaa seuraavan sukupolven bitcoin-omavaraisuudelle.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoData.Network Vertical Generatiivinen Ai. Vahvista itseäsi. Pääsy tästä.
- PlatoAiStream. Web3 Intelligence. Tietoa laajennettu. Pääsy tästä.
- PlatoESG. Autot / sähköautot, hiili, CleanTech, energia, ympäristö, Aurinko, Jätehuolto. Pääsy tästä.
- BlockOffsets. Ympäristövastuun omistuksen nykyaikaistaminen. Pääsy tästä.
- Lähde: https://www.ledger.com/blog/towards-a-trustless-bitcoin-wallet-with-miniscript
- :on
- :On
- :ei
- :missä
- $ YLÖS
- 1
- 2021
- 2023
- 30
- 7
- 9
- a
- kyky
- pystyy
- Meistä
- edellä
- absoluuttinen
- ehdottomasti
- pääsy
- Accessed
- saatavilla
- mukaisesti
- Tili
- Tilit
- Toiminta
- toimet
- aktiivisesti
- todella
- lisätä
- lisää
- Lisäksi
- lisä-
- Lisäksi
- osoitteet
- kehittynyt
- Jälkeen
- vastaan
- ikä
- Tuki
- tavoitteena
- Kaikki
- sallia
- mahdollistaa
- pitkin
- jo
- Myös
- Vaikka
- aina
- an
- ja
- ilmoitti
- Toinen
- Kaikki
- mitään
- sovelluksen
- miellyttävä
- näyttää
- sovellukset
- lähestymistapa
- lähestymistavat
- hyväksyminen
- lähentää
- OVAT
- luultavasti
- väitti
- artikkeli
- AS
- ulkomuoto
- auttaa
- liittyvä
- At
- hyökkäys
- tarkastettavissa
- valtuuttaa
- Automatisoitu
- itsenäisesti
- saatavissa
- takaisin
- takaoven
- Tukena
- tausta
- Varmuuskopiointi
- saldot
- perustua
- perustiedot
- Pohjimmiltaan
- Perusasiat
- BE
- koska
- tulevat
- tulee
- ennen
- Alku
- ovat
- alle
- PARAS
- välillä
- Jälkeen
- Bitcoin
- Bitcoin-lompakko
- bitcoin-lompakot
- Sekoitus
- blockchain
- Blocks
- Blockstream
- Blogi
- sekä
- Aivot
- Tuo
- lähettää
- Vika
- rakentaa
- rakennettu
- taakka
- polttaa
- liiketoiminta
- kiireinen
- mutta
- by
- nimeltään
- CAN
- ei voi
- kykenee
- varovainen
- tapaus
- tapauksissa
- katastrofaalinen
- Aiheuttaa
- aiheuttaen
- varovaisuus
- tietty
- haaste
- mahdollisuus
- muuttaa
- Lapset
- siru
- Valita
- valita
- väitti
- selvästi
- pilvi
- Cloud Storage
- koodi
- Kolikot
- yhdistelmä
- yhdistelmät
- kaupallinen
- Yhteinen
- yleisesti
- tiedottaa
- Yritykset
- yritys
- Yrityksen
- täydellinen
- täysin
- monimutkainen
- monimutkaisuus
- Vaarantunut
- vaarantamatta
- laskelmat
- tietojenkäsittely
- huolenaiheet
- ehto
- olosuhteet
- Konferenssi
- Konfigurointi
- kytkeä
- Yhteisymmärrys
- siis
- Harkita
- harkittu
- sisälsi
- hallinnassa
- valvonta
- vakuuttaa
- korjata
- vioittuneet
- Hinta
- voisi
- Kurssi
- luoda
- Luominen
- luominen
- luoja
- kriittinen
- kriittinen näkökohta
- ratkaiseva
- Tällä hetkellä
- hoitaja
- huolto
- Asiakkaat
- Vaarallinen
- Hylkää
- vähenee
- Deem
- määritelty
- Kysyntä
- osoittivat
- käyttöön
- johdettu
- kuvaus
- Malli
- suunniteltu
- haluttu
- yksityiskohta
- yksityiskohtainen
- yksityiskohdat
- havaita
- kehittäjille
- laite
- Laitteet
- eri
- vaikea
- vähenevä
- suoraan
- Ohjaajat
- katoamassa
- tuhoisa
- löytää
- löytämässä
- keskusteltiin
- keskustelu
- näyttöön
- do
- ei
- ei
- tehty
- kaksinkertainen
- kaksi
- aikana
- kukin
- helpompaa
- helposti
- vaivaa
- myöskään
- poistaa
- poistamalla
- muu
- painottaa
- Työllisiä
- mahdollistaa
- käytössä
- mahdollistaa
- loppu
- valvoa
- tarpeeksi
- varmistaa
- varmistamalla
- kirjoittamalla
- viekoitteleva
- Koko
- täysin
- kokonaisuus
- laitteet
- virheet
- erityisesti
- olennainen
- olennaisesti
- perustaa
- jne.
- arviointi
- Jopa
- EVER
- Joka
- kaikki
- täsmälleen
- esimerkki
- Esimerkit
- innoissaan
- suorittaa
- teloitettiin
- Käyttää
- olemassaolo
- odotettu
- experience
- päättyminen
- Käyttää hyväkseen
- Tutkii
- vienti
- ulottuu
- ulkoinen
- äärimmäinen
- helpottamaan
- tekijät
- epäonnistuu
- Epäonnistuminen
- melko
- Pudota
- paljon
- Ominaisuus
- Ominaisuudet
- helmikuu
- harvat
- lopullinen
- taloudellinen
- taloushistoria
- Löytää
- Etunimi
- joustava
- Kääntää
- Keskittää
- jälkeen
- seuraa
- varten
- ikuisesti
- Eteenpäin
- neljä
- puitteet
- usein
- ystävä
- alkaen
- koko
- täysin
- toiminnallisuus
- rahasto
- varat
- Lisäksi
- turha
- tulevaisuutta
- yleinen tarkoitus
- yleensä
- tuottaa
- syntyy
- synnyttää
- tuottaa
- sukupolvi
- tietty
- Go
- menee
- hyvä
- suuri
- suuresti
- HAD
- Puoli
- Palvelimet
- laitteistolaite
- laitteisto Wallet
- Laitteiston lompakon valmistaja
- Laitteisto-lompakot
- haitallinen
- Olla
- ottaa
- auttaa
- siten
- historia
- pitää
- toivoa
- isäntä
- isännöi
- KUUMA
- Miten
- Kuitenkin
- http
- HTTPS
- valtava
- Ihmiset
- ajatus
- ihanteellinen
- ideoita
- tunnistaa
- if
- heti
- Vaikutus
- vaikuttavia
- täytäntöön
- tuoda
- tärkeä
- mahdoton
- parantaa
- in
- sisältää
- Mukaan lukien
- sisältävät
- Lisäykset
- uskomaton
- todellakin
- itsenäinen
- Erikseen
- teollisuus
- tiedot
- luonnostaan
- ensimmäinen
- sisällä
- Insider
- innostaa
- asentaminen
- esimerkki
- sen sijaan
- tarkoituksella
- olla vuorovaikutuksessa
- vuorovaikutteinen
- korko
- kiinnostunut
- mielenkiintoinen
- liitäntä
- tulee
- esitellä
- käyttöön
- Esittelee
- tunkeileva
- osallistuminen
- johon
- kysymys
- IT
- SEN
- itse
- vain
- vain yksi
- avain
- avaimet
- Tietää
- tuntemus
- tunnettu
- Landschaft
- Kieli
- kannettava tietokone
- Sukunimi
- myöhemmin
- lakimies
- Liidit
- OPPIA
- oppiminen
- vähiten
- pääkirja
- vasemmalle
- laillinen
- vähemmän
- antaa
- Taso
- vipuvaikutuksen
- pitää
- Todennäköisesti
- liittyvät
- lueteltu
- lastaus
- paikallinen
- sijainnit
- lukittu
- Pitkät
- kauemmin
- katso
- näyttää joltakin
- menettää
- menettää
- pois
- tappiot
- menetetty
- kone
- tärkein
- Enemmistö
- tehdä
- TEE
- Tekeminen
- haittaohjelmat
- hallinnoi
- toimitusjohtaja
- käsittelylaite
- tapa
- Valmistaja
- Valmistajat
- monet
- maaliskuu
- ottelu
- Saattaa..
- välineet
- toimenpiteet
- mekanismi
- keskikokoinen
- mainitsi
- vain
- viesti
- viestien
- menetelmä
- menetelmät
- Miami
- ehkä
- minikirjoitus
- vähemmistö
- minuuttia
- Tehtävä
- virheitä
- malli
- raha
- seuranta
- kk
- lisää
- Lisäksi
- eniten
- enimmäkseen
- liikkua
- siirretty
- paljon
- moninkertainen
- Multisig
- täytyy
- nimi
- loppusuoralla
- välttämätön
- Tarve
- tarvitaan
- tarpeet
- negatiivisesti
- verkostoituminen
- ei ikinä
- Uusi
- uutiset
- seuraava
- mukava
- Nro
- ei-teknisiä
- normaali
- marraskuu
- marraskuu 2021
- nyt
- numero
- numerot
- hankkii
- of
- kampanja
- tarjoamalla
- Tarjoukset
- offline
- on
- perehdytyksessä
- kerran
- ONE
- yhdet
- vain
- avata
- avoimen lähdekoodin
- avautuu
- toiminta
- Operations
- Mahdollisuudet
- Vaihtoehdot
- or
- tilata
- Muut
- muuten
- meidän
- ulos
- hahmoteltu
- ulkopuolella
- yli
- yleinen
- yleiskatsaus
- oma
- omistaja
- Paperi
- Tärkein
- osa
- erityisesti
- puolue
- polku
- Maksaa
- Suorittaa
- ehkä
- aika
- vakinaisesti
- vaihe
- puhelin
- Paikka
- paikat
- Platon
- Platonin tietotieto
- PlatonData
- Kohta
- pistettä
- politiikkaa
- politiikka
- Suosittu
- mahdollisuuksia
- mahdollinen
- mahdollisesti
- Kirje
- mahdollinen
- mahdollisesti
- teho
- Käytännön
- käytännössä
- harjoitusta.
- tarkka
- tarkasti
- ennustaa
- Ennustettavissa
- läsnäolo
- esittää
- esitetty
- estää
- estää
- edellinen
- aiemmin
- pääasiallisesti
- ensisijainen
- tulostus
- Aikaisempi
- yksityisyys
- yksityinen
- yksityinen avain
- Yksityiset avaimet
- Ongelma
- ongelmia
- menettelyt
- prosessi
- tuottaa
- valmistettu
- tuottaa
- asianmukaisesti
- ominaisuudet
- omaisuus
- ehdotettu
- suojella
- suojattu
- suojella
- suojaus
- protokolla
- protokollat
- todistaa
- toimittaa
- mikäli
- julkinen
- julkinen avain
- julkiset avaimet
- julkaista
- julkaistu
- Julkaiseminen
- tarkoitus
- laittaa
- Putting
- kysymys
- Rotu
- satunnainen
- Lunnaat
- pikemminkin
- tavoittaa
- Lue
- lukija
- ymmärtämättä
- reason
- vastaanottava
- äskettäin
- tunnistaa
- ennätys
- elpyminen
- viittaa
- ilmoittautua
- kirjattu
- rekisteröitymättä
- suhteellisesti
- vapauta
- julkaistu
- luottaa
- muistaa
- korvata
- edustaa
- edustettuina
- maine
- edellyttää
- tarvitaan
- Vaatii
- Saatu ja
- säilyttää
- palata
- paljastaa
- oikein
- Riski
- riskit
- riskialtis
- roadmap
- luja
- kestävyys
- Rooli
- roolit
- juoksu
- toimii
- sama
- sanoa
- skaalautuvuus
- skannata
- skenaario
- järjestelmä
- järjestelmiä
- Schnorr
- Näytön
- skriptejä
- Toinen
- Osa
- turvallinen
- turvallisesti
- turvallisuus
- nähdä
- siemenet
- siemenet
- etsiä
- näyttää
- näyttää
- SegWit
- Itsehuoltajuus
- lähettäminen
- sensible
- lähetetty
- erillinen
- palvelu
- setti
- setup
- useat
- Lyhyt
- shouldnt
- osoittivat
- merkki
- allekirjoitukset
- merkittävä
- merkittävästi
- allekirjoittaminen
- Signs
- samankaltainen
- Yksinkertainen
- yksinkertaistaminen
- koska
- single
- pieni
- fiksu
- So
- Tuotteemme
- ratkaisu
- Ratkaisumme
- SOLVE
- jonkin verran
- Joku
- pian
- hienostunut
- lähde
- Tila
- erikoistuneet
- erityinen
- tekniset tiedot
- viettää
- menot
- standardi
- seisoo
- alkaa
- Tila
- Vaihe
- Askeleet
- Yhä
- Levytila
- tallennettu
- tallentamiseksi
- strategiat
- vahvuus
- jono
- vahva
- taistelu
- onnistunut
- Onnistuneesti
- niin
- yhteenveto
- Ahtaa
- tuki
- Tukea
- Tukee
- tarkoitus
- systeeminen
- systeeminen riski
- järjestelmät
- Taklaukset
- ottaa
- Taproot
- Kohde
- kohdistaminen
- Tekninen
- teknisesti
- Elektroniikka
- ehdot
- kuin
- että
- -
- Kolikot
- heidän
- Niitä
- itse
- sitten
- Siellä.
- siten
- siksi
- Nämä
- ne
- asiat
- ajatella
- kolmas
- tätä
- ne
- uhat
- kolmella
- kynnys
- Kautta
- Näin
- aika
- aikaavievä
- että
- tänään
- tämän päivän
- liian
- työkalut
- Aiheet
- Yhteensä
- kohti
- Jäljittää
- raita
- rataennätys
- Juna
- kauppa
- Liiketoimet
- siirtymät
- Kääntää
- valtiovarainministeriö
- Puut
- totta
- Luottamus
- luotettu
- trustless
- Totuus
- twist
- kaksi
- tyypit
- tyypillinen
- kykenemätön
- ymmärtää
- valloilleen
- toisin kuin
- avata
- poistoista
- ennalta arvaamaton
- asti
- parantaa
- us
- käytettävyys
- käyttää
- käytetty
- käyttäjä
- Käyttäjäkokemus
- Käyttäjät
- käyttötarkoituksiin
- käyttämällä
- käyttää
- hyödynnetty
- Hyödyntämällä
- ux
- VAHVISTA
- lajike
- eri
- valtava
- myyjä
- todennettu
- todentaa
- versio
- hyvin
- kannattava
- elintärkeä
- haavoittuvuuksia
- odottaa
- Lompakko
- Lompakot
- haluta
- oli
- Tapa..
- tavalla
- we
- olivat
- Mitä
- kun
- aina kun
- onko
- joka
- vaikka
- koko
- miksi
- wikipedia
- tulee
- with
- sisällä
- ilman
- sanoja
- maailman-
- olisi
- kirjallinen
- Väärä
- vuosi
- vielä
- Voit
- Sinun
- itse
- zephyrnet
- nolla-