自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SSH使用FIDO2 USB進(jìn)行身份驗(yàn)證

安全 數(shù)據(jù)安全
在OpenSSH 8.2中,提供了對(duì)FIDO2的支持。這樣用戶(hù)就可以硬件USB密鑰證書(shū)進(jìn)行用戶(hù)認(rèn)證。這樣可以實(shí)現(xiàn)簡(jiǎn)單、有效和安全的SSH認(rèn)證了。本文我們就嘗試一下基于FIDO2的SSH認(rèn)證,前提是需要一個(gè)USB key設(shè)備。

在OpenSSH 8.2中,提供了對(duì)FIDO2的支持。這樣用戶(hù)就可以硬件USB密鑰證書(shū)進(jìn)行用戶(hù)認(rèn)證。這樣可以實(shí)現(xiàn)簡(jiǎn)單、有效和安全的SSH認(rèn)證了。本文我們就嘗試一下基于FIDO2的SSH認(rèn)證,前提是需要一個(gè)USB key設(shè)備。

[[338872]]

FIDO2

在硬件認(rèn)證安全領(lǐng)域WebAuthn和FIDO2的發(fā)展,他給我們帶來(lái)了更便捷安全的方法。WebAuthn和FIDO2旨在通過(guò)標(biāo)準(zhǔn)化二者之間的通信方式使用安全設(shè)備的變得真正容易。

對(duì)每一個(gè)人來(lái)說(shuō)這都是一個(gè)好消息,現(xiàn)在大家可以使用便捷的USB密鑰,無(wú)需額外的安全知識(shí),即可非常輕松地保護(hù)所有身份驗(yàn)證,完全避免網(wǎng)絡(luò)釣魚(yú),密碼盜竊以及其他惡意攻擊的干擾,只需要插入U(xiǎn)SB密鑰,按小按鈕/輸PIN或者刷指紋,然后重新登錄。

雖然之前很多人可能都用過(guò)銀行的網(wǎng)銀,但是由于那是不標(biāo)準(zhǔn)通用的方式,不光要安裝各種各樣的驅(qū)動(dòng)而且還要必須要特定版本的IE才行。而如果支持了FIDO2則可以被所有OS和任何瀏覽器所支持,當(dāng)然包括今天要說(shuō)的SSH。

截止目前根據(jù)有人統(tǒng)計(jì)國(guó)內(nèi)也有很多企業(yè)加入了FIDO聯(lián)盟,包括阿里等大企業(yè)。

SSH使用FIDO2 USB進(jìn)行身份驗(yàn)證

FIDO2分為WebAuthn和CTAP協(xié)議,最佳使用場(chǎng)景包括:

  • 在設(shè)備上通過(guò)瀏覽器使用設(shè)備配置的指紋等生物識(shí)別能力進(jìn)行身份認(rèn)證;
  • 在設(shè)備上通過(guò)瀏覽器使用外置Security key進(jìn)行身份認(rèn)證;
  • 在設(shè)備上通過(guò)另一臺(tái)設(shè)備作為認(rèn)證器完成身份認(rèn)證。

SSH使用FIDO2 USB進(jìn)行身份驗(yàn)證

結(jié)合使用FIDO2和SSH

對(duì)廣大使用Linux和Mac的技術(shù)人員來(lái)說(shuō),除了瀏覽器使用最多的要數(shù)SSH了。如果可以使用FIDO2密鑰通過(guò)SSH進(jìn)行身份驗(yàn)證,那將帶來(lái)很大方便和安全。為此OpenSSH也放棄一貫對(duì)硬件密鑰體系的傲慢態(tài)度,現(xiàn)在終于支持FIDO(U2F)和FIDO2進(jìn)行身份驗(yàn)證了,而帶有駐留鍵的FIDO2具有更好的便捷和安全性。流程是USB設(shè)備(FIDO2設(shè)備不一定是USB,但通常是USB設(shè)備)生成一個(gè)秘密密鑰。密鑰要么存儲(chǔ)在設(shè)備上(稱(chēng)為駐留密鑰),要么需要設(shè)備支持存儲(chǔ),要么不支持,需要將數(shù)據(jù)存儲(chǔ)在其他位置。

