Tässä protokollassa käyttäjien on oltava todennettuja. He voivat tehdä tämän salasanoilla, yksityisiä RSA-avaimia sisältävillä tiedostoilla, laitteistoilla, kuten Ledger Nano S ja Ledger Nano X, jne.
Jotkut todennuskeinot ovat turvallisempia kuin toiset: yksityisen avaimen tallentamiseen tarkoitetun laitteiston käyttäminen ilman, että sitä on mahdollista purkaa, on turvallisempaa kuin yksityisen avaimen tallentaminen tiedostoon. Valitettavasti turvallisimmat ovat myös tuskallisempia käyttää. Käyttäjien, joilla on avaimensa laitteessa, täytyy kantaa laitetta mukanaan, heidän on kirjoitettava PIN-koodi aina, kun he aloittavat SSH-istunnon jne. Tämä tekee melko vaikeaksi puolustaa salasanoja ja tiedostoja turvallisempia tapoja käyttötapauksissa, joissa pääsyn turvallisuus ei ole prioriteetti.
Joten kysymys kuuluu: onko mahdollista tallentaa todennusmateriaalia turvallisemmin kuin tiedostoon (jonka haittaohjelmat voivat varastaa) muuttamatta käyttökokemusta?
Ja vastaus on: kyllä, käyttämällä TPM:ää!
Jotain historiaa
Tietokoneet ovat jo jonkin aikaa pystyneet upottamaan suojaussirun suoraan. Tämä siru, nimeltään Trusted Platform Module (TPM), tarjoaa monia ominaisuuksia, mukaan lukien mahdollisuuden suojata julkisen avaimen salauksessa käytettyjä yksityisiä avaimia.
Koska se on upotettu tietokoneisiin, laitetta ei tarvitse kytkeä tietokoneeseen käyttääkseen sitä. Tätä pidetään siksi vähemmän turvallisena kuin laitteistoa, joka voidaan säilyttää eri paikassa kuin tietokone (tämä mahdollistaa sen periaatteen noudattamisen, että vaikka laite ei ole kytkettynä tietokoneeseen, mikään haittaohjelma ei voi käyttää siihen tallennettuja salaisuuksia).
Joten TPM ei ole "paras tietoturva", mutta se on silti paljon turvallisempi kuin tiedostojen, kuten esim $HOME/.ssh/id_rsa
tallentaa yksityisiä avaimia.
Kuinka TPM:ää voidaan käyttää OpenSSH:n kanssa Linuxissa? Projektilla nimeltä tpm2-pkcs11
, seuraamalla ohjeita, jotka ovat saatavilla monilla verkkosivustoilla useiden vuosien ajan, mukaan lukien viralliset asiakirjat koodivarastosta.
Mitä uutisia nyt on? Tämä ohjelmisto on nyt vihdoin pakattu Ubuntuun ja Debianiin, mikä tekee siitä vihdoin useimpien Linux-käyttäjien saatavilla!
Tässä on tarkemmin aikajana:
- Vuonna 2014 TPM 2.0:n tärkeimmät tekniset tiedot julkaistiin. Ohjelmiston TPM:n kanssa vuorovaikutukseen pääsemiseksi tehtiin standardointityö, ja luotiin kaksi yhteensopimatonta ohjelmistopinoa: Trusted Computing Groupin (TCG) ns. TPM-ohjelmistopino (TSS) ja IBM:n, jota myös kutsutaan TPM-ohjelmistopino.
- Vuonna 2018 projekti
tpm2-pkcs11
luotiin tarjoamaan PKCS#11-liitäntä TPM 2.0:lle TCG:n TSS:ää käyttäen. PKCS # 11 on standardi, joka määrittelee sovellusohjelmointirajapinnan (API). Cryptoki käyttää salausavaimia tallentavia tunnuksia. Koska OpenSSH tuki PKCS#11-rajapinnan käyttöä käyttäjän todennuksen suorittamiseen, tämä mahdollisti TPM:n käytön SSH-todennukseen käytettyjen avainten tallentamiseen. - Helmikuussa 2019,
tpm2-pkcs11
lisättiin Fedora 29. - Syyskuussa 2019 CentOS 8 julkaistiin tämän paketin mukana.
- Huhtikuussa 2020,
tpm2-pkcs11
lisättiin Debian siv. Valitettavasti se ei sisältänyt ohjelmaatpm2_ptool
mikä on välttämätöntä avainten helppoon luomiseen. Tästä ongelmasta ilmoitettiin vuonna Debianin bugi #968310. - Tammikuussa 2021 Debianin paketti oli kiinteä (ja ylläpitäjä tunnusti apuani!).
- Huhtikuussa 2021 Ubuntu 21.04 Hirsute virtahepo vapautettiin kanssa kiinteä paketti.
- Elokuussa 2021 Debian 11 Napakymppi vapautettiin kanssa kiinteä paketti
Nyt tpm2-pkcs11
on saatavilla Debianissa, Ubuntussa ja useissa muissa luettelossa olevissa Linux-jakeluissa Repologia.
Käyttämällä tpm2-pkcs11
Debian 11:ssä seuraavat vaiheet uuden SSH-avaimen luomiseksi ja käyttämiseksi, jonka TPM on tallentanut turvallisesti:
- Asenna komento
tpm2_ptool
ja kirjastolibtpm2_pkcs11.so.1
, jotka toimitetaan kahdessa paketissa:
2. Tarkista, että järjestelmä voi käyttää TPM 2.0:aa. Jos jokin seuraavista tarkistuksista epäonnistuu, se voi tarkoittaa, että järjestelmässä ei ole TPM:ää tai siinä on TPM 1.2 tai TPM 2.0, joka on poistettu käytöstä BIOS-asetuksissa:
3. Lisää nykyinen käyttäjä ryhmään, jolla on pääsy TPM-laitteeseen /dev/tpmrm0
. Debianissa ja Ubuntussa käyttäjien on kuuluttava nimettyyn ryhmään tss
(kiitos konfiguraatiosta tpm-udev
paketti). Seuraava komento lisää nykyisen käyttäjän tähän ryhmään:
Alusta käyttäjäkauppa, joka on suojattu salasanalla ja a SOPIN ja luo avain, esimerkiksi elliptisen käyrän näppäin käyrälle nimeltä "NIST P-256" (tunnetaan myös nimellä "secp256r1"):
4. Lyhenne SOPIN välineet Turvapäällikön henkilökohtainen tunnusnumero ja on konsepti PKCS#11:n spesifikaatiosta. Yksinkertaisissa käyttötapauksissa se voidaan nähdä "palautussalasanana", joka mahdollistaa salasanan muuttamisen esimerkiksi sen kadonessa.
5. Näytä tämän uuden avaimen julkinen avain:
6. Määritä uusi julkinen avain palvelimelle esimerkiksi kirjoittamalla se sisään $HOME/.ssh/authorized_keys
tai GitHubin tiliasetuksissa tai missä tahansa muussa paikassa, jossa käytetään julkisia SSH-avaimia.
7. Määritä SSH-asiakas käytettäväksi tpm2-pkcs11
muodostaaksesi yhteyden palvelimeen esimerkiksi kirjoittamalla tämä $HOME/.ssh/config
(asiakkaan puolella):
Yhdistä palvelimeen (huom. edellinen vaihe voidaan ohittaa:
Tuleva työ
Edellisessä osiossa esiteltiin uuden avaimen luominen TPM:ään. Vaikka tämä mahdollistaa TPM:n käytön SSH-todennuksen suojaamiseen, tarvitaan kaksi ominaisuutta, jotta tämä olisi todellinen vaihtoehto tiedostojen käytölle yksityisten avainten tallentamiseen:
- Ominaisuus #1: olemassa olevien SSH-avaimien tuonti TPM:ään uusien luomisen sijaan (mikä mahdollistaa sujuvan siirtymisen TPM-tallennustilaan, avainten varmuuskopioimisen, jos tietokone rikkoutuu tai katoaa jne.).
- Ominaisuus #2: SSH-avaimien käyttäminen ilman salasanaa, kuten suojaamattomien yksityisten avainten tiedostot (tämä ominaisuus on turvallisempi kuin avaintiedostot, koska suojattua avainta ei voi purkaa TPM:stä).
Otin käyttöön molemmat ominaisuudet tpm2-pkcs11
ja lähetti ne vetopyynnöissä #681 ja #695. Ominaisuus #1 esiteltiin myös toukokuussa viikoittaisessa online-puhelussa tpm.dev-yhteisö ja tallenne on saatavilla https://developers.tpm.dev/posts/14389750.
Joten molemmat ominaisuudet tulevat todennäköisesti saataville tulevassa julkaisussa tpm2-pkcs11
.
Muuten, uteliaille lukijoille, jotka haluavat ymmärtää sisällön tpm2-pkcs11
, julkaisin niistä artikkelin SSIC 2021 -konferenssissa nimeltä SSH-todennuksen suojaaminen TPM 2.0:lla (artikkeli englanniksi, esitys ranskaksi). Lisäksi lukijat, jotka haluavat kokeilla asioita koskematta todelliseen TPM:ään, voivat olla kiinnostuneita tämän artikkelin osiosta "TPM 2.0:n emulointi".
(Kuva: Rainer Knäpper, ilmainen taiteen lisenssi)
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoAiStream. Web3 Data Intelligence. Tietoa laajennettu. Pääsy tästä.
- Tulevaisuuden lyöminen Adryenn Ashley. Pääsy tästä.
- Osta ja myy osakkeita PRE-IPO-yhtiöissä PREIPO®:lla. Pääsy tästä.
- Lähde: https://www.ledger.com/blog/ssh-with-tpm
- :on
- :On
- :ei
- :missä
- $ YLÖS
- 1
- 11
- 13
- 14
- 15%
- 2014
- 2018
- 2019
- 2020
- 2021
- 30
- 8
- 80
- a
- kyky
- pystyy
- Meistä
- pääsy
- Tili
- tunnustettu
- lisätä
- lisä-
- Lisää
- puolestapuhuja
- Myös
- vaihtoehto
- an
- ja
- vastaus
- Kaikki
- api
- Hakemus
- huhtikuu
- OVAT
- Art
- artikkeli
- AS
- At
- Elokuu
- todennettu
- Authentication
- saatavissa
- tausta
- BE
- tulevat
- ollut
- sekä
- Rikki
- Vika
- mutta
- by
- soittaa
- CAN
- ei voi
- kuljettaa
- tapaus
- tapauksissa
- CGI
- muuttuviin
- tarkastaa
- Tarkastukset
- siru
- asiakas
- koodi
- tietokone
- tietokoneet
- tietojenkäsittely
- käsite
- Konferenssi
- Konfigurointi
- kytkeä
- kytketty
- harkittu
- voisi
- luoda
- luotu
- Luominen
- salauksen
- kryptografia
- utelias
- Nykyinen
- käyrä
- määrittelee
- suunniteltu
- dev
- laite
- Laitteet
- DID
- eri
- vaikea
- suoraan
- vammaiset
- näyttö
- Jakaumat
- do
- dokumentointi
- ei
- aikana
- helposti
- vaivaa
- Elliptinen
- Upottaa
- upotettu
- käytössä
- mahdollistaa
- täytäntöön
- Englanti
- jne.
- EVER
- Joka
- esimerkki
- olemassa
- experience
- uute
- epäonnistuu
- Ominaisuus
- Ominaisuudet
- helmikuu
- filee
- Asiakirjat
- Vihdoin
- kiinteä
- jälkeen
- varten
- Ilmainen
- Ranskan
- alkaen
- tulevaisuutta
- tuottaa
- GitHub
- Ryhmä
- Tarvikkeet
- laitteistolaite
- laitteita
- Olla
- tätä
- Miten
- Miten
- HTML
- http
- HTTPS
- i
- IBM
- Tunnistaminen
- if
- täytäntöön
- tuovan
- in
- Mukaan lukien
- yhteensopimaton
- aloittaa
- sen sijaan
- ohjeet
- olla vuorovaikutuksessa
- kiinnostunut
- liitäntä
- tulee
- kysymys
- IT
- SEN
- tammikuu
- tammikuu 2021
- jpg
- avain
- avaimet
- tunnettu
- pääkirja
- Ledger Nano
- Ledger Nano S
- Ledger Nano X
- vähemmän
- pitää
- Todennäköisesti
- linux
- lueteltu
- sijainti
- menetetty
- tärkein
- tehdä
- TEE
- Tekeminen
- haittaohjelmat
- monet
- materiaali
- max-width
- Saattaa..
- tarkoittaa
- välineet
- moduuli
- lisää
- Lisäksi
- eniten
- paljon
- my
- nimetty
- nano
- välttämätön
- Tarve
- tarvitaan
- Uusi
- uutiset
- Nro
- nyt
- of
- upseeri
- on
- ONE
- yhdet
- verkossa
- or
- tilata
- Muut
- Muuta
- paketti
- pakattu
- paketit
- tuskallinen
- Salasana
- salasanat
- suorittaa
- henkilöstö
- Paikka
- foorumi
- Platon
- Platonin tietotieto
- PlatonData
- pistoke
- mahdollinen
- tarkasti
- esitys
- esitetty
- edellinen
- periaate
- prioriteetti
- yksityinen
- yksityinen avain
- Yksityiset avaimet
- Ohjelmointi
- projekti
- suojella
- suojattu
- suojella
- protokolla
- toimittaa
- mikäli
- tarjoaa
- julkinen
- julkinen avain
- julkiset avaimet
- julkaistu
- kysymys
- lukijoita
- todellinen
- äänitys
- vapauta
- julkaistu
- raportoitu
- tarvitaan
- rsa
- s
- Osa
- turvallinen
- turvallisesti
- turvallisuus
- nähneet
- syyskuu
- Istunto
- settings
- useat
- puoli
- Yksinkertainen
- So
- Tuotteemme
- jonkin verran
- määrittely
- tekniset tiedot
- Stacks
- standardi
- Vaihe
- Askeleet
- Yhä
- varastettu
- Levytila
- verkkokaupasta
- tallennettu
- toimitettu
- niin
- Tuetut
- järjestelmä
- kuin
- Kiitos
- että
- -
- Viikoittain
- heidän
- Niitä
- Siellä.
- siksi
- ne
- asiat
- tätä
- aika
- aikajana
- että
- tokens
- liikuttava
- siirtyminen
- luotettu
- yrittää
- kaksi
- tyyppi
- Ubuntu
- ymmärtää
- valitettavasti
- käyttää
- käytetty
- käyttäjä
- Käyttäjäkokemus
- Käyttäjät
- käyttämällä
- haluta
- oli
- Tapa..
- tavalla
- sivustot
- viikoittain
- olivat
- kun
- joka
- vaikka
- KUKA
- with
- ilman
- kirjoittaminen
- X
- vuotta
- Joo
- zephyrnet