专利名称:透明加解密sd卡及其实现方法
技术领域:
本发明涉及一种通过虚拟文件系统实现外部设备与S D卡主控芯片之间的命令交互,通过加解密文件系统对SD卡存储区中的数据进行加解密处理的透明加解密SD卡及其实现方法。
背景技术:
SD卡(Secure Digital Memory Card)中文翻译为安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,例如数码相机、智能手机、PAD等。SD卡虽然体积小,重量轻,但却拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。
一般的SD卡如果挂载Flash存储区,外部设备可直接访问Flash对数据进行读写操作。如果要扩展SD卡的功能且没有挂载Flash,外部设备就无法与SD卡进行命令和数据的交互,需要提供交互的接口和界面。目前有通过安装驱动程序来解决上述问题,但驱动程序是根据使用设备类型的不同编写不同的驱动程序,每种驱动程序提供给外部设备的接口也不相同,这种复杂的方式在实际应用中很难被推广。因此,迫切需要一种简单、易操作的方式,实现SD卡与外部设备的交互。随着SD卡的广泛使用,SD卡所存储数据的安全性日益受到人们的关注。目前,有通过密码保护来控制对SD卡的访问,但SD卡存储区的数据包括密码仍然是以明文的形式存储,这样很容易通过非正常手段破解密码或跳过密码验证直接获取SD中的明文数据,这样用户信息就容易被泄露。因此,如何对SD卡内部的敏感信息进行有效保护,已经成为亟待解决的问题。
发明内容
本发明的目的在于克服现有技术的不足而提供一种访问SD卡存储区,同时通过对写入文件进行加密存储,保证SD卡中数据的安全的透明加解密SD卡及其实现方法。本发明的目的是这样实现的
一种透明加解密SD卡,包括SD卡主控芯片、NandFlash存储器,其特征在于
SD卡主控芯片具有为外部设备与SD卡主控芯片连接提供桥梁的SDIO接口以及连接SD卡主控芯片和NandFlash存储器的Nand接口;SD卡主控芯片还包括通过片内操作系统COS实现的虚拟文件系统模块和加解密文件系统模块;SD卡主控芯片作为外部设备与SD卡内部组件的桥梁用来接收和执行命令;
SDIO接口用于连接智能手机、电脑等外部设备和SD卡主控芯片;Nand接口用来连接SD卡主控芯片和NandFlash存储器的NandFlash存储区;NandFlash存储器负责数据的存储;
虚拟文件系统模块是通过片内操作系统COS虚拟出的一个文件系统;该虚拟文件系统模块会虚拟出文件系统存储扇区的数据,用来对外部设备发来的读写指令作出回应,实现外部设备与SD卡的正常通讯,外部设备发送读卡指令,虚拟文件系统作出回应,外部设备与SD卡建立连接;
加解密文件系统模块通过国密算法对写入或读取的数据进行加解密,使得写入的数据以密文的形式存储;用户通过外部应用程序发送读取指令,片内操作系统COS读取NandFlash存储器中扇区数据并调用加解密文件系统对文件进行解密后,通过SDIO接口发送给外部设备,经过应用程序解析为可读文件供用户读取;用户通过外部应用程序发送写入指令,片内操作系统COS读取NandFlash存储器中扇区数据并调用加解密文件系统对写入的数据进行加密后,通过Nand接口发送给NandFlash存储器,写入的数据以密文的形式存储于NandFlash存储器。透明加解密是指数据在使用过程中,系统自动对数据进行加解密操作,不改变用户对文件的打开、读、写的访问习惯,无需用户的干预,表面看来,访问加密的文件和访问未加密的文件基本相同,对合法用户来说这些加密文件是“透明的”,但对于没有访问权限的 用户,即使通过非常规手段得到加密文件也无法使用。 虚拟文件系统为外部设备与SD卡之间连接和通讯提供接口。一种透明加解密SD卡的实现方法,其特征在于该方法包括以下步骤
步骤I)、SD卡加电,片内操作系统COS启动;
步骤2)、片内操作系统COS建立虚拟文件系统并虚拟出文件系统存储扇区的数据;步骤3)、外部设备发送读卡指令,虚拟文件系统调用虚拟的存储扇区数据作出回应,夕卜部设备与SD卡建立连接;
步骤4)、用户通过外部应用程序写入PIN码验证口令,片内操作系统COS接收PIN码验证口令并进行对比验证;
步骤5)、验证成功,则主控芯片挂载NandFlash存储器,虚拟文件系统切换到加解密文件系统,否则,主控芯片不挂载NandFlash存储器中,用户无法访问NandFlash存储器中的数据;
步骤6)、用户通过外部应用程序发送读写指令,片内操作系统COS调用加解密文件系统对NandFlash存储器中的文件进行解密供用户读取或对写入的数据进行加密存入于NandFlash存储器的存储区;
步骤7)操作完成关闭系统。步骤5)中,需要对口令验证的次数进行限制,超过验证次数,则会对SD卡进行锁定,需要进行解锁才能再次正常使用。本发明的特点及积极效果如下第一,采用虚拟文件系统为外部设备和SD卡之间提供接口,无需安装驱动就可实现外部设备与SD卡之间的通讯连接;第二,通过文件加解密系统,对存入的数据进行加密,使得SD卡存储区的数据以密文的形式存储,有效保障了SD卡存储数据的安全;第三,采用PIN码进行口令验证,保证用户数据不被非法访问,防止了 SD卡中信息的泄露;第四,未通过口令验证时,用户无法访问NandFlash存储区,通过软件方式实现了对SD卡的写保护,相对于目前部分SD卡通过覆写开关控制用户写入操作,更方便且不易对SD卡造成损害。
图I为本发明的透明加解密SD卡结构原理图。图2为本发明的透明加解密SD卡的实现方法流程图。
具体实施方式
如图I所示,一种透明加解密SD卡,包括SD卡主控芯片2和NandFlash存储器6,其特征在于SD卡主控芯片2具有为外部设备与SD卡主控芯片2连接提供桥梁的SDIO接口 I以及连接SD卡主控芯片2和NandFlash存储器6的Nand接口 5 ;SD卡主控芯片2还包括通过片内操作系统COS实现的虚拟文件系统模块3和加解密文件系统模块4 ;
SDIO接口 I用于连接智能手机、电脑等外部设备和SD卡主控芯片2,SD卡主控芯片2作为外部设备与SD卡内部组件的桥梁用来接收和执行命令;Nand接口 5用来连接SD卡主控芯片2和NandFlash存储器6的存储区;NandFlash存储器6负责数据的存储;
虚拟文件系统模块3是通过片内操作系统COS虚拟出的一个文件系统;虚拟文件系统模块3会虚拟出文件系统存储扇区的数据,用来对外部设备发来的读写指令作出回应,实现外部设备与SD卡的正常通讯,外部设备发送读卡指令,虚拟文件系统作出回应,外部设备与SD卡建立连接;C0S的全称是Chip Operating System(片内操作系统),它一般是紧紧围绕着它所服务的智能卡的特点而开发的;
加解密文件系统通过国密算法对写入或读取的数据进行加解密,使得写入的数据以密文的形式存储;用户通过外部应用程序发送读取指令,COS读取NandFlash存储器中扇区数据并调用加解密文件系统对文件进行解密后,通过SDIO接口发送给外部设备,经过应用程序解析为可读文件供用户读取;用户通过外部应用程序发送写入指令,COS读取NandFlash存储器中扇区数据并调用加解密文件系统对写入的数据进行加密后,通过Nand接口发送给NandFlash存储器,写入的数据以密文的形式存储于NandFlash存储器。所述的透明加解密是指数据在使用过程中,系统自动对数据进行加解密操作,不改变用户对文件的访问(打开、读、写等)习惯,无需用户的干预,表面看来,访问加密的文件和访问未加密的文件基本相同,因此对合法用户来说这些加密文件是“透明的”,但对于没有访问权限的用户,即使通过非常规手段得到加密文件也无法使用。所述的虚拟文件系统3为外部设备与SD卡之间连接和通讯提供接口。如图2所示,一种透明加解密SD卡的实现方法,其特征在于
该方法包括以下步骤
步骤I) SD卡加电,COS系统启动;
步骤2) COS建立虚拟文件系统3并虚拟出文件系统存储扇区的数据;
步骤3)外部设备发送读卡指令,虚拟文件系统3调用虚拟的存储扇区数据作出回应,外部设备与SD卡建立连接;
步骤4)用户通过外部应用程序写入PIN码验证口令,COS接收PIN码验证口令并进行对比验证;
步骤5)验证成功,则主控芯片2挂载NandFlash6,虚拟文件系统3切换到文件加解密系统4 ;否则,主控芯片2不挂载NandFlash6中,用户无法访问NandFlash6中的数据;步骤6)用户通过外部应用程序发送读写指令,COS调用文件加解密系统4对NandFlash6中的文件进行解密供用户读取或对写入的数据进行加密存入于NandFlash6存储区;
步骤7)操作完成关闭系统。所述的步骤5)中,需要对口令验证的次数进行限制,超过验证次数,则会对SD卡 进行锁定,需要进行解锁才能再次正常使用。
权利要求
1.一种透明加解密SD卡,包括SD卡主控芯片、NandFlash存储器,其特征在于 SD卡主控芯片具有为外部设备与SD卡主控芯片连接提供桥梁的SDIO接口以及连接SD卡主控芯片和NandFlash存储器的Nand接口;SD卡主控芯片还包括通过片内操作系统COS实现的虚拟文件系统模块和加解密文件系统模块;SD卡主控芯片作为外部设备与SD卡内部组件的桥梁用来接收和执行命令; SDIO接口用于连接智能手机、电脑等外部设备和SD卡主控芯片;Nand接口用来连接SD卡主控芯片和NandFlash存储器的NandFlash存储区;NandFlash存储器负责数据的存储; 虚拟文件系统模块是通过片内操作系统COS虚拟出的一个文件系统;该虚拟文件系统模块会虚拟出文件系统存储扇区的数据,用来对外部设备发来的读写指令作出回应,实现外部设备与SD卡的正常通讯,外部设备发送读卡指令,虚拟文件系统作出回应,外部设备与SD卡建立连接; 加解密文件系统模块通过国密算法对写入或读取的数据进行加解密,使得写入的数据以密文的形式存储;用户通过外部应用程序发送读取指令,片内操作系统COS读取NandFlash存储器中扇区数据并调用加解密文件系统对文件进行解密后,通过SDIO接口发送给外部设备,经过应用程序解析为可读文件供用户读取;用户通过外部应用程序发送写入指令,片内操作系统COS读取NandFlash存储器中扇区数据并调用加解密文件系统对写入的数据进行加密后,通过Nand接口发送给NandFlash存储器,写入的数据以密文的形式存储于NandFlash存储器。
2.根据权利要求I所述的透明加解密SD卡,其特征在于透明加解密是指数据在使用过程中,系统自动对数据进行加解密操作,不改变用户对文件的打开、读、写的访问习惯,无需用户的干预,表面看来,访问加密的文件和访问未加密的文件基本相同,对合法用户来说这些加密文件是“透明的”,但对于没有访问权限的用户,即使通过非常规手段得到加密文件也无法使用。
3.根据权利要求I所述的透明加解密SD卡,其特征在于虚拟文件系统为外部设备与SD卡之间连接和通讯提供接口。
4.一种透明加解密SD卡的实现方法,其特征在于该方法包括以下步骤 步骤I)、SD卡加电,片内操作系统COS启动; 步骤2)、片内操作系统COS建立虚拟文件系统并虚拟出文件系统存储扇区的数据; 步骤3)、外部设备发送读卡指令,虚拟文件系统调用虚拟的存储扇区数据作出回应,夕卜部设备与SD卡建立连接; 步骤4)、用户通过外部应用程序写入PIN码验证口令,片内操作系统COS接收PIN码验证口令并进行对比验证; 步骤5)、验证成功,则主控芯片挂载NandFlash存储器,虚拟文件系统切换到加解密文件系统,否则,主控芯片不挂载NandFlash存储器中,用户无法访问NandFlash存储器中的数据; 步骤6)、用户通过外部应用程序发送读写指令,片内操作系统COS调用加解密文件系统对NandFlash存储器中的文件进行解密供用户读取或对写入的数据进行加密存入于NandFlash存储器的存储区;步骤7)操作完成关闭系统。
5.根据权利要求4所述的透明加解密SD卡的实现方法,其特征在于步骤5)中,需要对口令验证的次数进行限制,超过验证次数,则会对SD卡进行锁定,需要进行解锁才能再次正常使用。
全文摘要
本发明涉及一种通过文件加解密系统对SD卡存储区中的数据进行加解密处理的透明加解密SD卡及其实现方法,包括主控芯片和NandFlash,主控芯片具有SDIO接口和Nand接口,Nand接口与NandFlash连接;还包括虚拟文件系统和加解密文件系统;SDIO接口用于连接智能手机、电脑等外部设备和SD卡主控芯片;Nand接口用来连接主控芯片和NandFlash存储区;NandFlash负责数据的存储;虚拟文件系统为外部设备与SD卡进行交互提供接口;加解密文件系统对写入或读取的数据进行加解密,使得写入的数据以密文的形式存储,有效地保障了SD卡存储数据的安全,方便操作且不易对SD卡造成损害。
文档编号G06K19/073GK102831081SQ20121031999
公开日2012年12月19日 申请日期2012年9月3日 优先权日2012年9月3日
发明者梁松涛, 何骏, 董建强, 张鲁国, 刘熙胖, 王科峰, 刘长河, 杨伟红 申请人:郑州信大捷安信息技术股份有限公司