首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SDA与DDA在JavaCard中的差异?

SDA与DDA在JavaCard中的差异?
EN

Stack Overflow用户
提问于 2015-10-08 11:59:35
回答 2查看 2.5K关注 0票数 0

我有一个小程序(你可以看看它,JavaCard小程序不适用于RSA加密。)。Applet在构造函数中生成RSA公钥和私钥,并使用APDU命令加密一些字节数组。

Applet在文档中生成带有KeyBuilder.LENGTH_RSA_2048的公钥和私钥,这些文档中提供了卡,可悲的是,JavaCard仅在DDA中支持2048位密钥长度。

所以问题是什么是DDA和SDA。他们之间的差异?主要问题是:如何安装(或运行?)这种模式下的小程序?

我发现:更新1:SDA -静态数据身份验证DDA -动态数据身份验证

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-09 05:44:55

所以问题是:

什么是DDA和SDA。他们之间的差异?

SDA - SDA确保ICC数据的真实性。在SDA之后,可以确定来自ICC的数据是真实的,没有被任何人改变。但SDA并不能保证ICC数据的唯一性。你可以看到SDA的图表

在这里您可以看到在SDA期间使用的两个RSA对,

(1) - IssuerRSA

(2) - CA_RSA

此图非常具有描述性,可以清楚地理解SDA的流程。此外,您还可以查看EMV书2以获得有关SDA的更多描述。虽然DDA流程就像,

在这里你可以看到3个RSA对在DDA中使用,

1- IssuerRSA

2- CA_RSA

3- ICC RSA (新的RSA密钥在所有卡中都是唯一的,每张卡在卡的个性化过程中产生这对RSA,因此这对RSA对对于每一张卡都是不同的)

SDA保证卡片上的数据是有效的,因为我们信任一个高级别的认证机构来签署这些数据。但是攻击者可以记录一个卡片会话并构建一个新的虚拟卡,因为这里对所有会话都使用相同的数据。

但是在DDA流程中,我们可以说它是检查SDA +,通过终端将随机数据发送给卡片签名,这部分使得克隆卡片成为不可能的,因为每个会话使用不同的随机数,所以记录卡会话在下一个卡片会话中不能工作。

希望能帮上忙,你能从SDADDA杰马托上读到更多吗?

票数 2
EN

Stack Overflow用户

发布于 2015-10-08 22:47:22

DDA暗示了Cipher.ALG_RSA_NOPAD算法(有时被称为原始RSA或CKM_RSA_X_509) -- @Hai指出,请查看EMV书2 (可能是附件B2)。

您正在实例化不用于DDA的Cipher.ALG_RSA_PKCS1,因此可能不受卡的支持。

您可以通过检查抛出的CryptoException中的CryptoException.NO_SUCH_ALGORITHM原因代码来验证这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33015169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档