用于智能卡的数据库管理系统和方法 【技术领域】
本发明涉及智能卡技术,尤其涉及用于智能卡的数据库管理系统和方法。
背景技术
传统的智能卡通常只有一个处理器,主要实现安全性要求较高的身份识别和认证鉴权等功能,因此,传统智能卡的处理器容量都不大,处理能力也不强。
随着技术的发展,智能卡开始承载更多的业务并实现更多的功能,在这种情况下,传统的智能卡已经满足不了处理更多业务的需要,于是,双核智能卡应运而生,并且得到越来越广泛的应用。双核智能卡主要包括两部分:一部分称为安全域,其实现传统的智能卡所实现的功能,即,主要利用专用于智能卡的处理器实现身份识别和认证鉴权等安全性要求较高的应用,与身份识别和认证鉴权等应用相关的重要数据也存储在该安全域部分中;另一部分称为应用域,主要利用标准的ARM处理器处理诸如多媒体服务和网络服务之类的应用,与应用相关的数据存储在该应用域部分的数据库中。
考虑到成本和处理能力等方面的原因,双核智能卡的应用域部分并没有采用与安全域部分一样的安全标准,因此,应用域部分的数据库中所存储的一些重要数据,例如在网络上注册的包括用户名和密码在内的个人信息,无法得到有效的保护。
【发明内容】
本发明的目的在于提供一种用于智能卡的数据库管理系统和方法,使得可以更安全地管理与各类应用相关的数据,提高用户个人数据的存储可靠性。
为此,本发明提供一种用于智能卡的数据库管理系统,其中,智能卡包括应用域部分和安全域部分,应用域部分包括应用模块、数据库和数据库管理系统,安全域部分包括加解密模块,所述数据库管理系统包括:
特定应用类型列表,用于存储预先设定的特定应用的类型,所述特定应用所生成的应用数据需要进行加解密处理;
存取单元,用于向所述数据库中存储应用数据以及从所述数据库中读取应用数据;
判断单元,用于判断应用的类型是否是所述特定应用类型列表中的类型;和
控制单元,用于在所述判断单元的判断结果为肯定的情况下,将从所述应用模块或所述存取单元接收到的应用数据发送至所述加解密模块。
本发明还提供一种用于智能卡的数据库管理方法,包括步骤:
接收来自应用的请求,该请求至少包括所述应用的类型;
判断所述应用的类型是否属于预先设定的特定应用的类型,所述特定应用所生成的应用数据需要进行加密处理;并且
在判断结果为肯定的情况下,对所接收到的应用数据进行加解密处理。
【附图说明】
本发明的其他特征、目的和益处通过以下结合附图的详细描述将变得更加显而易见。其中:
图1示出了根据本发明一个实施例的智能卡的示意性框图;
图2示出了根据本发明一个实施例的数据库管理系统的示意性框图;
图3示出了根据本发明一个实施例的用于存储与应用相关的应用数据的方法流程图;
图4示出了根据本发明一个实施例的用于读取与应用相关的应用数据的方法流程图。
【具体实施方式】
下面,结合附图详细描述本发明的各个具体实施例。
图1示出了根据本发明一个实施例的智能卡地示意性框图。
如图1所示,智能卡1包括应用域部分10和安全域部分20,其中,应用域部分10包括应用模块100、数据库200和数据库管理系统300,安全域部分20包括加解密模块400。
应用域部分10中的应用模块100包括多个应用,分别实现智能卡1所承载的各项业务,例如,应用模块100中的网络应用可以实现上网业务、播放器应用可以实现播放音视频的业务、电子邮件应用可以实现收发电子邮件的业务等。在实现各项业务的过程中,应用模块100将生成或使用与所实现的业务相关的数据,这些数据称为应用数据。
数据库200存储应用模块100生成的应用数据。
数据库管理系统300对数据库200进行管理,特别是,数据库管理系统300根据来自应用模块100的请求,将与特定应用相关的应用数据发送至安全域部分20,并管理由安全域部分20的加解密模块400进行加解密的应用数据,其中,特定应用是指与该应用所实现的业务相关的应用数据比较重要,需要进行加密处理。
安全域部分20中的加解密模块400对与特定应用相关的应用数据进行加解密。
下面,参见图2详细描述数据库管理系统。图2示出了根据本发明一个实施例的数据库管理系统的示意性框图。
如图2所示,数据库管理系统300包括特定应用类型列表310、存取单元320、判断单元330和控制单元340。其中,存取单元320与数据库200连接,控制单元340与应用模块100和加解密模块400连接。
特定应用类型列表310存储有预先设定的特定应用的类型,其中,特定应用是指与该应用所实现的业务相关的应用数据比较重要,需要进行加密处理,例如用于实现电子邮件业务的应用,与之相关的应用数据包括注册的用户名和密码,它们属于比较重要的个人信息,应该进行加密处理。
存取单元320向数据库200中存储应用数据,从数据库200中提取应用数据。
判断单元330判断应用的类型是否是特定应用类型列表310中的类型,从而确定与之相关的应用数据是否需要加解密模块400进行加解密处理。
控制单元340根据从应用模块100接收到的请求和来自判断单元330的判断结果,控制应用数据是否发送至加解密模块400。
下面,分别结合图3和图4来描述本发明各个实施例的由数据库管理系统300执行的数据库管理方法,包括:存储与应用相关的应用数据的方法和读取与应用相关的应用数据的方法。
图3示出了根据本发明一个实施例的用于存储与应用相关的应用数据的方法流程图。
如图3所示,首先,应用模块100中的应用A实现智能卡1上的一个业务并生成了应用数据D,应用数据D包括数据内容和表示数据内容的标签J,当需要将应用数据D存储在数据库200中时,应用A向数据库管理系统300中的控制单元340发送表示存储应用数据D的存储请求,该存储请求至少包括应用A的类型L以及欲存储的应用数据D(步骤S300)。
控制单元340接收到应用A发送的存储请求后,将存储请求中所包括的应用A的类型L发送给判断单元330(步骤S310)。
判断单元330判断所接收到的应用A的类型L是否存在于特定应用类型列表310中(步骤S320)。
如果步骤S320的判断结果为肯定,控制单元340将存储请求所包括的应用数据D发送给智能卡1的安全域部分20中的加解密模块400(步骤S330)。
加解密模块400按照定义的加密算法对接收到的应用数据D进行加密,以形成加密的应用数据D′,并将加密的应用数据D′返回给控制单元340(步骤S340)。
控制单元340用标签J标识接收到的该加密的应用数据D′,然后发送给存取单元320(步骤S350)。
如果步骤S320的判断结果为否定,控制单元340则直接将存储请求所包括的应用数据D发送给存取单元320(步骤S360)。
存取单元320将接收到的数据(带有标签J的加密的应用数据D′或者应用数据D)存储至数据库200中(步骤S370)。
图4示出了根据本发明一个实施例的用于读取与应用相关的应用数据的方法流程图。
如图4所示,首先,当应用B在实现相应业务的过程中读取之前存储于数据库200中的应用数据E时,应用模块100向数据库管理系统300中的控制单元340发送表示读取应用数据E的读取请求,该读取请求至少包括应用B的类型X和应用数据E的标签F(步骤S400)。
控制单元340接收到应用B发送的读取请求后,将应用数据E的标签F发送给存取单元320(步骤S410)。
存取单元320根据标签F读取数据库200中的带有标签F的应用数据E并发送给控制单元340(步骤S420)。
控制单元340将读取请求中所包括的应用B的类型X发送给判断单元330(步骤S430)。
判断单元330判断所接收到的应用B的类型X是否存在于特定应用类型列表310中(步骤S440)。
如果步骤S440的判断结果为肯定,则说明与应用B相关的应用数据E在存储到数据库200中时进行过加密处理,于是,控制单元340将存取单元320所读取的应用数据E发送至加解密模块400(步骤S450)。
加解密模块400按照定义的加密算法对接收到的应用数据E进行解密,以获得解密的应用数据E0,并将解密的应用数据E0返回给控制单元340(步骤S460)。
控制单元340将解密的应用数据E0发送给应用模块100(步骤S470)。
如果步骤S440的判断结果为否定,则说明与应用B相关的应用数据E在存储到数据库200中时没有进行过加密处理,于是,控制单元340将存取单元320所读取的应用数据E直接发送给应用模块100(步骤S480)。
本领域的技术人员应该理解,控制单元340也可以先将应用B的类型X发送至判断单元330,供判断单元330进行判断,然后再将标签F发送至存取单元320;或者,控制单元340同时将应用B的类型X发送至判断单元330并将标签F发送至存取单元320。
本领域技术人员应当理解,本发明实施例所公开的数据库管理系统和方法可以在不偏离发明实质的情况下做出各种变形、变化和改变,因此,本发明的保护范围由所附的权利要求书来限定。