中本聪论文

智能卡是一种安全地持有私钥而不会将其从存储中放出的设备。 信用卡上的芯片是“智能卡”(是的,术语不明确-卡和芯片可互换地称为“智能卡”)。 有较小的USB可插拔硬件读取器,仅可容纳芯片(没有实际的卡,例如此卡)。

但是有什么用? 几年前的w3c研讨会概述了其中的一些内容:多因素身份验证, 状态接受的电子标识 ,数字签名。 所有这些都是更大范围的一部分–使用互联网现在是主要的通信手段。 我们正在将大多数现实活动在线上转移,因此,有一种方法可以识别我们在线的人(例如,到政府,银行),或者能够在线(具有法律价值)签署文件。

因此,欧盟引入了eIDAS法规 ,该法规定义(除其他事项外)电子标识和数字签名。 在那里建立的框架旨在具有法律约束力的电子通信,这在许多情况下都很重要。 您是否进行过打印符号扫描练习? 未经授权的人可以访问您的电子银行吗? 好吧,该法规应该解决这些以及更多问题。

两因素身份验证是另一个更广泛的概念,它具有大量次优解决方案。 OTP令牌,Google身份验证器,短信代码确认。 所有这些都有问题(例如时钟同步,短信拦截,费用)。 有类似YubiKey的硬件令牌,但它们仅提供智能卡具有的功能的子集。

但这不仅仅涉及法律上认可的在线行动和两因素身份验证。 它开辟了其他可能性,例如更安全的在线信用卡付款-例如,将卡放在阅读器中并输入PIN,而不是输入卡号,CVC,日期,名称,3d密码等。

经过这么长时间的介绍,我发现了一个问题:浏览器不支持智能卡。 在法律认可电子签名的欧盟中,始终很难使它们与浏览器一起使用。 到目前为止的解决方案:Java applet。 Java applet可以通过java crypto API与智能卡进行交互,从而提供签名功能。 但是,随着Java applet的弃用,这个持续不断的奋斗时代将很快结束(这是一个奋斗-必须至少单击两次确认并保持Java处于最新状态,即使对于开发人员来说也是麻烦的)。 几年前,在Firefox和IE中曾经有一种使用window.crypto和CAPICOM API做到这一点的方法,但这些方法已被弃用。

最近的趋势是使用“基于云”的方法,其中密钥位于HSM上。 这当然很有用,但是身份识别问题仍然存在–要访问HSM上的密钥,同样需要两步验证。 拥有硬件令牌“在您手中”可以增加安全性。

爱沙尼亚(世界上数字政府最多)的聪明人比Java或HSM拥有更好的解决方案-允许与自己的ID卡(即具有智能卡)进行交互的浏览器插件。 解决方案在这里和这里 。 效果很好–您可以安装一个插件(一个多功能安装程序),并可以使用javascript签署文档。 您还将安装正确的PKCS库,以及允许使用硬件令牌进行TLS 1.2身份验证(标识和身份验证与签名)所需的根证书。 这种方法的缺点是,它有些脆弱,并且依赖于浏览器的异想天开-如果某些浏览器决定弃用某些插件API,则必须不断升级插件,并且有被完全破坏的风险。

