Bitcoin-nyckel var i transaktionen. SSL privat nyckel: hur man skapar och hittar den

Privata nycklar är en av de kritiska komponenter kryptovalutanätverk och har funnits i systemet sedan starten. Moderna plånböcker avlastar användare från behovet av att förstå strukturen för privata nycklar och deras syfte. Men som praxis visar, befinner sig ofta människor som aktivt använder kryptovalutor i situationer som kräver grundläggande kunskap om enheten och hur den privata nyckeln fungerar. Låt oss överväga i detalj denna komponent blockchain-system och dess funktioner. Låt oss till exempel ta ett klassiskt nätverk – bitcoin, som i grunden är grunden för de allra flesta kryptovalutor.

I bitcoin-nätverket är en privat nyckel bara en uppsättning siffror från 1 till 1077. Detta intervall av siffror är så stort att det i praktiken är praktiskt taget oändligt, och om en person hade en oändlig tillgång på tid och kunde gå igenom en biljon privata nycklar på en sekund, och att sedan välja dem alla skulle ta en miljon gånger längre tid än vårt universums ålder. Ett stort antal möjliga alternativ privat nyckel spelar en avgörande roll för att säkra Bitcoin-nätverket.

När du skapar en bitcoin-plånbok, en specialfil innehållande två poster: privat nyckel (privat nyckel, PRIV) och publik nyckel (public key, PUB). Och om den privata nyckeln genereras av en slump, skapas den offentliga genom att ta emot hashen från PRIV. Bildligt talat ser det ut som en vanlig nyckel som sätts in i nyckelhålet, om den privata nyckeln matchar den publika nyckeln och, när de räknas om, dessa två indikatorer motsvarar varandra, så bestämmer nätverket kryptovalutan som tillhör en specifik användare och ger möjlighet att genomföra en transaktion.

Förhållandet mellan bitcoin-adress och privat nyckel

En Bitcoin-adress genereras baserat på en offentlig och privat nyckel. Hashsumman beräknas från nycklarna som baseras och adressen erhålls i form av en uppsättning siffror och bokstäver i det latinska alfabetet.

Adressen krävs för att ta emot kryptovaluta eller göra en överföring till en annan användare. Enkelt uttryckt är detta vägen till platsen för BTC i en slags reskontra. Det är oerhört viktigt att den inte innehåller information om privata och publika nycklar, de är okända för nätverket, så du måste förvara dem på en säker plats oåtkomlig för någon. Att överföra adressen till en annan användare är helt säkert för ägaren av plånboken, eftersom hash-summan är utformad på ett sådant sätt att det är omöjligt att få en offentlig och ännu mer en privat nyckel från den. Alla datorer som är anslutna till bitcoin-nätverket känner till förhållandet mellan offentliga och privata nycklar, vilket gör det möjligt att använda nycklar för att signera transaktioner.

Transaktionsverifiering

Innan en transaktion görs skickas transaktionsdata, inklusive adressen, de offentliga och privata nycklarna till blockkedjan, som verifierar den mottagna informationen. Kontrollen består av flera steg:

  • Blockkedjan kontrollerar om det finns ett register över mottagandet av en specifik bitcoin av användaren;
  • Mottagarens adress kontrolleras, om det finns ett stavfel i den avbryts transaktionen;
  • Den digitala signaturen som tillhandahålls av btc-ägaren verifieras (kontrollerar kompatibiliteten för den privata nyckeln med den offentliga nyckeln), och operationen registreras i blockkedjan.

Efter att en kontroll har gjorts i ett block och betalningen har bekräftats, skickas data till andra noder i blockkedjan, där operationen upprepas. Efter att flera block har bekräftat transaktionen anses betalningen vara genomförd.


