我的银行最近对其网站进行了改版,就我而言,它的状况有所改善。特别是,安全性似乎得到了极大的增强。

最重要的是,他们引入了一种非常不寻常的身份识别方法(我从未见过这种身份识别方法),他们称之为“电子证书”。基本上,您必须亲自去银行,这家伙会给您一个很小的,便宜的USB记忆棒,容量非常低。从这一点出发,您每次需要登录时都需要将操纵杆插入计算机。仅依靠操纵杆还不够,还必须输入密码-基本上是使用USB设备进行两因素验证是第二个因素。

这怎么可能起作用?当然,我相信USB随身碟包含用于登录过程的某种证书/加密密钥,但是它们不需要用户在计算机上安装任何软件。我感到非常令人毛骨悚然的是,从沙盒浏览器访问的网站(未安装任何插件/模块/应用/工具栏)可以看到您刚刚插入的USB记忆棒。充分利用其内容将您登录到网上银行应用程序的最敏感级别。

我不大喜欢将未知设备插入计算机,因此警告灯在出现以下情况时会闪烁这是向我解释的,因此我尝试了另一种识别方法(可以选择)。我只是好奇。

PS:这项措施显然不适用于他们的移动应用,因为智能手机没有USB端口,但这没什么大不了的,因为您不能用他们的手机做很多事情应用程序(主要是咨询应用程序,实际上不是可以用来进行大笔支付/转账的东西)。

编辑:不使用打开的文件对话框,这将使说明很清楚。

评论

可能是USB记忆棒提供了将自身连接到浏览器的必要驱动程序吗?

您是否测试过是否可以从“沙盒式网络浏览器”登录银行?可能是该密钥仅适用于非沙盒浏览器,银行假设所有客户都以这种方式运行。可能会问您的银行。

我认为您在这里缺少一些信息。可能会有一个USB智能卡,其中包含包含证书和私钥的嵌入式芯片。整个过程都可以通过PKCS#11或Windows证书存储区进行接口,从而允许任何浏览器访问与令牌关联的证书。但是,这通常需要安装必要的设备。由于您没有尝试过(并且无法提供有关棒本身的详细信息),因此我愿意相信对于“开箱即用”的含义存在误解。
我有一个Yubikey USB加密狗作为2要素认证。当我将其插入PC时,它将自己安装为通用键盘,我遇到的所有设备都可以接受。当我按下yubikey前面的按钮时,它会输入一个一次性密码,接收网站/程序将使用该密码来通过Yubicos身份验证服务器进行身份验证,而我使用的是我已设置要使用的帐户的密钥。因此,我可以将其插入任何地方,然后将OTP输入任何东西而无需安装任何东西。

我也希望USB密钥是一个包含私有密钥的智能卡,您可以将其用作第二个因素。可能是操作系统已经具有这些驱动程序或将其从Windows Update中拉出(对于很多或常规的USB密钥也是如此)。但是在大多数情况下,您必须首先在计算机上安装客户端证书。当浏览器提示时,操作系统将尝试从USB密钥(如果存在)中检索证书

#1 楼

银行给您的是带有数字证书的USB安全令牌(如此类)。这些是标准化的硬件设备,几乎每个操作系统都支持即插即用的功能。它们对于在企业IT中实现对高安全性系统的多因素身份验证非常常见。

您的网络浏览器使用HTTPS和基于客户端的证书来访问银行的网站。它使用您的操作系统证书库查找与Web服务器请求的身份匹配的已安装证书。当您安装了标准USB安全令牌时,操作系统还将在令牌上查找任何证书。

操作系统无法单独通过Web服务器执行验证过程,因为令牌不允许直接读取存储在其上的证书的私钥。令牌包括执行验证的硬件。因此,私钥永远不会离开USB记忆棒。这意味着即使您的PC受到恶意软件的侵害,证书的私钥也不会有被盗的危险(但请记住,身份验证成功后,此方法无法提供任何保护。恶意软件仍会破坏您的网络浏览器)。

