題:
“ USB記憶棒”在線識別如何工作?
user135452
2017-01-06 14:11:08 UTC
view on stackexchange narkive permalink

我的銀行最近對網站進行了改版,就我而言,它的情況有所改善。尤其是,安全性似乎得到了極大的增強。

最重要的是,他們引入了一種非常不尋常的(我從未見過)身份識別方法,他們將其稱為“電子證書”。基本上,您必須親自去銀行,這個傢伙會給您一個很小的廉價USB記憶棒,容量很低。從這一點出發,您每次需要登錄時都需要將操縱桿插入計算機。僅依靠操縱桿還不夠,還必須輸入密碼-基本上是使用USB設備進行兩因素身份驗證是第二個因素。

這可能如何工作?當然,我相信USB記憶棒中包含用於登錄過程的某種證書/加密密鑰。 ,但不需要用戶在計算機上安裝任何軟件。我發現從沙盒式網絡瀏覽器訪問的網站(未安裝任何插件/模塊/應用/工具欄)可以看到您剛剛插入的USB記憶棒,這非常令人毛骨悚然。不僅是 see 這根棍子,但請仔細閱讀並充分利用其內容,以使您登錄到網上銀行應用程序中最敏感的水平。

我不太喜歡將未知設備插入計算機,當向我解釋這時,我的警告燈閃爍,因此我嘗試了另一種識別方法(您可以選擇)。我只是很好奇。

PS:這項措施顯然不適用於他們的移動應用程序,因為智能手機沒有USB端口,但這沒什麼大不了的,因為您無法使用他們的電話應用程序做很多事情(它主要是一個諮詢應用程序,不是您實際上可以用它進行大筆付款/轉賬的東西。)

編輯:不使用打開文件對話框,這將使說明很清楚。

