OpenPGP-avaimen luominen varmuuskopioinnin avulla#
Seuraavissa ohjeissa selitetään OpenPGP-avainten luominen ja niiden kopioiminen Nitrokey-avaimeen. Tämän menetelmän etuna on, että avaimista on varmuuskopio, jos Nitrokey katoaa tai rikkoutuu. Ohjeet perustuvat GnuPG:n komentorivikäyttöliittymään. Sinun on siis asennettava GnuPG järjestelmääsi. Uusin GnuPG-versio Windowsille löytyy täältä ja uusin versio MacOS:lle löytyy täältä. Linux-järjestelmien käyttäjät asentavat GnuPG:n paketinhallinnan avulla.
Avainten tuottaminen#
Ensin sinun on luotava avain paikallisesti. Voit päättää, mitä avainominaisuuksia haluat käyttää, ja - mikä tärkeintä - voit viedä avaimen ja säilyttää sen jossakin tallessa, jos haluat palauttaa avaimen.
Pääavain ja salausavain#
Voimme käyttää komentoa gpg --full-generate-key --expert
aloittaaksemme ohjatun avainten luomisen kaikilla mahdollisilla vaihtoehdoilla. Voit valita avaintyypin (yleensä RSA (1) tai ECC (9)), avaimen pituuden ja muita ominaisuuksia. Seuraava tuloste on vain yksinkertainen esimerkki, voit valita muita arvoja.
> gpg --full-generate-key --expert
gpg (GnuPG) 2.2.10; Copyright (C) 2018 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Please select what kind of key you want:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
(7) DSA (set your own capabilities)
(8) RSA (set your own capabilities)
(9) ECC and ECC
(10) ECC (sign only)
(11) ECC (set your own capabilities)
(13) Existing key
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)
Requested keysize is 2048 bits
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want for the subkey? (2048)
Requested keysize is 2048 bits
Please specify how long the key should be valid.
0 = key does not expire
= key expires in n days
w = key expires in n weeks
m = key expires in n months
y = key expires in n years
Key is valid for? (0)
Key does not expire at all
Is this correct? (y/N) y
GnuPG needs to construct a user ID to identify your key.
Real name: Jane Doe
Email address: jane@example.com
Comment:
You selected this USER-ID:
"Jane Doe "
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: key 0EFFB0704391497C marked as ultimately trusted
gpg: revocation certificate stored as '/home/nitrokey//.gnupg/openpgp-revocs.d/9D12C91F6FC4CD6E10A1727A0EFFB0704391497C.rev'
public and secret key created and signed.
pub rsa2048 2018-09-17 [SC]
9D12C91F6FC4CD6E10A1727A0EFFB0704391497C
uid Jane Doe
sub rsa2048 2018-09-17 [E]
Muista
Lisätietoja tuetuista algoritmeista on osoitteessa faq
Todennuksen aliavain#
Sinulla on nyt pääavain, joka pystyy allekirjoittamaan ja varmentamaan (merkitty [SC]), ja aliavain salausta varten (merkitty [E]). Toinen aliavain on tarpeen sellaisia käyttötapauksia varten, joissa tarvitaan todentamista. Tämä aliavain luodaan seuraavassa vaiheessa. Kirjoita gpg --edit-key --expert keyID
aloittaaksesi prosessin, kun taas ”keyID” on joko avaimen id tai avaimen luomisessa käytetty sähköpostiosoite.
> gpg --edit-key --expert jane@example.com
gpg (GnuPG) 2.2.10; Copyright (C) 2018 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Secret key is available.
sec rsa2048/0EFFB0704391497C
created: 2018-09-17 expires: never usage: SC
trust: ultimate validity: ultimate
ssb rsa2048/A9A814C210F16700
created: 2018-09-17 expires: never usage: E
[ultimate] (1). Jane Doe
gpg>
Nyt olet GnuPG:n interaktiivisessa tilassa ja voit lisätä avaimen yksinkertaisesti kirjoittamalla addkey
. Sinun on valittava avain, jota haluat käyttää. On ratkaisevan tärkeää valita ”set your own capabilities”, koska haluamme ”authenticate”-ominaisuuden, jota ei muuten ole saatavilla. Vaihdamme allekirjoitusta ja salausta kirjoittamalla s
ja e
ja aktivoimme todennuksen kirjoittamalla a
.
gpg> addkey
Please select what kind of key you want:
(3) DSA (sign only)
(4) RSA (sign only)
(5) Elgamal (encrypt only)
(6) RSA (encrypt only)
(7) DSA (set your own capabilities)
(8) RSA (set your own capabilities)
(10) ECC (sign only)
(11) ECC (set your own capabilities)
(12) ECC (encrypt only)
(13) Existing key
Your selection? 8
Possible actions for a RSA key: Sign Encrypt Authenticate
Current allowed actions: Sign Encrypt
(S) Toggle the sign capability
(E) Toggle the encrypt capability
(A) Toggle the authenticate capability
(Q) Finished
Your selection? s
Possible actions for a RSA key: Sign Encrypt Authenticate
Current allowed actions: Encrypt
(S) Toggle the sign capability
(E) Toggle the encrypt capability
(A) Toggle the authenticate capability
(Q) Finished
Your selection? e
Possible actions for a RSA key: Sign Encrypt Authenticate
Current allowed actions:
(S) Toggle the sign capability
(E) Toggle the encrypt capability
(A) Toggle the authenticate capability
(Q) Finished
Your selection? a
Possible actions for a RSA key: Sign Encrypt Authenticate
Current allowed actions: Authenticate
(S) Toggle the sign capability
(E) Toggle the encrypt capability
(A) Toggle the authenticate capability
(Q) Finished
Your selection? q
Lopetamme q
. Sen jälkeen meidän on vastattava samoihin kysymyksiin kuin ennenkin. Lopuksi meillä on valmis avainsarja, jonka voimme tuoda laitteeseemme.
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)
Requested keysize is 2048 bits
Please specify how long the key should be valid.
0 = key does not expire
= key expires in n days
w = key expires in n weeks
m = key expires in n months
y = key expires in n years
Key is valid for? (0)
Key does not expire at all
Is this correct? (y/N) y
Really create? (y/N) y
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
sec rsa2048/0EFFB0704391497C
created: 2018-09-17 expires: never usage: SC
trust: ultimate validity: ultimate
ssb rsa2048/A9A814C210F16700
created: 2018-09-17 expires: never usage: E
ssb rsa2048/61F186B8B0BBD5D5
created: 2018-09-17 expires: never usage: A
[ultimate] (1). Jane Doe
gpg> quit
Save changes? (y/N) y
Nyt on hyvä aika varmuuskopioida avain. Pidä tämä varmuuskopio erittäin turvassa. Paras käytäntö on, että avainta ei koskaan pidetä tavallisella tietokoneella, jolla on yhteys internetiin, jotta avain ei koskaan vaarannu. Voit luoda varmuuskopion seuraavalla tavalla:
> gpg --export-secret-keys jane@example.com > sec-key.asc
Avaintuonti#
Sinulla on pääavain ja kaksi alaavainta, jotka voidaan tuoda Nitrokey-avaimeesi. Ennen kuin jatkat, varmista, että sinulla on todella varmuuskopio avaimesta, jos tarvitset sitä. Seuraavissa vaiheissa käytettävä keytocard
-komento poista avaimesi levyltäsi!
Aloitamme prosessin käyttämällä GnuPG:n interaktiivista käyttöliittymää jälleen gpg --edit-key --expert keyID
, kun taas ``keyID<x><x=”130”></x>` on joko avaimen id tai avaimen luomisessa käytetty sähköpostiosoite.
> gpg --edit-key --expert jane@example.com
gpg (GnuPG) 2.2.10; Copyright (C) 2018 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Secret key is available.
sec rsa2048/0EFFB0704391497C
created: 2018-09-17 expires: never usage: SC
trust: ultimate validity: ultimate
ssb rsa2048/A9A814C210F16700
created: 2018-09-17 expires: never usage: E
ssb rsa2048/61F186B8B0BBD5D5
created: 2018-09-17 expires: never usage: A
[ultimate] (1). Jane Doe
gpg> keytocard
Really move the primary key? (y/N) y
Please select where to store the key:
(1) Signature key
(3) Authentication key
Your selection? 1
sec rsa2048/0EFFB0704391497C
created: 2018-09-17 expires: never usage: SC
trust: ultimate validity: ultimate
ssb rsa2048/A9A814C210F16700
created: 2018-09-17 expires: never usage: E
ssb rsa2048/61F186B8B0BBD5D5
created: 2018-09-17 expires: never usage: A
[ultimate] (1). Jane Doe
Olemme juuri tuoneet kortin pääavaimen. Nyt jatketaan kahden alaavaimen kanssa. Kirjoitamme <key 1
valitaksemme salauksen aliavaimen ja kirjoitamme uudelleen keytocard
ja valitsemme haluamamme aukon.
gpg> key 1
sec rsa2048/0EFFB0704391497C
created: 2018-09-17 expires: never usage: SC
trust: ultimate validity: ultimate
ssb* rsa2048/A9A814C210F16700
created: 2018-09-17 expires: never usage: E
ssb rsa2048/61F186B8B0BBD5D5
created: 2018-09-17 expires: never usage: A
[ultimate] (1). Jane Doe
gpg> keytocard
Please select where to store the key:
(2) Encryption key
Your selection? 2
sec rsa2048/0EFFB0704391497C
created: 2018-09-17 expires: never usage: SC
trust: ultimate validity: ultimate
ssb* rsa2048/A9A814C210F16700
created: 2018-09-17 expires: never usage: E
ssb rsa2048/61F186B8B0BBD5D5
created: 2018-09-17 expires: never usage: A
[ultimate] (1). Jane Doe
Nyt poistamme ensimmäisen avaimen valinnan key 1
ja valitsemme toisen alaavaimen <x:llä. id=”79”></x>`key 2`` ja siirretään sekin keytocard
. Sen jälkeen lopetetaan ja tallennetaan muutokset.
gpg> key 1
sec rsa2048/0EFFB0704391497C
created: 2018-09-17 expires: never usage: SC
trust: ultimate validity: ultimate
ssb rsa2048/A9A814C210F16700
created: 2018-09-17 expires: never usage: E
ssb rsa2048/61F186B8B0BBD5D5
created: 2018-09-17 expires: never usage: A
[ultimate] (1). Jane Doe
gpg> key 2
sec rsa2048/0EFFB0704391497C
created: 2018-09-17 expires: never usage: SC
trust: ultimate validity: ultimate
ssb rsa2048/A9A814C210F16700
created: 2018-09-17 expires: never usage: E
ssb* rsa2048/61F186B8B0BBD5D5
created: 2018-09-17 expires: never usage: A
[ultimate] (1). Jane Doe
gpg> keytocard
Please select where to store the key:
(3) Authentication key
Your selection? 3
sec rsa2048/0EFFB0704391497C
created: 2018-09-17 expires: never usage: SC
trust: ultimate validity: ultimate
ssb rsa2048/A9A814C210F16700
created: 2018-09-17 expires: never usage: E
ssb* rsa2048/61F186B8B0BBD5D5
created: 2018-09-17 expires: never usage: A
[ultimate] (1). Jane Doe
gpg> quit
Save changes? (y/N) y
Avaimesi on nyt siirretty Nitrokey-avaimeen ja siten suojattu laitteistoon. Onnittelut!
Julkisen avaimen vienti ja avainpalvelimen käyttö#
Vaikka voit aloittaa Nitrokey-avaimesi käytön heti sen jälkeen, kun olet luonut avaimet järjestelmässäsi, sinun on tuotava julkinen avaimesi jokaiseen järjestelmään, jossa haluat käyttää Nitrokey-avainta. Sinulla on siis kaksi vaihtoehtoa: Joko tallennat julkisen avaimen mihin tahansa haluamaasi paikkaan ja käytät sitä toisessa järjestelmässä tai tallennat julkisen avaimen verkkosivulle/avainpalvelimelle.
Julkisen avaimen tiedoston luominen#
Jos haluat saada yksinkertaisen tiedoston julkisesta avaimestasi, voit käyttää gpg --armor --export keyID > pubkey.asc
. Käytä joko sormenjälkeä ”keyID:nä” (katso gpg -K
saadaksesi sen) tai käytä vain sähköpostiosoitettasi tunnisteena.
Voit pitää tätä tiedostoa mukanasi tai lähettää sen kenelle tahansa haluamallesi henkilölle. Tämä tiedosto ei ole lainkaan salainen. Jos haluat käyttää Nitrokeyta toisessa järjestelmässä, tuot ensin tämän julkisen avaimen gpg --import pubkey.asc
kautta ja kirjoitat sitten gpg --card-status
, jotta järjestelmä tietää, mistä tätä avainta pitää etsiä. Siinä kaikki.
Julkisen avaimen lataaminen#
Jos et halua kantaa julkista avaintietoa mukanasi, voit ladata sen keyserveriin. Voit tehdä tämän kirjoittamalla gpg --keyserver search.keyserver.net --send-key keyID
. Jos käytät toista konetta, voit vain tuoda sen käyttämällä gpg --keyserver search.keyserver.net --recv-key keyID
.
Another possibility is to change the URL setting on your card. Start gpg --card-edit
again and first set the URL where the key is situated (e.g. on the keyserver or on your webpage etc.) via the url
command. From now on you can import the key on another system by just using the fetch
command within the gpg --card-edit environment
.