顺便说一句:那是哪家银行?如果我的银行也支持这种身份验证方法,我什至可以开始进行网上银行业务。

评论


我认为OP希望了解有关USB驱动器如何提供安全性的机制的更多信息。您是否还有关于您所描述的USB安全令牌如何用于登录银行网站的更多信息?从描述中听起来没有必要进行任何类型的安装,也没有任何用户提示。

–雷铸
17年1月6日在18:23

USB安全令牌不能在所有操作系统上都起作用。阿拉丁尝试了多年,但失败了。 Linux的etoken驱动程序无法立即使用,也未安装。默认情况下也未安装opensc。另外:您需要将PKCS11模块添加到浏览器...

–cornelinux
17年1月6日在19:18

我认为他基本上是在说它已预装在操作系统中,因此不再需要安装。

–小狗
17年1月7日在17:52

请记住,插入加密狗后,任何恶意软件都将拥有与浏览器相同的证书访问权限,因此无需继续插入。

–棘轮怪胎
17年1月9日在13:12



请注意,这仅适用于使用Windows证书存储区的应用程序。 Chrome和Edge是这种行为的一个突出例子。没有PKCS#11模块,Firefox OTOH将无法工作。

– SEJPM
17年1月9日在17:11

#2 楼

一种可行的方法是Chrome支持不带插件的FIDO U2F。鉴于Chrome现在是最受欢迎的浏览器,并且Chrome可以在Windows,Mac和Linux上运行,因此宣称“它可以在具有USB端口的任何设备,Windows,Mac,Linux等设备上运行,并且开箱即用”。

他们是否声称它可以在任何浏览器或任何操作系统中使用?

评论


那与银行的债权不符。

–朱利安·奈特(Julian Knight)
17年1月6日在15:07

+1听起来不错。这是一种开源机制,这意味着它可能由Microsoft / Linux / Apple实现。当然,该银行声称它可以在任何带有USB端口的计算机上运行都是胡说八道。我有一个运行MenuetOS的盒子,我可以保证它不能与该OS一起使用。

– phyrfox
17年1月6日在22:57

@phyrfox从技术上讲,它几乎可以与任何具有USB端口的设备一起使用,您只需要首先安装Linux。

–汉斯·卡皮拉(Hannes Karppila)
17年1月9日在15:26

@phyrfox:很好。我有一个刚刚擦洗干净的盒子,根本没有安装任何操作系统,更不用说浏览器了,它也不起作用。我想,当银行说“任何计算机”或“您的计算机”时,阅读小字样,并不意味着我可能拥有的任何计算机。而且他们也不保证任何东西,这并不是说我在Atari ST上无法正常使用时可以要求退款。

–史蒂夫·杰索普(Steve Jessop)
17年1月10日于12:53



#3 楼


....它们不需要用户在计算机上安装任何软件...。
我认为,网页无需用户采取任何操作即可自由浏览文件系统的能力非常普遍。默认情况下受限制


是的,没有智能卡驱动程序绝对不可能实现。
这是任何浏览器的基本安全机制。无需单击“打开文件”对话框,Java对话框或预安装驱动程序即可读取证书?您说您选择了另一个验证选项。

这听起来像是中国银行使用的USB密钥。此处描述了这种技术。


与“具有USB端口的任何设备”兼容


具有PKCS#11 cert,或者将#12与密码结合使用,将在所有OS上都起作用。 >

评论


然后它可能仍然是预安装的浏览器插件或智能卡驱动程序。您正确地进行了分析,应该没有“开箱即用”的方法来执行此操作,但是通过弹出窗口或一些小的用户交互,这确实是有道理的。

– J.A.K.
17年1月6日在9:33

@Zazor:我想你不拥有这样的棍子。您怎么知道,没有打开的文件对话框?

