CN103136571B - 一种智能卡系统 - Google Patents
一种智能卡系统 Download PDFInfo
- Publication number
- CN103136571B CN103136571B CN201110384255.9A CN201110384255A CN103136571B CN 103136571 B CN103136571 B CN 103136571B CN 201110384255 A CN201110384255 A CN 201110384255A CN 103136571 B CN103136571 B CN 103136571B
- Authority
- CN
- China
- Prior art keywords
- module
- algorithm
- ram
- program
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及一种智能卡系统,包括中央处理器CPU、用于进行算法运算的硬件算法模块、用于存放程序和数据的存储器、RAM模块和防火墙模块,其中,所述RAM模块,用于为智能卡硬件算法模块提供算法运行空间或作为普通RAM供CPU使用;所述防火墙模块,用于为智能卡算法RAM模块提供安全保护。本发明提供的系统保证了在算法运行过程中,只有硬件算法模块占用RAM,一方面大大提高了算法运行的效率;另一方面,只有硬件算法模块能够读取算法运行的中间结果,因此杜绝了非法程序利用CPU恶意读取算法中间运行结果而推测密钥或算法实现的黑客行为,从而保证了硬件算法模块的绝对可信。
Description
技术领域
本发明涉及电子技术安全领域,具体涉及一种智能卡系统。
背景技术
多应用智能卡诞生的宗旨是作为安全的数据存储载体,但是如何保证各应用的数据安全和算法处理速度成为智能卡支持多应用技术的关键所在。随着智能卡设计技术的进步,智能卡的数据安全在一定程度得到了相当大的提高,但是,对于智能卡上承载的应用所使用的算法不断趋于复杂化、算法种类的多样化,导致算法执行对内存RAM的占用也越来越大,因此,如何在有限的RAM空间上取得高效的算法执行是智能卡运行效率的一个重要检测标准。
另外,基于目前智能卡已被广泛应用于多个领域,包括金融的电子支付领域,由于其密钥数据不可被外界读取,导致不法分子在利益的驱使下,对智能卡敏感信息的非法读取手段层出不穷:如在卡内嵌入非法应用程序,通过不断读取RAM中数据截取算法运算中间结果,由截取的大量中间运算数据而推导出算法实现原理、密钥值等敏感信息,造成资金损失或权限泄露。因此,对于算法处理的安全性问题不容忽视。
发明内容
本发明所要解决的技术问题是提供一种智能卡系统,该系统不仅能提高智能卡硬件算法安全性以及执行速度,而且能阻止非法程序针对算法的恶意操作,保证了算法的高效安全运行。
本发明为了解决上述技术问题,公开了一种智能卡系统,所述系统包括中央处理器CPU、用于进行算法运算的硬件算法模块、用于存放程序和数据的存储器以及RAM模块和防火墙模块,其中,
所述RAM模块,用于为智能卡硬件算法模块提供算法运行空间或作为普通RAM供CPU使用;
所述防火墙模块,用于为智能卡算法RAM模块提供安全保护。
进一步,所述防火墙模块包括程序存储器逻辑分段管理单元、RAM独占设置单元和逻辑电路单元,其中,
所述程序存储器逻辑分段管理单元,用于通过地址映射使得程序存储器的逻辑地址映射到实际物理地址,按存储空间将智能卡的程序存储器划分为在逻辑上独立的存储器段,按存储空间进行分段管理,其中每个存储器段用于存储逻辑关系独立的程序代码;
所述RAM独占设置单元,用于将所述RAM模块设置为算法独占或非算法独占模式,并记录独占用户程序代码段序号;
所述逻辑电路单元,用于接收地址访问信号,并根据当前运行的程序代码段以及所述记录的独占用户程序代码段序号判断地址访问信号是否合法。
进一步,所述RAM独占设置单元包括RAM独占设置寄存器和独占用户程序代码段序号寄存器,所述RAM独占设置寄存器用于用户程序设置对RAM模块的算法独占权,所述独占用户程序代码段序号寄存器用于存储对RAM模块进行算法独占权设置的用户程序所在的程序代码段序号。
进一步,所述防火墙模块用于当所述RAM模块工作在算法独占模式时,只允许硬件算法模块对RAM模块进行访问。
进一步,所述程序存储器逻辑分段管理单元由程序寄存器组成,所述程序寄存器用于记录存储器段基地址以及段上限地址或段空间大小以实现对程序存储器空间的逻辑划分。
进一步,所述地址访问信号包括被访问的空间地址信息和取指令、跳转指令、读操作、写操作、算法模块读信号和算法模块写信号的操作指令信息。
进一步,所述防火墙模块还包括状态寄存器,所述状态寄存器用于产生中断或报警信号。
进一步,所述逻辑电路单元还用于在地址访问信号不合法时触发状态寄存器产生中断或报警信号并阻止非法程序运行。
进一步,所述中断或报警信号包括指令超出程序存储器段错误、读操作越权错误、写操作越权错误和非独占用户程序访问RAM区域错误。
采用上述本发明技术方案的有益效果是:本发明提供的智能卡系统通过防火墙模块对RAM模块实行管理监控,保证了在算法运行过程中,只有硬件算法模块占用RAM,一方面大大提高了算法运行的效率;另一方面,由于硬件算法模块由可信的芯片提供方提供并将算法实现进行了固化,只有硬件算法模块能够读取算法运行的中间结果,保证了硬件算法模块的绝对可信;而且,CPU对RAM没有绝对的控制权限,因此杜绝了非法程序利用CPU恶意读取算法中间运行结果推测密钥或算法实现的黑客行为,保证了智能卡上各应用算法的高效安全运行。
附图说明
图1为本发明实施例中智能卡系统的应用系统框图;
图2为本发明实施例中智能卡系统的实施原理图;
图3为本发明实施例中防火墙模块的架构原理图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图1为本发明实施例中智能卡系统的应用系统框图,如图1所示,所述智能卡系统包括中央处理器CPU401、用于实现算法的硬件算法模块402、用于存放程序和数据的存储器102以及用于在算法独占模式期间为智能卡硬件算法模块402提供算法运行空间的RAM模块101和用于为RAM模块101提供安全保护的防火墙模块200。在本发明实施例中,当CPU401通过总线300向存储器102或RAM模块101发送取址和访问操作请求时,或者当硬件算法模块402运行时,则所述防火墙模块200开启对RAM模块101的管理监控功能,若对RAM模块101的操作符合访问控制原则,则防火墙模块200允许其照常寻址;否则由防火墙模块200设置访问状态错误并发出中断。需要说明的是,所述防火墙模块200对RAM模块101的管理监控原理在下述实施方式中有详细说明,此处不做赘述。
图2为本发明实施例中智能卡系统的实施原理图,如图2所示,在本发明实施例中,所述防火墙模块200包括RAM独占设置单元201、程序存储器逻辑分段管理单元202、逻辑电路单元203,其中,所述程序存储器逻辑分段管理单元202,用于通过地址映射使得存储器102的程序存储器102B的逻辑地址映射到实际物理地址,按存储空间将智能卡存储器102的程序存储器102B划分为在逻辑上独立的一个或多个存储器段,按存储空间进行分段管理,其中每个存储器段用于存储逻辑关系独立的程序代码;所述RAM独占设置单元201,用于将所述RAM模块101设置为算法独占或非算法独占模式,并记录独占用户程序代码段序号;所述逻辑电路单元203,用于接收地址访问信号,并根据当前运行的程序代码段以及所述记录的独占用户程序代码段序号判断地址访问信号是否合法。
在本发明的一个具体实施方式中,所述程序存储器逻辑分段管理单元202将物理上连续或不连续的程序存储器102B划分为在逻辑上独立的存储器段,按存储空间进行分段管理,这些在逻辑上独立的存储器段用于存储逻辑关系独立的用户程序代码;并通过地址映射使得程序存储器102B的逻辑地址映射到实际物理地址,在程序存储器逻辑分段管理单元202中采用分段管理的方式使用若干个寄存器,其中每个寄存器上记录有存储器段起始基地址以及段上限地址或段空间大小以实现对程序存储器102B空间的逻辑划分。在本发明的一个具体实施例中,列出了对程序存储器102B的分段情况,如程序存储器102B中分别存放Boot、COS、APP1……APPn等程序代码,相应地,通过地址映射在程序存储器逻辑分段管理单元202的寄存器中分别存放各用户程序代码所占用的空间(以记录各程序代码的段起始基地址和段上限地址或段空间大小实现),将程序存储器102B划分为在逻辑上独立的Boot程序段、COS程序段、APP1程序段……APPn程序段等。在本实施例中,所述各程序存储器段之间不可读写,只能跳转,即一个程序存储器段不能访问其他程序存储器段,只能通过跳转到达其他程序存储器段。
若一个用户程序通过RAM独占设置单元201启动算法独占模式,则硬件防火墙模块200对RAM模块101的访问权限实行监控,此时,只有硬件算法模块402具备对RAM模块101的算法访问权限,如果CPU401试图发起对RAM模块101的访问操作,则会出现错误并产生中断,因此保证了RAM模块101运行在算法独占模式下不被除硬件算法模块402之外的任何模块对其进行操作,包括CPU401;当所述RAM模块101工作在非算法独占模式下,则RAM模块101可以作为普通RAM使用,即CPU401具备对其的访问权限。需要说明的是,若一个用户程序启动了算法独占模式,则硬件防火墙模块200必须保证由该用户程序终止算法独占模式的运行,因此,所述RAM独占设置单元201会记录下启动算法独占模式的用户程序代码段序号,便于硬件防火墙模块200更好的监控。
在本发明实施例中,所述逻辑电路单元203,用于接收地址访问信号,并根据当前运行的程序代码段以及所述RAM独占设置单元201记录的独占用户程序代码段序号判断地址访问信号是否合法;当接收的地址访问信号与当前运行的程序代码段以及所述RAM独占设置单元201记录的独占用户程序代码段序号不匹配时,则判定地址访问信号不合法,此时,逻辑电路单元通过状态寄存器产生中断或报警信号阻止非法程序的运行。
图3为本发明实施例中防火墙模块的架构原理图,如图3所示,在防火墙模块200中,所述程序存储器逻辑分段管理单元202包括多个程序寄存器,如程序寄存器a……程序寄存器k,其中每个程序寄存器用于记录程序存储器段的物理地址到逻辑地址的映射关系,在本实施例中,用程序存储器段起始基地址和程序存储器段大小参数设置,也可以使用程序存储器段起始基地址和程序存储器段终点地址进行设置。
所述RAM独占设置单元201包括RAM独占设置寄存器201A和独占用户程序代码段序号寄存器201B;所述RAM独占设置寄存器201A用于用户程序设置对RAM模块101的算法独占权,所述独占用户程序代码段序号寄存器201B用于存储具有对RAM模块101的算法独占权的用户程序所在的程序代码段序号,同时由防火墙模块200对其进行监控,以确保RAM模块101在独占模式下,仅由硬件算法模块402具备对其的访问操作权限,当CPU401试图对其进行访问操作时,则被阻止并产生中断;当所述RAM模块101工作在非算法独占模式时,可作为普通RAM使用,此时,允许CPU401对其进行访问操作。
本实施例中逻辑电路单元203可以使用FPGA或者硬件电路方式实现,执行访问监控的功能。其接收CPU401和硬件算法模块402输出的地址总线和访问信号线发送的地址访问信号,一方面用于在算法独占期间监控RAM模块101不被CPU401访问操作,否则设置非独占用户访问RAM区域错误并向CPU401发出中断;另一方面,用于监控程序代码段之间的跳转访问操作。
该实施方式中,所述逻辑电路单元203接收地址访问信号,在本实施例中,所述地址访问信号包括被访问的空间地址信息和取指令、跳转指令、读操作、写操作、算法模块读信号和算法模块写信号的操作指令信息。
当所述地址访问信号与当前运行的程序代码段以及所述记录的独占用户程序代码段序号不匹配时,则判定地址访问信号不合法,此时,逻辑电路单元203通过状态寄存器204返回中断或报警信号阻止非法程序的运行,其中,所述中断或报警信号包括指令超出程序存储器段错误、读操作越权错误、写操作越权错误和非独占用户程序访问RAM区域错误。
在一个具体的实施例中,所述逻辑电路单元监控RAM模块在算法独占期间不被CPU访问操作的实现原理如下:
所述逻辑电路单元接收访问信号线和地址总线输入的地址访问信号,若地址总线显示被访问的空间地址为RAM模块的区域,则进一步检查独占用户程序代码段序号寄存器,若RAM独占设置寄存器已被置位,则该独占用户程序代码段序号寄存器中会记录有对其进行置位的的程序代码段序号值,此时,判断访问信号线传输的访问信号是否为算法模块读或算法模块写信号,若是,则允许对RAM模块的读或写操作;否则逻辑电路单元通过状态寄存器返回非独占用户程序访问RAM区域错误并向CPU发出中断;
若RAM独占设置寄存器未被置位,则该独占用户程序代码段序号寄存器中的记录为空,此时,可以直接允许对RAM模块的访问操作。
上述步骤能够确保RAM模块在独占模式下,仅有硬件算法模块具备对RAM模块的操作权限,当CPU试图访问RAM模块时,则被阻止并产生中断。
所述逻辑电路单元接收访问信号线和地址总线输入的地址访问信号,若地址总线显示被访问的空间地址为RAM独占设置单元的RAM独占设置寄存器,且访问信号显示为算法模块写信号,则逻辑电路单元读取独占用户程序代码段序号寄存器中的值,并和当前运行的程序代码段序号进行比较:
若独占用户程序代码段序号寄存器中存储的程序代码段序号与当前运行的程序代码段序号一致,则允许对RAM独占设置寄存器的访问操作,否则,逻辑电路单元通过状态寄存器返回写操作越权错误并向CPU发出中断。
上述步骤能够确保当某个应用程序在使用RAM模块的独占权执行算法完成后,必须要由相同的用户程序终止对RAM模块的独占权限,而任何其它试图通过改动RAM独占设置寄存器以达到访问独占模式下的RAM模块的非法程序都会被阻止并产生中断。
在本发明实施例中,所述逻辑电路单元监控程序代码段之间的跳转访问操作的原理为:如果所述逻辑电路单元接收访问信号线和地址总线输入的地址访问信号,若地址总线显示被访问的空间地址为某个程序代码所在的程序存储器段的地址,如果访问信号为跳转指令,则逻辑电路单元根据地址访问信号内存储器空间地址信息的跳转指令,从当前运行的程序代码段所在的程序存储器段跳转至指令内的程序存储器段,允许指令正常运行并修改当前运行的程序代码段为跳转后的程序存储器段;如果访问信号为读操作或写操作的指令,则逻辑电路单元通过状态寄存器返回读操作或写操作越权错误并向CPU发出中断。此步骤确保了所述程序存储器段之间不可读写,只能跳转,即一个程序存储器段不能访问其他程序存储器段,只能通过跳转到达其他程序存储器段,从而达到阻止越权操作的功能。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种智能卡系统,所述系统包括中央处理器CPU、用于进行算法运算的硬件算法模块、用于存放程序和数据的存储器,其特征在于,所述系统还包括RAM模块和防火墙模块,所述的RAM模块和存储器分别与所述防火墙模块连接,所述的中央处理器CPU和硬件算法模块分别通过总线与所述防火墙模块连接,其中,
所述RAM模块,用于为智能卡硬件算法模块提供算法运行空间或作为普通RAM供CPU使用;
所述防火墙模块,用于为RAM模块提供安全保护,所述防火墙模块包括程序存储器逻辑分段管理单元、RAM独占设置单元和逻辑电路单元,其中,
所述程序存储器逻辑分段管理单元,用于通过地址映射使得程序存储器的逻辑地址映射到实际物理地址,按存储空间将智能卡的程序存储器划分为在逻辑上独立的存储器段,按存储空间进行分段管理,其中每个存储器段用于存储逻辑关系独立的程序代码;
所述RAM独占设置单元,用于将所述RAM模块设置为算法独占或非算法独占模式,并记录独占用户程序代码段序号;
所述逻辑电路单元,用于接收地址访问信号,并根据当前运行的程序代码段以及所述记录的独占用户程序代码段序号判断地址访问信号是否合法。
2.根据权利要求1所述的系统,其特征在于,所述RAM独占设置单元包括RAM独占设置寄存器和独占用户程序代码段序号寄存器,所述RAM独占设置寄存器用于用户程序设置对RAM模块的算法独占权,所述独占用户程序代码段序号寄存器用于存储对RAM模块进行算法独占权设置的用户程序所在的程序代码段序号。
3.根据权利要求2所述的系统,其特征在于,所述防火墙模块用于当所述RAM模块工作在算法独占模式时,只允许硬件算法模块对RAM模块进行访问。
4.根据权利要求1所述的系统,其特征在于,所述程序存储器逻辑分段管理单元由程序寄存器组成,所述程序寄存器用于记录存储器段基地址以及段上限地址或段空间大小以实现对程序存储器空间的逻辑划分。
5.根据权利要求1所述的系统,其特征在于,所述地址访问信号包括被访问的空间地址信息和取指令、跳转指令、读操作、写操作、算法模块读信号和算法模块写信号的操作指令信息。
6.根据权利要求1所述的系统,其特征在于,所述防火墙模块还包括状态寄存器,所述状态寄存器用于产生中断或报警信号。
7.根据权利要求1所述的系统,其特征在于,所述逻辑电路单元还用于在地址访问信号不合法时触发状态寄存器产生中断或报警信号并阻止非法程序运行。
8.根据权利要求6或7所述的系统,其特征在于,所述中断或报警信号包括指令超出程序存储器段错误、读操作越权错误、写操作越权错误和非独占用户程序访问RAM区域错误。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110384255.9A CN103136571B (zh) | 2011-11-28 | 2011-11-28 | 一种智能卡系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110384255.9A CN103136571B (zh) | 2011-11-28 | 2011-11-28 | 一种智能卡系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103136571A CN103136571A (zh) | 2013-06-05 |
CN103136571B true CN103136571B (zh) | 2016-03-30 |
Family
ID=48496379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110384255.9A Active CN103136571B (zh) | 2011-11-28 | 2011-11-28 | 一种智能卡系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103136571B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104766117B (zh) * | 2014-01-07 | 2019-04-26 | 国民技术股份有限公司 | 智能卡及其数据处理方法 |
CN106709552B (zh) * | 2015-11-17 | 2020-04-17 | 上海复旦微电子集团股份有限公司 | 智能卡安全防护方法及装置 |
CN112347432B (zh) * | 2020-11-24 | 2021-10-12 | 广芯微电子(广州)股份有限公司 | 一种基于risc-v架构的嵌入式处理器中的程序保护方法及系统 |
CN112527205A (zh) * | 2020-12-16 | 2021-03-19 | 江苏国科微电子有限公司 | 一种数据安全防护方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6003134A (en) * | 1997-01-13 | 1999-12-14 | Kuo; Chih-Cheng | Secure open smart card architecture |
CN1430152A (zh) * | 2001-12-31 | 2003-07-16 | 武汉瑞达电子有限公司 | 一卡多用安全智能卡 |
CN101169762A (zh) * | 2006-10-27 | 2008-04-30 | 北京中电华大电子设计有限责任公司 | 一种面向智能卡的软硬件协同保护机制 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4939387B2 (ja) * | 2007-12-06 | 2012-05-23 | ルネサスエレクトロニクス株式会社 | データ処理装置及びアドレス空間保護方法 |
-
2011
- 2011-11-28 CN CN201110384255.9A patent/CN103136571B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6003134A (en) * | 1997-01-13 | 1999-12-14 | Kuo; Chih-Cheng | Secure open smart card architecture |
CN1430152A (zh) * | 2001-12-31 | 2003-07-16 | 武汉瑞达电子有限公司 | 一卡多用安全智能卡 |
CN101169762A (zh) * | 2006-10-27 | 2008-04-30 | 北京中电华大电子设计有限责任公司 | 一种面向智能卡的软硬件协同保护机制 |
Non-Patent Citations (1)
Title |
---|
一种基于智能卡的可信监视器程序实现方法;涂国庆;《计算机工程》;20090930;第35卷(第18期);第22-24页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103136571A (zh) | 2013-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11777705B2 (en) | Techniques for preventing memory timing attacks | |
CN100424657C (zh) | 转换后备缓冲器的惰性转储清除 | |
US6681304B1 (en) | Method and device for providing hidden storage in non-volatile memory | |
EP3274850B1 (en) | Protecting a memory | |
US8452934B2 (en) | Controlled data access to non-volatile memory | |
CN107408081B (zh) | 提供对存储器的加强重放保护 | |
US8458791B2 (en) | Hardware-implemented hypervisor for root-of-trust monitoring and control of computer system | |
US7571294B2 (en) | NoDMA cache | |
CN103890852A (zh) | 对包括机密信息的存储器区域的访问 | |
CN102184365B (zh) | 基于SoC芯片外部数据安全存储系统及存取控制方法 | |
CN101231621B (zh) | 隐藏存储器访问模式 | |
US20070101424A1 (en) | Apparatus and Method for Improving Security of a Bus Based System Through Communication Architecture Enhancements | |
CN103136571B (zh) | 一种智能卡系统 | |
CN110928737B (zh) | 监控样本进程的内存访问行为的方法和装置 | |
GB2248125A (en) | Lattice scheduler method for reducing the impact of covert-channel counter-measures | |
Zhang et al. | Red alert for power leakage: Exploiting intel rapl-induced side channels | |
CN202102449U (zh) | 基于SoC芯片外部程序安全访问架构 | |
CN107577962B (zh) | 一种密码卡多算法并列执行的方法、系统及相关装置 | |
CN110865869B (zh) | 一种申威架构上的虚拟机访存特征提取方法及系统 | |
CN102929802B (zh) | 一种存储资源的保护方法及系统 | |
CN202102448U (zh) | 基于SoC芯片外部数据安全存储架构 | |
Rajendran et al. | Security threats of embedded systems in iot environment | |
CN105659216A (zh) | 多核处理器系统的缓存目录处理方法和目录控制器 | |
CN111736770A (zh) | 嵌入式安全存储器 | |
TWI856881B (zh) | 可執行檔與共享庫之保護方法及保護系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |