CN111062064B - 一种加密u盘系统的实现方法及系统 - Google Patents

一种加密u盘系统的实现方法及系统 Download PDF

Info

Publication number
CN111062064B
CN111062064B CN201911349719.5A CN201911349719A CN111062064B CN 111062064 B CN111062064 B CN 111062064B CN 201911349719 A CN201911349719 A CN 201911349719A CN 111062064 B CN111062064 B CN 111062064B
Authority
CN
China
Prior art keywords
area
read
encryption
operating system
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911349719.5A
Other languages
English (en)
Other versions
CN111062064A (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jianshi Chengxin Technologies Co.,Ltd.
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201911349719.5A priority Critical patent/CN111062064B/zh
Publication of CN111062064A publication Critical patent/CN111062064A/zh
Priority to US17/626,304 priority patent/US20220317895A1/en
Priority to PCT/CN2020/122810 priority patent/WO2021129094A1/zh
Application granted granted Critical
Publication of CN111062064B publication Critical patent/CN111062064B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明公开了一种加密U盘系统的实现方法,包括使用加密U盘的过程:驱动软件读取隐藏区的分区信息,根据分区信息创建预置设备类型的设备对象,根据设备对象创建虚拟盘符,并将虚拟盘符与设备对象绑定后映射虚拟盘符;驱动软件等待操作系统对设备对象的操作,根据操作系统对不同设备对象的操作,驱动软件判断接收到的指令类型,如果是读指令,驱动软件根据读指令中的第一地址映射存储芯片中的读取地址,读取数据,调用加密锁芯片对读取的数据解密得到解密的读取数据;如果为写指令,驱动软件调用加密锁芯片对要写入的数据进行加密得到加密的写入数据,根据写指令中的第二地址映射存储芯片中的写入地址,写入加密的写入数据或者拒绝操作。

Description

一种加密U盘系统的实现方法及系统
技术领域
本发明涉及信息安全领域,特别涉及一种加密U盘系统的实现方法及系统。
背景技术
随着科技的发展,作为普通存储功能的U盘可以便携地移动数据,但是现有的普通U盘通常具有普通U盘存储区和隐藏区,在实现移动数据的过程中都是直接将普通的数据拷到普通U盘存储区中,再将U盘存储区中的数据拷到其他需要对数据处理的设备上,比较重要的数据,可以放在隐藏区中进行隐藏,但是不会对数据本身进行处理,因此很容易在使用普通U盘进行拷贝的过程中,数据遭到窃取,安全性不高。
另外,很多应用仍会以光盘为载体进行发布,但是随着个人计算机配置的简化,个人计算机通常不配备有光驱,不配备光驱的计算机则无法对光盘进行读取,因此对打包成ISO镜像类型的安装程序或数据进行发布时缺少渠道。
发明内容
为解决以上技术问题,本发明提供了一种加密U盘系统的实现方法,加密U盘系统包括加密U盘和驱动软件,加密U盘包括存储芯片和加密锁芯片,该方法包括使用加密U盘的过程,
使用加密U盘的过程,包括如下步骤:
步骤100,启动驱动软件后,和加密U盘建立连接;
步骤101,驱动软件读取隐藏区的分区信息,根据分区信息创建预置设备类型的设备对象,根据设备对象创建虚拟盘符,并将虚拟盘符与设备对象绑定后映射虚拟盘符;
步骤102,驱动软件等待操作系统对设备对象的操作,如果操作系统对设备对象的操作为操作系统对加密区设备对象操作,执行步骤103,如果操作系统对设备对象的操作为操作系统对光盘区设备对象操作或者操作系统对只读区设备对象操作,执行步骤106;
步骤103,驱动软件调用第一操作系统函数,操作系统弹出加密区密码验证界面;
步骤104,驱动软件从加密区密码验证界面获取加密区验证密码,判断加密区验证密码是否正确,如果是,执行步骤105,如果否,结束;
步骤105,驱动软件判断接收到的指令类型,
如果是读指令,驱动软件根据读指令中的第一地址映射存储芯片中的读取地址,读取数据,调用加密锁芯片对读取的数据解密得到解密的读取数据,将解密的读取数据后返回给操作系统;
如果为写指令,驱动软件调用加密锁芯片对要写入的数据进行加密得到加密的写入数据,根据写指令中的第二地址映射存储芯片中的写入地址,写入加密的写入数据;
步骤106,驱动软件判断接收到的指令类型,
如果是读指令,驱动软件根据读指令中的第一地址映射存储芯片中的读取地址,读取数据,调用加密锁芯片对读取的数据解密后返回给操作系统;
本发明还提供了一种加密U盘系统包括加密U盘和驱动模块,加密U盘包括存储芯片和加密锁芯片;驱动模块包括:
启动单元,用于启动驱动模块;
连接单元,用于和加密U盘建立连接;
读取单元,用于读取存储芯片的隐藏区的分区信息;
创建绑定单元,用于根据读取单元读取的分区信息创建预置设备类型的设备对象,根据设备对象创建虚拟盘符,并将虚拟盘符与设备对象绑定;
映射单元,用于创建绑定单元将虚拟盘符与设备对象绑定后映射虚拟盘符;
操作调用单元,用于等待操作系统对设备对象的操作,
如果操作系统对设备对象的操作为操作系统对加密区设备对象操作,用于调用第一操作系统函数,使操作系统弹出加密区密码验证界面;
获取单元,用于从加密区密码验证界面获取加密区验证密码;
第一判断单元,用于判断获取单元获取的加密区验证密码是否正确;
第二判断单元,用于当第一判断单元判断获取单元获取的加密区验证密码正确后,判断接收到的指令类型;
第三判断单元,用于如果操作系统对设备对象的操作为操作系统对光盘区设备对象操作或者操作系统对只读区设备对象操作,判断接收到的指令类型;
映射读取单元,用于当第二判断单元判断接收到的指令类型为读指令时,根据读指令中的第一地址映射存储芯片中的读取地址,读取数据;还用于当第三判断单元判断接收到的指令类型为读指令时,根据读指令中的第一地址映射存储芯片中的读取地址,读取数据;
第一调用单元,用于调用加密锁芯片对读取的数据解密得到解密的读取数据;
返回单元,用于将调用单元得到的解密的读取数据返回给操作系统;
第二调用单元,用于调用加密锁芯片对要写入的数据进行加密得到加密的写入数据;
映射写入单元,用于当第二判断单元判断接收到的指令类型为写指令时,根据写指令中的第二地址映射存储芯片中的写入地址,写入加密的写入数据;
拒绝单元,用于当第三判断单元判断接收到的指令类型为写指令时,拒绝操作;
加密锁芯片,用于对映射读取单元读取的数据进行解密得到解密的读取数据,还用于对映射写入单元要写入的数据进行加密得到加密的写入数据。
本发明的有益效果为:本发明提供了一种加密U盘系统的实现方法,通过对加密U盘的隐藏区进行划分,在使用加密U盘时,当主机与加密U盘连接后,生成并映射出光盘区和加密区,加密U盘中的加密锁芯片使得加密U盘实现了对数据加密存储数据和解密读取数据的功能,从而保证了数据读写的安全。另外,将加密U盘隐藏区作为光盘的进行映射,可以将加密U盘作为光盘的进行数据的读写。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种加密U盘系统的实现方法的流程图;
图2-1和图2-2为本发明实施例2提供的另一种加密U盘系统的实现方法的流程图;
图3为本发明实施例3提供的一种加密U盘系统的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供了一种加密U盘系统的实现方法,加密U盘系统包括加密U盘和驱动软件,加密U盘包括存储芯片和加密锁芯片。本实施例的加密U盘系统的实现方法包括使用加密U盘的过程。
如图1所示,使用加密U盘的过程,包括如下步骤:
步骤A100,启动驱动软件后,和加密U盘建立连接;
步骤A101,驱动软件读取隐藏区的分区信息,根据分区信息创建预置设备类型的设备对象,根据设备对象创建虚拟盘符,并将虚拟盘符与设备对象绑定后映射虚拟盘符;
步骤A102,驱动软件等待操作系统对设备对象的操作,如果操作系统对设备对象的操作为操作系统对加密区设备对象操作,执行步骤A103,如果操作系统对设备对象的操作为操作系统对光盘区设备对象操作或者操作系统对只读区设备对象操作,执行步骤A106;
步骤A103,驱动软件调用第一操作系统函数,操作系统弹出加密区密码验证界面;
步骤A104,驱动软件从加密区密码验证界面获取加密区验证密码,判断加密区验证密码是否正确,如果是,执行步骤A105,如果否,结束;
步骤A105,驱动软件判断接收到的指令类型,
如果是读指令,驱动软件根据读指令中的第一地址映射存储芯片中的读取地址,读取数据,调用加密锁芯片对读取的数据解密得到解密的读取数据,将解密的读取数据返回给操作系统;
如果为写指令,驱动软件调用加密锁芯片对要写入的数据进行加密得到加密的写入数据,根据写指令中的第二地址映射存储芯片中的写入地址,写入加密的写入数据;
步骤A106,驱动软件判断接收到的指令类型,
如果是读指令,驱动软件根据读指令中的第一地址映射存储芯片中的读取地址,读取数据,调用加密锁芯片对读取的数据解密后返回给操作系统;
如果为写指令,拒绝操作。
在本实施例中,步骤A101之前还包括:
驱动软件判断是否存在隐藏区标识,如果是,执行步骤A101,如果否,拒绝操作。
在本实施例中,使用加密U盘的过程之前还包括初始化加密U盘的过程,包括如下步骤:
步骤B1,启动驱动软件,和加密U盘建立连接;
步骤B2,驱动软件调用加密锁芯片生成预置密钥并将预置密钥保存到加密锁芯片中;
步骤B3,驱动软件调用第一操作系统函数,操作系统弹出驱动软件预置的分区信息设置界面;
步骤B4,驱动软件从分区信息设置界面获取分区信息;
步骤B5,驱动软件在存储芯片上划分隐藏区,并根据分区信息将隐藏区按照加密区,只读区和光盘区进行划分;
步骤B6,驱动软件调用第一操作系统函数,操作系统弹出驱动软件预置的加密区密码设置界面;
步骤B7,驱动软件从加密区密码设置界面获取加密区密码,根据加密区密码和预置密钥生成第一哈希值;
步骤B8,驱动软件调用第二操作系统函数,在隐藏区的头部添加隐藏区标识,并将分区信息和第一哈希值保存在隐藏区的头部;
步骤A101具体为:驱动软件读取存储芯片的隐藏区的分区信息,根据分区信息创建加密区设备对象、只读区设备对象和光盘区设备对象,根据加密区设备对象创建加密区虚拟盘符并绑定,根据只读区设备对象创建只读区虚拟盘符并绑定,根据光盘区设备创建光盘区虚拟盘符并绑定,映射加密区虚拟盘符、只读区虚拟盘符和光盘区虚拟盘符;
步骤A104中驱动软件从加密区密码验证界面获取加密区验证密码,判断加密区验证密码是否正确具体为:驱动软件根据隐藏区的头部保存的第一哈希值判断加密区验证密码是否正确。
在本实施例中,步骤6和步骤7之前或者步骤6和步骤7之后还可以包括:
步骤B6’,驱动软件调用第一操作系统函数,操作系统弹出驱动软件预置的只读区权限设置界面;
步骤B7’,驱动软件从只读区权限设置界面获取只读区权限设置密码,根据只读区权限设置密码和预置密钥生成第三哈希值;
步骤B8具体为:驱动软件在隐藏区的头部添加隐藏区标识,并将分区信息、第一哈希值和第三哈希值保存在隐藏区的头部;
步骤A101中,根据只读区设备对象创建只读区虚拟盘符并绑定具体为:根据只读区设备对象创建只读区虚拟盘符并绑定并向只读区添加只读属性;
步骤A102中,如果操作系统对设备对象的操作为操作系统对操作系统对只读区设备对象操作,则在步骤A106中,如果为写指令,拒绝操作可以被替换为:如果为写指令,驱动软件调用第一操作系统函数,操作系统弹出只读区权限设置密码验证界面,驱动软件从只读区权限设置密码验证界面获取只读区权限设置密码,读取隐藏区的头部中的第三哈希值,根据第三哈希值判断只读区权限设置密码是否正确,如果是,驱动软件将只读区设备对象的只读属性删除,驱动软件调用加密锁芯片对要写入的数据进行加密得到加密的写入数据,根据写指令中的第二地址映射存储芯片的只读区的写入地址,写入加密的写入数据;如果否,拒绝操作。
在本实施例中,步骤B2之前还包括驱动软件对加密锁芯片进行初始化的过程,具体包括:
步骤B2’-1,驱动软件调用第一操作系统函数,操作系统弹出驱动软件预置的自定义种子码输入界面;
步骤B2’-2,驱动软件从自定义种子码输入界面获取种子码,并将种子码发送给加密锁芯片;
步骤B2’-3,加密锁芯片对种子码进行运算生成加密锁芯片的产品标识,即产品ID,并保存后,将产品ID发送给驱动软件;
步骤B8具体为:驱动软件在隐藏区的头部添加隐藏区标识,并将分区信息和第一哈希值和产品ID保存在隐藏区的头部;
步骤A101之前,还可以包括:
驱动软件判断隐藏区的头部的产品ID是否与加密锁芯片的产品ID相同,如果是,执行步骤A101,如果否,拒绝操作。
在本实施例中,分区信息具体为:加密区、只读区和光盘区的容量大小和起始位置。
在本实施例中,步骤8之后还包括驱动软件初始化光盘区的数据的过程,包括如下步骤:
步骤A121,驱动软件调用第一操作系统函数,操作系统弹出驱动软件预置的光盘镜像文件路径输入对话框;
步骤A122,驱动软件从光盘镜像文件路径输入对话框获取光盘镜像文件路径,根据光盘镜像文件路径读取光盘镜像文件,将光盘镜像文件发送给加密锁芯片;
步骤A123,加密锁芯片使用预置密钥对光盘镜像文件加密得到加密的光盘镜像文件,并将加密的光盘镜像文件发送给驱动软件;
步骤A124,驱动软件调用第二操作系统函数将加密后的光盘镜像文件写入存储芯片上的隐藏区中的光盘区。
实施例2
本实施例提供了一种加密U盘系统的实现方法,其中,加密U盘系统包括加密U盘和驱动软件,加密U盘包括存储芯片和加密锁芯片,加密U盘系统的实现方法具体包括初始化加密U盘的过程和使用加密U盘的过程。
如图2-1所示,初始化加密U盘系统的过程包括如下步骤:
步骤201,安装和启动驱动软件,并和加密U盘相连接;
步骤202,驱动软件判断是否存在加密锁芯片,如果是,执行步骤203,如果否,结束;
具体的,在本步骤中,驱动软件调动SetupAPI系列函数遍历系统中的所有USB设备,从加密锁芯片中获取加密锁芯片的运营商代码编码和加密锁芯片的产品编码;判断获取的运营商代码编码和加密锁芯片的产品编码与主机中预先存储的运营商代码编码和加密锁芯片的产品编码是否相同,如果相同,则存在加密锁芯片,执行步骤203,如果否,则不存在加密锁芯片,结束。
具体的,在本步骤之后还可以包括,驱动软件与加密锁芯片之间进行密钥协商得到协商密钥。
具体的,驱动和加密锁芯片之间可以使用RSA算法与加密锁芯片进行密钥协商,得到协商密钥。
在本实施例中,在后续的加密锁芯片和驱动软件进行数据交互的任何步骤中,都可以使用得到的协商密钥进行两者之间数据传输的加解密操作。
步骤203,驱动软件判断是否存在存储芯片,如果是,执行步骤204,如果否,结束;
具体的,驱动软件判断是否存在存储芯片具体为:
驱动软件调用SetupAPI系列函数获取所有已连接操作系统的磁盘存储设备,之后依次使用DeviceIoControl函数向设备发送IOCTL_STORAGE_QUERY_PROPERTY指令,获取设备属性,最后取出设备属性为BusTypeUsb的设备既为已插入的存储芯片
步骤204,驱动软件对加密锁芯片进行初始化;
具体的,驱动软件对加密锁芯片进行初始化包括以下步骤:
步骤204-1,驱动软件登录加密锁芯片;
本步骤为:驱动软件根据预置的默认的加密锁芯片登录密码“FFFFFFFFFFFFFFFF”生成验证登录密码请求,并将验证登录密码请求发送给加密锁芯片。
具体的,验证登录密码码请求如下:
00 20 01 00 00 00 10 00 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46。
可选的,在本步骤中,验证密码请求的指令还可以使用得到协商的密钥进行加密后发送。
步骤204-2,加密锁芯片判断是否允许登录,如果是,执行步骤204-3,如果否,向驱动芯片发送报错信息,结束;
具体的,在本步骤中,加密锁芯片接收到驱动软件发送的验证登录密码请求,对验证登录密码请求中的加密锁芯片登录密码进行验证,判断加密锁芯片登录密码是否正确,如果是,向驱动软件返回加密锁芯片登录密码正确的响应,执行步骤204-3,如果否,向驱动芯片发送报错信息;
具体的,加密锁芯片接收到驱动软件发送的验证登录密码请求,判断验证登录密码请求中的加密锁芯片登录密码是否与加密锁芯片中存储的加密锁芯片登录密码是否相同,如果是,则向主机返回返回加密锁芯片登录密码正确的响应:0100 04 00 00 00 04 0000 00 90,执行步骤204-3,如果否,则向驱动软件加密锁芯片登录密码错误的响应:01 0002 00 00 00 02ff 68,结束;
其中,90表示验证正确的正确码;ff 68表示验证错误的错误码。
步骤204-3,驱动软件调用第一函数使操作系统弹出驱动软件预置的自定义种子码输入界面;
具体的,本步骤中,驱动软件软件调用CDialog类的DoModal函数,操作系统弹出驱动软件预置的自定义种子码输入界面;
步骤204-4,驱动软件从自定义种子码输入界面获取自定义种子码后,将自定义种子码发送给加密锁芯片;
具体的:自定义的种子码为:11 11 11 11 11 11 11 11 11 11 11 11 11 11 1111;
具体的,在本步骤中,驱动软件通过如下指令将操作系统发送的自定义种子码发送给加密锁芯片:00 15 00 00 00 00 10 0011 11 11 11 11 11 11 11 11 11 11 11 1111 11 11,其中11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11为16字节的种子码。
步骤204-5,加密锁芯片接收种子码,并将种子码存储在加密锁芯片中,根据自身存储的第一算法,对接收到种子码进行运算生成加密锁芯片的产品ID,并将产品ID保存到加密锁芯片内后,将产品ID发送给驱动软件;
具体的,本步骤可以为:加密锁芯片根据自身存储的第一算法:对接收到种子码,即16字节0x11进行运算,生成加密锁芯片的产品ID:AD797F47,并将产品ID保存到加密锁芯片中,将产品ID通过如下指令发送给驱动软件:
47 7f 79 ad 31 42 43 34 35 42 41 46 34 44 39 44 35 31 30 3137 f7 e559 14 00 00 90 00。
步骤205,驱动软件向加密锁芯片发送预置密钥生成指令;
具体的,驱动软件存储有生成预置密钥所需要的参数,在本步骤中,驱动软件将包含生成预置密钥所需要的参数的预置密钥生成指令发送给加密锁芯片;
具体的,驱动软件向加密锁芯片发送的预置密钥生成指令如下:
00 48 00 00 00 00 06 00 46 54 44 49 53 4b。
其中,生成预置密钥所需要的参数为46 54 44 49 53 4b。
步骤206,加密锁芯片生成预置密钥,并将生成的预置密钥发送给驱动软件。
具体的,在本步骤中,加密锁芯片根据第二算法、种子码和接收到的生成预置密钥所需要的参数生成预置密钥,并将生成的预置密钥发送给驱动软件。
具体的,加密锁芯片向驱动软件返回响应数据:00 51 9a f0 16 40 7f 1a c7 e655 e1 e5 7f 67 48 10 00 00 90 00,其中预置密钥为:00 51 9a f0 16 40 7f 1a c7 e655 e1 e5 7f 67 48,90 00为成功码。
步骤207,驱动软件将加密锁芯片生成的预置密钥写入加密锁芯片中;
具体的,本步骤包括以下步骤:
步骤207-1,驱动软件向加密锁芯片发送创建密钥保存文件指令,
在本步骤中,驱动软件向加密锁芯片发送创建密钥保存文件指令,将密钥保存文件标识发送给加密锁芯片,
具体的,驱动软件向加密锁芯片发送如下指令:
00 30 04 00 33 33 08 00 10
其中,密钥保存文件的标识:为0x3333;
步骤207-2,加密锁芯片创建密钥保存文件,向驱动软件发送密钥保存文件创建成功的响应;
具体的,在本步骤中,加密锁芯片根据创建密钥保存文件指令中的密钥保存文件标识创建密钥保存文件,向驱动软件发送密钥保存文件创建成功的响应;
具体的,在本步骤中,加密锁芯片向驱动软件发送密钥保存文件创建成功的响应为:0100 04 00 00 00 04 00 00 00 90,其中90为创建成功的成功码。
步骤207-3,驱动软件向加密锁芯片发送写预置密钥指令;
具体的,驱动软件向加密锁芯片发送的写预置密钥指令为:
00 32 04 00 33 33 16 00 00 00 00 00 10 00 00 51 9a f0 16 40 7f 1a c7e6 55e1 e5 7f 67 48;
其中0033为预置密钥所要写入的密钥保存文件的标识,00 51 9a f0 16 40 7f1a c7 e6 55 e1 e5 7f 67 48为预置密钥。
步骤207-4,加密锁芯片将预置密钥写入密钥保存文件中,并向驱动软件发送预置密钥写成功的响应。
具体的,在本步骤中,预置密钥写成功的响应为:0100 04 00 00 00 04 00 00 0090,其中90为写成功的成功码。
步骤208,驱动软件调用操作系统函数操作系统弹出驱动软件预置的分区信息设置界面;
在本实施例中,本步骤可以为驱动软件调用操作系统CDialog类的DoModal函数操作系统弹出驱动软件预置的分区信息设置界面;
具体的,分区信息设置界面包括可填入的加密区、只读区和光盘区的容量大小输入框;
在本实施例中,在本步骤中弹出用户自定义分区信息设置界面后还可以包括:驱动软件对加密U盘进行格式化。
步骤209,驱动软件从分区信息设置界面获取分区信息;
步骤210,驱动软件在加密U盘的存储芯片上划分出隐藏区,并根据获取的分区信息将隐藏区按照加密区、只读区和光盘区进行划分;
具体的,在本步骤中,驱动软件在加密U盘的存储芯片上划分出隐藏区,并根据用户在自定义分区信息设置界面上输入的数据,将隐藏区相应的划分出加密区、光盘区和只读区;
在本实施例中,本步骤可以包括如下步骤:
步骤210-1,驱动软件根据分区信息中的加密区、只读区和光盘区的容量大小,计算加密区、只读区和光盘区3个分区以MB为单位的总容量;
步骤210-2,驱动软件根据三个区的总容量转化为扇区数(MB*1024*1024/512),并增加1个分区表所占扇区,得到隐藏区总扇区容量大小;
步骤210-3,驱动软件调用ReadFile函数读取存储芯片前512字节即主引导记录,在主引导记录中找到446字节位置的保存的区信息表,解析区信息表。
步骤210-4,驱动软件从区信息表的第2、3、4字节获取分区起始磁头扇区柱面,在第6、7、8字节获取分区结束磁头扇区柱面,得到存储芯片当前分区的总扇区数量,将当前分区的总扇区数量减去隐藏区的扇区数后的得到的扇区数作为存储芯片新分区的扇区总数;
在本步骤中,优选的,还可以将当前分区的总扇区数量减去隐藏区的扇区数后再减去2048扇区数后得到的扇区数作为存储芯片新分区的扇区总数;
步骤210-5,驱动软件计算存储芯片新分区的终止逻辑扇区和终止逻辑扇区终止磁头,扇区和柱面把终止磁头、扇区、柱面的信息写到分区信息第6、7、8字节,并在第13字节写入4字节的新分区总扇区的数量。
步骤211,驱动软件调用操作系统函数,操作系统弹出驱动软件预置的加密区密码设置界面;
具体的,在本步骤中,驱动软件调用操作系统的CDialog类的DoModal函数,操作系统弹出驱动软件预置的加密区密码设置界面。
步骤212,驱动软件从加密区密码设置页面获取用户输入的加密区密码;
具体的,在本实施例中,驱动软件获取的加密区密码为:123456。
步骤213,驱动软件调用加密锁芯片对加密区密码使用预置密钥和第三算法进行加密得到第一加密数据,并对第一加密数据进行哈希运算,得到第一哈希值;
具体的,本步骤可以包括:
213-1,驱动软件将候加密区密码:“123456”,并向加密锁芯片发送加密区密码加密指令:
00 47 00 00 33 33 10 00 31 32 33 34 35 36;
其中,加密区密码加密指令中:00 47表示所要使用的算法,在本实施例中为存储在加密锁芯片中预置的第三算法,33 33表示所要使用的预置密钥所在的密钥保存文件的标识,31 32 33 34 35 36为加密区密码;
步骤213-2,加密锁芯片使用加密区密码加密指令中指定的存储在3333密钥存储文件标识中的预置密钥和加密所芯片预置的第三算法对加密区密码进行加密得到第一加密数据:
6c 76 71 cf 8f a8 c5 69 9d 5d 49 1c 37 35 72 e1;
并将第一加密数据返回给驱动软件。
步骤213-3,驱动软件接收到第一加密数据后,向加密锁芯片发送哈希计算指令;
具体的,在本步骤中,驱动软件向加密所发送哈希计算指令:
步骤213-4,加密锁芯片对第一加密数据进行哈希运算,得到第一哈希值。
具体的,加密芯片接收到哈希计算指令后,对第一加密数据进行哈希计算,得到第一哈希值:
4b 1c da 92 f8 eb dc 5d fb 42 1d 01 e1 e2 ab 97;
步骤213-5,加密锁芯片向驱动软件返回第一哈希值。
步骤214,驱动软件调用操作系统数,将存储芯片隐藏区的头部添加隐藏区标识,并将加密区、只读区和光盘区的容量大小、起始位置、第一哈希值和产品ID保存在隐藏区的头部;结束。
在本实施例中,本步骤具体可以为:驱动软件调用操作系统的WriteFile函数,将隐藏区的第一扇区写入自定义的分区表。其中,自定义分区表包含如下内容:
第1字节到第4字节为隐藏区标识字段;
第5字节到第8字节为产品ID字段;
第9字节到第12字节为加密区的起始位置;
第13字节到第16字节为加密区的容量大小;
第17字节到第20字节为光盘区的起始位置;
第21字节到第24字节为光盘区的容量大小;
第25字节到第28字节为只读区的起始位置;
第29字节到第32字节为只读区的容量大小;
第33到第48字节为第一哈希值。
在本实施例中,步骤214之后还可以包括:驱动软件初始化存储芯片的隐藏区的光盘区数据的过程。
驱动软件初始化加密U盘上光盘区的数据,包括如下步骤:
驱动软件调用CDialog类的DoModal函数,操作系统弹出驱动软件预置的光盘镜像文件路径输入对话框,驱动软件获取到用户输入的光盘镜像文件路径后,根据光盘镜像文件路径读取光盘镜像文件,将光盘镜像文件发送给加密锁芯片,加密锁芯片使用预置的第三算法以及预置密钥对光盘镜像文件加密,并将加密后的光盘镜像文件发送给驱动软件,驱动软件调用操作系统的WriteFile函数将加密后的光盘镜像文件写入存储芯片上的隐藏区中的光盘区。
如图2-2所示,使用加密U盘的过程包括:安装驱动软件并启动后,和加密U盘连接后执行如下步骤:
步骤301,驱动软件调用操作系统函数,判断是否存在加密锁芯片和隐藏区标识,如果是,执行步骤303,如果否,结束;
具体的,在本步骤中,驱动软件调用操作系统的ReadFile函数,判断是否存在加密锁芯片的过程与步骤202相同,不再赘述。
判断是否存在隐藏区标识的过程具体可以为:
驱动软件调用操作系统的ReadFile函数读取存储芯片第一扇区中主引导记录内容,在第452字节的位置,获取普通U盘分区结束位置,进而获取隐藏区所在扇区位置。驱动软件调用操作系统的ReadFile函数读取隐藏区的第一扇区,判断前4字节标识是否与预置的字节相同,如果是,则存在隐藏区标识,如果否,则不存在隐藏区标识。
步骤302,驱动软件向加密锁芯片发送获取产品ID的指令;
步骤303,加密锁芯片向驱动软件返回产品ID;
步骤304,驱动软件判断产品ID是否合法,如果是,执行步骤305,如果否,结束;
具体的,在本步骤中,驱动软件获取加密U盘中存储芯片的隐藏区中头部的产品ID,判断隐藏区头部的产品ID和从加密锁芯片获取的产品ID是否相同,如果是,执行步骤305,如果否,结束;
具体的,在本实施例中,驱动软件读取加密U盘中存储芯片的隐藏区中中第一扇区,获取第一扇区的第4-8字节即为产品ID。
驱动软件判断隐藏区头部的产品ID和从加密锁芯片获取的产品ID是否相同,如果是,执行步骤305,如果否,结束;
步骤305,驱动软件生成加密区虚拟盘符、只读区虚拟盘符和光盘区虚拟盘符并映射;
具体的,步骤305包括如下步骤:
步骤A1,驱动软件调用Readfile函数读取存储芯片隐藏区第一扇区,读取分区信息;
具体的,在本步骤中,驱动软件调用Readfile函数获取加密区、只读区和光盘区的容量大小;
步骤A2,驱动软件依据分区信息,创建预置设备类型的设备对象。
具体的,在本步骤中,驱动软件根据获取的加密区、只读区和光盘区的容量大小,按照容量大小不为0的各个分区,调用操作系统的IoCreateDeviceSecure函数按照预置的设备类型,即加密区、只读区和光盘区,创建设备对象,即加密区设备对象、只读区设备对象和光盘区设备对象,并根据获取的分区信息中的分区的容量大小以及预置的设类型属性如光驱属性或者只读属性对相应设备对象进行设置。
具体的,在本实施例中,驱动软件在创建设备对象时,对相应的设备对象属性进行设置具体为即将光盘区设备对象的属性设置为光盘驱动器、将加密区设备对象的属性设置为标准磁盘驱动、将只读区设备对象的属性设置为标准磁盘驱动器,并且添加了只读属性。
步骤A3,驱动软件根据设备对象创建虚拟盘符,并将虚拟盘符与设备对象绑定。
具体的,在本实施例中,驱动软件调用DefineDosDevice函数创建与步骤A2中创建的设备对象创建对应的虚拟驱动器盘符并将设备对象与其对应的虚拟驱动器盘符进行绑定;
具体的,驱动软件调用DefineDosDevice函数创建3个虚拟驱动器盘符,即:加密区虚拟盘符、光盘区虚拟盘符和只读区虚拟盘符。其中,加密区虚拟盘符对应加密区设备对象,光盘区虚拟盘符对应了光盘区设备对象,只读区虚拟盘符对应了只读区设备对象;
在本步骤中,当完成绑定后,用户对虚拟盘符的操作会被操作系统发送给对应的设备对象,因此在后续对存储芯片的读写操作中,设备对象将接管对应虚拟器盘符的打开、读、写等操作,并在进行读写操作时候使用加密锁芯片进行加解密操作。
步骤306,驱动软件等待接收用户对虚拟驱动器盘符的操作,如果是加密区盘符操作,则执行步骤307,如果是光盘区盘符操作,则执行步骤310,如果是只读区盘符操作,则执行步骤311。
步骤307,驱动软件调用操作系统函数,操作系统弹出驱动软件预置的加密区密码验证界面;
具体的,在本步骤中,驱动软件调用CDialog类的DoModal函数,操作系统弹出驱动软件预置的加密区密码验证界面。
步骤308,驱动软件从加密区密码验证界面获取加密区密码,判断获取的加密区密码是否正确,如果是,执行步骤309,如果否,拒绝操作;
具体的,在本步骤中,驱动软件从加密区密码验证界面输入获取加密区密码后,读取存储芯片隐藏区的的第一哈希值;驱动软件将获取的加密区密码使用加密锁芯片的第三算法进行加密得到第二加密数据,并对第二加密数据进行哈希运算,得到第二哈希值,判断第二哈希值是否与第一哈希值相同,如果是,则用户输入的加密区密码正确,执行步骤,如果否,拒绝操作;
步骤309,驱动软件判断接收到的指令的类型,如果为读指令,驱动软件从加密区读取数据,并调用加密锁芯片中的预置密钥和第三算法对读取的数据进行解密操作;如果为写指令,驱动软件调用加密锁芯片中的预置密钥和第三算法对写入的数据进行加密操作后,将加密后的数据写入加密区;
具体的,在本步骤中,如果为读指令,驱动软件从操作系统读指令的Irp数据结构中获取Parameters.Read.ByteOffset字段表示的读取偏移地址,将隐藏区保存的加密区起始地址与读取偏移地址相加得到要读取的数据在存储芯片中对应的地址。从操作系统读指令的Irp数据结构中获取Parameters.Read.Length字段表示的要读取的数据长度,从存储芯片中对应的地址读取所需长度的数据,驱动软件调用加密锁芯片中的预置密钥和第三算法对从加密区中读取到的数据进行解密操作,将解密后的数据保存在数据缓冲区,并在读指令的响应中的Irp数据结构中MdlAddress字段写入解密后的数据在的数据缓冲区中的保存地址,将读指令的响应返回给操作系统;
如果为写指令,驱动软件首先从操作系统写入指令的Irp数据结构中获取Parameters.Write.Length字段表示的要写入的数据长度,操作系统写入指令的Irp数据结构中MdlAddress字段表示的数据缓冲区中得到需要写入的数据,驱动软件调用加密锁芯片中的预置密钥和第三算法对写入的数据进行加密操作后,操作系统写入指令的Irp数据结构中获取parameters.Write.ByteOffset字段表示的写入偏移地址,将隐藏区保存的加密区起始地址与写入偏移地址相加得到要写入的数据在存储芯片中对应的地址,在存储芯片中对应的数据地址写入对应长度的数据。
步骤310,驱动软件判断接收到的指令的类型,如果为读指令,驱动软件读取光盘数据,并调用加密锁芯片中的预置密钥和第三算法对读取的光盘数据进行解密操作;如果为写指令,拒绝操作;
具体的,在本步骤中,如果为读指令,驱动软件首先从操作系统读指令的Irp数据结构中获取Parameters.Read.ByteOffset字段表示的读取偏移地址,将隐藏区保存的光盘区的起始地址与读取偏移地址相加得到要读取的数据在存储芯片中对应的地址。从操作系统读指令的Irp数据结构中获取Parameters.Read.Length字段获取要读取的数据长度,从存储芯片中对应的地址读取所需长度的数据,驱动软件调用加密锁芯片中的预置密钥和第三算法对从光盘区中读取到的数据进行解密操作,将解密后的数据保存在数据缓冲区,并在读指令的响应中的Irp数据结构中MdlAddress字段写入解密后的数据在的数据缓冲区中的保存地址,将读指令的响应返回给操作系统;
步骤311,驱动软件判断接收到的指令的类型,如果为读指令,驱动软件从只读区读取数据,驱动软件调用加密锁芯片中的预置密钥和第三算法对读取的数据进行解密操作;如果为写指令,拒绝操作。
具体的,在本步骤中,如果为读指令,驱动软件首先从操作系统读指令的Irp数据结构中获取Parameters.Read.ByteOffset字段表示的读取偏移地址,将隐藏区保存的只读区的起始地址与读取偏移地址相加得到要读取的数据在存储芯片中对应的地址。从操作系统读指令的Irp数据结构中获取Parameters.Read.Length字段表示的要读取的数据长度,从存储芯片中对应的地址读取所需长度的数据,驱动软件调用加密锁芯片中的预置密钥和第三算法对从光盘区中读取到的数据进行解密操作,将解密后的数据保存在数据缓冲区,并在读指令的响应中的Irp数据结构中MdlAddress字段写入解密后的数据在的数据缓冲区中的保存地址,将读指令的响应返回给操作系统;
如果为写指令,驱动软件在写指令的响应中的Irp结构中的IoStatus.Status字段中写入STATUS_MEDIA_WRITE_PROTECTED错误码,表示拒绝操作,并将写指令的响应返回给操作系统。
具体的,在本步骤中,如果为写指令,拒绝操作还可以被替换为:如果为写指令,驱动软件获取只读区的设备对象,将只读区的设备对象的只读属性删除,调用加密锁芯片中的预置密钥和第三算法对要写入加密区的数据进行加密操作写入只读区。
具体的,在本实施例中,在初始化加密U盘的过程中:在步骤211之前或者步骤214之后,还可以包括:
步骤C1,驱动软件调用操作系统的CDialog类的DoModal函数,操作系统弹出驱动软件预置的只读区权限密码设置界面;
步骤C2,驱动软件从加密区密码设置页面获取用户输入的只读区权限密码;
步骤C3,驱动软件调用加密锁芯片对只读区权限密码使用预置密钥和第三算法进行加密得到第三加密数据,并对第三加密数据进行哈希运算,得到第三哈希值;
步骤214具体为:驱动软件调用操作系统的WriteFile函数,将存储芯片隐藏区的头部添加隐藏区标识,并将加密区、只读区和光盘区的容量大小、起始位置、第一哈希值、第三哈希值和产品ID保存在隐藏区的头部;结束。
上述步骤311中,如果驱动软件接收到写指令,则执行如下步骤:
步骤D1,驱动软件调用CDialog类的DoModal函数,操作系统弹出驱动软件预置的只读区权限密码验证界面;
步骤D2,驱动软件从只读区权限密码验证界面获取只读区权限密码,判断获取的只读区权限密码是否正确,如果是,执行步骤D3,如果否,拒绝操作;
具体的,在本步骤中,驱动软件从只读区权限密码验证界面输入获取只读区权限密码后,读取存储芯片隐藏区的的第三哈希值;驱动软件将获取的只读区权限密码使用加密锁芯片的第三算法进行加密得到第四加密数据,并对第四加密数据进行哈希运算,得到第四哈希值,判断第四哈希值是否与第三哈希值相同,如果是,则用户输入的只读区权限密码正确,执行步骤D3,如果否,拒绝操作;
步骤D3,驱动软件获取只读区的设备对象,将只读区的设备对象的只读属性删除,调用加密锁芯片中的预置密钥和第三算法对要写入加密区的数据进行加密操作写入只读区。
实施例3
本实施例提供了一种加密U盘系统,如图3所示,加密U盘系统包括加密U盘31和驱动模块32,加密U盘31包括存储芯片311和加密锁芯片312,
驱动模块32包括:
启动单元320,用于启动驱动模块32;
连接单元321,用于和加密U盘建立连接;
读取单元322,用于读取存储芯片的隐藏区的分区信息;
创建绑定单元323,用于根据读取单元322读取的分区信息创建预置设备类型的设备对象,根据设备对象创建虚拟盘符,并将虚拟盘符与设备对象绑定;
映射单元324,用于创建绑定单元323将虚拟盘符与设备对象绑定后映射虚拟盘符;
操作调用单元325,用于等待操作系统对设备对象的操作,
如果操作系统对设备对象的操作为操作系统对加密区设备对象操作,用于调用第一操作系统函数,使操作系统弹出加密区密码验证界面;
获取单元326,用于从加密区密码验证界面获取加密区验证密码;
第一判断单元327,用于判断获取单元326获取的加密区验证密码是否正确;
第二判断单元328,用于当第一判断单元327判断获取单元326获取的加密区验证密码正确后,判断接收到的指令类型;
第三判断单元329,用于如果操作系统对设备对象的操作为操作系统对光盘区设备对象操作或者操作系统对只读区设备对象操作,判断接收到的指令类型;
映射读取单元330,用于当第二判断单元328判断接收到的指令类型为读指令时,根据读指令中的第一地址映射存储芯片中的读取地址,读取数据;还用于当第三判断单元329判断接收到的指令类型为读指令时,根据读指令中的第一地址映射存储芯片中的读取地址,读取数据;
第一调用单元331,用于调用加密锁芯片312对读取的数据解密得到解密的读取数据;
返回单元332,用于将调用单元得到的解密的读取数据返回给操作系统;
第二调用单元333,用于调用加密锁芯片312对要写入的数据进行加密得到加密的写入数据;
映射写入单元334,用于当第二判断单元328判断接收到的指令类型为写指令时,根据写指令中的第二地址映射存储芯片中的写入地址,写入加密的写入数据;
拒绝单元335,用于当第三判断单元329判断接收到的指令类型为写指令时,拒绝操作;
加密锁芯片312,用于对映射读取单元330读取的数据进行解密得到解密的读取数据,还用于对映射写入单元334要写入的数据进行加密得到加密的写入数据。
在本实施例中,驱动模块32还包括:
第四判断单元,用于判断是否存在隐藏区标识;
读取单元322具体用于当第四判断单元的判断结果为是时,读取存储芯片的隐藏区的分区信息;
拒绝单元335,还用于当第四判断单元的判断结果为否时,拒绝操作。
在本实施例中,驱动模块32还包括:
第一调用保存单元,用于调用加密锁芯片312生成预置密钥并将预置密钥保存到加密锁芯片312中;
第一调用弹出单元,用于调用第一操作系统函数,使操作系统弹出驱动软件预置的分区信息设置界面;
划分单元,用于根据获取单元326获取的分区信息将隐藏区按照加密区,只读区和光盘区进行划分;
第二调用弹出单元,用于调用第一操作系统函数,使操作系统弹出驱动软件预置的加密区密码设置界面;
获取单元326,还用于从分区信息设置界面获取分区信息;还用于从加密区密码设置界面获取加密区密码;
生成单元,用于根据加密区密码和预置密钥生成第一哈希值;
第二调用保存单元,用于调用第二操作系统函数,在隐藏区的头部添加隐藏区标识,并将分区信息和第一哈希值保存在隐藏区的头部;
创建绑定单元323具体用于根据分区信息创建加密区设备对象、只读区设备对象和光盘区设备对象,根据加密区设备对象创建加密区虚拟盘符并绑定,根据只读区设备对象创建只读区虚拟盘符并绑定,根据光盘区设备创建光盘区虚拟盘符并绑定;
映射单元324具体用于映射加密区虚拟盘符、只读区虚拟盘符和光盘区虚拟盘符;
第一判断单元327具体用于根据隐藏区的头部保存的第一哈希值判断加密区验证密码是否正确。
在本实施例中,驱动模块32还包括:
第三调用弹出单元,用于调用第一操作系统函数,使操作系统弹出驱动软件预置的只读区权限设置界面;
获取单元326还用于从只读区权限设置界面获取只读区权限设置密码;
生成单元还用于根据只读区权限设置密码和预置密钥生成第三哈希值;
第二调用保存单元具体用于在隐藏区的头部添加隐藏区标识,并将分区信息、第一哈希值和第三哈希值保存在隐藏区的头部;
创建绑定单元323具体用于根据只读区设备对象创建只读区虚拟盘符并绑定具体为:根据只读区设备对象创建只读区虚拟盘符并绑定并向只读区添加只读属性;
当第三判断单元329判断操作系统对设备对象的操作为操作系统对光盘区设备对象操作时,拒绝单元335被替换为:
第四调用弹出单元,用于调用第一操作系统函数,操作系统弹出只读区权限设置密码验证界面;
获取读取单元322还用于从只读区权限设置密码验证界面获取只读区权限设置密码,读取隐藏区的头部中的第三哈希值;
第五判断单元,用于根据第三哈希值判断只读区权限设置密码是否正确;
删除单元用于当第五判断单元的判断结果为是时,将只读区设备对象的只读属性删除;
映射写入单元334,还用于当第二判断单元328判断接收到的指令类型为写指令时且删除单元将只读区设备对象的只读属性删除后,根据写指令中的第二地址映射存储芯片中的写入地址,写入加密的写入数据;
拒绝单元335还用于当第五判断单元的判断结果为否时,拒绝操作。
在本实施例中,驱动模块32还包括:
第五调用弹出单元,用于调用第一操作系统函数,操作系统弹出驱动软件预置的自定义种子码输入界面;
获取单元326还用于从自定义种子码输入界面获取种子码,并将种子码发送给加密锁芯片312;
第二调用保存单元具体用于在隐藏区的头部添加隐藏区标识,并将分区信息和第一哈希值和产品ID保存在隐藏区的头部;
第五判断单元用于判断隐藏区的头部的产品ID是否与加密锁芯片312的产品ID相同;
读取单元322具体用于当第五判断单元的判断结果为是时,读取存储芯片的隐藏区的分区信息;
拒绝单元335,还用于当第五判断单元的判断结果为否时,拒绝操作;
加密锁芯片321还用于对种子码进行运算生成加密锁芯片312的产品ID并保存;还用于将生成保存单元生成的产品ID发送给驱动模块32。
在本实施例中,分区信息具体为:加密区、只读区和光盘区的容量大小和起始位置。
在本实施例中,驱动模块32还包括:
第六调用弹出单元,用于调用第一操作系统函数使操作系统弹出驱动软件预置的光盘镜像文件路径输入对话框;
获取单元326还用于从光盘镜像文件路径输入对话框获取光盘镜像文件路径;
读取发送单元用于根据光盘镜像文件路径读取光盘镜像文件,将光盘镜像文件发送给加密锁芯片312;
调用写入单元用于调用第二操作系统函数将加密的光盘镜像文件写入存储芯片上的隐藏区中的光盘区;
加密锁芯片312还用于使用所述预置密钥对光盘镜像文件加密得到加密的光盘镜像文件,并将加密的光盘镜像文件发送给驱动软件。
以上所述,仅为本发明较佳的具体实施方法,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种加密U盘系统的实现方法,其特征在于,所述加密U盘系统包括加密U盘和驱动软件,所述加密U盘包括存储芯片和加密锁芯片,所述方法包括使用所述加密U盘的过程,
使用所述加密U盘的过程,包括如下步骤:
步骤100,启动所述驱动软件后,和所述加密U盘建立连接;
步骤101,所述驱动软件读取隐藏区的分区信息,根据所述分区信息创建预置设备类型的设备对象,根据所述设备对象创建虚拟盘符,并将所述虚拟盘符与所述设备对象绑定后映射所述虚拟盘符;
步骤102,所述驱动软件等待操作系统对所述设备对象的操作,如果所述操作系统对所述设备对象的操作为所述操作系统对加密区设备对象操作,执行步骤103,如果所述操作系统对所述设备对象的操作为所述操作系统对光盘区设备对象操作或者所述操作系统对只读区设备对象操作,执行步骤106;
步骤103,所述驱动软件调用第一操作系统函数,所述操作系统弹出加密区密码验证界面;
步骤104,所述驱动软件从所述加密区密码验证界面获取加密区验证密码,判断所述加密区验证密码是否正确,如果是,执行步骤105,如果否,结束;
步骤105,所述驱动软件判断接收到的指令类型,
如果是读指令,所述驱动软件根据所述读指令中的第一地址映射所述存储芯片中的读取地址,读取数据,调用所述加密锁芯片对所述读取的数据解密得到解密的读取数据,将所述解密的读取数据返回给所述操作系统;
如果为写指令,所述驱动软件调用所述加密锁芯片对要写入的数据进行加密得到加密的写入数据,根据所述写指令中的第二地址映射所述存储芯片中的写入地址,写入所述加密的写入数据;
步骤106,所述驱动软件判断接收到的指令类型,
如果是读指令,所述驱动软件根据所述读指令中的第一地址映射所述存储芯片中的读取地址,读取数据,调用所述加密锁芯片对所述读取的数据解密后返回给所述操作系统;
如果为写指令,拒绝操作;
使用所述加密U盘的过程之前还包括初始化所述加密U盘的过程,包括如下步骤:
步骤1,启动所述驱动软件,和所述加密U盘建立连接;
步骤2,所述驱动软件调用所述加密锁芯片生成预置密钥并将所述预置密钥保存到所述加密锁芯片中;
步骤3,所述驱动软件调用第一操作系统函数,所述操作系统弹出驱动软件预置的分区信息设置界面;
步骤4,所述驱动软件从所述分区信息设置界面获取分区信息;
步骤5,所述驱动软件在所述存储芯片上划分隐藏区,并根据所述分区信息将所述隐藏区按照加密区,只读区和光盘区进行划分;
步骤6,所述驱动软件调用第一操作系统函数,操作系统弹出所述驱动软件预置的加密区密码设置界面;
步骤7,所述驱动软件从所述加密区密码设置界面获取加密区密码,根据所述加密区密码和所述预置密钥生成第一哈希值;
步骤8,所述驱动软件调用第二操作系统函数,在所述隐藏区的头部添加隐藏区标识,并将所述分区信息和所述第一哈希值保存在所述隐藏区的头部;
所述步骤101具体为:所述驱动软件读取所述存储芯片的所述隐藏区的所述分区信息,根据所述分区信息创建加密区设备对象、只读区设备对象和光盘区设备对象,根据所述加密区设备对象创建加密区虚拟盘符并绑定,根据所述只读区设备对象创建只读区虚拟盘符并绑定,根据所述光盘区设备创建光盘区虚拟盘符并绑定,映射所述加密区虚拟盘符、所述只读区虚拟盘符和所述光盘区虚拟盘符;
所述步骤104中所述驱动软件从所述加密区密码验证界面获取加密区验证密码,判断所述加密区验证密码是否正确具体为:所述驱动软件根据所述隐藏区的头部保存的所述第一哈希值判断所述加密区验证密码是否正确;
所述步骤6和步骤7之前或者所述步骤6和步骤7之后还可以包括:
步骤6’,所述驱动软件调用第一操作系统函数,操作系统弹出所述驱动软件预置的只读区权限设置界面;
步骤7’,所述驱动软件从所述只读区权限设置界面获取只读区权限设置密码,根据所述只读区权限设置密码和所述预置密钥生成第三哈希值;
所述步骤8具体为:所述驱动软件在所述隐藏区的头部添加隐藏区标识,并将所述分区信息、所述第一哈希值和所述第三哈希值保存在所述隐藏区的头部;
所述步骤101中,根据所述只读区设备对象创建只读区虚拟盘符并绑定具体为:根据所述只读区设备对象创建只读区虚拟盘符并绑定并向只读区添加只读属性;
所述步骤102中,如果所述操作系统对所述设备对象的操作为所述操作系统对所述操作系统对只读区设备对象操作,所述步骤106中,如果为写指令,拒绝操作可以被替换为:如果为写指令,所述驱动软件调用所述第一操作系统函数,操作系统弹出只读区权限设置密码验证界面,所述驱动软件从所述只读区权限设置密码验证界面获取只读区权限设置密码,读取所述隐藏区的头部中的所述第三哈希值,根据所述第三哈希值判断所述只读区权限设置密码是否正确,如果是,所述驱动软件将所述只读区设备对象的只读属性删除,所述驱动软件调用所述加密锁芯片对要写入的数据进行加密得到加密的写入数据,根据所述写指令中的第二地址映射所述存储芯片的所述只读区的写入地址,写入所述加密的写入数据;如果否,拒绝操作。
2.如权利要求1所述方法,其特征在于,所述步骤101之前还包括:
所述驱动软件判断是否存在隐藏区标识,如果是,执行步骤101,如果否,拒绝操作。
3.如权利要求1所述方法,其特征在于,所述步骤2之前还包括所述驱动软件对所述加密锁芯片进行初始化的过程,具体包括:
步骤2’-1, 所述驱动软件调用所述第一操作系统函数,操作系统弹出驱动软件预置的自定义种子码输入界面;
步骤2’-2,所述驱动软件从所述自定义种子码输入界面获取种子码,并将所述种子码发送给所述加密锁芯片;
步骤2’-3,所述加密锁芯片对所述种子码进行运算生成加密锁芯片的产品标识并保存后,将所述产品标识发送给驱动软件;
所述步骤8具体为:所述驱动软件在所述隐藏区的头部添加隐藏区标识,并将所述分区信息和所述第一哈希值和所述产品标识保存在所述隐藏区的头部;
所述步骤101之前,还可以包括:
所述驱动软件判断所述隐藏区的头部的产品标识是否与所述加密锁芯片的产品标识相同,如果是,执行步骤101,如果否,拒绝操作。
4.如权利要求1所述方法,其特征在于,所述分区信息具体为:所述加密区、所述只读区和所述光盘区的容量大小和起始位置。
5.如权利要求1所述方法,其特征在于,所述步骤8之后还包括驱动软件初始化所述光盘区的数据的过程,包括如下步骤:
步骤121,所述驱动软件调用所述第一操作系统函数,所述操作系统弹出驱动软件预置的光盘镜像文件路径输入对话框;
步骤122,所述驱动软件从所述光盘镜像文件路径输入对话框获取光盘镜像文件路径,根据所述光盘镜像文件路径读取光盘镜像文件,将光盘镜像文件发送给加密锁芯片;
步骤123,所述加密锁芯片使用所述预置密钥对光盘镜像文件加密得到加密的光盘镜像文件,并将所述加密的光盘镜像文件发送给驱动软件;
步骤124,所述驱动软件调用第二操作系统函数将加密后的光盘镜像文件写入存储芯片上的隐藏区中的光盘区。
6.一种加密U盘系统,其特征在于,所述加密U盘系统包括加密U盘和驱动模块,所述加密U盘包括存储芯片和加密锁芯片;
所述驱动模块包括:
启动单元,用于启动所述驱动模块;
连接单元,用于和所述加密U盘建立连接;
读取单元,用于读取所述存储芯片的隐藏区的分区信息;
创建绑定单元,用于根据所述读取单元读取的所述分区信息创建预置设备类型的设备对象,根据所述设备对象创建虚拟盘符,并将所述虚拟盘符与所述设备对象绑定;
映射单元,用于所述创建绑定单元将所述虚拟盘符与所述设备对象绑定后映射所述虚拟盘符;
操作调用单元,用于等待操作系统对所述设备对象的操作,
如果所述操作系统对所述设备对象的操作为所述操作系统对加密区设备对象操作,用于调用第一操作系统函数,使所述操作系统弹出加密区密码验证界面;
获取单元,用于从所述加密区密码验证界面获取加密区验证密码;
第一判断单元,用于判断所述获取单元获取的所述加密区验证密码是否正确;
第二判断单元,用于当所述第一判断单元判断所述获取单元获取的所述加密区验证密码正确后,判断接收到的指令类型;
第三判断单元,用于如果所述操作系统对所述设备对象的操作为所述操作系统对光盘区设备对象操作或者所述操作系统对只读区设备对象操作,判断接收到的指令类型;
映射读取单元,用于当所述第二判断单元判断接收到的指令类型为读指令时,根据所述读指令中的第一地址映射所述存储芯片中的读取地址,读取数据;还用于当所述第三判断单元判断接收到的指令类型为读指令时,根据所述读指令中的第一地址映射所述存储芯片中的读取地址,读取数据;
第一调用单元,用于调用所述加密锁芯片对所述读取的数据解密得到解密的读取数据;
返回单元,用于将所述调用单元得到的所述解密的读取数据返回给所述操作系统;
第二调用单元,用于调用所述加密锁芯片对要写入的数据进行加密得到加密的写入数据;
映射写入单元,用于当所述第二判断单元判断接收到的指令类型为写指令时,根据所述写指令中的第二地址映射所述存储芯片中的写入地址,写入所述加密的写入数据;
拒绝单元,用于当所述第三判断单元判断接收到的指令类型为写指令时,拒绝操作;
所述加密锁芯片,用于对所述映射读取单元读取的数据进行解密得到所述解密的读取数据,还用于对映射写入单元要写入的数据进行加密得到加密的写入数据;
所述驱动模块还包括:
第一调用保存单元,用于调用所述加密锁芯片生成预置密钥并将所述预置密钥保存到所述加密锁芯片中;
第一调用弹出单元,用于调用第一操作系统函数,使所述操作系统弹出驱动软件预置的分区信息设置界面;
划分单元,用于根据所述获取单元获取的所述分区信息将所述隐藏区按照加密区,只读区和光盘区进行划分;
第二调用弹出单元,用于调用第一操作系统函数,使所述操作系统弹出所述驱动软件预置的加密区密码设置界面;
所述获取单元,还用于从所述分区信息设置界面获取分区信息;还用于从所述加密区密码设置界面获取加密区密码;
生成单元,用于根据所述加密区密码和所述预置密钥生成第一哈希值;
第二调用保存单元,用于调用第二操作系统函数,在所述隐藏区的头部添加隐藏区标识,并将所述分区信息和所述第一哈希值保存在所述隐藏区的头部;
所述创建绑定单元具体用于根据所述分区信息创建加密区设备对象、只读区设备对象和光盘区设备对象,根据所述加密区设备对象创建加密区虚拟盘符并绑定,根据所述只读区设备对象创建只读区虚拟盘符并绑定,根据所述光盘区设备创建光盘区虚拟盘符并绑定;
所述映射单元具体用于映射所述加密区虚拟盘符、所述只读区虚拟盘符和所述光盘区虚拟盘符;
所述第一判断单元具体用于根据所述隐藏区的头部保存的所述第一哈希值判断所述加密区验证密码是否正确;
第三调用弹出单元,用于调用第一操作系统函数,使所述操作系统弹出所述驱动软件预置的只读区权限设置界面;
所述获取单元还用于从所述只读区权限设置界面获取只读区权限设置密码;
所述生成单元还用于根据所述只读区权限设置密码和所述预置密钥生成第三哈希值;
所述第二调用保存单元具体用于在所述隐藏区的头部添加隐藏区标识,并将所述分区信息、所述第一哈希值和所述第三哈希值保存在所述隐藏区的头部;
所述创建绑定单元具体用于根据所述只读区设备对象创建只读区虚拟盘符并绑定具体为:根据所述只读区设备对象创建只读区虚拟盘符并绑定并向只读区添加只读属性;
当第三判断单元判断所述操作系统对所述设备对象的操作为所述操作系统对光盘区设备对象操作时,所述拒绝单元被替换为:
第四调用弹出单元,用于调用所述第一操作系统函数,操作系统弹出只读区权限设置密码验证界面;
获取读取单元用于从所述只读区权限设置密码验证界面获取只读区权限设置密码,读取所述隐藏区的头部中的所述第三哈希值;
第五判断单元,用于根据所述第三哈希值判断所述只读区权限设置密码是否正确;
删除单元用于当所述第五判断单元的判断结果为是时,将所述只读区设备对象的只读属性删除;
所述映射写入单元,还用于当所述第二判断单元判断接收到的指令类型为写指令时且所述删除单元将所述只读区设备对象的只读属性删除后,根据所述写指令中的第二地址映射所述存储芯片中的写入地址,写入所述加密的写入数据;
所述拒绝单元还用于当所述第五判断单元的判断结果为否时,拒绝操作。
7.如权利要求6所述的系统,其特征在于,所述驱动模块还包括:
第四判断单元,用于判断是否存在隐藏区标识;
所述读取单元具体用于当所述第四判断单元的判断结果为是时,读取所述存储芯片的隐藏区的分区信息;
所述拒绝单元,还用于当所述第四判断单元的判断结果为否时,拒绝操作。
8.如权利要求6所述系统,其特征在于,所述驱动模块还包括:
第五调用弹出单元,用于调用所述第一操作系统函数,操作系统弹出驱动软件预置的自定义种子码输入界面;
所述获取单元还用于从所述自定义种子码输入界面获取种子码,并将所述种子码发送给所述加密锁芯片;
所述第二调用保存单元具体用于在所述隐藏区的头部添加隐藏区标识,并将所述分区信息和所述第一哈希值和产品标识保存在所述隐藏区的头部;
第五判断单元用于判断所述隐藏区的头部的产品标识是否与所述加密锁芯片的产品标识相同;
所述读取单元具体用于当所述第五判断单元的判断结果为是时,读取所述存储芯片的隐藏区的分区信息;
所述拒绝单元,还用于当所述第五判断单元的判断结果为否时,拒绝操作;
所述加密锁芯片还用于对所述种子码进行运算生成加密锁芯片的产品标识并保存;还用于将生成的所述产品标识发送给所述驱动模块。
9.如权利要求6所述系统,其特征在于,所述分区信息具体为:所述加密区、所述只读区和所述光盘区的容量大小和起始位置。
10.如权利要求6所述系统,其特征在于,所述驱动模块还包括:
第六调用弹出单元,用于调用所述第一操作系统函数使所述操作系统弹出驱动软件预置的光盘镜像文件路径输入对话框;
所述获取单元还用于从所述光盘镜像文件路径输入对话框获取光盘镜像文件路径;
读取发送单元用于根据所述光盘镜像文件路径读取光盘镜像文件,将光盘镜像文件发送给加密锁芯片;
调用写入单元用于调用第二操作系统函数将加密的光盘镜像文件写入所述存储芯片上的隐藏区中的所述光盘区;
所述加密锁芯片还用于使用所述预置密钥对光盘镜像文件加密得到所述加密的光盘镜像文件,并将所述加密的光盘镜像文件发送给驱动软件。
CN201911349719.5A 2019-12-24 2019-12-24 一种加密u盘系统的实现方法及系统 Active CN111062064B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201911349719.5A CN111062064B (zh) 2019-12-24 2019-12-24 一种加密u盘系统的实现方法及系统
US17/626,304 US20220317895A1 (en) 2019-12-24 2020-10-22 Encrypted usb flash disk system and implementation method therefor
PCT/CN2020/122810 WO2021129094A1 (zh) 2019-12-24 2020-10-22 一种加密u盘系统及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911349719.5A CN111062064B (zh) 2019-12-24 2019-12-24 一种加密u盘系统的实现方法及系统

Publications (2)

Publication Number Publication Date
CN111062064A CN111062064A (zh) 2020-04-24
CN111062064B true CN111062064B (zh) 2021-11-02

Family

ID=70303222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911349719.5A Active CN111062064B (zh) 2019-12-24 2019-12-24 一种加密u盘系统的实现方法及系统

Country Status (3)

Country Link
US (1) US20220317895A1 (zh)
CN (1) CN111062064B (zh)
WO (1) WO2021129094A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111062064B (zh) * 2019-12-24 2021-11-02 飞天诚信科技股份有限公司 一种加密u盘系统的实现方法及系统
CN112084524B (zh) * 2020-09-30 2023-10-13 北京智芯微电子科技有限公司 U盘访问方法及u盘
CN112199740B (zh) * 2020-12-03 2021-03-16 飞天诚信科技股份有限公司 一种加密锁的实现方法及加密锁
CN112883402A (zh) * 2021-03-15 2021-06-01 英韧科技(上海)有限公司 加密方法及装置、电子设备和存储介质
CN114297715B (zh) * 2021-12-31 2023-01-13 北京深盾科技股份有限公司 文件加密方法、文件处理方法、装置及电子设备
CN116150786B (zh) * 2023-01-10 2023-11-28 深圳技术大学 基于指令密匙自行设定的u盘文件加密系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7712131B1 (en) * 2005-02-09 2010-05-04 David Lethe Method and apparatus for storage and use of diagnostic software using removeable secure solid-state memory
CN102971722A (zh) * 2010-05-09 2013-03-13 思杰系统有限公司 用于创建和传送加密的虚拟盘的系统和方法
CN103488919A (zh) * 2013-09-24 2014-01-01 北京深思数盾科技有限公司 一种可执行程序的保护方法及装置
CN103544069A (zh) * 2012-07-18 2014-01-29 肖祥省 一区多用创建容错型多启系统盘
CN103605934A (zh) * 2013-11-06 2014-02-26 北京深思数盾科技有限公司 一种可执行文件的保护方法及装置
CN104463031A (zh) * 2014-12-01 2015-03-25 上海斐讯数据通信技术有限公司 一种Linux隐藏配置文件的方法
CN107315944A (zh) * 2017-06-20 2017-11-03 飞天诚信科技股份有限公司 一种智能密钥设备及其工作方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005044012A (ja) * 2003-07-24 2005-02-17 Alor Micro Corp 携帯式情報記憶装置及びそれを自動的に作動させる方法
CN100367248C (zh) * 2006-10-13 2008-02-06 冯浩然 一种带日志强审计的加密u盘系统
CN103617399B (zh) * 2013-11-06 2018-04-27 北京深思数盾科技股份有限公司 一种数据文件保护方法及装置
CN105653986B (zh) * 2015-12-25 2018-11-16 成都三零嘉微电子有限公司 一种基于microSD卡的数据保护方法及装置
CN111062064B (zh) * 2019-12-24 2021-11-02 飞天诚信科技股份有限公司 一种加密u盘系统的实现方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7712131B1 (en) * 2005-02-09 2010-05-04 David Lethe Method and apparatus for storage and use of diagnostic software using removeable secure solid-state memory
CN102971722A (zh) * 2010-05-09 2013-03-13 思杰系统有限公司 用于创建和传送加密的虚拟盘的系统和方法
CN103544069A (zh) * 2012-07-18 2014-01-29 肖祥省 一区多用创建容错型多启系统盘
CN103488919A (zh) * 2013-09-24 2014-01-01 北京深思数盾科技有限公司 一种可执行程序的保护方法及装置
CN103605934A (zh) * 2013-11-06 2014-02-26 北京深思数盾科技有限公司 一种可执行文件的保护方法及装置
CN104463031A (zh) * 2014-12-01 2015-03-25 上海斐讯数据通信技术有限公司 一种Linux隐藏配置文件的方法
CN107315944A (zh) * 2017-06-20 2017-11-03 飞天诚信科技股份有限公司 一种智能密钥设备及其工作方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Caching Encrypted Content Via Stochastic Cache Partitioning;Andrea Araldo等;《网页在线公开:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8276596》;20180228;第1-14页 *
基于PNP自动映射分区的安全USB技术研究与实现;陈伟东等;《微型机与应用》;20110516;第29卷(第23期);第23-25,34页 *
基于隐藏分区的安全优盘系统设计;何为等;《微电子学与计算机》;20170414;第34卷(第2期);第87-91,96页 *
飞天诚信ROCKEY-ARM(标准锁)软件加密狗使用记录;嵙杰;《网页在线公开:https://blog.csdn.net/lixujie666/article/details/88072458》;20190303;第1-9页 *

Also Published As

Publication number Publication date
WO2021129094A1 (zh) 2021-07-01
US20220317895A1 (en) 2022-10-06
CN111062064A (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
CN111062064B (zh) 一种加密u盘系统的实现方法及系统
US6378071B1 (en) File access system for efficiently accessing a file having encrypted data within a storage device
US7415571B1 (en) Disk drive and method for using a mailbox file associated with a disk storage medium for performing a function characterized by contents of the mailbox file
JP6040234B2 (ja) コンテンツを保護するための格納装置及びホスト装置とその方法
AU2012281313B2 (en) Method and apparatus for using non-volatile storage device
US10592641B2 (en) Encryption method for digital data memory card and assembly for performing the same
US20030041253A1 (en) Recording apparatus, medium, method, and related computer program
WO2011137743A1 (zh) 一种文件保护方法及系统
KR20090095909A (ko) 데이터 저장 장치 및 그것의 데이터 관리 방법
US8750519B2 (en) Data protection system, data protection method, and memory card
NZ555998A (en) Method and portable storage device for allocating secure area in insecure area
CN110188555A (zh) 一种磁盘数据保护方法、系统及相关组件
CN111399770B (zh) 数据存储方式转换方法、装置及存储介质
CN1679101A (zh) 数字权力管理数据的入口点
US20080107261A1 (en) Method for Protecting Confidential Data
JP4266412B2 (ja) データ保存システム
US20120005485A1 (en) Storage device and information processing apparatus
US8015342B2 (en) Method of managing and restoring identifier of storage device and apparatus therefor
KR100990973B1 (ko) 이동형 데이터 저장 장치의 로우 영역을 이용하여 보안 기능을 구현한 데이터 처리 장치
KR100859651B1 (ko) 가변크기 데이터 저장을 위한 데이터구조를 기록한기록매체, 가변크기 데이터 저장방법, 및 가변크기 데이터저장방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한컴퓨터로 읽을 수 있는 기록매체
CN210691364U (zh) 一种加密u盘
JPH11259366A (ja) 電子データ交換システムにおけるデータ保護装置及び方法及び当該方法を実現するプログラムを記録した記録媒体
US8689014B2 (en) Data encryption device and control method thereof
JP5537477B2 (ja) 可搬記憶媒体
KR20240082056A (ko) 어플리케이션 단위로 어플리케이션과 스토리지 장치간 안전한 저장공간을 제공하기 위한 스토리지 장치, 스토리지 장치 동작 방법 및 시스템

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230927

Address after: 100085 room 205, B / F, Huizhi building, 9 Xueqing Road, Haidian District, Beijing

Patentee after: Beijing Jianshi Chengxin Technologies Co.,Ltd.

Address before: 17th floor, building B, Huizhi building, No.9, Xueqing Road, Haidian District, Beijing 100085

Patentee before: Feitian Technologies Co.,Ltd.

TR01 Transfer of patent right