–cornelinux
17年1月6日在19:16

@cornelinux我插上一根棍子,然后尝试登录该网站。它说“您的密钥无效”,但我可以看到登录界面没有要求用户打开文件

–user135452
17年1月7日,下午4:57

@ J.A.K。不,我插入了自己的USB记忆棒。这与识别过程完全无关;我只是想测试一下,如果您在没有正确操作的情况下尝试登录,会发生什么情况

–user135452
17年1月8日在8:19

登录应用程序将根据其类型或制造商来匹配USB。我认为您不会从随机USB中获得任何信息。

– J.A.K.
17年1月8日在13:45

#4 楼

它可能只是USB智能卡读卡器,并插入了SIM卡大小的智能卡。

不需要手动安装驱动程序,因为在大多数现代操作系统中至少已经安装了用于读卡器和卡的通用驱动程序。

请参见下图以获取此类设备的示例:



读取器内部的SIM卡上存储着带有私钥的证书。当您将其插入计算机时,智能卡中的证书将被加载到OS证书存储中。从那里开始,它的行为基本上与保存在计算机上的任何其他证书一样,可用于访问受保护的资源,对文档/邮件进行签名,对内容进行加密等。我的银行(网络银行)和国家信任的证书颁发机构(通常由我用于IRS相关资料和请求真实文件)。

评论


“将其插入计算机时,智能卡中的证书将被加载到OS证书存储中”,如果描述为true,那么它所描述的似乎不是功能,而是OS中的一个安全漏洞。我担心是否有人可以将USB记忆棒插入我的计算机并上传任意文件。

– Chue x
17年1月8日在17:57

它不是加载到计算机中的任意文件,而是一个数字证书,其本身不会造成任何损害-假定整个数字证书处理软件堆栈的实现已在OS中正确完成(这肯定是应该的) ,您不仅可以随意插入USB记忆棒,还可以随意将USB记忆棒插入计算机。如果这样做,则无论如何都可以认为计算机已损坏。

–user2720406
17年1月8日在22:51



@chuex,这实际上就是USB记忆棒的重点。

– Stack Tracer
17年1月9日,下午1:43

不过,这不适用于所有操作系统-至少不是Linux绝对不能(我还没有看到包含OpenSC的发行版)。

–AndréBorie
17年1月9日在9:30

@StackTracer并非每个小型USB设备都是文件存储(“ USB闪存驱动器”)。 cf.菲利普的答案。

– jpaugh
17年1月9日在17:15

#5 楼

它很可能是伪装成键盘的设备,因此无需特殊驱动程序即可被任何操作系统识别。在内部,它可能会使用HOTP(或者,如果有RTC芯片和电池,则是TOTP),并且每次按下按钮时都只是“键入” OTP,例如Yubikey或类似的U2F设备。

浏览器不说话,也不知道那里有USB;它只是指示用户按下设备上的物理按钮(告诉设备“键入”代码,因为浏览器本身无法与之对话),然后解释任何击键(直到代码长度)它接收来自设备的信息。

评论


您提出的建议与Yubikey类似,但我认为与OP的描述不符。

– Rob C
17年1月6日在9:49

@RobC这很可能是唯一适合Windows / Mac / Linux兼容性且不需要驱动程序的解决方案。任何其他事情都将需要浏览器插件,驱动程序或两者,这绝对与作者描述的不符。

–AndréBorie
17年1月6日在10:25

我同意Rob的观点,银行似乎不太可能使用该解决方案。如果USB记忆棒可以模拟键盘,它将如何在浏览器中拦截这些响应并回复令牌?它会与计算机交互,这对普通用户而言非常令人毛骨悚然。我想不出一种通过使用键盘模拟USB实现OP所描述的操作的干净方法。如J.A.K.所述,OP没有使用USB记忆棒,因此可能需要用户进行一些安装和批准。

–银
17年1月6日在10:50