可能是USB記憶棒提供了將自身連接到瀏覽器的必要驅動程序嗎?
我不知道,因為我實際上並不擁有它,但是據說它可以與“任何具有USB端口的設備”,Windows,Mac,Linux等兼容,並且可以直接使用
USB記憶棒使用什麼驅動程序?也是標準的USB記憶棒嗎?它有可能在後台運行某種腳本,類似於USB rubberducky類型的設備,該設備使用Windows已安裝或將自動安裝的沼澤標準HID驅動程序。
抱歉,我在搖桿上沒有太多詳細信息,因為我選擇了另一種身份識別方法,所以他們沒有給我提供任何身份信息。當然,這將是一件有趣的事情,但是我現在不能這樣做。也許我可以要求一個
您是否測試過是否可以從“沙盒式網絡瀏覽器”登錄銀行?可能是該密鑰僅適用於非沙盒瀏覽器,銀行假設所有客戶都以這種方式運行。可能會問您的銀行。
我說沙盒瀏覽器是因為我的+是我認為,在2016年,默認情況下(我希望!)太普遍地限制了網頁自由瀏覽文件系統而無需用戶操作的能力,我想銀行可以假設。我沒有嘗試
我認為您在這裡缺少一些信息。可能會有一個USB智能卡,其中包含包含證書和私鑰的嵌入式芯片。整個過程都可以通過PKCS#11或Windows證書存儲區進行接口,從而允許任何瀏覽器訪問與令牌關聯的證書。但是,這通常需要安裝必要的設備。由於您沒有嘗試過(並且無法提供有關棒本身的詳細信息),因此我願意相信對於“開箱即用”的含義存在誤解
我有一個Yubikey USB加密狗作為2要素認證。當我將其插入PC時,它將自己安裝為通用鍵盤,我遇到的所有設備都可以接受。當我按下yubikey前面的按鈕時,它會輸入一個一次性密碼,接收網站/程序將使用該密碼來通過Yubicos身份驗證服務器進行身份驗證,而我使用的是我已設置要使用的帳戶的密鑰。因此,我可以將其插入任何地方,然後將OTP輸入任何東西而無需安裝任何東西。
我也希望USB密鑰是一個包含私有密鑰的智能卡,您可以將其用作第二個因素。可能是操作系統已經具有這些驅動程序或將其從Windows Update中拉出(對於很多或常規的USB密鑰也是如此)。但是在大多數情況下,您必須首先在計算機上安裝客戶端證書。當瀏覽器提示時,操作系統將嘗試從USB密鑰中檢索證書(如果存在)
@rory-alsop,實際上我的答案是一個答案,我只在最後一秒鐘才看到另一個答案,並且認為比我的要好。但是,USB設備和磁盤分區都具有唯一的標識符,可以用作第二個因素。USB設備ID是最有可能的候選者。我使用這些ID來處理USB驅動器的備份。
這是在黑暗中釣魚。請在此處添加USB標識符,例如供應商ID和產品ID。使用操作系統機制來讀取連接的USB設備。-好吧,我終於看到你沒有這樣的棍子了。
@JamesTrotter這似乎幾乎沒有什麼安全性,因為它基本上是可以直接發現並輸入的第二個密碼。
只是偽裝成鍵盤。 當您按下按鈕時,它將導出公共密鑰。任何操作系統都會愉快地將鍵盤輸入傳遞到光標所在的任何位置。
僅供參考:大多數智能手機確實具有USB端口(充電端口),可用於連接外部USB設備。您只需要一個合適的適配器/電纜(可以花幾美元或幾美元就能獲得),或者帶有微型USB連接器的設備。本身俱有此類連接器(即不需要適配器電纜插入電話)的USB設備正變得越來越普遍。
可能是[this](http://www.pcworld.com/article/190015/secure_online_banking.html)嗎?
我喜歡根據您的印象,“安全性似乎已大大增強”, “ [最] [重要]”更改是您“ [以前]從未見過”的一種識別方法。安全是一種感覺,最重要的是;)
@Michael否,不是一遍又一遍地使用單個密碼...每次按下該按鈕時,都會使用一個新的一次性密碼,由硬件供應商通過您要登錄的任何支持yubikey的站點進行驗證(實際上很少,實際上)。這也是第二種身份驗證方法,因此是在普通密碼之上使用的。
就像某些軟件公司讓您購買的加密狗一樣。我不知道他們現在是否仍然這樣做。
九 答案:
Philipp
2017-01-06 20:50:12 UTC
view on stackexchange narkive permalink

您的銀行給您的是帶有數字證書(類似)的 USB安全令牌。這些是標準化硬件設備,幾乎每個操作系統都支持開箱即用的plug&play。它們對於在企業IT中實現對高安全性系統的多因素身份驗證非常常見。

您的網絡瀏覽器使用HTTPS和基於客戶端的證書來訪問銀行的網站。它使用您的操作系統證書庫查找與Web服務器請求的身份匹配的已安裝證書。當您安裝了標準USB安全令牌時,操作系統還將在令牌上查找任何證書。

由於令牌不允許直接讀取存儲在其上的證書的私鑰,因此操作系統無法單獨通過Web服務器執行驗證過程。令牌包括執行驗證的硬件。因此,私鑰永遠不會離開USB記憶棒。這意味著即使您的PC受到惡意軟件的侵害,證書的私鑰也不會有被盜的危險(但請記住,身份驗證成功後,此方法無法提供任何保護。惡意軟件仍會破壞您的網絡瀏覽器)。

順便說一句:那是哪家銀行?如果我的銀行也支持這種身份驗證方法,我什至可以開始進行網上銀行業務。

