凝思linux系统禁用usb存储设备(使用EZ100PU智能读卡器在Ubuntu系统读取身份证信息)

文章来源:CNX SOFTWARE中文站 — 嵌入式开发者的新闻知识库!

有人让我帮忙在一台运行Windows 7的电脑上配置一个智能读卡器,从而可以使政府电脑能读取到身份证信息。这使得我十分好奇如果把读卡器连接到我的Ubuntu笔记本电脑上到底会发生什么呢?我是否真能够读取身份证的信息呢?于是,我决定用泰国身份证试一试。

EZ100PU智能读卡器

我们先来看看这台读卡器。

凝思linux系统禁用usb存储设备(使用EZ100PU智能读卡器在Ubuntu系统读取身份证信息)(1)

EZ100PU智能读卡器的外包装

这款FAST ID 的 EZ100PU智能卡读写器是符合ISO7816标准的。用户可以在产品页面上查看到具体的型号,但搜索EZ100PU的时候只显示了制造商可能是中国台湾的讯想科技有限公司。其他信息就没有更多了。

凝思linux系统禁用usb存储设备(使用EZ100PU智能读卡器在Ubuntu系统读取身份证信息)(2)

EZ100PU智能读卡器及驱动光盘

该USB智能读卡器随附有一张驱动光盘,其中包含了适用于Windows、Linux、Mac OS和Android系统的驱动程序,并且带有演示程序和C 、Visual Basic .NET和C# 示例代码的SDK。正如我们将在下面进一步要看到的,该产品无需Linux驱动程序,因为它是开箱即用的。

凝思linux系统禁用usb存储设备(使用EZ100PU智能读卡器在Ubuntu系统读取身份证信息)(3)

Alcor智能卡控制器使用的RX-N99B-2印刷电路板

该板(RX-N99B-2)的设计非常简单,只有主芯片:Alcor AU9560 USB智能卡读取器。也可以在PCB的左下方看到智能卡插槽。不过,该板的另一侧就只有一个智能卡插槽了。

凝思linux系统禁用usb存储设备(使用EZ100PU智能读卡器在Ubuntu系统读取身份证信息)(4)

PCB另一侧的智能卡插槽

在Ubuntu 18.04系统使用智能读卡器

将读卡器连接到笔记本电脑,然后插入一张泰国身份证(接触式智能卡)。

凝思linux系统禁用usb存储设备(使用EZ100PU智能读卡器在Ubuntu系统读取身份证信息)(5)

EZ100PU智能读卡器连接到笔记本电脑并插入身份证

好消息是,该智能卡被读卡器内核自动检测为EMV智能卡了。

凝思linux系统禁用usb存储设备(使用EZ100PU智能读卡器在Ubuntu系统读取身份证信息)(6)

前往“CNX Software中文站”官网,查看完整信息

在这里我需要从网络上搜索有关信息。我在Linuxmint上找到了一篇介绍如何操作读卡器并读取西班牙身份证信息的文章。

在这里需要安装一些软件包,注意:并不是所有包都需要,主要是pcscd和pcsc-tools:

凝思linux系统禁用usb存储设备(使用EZ100PU智能读卡器在Ubuntu系统读取身份证信息)(7)

前往“CNX Software中文站”官网,查看完整信息

现在,我在读卡器上运行“scan”程序:

凝思linux系统禁用usb存储设备(使用EZ100PU智能读卡器在Ubuntu系统读取身份证信息)(8)

前往“CNX Software中文站”官网,查看完整信息

我检测到了Alcor Micro AU9560,并且它不知道怎么地就检测到了泰国护照,是不是因为用来创建卡的程序设置有错误?

smartcard_list.txt 中还有其他几个专门用于泰国身份证的代码。我想可能需要检查该文件来查看所有支持的卡的类型。以下是带有“Thai”的字符串,仅供参考:

Thai GSM UICC (Telecommunication)Thai id card (Other)Seven-Eleven Value Card / Smart Purse – Thailand (Other)Thailand National ID (eID)Thai National ID Card (eID)Thai National ID Card (eID)Thai (passport)Truemove H Thailand (Telecommunication)True Money Touch Sim (Thailand)Seven-Eleven Value Card / Smart Purse – Thailand (Contactless) (Other)Thai Passport 2010, 2011Thai Passport 2005

小标题:读取并解码身份证数据

我目前可以使用读卡器读取硬件和卡。一切看起来也都还不错。所以,如果能够读取和解码泰国身份证内的数据就更好了。而我刚好在GitHub上看到,一个叫做Bouroo的用户使用Python和NodeJS编程语言编写代码就做到了这一点。

我接下来会用Python脚本来做这件事。但首先需要要做的是安装一些依赖包:

凝思linux系统禁用usb存储设备(使用EZ100PU智能读卡器在Ubuntu系统读取身份证信息)(9)

前往“CNX Software中文站”官网,查看完整信息

现在,运行该脚本,它会逐步提取数据:

凝思linux系统禁用usb存储设备(使用EZ100PU智能读卡器在Ubuntu系统读取身份证信息)(10)

前往“CNX Software中文站”官网,查看完整信息

我从输出中删除了个人信息,可以确定的是屏幕上的确正确显示了身份证上的所有内容了,包括泰语的姓名和地址。该Python脚本还将存储在ID卡中的照片保存下来了,并命名为<CID>.jpg,其中的CID是身份证编号。

更多优质文章推荐:

1.使用Scheme函数式编程语言的LambdaChip Alonzo STM32板 - CNX Software中文站

2.CrowPi2树莓派4学习套件评测第1部分–开箱和首次启动 - CNX Software中文站

3.华擎和技嘉都即将推出自己的AMD锐龙5000U迷你电脑 - CNX Software中文站

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页