@Silver操纵杆和浏览器之间不需要交互。这只是TOTP或HOTP之类的第二个因素。

–AndréBorie
17年1月6日在10:55

@AndréBorie,那可能有效。您可以通过按记事本窗口中的按钮进行测试。这将要求用户将TOTP字段集中在浏览器中。几乎没有什么信息可以弄清楚该机制是什么。也许OP可以指定使用此功能的银行,以便每个人都可以进行更多研究。

–银
17年1月6日在11:04

#6 楼

听起来像我十年前的理论想法。

几乎每个操作系统都支持USB网络设备。您的USB记忆棒可能假装为网卡,已连接到本地网络,并且该网络上也有Web服务器。该Web服务器也可以具有HTTPS证书。

您的Web浏览器可以向该Web服务器发出HTTPS请求,并发现USB记忆棒和银行网站彼此信任。这不是沙箱逃逸,因为浏览器和操作系统都不知道Web服务器实际上在USB记忆棒上。

IP警告:据我所知,我的前任雇主持有在大多数司法管辖区都拥有此想法的专利。复制此想法之前,请联系专利律师。

评论


@Marcel USB设备上的Web服务器可以为其设置一个静态IP。然后,Web应用程序可以连接到该IP地址。例如,Web服务器可以将其IP设置为12.34.56.78,然后Web应用程序可以加载诸如12.34.56.78/.well-known/verify-user/[unique-id]之类的资源,然后验证该资源是否实际加载(并且也许检查它的内容)

– BlueCacti
17年1月6日在14:36

基本上,PoisonTap(samy.pl/poisontap)对吗?

–马修
17年1月6日在14:54

不会将网卡添加为操作系统所限制的特权操作吗?

–乔什·桑福德(Josh Sanford)
17年1月6日在14:57

@JoshSanford不幸的是,它不受Windows限制。请参阅grc.com/sn/sn-576.htm,找到“ USB网络适配器”

–马塞尔
17年1月6日在15:07

@Marcel:域名可以是usbstick.example.bank,因为银行知道设备将要求使用哪个IP。这需要一个/ 30,可以在该银行的所有USB记忆棒之间共享。更好的是,您还可以在公共互联网上拥有相同的IP。插入USB时,PC将选择更好的路由(本地),而当未插入USB时,则选择较差的路由(互联网)。后者的网络服务器将仅提供“插入USB棒!”的图像。

– MSalters
17年1月6日在15:24

#7 楼

正如其他答案中提到的那样,这很可能是USB安全令牌。可以将其视为智能卡读取器+嵌入式智能卡(有时实际上是通过这种方式实现的)。想想美国国防组织使用的CAC卡。想想PGP卡。 Yubikey的某些型号还支持充当智能卡。

这种设备已在中国的银行中广泛用于保护其在线银行网站/桌面客户端软件,我的回答主要取决于我的个人情况。在中国使用这些令牌的经验。

如何使用它?

当您注册网上银行并选择USB令牌时,银行会为您提供令牌,创建一个公钥/私钥对和您的个人证书,并将它们加载到令牌中。您可以在令牌上设置一个密码,该密码与您的网上银行登录密码是分开的。 。每当您登录或执行敏感操作(转账,更改联系信息,授权在线购买等)时,浏览器/操作系统都会提示您输入令牌密码,令牌上的指示灯会闪烁几秒钟,然后进行交易

等等,我必须安装驱动程序吗?

是的。 Windows操作系统具有标准的智能卡接口,但是每种型号的U​​SB令牌仍然需要驱动程序。 Windows Update很少会为您安装正确的驱动程序,但是在大多数情况下,您将不得不从银行的网站下载软件包。

通常唯一受支持的操作系统是Windows,并且唯一受支持的操作系统浏览器是IE。 (他们喜欢它们一些ActiveX。)通常,智能卡/ USB令牌肯定有可能支持其他OS /浏览器,请参见上面的CAC卡。您必须检查与您自己的银行的兼容性。