我認為OP希望了解有關USB驅動器如何提供安全性的機制的更多信息。您是否還有關於您所描述的USB安全令牌如何用於登錄銀行網站的更多信息?從描述中聽起來沒有必要進行任何類型的安裝,也沒有任何用戶提示。
USB安全令牌不能在所有操作系統上都起作用。阿拉丁嘗試了多年,但失敗了。Linux的etoken驅動程序無法立即使用,也未安裝。默認情況下也未安裝opensc。另外:您需要將PKCS11模塊添加到瀏覽器...
我認為他基本上是在說它已預裝在操作系統中,因此不需要*更多*安裝。
請記住,插入加密狗後,任何惡意軟件都將擁有與瀏覽器相同的證書訪問權限,因此不再需要插入。
請注意,這僅適用於使用Windows證書存儲區的應用程序。Chrome和Edge是這種行為的一個突出例子。沒有PKCS#11模塊,Firefox OTOH將無法工作。
Lie Ryan
2017-01-06 17:08:13 UTC
view on stackexchange narkive permalink

一種可行的方法是Chrome支持不帶插件的FIDO U2F。鑑於Chrome現在是最受歡迎的瀏覽器,並且Chrome可以在Windows,Mac和Linux上運行,因此宣稱“它可以在具有USB端口的任何設備,Windows,Mac,Linux等設備上運行,並且開箱即用”。

他們是否聲稱它可以在任何瀏覽器或任何操作系統上正常工作?

那與銀行的要求不符。
+1聽起來不錯。這是一種開源機制,這意味著它可能由Microsoft / Linux / Apple實現。當然,該銀行聲稱它可以在具有USB端口的*任何*計算機上運行,這是胡說八道。我有一個運行MenuetOS的盒子,我可以保證它不能與該OS一起使用。
@phyrfox好吧,從技術上講,它幾乎可以與任何具有USB端口的設備一起使用,您只需要首先安裝Linux。
@phyrfox:相當不錯。我有一個剛剛擦洗乾淨的盒子,根本沒有安裝任何操作系統,更不用說瀏覽器了,它也不起作用。我猜想,當銀行說“任何計算機”或“您的計算機”時,閱讀小字樣,並不意味著我可能擁有的“任何”計算機。而且他們也不保證任何東西,這並不是說我在Atari ST上無法正常工作時可以要求我退錢。
J.A.K.
2017-01-06 14:56:32 UTC
view on stackexchange narkive permalink

....它們不需要用戶在計算機上安裝任何軟件...。我認為,網頁在沒有用戶操作的情況下自由瀏覽文件系統的能力通常受到以下因素的限制:是

是的,沒有智能卡驅動程序絕對不可能。這是任何瀏覽器的基本安全機制。這提供了無需單擊“打開文件”即可讀取證書的clou。對話框,Java對話框還是預安裝驅動程序?您說您選擇了另一個驗證選項。

這聽起來像是中國銀行使用的USB密鑰。 此處描述了這種技術。

據說與“具有USB端口的任何設備”兼容

具有PKCS#11證書或#12與密碼短語結合使用將在所有OS上工作。這與keepass工作的密碼管理器的工作方式相同,將您知道的內容與必須獲得2個身份驗證因素結合在一起。

有趣的答案,謝謝!我沒有檢查打開的文件對話框,因為這是我想到的第一個想法。
然後它可能仍然是預裝的瀏覽器插件或智能卡驅動程序。您的分析是正確的,應該沒有“開箱即用”的方法來執行此操作,但是通過彈出窗口或一些小的用戶交互,這確實是有道理的。
@Zazor:我認為您不擁有這樣的棍子。您怎麼知道沒有打開的文件對話框?
如果只是假裝是通用鍵盤怎麼辦?
@cornelinux我插入了一根棍子,然後嘗試登錄該網站。它說“您的密鑰無效”,但我可以看到登錄界面沒有要求用戶打開文件
那麼“ lsusb”或Windows中的設備管理器會告訴您有關此“棍子”的信息嗎?
“我自己的棍子”-是您描述的棍子嗎?我以為您選擇了其他驗證選項。如果是的話,請給我們lsusb的輸出,以便我們大致了解一下搖桿的作用。
-1
登錄應用程序將根據其類型或製造商來匹配USB。我認為您不會從隨機USB中獲得任何信息。
user2720406
2017-01-06 21:56:31 UTC
view on stackexchange narkive permalink

它可能只是一個USB智能卡讀卡器,其中插入了SIM卡大小的智能卡。