另一种方法是“本地服务”方法,它有两种风格。 一种是–安装一个公开应用程序的本地应用程序,该应用程序公开一个HTTP接口,并使用javascript和正确的同源配置将您签名所需的文件发送到该服务,然后将结果作为HTTP响应获取,然后可以再次使用javascript,附加到请求签名的页面。 不利之处–安装服务以监听没有管理员权限的给定端口。 另一种方法是让应用程序挂接到自定义协议(例如signature://)。 因此,每当页面要用户签名时,它都会打开signnature:// path-to-document-to-sign,由本地安装的应用程序拦截,执行数字签名,并将结果推送到(one-时间)在文档的元数据中指定的URL以进行签名。 像这样的事情是由4identity.eu实现的,并且确实有效。

现在,签名是一回事,标识(TLS客户端身份验证)是另一回事。 据称,一切都应该在这里进行– PKCS#11是一个标准,应该允许使用智能卡进行TLS客户端身份验证。 现实是-事实并非如此。 您通常需要特定于供应商的PKCS#11库。 OpenSC是一个很酷的工具,可与许多智能卡一起使用,仅可与Firefox和Safari一起使用。 Charismatics commercial是一种软件,应该可以与所有智能卡一起使用-嗯,它并不总是如此。

而这里的问题是智能卡供应商。 之所以需要OpenSC和Charismatics,是因为即使有一些PKCS标准,智能卡还是一团糟。 这不仅是一团糟,而且是封闭的,秘密的一团糟。 在大多数情况下,APDU(发送到智能卡以与其进行通信的命令)都是秘密的。 即使您购买了成千上万张卡,也不会了解它们-您只会获得了解它们的定制供应商软件。 然后,您必须对他们进行反向工程,才能知道如何与他们实际交谈​​。 它们不仅在供应商之间不同,而且在不同供应商的卡型号之间也不同。 因此,爱沙尼亚的方法实施起来比较简单-他们只有一种类型的智能卡,发给所有公民,而且他们大多处于控制之下。 在其他国家,这真是一团糟。 至少支持十二种不同类型的卡。

因此,我的首要要求是向智能卡供应商(数量不多)提供服务-请修复您的混乱情况。 摆脱多余的“通过模糊处理获得安全性”,使浏览器无需额外的欺骗就可以与您通信。

我的第二个请求是对浏览器供应商的请求–请本机支持智能卡加密。 不幸的是,由于上述智能卡混乱(除其他事项外),硬件加密已明确从Web加密API中排除。 作为后续措施,有一个硬件安全工作组 ,但据信它仍在“进行中”,我的感觉还不是很多。 在w3c中,重要的是,浏览器供应商必须同意在其成为标准之前实现某些东西,而且我听说有些人反对智能卡集成。 由于上述混乱,我猜是。

您可能会说–标准化将解决此问题。 好吧,到目前为止还没有。 欧盟官员已经意识到了这个问题,eIDAS法规可能会受到这些技术问题的阻碍,但它们无能为力,因为欧盟不是一个标准化机构。

因此,归根结底是浏览器和智能卡供应商共同努力一劳永逸地解决此问题。 因此,请这样做以启用更安全和合法合规的网站。

翻译自: https://www.javacodegeeks.com/2017/02/case-native-smart-card-support-browsers.html

中本聪论文

中本聪论文_浏览器中本机智能卡支持的案例相关推荐

  1. 浏览器中本机智能卡支持的案例

    智能卡是一种安全地持有私钥而不会将其从存储中放出的设备. 信用卡上的芯片是"智能卡"(是的,术语不明确-卡和芯片可互换地称为"智能卡"). 有较小的USB可插拔 ...

  2. vnc viewer通过浏览器_浏览器中的Ubuntu 20.04 LTS(Focal Fossa)

    在开始写这篇tutorial时,想到曾经看过的一本书,叫做<瓶中的太阳:核聚变的怪异历史>,讲的是在追求可控核聚变过程中的一段历史,在半个世纪以来的大批物理学家看来,创造一种装在瓶中的微型 ...

  3. javafx 浏览器_浏览器中的JavaFX

    javafx 浏览器 浏览器中的JavaFX屏幕截图 最近,Carl Dea和我启动了一个新项目,将JavaFX 8引入浏览器. 今天,我想介绍我们创建的前两个概念验证,以查看该想法是否完全可行. 对 ...

  4. ES6新特性_浏览器中使用ES6模块化的另一种方式--JavaScript_ECMAScript_ES6-ES11新特性工作笔记044

    然后我们再来看一下,es6的模块化在,浏览器使用的第二种方式 这里比如我有个aap.js,这个js呢,算是我们一个入口的文件 在这个里面我们可以引入 其他的js模块,比如我这个里面引入了m1.js 然 ...

  5. 点聚AIP电子签章在Chrome、Edge新内核、360系列、FireFox、IE、Opera等浏览器中实现网页内嵌效果案例(二)

    B.函数功能请求:公司网站 http://zorrosoft.com/ 1) 显示关于对话框 请求:{"req":"AIP_AboutBox","ri ...

  6. SQLite大漏洞!所有Chromium浏览器中招,安卓iOS应用也受殃及

    允中 发自 凹非寺  量子位 报道 | 公众号 QbitAI 一个SQLite大bug,影响之大.范围之广,不容小觑. 今天,腾讯Blade安全团队发现的SQLite漏洞披露,他们将该漏洞称为&quo ...

  7. 别问,问就是我差点在所有浏览器中注入 JavaScript 代码

     聚焦源代码安全,网罗国内外最新资讯! 专栏·供应链安全 数字化时代,软件无处不在.软件如同社会中的"虚拟人",已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为 ...

  8. Google已开始从Chrome浏览器中取消对 FTP 的支持

    谷歌开发人员希望从Chrome浏览器中取消对FTP支持很久了,在一系列提议的代码更改计划和"意图取消"的呼声中,Chrome的支持FTP协议的时代即将结束. 在多年来创建的一系列关 ...

  9. Vue.js如何写一个简单的原生js模块,浏览器中的表现如何?

    2019独角兽企业重金招聘Python工程师标准>>> 浏览器正在逐步的支持原生JavaScript模块.Safari和Chrome的最新版本已经支持它们了,Firefox和Edge ...

最新文章

  1. java.lang.NullPointerException 空指针异常问题
  2. spark.yarn.archive 的正确设置方法
  3. 三十功名尘与土——资深程序员生涯自白
  4. 技术周刊(2019-02-11 Serverless)
  5. airflow连接mysql错误_安装Airflow遇到的问题以及解决过程
  6. Intel保护机制:特权级别:Protection Rings
  7. 微软11月补丁星期二值得关注的6个0day及其它
  8. vs2008怎么创建c语言程序,VS2008的使用
  9. nslookup测试网络命令
  10. Python实现电影订票系统
  11. NVIDIA驱动重装经历
  12. Mac下AndroidStudio无法识别安卓手机问题解决
  13. Linux远程操作(rcp/rsh)命令实战
  14. 瑞郎走弱有助于瑞士国家银行MogaFX外汇储备增加
  15. 边缘计算赋能智慧城市:机遇与挑战
  16. CC00055.hadoop——|HadoopMapReduce.V27|——|Hadoop.v27|源码剖析|DataNode启动流程|
  17. 矩阵运算库 C语言 (Matrix_hub)
  18. php+vue 南天在线求助系统
  19. 【转】CVPR2019目标检测汇总
  20. maptalks上加载自定义标记

热门文章

  1. Sublime text 3最新版破解方法
  2. 博途v17与winCC安装流程与踩坑记录
  3. vb数据库编程精华例题分享
  4. 二进制文件、文本文件
  5. 逆袭之路——python学习笔记【day08】
  6. [免费专栏] Android安全之Android加密算法浅析
  7. 西南科技大学OJ题 邻接矩阵到邻接表1055
  8. C语言程序设计-1024 科学计数法
  9. 气象期刊参考文献样式
  10. 关于python语句p p_关于 Python 语句 P=-P ,哪个选项的描述是正确的?_纳税实务答案_学小易找答案...