CN100446016C - 一种实现数据安全保护的系统 - Google Patents

一种实现数据安全保护的系统 Download PDF

Info

Publication number
CN100446016C
CN100446016C CNB2005100869130A CN200510086913A CN100446016C CN 100446016 C CN100446016 C CN 100446016C CN B2005100869130 A CNB2005100869130 A CN B2005100869130A CN 200510086913 A CN200510086913 A CN 200510086913A CN 100446016 C CN100446016 C CN 100446016C
Authority
CN
China
Prior art keywords
algorithm
equipment
key
algorithms
driver
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
CNB2005100869130A
Other languages
English (en)
Other versions
CN1967551A (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 C&W Electronics Group Co Ltd
Original Assignee
Beijing C&W Electronics Group 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 Beijing C&W Electronics Group Co Ltd filed Critical Beijing C&W Electronics Group Co Ltd
Priority to CNB2005100869130A priority Critical patent/CN100446016C/zh
Publication of CN1967551A publication Critical patent/CN1967551A/zh
Application granted granted Critical
Publication of CN100446016C publication Critical patent/CN100446016C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提出一种实现数据安全保护的系统,它包括算法设备、密钥设备、消费者部分,以及管理程序部分。其中,算法、密钥和使用算法密钥对数据进行加解密的部分都以设备驱动程序的形式实现,运行在操作系统的核心模式。本发明的系统具有更高的安全性,而且可以实现算法、密钥设备的接口化、设备化,允许用户自行开发符合标准的算法,并把这些算法添加到算法集设备中去。这使得本系统可以应用于高机密级别的情况。

Description

一种实现数据安全保护的系统
技术领域
本发明涉及信息安全技术领域,具体的涉及数据加密与解密技术。
背景技术
随着计算机技术的发展,全球人类都享受到信息网络化带来的方便。而信息技术的发展,其先决条件就是要有完善的安全保密技术。而缺乏保密性可能会导致严重的后果,个人和企业都会受到严重影响。而无论是网络信息还是本地资料的安全保密技术,都是建立在数据加密技术上面。
市场上的加密设备一般采用的是软件方式实现的文件夹或文件加密技术,很容易被破解,使用时要插入加密锁,操作加密文件时还要输入密码,使用文件前要解密,使用后还要记得加密,操作复杂,很不方便。这种在计算机中加密数据的一般的做法是,加密算法运行在用户模式下,以API(应用程序开发接口)形式公开给应用程序,应用程序使用这些API加密文件或文件夹,在需要使用这些文件或文件夹时,使用这些API将其解密。但是这些现有的加密解密技术都有缺陷所在。
例如一种常用的现有技术,它是一种数据加密卡。用户访问它的时候需要输入口令,也就是基于“what you know”的验证手段。这方法,除了具有口令容易泄漏的缺陷之外,即便口令不被泄漏,由于应用程序是运行在操作系统的用户模式(user mode),在这种模式下口令很容易被驻留在计算机内存中的木马程序或网络中的监听设备截获。可以说,这样的加密手段,安全性是非常低的。
现有技术中常用的另一款数据加密卡,这种卡通常使用PCI接口,它连接在计算机主板和硬盘之间,相当于在主板和硬盘之间增加一个黑匣子的设计,数据经过它的时候自动被加解密。虽然不再经过用户模式,但是这种技术的缺陷还是体现在安全性的不足上,尤其是算法和密钥不分开的设计,因为对于这类产品,密钥实质上经过串口连接到加密卡上。因此这款产品不适合应用于高机密级别的场合。
还有,例如深圳亚硕科技的一款硬盘加密装置D-LOCK TP-3218内置式硬盘加密锁,它是一种安全性较高的数据保密装置。可是这个装置的使用有很多不便之处,最明显的一点在于,它无法适用于新增的磁盘。一个新的磁盘如果要使用这个装置,必须先经过格式化。这种不便对于已经存储了数据的磁盘,显然是难以克服的。而且,对于将分区表单独存储的做法,一旦因为蓄意破坏而丢失硬盘分区表,将会对磁盘数据带来难以恢复的破坏。
可见,现有技术中的大多数数据保护技术都有其缺陷所在,这表现在:
(1)大多数技术中,算法和密钥不是分开的。由于算法和密钥是数据保密技术中的关键所在,不分开的算法和密钥一定程度上降低了数据保护的安全性。
(2)几乎所有的现有技术中,无论是软件加密技术还是硬件加密技术,算法的固有的,不具备扩展性。用户无法根据需要增加算法。这对于特殊场合的应用显然是无法适应的,例如高机密级别的应用,如军事组织。
(3)大多数加密技术,用户端的操作复杂。每次需要使用加密数据的时候,都需要经过加密和解密。当所需数据是常用数据时,这种设计是有待改进的。
另一方面,对于操作系统,Windows NT系列操作系统包括用户模式(User mode)和核心模式(Kernel mode)。其中,在用户模式中,软件在没有特权的状态下运行,对系统资源只有有限的访问权限,例如,软件不能直接访问硬件。Windows NT中基础的应用程序和被保护的子系统都运行在用户模式下。而在核心模式中,软件可以访问所有的系统资源,例如计算机硬件和敏感的系统数据。核心模式下的程序与用户模式程序有着严格的隔离。核心模式中的软件构成了操作系统的核心,它们可以分为:
(1)执行体(Executive),包括为环境子系统和其他执行体组件提供系统服务的系统组件。它们执行的系统任务包括I/O(输入/输出),文件管理,虚拟内存管理,资源管理,以及进程内部通信等等。
(2)设备驱动程序(Device drivers),负责将组件的调用(例如,请求打印机)翻译为硬件操作。设备驱动程序是核心模式代码,它将操作系统和硬件联系到一起。为了使系统的性能达到最大,核心模式代码没有应用程序那样的内存保护机制。相反,操作系统充分信任核心模式代码没有错误。由于为了与其他的驱动程序和操作系统组件安全的协调工作,因此这些驱动程序和核心模式代码必须遵循复杂的规则的原因。
另一方面在驱动程序的通讯方面,现有技术通常采用IO方式完成,具体的说,首先,请求方驱动程序将数据连同请求封包成IRP(即I/O请求包),然后将此IRP传送给被请求方驱动程序;被请求方分析请求类型,调用自己的处理函数,再将处理结果封包返回;请求方释放IRP,完成调用。
这种处理方式对资源的占用大,而且效率低下,无法适应磁盘数据处理这种海量计算。
(3)硬件抽象层(HAL,Hardware abstraction layer),负责将执行体的其它部分与特定的硬件分离开来,使操作系统与多处理器平台相兼容。
(4)微内核(Microkernel),管理微处理器。它执行一些重要的功能,例如调度,中断,以及多处理器同步等。
由于核心模式的高安全性,因此,克服现有技术的不足,开发一种算法和密钥都运行在操作系统核心模式下数据加解密装置,由此获得比现有的加解密技术更安全的体系,并当涉及高机密级别的应用场合时允许用户按照一定的规则自行开发算法并添加到该系统,是有可能实现的。
发明内容
(一)要解决的技术问题
本发明的目的是要克服目前现有技术的缺陷,提出一种安全性更高的、算法具有可扩展性、操作上更方便的数据安全保护的系统。
(二)技术方案
本发明提出一种实现数据安全保护的系统,它包括以下部分:
(1)消费者部分,用于使用算法和密钥对数据进行加解密处理;
(2)算法提供者,用于接收来自消费者部分的算法连接请求,从密钥提供者处获得密钥并返回给消费者部分;算法提供者包括至少一个算法集设备;
(3)密钥提供者,负责处理来自算法提供者的密钥连接请求,向算法提供者提供密钥,它包括至少一个物理密钥设备;
(4)管理程序部分,用于在用户模式下实现对各个设备的管理,并保证程序不能访问到密钥。
上述的实现数据安全保护的系统,其中,算法提供者包括算法设备管理器驱动程序和算法集设备;其中算法设备管理器驱动程序负责驱动和管理算法集设备,将算法连接请求转发到算法集设备;算法集设备接收算法连接请求并返回算法;一个算法集设备实现至少一个加密算法。
上述的实现数据安全保护的系统,其中,密钥提供者包括物理密钥设备和通用密钥设备驱动程序;其中,通用密钥设备驱动程序负责驱动物理密钥设备;物理密钥设备解析通用密钥设备驱动程序的请求,并返回密钥。
上述的实现数据安全保护的系统,其中,消费者部分所处理的数据可以是本地的,也可以是远程的。
上述的实现数据安全保护的系统,其中,消费者部分、算法设备管理器驱动程序、通用密钥设备驱动程序处于操作系统的核心模式,对操作系统表现为设备驱动程序的形式;算法集设备和物理密钥设备对操作系统表现为设备。
上述的实现数据安全保护的系统,其中,算法集设备可以设备化,它可以是软件形式的加解密驱动程序,也可以用硬件实现数据安全保护操作,并允许用户开发符合标准的算法设备,并通过接口将这些设备添加到算法集中。
上述的实现数据安全保护的系统,其中,物理密钥设备可以设备化,它可以使用各种接口形式,它可以使用USB接口、PCI接口、红外接口、蓝牙接口等。
(三)有益效果
采用本发明的实现数据安全保护的系统,具有以下优点:
(1)更高的安全性。在本系统中,除了管理程序部分运行在用户模式之外,其余的3部分都运行在核心模式。由于操作系统对用户模式和核心模式的程序有着严格的隔离,因此保证了本系统的安全性。入侵者难以通过用户模式的操作窃取数据。
(2)允许算法和密钥的设备化。由于本系统的3个部分在操作系统的核心模式都表现为设备驱动程序,而且各个设备之间定义了包传输协议,因此,这3部分具有统一的表现形式。这样的设计实现了算法和密钥的接口化设计,允许算法集设备和物理密钥根据用户的需要采用不同的形式,例如软件、硬件、或各种接口的设备。这样的设计也使得用户可以根据自己的需要,开发符合要求的算法,并通过管理程序注册、添加到本系统中。这样的设计,使得本发明可以满足高机密级别的应用,例如军队设施等。
(3)由于驱动程序之间的通讯采用非IO的形式,直接请求功能函数指针,而不是现有技术中将相关数据和请求封包成IRP的方式。本发明的通讯方式资源占用更少、速率更高,而且适合海量数据的处理。
附图说明
图1为本发明的系统各部分的关系图;
图2为采用本发明的系统引导开始一次数据操作的流程图。
具体实施方式
本发明提出提供数据安全保护的实现方法,结合附图和实施例说明如下。以下实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由各权利要求限定。
实施例一
根据本发明,4个组成部分的关系如图1所示。其中,管理控制台是管理程序,它运行在操作系统的用户模式(user mode);通用密钥设备驱动程序和物理密钥设备属于密钥提供者;算法设备管理器驱动程序部分和多个算法集设备属于算法提供者部分,这部分与密钥是分开独立的;消费者部分是使用算法和密钥,对数据进行加解密处理的部分,在本实施例中,它表现为一个虚拟磁盘总线驱动程序驱动的虚拟磁盘。
为了保证安全性,在本发明中,算法提供者、密钥提供者和消费者部分这3部分工作在操作系统的核心模式(Kernel mode)。其中,算法设备管理器驱动程序、通用密钥设备驱动程序和消费者部分,无论具体实现形式如何,对操作系统都表现为核心模式下的设备驱动程序(Device drivers);算法集设备、物理密钥设备表现为设备(Device)。由于操作系统对用户模式和核心模式有着严格的隔离,因此,保证用户不能直接访问到这些部分,只能通过管理程序访问到被加解密的数据,或通过管理者对算法提供者进行扩展操作。
下文中将逐一解释这4个部分。
(1)算法提供者包括算法设备管理器驱动程序和算法集设备,算法集设备置少有一个。在本实施例中,算法集设备有多个。
算法设备管理器驱动程序用于驱动算法集设备。算法设备管理器还维护一个算法列表,当应用程序需要时,它根据算法列表,向这些上层程序提供枚举服务。例如,当加密盘配置向导程序要求用户选择算法时,算法管理器会枚举出所有算法集设备内的所有算法供用户选择。
在操作系统的核心模式中,算法驱动管理器设备程序可以用C++语言这样描述:
Class AlgoMngr
{
//连接算法和数据,处理来自消费者部分的连接请求,将请求转达给算法集设备。
Connect(AlgoContext*pContext);
//断开连接算法和数据,处理来自消费者部分的断开请求,将请求转达给算法集设备。
Disconnect(AlgoContext*pContext);
//查询算法,即维护算法列表,使得用户模式下的管理程序可调用这个方法枚举已经安装的算法。
Query(AlgoDescBlockList*pDescList);
//注册,使得算法集设备在系统初始化时(Init),将自己注册到算法管理器中。
Register(AlgoDescBlock*pDesc);
//注销,使得算法集设备在系统析构时,将自己从算法管理器注销。
UnRegister(AlgoDescBlock*pDesc);
}
算法集设备是各种算法的宿主,也就是说,算法存储在算法集设备中。由于算法集设备与本系统中的其他部分的连接都必须通过算法设备管理器驱动程序来驱动,因此,算法集设备无论表现为软件形式还是以硬件形式,对操作系统都是一致的。也就是说,算法集设备可以是磁盘数据的一部分以软件的形式存在,也可以是已经设备化的硬件。例如在本实施例中,算法集设备以软件的形式存在,它们都可以这样描述:
Class AlgoDevice
{
Connect(AlgoContext*pContext);      //连接算法和数据
Disconnect(AlgoContext*pContext);   //断开连接算法和数据
Init();                             //初始化算法设备
}
这种驱动程序形式的设计,实现了算法的接口化设计,它允许用户自行开发算法并添加到本发明的系统中。只要用户所开发的算法符合本发明的要求(例如根据本实施例,使用256位密钥的对称性算法,因为本实施例的密钥使用对称性密钥,支持64位的整数倍长度,最大支持1024位),并且表现为一个设备、可以被算法设备管理器驱动程序所驱动。因此,用户所开发的算法也可以有多种形式。例如,它可以是软件形式的,也可以做成设备,例如USB设备,只要这个设备可以被算法设备管理器驱动程序所驱动,在系统请求连接这个设备时,处理相关请求。
一个算法集设备可以包括一个或多个的加密算法。例如在本实施例中,算法设备以软件的形式被安装到计算机中,具体使用对称性算法。加密算法方面,本实施例中使用了IDEA、RIJNDEAL、RC5、RC6等高级加密算法,这些算法都是国际上公开的、公认的、安全的算法。一个安全的公开算法的一般标准是,攻击者即使知道大量的明文/密文对,并且十分清楚算法的机理,还是无法推算出密钥。
(2)密钥提供者包括通用密钥设备驱动程序和物理密钥设备,物理密钥设备可以是一个或多个。
其中,通用密钥设备驱动程序用于驱动物理密钥设备,它表现为核心模式下的设备驱动程序。它处理密钥的连接请求、断开连接请求等。
物理密钥设备受通用密钥设备驱动程序的驱动,于物理密钥设备与本系统中的其他部分的连接都必须通过通用密钥设备驱动程序来驱动,因此,物理密钥设备无论表现为软件形式还是以硬件形式,对操作系统都是一致的。例如在本实施例中,密钥设备是一套具有RF(无线电)传输的装置,它分为2部分,一部分是信号接收器,这个接收器通过USB接口与通用计算机连接;另一部分是发射装置,供用户随身携带。用户随身携带的发射装置会每隔一段时间发送密钥到接收器上。接收器将密钥传输给算法设备,经验证后算法设备使用该密钥对数据进行加解密操作。当用户离开计算机一定距离,例如在本实施例中是3米左右,接收器不再接收到密钥,算法设备在缺少密钥的情况下,数据自然不能被合法的操作。本实施例中的算法设备使用256位密钥的对称性密钥,它支持64位的整数倍的密钥,最大支持可1024位的密钥。
当系统启动完毕后,通用密钥设备驱动程序也相应的启动,并时刻等待任何物理密钥设备的接入。当算法设备管理器驱动程序请求连接密钥时,请求会被传递给通用密钥设备驱动程序。对不同的算法接入相应的物理密钥设备,通用密钥设备驱动程序将从设备中存储的主密钥派生出子密钥,分发给算法连接。当算法结束。密钥设备移出后,通用密钥设备驱动程序会清除所有算法集设备中的和消费者部分中的密钥,保证系统的安全性。
为了实现密钥设备的接口化设计,在本实施例中还确定了密钥传输时的数据结构,即定义了密钥设备的包传输协议。这样,对于不同接口形态(例如,USB、PCI)的物理密钥设备,由于数据传输时都使用包传输协议,因此它们具有相同的表现形态。包传输协议的定义如下:
typedef struct cwkdPacket
{
struct Head
{
   union
   {
       ULONG ulLeader;        //长整数型前导码
       UCHAR uchLeader[4];    //字符形式前导码
   };
   UCHAR uchLength;           //报文长度(不包括头尾)
   UCHAR uchFlag;             //标记
   UCHAR reserver[2];         //保留
}head;
UCHAR Data[head.uchLength];
struct Tail
{
       USHORT usChecksumData; //数据校验和
       USHORT usChecksumTotal;//全校验和
       ULONG ulTail;          //尾码
}tail;
}cwkdPacketHead;
可见,由于密钥设备和算法设备无论是相互之间的连接、还是遇系统中其他部分的连接,都必须通过驱动程序的驱动,因此,对操作系统都表现为设备;又由于定义了数据传输的包协议,这种包协议使得密钥设备和算法设备之间的数据通信都具有相同的表现,因此,使得算法和密钥都实现了接口化,也就是说可以设备化。这样,无论算法设备还是密钥设备,不管使用怎样的实施形式,例如在本实施例中,算法集设备是软件形式而密钥设备是硬件形式,它们之间的任何数据交换或连接对操作系统而言都是一致的,都受各自的驱动程序所驱动。因此,用户可以自行开发符合要求的算法,添加到本发明的系统中。
(3)消费者部分是在本系统中使用算法和密钥对数据进行加解密处理的部分,它同样运行在操作系统的核心模式。它对操作系统同样表现为驱动程序的形式。所以同样的,根据本发明,它可以有多种形式,例如本地磁盘中的虚拟磁盘总线驱动程序,或作为USB设备、PCI设备等。本实施例中,以本地磁盘中的虚拟磁盘总线驱动程序为例,它驱动一个虚拟磁盘,使用算法和密钥处理相关数据,这部分技术属于本领域技术人员都知道的现有技术,因此不再赘述。
(4)管理程序部分是一个运行在用户模式的应用程序。它用于提示用户系统的工作状态,设置各设备的选项,例如,用户可以在虚拟磁盘建立时,通过这个管理程序,指定该磁盘的其中一个属性,定义这个磁盘是否“自动激活的”,如果是,当系统获得正确的验证信息并且密钥有效时,这个虚拟磁盘会自动探出;如果不是,则用户必须通过管理程序手动打开这部分数据。用户要对相关数据进行读写操作时实际上是经过管理程序,但是数据在加解密的过程中,算法和密钥之间的连接、数据的传递都与这个用户模式程序无关,因此保障了系统的安全性。因此,这部分内容也属于本领域技术人员所熟知的技术,在此不再赘述。
本发明的工作流程如图2所示。在此之前,用户可以通过管理控制台建立虚拟磁盘,这时虚拟磁盘总线驱动程序根据用户的虚拟盘配置信息(这些信息包括指定的路径、算法和磁盘大小),在一个本地磁盘的普通分区上创建一个宿主文件,宿主文件的空间大小就是该虚拟盘的大小。创建完毕后,虚拟磁盘总线驱动程序将该虚拟磁盘的配置信息保存到操作系统的注册表。用户可以创建多个虚拟磁盘。作为一个选项,用户可以指定虚拟盘是“可自动激活”的。这些虚拟磁盘具有“系统文件”属性,一般情况下是隐藏的,也就是说,当用户不通过管理控制器,是不会知道有这部分磁盘空间的。
在操作系统启动时(登录之前),虚拟磁盘总线驱动程序启动,枚举所有的虚拟盘配置信息,打开所有的宿主文件以防止用户或其它应用程序误删除宿主文件。
系统启动时,算法管理器设备驱动程序向操作系统加载运行。操作系统启动后,算法集设备向算法管理设备驱动程序注册(由Register(AlgoDescBlock*pDesc)程序段完成),注册的算法集设备信息内包括算法的个数、名称、分组长度、支持密钥长度、作者等。
算法管理器设备驱动程序还维护一个算法列表(由Query(AlgoDescBlockList*pDescList)程序段完成),用户可以从算法列表中指定使用特点算法,也可以由系统从算法集设备中指派算法。然后当需要进行数据加解密处理时,系统会请求算法连接,算法管理器设备驱动程序向算法集设备请求连接算法(由Connect(AlgoContext*pContext)程序段完成);算法集设备收到连接请求后会分配一个算法的实例。值得一提的是,对于同一个算法分配的不同实例,由于其代码的运行是独立的、不受干扰的,因此不会存在安全隐患。
成功连接算法后,算法设备管理器驱动程序向通用密钥设备驱动程序请求连接密钥。这时,如果用户携带随身的RF发射器接近计算机3米范围内,接收器会接收到发射器发出的密钥。这些密钥信息会通过USB接口传输到算法设备管理器驱动程序。密钥连接请求成功后,进入数据加解密操作。
值得一提的是,在本实施例中,密钥的生成是硬随机的,它是发射器中的芯片生成的硬随机数,保证了密钥的安全性。另一方面,使用密钥的各种加密算法程序都在Windows的核心模式下运行,它们的表现形式一定是一个驱动程序。由于驱动程序使用未分页的内存,可以避免密钥数据交换到磁盘上,因此密钥能有效的与用户模式隔离,防止被攻击者获取。
数据加解密处理前会先验证密钥的正确性。如果密钥有效,密钥和待处理的数据都提交到算法集设备进行加解密处理。如果当中发生差错,相关信息会返回管理程序,友好的等待用户响应(例如重新使用正确的密钥)。验证密钥的有效性和数据加解密技术都属于本领域技术人员的常用技术,在此不作赘述。
这样,在用户模式上,虚拟磁盘将正常工作,对用户表现成为一个普通的磁盘。当用户向虚拟盘写入数据时,例如存储数据,数据的所有部分都将用前一过程中的子密钥和加密算法在核心模式下进行加密,然后再写入到宿主文件。反之,从虚拟盘读取数据时,例如打开一个文件,虚拟磁盘总线驱动程序自动从宿主文件读出并解密数据。
在系统析构时(例如注销用户),算法设备管理器驱动程序断开算法集设备的连接(Disconnect(AlgoContext*pContext)),并向操作系统注销自己(UnRegister(AlgoDescBlock*pDesc))。
另外在本发明中,由于各个驱动程序(包括算法设备管理器驱动程序、通用密钥设备驱动程序和消费者部分)处于核心模式下,在核心模式中,所有程序共享一个内存空间,因此,允许函数指针可以通用。因此,本发明的各个驱动程序之间的通讯可以采用非IO(输入输出)的通信方式,它具体的实现步骤是:
(1)初始时,请求方使用IRP(I/O请求包)封送一个请求,请求获取一个功能函数的指针列表。
(2)被请求方将自己的功能函数指针返回给请求方。
(3)在需要进行处理时,请求者直接按需调用被请求者的函数即可。(类似于用户模式下的API调用)
(4)直至请求者不再需要相应服务,请求者断开连接。
这样的通讯方式能节省系统资源,效率较现有技术中常用的IO方式高,尤其适合对海量数据的存储和处理。
实施例二
本实施例用于说明不同接口形式的消费者部分对于本系统具有统一的表现。
本实施例中,消费者部分表现为PCI接口的网络数据卡。这个数据卡安装在信道(例如网线)和硬盘之间,网络数据包的数据经过这个网卡的时候自动被加解密。
这样的PCI接口卡的形式,实际上对于操作系统,同样是由运行在核心模式下的一个设备驱动程序所驱动。当其他部分与它有数据交换或连接时,都通过驱动程序,可见数据的加解密运算实际上还是运行在操作系统的核心模式下。
密钥设备方面,采用软件形式的安装到本地磁盘中,同样受通用密钥驱动程序所驱动,对操作系统表现为核心模式下的一个驱动程序。由于同样采用包传输协议,因此,和实施例一的情况是统一的。
算法设备方面,实施细节同实施例一,在此不再赘述。
可见,由于本系统除了管理程序部分运行在用户模式之外,其余的3部分都运行在核心模式,并且对操作系统都表现为设备驱动程序,而且各个设备之间定义了包传输协议,因此,实现了算法和密钥的接口化设计,允许算法集设备和物理密钥根据用户的需要采用不同的形式,例如软件、硬件、或各种接口的设备。这样的设计也使得用户可以根据自己的需要,开发自己的、符合要求的算法,使得本发明适用于高机密级别的应用场合,例如军队设施。
另外,由于驱动程序之间的通讯采用非IO的形式,直接请求功能函数指针,而不是现有技术中将相关数据和请求封包成IRP的方式。本发明的通讯方式资源占用更少、速率更高,而且适合海量数据的处理。

Claims (7)

1、一种实现数据安全保护的系统,其特征在于,它包括以下部分:
(1)消费者部分,用于使用算法和密钥对数据进行加解密处理;
(2)算法提供者,用于接收来自消费者部分的算法连接请求,从密钥提供者处获得密钥并返回给消费者部分;算法提供者包括至少一个算法集设备;
(3)密钥提供者,负责处理来自算法提供者的密钥连接请求,向算法提供者提供密钥,它包括至少一个物理密钥设备;
(4)管理程序部分,用于在用户模式下实现对各个设备的管理,并保证程序不能访问到密钥。
2、如权利要求1所述的实现数据安全保护的系统,其特征在于,算法提供者包括算法设备管理器驱动程序和算法集设备;其中算法设备管理器驱动程序负责驱动和管理算法集设备,将算法连接请求转发到算法集设备;算法集设备接收算法连接请求并返回算法;一个算法集设备实现至少一个加密算法。
3、如权利要求1所述的实现数据安全保护的系统,其特征在于,密钥提供者包括物理密钥设备和通用密钥设备驱动程序;其中,通用密钥设备驱动程序负责驱动物理密钥设备;物理密钥设备解析通用密钥设备驱动程序的请求,并返回密钥。
4、如权利要求1所述的实现数据安全保护的系统,其特征在于消费者部分所处理的数据可以是本地的,也可以是远程的。
5、如权利要求1-3之一所述的实现数据安全保护的系统,其特征在于消费者部分、算法设备管理器驱动程序、通用密钥设备驱动程序处于操作系统的核心模式,对操作系统表现为设备驱动程序的形式;算法集设备和物理密钥设备对操作系统表现为设备。
6、如权利要求1所述的实现数据安全保护的系统,其特征在于,算法集设备可以设备化,它可以是软件形式的加解密驱动程序,也可以用硬件实现数据安全保护操作,并允许用户开发符合标准的算法设备,并通过接口将这些设备添加到算法集中。
7、如权利要求1所述的实现数据安全保护的系统,其特征在于物理密钥设备可以设备化,它可以使用各种接口形式。
CNB2005100869130A 2005-11-17 2005-11-17 一种实现数据安全保护的系统 Active CN100446016C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100869130A CN100446016C (zh) 2005-11-17 2005-11-17 一种实现数据安全保护的系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100869130A CN100446016C (zh) 2005-11-17 2005-11-17 一种实现数据安全保护的系统

Publications (2)

Publication Number Publication Date
CN1967551A CN1967551A (zh) 2007-05-23
CN100446016C true CN100446016C (zh) 2008-12-24

Family

ID=38076314

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100869130A Active CN100446016C (zh) 2005-11-17 2005-11-17 一种实现数据安全保护的系统

Country Status (1)

Country Link
CN (1) CN100446016C (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102148799B (zh) * 2010-02-05 2014-10-22 中国银联股份有限公司 密钥下载方法及系统
CN106682521B (zh) * 2016-11-28 2020-02-07 北京计算机技术及应用研究所 基于驱动层的文件透明加解密系统及方法
CN109829333B (zh) * 2019-01-14 2021-01-19 中国科学院信息工程研究所 一种基于OpenID的关键信息保护方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1192814A (zh) * 1995-07-13 1998-09-09 西格德·西格比约恩森 防止软件的未许可使用
US5987128A (en) * 1996-02-21 1999-11-16 Card Call Service Co., Ltd. Method of effecting communications using common cryptokey
CN1392700A (zh) * 2001-06-15 2003-01-22 三星电子株式会社 保护内容数据的系统和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1192814A (zh) * 1995-07-13 1998-09-09 西格德·西格比约恩森 防止软件的未许可使用
US5987128A (en) * 1996-02-21 1999-11-16 Card Call Service Co., Ltd. Method of effecting communications using common cryptokey
CN1392700A (zh) * 2001-06-15 2003-01-22 三星电子株式会社 保护内容数据的系统和方法

Also Published As

Publication number Publication date
CN1967551A (zh) 2007-05-23

Similar Documents

Publication Publication Date Title
England et al. A trusted open platform
EP2731042B1 (en) Computer system for storing and retrieval of encrypted data items using a tablet computer and computer-implemented method
CN102646077B (zh) 一种基于可信密码模块的全盘加密的方法
CN104580188B (zh) 一种在虚拟化环境中保护根ca证书的方法与系统
CN102624699B (zh) 一种保护数据的方法和系统
US7861015B2 (en) USB apparatus and control method therein
CN103595703B (zh) 一种基于OpenSSL的Linux安全文件传输系统及方法
CN103002445A (zh) 一种安全的提供应用服务的移动电子设备
CN109858265A (zh) 一种加密方法、装置及相关设备
JP2011048661A (ja) 仮想サーバ暗号化システム
US20080022099A1 (en) Information transfer
CN106022155A (zh) 用于数据库安全管理的方法及服务器
WO2012100079A2 (en) Apparatus and method for enhancing security of data on a host computing device and a peripheral device
CN109635581A (zh) 一种数据处理方法、设备、系统及存储介质
CN109977039A (zh) 硬盘加密密钥存储方法、装置、设备及可读存储介质
CN101420299B (zh) 提高智能密钥设备稳定性的方法和智能密钥设备
US8006009B2 (en) Methods and device for implementing multifunction peripheral devices with a single standard peripheral device driver
CN105279453B (zh) 一种支持分离存储管理的文件分区隐藏系统及其方法
CN100446016C (zh) 一种实现数据安全保护的系统
CN114239015A (zh) 数据的安全管理方法、装置、数据云平台以及存储介质
CN101562523B (zh) 应用在移动存储设备上的安全认证方法
CN106295267B (zh) 一种访问电子设备的物理内存中私密数据的方法和装置
US20080222700A1 (en) Challenge/Response in a Multiple Operating System Environment
CN108021801A (zh) 基于虚拟桌面的防泄密方法、服务器及存储介质
CN114697113A (zh) 一种基于硬件加速卡的多方隐私计算方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant