管理集成电路卡中的存储器的方法和对应的集成电路卡技术

技术编号:39121156 阅读:8 留言:0更新日期:2023-10-23 14:46
本公开的实施例涉及管理集成电路卡中的存储器的方法和对应的集成电路卡。一种管理集成电路卡中的存储器的方法,该集成电路卡包括非易失性存储器部分和RAM存储器部分,该方法包括:在非易失性存储器堆中创建一个或多个数组指针,该一个或多个数组指针对应于待被分配的一个或更多个瞬态数组,每个数组指针包括瞬态数组大小和瞬态数组地址,其中创建包括:创建一个或多个数组指针,该一个或多个数组指针包括RAM存储器部分中待被分配相应瞬态数组的区域的逻辑地址作为瞬态数组地址;以及然后在RAM存储器区域中将存储器仅分配给与相应一个或多个数组指针相对应的瞬态数组,该瞬态数组包括不同于零的至少一个值。包括不同于零的至少一个值。包括不同于零的至少一个值。

【技术实现步骤摘要】
管理集成电路卡中的存储器的方法和对应的集成电路卡
[0001]相关申请的交叉引用
[0002]本申请要求于2022年4月15日提交的意大利专利申请号102022000007676的权益,该申请通过引用并入本文。


[0003]本公开的实施例涉及使用Java Card平台来管理集成电路卡中的存储器的技术。
[0004]本公开的实施例具体涉及多应用和/或多配置文件卡,诸如安全元件、电信卡、银行卡。

技术介绍

[0005]通用集成电路卡(UICC),通常被称为订户标识模块(SIM)卡,被广泛用于使得移动设备能够访问由移动网络运营商(MNO)提供的服务。
[0006]在该上下文中,图1示出了“用户装置”10的可能架构,“用户装置”10是诸如移动设备(例如,智能手机或平板电脑)或通常用于嵌入式系统中的移动通信模块。
[0007]通常,设备10包括与一个或多个存储器104连接的一个或多个处理器102。设备10还包括用于与基站BS通信的至少一个移动通信接口106。
[0008]例如,移动通信接口106可以包括GSM(全球移动通信系统)、CDMA(码分多址)收发器、W

