Security Java卡中的两个OwnerPIN对象

Security Java卡中的两个OwnerPIN对象,security,smartcard,javacard,apdu,pin-code,Security,Smartcard,Javacard,Apdu,Pin Code,我正在开发一个Java卡应用程序,我们的需求是在卡中保留一些静态数据和平衡 为了安全起见,我想制作2个OwnerPIN对象。一个对象用于终端身份验证(即,终端需要发送8字节的数据以进行自身身份验证),另一个对象用于用户身份验证(即,用户需要输入4位PIN以进行自身身份验证) 只有两次身份验证都成功,我们才能读取数据或更新余额 或者,对于如何在卡上实施安全措施以避免盗窃,是否还有其他建议 在小程序开发过程中,是否有任何关于选择专有类和指令字节的指导原则?对于用户身份验证,OwnerPIN无疑是一种

我正在开发一个Java卡应用程序,我们的需求是在卡中保留一些静态数据和平衡

为了安全起见,我想制作2个OwnerPIN对象。一个对象用于终端身份验证(即,终端需要发送8字节的数据以进行自身身份验证),另一个对象用于用户身份验证(即,用户需要输入4位PIN以进行自身身份验证)

只有两次身份验证都成功,我们才能读取数据或更新余额

或者,对于如何在卡上实施安全措施以避免盗窃,是否还有其他建议


在小程序开发过程中,是否有任何关于选择专有类和指令字节的指导原则?

对于用户身份验证,OwnerPIN无疑是一种很好的方法(当然也有其他选择,但OwnerPIN提供了安全功能(例如撕裂保护),否则您必须手动实现这些功能)

对于终端身份验证,不应阻止您使用基于OwnerPIN实例的方法。但是,根据您的安全需求,您可能希望选择某种形式的相互身份验证,而不是简单的PIN码。如果终端仅仅发送PIN码(特别是如果它以明文形式发送),攻击者可以简单地截获该PIN码(发送到卡上),然后使用发现的PIN码创建自己的(恶意)终端


关于类和指令字节(特别是关于标准操作,如PIN码验证),我建议您遵守标准。ISO/IEC 7816-4为此类标准操作定义了许多说明。

对于用户身份验证,OwnerPIN无疑是一种很好的方法(当然也有其他选择,但OwnerPIN提供了安全功能(例如撕裂保护),否则您必须手动实现这些功能)

对于终端身份验证,不应阻止您使用基于OwnerPIN实例的方法。但是,根据您的安全需求,您可能希望选择某种形式的相互身份验证,而不是简单的PIN码。如果终端仅仅发送PIN码(特别是如果它以明文形式发送),攻击者可以简单地截获该PIN码(发送到卡上),然后使用发现的PIN码创建自己的(恶意)终端


关于类和指令字节(特别是关于标准操作,如PIN码验证),我建议您遵守标准。ISO/IEC 7816-4为此类标准操作定义了许多说明。

对于用户身份验证,OwnerPIN无疑是一种很好的方法(当然也有其他选择,但OwnerPIN提供了安全功能(例如撕裂保护),否则您必须手动实现这些功能)

对于终端身份验证,不应阻止您使用基于OwnerPIN实例的方法。但是,根据您的安全需求,您可能希望选择某种形式的相互身份验证,而不是简单的PIN码。如果终端仅仅发送PIN码(特别是如果它以明文形式发送),攻击者可以简单地截获该PIN码(发送到卡上),然后使用发现的PIN码创建自己的(恶意)终端


关于类和指令字节(特别是关于标准操作,如PIN码验证),我建议您遵守标准。ISO/IEC 7816-4为此类标准操作定义了许多说明。

对于用户身份验证,OwnerPIN无疑是一种很好的方法(当然也有其他选择,但OwnerPIN提供了安全功能(例如撕裂保护),否则您必须手动实现这些功能)

对于终端身份验证,不应阻止您使用基于OwnerPIN实例的方法。但是,根据您的安全需求,您可能希望选择某种形式的相互身份验证,而不是简单的PIN码。如果终端仅仅发送PIN码(特别是如果它以明文形式发送),攻击者可以简单地截获该PIN码(发送到卡上),然后使用发现的PIN码创建自己的(恶意)终端


关于类和指令字节(特别是关于标准操作,如PIN码验证),我建议您遵守标准。ISO/IEC 7816-4为此类标准操作定义了许多指令。

在小程序开发过程中选择专有类和指令字节时,是否有任何指导原则?我不理解。。。你能用其他的话来解释吗?我的意思是,我可以为类/INS字节选择任何值,比如0xa0或0xc0或0x44等等…???PIN用于基于知识的身份验证。我不建议将其用于终端身份验证,因为简单的线路嗅探器可能会带来严重的问题。在小程序开发过程中选择专有类和指令字节时,是否有任何指导原则?我不明白。。。你能用其他的话来解释吗?我的意思是,我可以为类/INS字节选择任何值,比如0xa0或0xc0或0x44等等…???PIN用于基于知识的身份验证。我不建议将其用于终端身份验证,因为简单的线路嗅探器可能会带来严重的问题。在小程序开发过程中选择专有类和指令字节时,是否有任何指导原则?我不明白。。。你能用其他的话来解释吗?我的意思是,我可以为类/INS字节选择任何值,比如0xa0或0xc0或0x44等等…???PIN用于基于知识的身份验证。我不建议将其用于终端身份验证,因为