使用USB key設(shè)備的好處包括消除網(wǎng)絡(luò)釣魚(yú),密碼盜竊,身份驗(yàn)證重放以及許多其他攻擊。由于設(shè)備通過(guò)特定領(lǐng)域(服務(wù)器地址/URL/等)進(jìn)行身份驗(yàn)證,因此攻擊者無(wú)法在另一個(gè)站點(diǎn)上重復(fù)使用一個(gè)站點(diǎn)的身份驗(yàn)證,這使得網(wǎng)絡(luò)釣魚(yú)無(wú)法進(jìn)行。密碼或私鑰在設(shè)備上并無(wú)法復(fù)制提取,任何人都不能竊取密碼或私鑰。唯一可能的攻擊是你的USB Key丟了,但是由于設(shè)備有PIN密碼,并且有錯(cuò)誤次數(shù)限制,嘗試幾次錯(cuò)誤有,該設(shè)備將會(huì)鎖定實(shí)效。

可能有用過(guò)Yubikey的同學(xué),使用SSH內(nèi)置功能好處是不需要特別使用Yubikey,也不需要弄亂Yubikey代理,PIV模式或其他任何其他軟件。只需插入任何兼容FIDO2的密鑰,即可將其與SSH一起使用。有"駐留鍵"模式僅在Yubikey 5C和更高版本的FIDO2上有效。

使用方法

在了解了有關(guān)設(shè)備如何工作的所有不必要的細(xì)節(jié)之后,準(zhǔn)備好將其中一個(gè)用于SSH。設(shè)置非常簡(jiǎn)單,基本上只需一兩個(gè)命令(取決于方法),在客戶(hù)端和服務(wù)器上都運(yùn)行OpenSSH 8.2,無(wú)需安裝其他軟件。下面我們分常駐密鑰模式和非常駐模式的兩種方法。

常駐密鑰模式

在支持FIDO 2設(shè)備的下,使用以下命令生成密鑰并將其存儲(chǔ)在設(shè)備上,支持的密鑰類(lèi)型有"ed25519-sk"和"ecdsa-sk"兩種證書(shū)類(lèi)型。

  1. ssh-keygen -t ed25519-sk -O resident -f ~/.ssh/id_ ed25519-sk  
  2. ssh-keygen -t ed25519-sk -O resident -f ~/.ssh/id_ ecdsa-sk 

 

SSH會(huì)要求輸入PIN碼并觸摸的設(shè)備,然后將密鑰對(duì)保存在設(shè)置目錄。

SSH使用FIDO2 USB進(jìn)行身份驗(yàn)證

ssh-keygen將生成兩個(gè)文件,一個(gè)稱(chēng)為id_ecdsa _sk,私鑰,一個(gè)稱(chēng)為id_ecdsa _sk.pub公鑰。只需要將該公鑰添加到服務(wù)器上的authorized_keys即可中。

要將私鑰添加到SSH代理,需要將其復(fù)制到~/.ssh/目錄中,或者(如果在新計(jì)算機(jī)上并且沒(méi)有密鑰),請(qǐng)運(yùn)行:

  1. ssh-add -K 

插入設(shè)備。就會(huì)將密鑰添加到SSH代理,然后就將能夠連接到服務(wù)器。

非常駐密鑰模式

非駐留密鑰模式與前面模式基本相同,區(qū)別之處在于無(wú)法ssh-add -K直接從設(shè)備加載密鑰。和以前一樣,運(yùn)行:

  1. ssh-keygen -t ed25519-sk -f ~/.ssh/id_ ed25519-sk 
  2. ssh-keygen -t ed25519-sk -f ~/.ssh/id_ ecdsa-sk 

SSH會(huì)要求輸入PIN并觸摸設(shè)備,然后將密鑰對(duì)保存在設(shè)置的目錄。需要手動(dòng)將密鑰對(duì)存儲(chǔ)在~/.ssh/目錄中,并將公鑰文件添加到要登錄的任何服務(wù)器上的authorized_keys。既可以

當(dāng)嘗試登錄時(shí),OpenSSH會(huì)要求提供PIN并觸摸設(shè)備。

可以在生成密鑰時(shí)候設(shè)置no-touch-required選項(xiàng)來(lái)設(shè)置不需要每次都觸摸設(shè)備,但是啟用它并沒(méi)有取得很好的效果,但是這樣不是很安全。