CDMA(宽带码分多址)、UMTS(通用移动电信系统)、HSPA(高速分组接入)和/或LTE(长期演进)收发器。
[0009]移动设备通常还包括用户界面110,诸如触摸屏。相反,例如在嵌入式系统中使用的通信模块(诸如,报警系统、燃气表或其他类型的远程监视和/或控制系统)通常不包括用户界面110,而是包括通信接口112,以与嵌入式系统的另一处理单元交换数据。例如,在这种情况下,接口112可以是数字通信接口,诸如UART(通用异步收发器)、SPI(串行外围接口)和/或USB(通用串行总线)通信接口。通常,处理单元102也可以直接是嵌入式系统的主处理器。在这种情况下,接口112可以被用于与一个或多个传感器和/或致动器交换数据。例如,在这种情况下,接口112可以借助处理单元102的一个或多个模拟接口和/或数字输入/输出端口来实现。
[0010]可以在存储器104中存储例如由处理器102执行的操作系统OS,该操作系统OS管理设备10的整体功能,诸如管理用户界面110和/或通信接口112以及经由接口106建立与基站BS的连接。存储器104还可以包含由操作系统OS执行的应用程序。例如,在移动设备的情况下,存储器104通常包括web浏览器应用程序WB。
[0011]为了建立与基站BS的连接,设备10被耦合到处理单元108,该处理单元108被配置为管理用户的身份标识。例如,通常移动设备包括用于接收包括订户标识模块(SIM)的卡的卡保持件,该包括订户标识模块(SIM)的卡通常被称为SIM卡。通常,对应的SIM模块也可以被直接安装在设备10内。在图1的示例中,它使用了通用集成电路卡(UICC)108,这是经常在GSM和UMTS网络中使用的智能卡。UICC确保所有类型的个人数据的完整性和安全性,并且通
常保存几百KB。此外,UICC可以直接集成在设备10中,并且在这种情况下通常被称为嵌入式UICC(eUICC)。
[0012]例如,在GSM网络中,UICC 108包含SIM应用程序,并且在UMTS网络中包含USIM应用程序。UICC可以包含多个应用程序,使得同一智能卡可以访问GSM和UMTS网络两者,并且还可以提供电话簿和其他应用程序的存储。
[0013]因此,本说明书的下文中对SIM模块的引用旨在包括用于上述网络的模块,并且也适用于在SIM卡上提供这样的SIM模块的情况。
[0014]如图2所示,SIM模块108通常包括一个和多个处理器1082以及一个或多个存储器1084,用于执行在模块108的存储器1084中存储的应用程序。例如,除了订户标识模块应用程序(图2中的附图标记SIM)之外,SIM模块108还可以包括至少一个其他应用程序APP。例如,该应用程序APP可以被配置为与移动通信接口106通信(直接地,或者经由处理器102和可能的操作系统OS间接地),以向远程主机30发送数据和/或从远程主机30接收数据。为此,主机30可以经由网络20(诸如局域网(LAN)或诸如互联网的广域网(WAN))连接到基站BS。因此,主机30和UICC 108之间的连接可以借助网络20、基站BS和通信接口108来建立。通常,通信可以由主机30或UICC 108发起。例如,应用程序APP可以是web服务器应用程序,其从移动设备10的web浏览器WB接收请求,并且从诸如web服务器的远程主机30获得相应内容。应用程序APP也可以是身份验证应用程序。在这种情况下,主机30可以向UICC 108发送身份验证请求,并且UICC 108可以向主机30发送身份验证响应。存储器或多个存储器1084也可以被用于存储数据图像,该数据图像包括关于不同MNO的一个或多个配置文件以及与图像有关的操作系统。对于图像,此处的图像是指经加密的二进制信息的结构化表示,它也被配置为对经封装的数据进行解密、管理权限和检查所加载的解密数据的完整性。
[0015]因此,简而言之,UICC卡通常包括微处理器和存储器,存储器通常包括非易失性和易失性部分。这样的存储器被配置为存储诸如操作系统、支程序(applet)和MNO配置文件之类的数据,移动设备可以利用这些数据来注册MNO并与该MNO交互。UICC可以被可移除地引入到设备(即,移动设备)的插槽中,或者它们也可以被直接嵌入到设备中,在这种情况下,它们被称为eUICC。
[0016]在这种观点下,易失性存储器,尤其是RAM(随机存取存储器),是当今集成电路卡上最稀有的资源,尤其是UICC(通用集成电路卡)或嵌入式UICC。通常,RAM资源是第一个被耗尽的资源。这意味着需要对易失性存储器进行有效管理。
[0017]集成电路卡中的应用程序通常是Java Card应用程序,即,用于集成卡的Java平台。
[0018]Java Card平台在RAM资源方面存在一些缺陷。一个缺陷是RAM通常在应用程序安装时被分配。RAM可以有两种类型,复位清除和取消选择清除,其中取消选择清除(CoD)在电信工具包应用程序中不实用,而复位清除(CoR)几乎总是可用的。
[0019]Java Card中的RAM分配和取消分配速度较慢。
[0020]除非使用允许在RAM中分配瞬态字节数组的特定API(例如,通过Java Card方法JCSystem.makeTransientByteArray),否则Java Card中的数组默认被存储在闪存中(例如,将数组a存储为a=new byte[20])。瞬态数组数据一断电便立即丢失(更确切地说,处于未定义状态,但实际数据不可用),并且在发生某些事件(诸如卡复位或取消选择)时复位为
默认值。对瞬态数组的值的更新不是与原子有关的,并且也不受事务的影响。这样的瞬态数组不是完全瞬态的,这意味着对象报头被存储在卡的非易失性存储器中,尤其是存储在快闪存储器中。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种管理集成电路卡中的存储器的方法,所述集成电路卡具有非易失性存储器部分和随机存取存储器RAM存储器部分,所述方法包括:在所述非易失性存储器部分中的非易失性存储器堆中,创建与在所述RAM存储器部分中待被分配的相应一个或多个瞬态数组相对应的一个或多个数组指针,每个数组指针包括瞬态数组大小和瞬态数组地址,每个瞬态数组地址是间接指向所述RAM存储器部分中待被分配相应瞬态数组的区域的逻辑地址或间接地址;以及在所述RAM存储器部分中,将存储器仅分配给具有不同于零的至少一个值的非零瞬态数组。2.根据权利要求1所述的方法,其中:创建所述一个或多个数组指针包括创建具有所需主体大小的所述一个或多个数组指针并且在每个瞬态数组地址中写入空值作为主体逻辑地址;以及所述分配包括基于在数组主体的任何点中写入不同于零的值,将所述RAM存储器部分中具有所述所需主体大小的存储器区域分配给对应的瞬态数组,并且将所述对应的瞬态数组地址保存在所述对应数组指针的所述主体逻辑地址中。3.根据权利要求1所述的方法,还包括:提供间接表,所述间接表被存储在所述RAM存储器部分中,所述间接表包括指向所述RAM存储器部分中的相应数组的物理位置的参考地址,并且所述非易失性存储器部分中的所述RAM数组指针顺序地指向所述参考地址。4.根据权利要求3所述的方法,其中每个RAM数组指针包括间接地址作为相应瞬态数组地址,所述间接地址包括空值或所述RAM存储器部分中包含所述间接表的所述存储器区域的地址,所述存储器区域的所述地址包括对应参考地址,所述参考地址包含被分配给相应瞬态数组的所述RAM存储器部分的物理地址。5.根据权利要求1所述的方法,还包括:在所述RAM存储器部分中取消分配具有所有等于零的值的每个瞬态数组。6.根据权利要求2所述的方法,还包括:在所述逻辑地址或间接地址中存储被分配给所述数组主体的所述存储器区域的地址或所述空值。7.根据权利要求5所述的方法,其中所述取消分配包括:基于所述RAM存储器部分中的每个瞬态数组被填充零,在所述对应数组指针的所述逻辑地址或所述间接地址中写入零值。8.根据权利要求1所述的方法,还包括:执行用于制作所述瞬态数组的Java Card方法。9.根据权利要求1所述的方法,还包括:应用检查规则,检查表示所创建的所有瞬态数组的大小之和的存储器值是否大于表示所述RAM存储器部分中的总物理存储器增加了安全量的存储器值,所述安全量是可设置参数值的函数;以及响应于所述检查规则是肯定的,信号通知存储器不足事件。10.根据权利要求9所述的方法,其中所述函数与所述可设置参数值相乘或相加。11.根据权利要求9所述的方法,还包括:响应于应用程序选择来执行所述检查;以及响应于所述存储器不足事件,请求所述应用程序选择失败。12.一种集成...

【专利技术属性】
技术研发人员:A
申请(专利权)人:意法半导体股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1