本节将介绍在 Linux 环境中使用智能卡的一些应用程序。如果您是软件开发人员,并且您的开发环境是 Linux,请告知我。我会将您添加到列表中。
smartcard 是 Linux 中通用的智能卡实用程序,它使用 CT-API。借助 smartcard 实用程序,您可以从智能卡读取/写入数据。只要您的读卡器可以通过 CT-API 访问,就可以使用 smartcard 来控制读卡器。目前,smartcard 只能与使用 I2C 或 3W 协议的存储卡一起使用。还有一个 GTK+/Gnome 图形前端,它支持 smartcard 实用程序的所有功能。
正如作者所说,ssh-smart 是智能卡上 ssh 身份验证的基本概念验证。ssh-smart 使用 smartcard 实用程序与智能卡通信。基本上,ssh-smart-add 工具(perl 脚本)调用 ssh-keygen 来生成 RSA 公钥和私钥。然后将私钥放在存储卡上。稍后,可以使用 ssh-smart-addagent 工具从卡中提取私钥,以便与 ssh-agent 一起使用。
这是另一个用于 Unix 系统的 PAM 模块,但它支持通过智能卡上的私钥进行 RSA 身份验证。您必须拥有 Schlumberger Cyberflex Access 卡或 Schlumberger Cryptoflex for Windows Card 以及可用的读卡器才能使用此工具。
此实用程序是与智能卡进行某种程度完整的 PKI 集成。要使用它,您必须建立一个可用的 OpenCA 并拥有 Schlumberger 的“Cyberflex Access 16K”智能卡。在 OpenCA 的认证过程中,私钥和公钥证书可以存储在智能卡上,并且私钥稍后可以与 Netscape 一起使用,以签署外发邮件和新闻。此外,smartsign 通过 PAM 模块通过公钥身份验证支持本地用户的身份验证。Smartsign 附带 gpkcs11(PKCS#11 实现)、smastsh(一个允许浏览智能卡内容的命令行 shell)、sign_sc/verify_sc(用于使用智能卡签名和验证任何文件)。
在密歇根大学信息技术集成中心 CITI,有一些新项目。例如,Webcard 是一个在 Schlumberger Cyberflex Access Java Card 上运行的 Web 服务器。它具有精简的 TCP/IP 堆栈,仅支持 HTTP。该系统旨在拥有一个路由器,该路由器在 ISO7816 中构建 IP 数据包,以及卡中的 Java 虚拟机。详细的技术报告可以在 http://www.citi.umich.edu/projects/smartcard/webcard/citi-tr-99-3.html 找到