Alla transaktioner som har rätt signaturer accepteras av bitcoin-nätverket och därför kan alla som äger någon annans privata nyckel stjäla pengar från plånboken. Angripare stjäl vanligtvis privata nycklar från lagringsmedia (flash) eller via kommunikationskanaler. Därför är det nödvändigt att följa strikta säkerhetsåtgärder vid lagring och transport av en privat nyckel. Programvaruplånböcker innehåller privata nycklar i sin plånboksfil på datorns hårddisk i en standardkatalog, som är huvudmålet för cyberbrottslingar, därför huvuduppgiftägaren till kryptovalutan ska tillhandahålla pålitligt skydd sina privata nycklar. Hårdvarulösningar är utmärkta för detta ändamål, speciellt om plånboken innehåller en betydande mängd kryptovaluta.

Slutsats

I enkla ord, blockchain är öppet nätverköverföring av meddelanden mellan användare, vilket är skyddat kraftfullt verktyg kryptografi med offentliga nycklar. Till skillnad från andra nätverk, där endast lösenord och inloggningar används i blockkedjan, används de för skydd digitala signaturer som skapas efter interaktion av unika offentliga och privata nycklar.

Håll dig uppdaterad med alla viktiga händelser från United Traders - prenumerera på vår

Vilka typer av adressmönster kan du ge vanitygen att matcha?

Kan göra ett urval för enkla prefix och reguljära uttryck. Prefixet är raden från vilken adressen börjar. När en adress med det etablerade prefixet Vanitygen verifierar att ett sådant prefix i princip är möjligt och kommer att ge en uppskattning av svårighetsgraden för en sådan match. Som standard är prefixet skiftlägeskänsligt, men du kan använda -i-tangenten för skiftlägesokänsliga sökningar. Reguljära uttryck är filtermönster. De är mycket kraftfulla och kan användas för att matcha prefix, suffix, nycklar av olika längder och matcha teckensekvenser, etc. För att använda reguljära uttryck, specificera –r-växeln. Tyvärr är matchning av reguljära uttryck väldigt långsam och komplexiteten påverkar i hög grad hastigheten för att söka efter nycklar. Därför bör reguljära uttryck endast användas när det behövs. Reguljära uttryck kommer inte att fungera effektivt med oclvanitygen, eftersom för närvarande oclvanitygen kan inte fungera med vanliga uttryck på GPU:n.

Hur kan jag ange en lista med mallar?

Vanitygen kan söka i en lista med mallar från kommandorad eller tagna från en fil med –f-omkopplaren. Källfilen måste formateras så att varje mall följer med ny linje... Har hittat en matchning per denna mall, kommer vanitygen att sluta leta efter andra matchningar för det givna mönstret. Använd –k-omkopplaren för att söka efter flera matchningar.

Kan jag använda Vanitygen för att hitta någon annans privata nyckel när jag vet det bitcoin adress?

Säkert! Faktum är att Vanitygen är en viktig gissningsapp. Men för att hitta en helt matchande bitcoin-adress, även om du använder all datorkraft på planeten, behöver du en oacceptabel Ett stort antal tid.

Hur kan jag bygga vanitygen från källan?

Allt detta anges i INSTALL-filen i källdistributionen.

Hur snabbt kan jag förvänta mig att hitta nycklar från enhet X?

Några grova uppskattningar:

Dubbelkärniga datorprocessorer, 32-bitarsläge: 100-250K nycklar/sek.
Dual-core stationära processorer, 64-bitars läge: 150-450 tusen nycklar / sek
Fyrkärniga stationära processorer, 32-bitarsläge: 200-400K nycklar/sek.
Fyrkärniga stationära processorer, 64-bitarsläge: 300-750 tusen nycklar / sek
NVIDIA GT200 GPU:er: upp till 6,5 miljoner nycklar/sek
AMD Radeon 58XX, 68XX GPU:er: upp till 23,5 miljoner nycklar/sek.
AMD Radeon 69XX GPU:er: upp till 19,5 miljoner nycklar/sek.

vanitygen gör många stora heltal aritmetiska operationer, och kör verktyget vid 64 bitsystem ger en signifikant ökning av hastigheten för att söka efter nycklar, cirka 50 % ökning jämfört med 32-bitars. För 64:or bitversion Windows, förutsatt att du inte använder en GPU, se till att använda vanitygen64.exe.

