Der lander en anmodning om et certifikat i din indbakke: En leverandør skal bruge dit klientcertifikat, en ny load balancer skal have wildcard-certifikatet, eller en kollega skal bruge signeringscertifikatet til at bygge en release. Filen, de beder om, kan være harmløs, eller den kan være den private nøgle, der lader hvem som helst udgive sig for at være din tjeneste. De to ligger ofte i samme pakke.
Vil du dele et privat certifikat sikkert via et link, så find først ud af, hvilken halvdel der faktisk er brug for. Pak derefter den private nøgle, så den er ubrugelig uden en adgangskode, send filen via et engangslink, der destrueres efter én download, og send adgangskoden ad en anden vej. Guiden gennemgår hvert trin med kommandoerne.
Certifikatet er offentligt. Nøglen er ikke.
Et certifikat indeholder en offentlig nøgle, det subjekt, det er udstedt til, udstederen og gyldighedsdatoerne. Det er lavet til at blive udleveret: Hver browser, der forbinder til dit websted, modtager det. Den private nøgle er den separate hemmelighed, der beviser, at du ejer certifikatet. Den, der har den, kan dekryptere trafik, der er beregnet til dig, signere i dit navn eller sætte en server op, der påstår at være dig.
Det første spørgsmål er derfor, om modtageren overhovedet har brug for nøglen.
| Modtageren vil | Har brug for | Følsomt? |
|---|---|---|
| Stole på din tjeneste eller verificere en signatur | Certifikatet (og måske CA-kæden) | Nej |
| Installere TLS på en server eller enhed, som modtageren selv driver | Certifikat, kæde og privat nøgle | Ja |
| Signere kode eller dokumenter på vegne af din organisation | Certifikat og privat nøgle | Ja, i høj grad |
| Logge ind på et system med et klientcertifikat | Certifikat og privat nøgle | Ja |
Er svaret den første række, så send .crt- eller .cer-filen, som du
vil, og stop med at læse her. Alt nedenfor gælder de rækker, hvor
nøglen skal flyttes.
Tjek, hvad filen indeholder, før du sender den
Filtypenavne lyver. En .pem kan indeholde et certifikat, en nøgle
eller begge dele. En .pfx eller .p12 samler som regel certifikat,
kæde og nøgle bag en adgangskode. Undersøg filen, før du sender den:
# what is in this PEM?
openssl x509 -in cert.pem -noout -subject -issuer -dates
grep -c "PRIVATE KEY" cert.pem # 0 means no key inside
# what is in this PFX? (prompts for the password)
openssl pkcs12 -in bundle.pfx -info -noout
Bekræft, at subjektet svarer til det, modtageren bad om, og at udløbsdatoen ligger ude i fremtiden. Det sker ofte, at man sender det forkerte certifikat. Sender man det forkerte certifikat med nøglen, er det et sikkerhedsbrud.
Pak nøglen, så den er ubrugelig alene
Skal nøglen sendes, så send den aldrig ubeskyttet. Læg den i et format, der er krypteret med en adgangskode, som du sender separat.
# bundle certificate, chain and key into a password-protected PFX
openssl pkcs12 -export -out service.pfx \
-inkey service.key -in service.crt -certfile chain.crt
# or encrypt a PEM key on its own
openssl pkey -in service.key -aes-256-cbc -out service.enc.key
Brug en lang adgangskode, som en adgangskodeadministrator har genereret. Adgangskoden er den anden faktor: Den, der får fat i filen, kan stadig ikke bruge den, og den, der får fat i adgangskoden, har intet at bruge den på.
Send filen via et sikkert engangslink
Linket er selve leveringen, og målet er, at der bagefter ikke ligger en kopi af filen i nogen besked.
- Bekræft modtageren ud fra en kilde, du allerede stoler på: sagen, leverandørens registrerede kontaktperson, et opkald. En anmodning om et certifikat fra en uventet adresse kræver et telefonopkald, ikke et svar.
- Opret et hemmeligt link med filen vedhæftet. Log ind på din LinkPilot-konto, åbn ”Secret Links”, vælg ”New”, og vedhæft PFX-filen eller den krypterede PEM-fil. Hver fil må højst fylde 9 MB, hvilket er tusindvis af gange mere end nogen nøglepakke. Den vedhæftede fil krypteres i din browser før upload og slettes første gang, den downloades.
- Sæt udløbet til det reelle tidsrum. En time, hvis modtageren venter, 24 timer på tværs af tidszoner. Den ene download er den vigtigste beskyttelse. Udløbet er sikkerhedsnettet for et link, som ingen åbner.
- Sæt grænsen for visninger til én. Har to udviklere begge brug for pakken, får de hvert sit link.
- Tilføj en adgangssætning til linket med en Pro-konto, hvis det skal sendes via en kanal, som andre kan se.
- Send linket med én linje kontekst: hvilket certifikat, hvilket system, hvornår linket udløber.
- Send filens adgangskode via en anden kanal. En sms, et opkald eller et andet hemmeligt link sendt ad en anden vej. Aldrig i samme besked som linket til filen og aldrig i filnavnet.
Er nøglen PEM-tekst og lille, kan du indsætte den direkte i det gratis værktøj til hemmelige links i stedet for at vedhæfte en fil. Teksten krypteres i din browser og destrueres ved første åbning på samme måde.
Fortæl modtageren, hvad der skal ske med filen
Send installationsnoterne sammen med kontekstbeskeden, ikke sammen med adgangskoden:
- Hvilken fil der kommer, dens format og det system, den hører til.
- Hvor den skal opbevares: i serverens certifikatmappe med tilladelser begrænset til tjenestekontoen eller i styresystemets certifikatlager. Ikke i Overførsler, ikke på et delt drev.
- Slet den downloadede kopi, når den er importeret, og commit den aldrig til et repository.
- Bekræft modtagelsen med filnavn og fingeraftryk, aldrig ved at sende filen tilbage:
openssl x509 -in service.crt -noout -fingerprint -sha256
Bagefter
Tjek, at linket har status ”revealed” (vist), og at modtageren bekræfter, at fingeraftrykket passer. Med en Pro-konto kan du se det præcise tidspunkt for downloaden i revisionsloggen. Blev linket åbnet, før modtageren nåede det, eller gik filen til den forkerte adresse, så vent ikke på tegn på misbrug: Tilbagekald certifikatet hos den udstedende CA, generer et nyt nøglepar, få certifikatet udstedt igen, og udskift det alle steder, hvor det er installeret.
Registrer, hvem der modtog hvilket certifikat og hvornår. Gem registreringen. Filen skal findes på de systemer, der har brug for den, og ingen steder derimellem.
