CN101197822A - 防止信息泄漏的系统和基于该系统的防止信息泄漏的方法 - Google Patents

防止信息泄漏的系统和基于该系统的防止信息泄漏的方法 Download PDF

Info

Publication number
CN101197822A
CN101197822A CNA2006101637830A CN200610163783A CN101197822A CN 101197822 A CN101197822 A CN 101197822A CN A2006101637830 A CNA2006101637830 A CN A2006101637830A CN 200610163783 A CN200610163783 A CN 200610163783A CN 101197822 A CN101197822 A CN 101197822A
Authority
CN
China
Prior art keywords
user side
msg
audit
audit end
message
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.)
Granted
Application number
CNA2006101637830A
Other languages
English (en)
Other versions
CN101197822B (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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to CN2006101637830A priority Critical patent/CN101197822B/zh
Publication of CN101197822A publication Critical patent/CN101197822A/zh
Application granted granted Critical
Publication of CN101197822B publication Critical patent/CN101197822B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种防止信息泄漏的系统,包括:用户端,用于在用户发送信息Msg时,生成第一验证信息,将包括Msg和第一验证信息的消息发送给所述审核端;审核端,用于审核所述Msg,如果审核通过,则生成第二验证信息,将包括Msg、第一验证信息和第二验证信息的消息发送给代理服务器;代理服务器,用于验证第一验证信息和第二验证信息,如果验证都通过,则将Msg发送给该Msg的接收者,并向所述用户端和审核端返回授权消息。本发明还公开一种基于该系统的防止信息泄漏的方法。

Description

防止信息泄漏的系统和基于该系统的防止信息泄漏的方法
技术领域
本发明涉及网络信息安全的技术领域,尤其涉及一种防止信息泄漏的系统和基于该系统的防止信息泄漏的方法。
背景技术
企业为防止机密信息泄漏,通常会制定严格的信息管理策略和信息管理制度,采取限制涉密员工访问互联网、限制涉密员工把信息复制到可移动存储设备、限制涉密员工打印和传真、限制涉密员工向企业外面发送邮件等措施对机密信息加以保护。但是严格的信息保护措施和制度极大地限制了员工访问互联网信息的自由,而且限制员工和外部的通信,包括禁止向外发送信息,同时也会限制员工与合作伙伴的信息交流,导致工作效率降低。
以使用电子邮件(email)为例,企业为满足涉密员工通信的需求,通常会允许员工使用email进行内部员工间通信,但严格限制员工和企业外部人员的通信。只有经过严格审核后,员工才能向企业外部的人员发送邮件。这种安全策略对于保护企业的信息资产是必要的,但这种审核通常需要繁琐的人工申请过程,在得到相关管理人员的批准后,员工才能向外发送邮件,同时,员工所发送的邮件还需要在安全管理人员处进行备案,以上过程给员工造成极大的不便,并且降低了工作效率。
即使企业允许员工和企业外部人员进行通信,也要采取信息防泄漏技术以防止企业信息通过网络泄漏出去。信息防泄漏技术主要包括防止非授权用户对信息的非法访问和防止合法用户对信息有意或无意的泄漏。为防止非授权用户对信息的非法访问,通常采用物理手段或密码学技术对信息存储设备和传输线路进行安全加固。比如采用防止非法读取的设备、加密存储、认证和加密传输等安全手段。防止合法用户的信息泄漏,则是从终端角度对各种可能外流信息的渠道进行封锁与禁用,达到信息流动的可控性。
信息防泄漏技术主要可以分为基于网络的信息防泄漏技术和基于主机的信息防泄漏技术。基于网络的信息防泄漏技术主要是在企业的网络出口对信息进行监测和控制。而基于主机的信息防泄漏技术则是对主机的各种外设接口的使用进行控制,特别是对移动存储设备和打印机的使用进行监控。
基于网络的信息防泄漏技术是为了防止企业员工通过网络的各种应用,包括邮件、FTP、即时通信工具等,有意或无意地把企业的机密信息传送到企业之外。例如,企业员工的机器中了木马,那么就有可能造成信息的无意外泄。基于网络的信息防泄漏技术通常在网络出口部署安全网关,在安全网关上对外传的信息进行检测,如果外传信息属于企业的机密信息,安全网关将阻止这种行为,并且记录企业员工的非法行为。这种技术最有代表性的是Vontu公司的数据传输控制系统,该系统使用了三种不同的过滤技术来分析不同的机密数据,包括用于防止文件外传的索引文件匹配法(IDM,IndexedDocument Matching),用于防止机密数据外传的准确数据匹配法(EDM,ExactData Matching)和防止带特殊关键字内容的描述内容匹配(DCM,DescribedContent Matching)。
基于主机的信息防泄漏技术通常在员工使用的终端上安装一个代理,该代理全面监管员工的终端,可以防止通过网络、主机外设接口、打印机和移动存储设备泄漏信息。这种技术可以阻止企业员工访问网络,根据不同的安全策略,可以基于IP地址、TCP端口和具体的内容过滤来限制信息外传。常用的Safend信息安全卫士软件可以通过驻留在主机上的代理,对主机上的各种端口进行监控,防止信息从USB、串口、并口、蓝牙、传真等接口外传,同时可以限制移动存储设备的使用,包括U盘、光驱、软盘、磁带等。
目前,无论是基于网络的信息防泄漏技术还是基于主机的信息防泄漏技术,仅提供访问控制和自动检测,没有提供对信息的授权。
发明内容
有鉴于此,本发明解决的技术问题是提供一种防止信息泄漏的系统和基于该系统的防止信息泄漏的方法,通过该系统和方法对信息的内容进行审核和授权,只有审核通过的信息才被授权发送到企业网外部,从而大大提高了信息传输的安全性,更好地防止了信息泄漏。
为此本发明提供的技术方案如下:
一种防止信息泄漏的系统,包括:
用户端,用于在用户发送信息Msg时,生成第一验证信息,将包括Msg和第一验证信息的消息发送给所述审核端;
审核端,用于审核所述Msg,如果审核通过,则生成第二验证信息,将包括Msg、第一验证信息和第二验证信息的消息发送给代理服务器;
代理服务器,用于验证第一验证信息和第二验证信息,如果验证都通过,则将Msg发送给该Msg的接收者,并向所述用户端和审核端返回授权消息。
其中,所述用户端包括:
第一验证信息单元,用于在未生成HASH链时,根据第一随机数xS和第一哈希HASH函数生成用户端HASH链,将该HASH链的最高位秘密发送给所述代理服务器;在用户端发送Msg时,通过运算MAC1=H(Msg‖RID‖AID‖hn-i(xS))生成第一验证码MAC1,通过hn-i+1(xS)对hn-i(xS)加密生成加密信息E0;
用户端发送单元,用于将包括Msg、MAC1和E0的消息发送给所述审核端;
其中,H(*)是预置的第二HASH函数,RID是Msg接收者的ID,AID是所述审核端的ID,hn-i(xS)是用户端HASH链的当前次高位,hn-i+1(xS)是用户端HASH链的当前最高位。
其中,所述审核端包括:
审核单元,用于在收到用户端发送的消息后,审核该消息中的Msg;
第二验证信息单元,用于在未生成HASH链时,根据第二随机数xA和所述第一HASH函数生成审核端HASH链,并将该HASH链的最高位秘密发送给代理服务器;在审核单元审核Msg通过后,通过运算MAC2=H(Msg‖RID‖AID‖hn-j(xA))生成第二验证码MAC2,通过hn-j+1(xA)对hn-j(xA)加密生成加密信息E1;
所述审核端发送单元用于将包括Msg、MAC1、E0、MAC2和E1的消息发送给所述代理服务器;
其中,hn-j(xA)是审核端HASH链的当前次高位,hn-j+1(xA)是审核端HASH链的当前最高位。
其中,所述代理服务器包括存储单元、恢复单元、授权单元和反馈单元;
所述存储单元用于保存所述用户端HASH链的最高位和所述审核端HASH链的最高位;
所述恢复单元用于在收到审核端发送的所述消息后,利用存储单元保存的用户端、审核端HASH链的最高位从E0和E1分别恢复出用户端、审核端HASH链的当前次高位;
所述授权单元利用恢复出的用户端和审核端HASH链的当前次高位验证MAC1和MAC2,如果验证成功,则授权,发送Msg给该信息的接收者,通知反馈单元向所述用户端、审核端发送授权消息;否则,不授权,丢弃审核端发送的信息,通知反馈单元向所述用户端、审核端发送未授权消息;
所述反馈单元用于根据授权单元的通知向所述用户端和审核端发送相应的消息。
其中,还包括:
更新单元,用于在授权单元授权后,将存储单元中保存的用户端和审核端HASH链的最高位更新为恢复出的用户端和审核端HASH链的次高位;
用户端更新单元,用于判断所述代理服务器返回给用户端的消息是否为授权,如果是,则删除所述用户端HASH链的当前最高位,该HASH链的次高位成为新的当前最高位;否则,保持该HASH链的当前最高位不变;
审核端更新单元,用于判断所述代理服务器返回给审核端的消息是否为授权,如果是,则删除所述审核端HASH链的当前最高位,该HASH链的次高位成为新的当前最高位;否则,保持该HASH链的当前最高位不变。
其中,所述用户端包括:
第一验证信息单元,用于保存系统配置的第一随机数xS和用于对该随机数加密的密钥k0;在用户端发送Msg时,通过运算MAC1=H(Msg‖RID‖AID‖xS)生成第一验证码MAC1,通过k0对xS加密生成加密信息E0;
用户端发送单元,用于将包括Msg、MAC1和E0的消息发送给所述审核端;
其中,H(*)是预置的HASH函数,RID是Msg接收者的ID,AID是所述审核端的ID。
其中,所述审核端包括:
审核单元,用于在收到用户端发送的消息后,审核该消息中的Msg;
第二验证信息单元,用于保存系统配置的第二随机数xA和用于对该随机数加密的密钥k1;在审核单元审核Msg通过后,通过运算MAC2=H(Msg‖RID‖AID‖xA)生成第二验证码MAC2,通过k1对xA加密生成加密信息E1;
所述审核端发送单元用于将包括Msg、MAC1、E0、MAC2和E1的消息发送给所述代理服务器。
其中,所述代理服务器包括:存储单元、恢复单元、授权单元和反馈单元;
所述存储单元用于保存所述k0和k1;
所述恢复单元用于在收到审核端发送的所述消息后,利用存储单元保存的k0和k1分别从E0和E1恢复出用户端、审核端的随机数;
所述授权单元利用恢复出的用户端和审核端的随机数验证MAC1和MAC2,如果验证成功,则授权,发送Msg给该信息的接收者,通知反馈单元向所述用户端、审核端发送授权消息;否则,不授权,丢弃审核端发送的信息,通知反馈单元向所述用户端、审核端发送未授权消息;
所述反馈单元用于根据授权单元的通知向所述用户端和审核端发送相应的消息。
其中,还包括:
用户端更新单元,用于判断所述代理服务器返回的消息是否为授权,如果是,则删除xS,等待系统再次分配随机数;否则,保持xS不变;
审核端更新单元,用于判断所述代理服务器返回的消息是否为授权,如果是,则删除xA,等待系统再次分配随机数;否则,保持xA不变。
其中,所述第一HASH函数为单向HASH函数。
其中,还包括:
签名单元,用于在用户发送信息Msg时,通过运算Sig0=Epri(H(Msg‖RID‖AID)),生成签名信息Sig0,并发送Sig0给用户端发送单元,将Sig0随同Msg、MAC1和E0一起发送给审核端;
公钥基础设施PKI服务器,用于保存公钥信息;
签名验证单元,用于在审核端收到用户端发送的所述消息后,根据所述用户端的信息从PKI服务器获得公钥,验证Sig0,并在验证Sig0通过后,通知审核单元审核Msg;
其中,Epri(*)是所述用户的私钥。
基于上述系统,本发明还提出一种防止信息泄漏的方法,包括:
用户端在用户发送信息Msg时,生成第一验证信息,将包括Msg和第一验证信息的消息发送给所述审核端;
审核端审核所述Msg,如果审核通过,则生成第二验证信息,将包括Msg、第一验证信息和第二验证信息的消息发送给代理服务器;
代理服务器验证第一验证信息和第二验证信息,如果验证都通过,则将Msg发送给该Msg的接收者,并向所述用户端和审核端返回授权消息。
其中,按下述步骤生成第一验证信息:
用户端在未生成HASH链时,根据第一随机数xS和第一哈希HASH函数生成用户端HASH链,将该HASH链的最高位秘密发送给所述代理服务器;
用户端在发送Msg时,通过运算MAC1=H(Msg‖RID‖AID‖hn-i(xS))生成第一验证码MAC1,通过hn-i+1(xS)对hn-i(xS)加密生成加密信息E0;
其中,hn-i(xS)是用户端HASH链的当前次高位,hn-i+1(xS)是用户端HASH链的当前最高位。
其中,按下述步骤生成第二验证信息:
审核端在未生成HASH链时,根据第二随机数xA和所述第一HASH函数生成审核端HASH链,并将该HASH链的最高位秘密发送给代理服务器;
审核端在审核Msg通过后,通过运算MAC2=H(Msg‖RID‖AID‖hn-j(xA))生成第二验证码MAC2,通过hn-j+1(xA)对hn-j(xA)加密生成加密信息E1;
其中,hn-j(xA)是审核端HASH链的当前次高位,hn-j+1(xA)是审核端HASH链的当前最高位。
其中,按下述步骤授权:
代理服务器保存所述用户端HASH链的最高位和所述审核端HASH链的最高位;
代理服务器收到审核端发送的所述消息后,利用其保存的用户端、审核端HASH链的最高位从E0和E1分别恢复出用户端和审核端HASH链的当前次高位;
代理服务器利用恢复出的用户端和审核端HASH链的当前次高位验证MAC1和MAC2,如果验证成功,则授权,发送所述信息Msg给该信息的接收者,向所述用户端、审核端发送授权消息;否则,不授权,丢弃所述信息Msg,向所述用户端、审核端发送未授权消息。
其中,进一步包括:
代理服务器在授权后,将其保存的用户端和审核端HASH链的最高位更新为恢复出的用户端和审核端HASH链的当前次高位;
用户端判断代理服务器返回的消息是否为授权,如果是,则删除所述用户端HASH链的当前最高位,该HASH链的次高位成为新的当前最高位;否则,保持该HASH链的当前最高位不变;
审核端判断所述代理服务器返回的消息是否为授权,如果是,则删除所述审核端HASH链的当前最高位,该HASH链的次高位成为新的当前最高位;否则,保持该HASH链的当前最高位不变。
其中,按下述步骤生成第一验证信息:
用户端保存系统配置的第一随机数xS和用于对该随机数加密的密钥k0;
用户端在发送Msg时,通过运算MAC1=H(Msg‖RID‖AID‖xS)生成第一验证码MAC1,通过k0对xS加密生成加密信息E0;
其中,H(*)是预置的HASH函数,RID是Msg接收者的ID,AID是所述审核端的ID。
其中,按下述步骤生成第二验证信息:
审核端保存系统配置的第一随机数xA和用于对该随机数加密的密钥k1;
审核端在审核Msg通过后,通过运算MAC2=H(Msg‖RID‖AID‖xA)生成第二验证码MAC2,通过k1对xA加密生成加密信息E1。
其中,按下述步骤授权:
代理服务器保存k0和k1;
代理服务器收到审核端发送的所述消息后,利用k0和k1从E0和E1分别恢复出用户端和审核端的随机数;
代理服务器利用恢复出的用户端和审核端的随机数验证MAC1和MAC2,如果验证成功,则授权,发送所述信息Msg给该信息的接收者,向所述用户端、审核端发送授权消息;否则,不授权,丢弃所述信息Msg,向所述用户端、审核端发送未授权消息。
其中,进一步包括:
用户端判断所述代理服务器返回的消息是否为授权,如果是,则删除xS,等待系统再次分配随机数;否则,保持xS不变;
审核端判断所述代理服务器返回的消息是否为授权,如果是,则删除xA,等待系统再次分配随机数;否则,保持xA不变。
其中,所述第一HASH函数为单向HASH函数。
其中,进一步包括:
用户端在用户发送信息Msg时,通过运算Sig0=Epri(H(Msg‖RID‖AID)),生成签名信息Sig0,并将Sig0随同Msg、MAC1和E0一起发送给审核端;
审核端在收到用户端发送的所述消息后,根据所述用户端的信息从PKI服务器获得公钥,验证Sig0,并在验证Sig0通过后,审核Msg;
其中,Epri(*)是所述用户的私钥。
可以看出,通过本发明提供的系统和方法,当企业内部员工向企业外部发送信息时,只有通过了审核端的审核和代理服务器的授权之后,该信息才能被发送到企业外部,从而大大提高了信息传输的安全性,更好地防止了信息泄漏。可以看出,在本发明提出的防止信息泄漏的系统中,验证码MAC1、MAC2采用带密钥的HASH运算,用于代理服务器验证用户端和审核端的信息。由于HASH链是单向的,而且HASH链上的每个值只用于1次消息审核授权,从而还可以防止重放(Replay)攻击。在本发明提供的系统和方法中,企业内部员工通过用户端向企业外部发送信息时,将对该信息进行签名,从而使审核端可以保留该员工发送信息的证据,如果该信息造成泄漏企业机密信息的后果,则该员工应当为此负责。由于用户端和审核端都要生成验证码,因此在企业网上的恶意攻击者无法对信息进行篡改,甚至替换。此外,发送者在发送信息的时候,需要附上审核端的ID和接收者的ID,因此,信息发送者必须是企业内部的员工,并且知道自己所属的审核端的情况,这也给其它部门的恶意攻击者的攻击造成困难。由于代理服务器仅将员工发送的原始信息发送给企业外部的接收者,因此企业外面的人员无法通过该信息获取关于企业内部组织结构的信息,也无法知道相关的审核端,从而可以避免泄漏信息审核流程的相关信息。
附图说明
图1是本发明提供的防止信息泄漏系统的示意图;
图2是本发明所述系统的一个具体结构示意图;
图3是本发明所述系统的另一个具体结构示意图;
图4是用户端发送信息的流程图;
图5是审核端审核信息的流程图;
图6是代理服务器验证授权的流程图。
具体实施方式
图1示出了本发明所提供的防止信息泄漏的系统,其中包括用户端,审核端和代理服务器。
所述用户端用于在用户发送信息Msg时,生成第一验证码MAC1,将包括Msg和MAC1的消息发送给所述审核端。
所述审核端用于审核所述Msg,如果审核通过,则生成第二验证码MAC2,将包括Msg、MAC1和MAC2的消息发送给代理服务器。
所述代理服务器用于验证MAC1和MAC2,如果验证都通过,则将Msg发送给该Msg的接收者,并向所述用户端和审核端返回授权消息。
图2是本发明所述系统的更具体的结构示意图。
用户端包括第一验证信息单元22、用户端发送单元23和用户端更新单元24。
在系统初始化时,此时用户端还没有生成HASH链,用户端可以通过第一验证信息单元22对随机数xS按预置的第一哈希(HASH)函数运算生成用户端HASH链,假设为xS,h(xS),h2(xS),......,hn(xS),并将该HASH链的当前最高位,即hn(xS),秘密发送给代理服务器。其中,第一HASH函数可以采用目前常用的单向HASH函数,例如SHA1、或RIPEMD-160。
当企业内部员工通过用户端向企业外部发送信息Msg时,假设信息Msg是该用户端发送的第i条信息、用户端HASH链的当前最高位为hn-i+1(xS)、当前次高位是hn-i(xS),则用户端可以通过第一验证信息单元22,利用预置的第二HASH函数对hn-i(xS)、信息Msg、信息Msg接收者的标志(RID)和审核端的标志(AID)进行运算生成MAC1,即运算MAC1=H(Msg‖RID‖AID‖hn-i(xS));并利用密钥k0=hn-i+1(xS)对hn-i(xS)加密,得到加密后的信息Ek0(hn-i(xS))。
获得Ek0(hn-i(xS))和MAC1后,用户端通过用户端发送单元23将Msg、RID、AID、Ek0(hn-i(xS))和MAC1进行串接后,一起送给审核端。
用户端收到代理服务器返回的消息,可以通过用户端更新单元24判断该消息是否为授权消息,如果是,则删除HASH链的当前最高位,该HASH链的次高位,即hn-i(xS),成为新的当前最高位;否则,保持HASH链的当前最高位不变。
审核端包括审核单元32、第二验证信息单元33、审核端发送单元34和审核端更新单元35。
在系统初始化时,此时审核端还没有生成HASH链,审核端可以通过第二验证信息单元33对随机数xA按预置的第一HASH函数运算生成审核端HASH链,假设为xA,h(xA),h2(xA),......,hn(xA),并将该HASH链的最高位,即hn(xA),秘密发送给代理服务器。
审核端收到来自用户端的信息后,假设审核端收到的信息为Msg‖RID‖AID‖Ek0(hn-i(xS))‖MAC1,审核端将通过审核单元32对员工发送的原始信息Msg进行审核。如果原始信息Msg通过审核,则审核端利用第二验证信息单元33生成MAC2。其中,如果信息Msg审核未通过,则审核端将丢弃用户端发送的信息。
假设审核端的HASH链的当前最高位为hn-j+1(xA)、当前次高位是hn-j(xA),第二验证信息单元33将利用所述第二HASH函数对Msg、RID、AID和hn-j(xA)进行运算,生成MAC2,即计算MAC2=H(Msg‖RID‖AID‖hn-j(xA));并利用密钥k1=hn-j+1(xA)对hn-j(xA)加密,得到加密后的信息Ek1(hn-j(xA))。
其中,第一验证信息单元22利用hn-i+1(xS)对hn-i(xS)加密,以及第二验证信息单元33利用hn-j+1(xA)对hn-j(xA)进行加密的算法有很多种,例如:可以采用数据加密标准(DES)算法,也可以采用高级加密标准(AES)算法。
获得Ek1(hn-j(xA))和MAC2后,审核端通过审核端发送单元34将Msg、RID、AID、Ek0(hn-i(xS))、MAC1、Ek1(hn-j(xA))和MAC2进行串接后,一起送给代理服务器。
审核端收到代理服务器返回的消息,可以通过审核端更新单元35判断该消息是否为授权消息,如果是,则删除HASH链的当前最高位,该HASH链的次高位,即hn-j(xA),成为新的当前最高位;否则,保持HASH链的当前最高位不变。
代理服务器包括存储单元41、恢复单元42、授权单元43、反馈单元44和更新单元45。
存储单元41用于保存用户端HASH链的最高位和审核端HASH链的最高位。
代理服务器收到审核端发送的消息后,假设代理服务器接收到的消息为Msg‖RID‖AID‖Ek0(hn-i(xS))‖MAC1‖Ek1(hn-j(xA))‖MAC2,将通过恢复单元42利用存储单元41保存的用户端和审核端的HASH链最高位从Ek0(hn-i(xS))和Ek1(hn-j(xA))分别恢复出用户端和审核端HASH链的当前次高位。
然后,代理服务器通过授权单元43利用从Ek0(hn-i(xS))和Ek1(hn-j(xA))分别恢复出的用户端和审核端HASH链的当前次高位验证MAC1和MAC2,即利用从Ek0(hn-i(xS))恢复出的用户端HASH链的当前次高位、从Ek1(hn-j(xA))恢复出的审核端HASH链的当前次高位分别与MAC1中的hn-i(xS)、MAC2中的hn-j(xA)进行比较。如果验证成功,即恢复出的用户端HASH链的当前次高位、审核端HASH链的当前次高位分别与hn-i(xS)、hn-j(xA)都相同,则授权,将员工发送的原始信息Msg发送给该信息的接收者,并通知反馈单元44向所述用户端、审核端发送授权消息;否则,不授权,丢弃审核端发送的消息,并通知反馈单元44向所述用户端、审核端发送未授权消息。
反馈单元44用于根据授权单元的通知向所述用户端和审核端发送相应的消息。
授权单元43授权后,代理服务器通过更新单元45将存储单元41中保存的用户端和审核端HASH链的最高位更新为hn-i(xS)和hn-j(xA)。
其中,授权单元43从Ek0(hn-i(xS))和Ek1(hn-j(xA))分别恢复出用户端和审核端HASH链的当前次高位的过程采用与前述加密过程相反的过程即可。
当用户端和/或审核端HASH链被用尽时,此时用户端和/或审核端等同于没有生成HASH链,则系统将再次为用户端和/或审核端分配随机数,用户端和/或审核端将根据第一HASH函数再次生成用户端和/或审核端HASH链,从而使本系统可以继续正常运行。
在上述装置中,用户端和审核端都是预先利用系统分配的随机数生成HASH链,然后利用HASH链的当前次高位生成验证码。实际情况中,也可以直接采用系统分配的随机数作为验证码。当直接采用系统分配的随机数作为验证码时,可以看作是上述装置的一个特例,即用户端和审核端的HASH链为只有一个数的HASH链,但是不需要用户端和审核端预先生成HASH链。
在这种情况下,系统将为用户端分配用于对随机数进行加密的密钥k0,为审核端分配用于对随机数进行加密的密钥k1,并将k0和k1保存在代理服务器的存储单元41中。
在系统初始化时,系统将为用户端分配随机数xS。当企业内部员工通过用户端向企业外部发送信息Msg时,用户端可以通过第一验证信息单元22,利用所述第二HASH函数对xS、信息Msg、RID和AID进行运算生成MAC1,即运算MAC1=H(Msg‖RID‖AID‖xS);并利用系统配置的密钥k0对xS加密,得到加密后的信息Ek0(xS)。
获得Ek0(xS)和MAC1后,用户端通过用户端发送单元23将Msg、RID、AID、Ek0(xS)和MAC1进行串接后,一起送给审核端。
用户端收到代理服务器返回的消息,可以通过用户端更新单元24判断该消息是否为授权消息,如果是,则删除xS,等待系统再次分配随机数;否则,保持xS不变。
审核端包括审核单元32、第二验证信息单元33、审核端发送单元34和审核端更新单元35。
在系统初始化时,系统将为审核端分配随机数xA。审核端收到来自用户端的信息后,假设审核端收到的信息为Msg‖RID‖AID‖Ek0(xS)‖MAC1,审核端将通过审核单元32对员工发送的原始信息Msg进行审核。如果原始信息Msg通过审核,则审核端利用第二验证信息单元33生成MAC2。其中,如果信息Msg审核未通过,则审核端都将丢弃用户端发送的信息。
第二验证信息单元33将利用第二HASH函数对Msg、RID、AID和xA进行运算,生成MAC2,即计算MAC2=H(Msg‖RID‖AID‖xA);并利用系统配置的密钥k1对xA加密,得到加密后的信息Ek1(xA)。
其中,第一验证信息单元22利用k0对xS加密,以及第二验证信息单元33利用k1对xA进行加密的算法有很多种,例如:可以采用数据加密标准(DES)算法,也可以采用高级加密标准(AES)算法。
获得Ek1(xA)和MAC2后,审核端通过审核端发送单元34将Msg、RID、AID、Ek0(xS)、MAC1、Ek1(xA)和MAC2进行串接后,一起送给代理服务器。
审核端收到代理服务器返回的消息,可以通过审核端更新单元35判断该消息是否为授权消息,如果是,则删除xA,等待系统再次分配随机数;否则,保持xA不变。
代理服务器包括存储单元41、恢复单元42、授权单元43和反馈单元44。
存储单元41用于保存系统为用户端和审核端配置的k0和k1。
代理服务器收到审核端发送的消息后,假设代理服务器接收到的消息为Msg‖RID‖AID‖Ek0(xS)‖MAC1‖Ek1(xA)‖MAC2,将通过恢复单元42利用存储单元41保存的k0和k1分别恢复出用户端和审核端的随机数。
然后,代理服务器通过授权单元43利用从Ek0(xS)和Ek1(xA)分别恢复出的用户端和审核端的随机数验证MAC1和MAC2。如果验证成功,则授权,将员工发送的原始信息Msg发送给该信息的接收者,并通知反馈单元44向所述用户端、审核端发送授权消息;否则,不授权,丢弃审核端发送的消息,并通知反馈单元44向所述用户端、审核端发送未授权消息。
反馈单元44用于根据授权单元的通知向所述用户端和审核端发送相应的消息。
可以看出,在上述两种系统中,当企业内部员工向企业外部发送信息时,只有通过了审核端的审核和代理服务器的授权之后,该信息才能被发送到企业外部。但在上述两种系统中,审核端在收到用户端发送的信息时,只能对该信息的内容进行审核,而无法知道该信息来自哪个用户端。为使审核端获知信息的来源,可以在上述两种系统中都添加公钥基础设施(PKI,Public KeyInfrastructure)服务器,并在用户端增设签名单元21,在审核端增设签名验证单元31,该系统可以如图3所示。
用户端在发送信息Msg时,可以通过签名单元21将信息Msg、RID和AID进行串接,即进行Msg‖RID‖AID;并利用预置的第二HASH函数,对串接后的信息进行HASH运算,即运算H(Msg‖RID‖AID);再利用该员工的私钥对运算后的信息进行签名,即进行Sig0=Epri(H(Msg‖RID‖AID))。其中,Epri(*)是该员工的私钥。生成签名信息Sig0后,用户端发送单元23将Sig0随同其它信息一起发送给审核端。
审核端收到来自用户端的信息后,将通过签名验证单元31根据所述用户端的信息从PKI服务器获得公钥,并利用获得的公钥验证签名信息Sig0。签名验证单元31对签名信息Sig0验证通过后,再启动审核单元32对员工发送的原始信息Msg进行审核。
可以看出,在本发明提出的防止信息泄漏的系统中,当采用带密钥的HASH运算生成验证码MAC1、MAC2时,由于HASH链是单向的,而且HASH链上的每个值只用于1次消息审核授权,从而可以防止重放攻击。当采用系统配置的随机数生成验证码MAC1、MAC2时,由于每次生成的验证码也是随机的,因此也可以防止重放攻击。
在本发明提供的系统中,企业内部员工通过用户端向企业外部发送信息时,将对该信息进行签名,从而使审核端可以保留该员工发送信息的证据,如果该信息造成泄漏企业机密信息的后果,则该员工应当为此负责。
由于用户端和审核端都要生成验证码,因此在企业网上的恶意攻击者无法对信息进行篡改,甚至替换。此外,发送者在发送信息的时候,需要附上审核端的ID和接收者的ID,因此,信息发送者必须是企业内部的员工,并且知道自己所属的审核端的情况,这也给其它部门的恶意攻击者的攻击造成困难。
在代理服务器上存储有企业的组织结构和相关审核端的信息,因此代理服务器可以防止恶意员工伪造审核端的ID。审核端在信息审核完成后,做进一步的验证码,通知代理服务器将该信息发送给企业外部的接收者。由于审核端也需要生成验证码,从而使代理服务器可以保留该审核端审核信息的证据,如果出现泄密事件,则也能够审计相关人员的责任。
由于代理服务器仅将员工发送的原始信息发送给企业外部的接收者,因此企业外面的人员无法通过该信息获取关于企业内部组织结构的信息,也无法知道相关的审核端,从而可以避免泄漏信息审核流程的相关信息。
基于图2所示的系统,本发明还提出一种防止信息泄漏的方法,下面结合具体实施例对该方法作进一步具体说明。
假设用户端1是企业内某个部门的员工所使用的用户端,审核端1用于审核该部门所有用户端向企业外部发送的信息,代理服务器1用于对该企业所有审核端发送的消息进行验证授权。
用户端1对信息的处理过程包括:
在系统初始化阶段,对用户端1进行初始化,即在用户端1中保存审核端1的ID,假设为AID,为用户端1配置随机数xS,用户端1对xS按预置的第一HASH函数进行运算,得到HASH链,假设为xS,h(xS),h2(xS),......,hn(xS),并将HASH链的当前最高位,即hn(xS),秘密发送给代理服务器1。
图4是用户端1发送信息的流程图,其具体过程包括:
在步骤401中,当所述员工通过用户端1向企业外部发送信息Msg时,假设信息Msg是用户端1发送的第i条信息,用户端1的HASH链的当前最高位为hn-i+1(xS)、当前次高位为hn-i(xS),用户端1利用HASH链的当前次高位hn-i(xS)生成用户端1的验证码MAC1。
用户端1生成验证码MAC1的过程包括:将信息Msg、RID、AID和hn-i(xS)进行串接,即进行Msg‖RID‖AID‖hn-i(xS)运算;然后,利用预设置的第二HASH函数对串接后的信息进行HASH运算获得MAC1,即运算MAC1=H(Msg‖RID‖AID‖hn-i(xS))。其中,H(*)是预设置的第二HASH函数。
在步骤402中,用户端1利用密钥k0=hn-i+1(xS)对hn-i(xS)加密,得到加密后的信息Ek0(hn-i(xS))。
在步骤403中,用户端1将Msg、RID、AID、Ek0(hn-i(xS))和MAC1发送到审核端1。用户端1将信息进行串接,即进行Msg‖RID‖AID‖Ek0(hn-i(xS))‖MAC1,然后一起发送到审核端1。
在步骤404中,用户端1等待代理服务器1返回消息,并根据该消息进行相应的操作。如果代理服务器1返回的消息是授权,则用户端1将其HASH链的当前最高位更新为hn-i(xS);否则,仍然保持HASH链的当前最高位为hn-i+1(xS)。
审核端1对信息的处理过程包括:
在系统初始化阶段,对审核端1进行初始化,即为审核端1配置随机数xA,审核端1按所述第一HASH函数对xA进行HASH运算,得到HASH链,假设为xA,h(xA),h2(xA),......,hn(xA),并将该HASH链的最高位,即hn(xA),秘密发送给代理服务器1。
图5是审核端1审核信息的流程图,其具体过程包括:
在步骤501中,审核端1收到来自用户端1的信息,假设审核端1收到用户端1在步骤403发送的信息Msg‖RID‖AID‖Ek0(hn-i(xS))‖MAC1。
在步骤502中,审核端1将对员工发送的原始信息Msg进行审核,审核Msg是否符合企业预定的要求。
如果Msg不符合企业预定的要求,则不能通过审核,在步骤503中,审核端1将丢弃用户端1发送的信息。如果Msg符合企业预定的要求,则可以通过审核,在步骤504中,假设审核端1的HASH链的当前最高位为hn-j+1(xA)、次高位为hn-j(xA),审核端1将利用第二HASH函数和hn-j(xA)生成审核端1的验证码MAC2,即计算MAC2=H(Msg‖RID‖AID‖hn-j(xA))。
然后,在步骤505中,审核端1利用其密钥k1=hn-j+1(xA)对hn-j(xA)加密,得到加密后的信息Ek1(hn-j(xA))。
其中,在步骤402中利用hn-i+1(xS)对hn-i(xS)加密,以及在步骤505中利用hn-j+1(xA)对hn-j(xA)进行加密的算法有很多种,例如:可以采用数据加密标准(DES)算法,也可以采用高级加密标准(AES)算法。
在步骤506中,审核端1将Msg、RID、AID、Ek0(hn-i(xS))、MAC1、Ek1(hn-j(xA))和MAC2发送到代理服务器1。审核端1将信息进行串接,即进行Msg‖RID‖AID‖Ek0(hn-i(xS))‖MAC1‖Ek1(hn-j(xA))‖MAC2,然后将信息一起发送到代理服务器1。
在步骤507中,审核端1等待代理服务器1返回消息,并根据该消息进行相应的操作。如果代理服务器1返回的消息是授权,则审核端1将其HASH链的当前最高位更新为hn-j(xA);否则,仍然保持HASH链的当前最高位为hn-j+1(xA)。
图6是代理服务器1验证授权的流程图,其具体过程包括:
在步骤601中,代理服务器1收到审核端1发送的信息,假设代理服务器1收到审核端1在步骤506发送的信息Msg‖RID‖AID‖Ek0(hn-i(xS))‖MAC1‖Ek1(hn-j(xA))‖MAC2,代理服务器1可以利用其保存的用户端1和审核端1的HASH链最高位从该信息中的Ek0(hn-i(xS))和Ek1(hn-j(xA))分别恢复出用户端1和审核端1的HASH链当前次高位。
其中,代理服务器1从Ek0(hn-i(xS))和Ek1(hn-j(xA))分别恢复出用户端和审核端HASH链的当前次高位的过程采用与前述加密过程相反的过程即可。
在步骤602中,代理服务器1利用从Ek0(hn-i(xS))恢复出的用户端HASH链的当前次高位验证MAC1中的hn-i(xS),即将二者进行比较,如果验证未成功,即二者不同,则执行步骤605,即丢弃审核端1发送的信息,向用户端1和审核端1返回未授权的消息;否则执行步骤603,代理服务器1利用从Ek1(hn-j(xA))恢复出的审核端HASH链的当前次高位验证MAC2中的hn-j(xA),如果验证未成功,则执行步骤605;否则,执行步骤604,代理服务器1仅将用户端1发送的原始信息Msg发送给企业外部的接收者,向用户端1和审核端1返回授权的消息,并将其保存的用户端1的HASH链的最高位和审核端1的HASH链的最高位更新为hn-i(xS)和hn-j(xA)。
在上述方法中,用户端1和审核端1都是预先利用系统分配的随机数生成HASH链,然后利用HASH链的当前次高位生成验证码。实际情况中,也可以直接采用系统分配的随机数作为验证码。当直接采用系统分配的随机数作为验证码时,可以看作是上述方法的一个特例,即用户端1和审核端1的HASH链为只有一个数的HASH链,但是不需要用户端1和审核端1预先生成HASH链。
在这种情况下,系统将为用户端1分配用于对随机数进行加密的密钥k0,为审核端1分配用于对随机数进行加密的密钥k1,并将k0和k1保存在代理服务器1中。
在系统初始化时,系统将为用户端1分配随机数xS。当企业内部员工通过用户端向企业外部发送信息Msg时,用户端可以1利用所述第二HASH函数对xS、信息Msg、RID和AID进行运算生成MAC1,即运算MAC1=H(Msg‖RID‖AID‖xS);并利用系统配置的密钥k0对xS加密,得到加密后的信息Ek0(xS)。
获得Ek0(xS)和MAC1后,用户端11将Msg、RID、AID、Ek0(xS)和MAC1进行串接后,一起送给审核端1。
用户端1收到代理服务器1返回的消息,可以判断该消息是否为授权消息,如果是,则删除xS,等待系统再次分配随机数;否则,保持xS不变。
在系统初始化时,系统将为审核端1分配随机数xA。审核端1收到来自用户端1的信息后,假设审核端1收到的信息为Msg‖RID‖AID‖Ek0(xS)‖MAC1,审核端1将对员工发送的原始信息Msg进行审核。如果原始信息Msg通过审核,则审核端1利用第二验证信息单元33生成MAC2。其中,如果信息Msg审核未通过,则审核端1将丢弃用户端发送的信息。
审核端1将利用第二HASH函数对Msg、RID、AID和xA进行运算,生成MAC2,即计算MAC2=H(Msg‖RID‖AID‖xA);并利用系统配置的密钥k1对xA加密,得到加密后的信息Ek1(xA)。
其中,用户端1利用k0对xS加密,以及审核端1利用k1对xA进行加密的算法有很多种,例如:可以采用数据加密标准(DES)算法,也可以采用高级加密标准(AES)算法。
获得Ek1(xA)和MAC2后,审核端11将Msg、RID、AID、Ek0(xS)、MAC1、Ek1(xA)和MAC2进行串接后,一起送给代理服务器1。
审核端1收到代理服务器1返回的消息,可以判断该消息是否为授权消息,如果是,则删除xA,等待系统再次分配随机数;否则,保持xA不变。
代理服务器1收到审核端1发送的消息后,假设代理服务器1接收到的消息为Msg‖RID‖AID‖Ek0(xS)‖MAC1‖Ek1(xA)‖MAC2,将利用保存的k0和k1分别恢复出用户端和审核端的随机数。
然后,代理服务器1利用从Ek0(xS)和Ek1(xA)分别恢复出的用户端和审核端的随机数验证MAC1和MAC2。如果验证成功,则授权,将员工发送的原始信息Msg发送给该信息的接收者,并向用户端1、审核端1发送授权消息;否则,不授权,丢弃审核端1发送的消息,并向用户端1、审核端1发送未授权消息。
可以看出,在上述两种方法中,当企业内部员工向企业外部发送信息时,只有通过了审核端1的审核和代理服务器1的授权之后,该信息才能被发送到企业外部。但在上述两种方法中,审核端1在收到用户端1发送的信息时,只能对该信息的内容进行审核,而无法知道该信息来自哪个用户端。为使审核端1获知信息的来源,可以在上述两种方法中都添加用户端1的签名信息,以使审核端1能获知其收到的信息来自哪个用户端。
用户端1在发送信息Msg时,可以将信息Msg、RID和AID进行串接,即进行Msg‖RID‖AID;并利用预置的第二HASH函数,对串接后的信息进行HASH运算,即运算H(Msg‖RID‖AID);再利用该员工的私钥对运算后的信息进行签名,即进行Sig0=Epri(H(Msg‖RID‖AID))。其中,Epri(*)是该员工的私钥。生成签名信息Sig0后,用户端1将Sig0随同其它信息一起发送给审核端1。
审核端1收到来自用户端1的信息后,将用户端1的信息从PKI服务器获得公钥,并利用获得的公钥验证签名信息Sig0。对签名信息Sig0验证通过后,审核端1再对员工发送的原始信息Msg进行审核。
本发明中所述的信息Msg既可以是email也可以是通过HTTP、FTP、P2P等协议发送的其它文件。
以上所述的实施例仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (22)

1.一种防止信息泄漏的系统,其特征在于,包括:
用户端,用于在用户发送信息Msg时,生成第一验证信息,将包括Msg和第一验证信息的消息发送给所述审核端;
审核端,用于审核所述Msg,如果审核通过,则生成第二验证信息,将包括Msg、第一验证信息和第二验证信息的消息发送给代理服务器;
代理服务器,用于验证第一验证信息和第二验证信息,如果验证都通过,则将Msg发送给该Msg的接收者,并向所述用户端和审核端返回授权消息。
2.根据权利要求1所述的系统,其特征在于,所述用户端包括:
第一验证信息单元,用于在未生成HASH链时,根据第一随机数xS和第一哈希HASH函数生成用户端HASH链,将该HASH链的最高位秘密发送给所述代理服务器;在用户端发送Msg时,通过运算MAC1=H(Msg||RID||AID||hn-i(xS))生成第一验证码MAC1,通过hn-i+1(xS)对hn-i(xS)加密生成加密信息E0;
用户端发送单元,用于将包括Msg、MAC1和E0的消息发送给所述审核端;
其中,H(*)是预置的第二HASH函数,RID是Msg接收者的ID,AID是所述审核端的ID,hn-i(xS)是用户端HASH链的当前次高位,hn-i+1(xS)是用户端HASH链的当前最高位。
3.根据权利要求2所述的系统,其特征在于,所述审核端包括:
审核单元,用于在收到用户端发送的消息后,审核该消息中的Msg;
第二验证信息单元,用于在未生成HASH链时,根据第二随机数xA和所述第一HASH函数生成审核端HASH链,并将该HASH链的最高位秘密发送给代理服务器;在审核单元审核Msg通过后,通过运算MAC2=H(Msg||RID||AID||hn-j(xA))生成第二验证码MAC2,通过hn-j+1(xA)对hn-j(xA)加密生成加密信息E1;
所述审核端发送单元用于将包括Msg、MAC1、E0、MAC2和E1的消息发送给所述代理服务器;
其中,hn-j(xA)是审核端HASH链的当前次高位,hn-j+1(xA)是审核端HASH链的当前最高位。
4.根据权利要求3所述的系统,其特征在于,所述代理服务器包括存储单元、恢复单元、授权单元和反馈单元;
所述存储单元用于保存所述用户端HASH链的最高位和所述审核端HASH链的最高位;
所述恢复单元用于在收到审核端发送的所述消息后,利用存储单元保存的用户端、审核端HASH链的最高位从E0和E1分别恢复出用户端、审核端HASH链的当前次高位;
所述授权单元利用恢复出的用户端和审核端HASH链的当前次高位验证MAC1和MAC2,如果验证成功,则授权,发送Msg给该信息的接收者,通知反馈单元向所述用户端、审核端发送授权消息;否则,不授权,丢弃审核端发送的信息,通知反馈单元向所述用户端、审核端发送未授权消息;
所述反馈单元用于根据授权单元的通知向所述用户端和审核端发送相应的消息。
5.根据权利要求4所述的系统,其特征在于,还包括:
更新单元,用于在授权单元授权后,将存储单元中保存的用户端和审核端HASH链的最高位更新为恢复出的用户端和审核端HASH链的次高位;
用户端更新单元,用于判断所述代理服务器返回给用户端的消息是否为授权,如果是,则删除所述用户端HASH链的当前最高位,该HASH链的次高位成为新的当前最高位;否则,保持该HASH链的当前最高位不变;
审核端更新单元,用于判断所述代理服务器返回给审核端的消息是否为授权,如果是,则删除所述审核端HASH链的当前最高位,该HASH链的次高位成为新的当前最高位;否则,保持该HASH链的当前最高位不变。
6.根据权利要求1所述的系统,其特征在于,所述用户端包括:
第一验证信息单元,用于保存系统配置的第一随机数xS和用于对该随机数加密的密钥k0;在用户端发送Msg时,通过运算MAC1=H(Msg||RID||AID||xS)生成第一验证码MAC1,通过k0对xS加密生成加密信息E0;
用户端发送单元,用于将包括Msg、MAC1和E0的消息发送给所述审核端;
其中,H(*)是预置的HASH函数,RID是Msg接收者的ID,AID是所述审核端的ID。
7.根据权利要求6所述的系统,其特征在于,所述审核端包括:
审核单元,用于在收到用户端发送的消息后,审核该消息中的Msg;
第二验证信息单元,用于保存系统配置的第二随机数xA和用于对该随机数加密的密钥k1;在审核单元审核Msg通过后,通过运算MAC2=H(Msg||RID||AID||xA)生成第二验证码MAC2,通过k1对xA加密生成加密信息E1;
所述审核端发送单元用于将包括Msg、MAC1、E0、MAC2和E1的消息发送给所述代理服务器。
8.根据权利要求7所述的系统,其特征在于,所述代理服务器包括:存储单元、恢复单元、授权单元和反馈单元;
所述存储单元用于保存所述k0和k1;
所述恢复单元用于在收到审核端发送的所述消息后,利用存储单元保存的k0和k1分别从E0和E1恢复出用户端、审核端的随机数;
所述授权单元利用恢复出的用户端和审核端的随机数验证MAC1和MAC2,如果验证成功,则授权,发送Msg给该信息的接收者,通知反馈单元向所述用户端、审核端发送授权消息;否则,不授权,丢弃审核端发送的信息,通知反馈单元向所述用户端、审核端发送未授权消息;
所述反馈单元用于根据授权单元的通知向所述用户端和审核端发送相应的消息。
9.根据权利要求8所述的系统,其特征在于,还包括:
用户端更新单元,用于判断所述代理服务器返回的消息是否为授权,如果是,则删除xS,等待系统再次分配随机数;否则,保持xS不变;
审核端更新单元,用于判断所述代理服务器返回的消息是否为授权,如果是,则删除xA,等待系统再次分配随机数;否则,保持xA不变。
10.根据权利要求2至5任意一项所述的系统,其特征在于,所述第一HASH函数为单向HASH函数。
11.根据权利要求2至9任意一项所述的系统,其特征在于,还包括:
签名单元,用于在用户发送信息Msg时,通过运算Sig0=Epri(H(Msg||RID||AID)),生成签名信息Sig0,并发送Sig0给用户端发送单元,将Sig0随同Msg、MAC1和E0一起发送给审核端;
公钥基础设施PKI服务器,用于保存公钥信息;
签名验证单元,用于在审核端收到用户端发送的所述消息后,根据所述用户端的信息从PKI服务器获得公钥,验证Sig0,并在验证Sig0通过后,通知审核单元审核Msg;
其中,Epri(*)是所述用户的私钥。
12.一种采用权利要求1所述系统的防止信息泄漏的方法,其特征在于,包括:
用户端在用户发送信息Msg时,生成第一验证信息,将包括Msg和第一验证信息的消息发送给所述审核端;
审核端审核所述Msg,如果审核通过,则生成第二验证信息,将包括Msg、第一验证信息和第二验证信息的消息发送给代理服务器;
代理服务器验证第一验证信息和第二验证信息,如果验证都通过,则将Msg发送给该Msg的接收者,并向所述用户端和审核端返回授权消息。
13.根据权利要求12所述的方法,其特征在于,按下述步骤生成第一验证信息:
用户端在未生成HASH链时,根据第一随机数xS和第一哈希HASH函数生成用户端HASH链,将该HASH链的最高位秘密发送给所述代理服务器;
用户端在发送Msg时,通过运算MAC1=H(Msg||RID||AID||hn-i(xS))生成第一验证码MAC1,通过hn-i+1(xS)对hn-i(xS)加密生成加密信息E0;
其中,hn-i(xS)是用户端HASH链的当前次高位,hn-i+1(xS)是用户端HASH链的当前最高位。
14.根据权利要求13所述的方法,其特征在于,按下述步骤生成第二验证信息:
审核端在未生成HASH链时,根据第二随机数xA和所述第一HASH函数生成审核端HASH链,并将该HASH链的最高位秘密发送给代理服务器;
审核端在审核Msg通过后,通过运算MAC2=H(Msg||RID||AID||hn-j(xA))生成第二验证码MAC2,通过hn-j+1(xA)对hn-j(xA)加密生成加密信息E1;
其中,hn-j(xA)是审核端HASH链的当前次高位,hn-j+1(xA)是审核端HASH链的当前最高位。
15.根据权利要求14所述的方法,其特征在于,按下述步骤授权:
代理服务器保存所述用户端HASH链的最高位和所述审核端HASH链的最高位;
代理服务器收到审核端发送的所述消息后,利用其保存的用户端、审核端HASH链的最高位从E0和E1分别恢复出用户端和审核端HASH链的当前次高位;
代理服务器利用恢复出的用户端和审核端HASH链的当前次高位验证MAC1和MAC2,如果验证成功,则授权,发送所述信息Msg给该信息的接收者,向所述用户端、审核端发送授权消息;否则,不授权,丢弃所述信息Msg,向所述用户端、审核端发送未授权消息。
16.根据权利要求15所述的方法,其特征在于,进一步包括:
代理服务器在授权后,将其保存的用户端和审核端HASH链的最高位更新为恢复出的用户端和审核端HASH链的当前次高位;
用户端判断代理服务器返回的消息是否为授权,如果是,则删除所述用户端HASH链的当前最高位,该HASH链的次高位成为新的当前最高位;否则,保持该HASH链的当前最高位不变;
审核端判断所述代理服务器返回的消息是否为授权,如果是,则删除所述审核端HASH链的当前最高位,该HASH链的次高位成为新的当前最高位;否则,保持该HASH链的当前最高位不变。
17.根据权利要求12所述的方法,其特征在于,按下述步骤生成第一验证信息:
用户端保存系统配置的第一随机数xS和用于对该随机数加密的密钥k0;
用户端在发送Msg时,通过运算MAC1=H(Msg||RID||AID||xS)生成第一验证码MAC1,通过k0对xS加密生成加密信息E0;
其中,H(*)是预置的HASH函数,RID是Msg接收者的ID,AID是所述审核端的ID。
18.根据权利要求17所述的方法,其特征在于,按下述步骤生成第二验证信息:
审核端保存系统配置的第一随机数xA和用于对该随机数加密的密钥k1;
审核端在审核Msg通过后,通过运算MAC2=H(Msg||RID||AID||xA)生成第二验证码MAC2,通过k1对xA加密生成加密信息E1。
19.根据权利要求18所述的方法,其特征在于,按下述步骤授权:
代理服务器保存k0和k1;
代理服务器收到审核端发送的所述消息后,k0用k0和k1从E0和E1分别恢复出用户端和审核端的随机数;
代理服务器利用恢复出的用户端和审核端的随机数验证MAC1和MAC2,如果验证成功,则授权,发送所述信息Msg给该信息的接收者,向所述用户端、审核端发送授权消息;否则,不授权,丢弃所述信息Msg,向所述用户端、审核端发送未授权消息。
20.根据权利要求19所述的方法,其特征在于,进一步包括:
用户端判断所述代理服务器返回的消息是否为授权,如果是,则删除xS,等待系统再次分配随机数;否则,保持xS不变;
审核端判断所述代理服务器返回的消息是否为授权,如果是,则删除xA,等待系统再次分配随机数;否则,保持xA不变。
21.根据权利要求13至16任意一项所述的方法,其特征在于,所述第一HASH函数为单向HASH函数。
22.根据权利要求13至20任意一项所述的方法,其特征在于,进一步包括:
用户端在用户发送信息Msg时,通过运算Sig0=Epri(H(Msg||RID||AID)),生成签名信息Sig0,并将Sig0随同Msg、MAC1和E0一起发送给审核端;
审核端在收到用户端发送的所述消息后,根据所述用户端的信息从PKI服务器获得公钥,验证Sig0,并在验证Sig0通过后,审核Msg;
其中,Epri(*)是所述用户的私钥。
CN2006101637830A 2006-12-04 2006-12-04 防止信息泄漏的系统和基于该系统的防止信息泄漏的方法 Expired - Fee Related CN101197822B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2006101637830A CN101197822B (zh) 2006-12-04 2006-12-04 防止信息泄漏的系统和基于该系统的防止信息泄漏的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2006101637830A CN101197822B (zh) 2006-12-04 2006-12-04 防止信息泄漏的系统和基于该系统的防止信息泄漏的方法

Publications (2)

Publication Number Publication Date
CN101197822A true CN101197822A (zh) 2008-06-11
CN101197822B CN101197822B (zh) 2011-04-13

Family

ID=39547971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101637830A Expired - Fee Related CN101197822B (zh) 2006-12-04 2006-12-04 防止信息泄漏的系统和基于该系统的防止信息泄漏的方法

Country Status (1)

Country Link
CN (1) CN101197822B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571723A (zh) * 2010-12-30 2012-07-11 上海量明科技发展有限公司 一种经由第三方审批的数据传输方法及系统
CN103685205A (zh) * 2012-09-24 2014-03-26 联想(北京)有限公司 客户端、服务器和应用于其的信息处理方法
CN104794654A (zh) * 2015-04-01 2015-07-22 太仓云联信息科技有限公司 一种金融授权审核系统
CN106815734A (zh) * 2015-11-27 2017-06-09 方正国际软件(北京)有限公司 一种信息传输方法及装置
CN107147561A (zh) * 2017-04-18 2017-09-08 北京思特奇信息技术股份有限公司 一种基于xmpp协议的即时通讯方法及系统
CN110610361A (zh) * 2018-06-14 2019-12-24 普天信息技术有限公司 基于区块链的企业数据签名方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1633072A (zh) * 2005-01-10 2005-06-29 虞淑瑶 一种支持弱口令的双服务器认证方案
US20060259759A1 (en) * 2005-05-16 2006-11-16 Fabio Maino Method and apparatus for securely extending a protected network through secure intermediation of AAA information
CN100521598C (zh) * 2006-02-09 2009-07-29 南京工业大学 基于单工通信原理实现计算机内、外网之间安全通信的方法及系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571723A (zh) * 2010-12-30 2012-07-11 上海量明科技发展有限公司 一种经由第三方审批的数据传输方法及系统
CN103685205A (zh) * 2012-09-24 2014-03-26 联想(北京)有限公司 客户端、服务器和应用于其的信息处理方法
CN103685205B (zh) * 2012-09-24 2017-09-29 联想(北京)有限公司 客户端、服务器和应用于其的信息处理方法
CN104794654A (zh) * 2015-04-01 2015-07-22 太仓云联信息科技有限公司 一种金融授权审核系统
CN106815734A (zh) * 2015-11-27 2017-06-09 方正国际软件(北京)有限公司 一种信息传输方法及装置
CN106815734B (zh) * 2015-11-27 2022-02-08 方正国际软件(北京)有限公司 一种信息传输方法及装置
CN107147561A (zh) * 2017-04-18 2017-09-08 北京思特奇信息技术股份有限公司 一种基于xmpp协议的即时通讯方法及系统
CN107147561B (zh) * 2017-04-18 2020-11-20 北京思特奇信息技术股份有限公司 一种基于xmpp协议的即时通讯方法及系统
CN110610361A (zh) * 2018-06-14 2019-12-24 普天信息技术有限公司 基于区块链的企业数据签名方法及装置

Also Published As

Publication number Publication date
CN101197822B (zh) 2011-04-13

Similar Documents

Publication Publication Date Title
TWI522948B (zh) Business realization system and method
US9852300B2 (en) Secure audit logging
US8737624B2 (en) Secure email communication system
CN109361668A (zh) 一种数据可信传输方法
CN106104562A (zh) 机密数据安全储存和恢复系统及方法
CN104158653A (zh) 一种基于商密算法的安全通信方法
CN105100076A (zh) 一种基于USB Key的云数据安全系统
CN101815091A (zh) 密码提供设备、密码认证系统和密码认证方法
CN111274578A (zh) 一种视频监控系统的数据安全防护系统和方法
CN105338119A (zh) 一种基于云存储的电子证据固定保全系统
CN103546421A (zh) 基于pki技术的网络工作交流安全保密系统及其实现方法
CN101197822B (zh) 防止信息泄漏的系统和基于该系统的防止信息泄漏的方法
CN112202773B (zh) 一种基于互联网的计算机网络信息安全监控与防护系统
CN112615824B (zh) 防泄漏一次一密通信方法及装置
CN102299920A (zh) 电子文档安全管理系统
US9160538B2 (en) Detection method for fraudulent mail, detection program therefor, and detection device therefor
CN116743470A (zh) 业务数据加密处理方法及装置
CN105871858A (zh) 一种保证数据安全的方法及系统
CN114466353A (zh) App用户ID信息保护的装置、方法、电子设备及存储介质
CN108206738A (zh) 一种量子密钥输出方法及系统
CN104270346B (zh) 双向认证的方法、装置和系统
CN106257859A (zh) 一种密码使用方法
JP4140617B2 (ja) 認証用記録媒体を用いた認証システムおよび認証用記録媒体の作成方法
KR20120101236A (ko) 외부 저장장치로의 문서 반출을 실시간 감시하는 패킷분석 기반 문서관리 장치 및 방법
CN104468595A (zh) Nas设备的授权方法、装置、nas设备和服务器

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110413

Termination date: 20191204