Radeon 58XX överträffar Radeon 69XX. Oclvanitygen använder heltalsmultiplikation, och Radeon 58XX utför multiplikation parallellt med andra operationer. På samma tid kommer Radeon 5830 att överträffa Radeon 6970.

I skräddarsydda sammanställningar CPU-prestanda kommer att vara mindre än förväntat om OpenSSL-bibliotek gammal version (<1.0.0d) либо не собирались с включённой оптимизацией.

Hur skyddar man adressen som genereras av detta program? Kan någon lista ut min privat nyckel och stjäla min BTC?

Vanitygen använder OpenSSL för att generera slumptal. Detta är samma RNG (slumptalsgenerator) som används i bitcoin och de flesta servrar som använder HTTPS. De anses vara väl studerade. På Linux är RNG:er hämtade från /dev /urandom. Att gissa den privata nyckeln för adressen som valts av vanitygen är inte lättare än att gissa den privata nyckeln som genereras av själva bitcoinapplikationen. Vanitygen använder en slumptalsgenerator för att generera den privata nyckeln och adresserna, och jämför de resulterande adresserna med det ursprungliga mönstret. Den uppdaterar den privata nyckeln efter 10 000 000 misslyckade brute-force-försök (100M för oclvanitygen), eller tills en matchning hittas

Vilka alternativ kan ställas in med Vanitygen-nycklar?

V Utförlig utdata -q Tyst utdata -i Skiftlägesokänslig prefixsökning -k Behåll mönstret och fortsätt sökningen efter att ha hittat en matchning -N Generera namnmyntadress -T Generera bitcoin testnätadress -X Generera adress med den givna versionen -e Kryptera privata nycklar, fråga efter lösenord -E Kryptera privata nycklar med (OSÄKER) -s Välj OpenCL-plattform -d Välj OpenCL-enhet -D Använd OpenCL-enhet, identifierad av enhetssträng Form: :< devicenumber>[,] Exempel: 0: 0, rutnät = 1024x1024 -S Säkert läge, inaktivera OpenCL loop unrolling optimizations -w Ställ in arbetsobjekt per tråd i en arbetsenhet -t Ställ in måltrådantal per multiprocessor -g x Ställ in rutstorlek -b Ställ in modulära omvända operationer per tråd -V Aktivera kärna / OpenCL / hårdvaruverifiering (SLOW) -f Fil som innehåller lista med mönster, en per rad (Använd "-" som filnamn för stdin) -o Skriv mönstermatchningar till< filе>-s Seed slumptalsgenerator från< filе>


Kan jag söka efter adresser tillsammans?

Det är absolut nödvändigt att få tillgång till den privata nyckeln SSL-certifikat men var helt under din kontroll. Om den privata nyckeln finns på en säker plats och inte är tillgänglig för utomstående, detta garanterar säkerheten personlig information alla användare av din webbplats.

Om du inte vet var din privata nyckel är lagrad, i den här artikeln hittar du information om var du hittar den om det behövs, hur du säkerställer dess säkerhet och hur du skapar ny nyckel, i händelse av förlust eller kompromiss av den föregående.

Säker SSL privat nyckel

Organisationer som utfärdar SSL-säkerhetscertifikat har inte tillgång till din privata (eller privata) krypteringsnyckel - och bör inte - eftersom privata nycklar skapas på användarnivå, det vill säga på din server eller dator. Även om du genererar en CSR-förfrågan och en privat nyckel på vår webbplats måste du spara den till dig själv, eftersom information om nyckeln inte lagras på vår server.

De två huvudfaktorerna som den kryptografiska säkerheten för en privat nyckel beror på är numret och den slumpmässiga sekvensen. primtal används för att skapa den. I huvudsak är en privat nyckel en fil med en uppsättning slumpmässigt genererade nummer. Sekretessen för denna information är en garanti för säkerheten för din nyckel under hela användningsperioden för SSL-certifikatet.

