Ebben a protokollban a felhasználókat hitelesíteni kell. Ezt megtehetik jelszavakkal, privát RSA-kulcsokat tartalmazó fájlokkal, hardvereszközökkel, például Ledger Nano S és Ledger Nano X stb.
Egyes hitelesítési eszközök biztonságosabbak, mint mások: olyan hardvereszköz használata, amelyet úgy terveztek, hogy magánkulcsot tároljon anélkül, hogy lehetővé tenné annak kibontását, biztonságosabb, mint a privát kulcs fájlban való tárolása. Sajnos a legbiztonságosabbak használata is fájdalmasabb. Azoknak a felhasználóknak, akiknek a kulcsai az eszközön vannak, magukkal kell vinniük az eszközt, minden alkalommal be kell írniuk PIN-kódjukat, amikor SSH-munkamenetet kezdeményeznek, stb. Ez meglehetősen nehézkessé teszi a jelszavaknál és fájloknál biztonságosabb módszereket olyan használati esetekben, amikor a hozzáférés biztonsága nem elsődleges.
A kérdés tehát az: lehetséges-e biztonságosabban tárolni a hitelesítési anyagot, mint egy fájlban (amelyet egyes kártevők ellophatnak), a felhasználói élmény megváltoztatása nélkül?
És a válasz: igen, TPM használatával!
Némi történelem
A számítógépek már jó ideje képesek közvetlenül beágyazni egy biztonsági chipet. Ez a Trusted Platform Module (TPM) nevű chip számos funkciót kínál, beleértve a nyilvános kulcsú kriptográfiában használt privát kulcsok védelmét.
Mivel számítógépekbe van beépítve, használatához nem kell eszközt csatlakoztatni a számítógéphez. Ez tehát kevésbé biztonságos, mint a számítógéptől eltérő helyen tárolható hardver (ez lehetővé teszi annak az elvnek a érvényre juttatását, hogy amíg az eszköz nincs csatlakoztatva a számítógéphez, a benne tárolt titkokat egyetlen rosszindulatú program sem használhatja).
Tehát a TPM nem a „legjobb biztonság”, de még mindig sokkal biztonságosabb, mint az olyan fájlok használata, mint pl $HOME/.ssh/id_rsa
privát kulcsok tárolására.
Hogyan használható a TPM az OpenSSH-val Linuxon? nevű projekttel tpm2-pkcs11
, követve sok éven át számos webhelyen elérhető utasításokat, beleértve a hivatalos dokumentációt a kódtárából.
Most mi a hír? Ez a szoftver most végre Ubuntu és Debian csomagba került, ami végre elérhetővé teszi a legtöbb Linux-felhasználó számára!
Pontosabban itt egy idővonal:
- 2014-ben megjelentek a TPM 2.0 főbb specifikációi. A szoftverből származó TPM-mel való interakcióhoz szabványosítási erőfeszítések történtek, és két inkompatibilis szoftververem jött létre: a Trusted Computing Group (TCG) nevű, ún. TPM szoftververem (TSS), és az IBM-től, más néven TPM szoftververem.
- 2018-ben a projekt
tpm2-pkcs11
azért jött létre, hogy PKCS#11 interfészt biztosítson egy TPM 2.0-hoz, a TCG TSS-jét használva. PKCS # 11 elnevezésű alkalmazásprogramozási felületet (API) definiáló szabvány Cryptoki kriptográfiai kulcsokat tároló tokenek használatára. Mivel az OpenSSH támogatja a PKCS#11 interfész használatát a felhasználói hitelesítés végrehajtásához, ez lehetővé tette a TPM használatával az SSH-hitelesítéshez használt kulcsok tárolását. - Februárban 2019,
tpm2-pkcs11
hozzáadva ehhez: Fedora 29. - 2019 szeptemberében ezzel a csomaggal megjelent a CentOS 8.
- Áprilisban 2020,
tpm2-pkcs11
hozzáadva ehhez: Debian oldal. Sajnos nem tartalmazta a programottpm2_ptool
ami a kulcsok egyszerű létrehozásához szükséges. Ezt a problémát ben jelentették Debian hiba #968310. - 2021 januárjában a Debian csomagja volt rögzített (és a fenntartó elismerte a segítségemet!).
- 2021 áprilisában az Ubuntu 21.04 Hirsute víziló -vel szabadult fel a fix csomagot.
- 2021 augusztusában a Debian 11 Bullseye -vel szabadult fel a fix csomagot
Most tpm2-pkcs11
elérhető a Debian, az Ubuntu és számos más Linux disztribúción, amelyek a listán szerepelnek Repológia.
A tpm2-pkcs11 használatával
A Debian 11 rendszeren a következő lépések szükségesek a TPM által biztonságosan tárolt új SSH-kulcs létrehozásához és használatához:
- Telepítési parancs
tpm2_ptool
és könyvtárlibtpm2_pkcs11.so.1
, amelyeket két csomag biztosít:
2. Ellenőrizze, hogy a rendszer tud-e TPM 2.0-t használni. Ha az alábbi ellenőrzések valamelyike sikertelen, az azt jelentheti, hogy a rendszer nem rendelkezik TPM-mel, vagy rendelkezik TPM 1.2-vel, vagy rendelkezik TPM 2.0-val, amely le van tiltva a BIOS-beállításokban:
3. Adja hozzá az aktuális felhasználót ahhoz a csoporthoz, amely hozzáférhet a TPM-eszközhöz /dev/tpmrm0
. Debian és Ubuntu esetén a felhasználóknak egy nevű csoporthoz kell tartozniuk tss
(a által biztosított konfigurációnak köszönhetően tpm-udev
csomag). A következő parancs hozzáadja az aktuális felhasználót ebbe a csoportba:
Felhasználói tároló inicializálása, jelszóval védett és a SOPIN és hozzon létre egy kulcsot, például egy elliptikus görbe billentyűt a „NIST P-256” (más néven „secp256r1”) nevű görbén:
4. A mozaikszó SOPIN eszközök Biztonsági tiszt személyi azonosító száma és a PKCS#11 specifikációjából származó koncepció. Egyszerű használati esetekben „helyreállítási jelszónak” tekinthető, amely lehetővé teszi a jelszó módosítását, ha például elveszett.
5. Jelenítse meg az új kulcs nyilvános kulcsát:
6. Konfigurálja az új nyilvános kulcsot egy szerveren, például úgy, hogy beírja $HOME/.ssh/authorized_keys
vagy a GitHub fiókbeállításaiban, vagy bármely más helyen, ahol nyilvános SSH-kulcsokat használnak.
7. Állítsa be az SSH-ügyfelet a használatra tpm2-pkcs11
csatlakozni a szerverhez, például ennek beírásával $HOME/.ssh/config
(ügyfél oldal):
Csatlakozás a szerverhez (Megjegyzés: az előző lépés kihagyható:
Jövőbeli munka
Az előző rész bemutatta, hogyan lehet új kulcsot létrehozni a TPM-ben. Bár ez lehetővé teszi a TPM használatát az SSH-hitelesítés védelmére, két funkcióra van szükség ahhoz, hogy ez valódi alternatíva legyen a fájlok privát kulcsok tárolására való használatával szemben:
- 1. szolgáltatás: meglévő SSH-kulcsok importálása TPM-be újak létrehozása helyett (amely lehetővé teszi a zökkenőmentes átállást a TPM-tárhelyre, a kulcsok biztonsági mentését, ha a számítógép elromlik vagy elveszik stb.).
- 2. szolgáltatás: SSH-kulcsok használata jelszó nélkül, például a nem védett privát kulcsfájlok (ez a szolgáltatás biztonságosabb, mint a kulcsfájlok, mivel a védett kulcsot nem lehet kivonni a TPM-ből).
Mindkét funkciót implementáltam tpm2-pkcs11
és benyújtotta őket a Pull Requests-ben #681 és a #695. Az 1. funkciót májusban is bemutatták a heti online felhívás során tpm.dev közösség és a felvétel elérhető https://developers.tpm.dev/posts/14389750.
Így valószínűleg mindkét funkció elérhető lesz a következő kiadásban tpm2-pkcs11
.
Mellesleg azoknak a kíváncsi olvasóknak, akik szeretnék megérteni a belsőt tpm2-pkcs11
, az SSIC 2021 konferencián publikáltam egy cikket róluk, elnevezéssel SSH-hitelesítés védelme TPM 2.0-val (angol nyelvű cikk, francia nyelvű bemutató). Ezen túlmenően azoknak az olvasóknak, akik szeretnének kipróbálni dolgokat anélkül, hogy valódi TPM-hez nyúlnának, érdemes lehet érdeklődni a cikk „TPM 2.0 emulálása” című részében.
(Ábra: Rainer Knäpper, ingyenes művészeti engedély)
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoAiStream. Web3 adatintelligencia. Felerősített tudás. Hozzáférés itt.
- A jövő pénzverése – Adryenn Ashley. Hozzáférés itt.
- Részvények vásárlása és eladása PRE-IPO társaságokban a PREIPO® segítségével. Hozzáférés itt.
- Forrás: https://www.ledger.com/blog/ssh-with-tpm
- :van
- :is
- :nem
- :ahol
- $ UP
- 1
- 11
- 13
- 14
- 15%
- 2014
- 2018
- 2019
- 2020
- 2021
- 30
- 8
- 80
- a
- képesség
- Képes
- Rólunk
- hozzáférés
- Fiók
- elismerte
- hozzá
- hozzáadott
- Hozzáteszi
- szószóló
- Is
- alternatív
- an
- és a
- válasz
- bármilyen
- api
- Alkalmazás
- április
- VANNAK
- Művészet
- cikkben
- AS
- At
- Augusztus
- hitelesített
- Hitelesítés
- elérhető
- támogatás
- BE
- válik
- óta
- mindkét
- Törött
- Bogár
- de
- by
- hívás
- TUD
- nem tud
- visz
- eset
- esetek
- CGI
- változó
- ellenőrizze
- Ellenőrzések
- csip
- vásárló
- kód
- számítógép
- számítógépek
- számítástechnika
- koncepció
- Konferencia
- Configuration
- Csatlakozás
- összefüggő
- figyelembe vett
- tudott
- teremt
- készítette
- létrehozása
- kriptográfiai
- kriptográfia
- kíváncsi
- Jelenlegi
- görbe
- Annak meghatározása,
- tervezett
- Dev
- eszköz
- Eszközök
- DID
- különböző
- nehéz
- közvetlenül
- Tiltva
- kijelző
- disztribúció
- do
- dokumentáció
- nem
- alatt
- könnyen
- erőfeszítés
- Elliptikus
- Beágyaz
- beágyazott
- engedélyezve
- lehetővé teszi
- érvényesítése
- Angol
- stb.
- EVER
- Minden
- példa
- létező
- tapasztalat
- kivonat
- nem sikerül
- Funkció
- Jellemzők
- február
- filé
- Fájlok
- Végül
- rögzített
- következő
- A
- Ingyenes
- francia
- ból ből
- jövő
- generál
- GitHub
- Csoport
- hardver
- hardver eszköz
- hardvereszközök
- Legyen
- itt
- Hogyan
- How To
- HTML
- http
- HTTPS
- i
- IBM
- Azonosítás
- if
- végre
- importáló
- in
- Beleértve
- összeférhetetlen
- kezdeményez
- helyette
- utasítás
- kölcsönhatásba
- érdekelt
- Felület
- bele
- kérdés
- IT
- ITS
- január
- január 2021
- jpg
- Kulcs
- kulcsok
- ismert
- Főkönyv
- Ledger Nano
- Ledger Nano S
- Nano X könyvtár
- kevesebb
- mint
- Valószínű
- linux
- Listázott
- elhelyezkedés
- elveszett
- Fő
- csinál
- KÉSZÍT
- Gyártás
- malware
- sok
- anyag
- max-width
- Lehet..
- jelent
- eszközök
- modul
- több
- Ráadásul
- a legtöbb
- sok
- my
- Nevezett
- nano
- elengedhetetlen
- Szükség
- szükséges
- Új
- hír
- nem
- Most
- of
- Tiszt
- on
- ONE
- azok
- online
- or
- érdekében
- Más
- Egyéb
- csomag
- becsomagolt
- csomagok
- fájdalmas
- Jelszó
- jelszavak
- teljesít
- személyes
- Hely
- emelvény
- Plató
- Platón adatintelligencia
- PlatoData
- dugó
- lehetséges
- pontosan
- bemutatás
- bemutatott
- előző
- alapelv
- prioritás
- magán
- magánkulcs
- Saját kulcsok
- Programozás
- program
- védelme
- védett
- védelme
- protokoll
- ad
- feltéve,
- biztosít
- nyilvános
- nyilvános kulcs
- nyilvános kulcsok
- közzétett
- kérdés
- olvasók
- igazi
- felvétel
- engedje
- felszabaduló
- Számolt
- kötelező
- rsa
- s
- Rész
- biztonság
- biztosan
- biztonság
- látott
- szeptember
- ülés
- beállítások
- számos
- oldal
- Egyszerű
- So
- szoftver
- néhány
- leírás
- specifikációk
- Stacks
- standard
- Lépés
- Lépései
- Még mindig
- lopott
- tárolás
- tárolni
- memorizált
- benyújtott
- ilyen
- Támogatott
- rendszer
- mint
- köszönöm
- hogy
- A
- A Hetilap
- azok
- Őket
- Ott.
- ebből adódóan
- ők
- dolgok
- ezt
- idő
- időrendben
- nak nek
- tokenek
- megható
- átmenet
- Megbízható
- megpróbál
- kettő
- típus
- Ubuntu
- megért
- sajnálatos módon
- használ
- használt
- használó
- User Experience
- Felhasználók
- segítségével
- akar
- volt
- Út..
- módon
- honlapok
- heti
- voltak
- amikor
- ami
- míg
- WHO
- val vel
- nélkül
- írás
- X
- év
- Igen
- zephyrnet