来源:中国一卡通网 作者:不详 发布时间:2014-08-11 16:04:27 字体:[大 中 小]
摘 要:智能卡“一卡多用”要求的不断提高,对智能卡COS多应用使用的安全性提出了新的挑战。论文探讨了智能卡COS多应用隔离的安全性测试方法,包括文件结构测试、文件管理测试、密钥管理测试、安全管理测试以及指令管理测试五部分的测试内容,通过这五部分的测试来对智能卡COS多应用的安全性进行检测。本文所提供的安全性方法,可以有效地被利用在智能卡多应用隔离的安全性测试中。
1 引言
随着现代生活中对于智能卡“一卡多用”要求的不断提高,在一张智能卡上集成多个应用的趋势越来越明显,这就要求卡数据以及卡的应用安全对于不同的应用是相对独立的。也就是说各个应用的应用数据必须是分区存放的,各个应用对自已的数据进行的是独享式的访问和处理。对于智能卡COS多应用的测试,目前主要集中在对各个应用的功能性测试上,即各个应用是否能正确的实现本身的功能的测试上,而对于安全眭测试,特别是多应用隔离的安全性测试,则很少涉及。但是,随着“一卡多用”的不断发展,保证卡上各个应用数据访问的安全性将会越来越重要,特别是当应用中有金融应用时,则显得尤为重要。
目前多应用的测试方法主要是通过对卡上每个应用分别进行功能测试,通过验证每个应用的功能正确性来推论出多应用智能卡是安全可用的,但这样的测试并不是真正意义上的安全I生测试,不足以防范未来智能卡COS多应用可能受到的安全攻击。本文探讨了智能卡COS多应用隔离的安全性测试方法,包括文件结构测试、文件管理测试、密钥管理测试、安全管理测试以及指令管理测试五部分的测试内容,通过这五部分的测试来对智能卡COS多应用的安全性进行检测。
2 文件结构测试
2.1 测试目标
支持多应用的智能卡,在个人化时首先会创建一个MF(Master File主控文件)文件,然后在MF下逐个创建所支持的每个应用的DDF(DirectoyDefinition File目录定义文件) 文件以及ADF(Applieation Definition File应用数据文件)文件(如图1所示)。在每个ADF下还可以按需要创建不同的EF(Elementary File基本文件)文件,例如二进制EF文件等。
文件结构测试的测试目标就是核实多应用环境下,各个应用的存储空间独立,相互间无覆盖。
2.2 测试方法
首先,在系统设计文档完成时,需要参与评审,从系统设计角度,核实当多应用文件结构建立时,是否采用了独立性存储空间设计。
然后,进行正向测试:对各个应用所占存储空间的独立性进行测试。要求多应用文件结构建立后,某个应用数据满载之后,不影响其他应用的正常功能,也不影响其他应用的满载。
最后,进行如下反向测试:
(1)对存储空间的边界测试。对某个应用进行满载数据写入操作,将写入的最后一部分数据量设置成写人的数据总量,超过本应用的满载数据量,要求COS处理本次数据写入不成功,并返回相应的错误返回码,即应用不可越界。
(2)文件链表异常保护测试(需要在仿真器上构造异常)。在某个应用下,对某个文件(例如EF文件)的文件链表进行修改,然后对该文件进行写操作,COS处理本次数据写入不成功,并返回相应的错误返回码,即写操作不会越界到其他应用中。
文件结构测试的完成标准为:多应用环境下,对于文件结构隔离存储的安全性符合系统设计文档的要求。
3 文件管理测试
3.1 测试目标
多应用环境下,每个应用在使用时,都会涉及到对自身文件的存储与访问。文件管理测试的测试目标就是核实各个应用对于自身文件存储与访问的正确性,以及各个应用间不能相互访问的隔离性。
3.2 测试方法
首先,在系统设计文档完成时,需要参与评审,从系统设计角度,核实当多应用并存时,多应用间的文件存储与访问是否采用了隔离性设计。
然后,进行正向测试:对于各个应用的DDF、ADF以及EF文件访问的正确性测试。要求访问后能正确的选中文件,并返回正确的信息。(例如:文件控制信息)
最后,进行反向测试:对于越应用访问文件的测试。要求COS禁止越应用进行DDF、ADF以及EF文件的访问,并返回相应的错误返回码。
文件管理测试的完成标准为:多应用环境下,对于文件隔离管理的安全性符合系统设计文档的要求。
4 密钥管理测试
4.1 测试目标
出于安全I生的考虑,智能卡的应用中都会提供对关键数据访问的保护功能,这种保护一般是通过数据加密/解密读写或线路保护来实现。在这其中用来加/解密以及线路保护的密钥就成为了应用中不可或缺的元素,所以对于密钥的管理也是应用中很重要的一部分工作。例如:金融PBOC3.0规范中就有明确的要求:用于一种特定功能的加密/解密密钥不能被任何其它功能所使用,包括保存在Ic卡中的密钥和用来产生、派生、传输这些密钥的密钥。
密钥管理测试的测试目标如下:
(1)核实各个应用只能使用或修改自身的密钥,即无法使用或修改到其他应用的密钥。
(2)核实各应用创建文件和追加密钥中线路保护MAC (Message Authentication Code报文鉴别代码)计算使用的主控密钥隔离,即各应用只能使用到自己的主控密钥,无法使用到其他应用的主控密钥。
4.2 测试方法
首先,在系统设计文档完成时,需要参与评审,从系统设计角度,核实当多应用并存时,多应用间的密钥管理是否采用了隔离性设计。
推荐文章
论坛热帖