För att säkerställa säkerheten för din privata nyckel bör du endast tillåta åtkomst till de medlemmar i din organisation som verkligen behöver den, t.ex. systemadministratör ansvarig för att installera SSL-certifikatet. Dessutom rekommenderas det att du ändrar den privata nyckeln (och återställer motsvarande SSL-certifikat) när någon som har tillgång till den lämnar din organisation.

Hur hittar jag min privata SSL-nyckel?

Din privata nyckel genereras som regel i det ögonblick du genererar en CSR-förfrågan, eller strax innan dess. Om du använder OpenSSL för att hantera dina privata nycklar (du använder till exempel Linux-distributionerDebianbaserad eller röd hatt), sedan när OpenSSL req-kommandot körs, sparas den privata nyckeln vanligtvis i samma katalog där kommandot initierades.

Om du använder en webbserver Microsoft IIS då lagras din privata SSL-nyckel i dold mapp på servern som skickade begäran om att utfärda ett SSL-certifikat (även kallat Certificate Signing Request eller CSR request). På korrekt installation, kommer servercertifikatet att matcha den privata nyckeln. Om den privata nyckeln saknas kan detta betyda:

  • Certifikatet installerades inte på servern som användes för att generera CSR-begäran (relevant för Microsofts servrar IIS och några andra).
  • En väntande CSR-begäran togs bort av IIS-webbservern.
  • Certifikatet installerades med hjälp av Certificate Import Wizard, inte med IIS.

Olika enheter och servrar använder olika metoder lagring och skapande av privata nycklar. Det är ofta svårt att bestämma platsen för den privata nyckeln på servern. Bekantskap med dokumentationen för din enhet är den mest snabbt sätt ta reda på exakt var de privata nycklarna är lagrade på din server.

Hur skapar jag en privat nyckel?

Om du inte kunde hitta din privata SSL-nyckel eller inte har genererat en ännu, måste du göra detta om du vill skaffa ett SSL-certifikat. Vanligtvis måste den privata nyckeln skapas på servern där du planerar att installera certifikatet. Dessutom måste den skapas innan en CSR-förfrågan genereras, eller tillsammans med den, om din enhet tillåter det. Vissa program automatiserar dessa uppgifter, vilket avsevärt snabbar upp hela processen.

För att utfärda ett SSL-certifikat "signerar" certifieringscentret din CSR-förfrågan, varför du när du utfärdar ett certifikat får veta om att generera en CSR-förfrågan för ett SSL-certifikat, och inte om att skapa en privat nyckel. Det är viktigt för dig att förstå att skapandet av en CSR-förfrågan också innebär skapandet av en privat nyckel.

Endast en privat nyckel matchar en specifik CSR-förfrågan. Därför, om du har tappat bort den privata nyckeln (inte sparat den eller av misstag raderat den), måste du initiera ett nytt SSL-certifikat med en ny privat nyckel. För detta måste du därför skapa en ny CSR-förfrågan.

SSL-certifikatleverantörer måste tillhandahålla information om genereringen av den privata nyckeln och CSR-begäran. Du hittar instruktioner om hur du skapar en CSR-förfrågan och en privat nyckel på vår webbplats.

Du kan också använda tjänsten för att skapa en privat nyckel och CSR-förfrågan på vår webbplats. För att göra detta måste du fylla i lämpliga fält i formuläret i det latinska alfabetet, som visas i bilden:

I fältlandet är det viktigt att ange landets förkortade namn stora bokstäver... Därefter ska du fylla i den stad och region där du bor eller där din organisation är registrerad, om du beställer certifikatet som entitet... Om du beställer ett OV SSL-certifikat med företagsverifiering eller ett ännu mer tillförlitligt EV SSL-certifikat med utökad verifiering är det viktigt att de ifyllda uppgifterna stämmer överens med uppgifterna i dina företagsregistreringshandlingar. Om du beställer ett enkelt certifikat är detta inte så viktigt, det viktigaste är att inte lämna tomma fält.

När du fyller i formuläret är det också bättre att inte använda det speciella karaktärer, eftersom inte alla CA accepterar CSR-förfrågningar som innehåller dem. I fältet " Domän namn»Ange den domän som du utfärdar ett SSL-certifikat för. Om du beställt