將密鑰存儲(chǔ)在設(shè)備上意味著沒(méi)有人可以竊取它(設(shè)備設(shè)置了PIN或其他身份驗(yàn)證方法),但是在連接后,不受信任的計(jì)算機(jī)仍可以通過(guò)SSH會(huì)話(huà)發(fā)送命令。不要從不信任的計(jì)算機(jī)上用SSH服務(wù)器,尤其是在使用SSH轉(zhuǎn)發(fā)(此-A選項(xiàng))時(shí)要格外小心,因?yàn)榉?wù)器隨后可能會(huì)當(dāng)做跳板或者代理而訪(fǎng)問(wèn)其他服務(wù)器進(jìn)行身份驗(yàn)證。

非FIDO2設(shè)備和非openSSH 8.2客戶(hù)端

對(duì)于不支持FIDO2的其他設(shè)備(買(mǎi)不起Yubikey,比如幾十塊的國(guó)產(chǎn)飛天Usbkey),在使用其他ssh客戶(hù)端,而且ssh版本不是8.2的其實(shí)也有一種方法,只是需要下載一個(gè)第三方的代理軟件WinCryptSSHAgent(github:/ /buptczq/WinCryptSSHAgent)。

WinCryptSSHAgent基于 Windows證書(shū)管理系統(tǒng), 不需要安裝任何驅(qū)動(dòng)就能夠訪(fǎng)問(wèn)智能卡上的證書(shū).這個(gè)項(xiàng)目實(shí)現(xiàn)了 Windows 上各種各樣 SSH 客戶(hù)端的私有 Agent 協(xié)議, 在發(fā)生SSH 認(rèn)證時(shí), 客戶(hù)端將信息發(fā)給這個(gè) Agent, 這個(gè) Agent 會(huì)通過(guò) Windows 提供的 API 對(duì)信息進(jìn)行簽名, 完成認(rèn)證。目前兼容的 SSH 客戶(hù)端有: Git for Windows、Windows Subsystem for Linux、Windows OpenSSH、Putty、Jetbrains、SecureCRT、Xshell、Cygwin、MINGW等。

啟動(dòng)該代理軟件,然后就可以實(shí)現(xiàn)用USBKey登陸了。

當(dāng)然使用該代理軟件有個(gè)缺點(diǎn),啟動(dòng)代理認(rèn)證,完成一次認(rèn)證后,支持該證書(shū)登陸服務(wù)器都可以直接登陸,這可會(huì)存在一定安全問(wèn)題??梢酝ㄟ^(guò)定期關(guān)閉代理以保證安全。

SSH使用FIDO2 USB進(jìn)行身份驗(yàn)證

總結(jié)

總的來(lái)說(shuō),OpenSSH對(duì)FIDO的支持給我們帶來(lái)了一種更便捷而且安全的身份認(rèn)證方式。當(dāng)然由于這是一個(gè)開(kāi)始,可能還會(huì)存在著一些問(wèn)題和bug,希望各種SSH客戶(hù)端軟件也能及時(shí)跟進(jìn),內(nèi)置支持該協(xié)議,讓大家安全水平都提高一個(gè)檔次。

 

責(zé)任編輯:趙寧寧 來(lái)源: 今日頭條
相關(guān)推薦

2010-11-30 15:31:38

SharePoint Kerberos

2022-05-07 15:47:46

多因素身份驗(yàn)證密碼

2017-01-19 09:36:02

2021-05-11 09:00:29

GitHub安全密鑰防盜

2010-11-03 16:07:38

DB2身份驗(yàn)證

2018-11-23 14:44:34

Windows 功能系統(tǒng)

2023-11-23 10:19:08

2010-09-06 11:24:47

CHAP驗(yàn)證PPP身份驗(yàn)證

2023-04-18 08:00:35

DexKubernetes身份驗(yàn)證

2024-02-23 07:18:40

JWTWeb應(yīng)用程序

2023-08-31 07:53:30

2013-05-03 09:44:52

2012-04-10 09:36:58

2020-08-04 08:04:46

VueAPI驗(yàn)證

2017-09-01 12:38:20

windows服務(wù)器windows 200

2024-07-30 12:00:06

2011-02-21 10:54:45

2013-07-21 18:32:13

iOS開(kāi)發(fā)ASIHTTPRequ

2022-04-01 09:00:00

Linux安全SSH

2025-04-25 07:00:00

身份驗(yàn)證CISO無(wú)密碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)