如何统合分析一张JavaCard

如何综合分析一张JavaCard的特性,个人总结了如下几个方面,可能有些特性还需要补充。 

  • 硬件参数
    • 芯片厂商 
    • 产品特性如,cpu型号、存储器容量等
  • COS分析
    •  功能分析
      • COS信息 例如:  GP版本、SCP版本、JavaCard版本、 CPLC信息、  基本信息(例如ISD AID,ISD密钥版本) 
      • 协议配置  例如 协议支持,ATR等信息 
      • 算法分析  支持哪些算法
      •  存储空间  主要分析:
        • 存储空间(E2P/Flash),包括对象创建能力
        • DTR,RTR,请参考《如何获取JavaCard剩余空间》
        • APDU Buffer
        • 事务Buffer
        • 栈空间,请参考本博的另一篇文章《如何获取JavaCard栈信息 
      •  GP功能支持 GP功能支持,可能需求也不一样,侧重点为不同,但总体上可根据实现的规范版本大致分为如下几个方面:
        • 对于CardManager来说,选择命令,逻辑通道管理命令(支持几个逻辑通道?);ISD的命令支持情况,如以下是都支持,更进一步的话,还可以根据规范分析下参数,譬如delete是否支持key删除。
        • 另外还有安全通道协议的支持情况。
        • SD的支持情况。
        • API的支持情况。
        • CVM的支持情况等
    •  性能分析 
      • 通讯性能分析 通讯性能可以借助专业的仪器,也可以通过应用测试出大概值,根据协议的支持情况,测试不同协议下的性能 (注:注意通讯参数配置的一致性) 
      • GP命令性能分析 根据命令支持情况分析相应命令的执行性能 
      • 算法性能 包括如下几个方面
        • 随机数
        • AES分析
        • DES算法分析
        • ECC分析
        • Hash分析
        • RSA CRT分析
        • RSA STD分析
        • SM分析,国内的厂商可能都会支持国密算法,因此也可能需要分析 
      • 应用性能分析 找一些用得较多的应用,如 电子钱包、 PBOC
      • 读写性能分析 主要分析E2P/Flash的读写性能,
      • 虚拟机指令执行性能分析
      • 分析虚拟机指令执行性能
      • 异常执行性能分析
      • 垃圾回收性能分析
    • 特殊功能分析 如MiFare等 
    • 稳定性分析  掉电测试
    • 兼容性分析  不同读写器测试

 

你可能感兴趣的:(如何统合分析一张JavaCard)