通用串行总线接口移动存储方法及其装置
技术领域
本发明涉及了一种通用串行总线接口移动存储方法及其装置,属于计算机设备技术领域。
背景技术
现有基于通用串行总线(USB)接口的移动存储设备已经极为广泛,但仅限于作为存储设备,因为移动存储设备的插拔特性,很容易在异常操作时丢失应用和信息;基于个人计算机的应用已经极为广泛,但是随时随地随身携带又不方便,而且容易遭受木马等病毒攻击;对于很多应用急需要一种安全可靠的易于远程连接和信息及时更新的信息载体;应用层面的即插即用目前还比较空白;另外端到端的便于携带移动的安全设备还比较缺乏。
发明内容
本发明的目的是提出一种通用串行总线接口移动存储方法及其装置,以便为用户随身携带、随时随地使用娱乐商务提供安全可靠、方便实用的服务。
本发明的另一目的在于提供安全可靠的数据内容管理,采用核心组件化技术提供稳定可靠的调度管理、更新管理、恢复管理。
本发明提出的通用串行总线接口移动数据存储方法,包括以下各步骤:
(1)将数据存储区划分成三个区域:只读自启动区、用户可见区和用户不可见区,其中只读自启动区用以存储管理数据,用户可见区用以存储用户使用数据,用户不可见区用以备份用户使用数据;
(2)将从主控制器接收到的管理数据存储到上述数据存储区中的只读自启动区;
(3)根据上述只读自启动区的管理数据和远程服务器的指令,在上述数据存储区中的用户不可见区建立用户使用数据启动列表、数据更新列表、数据更新备份列表、数据更新列表备份完整标志、区域空间分配表;
(4)将从主控制器接收到的用户使用数据存储到上述用户不可见区;
(5)根据上述只读自启动区的管理数据检索上述用户不可见区的数据更新列表备份完整标志,若存在数据更新列表备份完整标志,则将其数据更新备份列表覆盖其原来的数据更新列表,将其区域空间分配表中标示的无用空间释放,将其数据启动列表中的更新标记清除,将其数据更新列表备份完整标志清除,若不存在数据更新列表备份完整标志,则将用户不可见区的区域空间中标示的无用空间释放;
(6)根据上述只读自启动区的管理数据检索上述用户不可见区的数据启动列表,若存在更新标记,则将其用户使用数据解压缩后拷贝到用户可见区,作运行处理后供用户使用,并将启动列表中的更新标记清除,若不存在更新标记,则对用户可见区的用户使用数据进行完整性判断,若为完整数据,则作运行处理后供用户使用,若为不完整数据,则将不可见区的用户使用数据解压后拷贝到用户可见区,作运行处理后供用户使用,其中所述的运行处理过程为:根据只读自启动区的管理数据检索用户不可见区的数据启动列表,若其中对应的启动项标定该用户使用数据为直接可用,则数据直接供用户使用;若其中对应的启动项标定该用户使用数据由用户选择使用,则由用户选择决定是否使用数据;若其中对应启动项标定该用户使用数据为配置信息,则由用户决定从远程服务器下载相应的信息数据使用;
(7)将上述用户不可见区的数据更新列表与远程服务器指令中的数据更新列表进行版本高低比对,若两者相同,则不作升级和更新,若远程服务器指令中的数据更新列表版本较高,则接收远程服务器的用户使用数据和用户使用数据的数字签名,并校验该数字签名是否合法,若合法,则将用户不可见区的数据更新列表覆盖原来的用户不可见区的数据更新备份列表,并设置用户不可见区的数据更新列表备份完整标志,将远程服务器指令中的数据更新列表覆盖原来的用户不可见区的数据更新列表,根据用户不可见区区域空间分配表分配相应数据空间,对用户不可见区用户使用数据进行升级和更新,在用户不可见区数据启动列表中设置一个更新标记,将用户不可见区数据更新列表备份完整标志清除,以升级和更新后的用户使用数据覆盖原来的用户使用数据,释放用户不可见区中原有的用户使用数据的空间,若该数字签名不合法,则不作升级和更新。
本发明提出的通用串行总线接口移动数据存储装置,包括:
主控制器,接收通用串行总线接口的数据,将所述数据中的签名数据和与远程服务器连接所需的加密认证保护数据发送至安全控制芯片,将经过安全控制芯片处理后的签名结果、加密认证保护数据发送至通用串行总线接口;将所述数据中的管理数据、用户数据、数据启动列表和数据更新列表发送至数据存储器,将数据存储器的管理数据、用户数据发送至通用串行总线接口;对数据存储器进行划分管理、调度管理;
安全控制芯片,对来自主控制器的签名数据进行签名处理,并将签名结果发送至主控制器,将来自主控制器的加密、认证保护数据进行加密/解密后,再进行相应的内部密钥运算,将运算结果发送至主控制器;在主控制器协调下保持和数据存储器的同步;
数据存储器,进行数据的存储,将来自主控制器的管理数据存放到存储器的只读自启动
区,用户数据存放到存储器的用户可见区,数据启动列表存放到存储器的用户不可见区,数据更新列表存放到存储器的用户可见区,并将存储器的只读自启动区内的管理数据和存储器的用户可见区内的用户数据发送至主控制器;
其中的主控制器通过通用串行总线接口与远程服务器相连,其中的安全控制芯片分别与主控制器和数据存储器相连,其中的数据存储器分别与主控制器和安全控制芯片相连。
本发明提出的通用串行总线接口移动数据存储方法及其装置,其优点是:
(1)本发明的数据存储器是可移动的,所有数据都在通用串行总线接口的移动存储装置上存储,并在移动存储装置上运行,当移动存储装置插入串行总线接口时自启动调度运行,在移动存储装置拔出时自行退出;与完全只基于个人计算机的产品比较而言,提供了安全的运行环境,避免了木马及黑客的破坏。
(2)数据存储和管理中,自恢复处理稳定,对于移动存储装置的插拔异常事件,本发明方法中,数据采用冗余备份恢复操作及完整性检查,为用户提供了稳定可靠的技术保证;稳定性处理体现在两个方面异常情况的处理,一是对更新下载的异常中断/或异常拔出/或异常断电的处理,一是用户的无意操作不当删除处理,稳定处理核心组件屏蔽处理的过程,用户无须人为干预;完整性检查基于摘要/签名/循环冗余校验等组合方式校验。
(3)本发明方法中,管理数据自动运行,用户数据调度处理,都可以自启动调度,并在通用串行总线接口移动存储装置上运行。
(4)本发明方法中,用户使用数据可以自动更新;采用核心组件化管理,用户可以定制数据,远程服务器可以定期升级用户数据,使用户每次得到最新数据。
(5)本发明的基于不对称公私钥的智能化安全控制芯片和安全体系,采用双因子强认证体系,而且是片内执行的片上系统,与一般基于口令和动态时基认证相比,提高了认证强度和安全系数。
附图说明
图1是本发明方法的流程框图。
图2是本发明方法中存储区域的划分示意图。
图3是本发明装置的结构框图。
具体实施方式
本发明提出的通用串行总线接口移动数据存储方法,其流程如图1所示,首先将数据存储区划分成如图2所示的三个区域:只读自启动区、用户可见区和用户不可见区,其中只读自启动区用以存储管理数据,用户可见区用以存储用户使用数据,用户不可见区用以备份用户使用数据。
将从主控制器接收到的管理数据存储到上述数据存储区中的只读自启动区,主控制器接收的来自个人计算机的专有授权指令设定管理数据不可修改的。
根据上述只读自启动区的管理数据和远程服务器的指令,在上述数据存储区中的用户不可见区建立用户使用数据启动列表、数据更新列表、数据更新备份列表、数据更新列表备份完整标志、区域空间分配表;其中数据启动列表由数据启动项组成,数据更新列表、数据更新备份列表、数据更新列表备份完整标志协同参与保证数据的完整性,区域空间分配表标识用户不可见区的数据空间分配状况,其中的列表项格式为:名称、版本、大小、路径、用户可见区的用户使用数据的完整校验值、循环冗余校验值,数据更新列表备份完整标志自身采用CRC完整性校验;将从主控制器接收到的用户使用数据存储到上述用户不可见区。
根据上述只读自启动区的管理数据检索上述用户不可见区的数据更新列表备份完整标志,若存在数据更新列表备份完整标志,则将其数据更新备份列表复盖其原来的数据更新列表,将其区域空间分配表中标示的无用空间释放,此时同一名称的用户使用数据只有唯一的版本,将其数据启动列表中的更新标记清除,将其数据更新列表备份完整标志清除,若不存在数据更新列表备份完整标志,则将用户不可见区的区域空间中标示的无用空间释放;根据上述只读自启动区的管理数据检索上述用户不可见区的数据启动列表,若存在更新标记,则将其用户使用数据解压缩后拷贝到用户可见区,作运行处理后供用户使用,并将启动列表中的更新标记清除,若不存在更新标记,则对用户可见区的用户使用数据进行完整性判断,(数据完整性检查方法可选配置:不对称数字签名如1024位以上RSA数字签名、哈希摘要算法如MD5/SHA1、或者循环冗余算法如CRC、文件存在、文件大小等)若为完整数据,则作运行处理后供用户使用,若为不完整数据,则将不可见区的用户使用数据解压后拷贝到用户可见区,作运行处理后供用户使用,其中所述的运行处理过程为:根据只读自启动区的管理数据检索用户不可见区的数据启动列表,若其中对应的启动项标定该用户使用数据为直接可用,则不需用户选择,数据直接供用户使用;若其中对应的启动项标定该用户使用数据由用户选择使用,则由用户选择决定是否使用数据;若其中对应启动项标定该用户使用数据为配置信息,则由用户决定从远程服务器下载相应的信息数据使用。
插入本方法描述的存储装置的计算机根据只读自启动区的管理数据使用安全控制器和远程服务器建立起安全认证加密通道,将上述用户不可见区的数据更新列表与远程服务器指令中的数据更新列表进行版本高低比对,若两者相同,则不作升级和更新,若远程服务器指令中的数据更新列表版本较高,则接收远程服务器的用户使用数据和用户使用数据的数字签名,并校验该数字签名是否合法,若合法,则将用户不可见区的数据更新列表复盖原来的用户不可见区的数据更新备份列表,并设置用户不可见区的数据更新列表备份完整标志,将远程服务器指令中的数据更新列表覆盖原来的用户不可见区的数据更新列表,保留用户不可见区的用户使用数据不变,根据其区域空间分配表分配相应数据空间,对其用户使用数据进行升级和更新,在其数据启动列表中设置一个更新标记,将其数据更新列表备份完整标志清除,(此时同一名称的用户使用数据可能有两个不同的版本,一个来自远程服务器,一个为原有版本),以升级和更新后的用户使用数据覆盖原来的用户使用数据,释放其中原有的用户使用数据的空间,(经过整理清除后,此时同一名称的用户使用数据只有唯一的版本),若该数字签名不合法,则不作升级和更新。
本发明提出的通用串行总线接口移动数据存储装置,其结构如图3所示,包括:
主控制器,接收通用串行总线接口的数据,将其中的签名数据和与远程服务器连接所需的加密认证保护数据发送至安全控制芯片,将经过安全控制芯片处理后的签名结果、加密认证保护数据发送至通用串行总线接口;将其中的管理数据、用户数据发送至数据存储器,将数据存储器的管理数据、用户数据发送至通用串行总线接口;对数据存储器进行划分管理、调度管理;
安全控制芯片,对来自主控制器的签名数据进行签名处理,并将签名结果发送至主控制器,将来自主控制器的加密、认证保护数据进行加密/解密数据进行相应的内部密钥运算,将运算结果发送至主控制器;在主控制器协调下保持和数据存储器的同步;
数据存储器,进行数据的存储,将来自主控制器的管理数据、用户数据、数据启动列表、数据更新列表存放到存储器内相应的区域,将相应区域的管理数据、用户数据发送至主控制器;
其中的主控制器通过通用串行总线接口与远程服务器相连,其中的安全控制芯片分别与主控制器和数据存储器相连,其中的数据存储器分别与主控制器和安全控制芯片相连。
远程服务器,存放用户数据/数据更新列表等,和已插入本装置的个人计算机建立安全网络通道,提供用户数据、数据更新列表的下载等,发送相应的指令至已插入本装置的个人计算机。
本发明的通用串行总线接口移动数据存储装置组成如图3所示,由主控制器、安全控制芯片、数据存储器组成。
主控制器将安全控制芯片和数据存储器有机组合并管理起来,主控器负责数据流向和控制流向,将相应的安全计算及数据转向安全控制芯片,将相应的存储数据转向数据存储器,对数据存储器进行划分管理、调度管理;同时主控制器也是移动存储装置和个人计算机通用串行总线接口的接口模块。
安全控制芯片采用智能卡控制芯片,是一个由不对称公钥算法协处理器、片内微处理器、片内存储单元、输入输出单元组成的片上系统(SOC),内部由独立的嵌入卡片操作系统进行统一管理,使用安全状态机来进行状态转移和交互控制,可以内部产生公私钥对、存储机密信息、存储管理数字证书,负责管理内外部授权、数字签名/验证、数字加密/解密、数字信封/解封。密钥片内保存,密钥相关安全计算片内实现。使用用户口令和硬件结合认证,实现双因子强认证。基于PKI/RSA/X.509证书的SSL信道管理和PKCS#系列的加密解密/签名验证处理。如图2所示,数据存储器负责数据存储,是数据存储的区域,可以进一步划分为只读自启动区、用户不可见区、用户可见区。用户不可见区对用户透明。
只读自启动区一经写入,只读不再可写,存储管理数据,管理数据调度其他分区的所有数据,当移动存储装置插入个人计算机通用串行总线接口时,来自主控制器的指令触发管理数据自动运行起来,当移动存储装置拔出个人计算机通用串行总线接口时,来自主控制器的指令触发管理数据自动终止运行。实现了即插即用自动调度运行。只读启动区数据格式遵照微软移动盘数据格式。
用户可见区存储用户使用数据,用户可见区数据格式遵照微软移动盘数据格式,可随意直接访问。其中用户可见区的用户使用数据中包含完整性数据,完整性数据是对用户可见区用户使用数据进行完整性计算得到的(数据完整性检查方法可选配置:不对称数字签名如1024位以上RSA数字签名、哈希摘要算法如MD5/SHA1、或者循环冗余算法如CRC、文件存在、文件大小等)。
用户不可见区数据格式是本发明特有,数据空间可以区域内分配,也可释放回区域,数据的写入更新有稳定性保障,不可直接访问,只有经过特殊的通道并高级授权后才能访问。用户不可见区包含数据启动列表、数据更新列表、数据更新备份列表、数据更新列表备份完整标志、区域空间分配表、用户使用数据的压缩备份;所有列表的每一个表项含有用户数据的名称、版本、大小、路径、用户可见区的用户使用数据的完整校验值、循环冗余校验值等,数据启动列表与用户可见区的用户使用数据的可运行部分相对应,数据更新列表与用户可见区的用户使用数据相对应,数据更新备份列表是对数据更新列表的备份;数据更新列表、数据更新备份列表、数据更新列表备份完整标志一起来保证用户使用数据的压缩备份的完整性,或成功更新或成功回退,进行稳定性操作处理;用户使用数据的压缩备份是用户可见区用户使用数据的压缩版本,使用区域空间分配表来进行管理,可以新增加,也可删除释放。
本发明装置中的主控制器由ST公司生产,型号为72F651,其中的安全控制芯片由握奇公司生产,型号为BW92,其中的数据存储器由三星公司生产,型号为K9F1608U0A。