那么它如何验证您的身份?

浏览器要求操作系统要求令牌对一小段数据进行签名(也许是您的交易详细信息)。令牌使用您的私钥和证书对其进行签名。浏览器将签名发送到银行。银行验证签名,并感到满意的是,只有他们给您的令牌具有用于生成此签名的私钥。

私钥永远不会离开令牌。如果设计正确,则令牌永远不要泄露私钥。

#8 楼

首先,请允许我说,我对一个非技术人员的说法表示怀疑,该说法是,该技术可以在“具有USB端口的任何设备”上运行,而不管浏览器或操作系统如何。如果支持的操作系统只是几个Windows版本(也许还有MacOS),我也不会感到惊讶。但是,思考这样的设备如何工作很有趣。

大多数不需要驱动程序的解决方案,例如USB键盘的AndréBorie建议,都需要一些额外的接口(例如硬件按钮)。 。

不过,user2720406的帖子给我提供了一个对于在任何具有USB端口的[已打开]设备上确实可以在某些地方使用的设备的想法:

USB设备仅包含一个SIM卡,可使用它通过GPRS / 3G自己访问Internet。然后,该设备将简单地发送数字签名的消息“带有令牌12312121的客户正在使用在线银行”。除非最近5分钟内收到在线会话,否则不允许在线会话(可能还有其他因素,例如客户的IP与设备的IP地址具有相似的地理位置)。因此,usb端口将仅用于供电,并且设备完全独立于计算机上安装的设备。

评论


它只是宣布为键盘。

–jorfus
17年1月6日在22:47

想不到为什么这行不通的原因。出色的开箱即用思维。

– Oliphaunt-恢复莫妮卡
17年1月7日在8:34



OP可以通过将设备插入与其登录到银行站点的计算机不同的另一台计算机中进行测试。

– Chue x
17年1月8日在17:51

#9 楼

这听起来像Yubikey。它们是众所周知的,而且效果很好。
关于不需要驱动程序:Yubikey将自己标识为键盘,因此任何具有键盘驱动程序的计算机都可以读取其输出的文本。
如何工作:按下按钮,Yubikey会发出公共密钥(来自设备中嵌入的安全私钥) 。然后,银行可以
对您进行身份验证,并确认您拥有您所知道的东西(您的
密码)和您所拥有的东西(您的人身安全私人密钥
)。
为什么要安全:计算机上的软件无法访问您的私钥,因此恶意软件无法复制该密钥并假装为您。它必须从您的身体上被盗。 (这是可能的,但这就是为什么要将它与您知道的东西配对)
以及使用它们的人以及原因:Google帮助设计了yubikey,以便他们
解决在获取本地凭据的计算机上的恶意软件问题
,而用户不在场。每个Google工程师都有一个。我
使用了他们多年,并在它们周围部署了许多2fa解决方案。


评论


根据该网站,yubikey还将自己标识为智能卡和智能卡读取器。

–卢卡斯
17年1月6日在22:57

YubiKey使用Windows中已经可用的通用驱动程序:对于YubiKey Standard / Nano以及任何具有OTP模式的设备(Edge,NEO等):键盘> HID键盘设备(与插入外部键盘相同)

–jorfus
17年1月6日在23:17

在较新的操作系统上,它可能会通过名称来标识,但我的意思是,它在我插入过的任何计算机上都能正常工作。我从未见过“未知设备”警告。

–jorfus
17年1月6日在23:18

如果输入,则听起来像是文本,然后可能被用户或恶意软件捕获并与设备分开使用。

– MikeP
17年1月8日在1:45

绝对是一个一次性令牌。包含密钥记录器的恶意软件将始终能够记录密码和OTP(即使您是从钥匙串链上键入OTP的)。这可以防止恶意软件窃取这些凭据并在以后再次使用它们。

–jorfus
17年1月9日在23:26