本发明专利技术创造提供了一种适用于多应用之间安全访问的MPU,包括用于存放异常向量表和核心代码并只供超级用户访问的存储区域及用于仅供超级用户访问的MPU的控制存储区域。此外还根据此种适用于多应用之间安全访问的MPU提供了风险敏感进入敏感应用的方法及防止风险应用对敏感信息所在区域读取及修改的方法。采用了本技术方案,能够有效的解决在各种应用及系统中互相访问的安全问题,且本技术方案相应成本较低,便于应用。
【技术实现步骤摘要】
—种适用于多应用之间安全访问的MPU及其多应用之间安全访问的方法
本专利技术创造涉及计算机微处理器领域,尤其涉及一种适用于多应用之间安全访问的MPU及其多应用之间安全访问的方法
技术介绍
随着信息安全技术的发展和智能卡硬件性能的不断地提升,更多的智能卡要求做到一卡多用或一卡通用,如银行发行的公交联名卡(金融卡和公交卡的耦合)、金融社保卡(金融卡和社保卡的稱合)和手机支付卡(电信SIM卡和金融卡的稱合)等。但是与智能卡硬件处理能力突飞猛进的发展相比,支持多应用的智能卡操作系统的发展却相对滞后。这种滞后产生的一个很重要的原因就是缺乏一种不同应用间的安全访问方法。
技术实现思路
本专利技术创造要解决的问题是提供一种能够有效的适用于多应用之间安全访问的MPU及其应用之间安全访问的方法为解决上述技术问题,本专利技术创造采用的技术方案是:一种适用于多应用之间安全访问的MPU,所述的MPU包括:用于存放异常向量表和核心代码并只供超级用户访问的存储区域;用于仅供超级用户访问的MPU的控制存储区域;用于存储用户可编程的32位数据/地址加密密钥的存储区域。进一步的,述的用于用户可编程的32位数据/地址加密密钥区域还包括:用于记录访问异常的属性的存储区域。进一步的,所述的控制区域的前4KB部分为引导程序(loader)存储区域。根据本专利技术的另一方面,还提供了一种基于所述的MPU的从敏感应用进入风险应用的方法,其特征在于所述的方法包括以下步骤:执行引导程序(loader);将除了所有风险应用可能用到的空间以外的空间加密并设置为不可读、不可写、不可执行;将MPU控制存储区域由OxffffOOOO开始的64k存储区域设置为不可读写。进一步的,所述的MPU的从风险敏感进入敏感应用的方法,其特征在于所述的方法包括以下步骤:执行引导程序(loader);进入敏感应用。根据本专利技术的另一方面,还提供了一种基于所述的MPU的防止风险应用对敏感信息所在区域读取及修改的方法,所述的方法包括以下步骤:将敏感信息所在区域的权限设置为不可读、不可写、不可执行;将风险应用正常情况下使用不到的剩余的存储空间全部(包括Flash、EPR0M、以及未使用的外芯片外部总线区)设置为不可读、不可写、不可执行。进一步的,所述的防止风险应用对敏感信息所在区域读取及修改的方法,所述的方法包括以下步骤:将风险应用可能非法访问到而正常情况下应用不到的剩余存储空间全部加密。进一步的,所述的防止风险应用对敏感信息所在区域读取及修改的方法,所述的方法包括以下步骤:在进入风险应用前,将MPU控制存储区域由OxffffOOOO开始的64k存储区域设置为非可读非可写状态。进一步的,所述的防止风险应用对敏感信息所在区域读取及修改的方法,所述的方法包括以下步骤:对敏感信息进行加密。进一步的,所述的防止风险应用对敏感信息所在区域读取及修改的方法,所述的对敏感信息进行加密的秘钥和芯片的唯一序列号相关。根据本专利技术的另一方面,还提供了一种基于所述的MPU的风险应用读取敏感应用中可以开放给风险应用的资源的方法,所述的方法包括以下步骤:设定加密的公共区域;对公共区域信息进行访问权限设置;可直接对设定的公共区域存储的数据进行读取。根据本专利技术的另一方面,还提供了一种基于所述的MPU的风险应用修改敏感应用中可以开放给风险应用的资源的方法其特征在于所述的方法包括以下步骤:设定加密的公共区域;对公共区域信息进行访问权限设置;进行修改操作时通过公共函数提供的接口来完成。进一步的,述的风险应用修改敏感应用中可以开放给风险应用的资源的方法其特征在于所述的方法包括以下步骤:将所述的公共函数存储于风险应用只能够执行,不能读和写的存储区域。进一步的,所述的风险应用修改敏感应用中可以开放给风险应用的资源的方法所述的方法包括以下步骤:将公共函数中设置为不能出现全局变量、公共函数中不能对局部变量进行赋初值、及公共函数中不能定义静态变量。进一步的,所述的风险应用修改敏感应用中可以开放给风险应用的资源的方法于所述的方法包括以下步骤:为公共函数提供用于对公共区域进行擦写和编程的函数、用于将风险应用跳转到loader的跳转函数及用于将loader代码跳转到风险代码的跳转函数。本专利技术创造具有的优点和积极效果是:采用了本技术方案,能够有效的解决在各种应用及系统中互相访问的安全问题,且本技术方案相应成本较低,便于应用。【附图说明】图1是本专利技术中一个应用实例中适用于多应用之间安全访问的MPU存储结构示意图图2是专利技术中一个应用实例中loader代码跳转到风险代码的流程示意图1、MPU的控制存储区域 2、向量表以及引导程序 3、不可进入区域(loader存储区域4、敏感应用区、敏感SRAM 5、风险应用区、风险SRAM区 6、公共函数区、公区共SRAM区【具体实施方式】为了对本专利技术创造更加深入的了解,下面列举一具体实施例,并结合附图,对本专利技术创造做进一步的详细说明。首先对本专利技术创造中风险应用及敏感应用进行说明,风险应用是指运行中有可能会破环系统,非法访问敏感应用中敏感信息的代码。本文中的敏感应用含有被保护的信息。在敏感应用中,除了预留给风险应用可调用的信息之外,其他的代码,数据,变量等敏感信息均不应被风险应用读取、修改以及执行(上述敏感信息中典型的为:受国家管制的某种算法、PKI体系中的私钥、不允许被外部篡改的安全操作系统等等)。本实例中采用了国 芯MPU技术作为基础,国芯MPU具有如下特征:.可设置8个超级用户可编程的存储器区◆每个区空间可以从IK字节到4G字节◆区基地址可以位于4G存储空间的任意位置◆每个区基地址根据区空间自动对齐◆可编程的数据/地址加密/解密机制◆灵活的访问属性:-超级用户/用户访问-读/写访问-执行访问(指令取指).一个超级用户访问区域用于存放异常向量表和核心代码◆固定空间:4K字节◆固定地址:0x00000000◆地址、数据加密◆固定访问属性-只允许超级用户访问.一个超级用户访问区域作为MPU的控制区◆固定尺寸:64Κ字节◆固定位置:0xFFFF0000◆固定访问属性-只允许超级用户访问.一个用户可编程的32位数据/地址加密密钥?状态寄存器可以记录访问异常的属性.MPU可以由超级用户使能或者关闭·可编程的区域在CPU复位后是无效的,必须首先由超级用户设置才有效·异常向量表和核心代码以及MPU的控制区始终被保护由图1可以看出本方案使用的MPU段包括:2个特殊MPU段即前4KB用以存储向量表及loader代码区(含loader中赋初值的全局变量)后64KB为MPU的控制区,即将核心重要部分区域与其他存储区域严格划分出来。基于上述特点,本实例可以实现多应用之间安全访问。首先,上电首先执行引导程序(loader),引导程序所要完成的工作包括:(I)进行MPU的初步设置,为敏感应用及风险应用的进入提供基础条件。这里的基础条件是指对于给敏感应用的安全性提供保障。 (2)引导智能卡进入特定应用(敏感应用或风险应用)。引导程序牵扯到对MPU进行配置等敏感操作,所以应该防止风险代码对此区域的访问。保护方法是对此区域进行权限限定。采用的方法为,将loader放在前4KB中运行,即可实现自动加密并将权限设置为不可读、不可写、本文档来自技高网...
【技术保护点】
一种适用于多应用之间安全访问的MPU,其特征在于所述的MPU包括:用于存放异常向量表和核心代码并只供超级用户访问的存储区域;用于仅供超级用户访问的MPU的控制存储区域;其中所述的MPU的控制存储区域还包括:用于存储用户可编程的32位数据/地址加密密钥的存储区域;用于记录访问异常的属性的存储区域。
【技术特征摘要】
1.一种适用于多应用之间安全访问的MPU,其特征在于所述的MPU包括: 用于存放异常向量表和核心代码并只供超级用户访问的存储区域; 用于仅供超级用户访问的MPU的控制存储区域; 其中所述的MPU的控制存储区域还包括: 用于存储用户可编程的32位数据/地址加密密钥的存储区域; 用于记录访问异常的属性的存储区域。2.根据权利要求1所述的适用于多应用之间安全访问的MPU,其特征在于:所述的控制存储区域的前4KB部分为为向量表以及引导程序(loader)存储区域。3.一种使用权利要求1所述的MPU的从敏感应用进入风险应用的方法,其特征在于所述的方法包括以下步骤: 执行引导程序(loader); 将除了所有风险应用可能用到的空间以外的空间加密并设置为不可读、不可写、不可执行; 将MPU控制存储区域 由OxffffOOOO开始的64k存储区域设置为不可读写; 在合适时机进入敏感应用。4.一种使用权利要求1所述的MPU的防止风险应用对敏感信息所在区域读取及修改的方法,其特征在于所述的方法包括以下步骤: 将敏感信息所在区域的权限设置为不可读、不可写、不可执行; 将风险应用正常情况下使用不到的剩余的存储空间全部(包括Flash、EPROM、以及未使用的外芯片外部总线区)设置为不可读、不可写、不可执行; 将风险应用可能非法访问到而正常情况下应用不到的剩余存储空间全部加密...
【专利技术属性】
技术研发人员:艾方,肖佐楠,文胜利,
申请(专利权)人:天津国芯科技有限公司,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。