技术领域
[0001] 本
发明实施例公开了一种数据安全加密存储方法及存储装置,属于数据安全领域。
背景技术
[0002] 存储装置是我们日常生活中经常用来存储数据的装置,像SD卡、TF卡、U盘、移动
硬盘(含固态硬盘)、硬盘等,用来存储文档、照片或者视频等数据。尤其是数码音像设备的大量普及,上述存储装置的应用越来越广泛。由于存储装置本身不能对文件读写权限进行控制,导致存储装置中的影像数据及其他重要信息很容易因保管及管理的不善而遭到泄露。现阶段存储装置的数据存储安全主要采取数据加密和
访问控制两种方法来实现数据保护的目的。数据加密是实现存储装置安全存储的最安全有效方法,存储装置存储数据是以文件的形式存储在存储装置
存储器内,当前对存储装置数据的加密是对存储在存储装置内的文件内元数据信息以及文件内容信息均实施加密,或对所有写入数据加密,即全盘加密。文件“元数据”信息除了包括文件名(含后缀名)、文件大小、创建时间、
修改时间、文件属性、文件类型等信息外,在文件存储介质上还表现为文件存储的与文件系统类型及物理存储器相关的逻辑与物理结构信息,如,文件的分
块信息、扇区大小、起始簇地址、下一数据块的簇地址、文件结束标识符以及底层格式化数据等信息。文件内容信息,即本文定义的文件“体数据”指我们所要存储的文档、照片、视频等内容信息。目前已有的这种通过加密或访问控制的方法实现对存储装置内数据保护的方法,会对某些应用场合,如,
照相机、摄像机等一类特殊专用主机设备的正常使用产生影响或限制:目前已有的照相机、摄像机等这一类专用的主机设备无法完成存储装置为实现访问控制而进行的身份认证过程。正因为无法完成身份认证过程,会导致这类主机设备无法识别相应的存储装置进而影响设备的正常使用。
发明内容
[0003] 本发明的目的是为克服存储装置本身不能对文件读写权限进行控制,导致存储装置中的重要信息很容易因保管及管理的不善而遭到泄露问题,提供一种数据安全加密存储方法及存储装置,可在解决数据安全(防泄密)的
基础上,不影响照相机、摄像机等设备的正常使用。
[0004] 为了达到上述目的,本发明采用的方法是:一种数据安全加密存储装置,包括
接口电路、
控制器、存储介质、加解密模块及处理模块;在初次使用前,须对所述存储装置进行个性化配置操作,完成相关安全策略设置及用户管理设置以及相对应的用户保护密钥(非对称密钥对)生成操作,否则,所述存储装置将按默认配置参数执行相关操作,所述默认配置参数包括默认安全策略、默认用户、默认用户保护密钥(非对称密钥对);所述存储装置通过接口接入主机设备中并启动主机上的配置程序
软件后,按照该专用配置软件提示完成用户管理、安全存储装置的写入加密/读出解密操作的安全策略配置,生成相应的用户保护密钥(非对称密钥对)并保存在所述存储装置内置的专用密钥存储区中,所述主机设备对所述存储装置进行所有的格式化操作,不会改变所述个性化配置操作已保存的配置参数。
[0005] 本发明还公开了一种数据安全加密存储方法,包括以下步骤:S1:将存储装置接入相应主机中,上电并完成初始化;
S2:存储装置执行可选择的用户身份认证操作进行身份认证,根据认证结果选择与该用户相对应的密钥集作为本次数据文件的加密密钥;若用户如果选择身份认证,则进入S21;否则进入S22,;
S21:存储装置对用户进行身份认证。
[0006] S211:存储装置判断用户身份认证是否通过,如果身份认证通过则进入S211-A,否则进入S22;S211-A:存储装置将用户身份认证的状态置为“是”并将认证状态记录在存储装置
指定存储单元中,并设定当前用户身份标识的ID值,同时产生一个随机数作为当前用户的数据加密密钥。
[0007] S22:存储装置将用户的身份认证状态置为“否”并将认证状态记录在存储装置指定存储单元中,设定当前用户身份标识为默认用户ID值,同时产生一个随机数作为当前用户(默认用户)的数据加密密钥。
[0008] S3:存储装置等待接收主机的指令,如果有指令则进入S4,否则进入S3。
[0009] S4: 判断主机的指令类型,若是写指令,则进入S41;若是读指令,则进入S42;若是其他指令则进入S43;S41:存储装置的加密模块使用当前用户数据加密密钥对要写入的数据进行选择性加密生成数据密文,与此同时使用密钥文件中与该用户身份标识(ID值)对应的用户保护密钥对数据加密密钥进行加密形成密钥密文,并将密钥密文插入到数据密文指定
位置中并一同存储到存储装置的存储器中;
S42:接收到主机的读指令,存储装置将根据用户进行身份认证的结果,分别进行如下操作:若身份认证状态为“是”,则进入S42-A;否则,进入S42-B;
S42-A:若用户身份认证状态为“是”,存储装置将主机要读取的数据进行解密并传送给主机;
S42-B:若用户身份认证状态为“否”,存储装置将主机要读取的数据的密文不解密传送给主机。
[0010] S43:若是其他指令,存储装置处理完指令后,进入S3等待;作为本发明的优选,使用存储装置的主机为可以支持各类文件系统的读写数据的设备,包括但不限于电脑、手机、平板、照相机、摄像机等,所述的文件系统格式包括但不限于FAT12/16/32、exFAT、EXT2/4等。
[0011] 作为本发明的优选,存储装置是指能按各类文件系统格式读写数据文件的装置,包括但不限于移动硬盘、U盘、SD卡、TF卡、CF卡等,所述的文件系统格式包括但不限于FAT12/16/32、exFAT、EXT2/4等。
[0012] 作为本发明的优选,存储装置初始化完成后,用户可选择是否进行身份认证,所述身份认证可采用运行于主机设备上的软件输入认证码并与存储装置内事先设置的认证码相比对来实现,或通过内置于存储装置内部的
无线通信模块与用户所持特定无线设备之间的通信来实现。所述无线通信可以是蓝牙、NFC或其他低功耗无线通信方式,所述特定无线设备可以是事先与存储装置内置无线通信模块绑定
配对过的授权设备,如智能手机、智能手环、智能
手表等具有对应无线通信功能,且能与存储装置内置无线通信模块配对通信的各类智能装置。
[0013] 作为本发明的优选,所述的数据加密密钥为存储装置中的CPU产生的一串随机数,每次加电启动时重新生成,数据加密的
算法可以是非对称加密算法、对称加密算法,或者为上述两种算法的组合。
[0014] 作为本发明的优选,所述主机设备在向所述存储装置写入数据文件时,所述存储装置能够识别主机设备采用的文件系统格式,并将所述数据文件分为“体数据”和“元数据”两部分。所述体数据是指待写入数据文件的内容本身(不包含文件名、类型、大小等附加信息);所述元数据是指包括除文件体数据以外的文件名(含后缀)、文件大小、文件属性、文件存储的起始簇地址、文件修改时间等所有构成文件存储结构及属性的相关信息,以及所述存储装置保存的与当前文件系统相关的逻辑与物理结构信息,如引导区、索引表、目录结构、扇区大小以及底层格式化数据等所有信息。
[0015] 作为本发明的优选,主机向存贮装置写入数据文件时,只对所述数据文件的体数据进行加密,而对其相应的元数据不加密。
[0016] 作为本发明的优选,所述的步骤S42-A中,所述存储装置先使用与当前用户身份标识的ID值相对应的用户保护密钥将数据加密密钥解密,再利用该加密密钥将已加密的体数据进行解密后传送给主机。
[0017] 作为本发明的优选,所述存储装置在上电运行后,无论是否实行过身份认证过程,以及身份认证是否验证通过,所有写入的数据文件均被执行选择性加密后存储,即只对所述数据文件的体数据进行加密,而对所述数据文件的元数据不执行加密;在读出数据文件时,需检查身份认证状态以决定是否执行解密操作。
[0018] 所述存储装置在初次使用时,须在指定环境下进行个性化设置,从而完成相关参数、用户管理、密钥生成、绑定及安全策略设置等,且该设置不受格式化等操作影响。每次上电开始使用时,用户可选择是否进行身份认证,存储装置将认证状态记录在存储装置中,无论认证状态如何,所述存储装置对主机要写入该存储装置内的数据文件均进行选择性加密(所不同的只是依据认证的结果不同,选择不同的用户保护密钥):只对主机要写入数据文件的体数据内容进行加密,而对数据文件的元数据不予以加密;主机要读取存储装置内的文件数据时,存储装置依据用户身份认证是否通过的状态,来决定是否将数据进行解密后传送给主机。
[0019] 有益效果: 通过选择性加密技术,对所有写入文件的体数据进行加密存储,实现文件的安全性保护和受控的访问权限管理;由于元数据不加密,使得存储装置与某些特定主机设备(如相机、摄像机等)的保持了良好的兼容性,不影响所述存储装置在所述主机设备上的使用。
附图说明
[0020] 图1为主机对存储装置读写操作流程。
[0021] 图2为SD卡用户选择加密模式的读写操作流程。
[0022] 图3为SD卡FAT文件系统存储数据结构图,其中,MBR为主引导目录区,DBR为
引导扇区,FAT1、FAT2为文件分配表,DIR为文件目录项区即存储文件的元数据信息的区域,DATA为存储文件体数据的区域。
具体实施方式
[0023] 下面结合附图和实例对本发明的技术方案作进一步说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0024] 如图1所示,本发明公开了一种数据安全加密存储方法,包括以下步骤:S1:所述存储装置接入相应主机中,上电并完成初始化,使用存储装置的主机为可以支持各类文件系统的读写数据的设备,包括但不限于电脑、手机、平板、照相机、摄像机等,所述的文件系统格式包括但不限于FAT12/16/32、exFAT、EXT2/4等。存储装置是指能按各类文件系统格式读写数据文件的装置,包括但不限于移动硬盘、U盘、SD卡、TF卡、CF卡等,所述的文件系统格式包括但不限于FAT12/16/32、exFAT、EXT2/4等。
[0025] S2:所述存储装置执行可选择的用户身份认证操作进行身份认证并将认证的状态(用户名及认证结果)记录在所述存储装置中控制器的指定存储单元;若用户不选择进行身份认证操作或未通过用户认证验证,则均按默认用户处理,认证状态为“否”(未通过认证);根据认证结果选择与该用户相对应的密钥集作为本次数据文件的加密密钥;加密数据的密钥可以是存储装置中的CPU产生的一串随机数。加密密钥的算法可以是非对称加密算法,也可以是对称加密算法。
[0026] 对于电脑、平板、手机等主机设备,可以采用运行于这些主机设备上的软件输入认证码并与存储装置内事先设置的认证码相比对来实现身份认证。对于照相机、摄像机等特殊主机设备,可以采用存储装置内置的无线通信模块进行身份认证,如在存储装置中内置蓝牙、NFC或其他低功耗无线通信模块,通过所述无线通信模块和用户持有的其他设备中的无线通信模块进行通信来完成身份认证。
[0027] S3:存储装置接收主机指令,如果有指令则进入S4,否则原地等待。
[0028] S4: 判断主机的读写指令,若是写指令,则进入S41;若是读指令,则进入S42;若是其他指令待存储装置处理完指令后跳转至S3。
[0029] S41:存储装置的加密模块使用加密数据的密钥对要写入的数据进行选择性加密生成密文,在向存储装置写入数据时,只对写入存储装置文件体数据信息进行加密,而对文件元数据信息不予以加密。文件体数据是指待写入数据文件的内容本身(不包含文件名等信息);所述元数据是指包括除文件体数据以外的文件名(含后缀)、文件大小、文件属性、文件存储的起始簇地址、文件修改时间等所有构成文件存储结构及属性的相关信息,以及所述存储装置保存的与当前文件系统相关的引导区、索引表、目录结构、扇区大小等所有信息。
[0030] 与此同时使用密钥文件中与当前用户标识ID值对应的密钥对加密数据的密钥进行加密形成密钥密文,并将密钥密文放置在密文指
定位置中并一同存储到存储装置的存储器中。
[0031] S42:接收到主机的读指令,存储装置将根据S2中对用户进行身份认证的结果,分别进行如下操作:若身份认证状态为“是”,则进入S42-A;否则,进入S42-B;S43:存储装置处理完指令后,跳转到S3。
[0032] S42-A:若用户身份认证状态为“是”,存储装置将主机使用当前用户标识ID值对应的密钥对要读取的数据进行解密传送给主机。存储装置使用该密钥对文件体数据中的密钥密文进行解密出加密数据的密钥,使用该密钥对文件体数据信息进行解密出明文,并传送给主机。若身份认证状态是“否”,存储装置将密文不解密传送给主机。
[0033] S42-B:若用户身份认证状态为“否”,存储装置将主机要读取的数据的密文不解密传送给主机。由于对文件的元数据信息均未加密,使得存储装置兼容各种主机,不会出现数据格式错误、卡读取失败而导致卡损坏等问题。
[0034] 主机在向存储装置中写数据文件时,操作过程完全透明;主机从存储装置读数据文件时根据认证状态,可以通过初始化时设定相应策略,实现解密或不解密相应的数据文件,但不影响主机的读取操作。
[0035] 本发明还公开了数据安全加密存储装置,包含相应的接口电路、控制器(处理器)、存储介质、加解密模块及相关处理模块,上述接口及模块在软件程序协调下完成数据安全加解密存储及读出等功能。在初次使用前,须对所述存储装置进行初始化操作,完成相关安全策略设置及用户管理设置以及密钥生成等操作,否则,所述存储装置将按默认配置参数执行相关操作,所述默认配置参数包括(但不限于)默认安全策略、默认用户、默认密钥等参数。所述存储装置通过合适的接口接入主机中并启动主机上的专用配置程序软件后,按照该专用配置软件提示完成用户管理、安全存储装置的写入加密/读出解密操作的安全策略配置,生成相应的密钥并保存在所述存储装置内置的专用密钥存储区中。
[0036] 实施例1:本实施例公开了一种SD卡安全存储装置,其特征在于:SD卡应包括SDIO接口电路、控制器、NAND Flash存储介质、加解密模块、蓝牙模块;当SD卡第一次使用时,需要对SD卡进行用户个性化操作,需要将SD卡通过SD接口接入主机中。SD卡提供两种模式,一种是加密模式,另一种是非加密模式,默认是非加密模式,即此SD卡为普通的SD卡;如果用户需要的是加密模式,那么用户需要在专用配置软件中选择加密模式,此时将用户选择模式的状态保存到SD卡中并按照该软件提示完成用户管理、SD卡的写入加密/读出解密操作的安全策略配置以及无线模块的配对通信管理等,生成多组公私钥并将其存储在SD卡的密钥文件中。用户对SD卡进行所有的格式化操作,不会改变所述个性化配置操作已保存的配置参数。
[0037] 参照图2,3,本实施例公开了一种SD卡的安全存储数据的方法,该方法包括以下步骤:以下是用户选择加密模式的SD卡加密数据的步骤,包括:
S1:SD卡插入主机中并启动完成,并在卡内CPU随机产生一组随机数并传送给卡的加解密模块,用作加密数据的密钥,并将密钥文件中的数据传送给SD卡的加解密模块。
[0038] S2:SD卡对用户执行可选择的身份认证操作,如果用户选择身份认证,SD卡开始记录用户身份认证状态。认证过程如下:若用户使用的主机中的蓝牙模块和SD卡中的蓝牙模块配对成功,SD卡则将配对状态记录为“是”并存储在其存储器指定位置中并设定当前用户身份标识ID值;若配对不成功,则将认证状态记录为“否”并存储在其存储器指定位置中并设定当前用户身份标识ID值为默认值。如果用户不进行身份认证,则用户认证状态为“否”并且设定用户身份标识ID值为默认值。
[0039] S3: SD卡判断主机的读写指令,若是写指令,则进入S31;若是读指令,则进入S32;若是其他指令,则SD卡处理完指令后返回S3
S31:接收到主机的写指令,SD卡中的加解密模块使用对要写入的文件的体数据进行对称加密生成体数据密文CM,于此同时使用与当前用户身份标识ID值对应的公钥 e对数据加密密钥进行非对称加密形成密钥密文CK,将密钥密文CK放置在体数据密文CM的指定位置中并一同存储到SD卡的体数据区域(DATA);对于要写入文件的元数据信息则不予以加密,直接存储到SD卡的元数据区域。
[0040] S32:接收到主机的读指令,SD卡开始验证用户身份认证状态,如果用户身份认证状态为“是”则进入S32-A;若身份认证状态为“否”,进入S32-B;S32-A:用户身份认证状态为“是”,SD卡将主机要读取的数据解密传送给主机。
[0041] S32-B:用户身份认证状态为“否”,SD卡将主机要读取的数据的密文不解密传输给主机。
[0042] 优选的,如图3所示,SD卡对要写入数据进行选择性加密时,对要写入SD卡中文件的体数据信息进行加密,而对文件的元数据信息不予以加密,文件体数据是指待写入数据文件的内容本身(不包含文件名等信息);文件元数据是指包括除文件体数据以外的文件名(含后缀)、文件大小、文件属性、文件存储的起始簇地址、文件修改时间等所有构成文件存储结构及属性的相关信息,以及SD卡保存的与当前文件系统相关的引导扇区、FAT表、目录结构、扇区大小等所有信息。
[0043] 优选的,用户需要读取数据时,SD卡开始验证用户身份认证状态,若用户身份认证状态为“是”,SD卡的加解密模块根据文件中是否加密的标记来进行判定文件是否加密。若文件加密,则SD卡的加解密模块使用与该用户身份ID值对应的私钥对文件体数据密文CM指定位置的密钥密文CK进行非对称解密得到加密数据的密钥,使用对文件体数据密文CM进行对称解密得到体数据信息并将解密后的体数据信息传送给主机;若用户身份认证状态为“否”,SD卡将用户需要读取的文件不解密传送给主机。由于文件的元数据信息均未加密,因此主机设备(如照相机)能够正确识别已加密文件的存在,无论是否能够正确显示图像,都不会出现因无法识别SD卡或SD卡损坏报错而导致无法使用照相机拍摄并存储照片的情况。
[0044] 以上所述即是本发明的实施方法,应当指出对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。