不需要手動安裝驅動程序,因為在大多數現代操作系統中至少已經安裝了用於讀卡器和卡的通用驅動程序。

請參見下圖以獲取此類設備的示例:

Photo of USB device.

讀取器內部的SIM卡上存儲著帶有私鑰的證書。當您將其插入計算機時,智能卡中的證書將被加載到OS證書存儲中。從那裡開始,它的行為基本上與保存在計算機上的任何其他證書一樣,可用於訪問受保護的資源,對文檔/郵件進行簽名,對內容進行加密等。

此證書尤其由Cert頒發我的銀行(網絡銀行)和州政府信任的授權機構(我通常將其用於IRS相關資料和請求真實文件)。

*“當您將其插入計算機時,智能卡中的證書將被加載到OS證書存儲中”我擔心是否有人可以將USB記憶棒插入我的計算機並上傳任意文件。
它不是加載到計算機中的任意文件,而是一個數字證書,它本身不會造成任何損害-假設整個數字證書處理軟件堆棧的實現已在OS中正確完成(這肯定是應該的) 另外,您不僅可以隨意插入USB記憶棒,還可以將隨機USB記憶棒插入計算機。如果這樣做,則無論如何都可以認為計算機已損壞。
@chuex,實際上就是USB記憶棒的關鍵所在。
不過,這不適用於所有操作系統-至少不是Linux絕對不能(我還沒有看到包含OpenSC的發行版)。
-1
我知道@jpaugh,。不確定與我的評論有何關係。
@StackTracer“大容量存儲”只是一類USB“存儲棒”。還有一個“ Content Security”設備類(又名DRM),它似乎描述了OP的設備,並且大概也是矩形的(即“棒狀”)。[USB設備類列表](http://www.usb.org/developers/docs/devclass_docs/)
@jpaugh,不會使我的聲明無效。
André Borie
2017-01-06 15:42:19 UTC
view on stackexchange narkive permalink

最有可能偽裝成鍵盤的設備,因此不需要特殊驅動程序就可以被任何OS識別。在內部,它可能會使用HOTP(或者,如果有RTC芯片和電池,則是TOTP),並且每次按下按鈕時都“鍵入” OTP,例如 Yubikey或類似的U2F設備。

瀏覽器不說話,也不知道那裡有USB。它只是指示用戶按下設備上的物理按鈕(告訴設備“鍵入”代碼,因為瀏覽器本身無法與之對話),然後解釋任何擊鍵(直到代碼長度)它接收來自設備的信息。

您在建議類似[Yubikey](https://www.yubico.com/products/yubikey-hardware/yubikey4/)的內容,我認為這與OP所描述的不符。
@RobC這很可能是唯一適合Windows / Mac / Linux兼容性且不需要驅動程序的解決方案。任何其他事情都將需要瀏覽器插件,驅動程序或兩者,這絕對與作者描述的不符。
我同意Rob的觀點,銀行似乎不太可能使用該解決方案。如果USB記憶棒可以模擬鍵盤,它將如何在瀏覽器中攔截這些響應並回復令牌?它會與計算機交互,這對普通用戶而言非常令人毛骨悚然。我想不出一種通過使用鍵盤模擬USB實現OP所描述的操作的干淨方法。如J.A.K.所述,OP沒有使用USB記憶棒,因此可能需要用戶進行一些安裝和批准。
@Silver操縱桿和瀏覽器之間不需要交互。這只是TOTP或HOTP之類的第二個因素。
@AndréBorie,那行得通。您可以通過按記事本窗口中的按鈕進行測試。這將要求用戶將TOTP字段集中在瀏覽器中。幾乎沒有信息可以弄清楚該機制是什麼。也許OP可以指定使用此功能的銀行,以便每個人都可以進行更多研究。
我也剛剛發現有關U2F的信息。我認為Lie Ryan答案應該是公認的答案。
MSalters
2017-01-06 19:08:11 UTC
view on stackexchange narkive permalink

聽起來像我十年前的理論想法。

幾乎每個操作系統都支持USB網絡設備。您的USB記憶棒可能假裝為網卡,已連接到本地網絡,並且該網絡上也有Web服務器。該Web服務器也可以具有HTTPS證書。

您的Web瀏覽器可以向該Web服務器發出HTTPS請求,並發現USB記憶棒和銀行網站相互信任。這不被認為是沙盒逃逸,因為瀏覽器和操作系統都不知道Web服務器實際上在USB記憶棒上。

IP警告:據我所知,我的前任雇主擁有一項專利在大多數司法管轄區都採用這種想法。複製此想法之前,請聯繫專利律師。

瀏覽器將如何知道該Web服務器的域名或IP?
@Marcel USB設備上的Web服務器可以為其設置一個靜態IP。然後,Web應用程序可以連接到該IP地址。例如,Web服務器可以將其IP設置為12.34.56.78,然後Web應用程序可以加載諸如https://12.34.56.78/.well-known/verify-user/[unique-id]之類的資源,然後驗證該資源實際加載(並檢查其內容)
基本上,PoisonTap(https://samy.pl/poisontap/)有用嗎?
不會將網卡添加為操作系統所限制的特權操作嗎?
我從未聽說過這種方法被大規模使用。
@JoshSanford不幸的是,它在Windows上不受限制。請參閱https://www.grc.com/sn/sn-576.htm,找到“ USB網絡適配器”
@Marcel:並且域名可以是“ usbstick.example.bank”,因為銀行知道設備將要求使用哪個IP。這需要一個/ 30,可以在該銀行的所有USB記憶棒之間共享。更好的是,您可以**也**在公共互聯網上擁有相同的IP。插入USB時,PC將選擇更好的路由(本地),而當未插入USB時,PC將選擇更差的路由(互聯網)。後者的網絡服務器將僅提供“插入USB棒!”的圖像。
@JoshSanford:有了USB和Wifi,通常不再可用。人們開始抱怨為什麼他們的wifi會要求root密碼,而他們希望它只是即插即用。著名的Linux Torvalds本人抱怨Linux不應要求root密碼來執行諸如切換打印機或加入wifi網絡之類的操作。一些發行版仍然對其進行限制,這不是內核的功能,而是發行版的更多配置方式。
twisteroid ambassador
2017-01-07 15:04:16 UTC
view on stackexchange narkive permalink

正如其他一些答案所述,這很可能是USB安全令牌。可以將其視為智能卡讀取器+嵌入式智能卡(有時實際上是通過這種方式實現的)。想想美國國防組織使用的 CAC卡。想想PGP卡。某些Yubikey型號還支持充當智能卡。

這種設備在中國的銀行中廣泛用於保護其在線銀行網站/桌面客戶端軟件,我的回答主要取決於我的個人經驗在中國使用這些令牌。

您如何使用它?

當您註冊網上銀行並選擇USB令牌時,銀行會為您提供令牌,並創建一個公共/私鑰對和您的個人證書,然後將它們加載到令牌中。您在令牌上設置了密碼,該密碼與您的網上銀行登錄密碼分開。

您在個人計算機上安裝了銀行提供的驅動程序,插入了令牌,然後導航到銀行的網站。每當您登錄或執行敏感操作(轉賬,更改聯繫信息,授權在線購買等)時,瀏覽器/操作系統都會提示您輸入令牌密碼,令牌上的指示燈會閃爍幾秒鐘,然後進行交易

等待,我必須安裝驅動程序嗎?

是。 Windows操作系統具有標準的智能卡接口,但是每種型號的USB令牌仍然需要驅動程序。 Windows Update很少會為您安裝正確的驅動程序,但在大多數情況下,您將不得不從銀行的網站下載軟件包。

通常唯一受支持的操作系統是Windows,並且是唯一受支持的瀏覽器是IE。 (他們喜歡它們一些ActiveX。)通常,智能卡/ USB令牌肯定有可能支持其他OS /瀏覽器,請參見上面的CAC卡。您必須檢查與您自己的銀行的兼容性。

那麼它如何驗證您的身份?

瀏覽器要求操作系統要求令牌對一小段數據進行簽名(也許是您的交易詳細信息)。令牌使用您的私鑰和證書對其進行簽名。瀏覽器將簽名發送到銀行。銀行驗證簽名,並感到滿意的是,只有他們給您的令牌具有用於生成此簽名的私鑰。

私鑰永遠不會離開令牌。如果設計正確,則令牌永遠不應洩露私鑰。

Ángel
2017-01-06 23:52:43 UTC
view on stackexchange narkive permalink

首先,讓我指出,我對一名非技術人員的說法表示懷疑,該說法是,該技術可在“具有USB端口的任何設備”上運行,而不管瀏覽器或操作系統如何。如果支持的操作系統只是幾個Windows版本(也許還有MacOS),我也不會感到驚訝。但是,思考這樣的設備如何工作很有趣。

大多數不需要驅動程序的解決方案(例如usb鍵盤的AndréBorie建議)將需要一些額外的接口(例如硬件按鈕)。

不過,user2720406的帖子為我提供了一個對於在任何具有USB端口的[打開的]設備上確實可以在某些地方使用的設備的想法:

USB設備僅包含一個 SIM卡,即可使用它通過GPRS / 3G自行訪問Internet。然後,該設備將簡單地發送數字簽名的消息“帶有令牌12312121的客戶正在使用在線銀行”。除非最近5分鐘內收到在線會話,否則不允許在線會話(可能還有其他因素,例如客戶的IP與設備的IP地址具有相似的地理位置)。因此,usb端口僅用於供電,並且設備完全獨立於計算機上安裝的設備。

它只是宣佈為鍵盤。
想不到為什麼這行不通的原因。出色的開箱即用思維。
OP可以通過將設備插入與他要登錄到銀行站點的計算機不同的另一台計算機中進行測試。
jorfus
2017-01-07 04:44:49 UTC
view on stackexchange narkive permalink

這聽起來像Yubikey。它們是眾所周知的,並且效果很好。 https://www.yubico.com/products/yubikey-hardware/yubikey4/

  • 關於不需要驅動程序: Yubikey會將自己標識為鍵盤,因此任何具有鍵盤驅動程序的計算機都可以讀取其中的文本。
  • 工作原理:按下按鈕,Yubikey會發布一個公共密鑰(來自嵌入的安全私鑰)在設備中)。然後,銀行可以對您進行身份驗證,並確認您擁有您知道的東西(您的密碼)和您擁有的東西(您的物理安全私鑰)。
  • 為什麼安全:計算機上的軟件無法使用來訪問您的私鑰,以便惡意軟件無法複製該密鑰並假裝為您。它必須從您的身體上被盜。 (這是可能的,但這就是為什麼您將其與您知道的東西配對)

  • 誰使用它們以及原因:Google幫助設計了yubikey,以便他們可以解決用戶不在時,計算機將獲取本地憑據。每個Google工程師都有一個。我使用它們已有多年了,並在它們周圍部署了許多2fa解決方案。

根據該網站,yubikey還將自己標識為智能卡和智能卡讀取器。
YubiKey使用Windows中已經可用的通用驅動程序: 對於YubiKey Standard / Nano和任何具有OTP模式的設備(Edge,NEO等): 鍵盤> HID鍵盤設備(與插入外部鍵盤相同)
在較新的操作系統上,它可能會通過名稱來標識,但我的意思是,它在我插入過的任何計算機上都可以正常工作。我從未見過“未知設備”警告。
如果輸入,則聽起來像是文本,然後可能被用戶或惡意軟件捕獲並與設備分開使用。
絕對是一個一次性令牌。包含密鑰記錄器的惡意軟件將始終能夠記錄密碼和OTP(即使您是從鑰匙串鏈上鍵入OTP的)。這可以防止惡意軟件竊取這些憑據並在以後再次使用它們。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...