Java 卡中的 Applet ID 和 APDU

发布于 2024-09-10 03:00:14 字数 403 浏览 9 评论 0原文

在我的项目中,我想在智能卡上写入生物识别数据(如指纹模板)。经过一番深入研究后,我为我的项目选择了 Java 卡。但我是这个平台的新手,对此知之甚少:(

我也读过Sun的教程,但无法解决一些困惑:

1.)我只想从卡上读取和写入生物识别数据,所以是吗?有必要在java卡上为它设计小程序吗?我不能使用智能卡读卡器的简单读/写功能来读/写智能卡内存上的生物识别数据吗?

2.)如果我为java卡创建一个小程序,那么我将如何为其提供小程序ID?每个小程序的小程序 ID 都是唯一的。而且,我如何知道预先创建的小程序的小程序 ID?

3.) 什么是应用协议数据单元 (APDU)?而且,他们将如何帮助我在卡上读取/写入数据?

我知道所有这些都是基本问题,但我真的很困惑。所以请大家帮忙!

提前致谢。

In my project i want to write biometric data (like fingerprint template) on a smart card. After some good study i chose Java card for my project. But i am new to this platform and know very little about this :(

I have read tutorials from Sun also, but was unable to resolve some confusions:

1.) I just want to read and write biometric data from the card, so is it necessary to design applet for it on java card? Can't i use simple read/write functions of a smart card reader to read/write biometric data on the smart card's memory?

2.) If i create an applet for java card then how i am going to give applet id to it? Applet id is unique to each applet. And, how can i know the applet id for the pre-created applets?

3.) What are Application Protocol Data Unit (APDU's)? And, how are they going to help me in reading/writing data on the card?

I know all these are basic questions but i am really confused. So please help out guys!

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

岁吢 2024-09-17 03:00:14

我将尝试回答您的问题:

1)如果卡上没有预安装任何支持写入和读取生物识别数据的内容,您应该创建自己的小程序来完成这项工作。

2)关于AID,你是对的,你应该尝试使其独一无二。 AID的结构如下:
5 字节 RID + 0..11 字节 PIX

RID 是应用程序提供商的唯一标识符。为了确保没有其他人使用您的 RID,您应该根据您的申请范围在国家或国际认证机构进行注册。不过,注册 RID 并不是强制性的,唯一的要求是,如果未注册,您应该使用“F”作为 RID 的开头。如果您执行严格的应用程序,建议仅使用注册的 AID。

PIX 是专有应用程序标识符扩展,提供的应用程序应保持其唯一性。

3) APDU 只是描述与小程序通信方式的协议。它将您想要调用的指令与输入和输出数据包装在一起。

I will try to answer your questions:

1) If there is nothing pre-installed on the card that supports writing and reading biometric data you should create your own applet doing the job.

2) Concerning the AID you are right that you should try make it unique. The structure of the AID is the following :
5 bytes RID + 0..11 bytes PIX

RID is unique identifier of the application provider. In order to make sure that nobody else use your RID you should register it in a national or international certification institutions, depending on the scope of your application. Although, it is not mandatory to have registered RID only requirement is that you should use "F" as a start of your RID if it is not registered. It is recommend to use only registered AID if you implement serious application.

PIX is Proprietary Application Identifier Extension that application provided should maintain its uniqueness.

3) APDUs is just protocol describing the way of communicating with your applet. It wraps the instruction that you want to call together with the input and output data.

拥抱影子 2024-09-17 03:00:14

APDU 是您发送到智能卡的“命令”。

Javacard(以及安装在 javacard 上的小程序)支持特定的 APDU,具体取决于安装的小程序(以及用于安装小程序的特定 APDU)。javacard 文档是开始了解这一点的最佳位置。

有些智能卡预装了小程序,为生物识别数据保留了空间;例如,“PIV”卡(以及相关的小程序)。

如果您的卡没有预装用于存储生物识别数据的小程序,您将需要编写并安装一个小程序。

希望这有帮助。

APDUs are the "commands" you send to the smart card.

Javacards (and applets installed on javacards) support specific APDUs depending on what applets are installed (and specific APDUs for installing applets.) The javacard documentation is the best place to start learning about this.

Some smart cards come with applets pre-installed that have space reserved for biometric data; for example, "PIV" cards (and associated applet).

If your card doesn't have an applet pre-installed for storing biometric data you will need to write and install one.

Hope this helps.

凤舞天涯 2024-09-17 03:00:14

APDU 命令示例:
00 A4 04 00 0A A0 00 00 00 62 03 01 0C 01 01
CLA INS P1 P2 Lc 数据字段 Le

第一个字节:CLA,是命令类型。例如,80 表示使用全局平台定义的命令。

第2个字节:INS,指令码。

第 3 个字节:P1,参数 1。

第 4 个字节:P2,参数 2。

第 5 和第 6 字节:数据长度,不包括 size、CLA、P1、P2 和 le 的长度。

第七。 byte to last byte:数据

最后一个字节:Le 一般为 00。

更多信息请参见 Global Platform 的文档。
http://globalplatform.org/specationscard.asp

An example for APDU Command:
00 A4 04 00 0A A0 00 00 00 62 03 01 0C 01 01
CLA INS P1 P2 Lc Data field Le

1st byte: CLA, it is an command type. For example 80 means Global platform defined commands are used.

2nd Byte: INS, instruction code.

3rd Byte: P1, parameter 1.

4th Byte: P2, parameter 2.

5th and 6th bytes : Length of data excluding length of size, CLA, P1, P2 and le.

7th. byte to last byte: Data

Last Byte: Le which is generally 00.

For more information please see Global Platform's documents.
http://globalplatform.org/specificationscard.asp

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文