CN103297413A - 可分享网络文档保密柜 - Google Patents

可分享网络文档保密柜 Download PDF

Info

Publication number
CN103297413A
CN103297413A CN201310051603XA CN201310051603A CN103297413A CN 103297413 A CN103297413 A CN 103297413A CN 201310051603X A CN201310051603X A CN 201310051603XA CN 201310051603 A CN201310051603 A CN 201310051603A CN 103297413 A CN103297413 A CN 103297413A
Authority
CN
China
Prior art keywords
document
user
key
server
page
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
CN201310051603XA
Other languages
English (en)
Other versions
CN103297413B (zh
Inventor
吴剑青
Original Assignee
查平
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 查平 filed Critical 查平
Publication of CN103297413A publication Critical patent/CN103297413A/zh
Application granted granted Critical
Publication of CN103297413B publication Critical patent/CN103297413B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

网络机密文档储存系统,包含多组文档保密柜和文档抽屉,用以存储和分享机密文档。该系统包括基于万维网的用户界面,用以设置保密柜加密方法和客户机加密方法,使不同计算机加密方法同步,上传文档,跟踪文档,授予文档访问权给其它保密柜用户,产生文档真实性认证证书。该系统并可在事后,可靠地证明文档上载时间和文档内容。

Description

可分享网络文档保密柜
技术领域
本发明涉及网络可分享文档存储系统,尤其是网络保密文档存储系统。
背景技术
保险柜用于储存金钱之类东西和重要文档。大多数银行租赁传统的保险柜,给他们的客户存放贵重物品(“传统的保险柜”)。传统保险柜只能保存文档,但不能证明文档什么时候开始存在。银行提供传统的保险柜,为客户提供方便。客户租用保险柜,可以安全地存储东西。每次当客户访问保险柜,客户必须亲自到银行,把钥匙给银行代表,并签署访问日期和时间。然后,银行代表同时使用银行钥匙和客户钥匙,打开保险柜。因为银行代表没有客户钥匙无法打开保险柜,所以这个系统被认为安全。
提供这种常规保险柜服务,银行要跟踪客户的每个访问,但不跟踪存储项目,即关于他们的身份和存款。保险柜用户每次必须访问银行,并在银行访问日志上签名等待。由于这项服务性质,客户只能从当地提供保险柜银行租用保险柜。
互联网出现后,文档可以在远程服务器上存储。用服务器接受和保存文档,通过浏览器访问的服务,很久前已存在。使用服务器保存文档是服务器存储能力的自然用途。这种存储服务可包括软件备份服务,它们都具有共同的目标:如果客户丢失原始文档,该系统允许用户从服务器得到一份复制文档。
多年来有些公司网络文档储存系统提供文档存储服务,(“文档储存系统”)。这些公司提供中心服务器,每个远程客户分配一个用户帐号和文档夹(即保险柜名字),客户可以存储文档。其中有些公司提供文档存储附加功能,以提高文档保密性。例如,客户可以使用用户帐户密码对文档进行加密。
网络文档储存系统的功能类似于传统保险柜。当客户文档原件因自然灾害,火灾,或犯罪行为被毁,客户可以从服务器获得复制文档,作为丢失原始文档的证据。在原始文档被毁的情况下,法庭通常接受这种间接证据。即使司法程序不接受间接证据,文档储存系统可以帮助客户确立原始文档信息。但是,现有储存系统不能证明文档开始存在时间,也不能验证文档内容。例如,原件被一场大火烧毁后,人们可以合理地疑问从系统获得文档是不是被毁文档的真实副本。客户无法提供确凿证据,排除从服务器获得文档是原件被摧毁后创建的可能性。
此外,现有文档储存系统不能完全解决所有保密问题。典型的储存系统使用帐户密码对文档进行加密。此密码必须存储在服务器上,用以验证用户的身份。即使密码以“哈希”形式储存,它仍然有可能从哈希形式导出原来密码。因此,只要保密措施是基于帐户密码,储存系统任何人都可以访问文档。此外,帐户登录密码用来加密文档后,更改登录密码是非常麻烦和危险的。
现有文档存款系统使用的保密方法,不能防止黑客访问存储文档。在这样系统,哈希密码和帐户名称必须保存在文档中。如果黑客通过非法手段获取这个文档,黑客可以从所有哈希的帐户密码导出真正的密码。黑客不仅可以得到登录名称,也可以得到存储文档解密的密码。因此,这种保密方法不够保密,难以防止非法和不合理的访问。任何使用帐户密码加密的文档保险柜系统,没有足够保密度来存储高度机密信息。
云计算技术的应用障碍是储存数据保密性,公众并不太关心数据传输安全。这个观点根据如下观察:企业和个人都愿意使用电子邮件发送机密文档,但不愿意在别人服务器上存储机密信息和个人秘密。用户显然愿意接受互联网中数以百万传输信息,拦截邮件或密钥的极小可能性。
攻击密钥试验证明,密钥攻击在计算上不现实。对于AES128,AES192和AES256,使用bicliques以找到密钥的计算复杂性为2的100次方以上。因此,保密漏洞通常不在加密算法。
公众对多方参与的保密安排并没有信心。这种保密安排可以有效对付守法人,但因很多其它原因不能防止非法访问。首先,最大问题是参与这项安排内幕人的行为。内幕人的行为威胁阻止存储空间分享。当黑客有兴趣获得来自目标用户的机密信息,黑客可以接触知情人。公司内部政策和国家法律不能阻止这种接触。如果所寻求机密资料具有巨大的经济价值,没有私人协议和法律可以制止商业间谍和合谋。第二,整个网络基础结构脆弱。例如,在网上传输的信息可以被中间人截获,密码和密钥可以在传输时被截;整个数据库可以让内幕人导出并拿走;服务器软件可以被篡改,以进行未经授权的活动;间谍软件和病毒可以偷偷安装在客户机上,以获取机密信息,密钥和密码;甚至可以通过非法操作服务器,以捕获内存中的信息。最后,多人参与的保密措施都会应法律程序滥用而无效。一个人可以用琐屑无聊,或不正当目的,对另一人提起诉讼,获得发送传票权利,以获得机密资料。当此案被驳回时候,该人可能获得了秘密。这些观察表明,″受信任的系统,″受信任的供应商″和″信任的组件″,并不可信。
传输层保密措施和公钥基础结构被视为传输中机密数据最大保护。但是,它的脆弱性早就被发现。请参阅“:客户端SSL、约翰,马尔凯西尼等、计算机及保密(2004年)(Keyjacking:the surprising insecuity cf client-side SSL,John Marchenini et al.,Computer and Security(2004))。这篇文章得出结论说,″我们证明通过一系列实验,即使浏览器用户正确做所有事情,这种假设并不能在标准桌面工具下成立。重新考虑信托、用途、存储模型可能导致更有效的工具,以实现PKI目标″。
许多文档存储系统是建立在一个有缺陷的假设:网上的所有人均按游戏规则,因此可以建立真正身份和信任。言外之意,这样系统仅可以约束遵纪守法人的行为。黑客不遵循任何规则,他们可以使用任何非法手段、包括拦截消息、贿赂雇员、通过第三方寻求机密、和滥用司法程序。数据存储保险柜不能基于法律规则、公司常规、道德标准、私人合同、刑事制裁、可信的硬件、可信的软件、可信的第三方、可信的员工。云计算的数据必须被视为在敌人心脏的情报、竞争对手和黑客所寻求的资料。互联网真正数据保密只能通过两种方式来实现:邮件匿名传输和客户机加密。
发送和存储匿名消息是打击黑客入侵行动最有效的方法,但它不符合网络协议和法律要求。在任何时刻互联网传递数以百万计的信息。黑客试图捕获所有密码、所有密钥、所有消息是不可能的。每个成功攻击需要巨大财政资源和漫长执行时间,从收集情报、探索漏洞、寻找业内人士、制订计划、执行计划。任一黑客操作,黑客要做的第一件事是寻求目标,或寻求某种信息。无论什么目的,发送方和接收方身份、传输邮件的可探测的词,是黑客寻求的第一要素。当某人隐瞒真实身份,发送不引人注意的消息,没人会在一个秒钟的时间内捕获此消息。即使黑客已通过其他方式发现目标人物,黑客仍然缺乏信息,建立传输中信息与目标人的关系。盗窃所有邮件是不可能的。
多人保险柜安排不但不能防止有目的的攻击,但会增加易受攻击的危险。如果一个网站已被定为攻击目标,则几乎无法采取措施制止它。第三方雇员、目标人或实体真实身份,和网站详细信息是黑客攻击计划的有用线索。相比之下,黑客从匿名信息找不到任何线索。为能实现最高数据传输和存储保密性,一种策略是避免不必要的中间人。最好保密方法是:在数据被发送之前,在客户机上加密数据。数据保密程度取决于加密方法强度。但是,客户机数据加密有加密同步的障碍。一种解决方案采用第三方来管理加密方法和密钥,第三方的存在留下黑客寻求的宝贵线索。
综上所述,有需要提供新的网络保密文档存储系统;有需要提供真正保密的文档存储系统;有需要提供能认证文档上送时间和内容的网络机密文档存储系统;有需要提供他人可以访问的网络机密文档存储系统,有需要提供能跟踪访问历史网络机密文档存储系统。
发明内容
本发明是一个可分享高保密网络文档保密柜系统(“文档保密柜”或“数字保密柜”),让远程用户安全地储存文档,文档可以是文本文档、应用程序文档、图像文档、视频文档、声音文档、计算机程序、源代码、可执行程序、任何可以被转换成数值文档的东西。
文档保密柜可以用单一密钥,两个密钥,和共同密钥把任何文档加密,并储存在服务器上。上载文档时,把文档加密,同时把已加密的文档存储在服务器的数据库或文档夹,并让其他授权用户访问。密钥不保存在服务器上,也不是由第三方人管理。在下载文档时,服务器生成页面,提示用户提供文档密钥,使用相同加密算法和密钥进行解密。该系统还提供方法,确定客户机使用的加密算法和密钥是否和保密柜用的加密算法和密钥兼容。因此,客户机可以取代服务器的加密和解密功能。
通过使用一个加密用标记(“标记”)来实现不同机之间加密同步。用户选择一个标记,由一个私钥加密该标记成为″E-标记″,并最好把加密标记安装在服务器的两个地方。这就成为保密柜加密算法和密钥的标准。在不同客户机上同一用户或第二用户,通过解密这个E-标记,可以知道用户提供的密钥是否与保密柜创建E-标记的密钥相同,也可知道用户用现在用的加密算法是否与创建E-标记的加密算法相同。该方法可包括一个额外的加密参考标记,称为R-标记,它由永久不变密码加密标记副本产生,并安装在服务器上。如果由测试的加密算法和测试密钥对E-标记解密所产生第一个标记,等同于由R-标记解密所产生第二个标记,测试算法和测试密钥就是被用来加密E-标记算法和密钥。通过使用此方法,用户和有权分享的其他用户,可在任何客户机能找到共同加密算法和共同密钥。该系统提供可下载加密算法,并允许用户验证客户机加密方法是否和标记所定保密柜的加密方法相容。在没有任何第三方员工的参与下,此方法允许客户机接管服务器加密、解密功能,在技术上实现数据传输保密和存储保密最高可能性。“标记所定加密方法”可以用任何非标准,没人所知的加密解密算法。
保密柜用户还可以订购证明上载日期和时间,以及该文档内容的真实性证书。用户可以把任何文档访问权授予其他保密柜用户,以便他们查看,下载和解密授权文档。用户可以为其他用户直接订购真实性证书,让收件人从自己保密柜查看文档,或把真实性证书发送到收件人的电子邮件地址。用户可为收件人订购加密的,或已解密的文档复印件与真实性证书。
本发明包括功能完整网络服务器,至少一个与网络连接的客户机,该系统包括特征:创建加密标记并将其保存在服务器上,确定用户提供的密钥是否相同,服务器和客户机是否有共同加密算法。该系统功能包括,设置服务器默认加密方法(“保密柜加密方法”),管理保密柜帐户,上传文档,根据用户的选择加密文档,下载文档,更改文档访问权限状态,查看文档上传日期时间、文档大小、加密方法、用户身份。该系统可以授予文档访问权到其他保密柜,以便保密柜用户下载并解密已授权的文档,允许用户订购真实性证书,认证文档上载时间和内容。系统还包含额外功能:验证上载文档状况,从保密柜帐户外查看文档,至少两个用户联合管理保密柜,打印文档上载时间和内容的认证证书。此外,系统具有保持文档授权历史记录,文档访问历史记录的功能。发明还包括执行功能的运行进程和程序代码。
本网络机密文档存储系统发明与常规网络文档存储系的不同之处在于:保持每个文档信息的能力、加密方法、控制访问结构、文档分享方法、认证每个文档上传时间和内容的方法。
因为黑客没有原始标记和密钥的任何提示,从加密标记破解密钥难度大。既使黑客知道原始标记内容,用加密标记来破解密钥难度还是很大。因此,本发明的加密方法提高了静态数据保密性。
本发明有望减少因内幕威胁、不满员工串通、商业间谍、违约、非法破解,黑客冷攻击,及被滥用的司法程序所带来静态数据的风险,但会有实施的困难。由于服务器不保存密钥,除非在特殊情况下,在服务器端破解密钥几乎是不现实的。
第二,传输密钥的安全取决于传输层(TLS)强度。尽管已知漏洞,在发件和接收人身份不明的情况下,统计学上截取传输中密钥几乎是不可能的。额外加密方法可增加传输中密钥安全程度。为了减少截传输中密钥的风险,密钥应以不显眼的变量,哈希形式或其他加密形式传送。
第三,黑客从服务器端盗密钥更难。密钥在服务器上停留时间很短。密钥每当完成了加密和解密,即从内存中删除,这减少了冷攻击机会。攻击者仅有有限的时间重新启动服务器,或拿出内存芯片以索取密钥。因此,冷攻击索取密钥比从密钥数据库盗密钥更难。相比较,那些有权访问服务器,或知道服务器详细信息的人,从现有的″受信任″系统获取密钥相对容易。
该方法可使穷举搜索更加困难。如果黑客获得哈希形式密钥的文档,它会给黑客破解密码有用的提示。如果黑客能知道密钥长度和允许字符,可以缩小搜索范围破解密钥。由于此方法允许系统避免保存密钥,黑客无法知道任何有关密钥的信息。没有获得任何帮助,″强攻″破解密码更加困难。
在服务器上避免储存密钥,可能导致用户使用错误密钥。然而,本发明提供了一个用于同步密钥和加密算法详细步骤。每当客户机上用户(或不同客户机上同一用户)提供错误密钥,服务器或客户机将立即知道错用了密钥。因此,用户可以避免影响数据分享的错误。
最后,通过使用客户端的加密方法,该系统将实现数据最高保密性。在这种情况下,黑客可以得到的唯一东西是已加密的标记。黑客没有动机篡改创建标记的过程,因为篡改加密标记会妨碍收集数据。如果加密标记在客户机端上创建,则用户可以完全控制加密方法,执行数据加密方法同步都在客户机上进行,这减少中间人截取密钥的机会,实现传输和存储数据的最高保密性。因为服务器仅包含加密数据,此方法可以减少篡改服务器应用软件的影响。
使用单一或多个记标可以用来实现多种加密同步:(1)任何两个客户机之间加密同步,(2)服务器保密柜和客户机加密同步,(3)保密柜文档抽屉内文档之间加密同步。由于每个保密柜具有其加密标记,加密同步可以在个体保密柜范围内实现。不同保密柜可使用不同加密算法和密钥。通过把加密算法和其它加密信息保存在加密方法字段,服务器知道每个保密柜的加密方法和细节。如果用户使用客户机加密方法,用户可以使用私人加密算法上传和下载文档。在客户机加密方法与服务器保密柜加密方法实现同步后,只要客户机用户提供正确密钥,服务器上加密文档可以在客户机解密。在两个客户机与服务器保密柜实现加密同步后,在任何一个机器加密的文档可以在任一其它两个机器解密。当客户机与服务器实现加密同步后,抽屉中所有文档用相同加密方法加密,它们可以在服务器上加密或在客户机上解密。
附图说明
图1显示文档保密系统注册用户页;
图2显示文档保密系统登录页面;
图3显示更改保密柜密码页面;
图4显示重置帐户密码页面;
图5显示输入安全问题页面;
图6显示设置文档保密柜加密方法页面;
图7显示当客户第一次访问文档保密柜时,系统产生的为客户机设置加密方法页面;
图8显示提示用户确认是否可以读取加密标记页面;
图9显示提示用户确认在网页上的两个标记是否相同页面;
图10显示在客户机已经确定客户机加密算法和密钥是与服务器端保密柜加密方法相一致后提示用户确认页面;
图11显示一种能使客户机之间密钥和加密算法同步的设置过程;
图12显示一种能使客户机之间密钥和加密算法同步的设置过程,其服务器能自动检测到密钥错误;
图13显示设置客户机加密方法的步骤;
图14显示设置客户机加密方法包含自动确定加密同步的步骤;
图15显示含有″你密钥是正确″加密标记的上传文档页面;
图16显示在文档上送后,文档验证步骤中提示用户提供密钥页面;
图17显示在验证上送文档时,出现的文档下载对话页面;
图18显示在文档认证完后,提示用户确认刚上送的文档是否正常的页面;
图19为上传、加密、文档验证的流程图;
图20为不使用单独密钥上传文档的流程图;
图21为验证以前上送的文档是否良好的流程图;
图22显示″文档目录″,包括用来打开用户文档保密柜,其他用户文档保密柜,和文档保密柜抽屉的链接;
图23显示用户有权访问的″文档目录″页面;
图24显示保密柜文档抽屉的″文档目录″;
图25显示不需要单独密钥的下载文档页面;
图26为不需要单独密钥的下载文档的流程图;
图27显示解密和下载文档页面;
图28为解密和下载文档的流程图;
图29显示″文档详细信息″包括上传日期时间、文档大小、加密方法,和有权访问的其他文档保密柜;
图30显示在自己文档保密柜更改文档状态页面;
图31显示删除文档页面;
图32为删除文档的流程图;
图33-35显示为单个文档授予访问权限的页面;
图36显示撤销文档保密柜的单个文档访问权的最后页面;
图37为给单个文档授予访问权限的流程图;
图38为撤消单个文档访问权的流程图;
图39-41显示为单个文档订购电子真实性认证证书页面;
图42-44显示为单个文档订购印本真实性认证证书页面;
图45显示真实性认证证书示例;
图46-48显示为文档保密柜的多个文档授予访问权限页面;
图49为给文档保密柜的多个文档授予访问权限的流程图;
图49-51显示撤销任何文档保密柜的文档访问权管理页面;
图52为撤销文档保密柜的多个文档访问权限的流程图;
图53显示页面用来调用查看电子文档真实性认证证书,印本文档真实性认证证书,其他保密柜的电子文档真实性认证证书;
图54为给多个文档订购真实性认证证书的流程图;
图55为给多个文档订购印本真实性证书的流程图;
图56显示根据系统所使用的加密方法为独立文档加密解密页面;
图57显示对标为全局文档进行搜索页面。
具体实施方式
文档指文本文档、文字处理器文档、图像文档、视频文档、声音文档,.....和任何能够通过互联网传输的文档。
一.系统组件
本发明系统,也被称为共性保密柜和个性保密柜,包括服务器和客户机,它们连接在网络中以便能够使用常见数据传输协议,如TCP交换数据。每个客户机能够按万维网协议访问服务器,访问根据当前HTTP协议(1.0、1.1和1.2)发送的网页。MYSQL数据库应用程序,用来管理用户帐号和存储文档。如果速度和生产效率不是考虑因素,它完全可以免除。例如,可使用Perl数据库作为替代,文档可以存储在文档夹中。因为这个系统要可靠地储存高度机密文档,在原始文档丢失情况下认证文档内容,该系统最好部署两个数据设施。如果不可能重复部署数据设施,有必要用两套的永久介质备份数据,并在两个不同的地点保存备份介质。
二.文档保密柜和文档抽屉使用方法
该系统的主要用途是用户上载使用用户提供密钥加密的重要文档。当用户需要证明文档创建时间和内容时,用户可以从服务器下载文档和证书。系统至少提供两个菜单:访问我的保密柜和注册保密柜。此外,用户说明可作为一个选项放在主页,以便潜在用户了解其基本概念。
首先,用户可以从客户机开设保密柜或用户帐户,并登录保密柜。在用户登录后,用户可以看到保密柜中所有的文档和用户有权访问的其他保密柜文档。第二,用户可以给服务器上保密柜设置加密方法,或给客户机(Session)设置加密方法。第三,用户可将文档上载到服务器保密柜存储。在上传文档时,提示用户从列表中选择加密方法。第四,文档上载页面被提交后,系统上载文档到临时文档夹,或用户保密柜指定的文档夹中。第五,服务器根据用户选择加密方法加密该文档。可在服务器“on-the-fly”执行,或再把文档写入数据库表或文档夹前加密。所述服务器端加密,可以被客户机加密替代。第六,服务器创建文档基本信息,包括上载日期和时间、文档大小、加密方法、用户名称,并将信息作永久记录写入数据库表。第七,服务器将文档写入数据库文档内容字段或保密柜文档夹。第八,只要用户能够认证保密柜帐户,并为加密文档提供正确密钥,在任何时候都可以下载该文档。第九,用户可把文档访问权限授予在服务器上有保密柜的人或有客户帐户的人。
用户可选择性地下载加密或解密的文档,网页或PDF格式真实性认证证书,该证书包含文档基本信息。用户可要求把真实性认证证书发送到第二用户的保密柜。此证书是一份载有简单语句文档。此证书保存在数据库表″证书″或保密柜帐户文档夹中。真实性认证证书也可以写在第二用户保密柜的文档夹,或邮寄给第二用户的电子邮件地址。最好在第二用户下一次登录保密柜,发出通知告知证书存在。如果第二用户也授予该文档的访问权,第二用户可获得文档和证书。
保密柜的用户还可订购印本证书,用以验证文档上载时间和实质内容。订购该证书时,用户可选择包括发送到第二位用户的印本文档,并在订购该证书时敦促用户提供密钥。提交订单后,服务器读取文档、将其解密,并将解密文档连同该证书在特定证书表或帐户文档夹中保存。按照预先安排好的日程或服务器管理员指令,网上打印机自动打印已解密的文档。
系统工作人员可打印印本文档,并由有绑定功能打印机自动绑为小册子,用支持已解密文档格式的商用程序打印文档,用网上打印机打印网页格式电子证书。PDF电子证书,可用任何支持PDF应用程序打印,可用扫描设备和适当图像软件检查打印质量、图像密度、文本边距。系统工作人员只进行有限目视检查,正确打印文档,并确保不会侵犯文档隐私。
如果用户已将文档解密下载,发送反馈有关文档状况,可以免除目视检查。如果用户对文档的状况提供了很好的反馈,打印文档的系统只需要确保打印机功能正常。因此,没有必要仔细目视检查打印的文档。
在用户未进行文档下载验证测试,或未发送文档状况反馈,有必要目测检查文档印刷质量。不同隐私级别文档可在不同打印店打印。用密钥加密方法作为保密要求最高的文档处理。对最高保密文档,可禁止文档视觉检测。
如果用户同意放弃文档隐私,用户可提供密钥给该系统的工作人员。系统工作人员解密打印文档,对文档打印质量进行检查,最后把要认证文档和真实性证书一起邮寄给指定的收件人。
个别加密文档可指定为全局文档,可以让任何人直接访问。虽然加密文档不使用保密柜名称和密码,但访问加密文档的先决条件是登录保密柜。这个全局文档选项除去登录保密柜的要求,让没有保密柜的人直接获取。
文档存储系统提供文档验证方法,用于验证上载文档的状况。上载文档刚刚结束,系统提示用户下载文档,并验证文档状况,用户确认是否能成功地打开上载的文档。如果用户能打开该文档,用户确认文档状况正常。此步骤帮助用户认定那些在上载过程中损坏的文档。
三.网页界面和软件组件
实施保密文档存储系统的软件组件不应向公众透露。透露黑客寻求的细节会减弱系统保密性。但是,在此透露程序代码和数据库表结构只是一个例子。程序代码和数据结构只有调整后,在能在实际文档存储系统中使用。
实施这项发明的软件,包括服务器应用程序和网页浏览器代码。该系统的主要组成部分包括保密柜帐户管理组件、文档上传组件、文档下载组件、访问控制组件、加密和解密组件、文档验证组件、证书创建组件、印本证书订购组件、电子邮件通知组件。该发明并不需要所有组件。为披露方便,共同执行一个明确功能所有软件组件都被看作该功能的组件。
每个软件组件可能有两个或更多不同的软件模块。例如,上传组件包含客户机浏览代码,和接收文档上载的服务器端代码,用以获取当时系统时间、文档大小、所有人的信息,把他们写入数据库表或正确的文档夹中。同样,加密组件对正在上载文档加密。因此,加密组件和上传组件协同工作,很难分开。上载文档后,服务器会自动更新文档表,反映新家加文档。因此,许多组件显然是分享的。
四.保密柜帐户管理
″第二用户″指保密柜用户以外所任何人。它包括第二人、第二个用户、第三方用户、第三方,文档收件人。第二用户亦可是公司实体和政府机构。
保密柜系统主页包含导航栏上两个菜单:″访问我的保密柜″和″获得保密柜″按钮。潜在户点击″获得保密柜″,打开如图1所示″获得保密柜″注册页面。用户也可用如图2所示”注册”链接开帐户,用户点击″注册″链接,使服务器发送注册页面,包括保密柜名称输入框205、保密柜帐号密码输入框210、保密认证问题输入框215、答案输入框220,用户输入基本信息;在处理注册请求时,服务器首先验证保密柜名称是否可用。如果保密柜名称已被使用,服务器响应消息提示用户选择另一名称。返回此消息时,服务器获取所有变量值,并把它们填充新页面变量名称输入框,这样,用户在下一次尝试不需输入所有数据。用户可使用的电子邮件地址作为保密柜名称。
服务器确定所建议保密柜名称唯一后,将数据保存在数据库用户信息表适当字段。该表的字段示例包括:保密柜名称、保密柜号码、认证码(为可选)、人名前缀、名字、姓氏、职务、地址、城市、省名、邮编、国家、电话、电子邮件、激活、创建、登录时间、密码、问题、答案、注册密码、注册问题、注册答案、加密设置字段。此外,服务器还可向用户电子邮件地址发送一条消息,确认登记的保密柜,但不透露密码。如果服务器没有任何错误,它发送页面显示消息″帐户注册成功!”否则,服务器发送页面,显示″服务器不能为你创建保密柜″的消息。在任何情况下,服务器获取用户输入的所有变量值,把它们填充到响应页面的输入框,用户在下一次尝试中不需要重输数据。
要成功注册保密柜,保密柜名称必须是唯一。拟议密码、电子邮件地址、认证码要符合格式要求。例如,服务器可要求保密柜名称包含至少4个字符,一个好密码的长度在最小字符数和最大字符数之间,并包含数字和字母。为用户使用方便,固定的数量字符可作认证码。
认证码不是用来增加保密柜安全,而是用来认证保密柜账户。当系统拥有大量保密柜,许多保密柜姓名可能相似并且用户可能会错误地输入保密柜名称。如果用户把机密文档访问权错误地授予保密柜,这种错误很严重。认证码有效消除保密柜身份错误方法。其他数据如帐户用户名称、街道地址、城市、和邮政编码可用于身份验证。
已注册用户可用图2所示登录页面访问保密柜。用户输入保密柜名称和密码,点击″登录″按钮。在响应时,系统获取用户提供的保密柜名称和密码,并将其与数据库表中的所有″保密柜名称″和″密码″字段值进行比较。如果找到了一个记录,则允许用户登录。如果用户提供了正确保密柜名称,可允许用户进行几次尝试。失败尝试次数可存储在连接会话对象(Session Object)中。如果尝试失败总数超过了允许限制,服务器可暂时禁用(无论尝试多少保密柜名),并向用户的电子邮件地址发送电子邮件警告。但是,此功能可能对用公共计算机访问的用户造成负担。当用户成功登录保密柜时,服务器当前时间被保存在数据库表的″登录时间″字段。如果服务器因密码错误或名称错误,不能验证用户身份,系统发送已消除旧密码登录页,并显示一条错误消息如″密码不正确″,提示用户再次登录。
系统产生连接会话对象来执行此保密功能。两次或三次登录尝试之后,系统阻止用户进一步尝试。将每个失败登录尝试累计起来,如果尝试失败总数超过允许尝试数,服务器通知用户,出于保密考虑,不允许更多尝试,并把联系电话号码提供给用户。当用户成功登录保密柜,累计失败尝试次数将重置为零。因为很多用户可能共享同一台计算机,允许尝试数目应合理。
如果用户忘记了保密柜帐号密码,用户可以通过点击图2所示的″忘了密码″链接来获得密码。通过此链接打开第一个页面,包含如图4所示的保密柜名称输入框。用户填入保密柜名称并继续,如果保密柜名称在数据库表中存在,服务器在″问题″字段搜寻问题,并发送如图5所示的有保密认证问题215输入框页面。然后,用户输入答案220,并点击″恢复″按钮。服务器获取用户输入答案,并将其与用户数据库记录″答案″字段值进行比较。如果两个值相同,用户将被视为保密柜的真正主人,服务器把密码发送到和保密柜相关的电子邮件地址,并告知用户″密码已发送给你的电子邮件地址!”;如果答案不正确,服务器告知用户未能证明其身份,并将再次恢复密码的页面。如果用户提供的保密柜名称不对,服务器发送页面,显示″你所提供的保密柜名称不存在!”并提示用户重新输入保密柜的名称。
用户信息表包含″密码″、″问题″和″答复″字段。它还包含″注册密码″、″注册问题″和″注册答复″字段。重复使用与安全相关字段,允许用户更改保密柜登录密码。如果帐户密码用作密钥,则无法更改帐户密码。每当用户更改用户密码,所有文档将需要被解密和重新加密。用户在注册保密柜、安全问题和其答案写入两组字段。加密和解密数据用的密码,永久保存在注册字段组。服务器使用″密码″、″问题″、″答案″字段验证保密柜用户身份,用户可更改这三个字段值。只有在保密柜不含加密数据情况下,用户可更改注册密码。注册密码被透露给其他人后,那些知道注册密码人,可使用所知密码解密文档。但用户可以更改保密柜登录密码,以防止知道密码的人访问保密柜。在最佳实施版本,帐户密码只用来加密和解密参考标记(R-标记)。
当用户向第二用户授予访问权时,用户必须提供保密柜名称和认证码。保密柜名称和认证码必须与数据库用户信息表中相应值匹配。组合使用可减少把访问权授错保密柜的机会。有几种方法生成认证码,方法之一是认证码存储在独立字段,用户必须在注册时提供认证码;认证码可以是其他数据库表字段值的一部分字符。用户信息表包含″保密柜号″字段,方便保存唯一保密柜号码。因此,认证码可选保密柜号码的最后6位数。服务器可能会使用两步的身份验证方法。它首先从用户信息表中读取该用户帐户记录,再确定″认证码″字段是否有值。如果该字段有值,服务器将使用此值作为认证码。如果此字段无值,服务器将保密柜号码的最后部分作为认证码。服务器必须在系统主页显示认证码,这样,用户就会知道它。这样实现的认证码,可以通过更改″认证码″字段值来改变。
注册用户可以通过点击导航栏上的″账户″管理帐户,服务器发送允许用户更新保密柜帐户页面。用户可通过点击如图1所示的″注册″打开注册页面,来创建客人保密柜。用户点击帐户页面上″更改密码″后,服务器打开如图3所示的更改保密柜密码的页面。用户可以通过输入旧密码和新密码,点击″更改″按钮来更改保密柜密码。服务器回馈信息如″更改密码成功″,并选性地用电子邮件通知用户密码已更改。如果用户提供的数据无效或服务器遇到错误,服务器发送页面来显示错误消息″旧密码不正确!″或″新密码无效″。密码保存在数据库用户信息表″密码″字段。
此页还允许用户通过点击″更新地址″,调用与图1相似页面更改用户地址。此页面所有数据的输入框,填有用户以前输入的除密码外″用户信息″数据。但是,用户可更改任何数据,并将它保存。若要更改地址中任何数据,用户可删除现有数据,如街道地址或电话号码,再点击″更新″按钮。如果服务器没有发现错误,它将发送确认消息″地址更新成功!”;否则,服务器将返回错误消息″你必须提供街道地址!″。″激活″字段保存保密柜帐户活跃状态指示。任何已管理帐户记录方法,可以用来更新保密柜帐户信息。
用户可通过创建客人保密柜与别人分享文档,用与图1类似页面,创建客人保密柜帐。用户输入保密柜名称、拟用密码,可选拟用认证码,并点击″创建″按钮。如果保密柜号码部分用作认证码,服务器将为第二用户创建认证码。在应答时,服务器检查数据库用户信息表,确定所建议的保密柜名称是否已经被用。如果保密柜名称和拟用密码被接受,保密柜信息被保存在数据库用户信息表的适当字段。在保密柜创建成功时,服务器生成保密柜号,并返回消息,″客户保密柜创建成功″!如果服务器不能创建保密柜帐户,它返回错误消息,″此保密柜名称已存在″或“你所选密码不能接受″!
新创建的客人帐户被标记为身份不明保密柜帐户。保密柜帐户创建后,系统最好发送邀请到第二用户电子邮件地址,以便第二用户登录。电邮消息也可包含链接服务器地址,第二用户可以通过点击链接登录页,打开新创建的客人帐户。如果用户没有提供电子邮件地址,用户必须通过电子邮件、传真、电话或其他手段把保密柜名称和临时密码提供给第二用户。
当第二用户第一次登录客人保密柜时,系统自动发送页面,提示第二用户更改密码。第二用户更改密码后,系统随后发送登录页面。当第二用户登录保密柜时,系统提示用户提供帐户信息如姓名、电子邮件地址和电话号码。此外,服务器可发送一些关于第二用户的名称、电子邮件地址、和联系电话号码等资料给第一用户进行进一步核查。
在更改密码时,服务器首先获取旧密码值,并将其值与存储在密码字段中的值进行比较。如果所输入旧密码正确,然后服务器确定两个新密码是否相同并可以接受。如果新密码是好的,服务器然后确定新密码是否与旧密码不同。如果新密码是可以接受的,并且与旧密码不同,服务器把新密码写入数据库用户信息表以取代旧密码,并发送页面在浏览器上显示″更改密码成功″!如果有任何错误,服务器响应″你输入旧密码不正确″或″你所提供的两个密码不相同″或″新密码无效″。
在一个实施版本中,创立客人保密柜帐户包括以下基本步骤:
(1)第一用户发出请求创建客人的保密柜帐户;(2)服务器提示用户输入拟议的保密柜名称和拟用密码(认证码不必要,可视情形而定);(3)服务器通过创建第二用户私人文档夹来创建保密柜帐户,并将所需的记录写入所有相关的数据库表中;(4)服务器记录密码作为临时密码,并将保密柜帐户标记为未验证或未经证实的帐户;(5)服务器通过电子邮件或其他手段发送邀请到第二用户;(6)第二用户第一次登录保密柜;(7)服务器提示第二用户更改密码;(8)服务器读取新密码,并会将它与旧密码比较。如果旧的和新的密码有区别,该服务器将接受新的密码。否则,服务器提示第二用户再次更改密码;(9)服务器提示第二用户提供帐户信息。如果系统不用额外核查步骤,保密柜处于可用状况。
用户可用替代的方式,用户邀请第二用户开保密柜帐户。如果邀请用户知道第二用户的电子邮件地址,用户可以请求服务器发送电子邮件邀请给第二用户电子邮件地址。电子邮件邀请包含用于创建保密柜帐户链接。此链接包含邀请保密柜名,或与邀请保密柜有关特别代码。应邀请的第二用户通过点击嵌入链接,访问系统,并使用页面注册新保密柜帐户。新创建保密柜无需更改密码可以直接使用。从链接中的数据,服务器知道邀请保密柜名称,并让邀请用户知道新保密柜名称和其认证码。现在,邀请用户可以把文档访问权授予新保密柜文档。
五.保密柜加密方法设置
登录保密柜用户可看到图3所示的主含导航条230和左侧菜单225。
作为数据加密方法设置一个必要条件是用户必须登录到服务器。加密用的标记510(“标记″)用于认证目前的加密算法和密钥是否和保密柜的加密算法和密钥一致,测试用户是否知道共同加密算法和密钥。标记本身可以是一个简单语句(如图7单选输入框530所示)、单个图像(如图9图像539所示)、简单文本(如图7单选框530所示)、声音文档,或用程序密钥加密的特别文档。已加密的标记存储在服务器上,用来帮助不同客户机,同步加密方法和密钥。当密钥让不同客户机用户分享时,每个客户机用户必须使用密钥。使用私人密钥的目的是提供最高数据存储安全性,可防止内幕交易的威胁,有效拦截黑客访问″静态″数据。
标记510用分享密钥进行加密,然后保存到服务器上。每次用户与服务器交换保密数据,用户提供密钥。密钥可保存在客户机上,在每次发送数据交换请求时被送到服务器。服务器使用密钥来解密已加密的标记,并把解密标记放置回答页面上。如果用户提供了正确密钥,用户可以看到原来文本,例如″密钥是确定″或者″如你可以看信息,你密钥与其它使用者同步″。如果用户提供了错误密钥,用户不会看到原始标记。因此,该标记有助于所有使用者(或在不同机上的同一使用者),在使用共同加密算法情况下,确认相同的密钥。
其他适用的标记选项包括图像文档、易懂文本、声音文档、短视频文档。它可以是某名称、公司徽标图像、项目描写、任何其他合适词语。如果标记是图像,用户提供了错误密钥,用户不能看到原始图像。如果该标记是声音文档或视频文档,用户提供了错误密钥,用户听不到正常的声音,看不到正常图片。
标记使用的图像文档和图像呈现方式,应不会干扰网页的正常呈现。如果使用声音文档或视频文档,它应作为嵌入文档,以便用户可以听到声音或查看图片。如果加密算法需要加密文本拥有最小容量,标记应有合适容量。标记显示部分可以通过提取一定数量固定位置的字符,构造一个易懂短语。例如,短语可以从5、10、26、30、80、83、90字符位置记提取N个字符。一个易懂短语例子是″你的密钥正确″可方便地显示在发送、接收、和交换数据的任何页面上。标记可放在任何其他页面上,包括上传文档、下载文档、编辑文档信息、更改文档信息、删除文档的页面。此外,服务器可以在页面嵌入显示整个标记的链接。
服务器上的标记位置(″ML″)要求包括:(1)标记位置安全,不会被应用程序数据覆盖;(2)标记位置应满足数据分享性;(3)标记位置应该有足够的存储容量;(4)位置最好能存储两个副本,这样,标记损害将不会丧失加密同步机制。标记位置可以是用户帐户的文档夹、子文档夹或其它专用文档夹,保密柜合适文档夹的文档描述字段,系统文档夹,例如Linux系统的/etc、系统文档夹特殊文档,用户数据文档夹中特殊文档,用户表或项目表二进制字段、或组表二进制字段,用于系统管理属性和任何其他合适表的二进制字段。
若要增加静态数据安全性,用户应避免使用系统工作人员提供的标记。因为加密标记存储在服务器上,原始标记的细节将有助于黑客破解密钥。在应用程序部署或调试期间,系统工作人员可能需要访问一个或多个应用程序页面,因此,他们可看到解密标记。因而,声音文档和视频文档标记能进一步增强安全性。使用已解密标记和已解密参考标记进行比较的方法,可以消除人为比较的需要。使用加密重复副本可以提高系统可靠性。当主标记损坏时,服务器获取标记备份副本,并使用备份副本恢复已损坏的主标记。
搜索顺序是客户机与服务器初始连接时,在客户机上搜寻密钥顺序,搜寻密钥运作因调用与系统交换数据页面而启动。搜寻顺序的选项,例如包括浏览器的cookie数据库或密钥库文档、特定客户数据文档夹、林纳斯(Linux)系统根文档夹的″.encryption_key″、视窗(Windows)系统特定文档夹、视窗系统特定数据文档夹,USB驱动器根或子文档夹,智能卡。系统因客户机中不同(视窗、林纳斯、苹果)而用不同搜寻顺序。该程序应按指定顺序搜索密钥。如果客户机使用USB驱动器或智能卡,客户机找到已装入的USB驱动器或智能卡时停止继续搜索。如果没有USB驱动器,客户机把密钥保存在默认或用户指定的密钥位置。
密钥位置是客户机能找到密钥的地方(“密钥的地址”)。如果这是cookie,或可访问媒介,客户机把密钥保存在cookie或媒介中,每当客户机或服务器使用密钥,客户机从密钥位置获取密钥。如果密钥位置是一个USB驱动器,客户机可通过浏览器插件在USB驱动器写入记录。如果密钥位置是一智能驱动器,客户机只能使用浏览器插件访问智能驱动器,并获取密钥。密钥也可储存在智能卡。搜寻程序应在视窗、林纳斯、苹果系统搜寻共同文档夹。在设置客户机时,如果客户机在搜寻密钥路径找到密钥,客户机把密钥填入如图7所示输入框(或不显示密钥或显示为星号)。如果客户机找不到密钥,客户端设置页面提示用户填入密钥,指出用于查找密钥的文档路径,或选择可读取密钥的设备。
该系统还包括额外选项,用于选择加密算法。应使用对称加密算法,以便使用相同密钥来加密和解密文档。如果所使用的算法需要最小文档容量,则该标记应满足此要求。所有情况下,密钥在传输过程受保护层加密保护,可进一步用脚本(JavaScript)算法和帐户密码加密。
在为服务器保密柜设置加密方法时,保密柜用户可以从图3左侧菜单225,打开如图6所示加密设置页面。在该页面,用户在输入框505输入密钥,在输入框510输入加密标记(或选择文档和文档类型),在下拉式组合框515选择在服务器上保存加密标记的位置;在下拉式组合框520设置在客户机上查找密钥顺序,在下拉式组合框525选择客户机上的默认密钥位置;在方形复选框526选择客户机加密方法;在方形复选框527选择把已加密文档作为服务器加密文档。设置数据保存在用户信息表,或单独数据库表中其他字段。设置值决定此帐户的加密模式和服务器操作方式。
因为用户可能使用不同客户机,用户必须为客户机设置加密方法。服务器产生如图7所示客户机设置页面,用户在输入框530提供或更改密钥,在下拉框531提供密钥读取文档名称和路径,或在下拉框532选择读取密钥的设备,在方形复选框533选择客户机作为加密机,在方形复选框534选择处理已加密文档的方式,在形复选框535择选密钥在客户机上临时储存密钥位置。服务器获取加密标记,用密钥解密该标记,并将响应页面包含解密标记发送给用户(图8,图9)。如图8所示,用户可以从显示框536(或图9所示的图片539)观察标记状况,点击单选框537(或图9所示的单选框540),确认密钥正常。用户可在设置信息区538(或图9所示设置信息区541)查看其他设置。客户机根据服务器设置或客户机设置,将密钥保存在指定的密钥位置。服务器可将密钥位置保存在连接会话对象、专用数据库表、或等效文档。除非用户想要客户机设置作为永久设置,客户机设置只对该连接会话有效。密钥在客户机上保存,密钥位置在服务器上保存后,客户机和服务器可以交换加密数据。保密柜设置加密标记不能再变,但密钥位置、加密平台、处理已加密文档方式、储存密钥位置都可以改变。当客户机设置加密完成后,服务器产生如图10所示认证页面,在信息区542提示客户机设置成功,在信息区543显示客户机设置。
设置加密同步的过程如图11所示,在步骤552,第一客户机用户把含有加密标记和密钥页面提交给服务器,并进行步骤551,把密钥保存在密钥位置;进行步骤553,在服务器上加密标记,并把加密标记555(E-标记)写入数据库或文档夹中;进行步骤556,服务器获取E-标记,用用户提供的密钥把E-标记解密,进行步骤557,发送响应。附加页面可用于发送请求到服务器,以获取密钥,并生成测试页。客户机130的用户把密钥提供给客户机160上用户。进行步骤559,客户机160的用户把初始请求发送到服务器。在步骤560,服务器检查连接会话对象和数据库表,进行步骤561,密钥是否已设置或存在。如果服务器发现密钥已设置,进行步骤562,服务器向客户发送OK页面。如果服务器在步骤560发现密钥位置没有设置,则行步骤563,它把客户机设置页面发送到客户机。客户机设置页面示例如图7所示。在步骤564,用户填充设置页面,进行步骤565,提交该页面。再进行步骤566,客户机因用户要求将钥保存在密钥位置558,进行步骤567,服务器处理设置页面,获取密钥、密钥位置、和其他选项。在步骤568,服务器把密钥位置保存在连接会话对象、数据库表,或等效文档。在步骤569,服务器获取加密E-标记,使用所带密钥把E-标记解密,获得原始标记。在步骤570,创建确认页面,确认页面示例如图8所示;在步骤571,用户确定标记是否正常。如果标记是图像文档或视频文档,用户打开并播放该文档,以确定该标记是否正常。如果该标记不好,用户可通过步骤564,重复该发送设置页面过程。如果加密标记正常,进行步骤572,产生确认页面;进行步骤573,提交用户确认页面。在步骤574,服务器处理确认页面的新选项。再进行步骤575,在连接会话对象或等同文档保存新选项。加密方法设置后,用户在连接期间不需每次输入密钥,客户机从默认密钥位置,USB驱动器,或智能卡读取密钥。如果加密在服务器上进行,密钥被赋予隐藏变量,密钥可以用帐户密码加密,并在每次使用后最短的时间内被删除。如果加密在客户机上进行,服务器端加密没有必要。
创建加密标记另一个实施操作步骤包括:(1)设置分享数据,用户选择用于设置分享数据或数据库页面;(2)服务器通知用户服务器指定特别标记,并告知拟议标记为加密同步目的;(3)用户向服务器提供密钥和标记。如果用户想要使用较长文本,用户提供提取字符的文本和字符位置。如果用户选择文档,用户可以选择bitmap、jpg、pdf、tiff、doc、txt、wave,和video。然后将文档上载;(4)用户把页面提交到服务器;(5)服务器获取标记和密钥,用密钥对标记加密,把加密标记储存在服务器上,用作加密同步标记,并删除密钥;(6)服务器发送页面,要求用户定义在客户机上搜寻密钥顺序,并把搜寻顺序保存在服务器上;(7)服务器可有选项,用来保存在客户机上的默认密钥位置;(8)用户把密钥分给保密柜分享用户,或在另一客户机访问该保密柜;(9)用户联系服务器上载或下载文档,服务器发送客户机密钥设置页面,用以测试密钥。在此页面上,用户输入密钥或含有密钥文档。用户也可从帐户管理菜单启动这个设置页面;(10)用户把设置页面提交服务器;(11)服务器从提交页面获取密钥,从文档夹或在服务器上的数据库表中获取加密标记,在服务器上把标记解密,在认证页面可显示标记,不显示标记,或包含标记连接,把确认页面发送到客户机,要求用户确认是否能读取标记;(12)如果系统不使用参考标记,该用户检查标记。如果该标记是一个文档,用户通过链接下载文档,并检查标记文档,确认加密标记是否良好。如果系统使用参考标记,系统确定加密同步状态,而用户只确认设置选项;(13)提交确认页面后,服务器在连接对象保持密钥位置。
所述所客户机设置页面包含更改服务器所有设置,包括在客户机的密钥位置,客户机加密的选择,、把已加密文档视为服务器加密文档的选项。下一步,如果客户机在默认密钥位置找不到密钥,用户可输入密钥,或提供获取密钥文档的位置。系统把密钥保存在服务器设置时指定的,或在此设置页面指定默认位置。如果用户使用USB驱动器或智能卡提供密钥,用户可指定该设备。在这种情况下,用户需要在整个连接期间插入USB驱动器或智能卡。为提高效率,如果用户选择使用USB驱动器、智能卡或介质设备,服务器把驱动器位置写入连接会话对象。此设置页面可以修改与此连接有关的设置。
客户机设置完成后,服务器将发送文档目录页面。服务器从连接会话对象知道密钥已设置好,因此不再调用客户机设置页。用户点击″上载文档″链接,服务器生成文档上载页面。该页面包含隐藏未赋值的密钥变量,包括从密钥位置获取密钥所需的代码。此页没有必要显示已解密标记,但可选性地显示标记,嵌入链接或图像。当用户提交含有文档路径的页面,提交运作触发嵌入程序,按设置中指定方法在客户机搜寻密钥。如果客户机找不到密钥,则报告错误。如果它找到密钥,它将指定的密钥变量赋予密钥。客户机将文档连同隐藏密钥发送到服务器。密钥本身还可由服务器生成唯一字符串进行加密。如果客户机在指定的默认密钥位置找不到密钥,服务器重新发送客户机设置页面。
当用户提交上载页面时,提交触发嵌入脚本代码从密钥位置获取密钥,并将密钥赋于隐藏密钥变量。密钥和数据在传输过程由传输加密方法加密,也可进一步用服务器生成字符串加密。任何时候,客户机缺乏活跃密钥,引起服务器发送有寻找密钥的页面。
通过使用此过程,可以确保用户在不同客户机上使用相同的密钥,所有授权用户使用相同的密钥。在上载文档页面显示的标记将作为快速指示器,让用户知道他是否使用相同的密钥。
如图12所示,本方面可自动检测客户机密钥是否正确。在步骤553,服务器使用密钥加密标记获得E-标记554,用户帐户永久密码加密标记获得R-标记555。由于帐户密码保存在服务器上,服务器可解密R-标记获取原始标记。在步骤567,客户机用户发送密钥、密钥位置、其它设置选项到服务器。在步骤569,服务器获取帐户密码,解密R-标记得原始标记,并使用用户提供密钥对E-标记进行解密得原始标记。因为帐户密码不会错,服务器必然得到正确原始标记。然而,用户提供密钥解密的标记是否和原始标记相同,取决于密钥是否正确。在步骤569B,服务器比较两个原始标记,如发现两个标记完全相同,用户提供的密钥正确,进行步骤572,系统发送用户确认设置选项。服务器可使用图10作为确认页面(但显示服务器端加密方法)。如果在步骤569B服务器发现两个生成标记不相同,则进行步骤570,服务器再次发送客户机设置页面,进行步骤570B,客户机处理显示页面。(图12步骤563B是图11步骤563后的细节)。服务器可以检测到第二客户机中使用的密钥是否正确。该方法稍稍增加脆弱性,因为服务器工作人员可以使用用户密码来获取原始标记。
使用连接会话对象和cookie跟踪密钥位置是常见方法,但过多大连接对象会对系统性能有负面影响。提高系统性能的一种方法是减少连接对象存储大小。例如,整个设置方法可由一个短词″csdxyz″表示。那里的第一个字母是客户己加密指示,第二字母是使用USB驱动器指示,第三个字母是客户机上密钥位置,最后三个字母定义密钥搜寻顺序。任何其他网络连接识别跟踪方法,可用来替代连接会话对象和cookie方法。
在浏览器作为服务器和客户机之间的界面,它需要插件组件来作为客户机的硬件接口。该插件组件只需要初始化设备,寻找密钥,阅读密钥,返还密钥的功能。此外,该插件组件可直接被因用户运作触发脚本而调用,加密功能可因用户提交事件而调用。该脚本首先以设备名称和设备信息调用插件组件,从密钥位置读取密钥。然后该脚本用数据和密钥,调用加密程序,获得加密数据和密钥。加密程序可以是浏览器插件组件,或页面嵌入脚本。浏览器开发人可以将所有功能都集成为单个功能:用户在网页设置加密算法和密钥位置。当用户提交网页后,浏览器从指定位置找到密钥,调用加密算法加密文档和数据,并将已加密文档和数据发送到服务器。在浏览器不支持情况下,用户可选用图6复选框527,图7复选框534(用图15复选框607),用户可先在客户机在独立步骤用共同算法把文档加密,再把文档作为已加密文档上送,用户可以提供密钥提示,上载后服务器不再加密。
如果用户把错误密钥给其他人,需要重置密钥,必须重新创建加密标记。如果该用户或任何其他用户已将文档上载到服务器,该文档必须用正确的密钥重新上载,以便以后打开。
通过使用以下步骤重置客户机上的密钥:(1)已授权用户调用重置密钥页面。(2)提交页面时,服务器首先检查是否有文档数据。如果有文档数据,提示用户使用正常方法更改密钥;(3)如果用户忽略步骤(2)警告,服务器产生重置密钥的页面,用以接收密钥和标记;(4)用户填充页面,将其提交给服务器;(5)服务器读取新密钥和新标记,把新密钥和新标记保存在所选的服务器上位置;(6)服务器可提示用户调用测试页验证标记是否良好;(7)加密成功后,用户将密钥发给所有用户或其他客户机。
如有必要,用户可通过以下步骤更改文档抽屉的密钥:(1)用户调用更改文档抽屉共同密钥的页面;(2)用户输入旧密钥和新密钥,并提交到服务器;(3)服务器获取所有的文档和加密的数据记录,先将他们解密,再使用新密钥进行加密。将新加密的文档保存在临时文档夹中,并将新加密的数据记录保存在临时数据库表,以便用户测试;(4)服务器发送两个页面,一个页面提示用户查看新加密的文档或数据记录,另一个页面提示用户确认该运作是否成功;(5)用户可以查看所有受影响的文档和数据;(6)用户输入确认页面,并提交到服务器;(7)服务器获取确认页面;(8)如果用户提供了成功确认,服务器将删除所有旧文档和数据记录,或把它们保持在临时文档夹和临时数据库表--段时间;(9)每次用户尝试访问文档,服务器提醒用户已更改密钥。
在服务器上执行加密时,传输层保密技术如TLS、SSL和SHTTP用来防止在传输中的随机攻击。当SSL或TLS用于上载和下载文档时,它保护传输中的文档和密钥。在文档上载后但在储存之前,对文档进行加密,然后保存到服务器上。在获取文档时,用户发送下载请求和密钥。从服务器磁盘读取文档,系统解密该文档后发送给用户。在下载传输中文档数据也被加密。因此,在传输中使用SSL或TLS加密和在存储中对文档加密的组合,使系统高度保密。此外,通过使用帐户的密码进行加密,可进一步增加传输密钥的安全,或通过使用任何已知加密和哈希方法。如果在客户机进行加密解密,传输层保密技术意义就不大太了。
可用加密算法包括AES、Bluefish、DES、IDEA和MD5等。服务器应用程序使用的全局变量,用以保存加密算法信息,并允许按需求选择全局加密算法加密。Rijndael加密算法脚本的原始版本和修改版本在客户机用来加密解密。如果系统允许用户选择不同加密算法,加密保密柜文档,文档信息表(file_info)必须有一个附加字段来存储算法,并据此对应用程序进行相应更改。
为确保每个文档可以成功解密,最好上载文档后做文档验证测试。
六.客户机加密方法和防篡改措施
为实现最高储存和传输安全,最终加密方法是使用客户机加密。本发明提供验证密钥和算法是否与服务器保密柜用的密钥和算法相同的方法。用户必须确定客户机是否有共同加密算法。加密程序可安装在系统bin文档夹,特定应用程序文档夹,或安装在浏览器。如果加密程序为bin文档,则可通过中端指令调用。如果它作为独立应用程序,用户就可以像使用其他程序来使用它。如果它是浏览器插件,用户可以在浏览器中调用它。
本发明用的加密标记,可在服务器或客户机创建。用户把加密标记下载到客户机,用加密算法对它进行解密,并确定该标记是否正常。合理假设是,使用错误密钥和加密算法将导致不正常标记。如果标记正常,加密算法和密钥必然是正确,并在客户机上可以执行加密功能。
如果客户机加密算法和保密柜加密算法是共同的,加密算法可以用于单一密钥、两个密钥,公共密钥加密方法等所有加密方法(包括图6选项527)。在这种情况下,客户机上加密的文档可以让使用相同加密算法的保密柜分享解密。当客户机加密方法与服务器加密方法或加密标记同步后,客户机加密方法可替代服务器加密方法。用加密标记法获得的加密同步方法,保证共同加密算法的存在,客户机可用单一密钥、两个密钥、共同密钥加密或解密任何文档。当系统设置好后,加密和解密可在背景进行,不需用户参与。用户在上载和下载文档时提供密钥。加密机的选择不会影响其它功能。所有文档,包括单钥加密、两钥加密、不加密文档,上载到服务器后,具有相同功能;授权保密柜可访性、全局可访功能、文档访问跟踪记录、文档真实性认证,而保密柜抽屉文档继续具有自己的基本功能。
使用客户机加密的另一方法是使用″上传已加密的文档″选项。除了服务器下载时不提解密选项,此类文档就像那些单一密钥加密和两个密钥加密文档一样。用户可以通过选择″加密的文档视为服务器加密文档″选项。只有在客户机具有共同加密算法或从服务器上下载相同加密算法,用户才可以用此选项。此选项被选后,服务器把文档当作单一密钥加密文档。下载此文档时,用户将有两个选项:(1)在服务器上解密或(2)在客户机上解密。如果用户选择第一个选项并提供了密钥,服务器对文档进行解密,并将解密后的文档下载到客户机。如果用户选择第二个选项,服务器将已加密的文档下载到客户机上,然后在客户机上用共同加密算法将文档进行解密。
严密无缝的客户机加密方法需要获得浏览器额外支持。在理想情况下,加密算法请求直接导致服务器将加密算法下载到浏览器,页面脚本调用加密算法。当用户设置使用客户机加密时,浏览器使用选定的加密算法,在客户机上用用户提供的密钥对文档进行加密。调用指令包含引用加密算法、密钥的指令。该功能由用户点击,或上下载页面的事件触发。浏览器供应商可以作这些更改。另一种选择,加密可用Rijndael加密脚本(2001)。
注销(Log out)页面包括一个提醒。此页要求用户除去USB驱动器或智能卡,提供选项保留或删除存储的密钥。默认选项是删除密钥,但用户可更改默认选择。在客户机设置页面,可加额外警告:如果客户机是共享机,用户应在用后从客户机删除密钥。此外,服务器可使用连接标识(Session Identity)发送这一页面,包含在连接过期后在密钥位置删除密钥的代码。浏览器上的删除运作可因时间触发。如果密钥不保存在客户机Cookies,浏览器需要调用插件组件来删除密钥。
图13为本发明的设置客户机加密方法流程图。首先进行步骤580,用户在客户机130打开设置页面,在步骤581,用密钥加密标记,进行步骤582,发送E-标记给服务器,进行步骤583,把E-标记储存在数据库字段554,把E-标记副本储存在数据库字段556。再进行步骤584,服务器创建响应,发送给客户机,进行步骤585,客户机上处理响应,在步骤586,客户机使用密钥解密E-标记,在步骤587,用户确定解密的标记是否正常。然后用户用相同密钥开始第二客户机160,客户机160与服务器的初始联系建立后,先进行步骤588,客户机搜寻加密算法。在步骤589,如果客户机找不到加密算法,进行步骤590,客户机发送下载的加密算法和标记请求,如果客户机找到加密算法,则在步骤590,客户机发送要标记请求。在步骤591,服务器处理该请求,进行步骤592,服务器创建响应,当然,加密算法的下载可以分开进行。在步骤593,客户机处理响应,在步骤594,用加密算法和密钥,解密E-标记。在步骤595,用户确定加密算法和密钥是否正确。如果标记不正常,则加密算法或密钥有错客户机将从步骤588开始重复过程。如果标记正常,客户机可额外发送页面服务器,把加密算法和密钥位置信息保存在连接会话对象或等效位置。如果在步骤588,客户机搜索已找到加密算法,在步骤590,客户机的请求只要求服务器发送加密标记,但不发送加密算法;在步骤591,服务器处理请求,在步骤592,服务器创建响应,只包括获取的E-标记,送给客户机,在步骤593,客户机处理响应,在步骤593,客户机获取加密的标记,解密E-标记,接着再进行步骤595。客户机设置好,如果客户机页面检测到加密算法,页面已带有E-标记和客户机上密钥,客户机进行步骤594。
参考图14,客户机之间加密同步可以使用两个加密标记自动实现。与图13不同之处在于:在设置客户机加密方法,在步骤582,客户机向服务器发送已加密标记(“E-标记”)和原始标记。在步骤583,服务器用永久帐户密码,加密原始标记创建一个参考标记(“R-标记”),将E-标记和R-标记在适合的数据库表或文档夹保存。当第二客户机160设置加密方法时,在步骤592,客户机获取E-标记和R-标记,用帐户密码解密R-标记来获得第一个原始标记,如需要,并获取加密算法,并下载第一个原始标记,E-标记,和所需加密算法。加密算法程序的下载可以通过分开页面进行。进行步骤593,第二客户机160获取E-标记和第一个原始标记,进行步骤594,客户机用算法和密钥,解密E-标记,以获得第二个原始标记。进行步骤594,比较第一个原始标记和第二个原始标记是否相同。如果二个原始标记相同,进行步骤596,第二客户机160把密钥保存在客户机上,并将密钥位置在服务器保存。如果两个标记不相同,重复步骤588,589,第二客户机160继续在浏览器和客户机搜寻加密算法,重新启动发送要求E-标记和加密算法的步骤590。客户机设置好,如果客户机页面检测到加密算法,页面已带有E-标记和客户机上密钥,客户机进行步骤594。
实施有防篡改信息措施,用来确保保密柜文档信息的证明价值。可以通过创建文档详细信息,其中包含文档大小、文档描述、文档上传时间、加密方法(例如s=64.5k;d=′我的测试文档′;t=2012年1月28日:22:34:28′;m=2;em=SE),然后使用相同的密钥和加密算法来加密。此信息在服务器上进行加密,并写入加密文档的详细信息字段。此记录不能让用户之外任何人更改,但可以通过点击图菜单29的″查看加密详细信息″链接来查看。当用户发送请求时,服务器提示用户提供密钥,解密文档信息数据,然后发送页面显示文档详细信息,并在此删除密钥。作为替代方式,加密文档详细信息不能让任何人更改,文档详细信息可以从加密的文档信息字段生成。
用户如果选择客户机加密文档,浏览器或客户机上传文档时,获取文档详细信息和上载时间,并将其打包为正确分隔字符串(例如64.5k;′我的则试文档;2012年1月28日:12:34:28′;2;CE)。在上载之前获取文档大小,脚本可以调用activeX对象,或调用插件组件。若要获取系统日期和时间,该脚本可使用日期对象(date object)获取当前日期和时间,其余数据是由用户输入。该记录在客户机上加密,写在加密文档摘要的库表或文档夹。当用户发送要求查看加密文档详细信息的请求时,服务器获取该记录,并发送到客户机上,提示用户提供一个或两个密钥并在浏览器上解密,由脚本来显示该文档的详细信息;或将赋值给网页的文档详细信息变量方式,来显示该文档详细信息。加密文档的详细信息亦可在服务器上用注册密码来创建。
七.不同加密方法上载文档
通过打开导航栏上的″文档上载″页面,用户可将文档上载到服务器。图15显示″文档上载″页面,该页面提示用户,在显示框601查看加密同步状况,点击单选框602、单选框603、单选框604,可分别选择″使用一个私人密钥″、″使用两个私人密钥″、″上传已加密的文档″,点击单选组合框605选择文档状态,点击复选组合框606指定客户机作为加密机,点击复选组合框607指定把已加密文档作为单钥加密,在输入框608提供文档简短描写,在文档路径浏览框609,点击″浏览″按钮浏览,找到文档路径,递交文档上载页面。第一个是默认单选框,选择″保密柜文档抽屉″作为系统默认选项。″不加密文档″可以是额外选项。使用信息610显示用户保密柜储存空间使用情况。
保密柜文档抽屉用来保存非分享文档,所有保密柜文档抽屉的文档用一个共同密钥加密。文档保存在一个保密柜根文档夹或数据库表。共同密钥不是帐户密码。服务器跟踪文档物理位置,才能找到,并下载它们。服务器不需要为这些文档指定系统唯一文档编号,不跟踪其访问历史,不允许其他保密柜分享这些文档。当文档抽屉中的某个文档被删除时,服务器不保存记录。因此,服务器不能提供真实性认证证书,无法把访问权授予任何其他保密柜。这些文档的基本信息保存在文档信息表或一个单独表中。
″使用一个私人密钥″是指单个密钥用于加密文档,服务器用同一密钥对文档进行解密。上传文档后,服务器首先检查密钥有效性,然后使用该密钥和加密算法来加密文档,将文档写入单独文档表文档内容字段,如果该文档是过大的文档,写入文档夹中。服务器立即从服务器的内存中删除密钥和文档,服务器不以任何其他形式保存密钥。但是,服务器在″加密″字段保存足以指示服务器使用相同的密钥和相同算法解密文档的所有信息。当用户下载文档请求时,将提示用户提供密钥。服务器使用″加密″字段的必要信息来构造解密方法,并使用该密钥进行解密文档。成功解密并下载文档,服务器再次从其内存永久删除密钥和文档。当选择客户机加密方法时,客户机上执行加密和解密取代服务器加密和解密。
″使用两个私人密钥″是指用两个密钥加密文档。服务器需两个密钥,无论使用什么密钥,唯一的要求是,用户必须提供相同两个密钥(密钥1和密钥2),不能互换他们身份。上传文档后,服务器首先检查两个密钥有效性,使用两个密钥和正确加密算法来加密文档,将文档内容写入文档信息表或单独文档表。如果文档容量过大,写入保密柜文档夹。文档写入成功后,服务器删除密钥和文档。服务器不以任何其他形式保存密钥。但是,服务器必须保存足够构建加密和解密方法的信息。当用户下载该文档时,服务器提示用户,提供两个密钥。然后服务器使用所需的信息来重建加密方法,并使用两个密钥来解密文档。下载成功后,服务器删除这两个密钥和临时文档。如果选择客户机加密方法,客户机执行加密和解密取代服务器加密和解密。
″上传已加密的文档″意味着该文档已在客户机上加密,因此,服务器不会加密,用户负责解密文档。文档存保密柜保存,并授权其他保密柜查看,可以标记为全局文档。该实施系统提供第二层加密,使用共同密钥或私人密钥进一步保护已加密的文档。然而,两层加密使事后证明文档上传时间和文档内容过程更复杂。
″不加密的文档″是指该文档上载前不进行加密。当使用此选项时,该文档下载后任何人能打开。
用户可以使用两层加密方式。保密柜文档抽屉文档是由一个共同密钥加密,并还受到帐户密码保护。如果共同密钥和帐户密码被盗,用户可以更改保密柜帐户密码临时保护。然后,用户可以给文档更改密钥。两层加密是通过对已加的密文档再次加密来达到。用户将已加密文档,再次使用单密钥和两个密钥加密。但是,由于使用了多层加密,用户有最终忘记密钥解密文档的风险。因此,多个密钥和解密指令应在不相关的保密公司存储,但不披露他们使用目的。
用户选择加密方法之后,需要提供所需密钥,并提供在客户机上文档路经,然后点击″回车″键或点击″上传″按钮,以提交页面。系统将文档上载到临时文档夹中(覆盖同名的现有文档),然后获取系统当前时间,生成文档号码。如果该文档不是超大,将文档写入文档信息表文档内容字段或等效文档夹。文档编号、文档大小、文档描写、和文档类型保存在文档信息表。文档因为容量过大而储存在保密柜文档夹,文档名和整个文档路径保存在文档路径字段。该文档如果存在同一文档夹,文档名称必须是唯一的,这样,它不会覆盖文档夹里另一个文档。
文档的名称可以是原来文档的名称、唯一数字、文档数和保密柜号码组合、原来文档名称加有前后缀(前后缀可以是唯一字符串或″F″或字符串加上载日期和时间)、原始名称加部分文档号码。如果命名方法不能确保文档名唯一性,服务器必须检查保密柜文档夹所有文档,以确定特定文档名是否已用。如果文档名存在,服务器提示用户更改文档名称,并再次发送上载页面。无论文档存储在哪里,它们的基本信息都存储在数据库。
如果有错误,服务器将发送页面来显示消息″服务器无法找到文档″或″上传文档发生错误″。如果文档上载成功,服务器将发送页面,显示文档目录包括上载的文档。在此页上,用户可以点击″打印″以打印页面,或″保存″按钮,把文档档目信息保存在客户机上。然后服务器提示用户上载另一个文档。用户已上载所有文档,如果用户用″不″回答上载敦促,服务器自动显示″文档目录″页面。
当使用一个密钥或两个密钥加密时,加密可以在上载文档同时进行。这样可降低安全风险,但是会增加服务器CPU使用率和网络锁定风险。加密过程也可与上载过程分开,上载的文档保存在临时文档夹中,加密程序读取文档再进行加密,最后将文档写在文档信息表文档内容字段、单独文档表或终点文档夹。认证文档有效后,服务器删除临时文档和密钥。两种方法,事先加密和客户机加密,用来减少丢失机密文档机会。服务器在上传文档后,获取文档大小,系统当前时间,文档路径和保密柜名称,并将它们写入各自文档信息表字段。
如图16图17图18所示,要确保文档可以成功解密,最好用户上载结束时,进行文档验证。用户解密和下载文档,并对下载的文档是否能阅读提供反馈。该文档验证方法不很适用于二层加密文档,起成功解密取决于服务器上解密和客户机上对第一层加密的解密。如果解密失败,用户不可能知道哪个阶段导致验证失败。
尽管使用的密钥不同和最终存储目标不同,图19显示上载和加密文档一般步骤:首先进行步骤615,用户点击″上载文档″按钮;进行步骤616,服务器创建并发送上载页面,其中包含用于接收文档状态、文档路径输入框、文档加密方法下拉式组合框。页面可显示加密指示标记;进行步骤617,用户选择合适的加密方法;进行步骤618,页面生成接受密钥和相关的提示输入框;进行步骤619,用户用浏览器在客户机选择要上载的文档,并输入一个或多个密钥和相关的提示;进行步骤620,用户提交上传文档页面,并把文档写到临时文档夹;进行步骤621,服务器首先从提交页面获得密钥,用所选算法加密文档;进行步骤622,服务器确定是否该文档超过文档信息表中字段的存储容量;如果大小超出限制,进行步骤624,服务器在保密柜文档夹保存已加密的文档。否则,则进行步骤623,服务器写入文档信息表的文档内或单独文档表;进行步骤625,服务器在文档信息表写入文档信息,并删除临时文档和密钥;再进行步骤626,服务器发送页面显示文档信息(如图16表611所示),并选择用于验证文档状况的页面(如图16所示);在步骤627,用户选择是否要验证文档状况;如果用户选择要验证文档状况,进行步骤628,用户在图16输入框612输入密钥,并提交已完成页面。在步骤629,服务器发送提示用户选择保存文档或打开文档(如图17所示),并发送接受用户关于文档状况反馈的页面;在步骤630,用户选择打开或保存文档;如果用户在步骤630选择保存该文档,服务器启动文档下载,进行步骤631,在客户机保存文档;如果用户已选择要打开的文档,进行步骤632,服务器使用适当应用程序打开文档;在步骤633,用户在“确认已上载的文档状况”页面点击“是”(如图18所示);进行步骤634,服务器更新文档基本信息,用″V″指示文档情况(如果该文档是坏的,删除该文档);进行步骤635,服务器发送页面。在步骤636,询问用户是否要上载另一个文档;如果用户选择″不″,服务器进行步骤637,发送文档目录页。否则,进行步骤616,服务器发送文档上载页面;如果用户在步骤627选择不验证文档,进行步骤638,服务器用″U″更新″已验证″字段;在步骤639,服务器发送页面,包括文档信息和上传更多文档选项;如果用户在步骤640选择″否″,进行步骤637,服务器发送文档目录页,如果用户在步骤640已选择″是″,再次进行步骤616,服务器发送文档上载页面。如果用户选择客户机加密方法,不同之处在于:客户机执行加密取代服务器加密;客户机不需把密钥送到服务器;客户机上进行加密代替步骤621;在验证文档时,客户机用密钥进行解密,细节方式灵活。用户最后要点击“确认文档良好”反馈页面。
在上载周期结束后,服务器从内存中删除密钥,并从内存和临时文档夹中删除原始文档。文档上载后,用户可进行文档验证。如果文档不能成功解密,要求用户重新上载该文档。
服务器需要保持在服务器上跟踪文档路径,以便下载时能找到文档。在一个实施版本中,当文档上载时,文档写入临时文档夹,然后写入适合文档夹永久存储,文档即从临时文档夹和内存删除。因为已知文档存储路径,当服务器生成文档上载页面时,页面包括最终目的地路径,并把它传递到后端程序。作为替代方式,文档可直接上传到最终文档夹,而加密与文档上载同时进行。
图20表示上载不加密文档总体步骤。首先进行步骤650,用户点击上载文档链接,按照步骤651,服务器发送文档上载页面,首先进行步骤652,用户选择加密方法,进行步骤653(图19)。在步骤652,用户选择不用加密方法,进行步骤654,用户在客户机上查找并指定文档路径,提交页面。再进行步骤655,服务器接收提交数据,获取文档状态、文档大小、文档数据、服务器系统时间,检查保密柜身份,并获取保密方法。如果所选择保密方法是文档抽屉,进行步骤656,如果所选择保密方法是″不加密″或者“已加密文档”,进行步骤657,658。如果用户在步骤655选择了″不加密″或者″已加密文档″方法,进行步骤659,服务器确定文档大小是否超出限制。如果文档大小超出限制,进行步骤664,服务器将文档写入保密柜文档夹,并在步骤661,服务器更新文档信息表的记录。如果在步骤659,确定文档大小不超过限制,则进行步骤660,服务器将文档写入文档信息表,再进行步骤661,为文档更新文档信息表信息。在步骤662,服务器提示用户是否上载更多文档;如果用户在步骤662选择上载更多文档,进行步骤651,服务器将发送文档上载页面;否则,进行步骤663,服务器发送文档目录。如果用户在步骤656,选择将文档上载文档抽屉,则进行步骤665,服务器检查用户已选客户机加密
Figure BSA00000854715000251
。如果选择客户机加密,进行步骤666,客户机加密文档,进行步骤668上载文档;否则,进行步骤667,客户机把密钥和文档发送到服务器,并进行步骤667B,在服务器进行加密。在步骤662,服务器提示用户是否上载更多文档,如果用户点击″是″,进行步骤651,服务器发送文档上载页面如果用户点击″否″,进行步骤663,服务器将发送文档目录。
如果文档上载后没有验证其状况,用户可通过点击″UV″调用图21所示过程来验证文档。在步骤6
Figure BSA00000854715000252
打开文档目录;在步骤672,用户点击″UV″,进行步骤672,服务器打开文档验证页面。在步骤673,用户在输入框提供密钥,进行步骤674,用户提交页面。在步骤685,服务器发送文档状态反馈页面,含有“是”和“否”按钮。进行步骤675,服务器从文档信息表获得文档信息,如加密方法和文档路径;在步骤676文档是否过大文档;如果它是一个过大文档进行步骤677,服务器从文档夹读取文档,否则进行步骤678服务器从数据库表读取文档进行步骤679,服务器用用户提供的密钥对文档进行解密,进行步骤680,服务器发送带有两个选项文档下载对话页面(“打开”或“保存”)和确认按钮。如在步骤681用户查选保存文档,进行步骤682保存文档在客户机,否则进行步骤683打开文档并检查。在步骤684,用户查看文档,并决定文档是否正常。在步骤686,用户在文档状态反馈页面点击″良好″,再进行步骤687,发送反馈页面给服务器,进行步骤689,服务器在文档信息表相关字段标记“已验证”。如果用户在步骤686在文档状态反馈页面点击“不好”,进行步骤688,发送反馈页面给服务器,进行步骤690,服务器在文档信息表相关字段标记写入“不好”。最后,进行步骤691,服务器更新文档目录,反映该文档的验证状态。
最困难的问题是保存密钥。一方面,该方法必须足够安全,以至保密柜的用户毫不犹豫地将高度机密文档存储在系统上。另一方面,该系统必须提供足够工具,帮助用户多年以后成功解密文档。提醒用户有唯一的责任永久保留密钥。保密柜系统提供说明帮助选择和牢固地保持密钥。例如,该系统应该给用户显示关于如何选择保存密钥的提示。如果用户在保密柜储存机密文档,用户应该通过特别安排把密存储在一个或多个安全公司,并不透露密钥的使用目的。如果一个或多个文档被加密后上载,永久保持解密说明,不透露与存储文档和保密柜相关联的任何信息。需要对保密柜的文档进行解密时,用户可以从安全公司得到密钥与解密说明。
选择密钥有几个指导规则。当一个文档使用A和B密钥加密时,两个密钥可存在两个安全公司X和Y保存。用户在上载文档时,写一个说明,该说明包含用密钥A和B解密文档的信息,但不包含密钥本身,亦不告诉密钥存储地方。该说明作为部分使用密钥提醒,必须永久保存。但用户必须牢记存放密钥的地方。
在这种安排下,安全公司雇员不能同时看到密钥和解密说明。即使某人看到密钥(密钥A=123456和密钥B=654321),他不知道密钥的使用目的、组合方法、解密说明。此信息就像无用垃圾。另一人看到解密说明,但找不到密钥。说明包含用使用密钥AB做某件事的描述,说明可以非常模糊,可包含创建者或知情人能理解的假定。存储密钥的安全公司不能完全阻止其雇员知道密钥。黑客可通过截获用户和安全公司之间的通讯获取密钥。因此,安全公司不应该使用邮件来发放密钥,必须可靠认证用户身份后,才能发放密钥。第二个方法是用户永久″记得″密钥,使用这种方法,密钥必须是数字或容易被记住的词语。如图15所示,服务器鼓励用户为每个密钥提供用一个提示。如图27所示,每当用户下载并解密该文档时,把这个提示显示给用户。下面是有用的建议:
第一,密钥不应基于个人信息,如身份号码和生日。这些数字可与其他数字或单词组合使用。第二密钥不应是个人的主观偏好,如好数字和喜爱的汽车模型,因为主观偏好可随时间变化。第三,密钥提醒物不应是可磨灭记忆的东西,它必须基于能核实的外部证据。″李四于1970年5月访问过的地方″可能不是好的提醒,因为李四很多年以后不能记住这次旅行,没有什么证据提醒该地方。第四,密钥提示不应为其他人所理解东西。″在马里兰州巴尔的摩红光街第一家″是任何人能理解的提示,因为人们可以找到该房子。第五,作为密钥的提醒不应随着时间的推移而改变,即使提醒主题随着时间改变;外部证据必须存在,用以建立提醒物主题。良好的提醒主题包括房子、街道号码、重大历史事件。
如果用户在1980年在亚利桑那州某房子住几个月,它不是永久居住地,用户没有在亚利桑那州其他房子住过,″亚利桑那州1980″也许是好的提醒。该提醒不透露用户和房子关系,但该用户留下难忘记忆,不可能忘记这所房子。即使该用户忘记房子地址,可做一些调查找出房子地址和其他信息,房子的所有痕迹不可能从公共记录消失。显而易见,不知情人不能从此提醒,确定该房子的地址。
第三个方法就是使用单向链提醒。当用户打开文档下载页面时,服务器显示一个或两个提示。在文档上载时,用户输入″2006/5/31说明″作为提示。这说明名称必须是唯一的。文档上载成功后,用户将写这个″2006/5/31说明″。该说明包含密钥但不披露其用途,最好包括显而易见的陈述:必须永久保存该说明,用途将由外部事件触发,以便用户永久保留该说明。
因为没有任何办法获得该说明,服务器管理员不能访问该文档。该说明可包含两个标题和两个段落。其他人看到该说明,不可能懂其用途,不知道它与保密柜之间的关系。许多年后,当用户下载该文档,服务器打印提示,″请输入密钥″与″2006/5/31说明″作为一个提示。然后用户查找该说明,以获得密钥。使用这种方法的风险是,如果用户丢失说明,用户会无法访问该文档。此外,值得一提的是,用户在死亡前,安排后裔永久保储该说明。
八.文档目录和文档下载
图22是用户登录保密柜后服务器发送的保密柜默认主页,有主导航条230,次导航条700,保密柜用户信息区705,页数控制条715。默认面是用户自己的保密柜。如果用户点击″其他用户保密柜″,服务器生成页面,显示用户有权访问的其他保密柜文档(如图23所示)。如果用户点击″你文档抽屉″,服务器生成页面,显示用户保密柜抽屉文档(如图24所示)。每个文档号码也是用于打开该文档详细信息页面的链接。每个文档目录在每个文档前有″下载″或“解密″链接,取决于文档是否被加密。
″你自己保密柜″表显示文档的文档编号、拥有者、文档描述、文档大小、上载日期和时间、加密方法、访问类型。这些标题具有以下含义:″文档号″是指通过文档服务器自动生成的文档序列号码,每个文档号码最好是在系统范围唯一。″文档描述″是关于文档描述;″上载日期/时间″指不能更改的文档上载日期和时间;″大小(K)″是指文档容量大小;″加密方法″是指相关文档的加密方法,包括单个密钥加密,两个密钥加密和不加密;″状态″表示文档的活跃状态。″非活跃″文档只有用户可以读取并下载,但其他用户不能访问。″活跃″文档允许所有授权保密柜访问;″已验证″是指文档状态已验证,″V″表示该文档已通过验证。″UV″指文档未被验证,用户可以在以后任何时间验证文档。如果文档在上载时验证不过关,该文档被立即删除;如果文档上载后验证不过关,文档被标记为″坏″。
″你自己保密柜″表是用文档信息表数据生成。示例文档信息表包含:保密柜名(safe_name)、文档号(file_no)、文档描写(file_description)、上载时间(file_uploading_time)、文档大小(file_size)、加密方法(file_security)、暗示1(key_hint)、暗示2(key_hint2)、文档状态(file_status)、文档认证(file_verified)、文档路径(file_path)、[文档内容(file_content)],文档编码(file_index),加密细节(encrypted_details)。大小合适文档存储在文档内容字段,但该文档内容字段可以放置在单独文档库表,或把所有文档都存储在文档夹;如果文档存储在服务器上保密柜用户文档夹,必须把文档路径储存在文档信息表路径字段。文档路径包含文档类型,在创建文档目录时,服务器从文档信息表获得文档路径。加密细节应该是二进制字符串数据,BLOB或等效类型,以避免在除去尾随空格或字符集转换引起的潜在问题。此外应注意加密所造成的容量增加。
在″其他用户保密柜″表下显示用户有权访问的文档。所列内容包括文档用户,文档描述、文档大小、文档上载日期和时间、文档加密、和访问类型。该表不显示文档状态和验证状态。如果保密柜拥有者没有解密用的密钥,不能打开它们。一个实施版本的访问权管理通过使用授权表(grant_access)来实现。授权表包括字段:保密柜名(safe_name)、文档号(file_no)、授权号(grant_id)、状态[status]、接收保密柜(recipient_safe)、接收保密柜号(recipient_no)、授权时间(grant_time)、访问类型(access_type)、访问数(access_number)、过期时间(expiration_time)、已过期(expired)、[访问计数(access_count)]、已用访问数(used_number)。在更高的实施版本中,状态被已过期替换,而访问计数被已用数替换。当访问文档权利被授予另一保密柜,系统创建记录,包括保密柜名、文档号、接收保密柜、接收保密柜号。授权时间包含被授予访问权的日期和时间。访问类型包括(1)有权查看文档信息、(2)有权下载文档、(3)有权下载和解密文档。访问数是收件人在到期之前可访问的最大数目。如果文档访问权是下载文档,查看文档目录不算访问。已用数是收件人保密柜已使用的访问次数。过期时间是访问权限过期的日期,和实际访问次数无关。已过期指访问权是否已过期,撤销或仍然有效。每次访问文档时,服务器检查系统时间,并与过期日期比较,以确定访问权限是否已过期,如有必要,可写入状态。如果使用访问次数已经达到极限,文档访问权限可设置为″已过期″字段。如果此值为″Y″,服务器将拒绝访问请求。
在创建授权表记录时,访问状态被设置为有效的授权。每当收件用户请求访问,服务器首先检查访问状态值,确定访问权是否已过期。如果已过期,服务器拒绝访问请求。如果过期值指示授权仍然有效,然后服务器确定,从上次访问后,访问权是否因时间运行而过期。如果尚未过期时,服务器授予对文档的访问权。访问时间没过期,然后服务器确定访问次数是否已用完。服务器把所有以前访问计数、计算剩余访问次数,并显示剩余数(如图25所示)。每次访问后,服务器可在访问计数加一,在每次访问结束时,服务器比较授予的访问次数和已使用的访问次数。如果它们相等,服务器把授权记录作为已过期授权记录,保存在档案表中,并把它从授权表中删除。作为替代,服务器把″状态″或过期″标记为过期。如果访问期间已过期,或访问计数达到的访问限度,服务器把过期字段值标记为已过期。否则,它保留″N″值。
保密柜文档抽屉的文档,可存储在文档夹,该文档夹用来存储不需要上载日期和时间的证明文档。点击″你文档抽屉″后,服务器发送页面,显示所有在该文档夹的文档。文档存储在保密柜的文档夹,文档夹可以用不同方式显示。他们可以用文档夹树视图或列表视图显示。客户机可显示文档夹树视图。无论用什么方法显示,服务器必须找到文档夹,获取文档信息,如文档夹结构/文档路径、文档名、文档类型、文档大小,并在浏览器或其它客户机应用程序显示文档夹树。保密柜文档抽屉文档与保密柜文档不同点在于:文档不用全系统唯一的号码、不用个性密钥加密,不跟踪并可以被删除。文档在帐户文档夹或其他适合文档夹保存。多个文档夹可以分配给一个保密柜帐户,多个文档夹可分配在多个存储分区上。每个保密柜最好有一个专用文档夹。
文档可从图22文档目录页或下载页面下载。文档目录表的每个文档有解密或下载链接。用单个或两个密钥加密的文档有相关解密链接,而预先加密或未加密文档有相关下载链接。文档目录底部有个页面数导航条,该导航条在找到记录数多于页面可容纳数时才显示。
图26显示下载不加密文档过程。首先进行步骤720,用户打开文档目录;进行步骤721,用户在文档点击″下载″时,进行步骤722,服务器生成带有提交按钮文档下载页面,进行步骤723,用户提交填好的页面到服务器,进行步骤724,服务器获取文档信息。在步骤725,服务器判断文档大小是否超出限制;如果文档大小超出大小限制,进行步骤726,服务器从保密柜文档夹读取文档到文档缓冲区;否则,进行步骤727,从文档信息表中读取该文档。进行步骤728,服务器下载文档,并产生文档下载对话框。如果用户选择在步骤729文档保存,进行步骤730,客户机将保存下载的文档。如果用户在步骤729选择打开文档,进行步骤731,客户机显示下载的文档。
图28显示解密和下载文档的过程。首先在步骤750,用户打开文档目录;进行步骤751,用户点击″解密″,进行步骤752,服务器生成下载文档页面,该页面包含图27所示文档信息735、下载方式单选框、密钥输入框740。如果该文档用一个密钥加密,该页面有一个输入框;如果该文档使用两个密钥加密,该页面有两个输入框。再进行步骤753,用户在输入框中输入密钥,进行步骤754,用户提交页面给服务器。接着进行步骤755,服务器获取文档的信息,包括加密方法。在步骤756,服务器决定文档大小。如果文档大小超出大小限制,进行步骤757,服务器从保密柜文档夹到文档缓冲区,否则,进行步骤758,服务器从文档信息表读取该文档。进行步骤759,服务器使用用户提供的密钥和相同加密方法解密文档;进行步骤760,服务器发送到客户机文档下载对话页(有保存和打开文档的选项和确定按钮)。如果用户在步骤761决定保存文档,进行步骤762,用户点击″确定″,步骤764,客户机将文档保存在磁盘上。如果用户在步骤761决定打开文档,则进行步骤763,用户点击″确定″,进行步骤765,客户机显示该用户文档。重复步骤751,用户可解密另一个文档。
用户可在导航按钮上,直接点击图22″下载″链接下载文档。在下载文档时,服务器从数据库表或保密柜文档夹获取文档,并将其发送到客户机。服务器需要″file_path″字段保存的文档类型。如果文档格式是浏览器可以打开,文档在浏览器上打开,除非该文档上载之前已加密。如果该文档需要特殊应用程序打开,浏览器提示用户把文档保存在客户机磁盘。
如果用户下载一个或两个密钥加密的文档,服务器从文档信息表相关记录获取两个提示,并发送页面,在密钥输入框旁边显示两个提示。用户输入两个密钥之后,用户点击″下载″按钮来下载文档。下载文档后,可提示用户,如果该文档以前尚未下载过,发送有关文档状况的反馈。测试结果写入文档信息表中的″验证″字段。如果此字段已被标记,服务器不提示用户发送反馈。下载文档的一般步骤包括:(1)服务器生成下载文档的网页,该页面包含文档编号、文档类型、密钥输入框;该页还可能包括一个或两个提示;(2)用户在输入框输入密钥,并提交到服务器页面;(3)服务器从所提交的数据,获取密钥;(4)服务器用文档编号从数据库表,从″保密方法″字段获取值,并且构造解密方法;(5)服务器从源文档夹或文档信息表文档内容字段获取文档;(6)服务器使用相同加密算法和密钥对文档进行解密;(7)服务器丢弃并删除密钥;(8)服务器发送文档下载的对话框;(9)用户选择打开或保存文档,启动下载过程中,并删除临时文档;(10)如果用户选择打开文档,浏览器打开该文档;如果用户选择保存文档,在本地磁盘保存文档;(11)如果文档已保存在本地磁盘,用户使用适合应用程序打开。最后服务器通过使用SSL层,发送下载表格,接收填好表格和数据。
九.文档详细信息和相关功能
在″文档在你自己保密柜″页面,用户可以通过点击图22任何文档号,或可选的″详细信息″链接打开″文档详细信息″页面,该页面包括左侧菜单800和授权保密柜名称801(如图29所示)。
文档的详细信息页面顶部显示基本信息,包括保密柜名称、保密柜号码、保密柜拥有者、认证码。此页面包含用户所选的文档详细信息,包括文档编号、上载日期和时间、文档描述、加密方法、文档大小、验证状态、文档状态、左窗操作按钮。还显示保密柜和有权访问该文档的保密柜认证码。
在″文档详细信息″页面,用户可以使用左边的菜单来更改文档状态,删除文档,更改访问权限,订购证书,查看加密详细信息,查看访问历史。每个菜单只作用于该文档。
用户可点击″更改状态″,打开更改文档状态页面(如图30所示)。活跃文档可以授权和分享,而全局文档任何用户可访问。文档状态默认值是″活跃″,用户可以将其更改为″不活跃″或″全局″。非活跃文档可以让保密柜拥有者访问,而活跃文档可让保密柜用户和授权保密柜用户访问。要更改文档状态,用户选择状态选项802,点击″更改″按钮。在响应时,如果状态更改成功,则服务器返回成功消息。否则,返回一条错误消息。文档状态存储在文档信息表的文档状态字段。
在″文档详细信息″页上,用户点击左侧菜单上″删除文档″,服务器发送如图31所示的删除文档页面。删除文档的过程如图32所示。用户不能删除用户仅有权查看的文档、下载或解密的他人文档。删除文档后,它不在″文档目录″表出现。但是,已删除文档的历史记录被保持一段时间。最好是有一个选项,用以查看已删除文档的历史,文档历史包括文档编号、日期、删除日期、文档描述、访问历史数据如、访问日期、访问类型和访问者。
图32显示删除文档的过程。首先进行步骤805,用户在文档目录页点击文档号码。进行步骤806,服务器发送显示文档详细信息页面,进行步骤807,用户点击左侧菜单上的″删除″。在响应时,服务器发送含有多个删除原因的输入框页面,进行步骤809,用户从多个图31单选框804选项中选择一个理由,或在输入框输入删除原因。再进行步骤810,用户提交已填好页面。进行步骤811,浏览器显示一个对话,含有″是″和″否″按钮,确认删除该文档,进行步骤812,用户点击″是″按钮,进行步骤813,服务器删除文档和文档信息,并将记录写入已删除文档表。
如果文档被成功地删除,服务器返回消息″该文档已被删除成功!″。如果服务器遇到错误,它将返回错误消息。一旦文档被删除,该文档被永久删除,不能下载。该文档只能在特殊情况下从备份媒介恢复。当删除文档时,删除文档表(″deleted_files″)存储基本文档信息和访问历史。在一个实施版本,删除文档表有以下字段:文档名(safe_name)、文档号file_no、描写(description)、删除号码(deletion_id)、删除时间(delete_time)、删除理由(file_delete_reason)、访问历史总结(file_access_summary)。删除时间和删除原因储存在删除文档表。然后服务器从文档信息表,复制上传的时间和文档描写,从访问历史表复制实际访问时间、访问保密柜、访问类型,并将它们写在访问历史总结字段。格式是一系列带分隔的数据组(存取日期,访问着,访问类型;访问日期,访问着,访问类型)。
用户可以通过点击图33按钮813″更改访问权″,启动如图33至35所示的页面,把访问权授予第二用户保密柜。
″访问类型″定义了三种访问权利:″查看摘要″、″查看摘要和下载文档″,和″查看摘要、下载和解密文档″。第一个选项允许被授权保密柜用户读取文档目录。第二个选项允许被授权保密柜拥有者阅读摘要信息,并下载该文档。第三个选项允许被授权保密柜拥有者,读取文档基本信息、对其进行解密并下载它。
″访问次数限制″用来限制完全访问总数。如果访问类型是查看文档摘要和下载文档,查看摘要并下载该文档,被算作一次访问,但查看文档目录不算完全访问。访问次数限制默认值是没有限制,但用户可以选择或输入一个数字。
″访问时间限制″是被授权保密柜拥有者可以访问该文档时间限制。默认值可以是30天,但用户可以通过输入任何值和适合时间单位。如果第二用户授予在30天内下载文档两次的权利,则用户必须在30天期限前行使该权利。当访问数达到限制,访问权已用光。
″访问号码″是由被授权保密柜拥有者的访问号码,写入访问号码字段。
认证码在授予或撤消访问权时作验证用,其目的是防止因输入错误意外授权。服务器把用户提供认证码与用户信息表的值进行比较,确定收件人的保密柜名称是否正确。访问权通过授权表来实现。总原则是每个授权记录包含所有定义访问权所需的信息。授权表的记录被称为″访问权记录″或″授权记录″。
实施方式必须能够处理有效授权、已过期授权、已撤销授权。有两种方法可以实现此功能。在本发明的一个实施版本,只用一个授权表来跟踪所有访问权限。在此实施版本中,″状态″或“过期”一词用于区分活跃授权、过期授权、和已撤销授权。对于任何文档和收件保密柜,只允许一个有效授权。如果授予收件人的访问权被更改,则服务器把现有授权标为已撤销,并写入新授权,作为有效授权。如果用户已把文档访问权授予第二用户,服务器要把该文档现有授权″撤销″,然后,创建新授权。在此实施版本能保留每个文档完整授权历史,但被撤销和过期的授权,很快在数据库累积,大量记录会影响收件人在保密柜寻找文档速度。在更好实施版中,使用两个单独表。一个表用于存储所有活跃授权,而另一个表用于存储历史授权(所有过期和撤销的授权)。当一个授权被撤销时,它从授权表中删除,写在撤销授权表中。每当授权更新,服务器把授权从有效授权表移到撤销授权表,并当访问权授予成功,服务器响应消息″访问权限成功更新!″;否则,服务器返回错误消息,该″保密柜名称不正确″或″认证码不正确″。
服务器可能有很多为相同文档和同样保密柜的授权记录。在所有授权记录中,只有最后一个授予权利。以前授权记录″状态″字段,标记为″已撤销″,或保存在撤销授权表。即使最后一个授权记录也可因时间到期或访问数用光而失效。其结果是,该文档不会在收件保密柜显示。为易于识别和跟踪授权,所有授权记录用独特授权号编号,每个记录被分配唯一号码。有两种方法用于跟踪授予号码,每当创建一个新授权记录,服务器获取现有最大授权号码并加一,并将授权号码写入新授权记录。作为替代,授权号码字段可声明为自动增加整数。它可影响系统管理员的操作。
如果两个单独库表用于管理访问权限,这两个表可以有等同或不同结构。当请求更新相同文档和收件保密柜的访问权,服务器从旧记录复制所有所需信息,并将其保存在持有已撤销和过期的授权表(“撤销授权表”)。撤销授权表(revoked_grants)包含:撤销号码(revoke_id)、撤销时间(revoke_time)、授权时间(grant_time)、撤销理由(revoke_reason)、授权信息(grant_info)(文本)过去授权历史记录(例如收件保密柜号码(recipient_no)、授权时间(grant_time)、授权类型(access_type)、授权号码(access_number)、和过期时间(expiration_time))。每当更新访问权,在revoked_grants表中创建一个撤销记录,在授权表中创建新授权记录。当服务器授予文档访问权时,它用文档号码在授权表创建授权记录。保密柜收件人姓名写在授权表收件保密柜字段。授权成功后,服务器返回消息″授权成功″!如果一个文档访问权授予给相同的收件人,服务器首先寻找现有授权记录,提取记录,在一个档案库表中写入内容,然后从授权表删除现有授权记录,并写入新授权记录,包含用户定义参数:访问类型、访问次数限制、访问时间限制。
图37显示文档访问权限授予过程,而图33至35显示相关的页面。在步骤825,用户打开文档目录并选择文档,服务器发送文档详细信息页面,包含文档和左侧菜单。首先进行步骤826,用户点击″更改访问权″。接着进行步骤827,服务器发送一页面,显示文档信息有两个选项″授权″、″撤消″和″继续″按钮。在步骤828,用户点击″授权″并点击″继续″。接着进行步骤829,服务器更新页面,包括如图34所示的保密柜名称输入框816和访问权限定义块818,保密柜输入框用以接收保密柜姓名和认证码、访问权限定义块用来定义访问类型、访问次数、访问期间。如果用户要授予访问权给多个收件保密柜,则进行步骤831,点击″更多收件保密柜″,随之进行步骤832,页面生成一个收件保密柜输入框,用户通过点击图34链接817″更少收件人保密柜″,添加或删除收件保密柜输入框功能,通过运行嵌入脚本代码实现。进行步骤830,用户在输入框输入保密柜姓名和认证码,再进行步骤833,用户提交该页面到服务器。
接着进行步骤833,服务器在提交后,获取用户提供的保密柜名称和认证码,并将它们与用户信息表的保密柜姓名和认证码进行比较。如果找到记录,则假定用户提供的保密柜名称是正确的。否则,服务器响应并显示错误消息:″保密柜名称不正确″或″认证码不正确″。
接着进行步骤834,服务器首先检查给相同保密柜和相同文档授权是否存在。如果是的话,服务器将旧授权记录写入撤销授权表,从授权表中删除旧授权记录,进行步骤835,服务器在授权表中写入新授权。这取决于给同一文档和同一保密柜的授权是否存在,服务器响应访问权已被授予或更新,并回应如图35所示成功信息819;否则,服务器回应失败信息820。如果服务器向多个保密柜授予访问权限时,对其中一些保密柜授权可能是新的,而对另一些保密柜则是更新授权。服务器对不同收件保密柜返回不同消息。
如果系统在步骤829没有收件保密柜,可进行步骤836,用户可通过点击如图34所示的保密柜输入框旁边的″创建″链接,来创建收件保密柜。接着进行步骤837,服务器在响应时,生成创建客人保密柜弹出页面。进行步骤838,用户提供拟议保密柜名称,暂时密码,可选电子邮件地址,进行步骤839,当用户按″创建″按钮时,服务器验证建议保密柜名称是否已被使用,创建客人保密柜,并生成认证码,并发送弹出页面,包含确认消息。如果服务器无法创建保密柜,响应错误消息。在步骤840,用户″提交″弹出页面,把创建保密柜名和认证码复制到母页面的收件保密柜和认证码的输入框,继续遵循步骤829以后步骤。
如果用户知道保密柜名称,但不知道其认证码,在步骤836至840,用户点击如图34所示的收件输入框816旁边″查找″。在响应时,服务器生成包含搜索保密柜输入框的弹出页面。弹出页面可预先填入母页上保密柜名称,或接受用户输入保密柜名称作为搜索键。然后,用户通过点击页面上的″搜索″开始搜索。在响应时,服务器发送页面,显示保密柜名称、认证码、用户名、可选信息如电子邮件地址和电话号码。如果保密柜实属预期收件人,用户把弹出式页面提交到母页面,并将找到的认证码拷贝到收件保密柜的输入框。
图38显示用户撤消对用户保密柜访问权的过程。首先在步骤845,用户打开文档目录,然后点击要打开文档的详细信息;进行步骤846,用户点击文档编号,进行步骤847,用户点击如图29所示的菜单800″更改访问权限″。在步骤847,服务器响应,打开″更改访问权″页面,包含两个选项″授予访问权限″813和″撤消访问权限″814(如图33所示)。用户选择″撤消″并点击″继续″。如果用户在步骤849点击″取消″按钮,则进行步骤850,服务器显示页面,包含基本文档信息,显示有权访问的保密柜名称和认证码,保密柜名称和认证码输入框列表。用户点击链接851"更多收件保密柜″,创建一个保密柜输入框852,点击″更少收件保密柜″,删除一个保密柜输入框。在步骤853,用户确定是否知道认证码。如果用户知道认证码,进行步骤854,用户提供保密柜名称和认证码。如果用户不知道认证码,则进行步骤860,用户点击″查找″,接着进行步骤861,生成包含搜索保密柜名称的输入框弹出页面,再进行步骤862,进行搜索,进行步骤863,显示保密柜用户信息。搜索结果可包含保密柜名称、认证码、用户名称,可选的信息如电子邮件地址和电话号码。如果用户无法找到正确认证码,回到步骤862,用户进行另一个搜索。如果用户找到正确的认证码,进行步骤864,用户提交保密柜名称和认证码给母页面。提交后,进行步骤855,服务器获取保密柜名称和认证码,并在信息表中查找用户记录。然后,在步骤856,服务器确定该授权是否事先存在,如果服务器为相同文档和同一收件保密柜找到有效授权,进行步骤858,服务器获取旧授权记录、从旧授权记录获取数据,然后在撤销授权表写入记录,目的用于存档,删除旧授权记录。最后进行步骤859,显示确认页面。如果服务器找不到保密柜授权记录,进行步骤857,显示错误(或授权不存在)消息。
通过点击如图29所示的″文档详细信息″页面的左侧菜单800″订购证书″,服务器打开如图39所示“订购真实性认证证书”页面。用户可为文档订购三种真实性认证证书:网页证书、PDF证书、印本证书。用户可点击图39所示的按钮870“查看电子证书”,查看已订购的电子真实性认证证书,点击按钮870“查看印本证书”,查看已订购印本真实性认证证书;用户可点击图39所示的链接871“查看”,打开真实性认证证书,也可用图39的单选框872和“继续”按钮,订购电子真实性认证证书,印本真实性认证证书,并在图40收件保密柜输入框873,输入保密柜名称和认证码。图40按钮874提示用户是否订购另一个真实性认证证书。
用户用如图42至44所示页面为单一文档订购印本真实性认证证书;图42显示收件保密柜输入框875,收件人地址876,包含文档选项877;图43显示文档投递方式复选框878;图44显示用户的下部选项。图45显示一个真实性认证证书示例。用户可用图53所示页面及图54所示流程,为多个文档订购印本真实性认证证书。
图29显示文档详细信息页面,允许用户查看任何文档详细信息。文档详细信息页面可以用普通数据或加密数据产生。在上传文档时,服务器或客户机创建一个文档详细信息数据字符串。此字符串象文档一样被加密。当用户点击″查看加密的详细信息″时,服务器获取字符串,由相同密钥和算法解密,拆散已解密字符串并获取组件数据,用组件数据填入文档详细信息页面,并将该页面发送到客户机呈现。
在文档详细信息页面,用户通过点击左侧″查看访问历史″查看访问历史。打开页面显示实际访问者,包括保密柜名称和访问者完整名称。每当访问文档时,每次生成记录,包含访问号、文档号、保密柜名、访问号、访问日期、访问者保密柜名、访问联系人信息和电话号、访问类型(查看、解密、下载)。文档信息表包含用于存储文档访问总数的字段。在每次成功访问该文档之后,此数目增加一个单位。因此,在任何时候服务器都知道总访问总数。
十.用访问权管理功能来更改访问权
图46显示访问权限管理页面,通过点按钮1001的″查看授予访问权限″,用户查看所有授予访问权限。通过点击″授予访问权限″,用户点击方形复选框1002可给多个文档授予访问权(图46至48)。访问权限管理页面有页数控制条1003。授予和撤消访问权的功能类似于″文档详细信息″页上的″更改访问权限″功能。不同之处是用户可用此页面,为多个文档同时授予或撤消访问权限。
图49显示给多个文档授予访问权过程。首先在步骤1020,用户首次打开访问管理页面。此页有按钮1001″查看授予访问权限″,″授予访问权限″,″撤消访问权限″。再进行步骤1021,用户选择″授予访问权限″,接着进行步骤1022,服务器生成页面,显示用户保密柜所有文档。再进行步骤1023,用户在选择要授予访问权的文档(如图46所示)。接着进行步骤1024年,服务器发送图47所示页面,显示所被选的文档1005,收件保密柜输入框1006,链接1007,访问权限定义块1008。链接1007允许用户增加或减少收件保密柜输入框。再进行步骤1029,用户提供预期保密柜名和认证码,并通过点击访问定义块1008的三套定义选择按钮来定义访问权限;再进行步骤1030,用户把页面提交到服务器。接着进行步骤1031,如果服务器发现所有数据有效,进行步骤1033,它将授权记录写入积极授权表,再进行步骤1034,如图48所示,服务器回应成功消息1009并提供按钮1010,提示用户是否授予更多访问权限。如果在步骤1031失败,则进行步骤1032,服务器发送错误消息。
在进行步骤1033时,如果服务器发现该授权记录存在,服务器将更新访问权限。在删除旧授权记录之前,服务器从旧授权记录提取数据,写入撤销授权表,删除旧授权记录,并把新授权记录写入授权表。与单个文档授权相似,通过进行步骤1027,1028,用户可创建更多收件保密柜输入框,用于接收更多保密柜名称。用户可以通过一次点击″更多收件保密柜″创建一个保密柜输入框,并通过一次点击″较少收件保密柜″,删除一个保密柜输入框。如果收件人没有密柜帐户,进行步骤1026,用户可以通过点击图47所示的保密柜输入框1006的″创建″,来创建客人保密柜。用户也可进行步骤1025,查找保密柜认证码。图47页面允许用户在保密柜帐户数据库搜寻认证码,类似于为图38讨论的撤销访问权过程。
如图50图51所示,用户可为多文档撤消访问权,并用搜寻输入框1040和搜寻输入框1041,搜寻存在的授权。撤消访问权过程如图52所示,用户首先通过点击主导航条″访问管理″调用此功能(如图46所示)。在步骤1045,用户打开访问管理,在步骤1046,点击″撤消访问″。在步骤1047,服务器发送响应页面,以显示图50所列的所有授权。如果一个文档的访问权已授予许多保密柜,该表为每个保密柜显示一个授权记录。表上每个授权记录的右侧,放置一个″撤销″按钮。如果用户想要撤销任何授权;进行步骤1051,用户点击撤销按钮。进行步骤1052,服务器在响应时,从授权记录提取数据,从授权表中删除授权记录,在撤销授权表中写入提取的数据,并更新网页反映所做的更改。服务器在页面的顶部返回成功消息1042(如图51所示)。在步骤1053,用户可以回到步骤1051,重复此过程撤销更多访问权。在步骤1048,如果用户撤消多个授权,用户点击左边单个选择按钮,或进行步骤1049,点击列标题按钮,以选择所有记录,点击页面底部的″撤销所有″按钮。在步骤1050,服务器在响应时,从每个记录提取数据,把每个授权记录从授权表中删除;把提取的数据写入撤销授权表,并如果51所示回应确认消息1042。
十一.为多个文档订购文档真实性认证证书
通过点击导航档上的″证书″按钮,服务器打开图53所示的订购真实性认证证书的页面。在″证书管理″页面上,用户可通过点击相应按钮1100,查看用户已订的电子证书、印本证书、其他保密柜的证书。
″证书管理″默认页面显示保密柜的文档。用户可以通过点击″查看″按钮,查看任一文档的电子证书。为单个文档的真实性证书样本如图45所示,证书包含陈述,证明文档基本信息的真实性,并且可有该系统管理公司印章。如果证书只含有几个文档,所有的信息可打印在证书里面。如果证书用于认证很多文档,文档信息可以显示在附页上。用户可以通过点击底部的图45所示页面链接900,获取PDF真实性认证证书副本。在响应时,服务器发送下载对话页面,以提示用户选择保存或打开该证书。
因为用户可以下载并打印证书,用户可以用电子邮件、邮寄、任何合适手段发送证书。此类证书有高度可靠性,因为保密柜用户和服务器工作人员都不能篡改它们。该证书可用于证明某交易,或事件是否存在。文档内容真实性可以通过解密、下载、和审阅文档过程来认证。收件人直接在系统上访问和解密文档,查看文档上载时间和文档内容,而证书进一步提供关于文档的书面证据。系统管理人可把印本文档和印本证书直接发送给意向收件人。
订购电子证书的过程如图54所示(页面于图39至41相似)。订购证书,首先进行步骤1105,用户点击“证书”或″证书管理″,进行步骤1106,服务器打开″订购新文档容真实性认证证书″页面。该页面显示用户保密柜所有活跃文档。如果用户想要查看任一文档的电子证书,进行步骤1109,点击“查看”,进行步骤1110,服务器生成证书。在步骤1107,用户可选择部分文档。进行步骤1108,用户点击单选框1101″订购电子证书″并按″继续″,接着进行步骤1111,服务器生成并发送更新的页面,显示所有选定文档和收件保密柜输入框。进行步骤1114,用户提供保密柜名称和认证码,再进行步骤1115,把填好的表格提交到服务器。在步骤1116,服务器发送订购小结,该订购小结包含(1)被认证的文档信息小结,(2)订购另一个证书或结束订购过程的选择,(3)订购小结顶部链接。如果用户要查看证书,进行步骤1116,用户点击链接。随之进行步骤1117,服务器显示证书。在步骤1118,如果用户点击PDF文档链接,进行步骤1119,服务器发送文档下载对话框,含有保存和打开文档选项,及″确定″按钮,进行步骤1120,用户查看证书或把它保存在本地磁盘。在步骤1116,如果用户选择“订购另一个证书或结束订购过程的选择”,则进行步骤1121,如果用户选择结束进程,在步骤1122,服务器发送文档目录。在步骤1121,如果用户选择订购另一个证书,进行步骤1106,服务器再次发送页面″订购新证书″。在步骤1113,如果预期的第二用户没有保密柜帐户,用户可点击″创建″,为第二用户创建客人保密柜,用户可通过点击″更多收件人保密柜″,创建额外收件保密柜输入的框。也可进行步骤1112,通过点击″查找″启动查找认证码。
在创建证书时,服务器从文档表中获取文档信息,并将它们放置在证明书内。良好图案可包括背景图案。网页只是一个HTML页面。两个文档证书包含如下信息:
文档号:1111年-2222年-3333-0000
描写:XYX发明
文档大小:245K
上传日期/时间:1970年8月27日12:20:54
状态:活跃
文档号:1111年-2222年-3333-1111
描写:YYY发明
文档大小:345K
上传日期/时间:1980年8月27日12:30:54
状态:活跃
用户可将证书保存、打印,并将其分发给某收件人。还可以增加一个选项,把PDF证书发送到用户的电子邮件地址。
在示例实施版本,证书可以在数据库表字段″证书″或保密柜文档夹保存。存储证书的订购表包含下列字段:保密柜名、文档号、证书号、收件保密柜、收件保密柜号、前缀、名字、姓氏、标题、地址、城市、省、邮政编码、国家、电话、电子邮件、订购日期、证书。证书可通过多种方法传递给目标收件人:(1)发送到关联电子邮件地址,(2)让收件人下载证书,(3)在收件保密柜文档夹保存一副本。最好将证书发送给收件人电子邮件地址,如果证书可从保密柜文档夹或″证书″表下载,最好发送一封电子邮件,通知收件人可下载电子证书。此外,最好在收件人下一次登录保密柜时显示信息。
图55显示用户为任何收件人订购印本证书的过程(图42至44是页面图)。首先进行步骤1125,打开证书管理后,再进行步骤1126,服务器打开″订购新证书″页面。该页面显示保密柜用户的活跃文档。在步骤1006,用户选择文档,进行步骤1128,选择″订购印本证书″并按″继续″。如果在步骤1129不选择任何文档,进行步骤1127,网页嵌入脚本再次提示用户选择文档。用户选择好文档,则进行步骤1130,服务器对提交响应,打开订购印本证书页面。此页面包含选定文档摘要、保密柜收件人姓名、邮寄地址,和文档选项(与图42相似)。用户检查所选文档,以确保文档是所要的文档。再进行步骤1131,用户可通过提供第二用户保密柜名称和认证码,授予文档的访问权,如果预期收件人没有保密柜帐户,用户为收件人创建一个客人保密柜。在步骤1131,用户提供详细邮寄通讯地址,并指示是否包括文档(默认是包含文档,除非文档是不能被解密的)。用户提供所有信息并作出所有选择后,进行步骤1132,用户提交填好表格。在步骤1133,服务器在响应时生成关于文档媒体形式和文档加密状态的页面。此页面选项是(1)在光盘上储存加密文档,(2)在光盘储存已解密文档,(3)印本解密文档。如果文档未加密,无论用户怎样选择,该文档不能解密。再进行步骤1134,用户必要选择,并提交此页面给服务器。再进行步骤1135,服务器在响应时产生页面,为每个文档显示密钥输入框。再进行步骤1136,用户提供密钥,提交此页面给服务器。提交后,进行步骤1137,服务器处理订购单、解密加密文档,生成证书,并把订单写入订单表。进行步骤1138,服务器最终响应,包含文档摘要、用来查看证书的链接和选项,选项分别为(a)为另外保密柜订购同一文档证书,(b)为其他文档订购证书,(c)回文档目录页面。如果用户选择要订购的同一文档证书,进行步骤1130,服务器发送订购证书页面。如果用户选择订购其他文档的证书,则进行步骤1126,服务器将发送文档列表页面。如果用户选择查看文档目录,则进行步骤1030,服务器发送″文档目录″。
订购印本证书时,提示用户提供适当付款信息。最好用页面脚本验证每个变量名称,以确保地址能成功传递邮件数据。证书保存在证书表中,虽然订购单保存在一个单独表中。该系统工作人员打印一份证书和所需文档,把它们邮寄给指定的收件人。加密文档和不可打印的二进制文档,如声音文档和视频文档,可用光盘发送。
十二.通过控制密钥和文档状态来控制文档访问权
在第二用户授予文档访问权后,如果该文档被加密,缺乏密钥仍可防止第二用户访问该文档。用户要把密钥给第二用户,以便让第二用户下载该文档,将其解密。如果用户把密钥提供给第二用户,文档将永远丢失保密。该系统还可提供额外选项:对该文档进行解密,并将其存储在服务器上,这样,第二用户可以直接访问该文档。
当授予第二用户文档访问权后,第二用户可以读取文档编号、用户信息、上载日期和时间、文档大小、加密方法。如果该文档不加密,第二用户可以下载并读取该文档。如果该文档使用一个密钥或两个密钥加密,第二用户必须提供收到的密钥,服务器获取文档,将其解密,并下载到第二用户客户机。如果该文档上载之前已加密,第二用户可下载仍处于加密状态的文档。解密文档的义务在于文档用户和第二用户。
文档的访问权可以通过更改该文档密钥或状态来调节。在各种情况下,应让用户知道此操作。更改密钥时,服务器首先使用旧密钥把文档解密,然后使用新密钥重新把文档加密,并复制旧上载时间。更新加密方法时,系统可在文档信息表中产生新文档记录与一个新文档号。系统可保持文档一段时间,作为非活跃文档,用户在已成功反馈之后,将其删除。服务器在删除旧文档之前,可以把旧文档记录和文档本身从文档信息表移到对应档案表,最后给有访问权保密柜的用户电子邮件地址发送一封电子邮件。
十三.电子邮件通知和其他功能
系统有可选的电子邮件通知组件,按照预定计划或因事件触发,发送电子邮件。触发事件包括(1)当用户请第二用户创建客人保密柜,用户稍后可以把文档访问权授予第二用户,服务器使用第二用户的电子邮件地址发送电子邮件通知;(2)当用户设置客人保密柜,并邀请第二用户使用它,服务器发送电子邮件通知到第二用户关联地址;(3)多次试图访问保密柜后,服务器向保密柜用户发送电子邮件;(4)用户更改文档密钥,用以撤销现有访问权时,服务器向访问权被撤的各方发送电子邮件;(5)当用户把文档标记为非活跃状态,以撤销访问权限,服务器向访问其权利被撤销各方发送电子邮件;(6)通过网络作业,一个用户把保密柜密码给予另一方,服务器将发送电子邮件,通知保密柜用户相关事件。
电子邮件通知组件,按照预定计划发送电子邮件到有关的电子邮件地址。保密柜帐户可接受多个电子邮件地址,电子邮件通知组件可使用不同电子邮件地址。
电子邮件实施是众所周知的艺术。基于林纳斯服务器,可使用sendmail程序实现功能。通知文本可预先写好,并保存在文档或数据库表。通知组件从文档或数据库表读取通知文本,并通过使用sendmail程序将通知文本发送到收件地址。通知组件可因用户操作而调用。作为替代,通知组件可以实施为单一程序,通过使用一系列条件语句来发送电子邮件,通知文本和特定电子邮件地址与特定事件相关联。例如,一般CGIC模块电子邮件功能格式是SendNotification char text_body[],char email_address[][Max]int event){...}。在email_address变量包含一列电子邮件地址,电子邮件地址从文本文档、数据库表读取,或在运行时产生。因为有必要向不同电子邮件地址发送通知,应允许使用多个电子邮件地址。额外字段可用来保存收件人名称和标题。例如,该表可看起来类似:
事件 通知正文       电子邮件地址
1    邀请邮件正文   地址A,B,......
2    感谢你邮件正文 地址D
在构造表时,用一个唯一值的整数代表一个事件(例如,1邀请,2更改文档状态,3更新访问权限)。根据整数值,服务器从文档或数据库表,读取通知文本和电子邮件地址,分别并写入text_body[]和email_address[][MAX]。然后,服务器调用邮件发送程序发送电子邮件。在本发明的一个版本中,发送电子邮件一般步骤包括:(1)因用户操作或服务器操作如时间过期,作为触发事件;(2)服务器从一文档或数据库表读取与该事件有关的通知文本;(3)服务器从一文档或数据库表,读取与该事件有关的电子邮件地址;(4)服务器产生邮件正文,如有必要,并在邮件正文中添加链接;(5)服务器使用电子邮件地址将电子邮件发送到收件人。
有时候在某行动未发生前,不需发送电子邮件。例如,服务器需要检查已授予的访问权是否已过期,这个检查的行动可安排在每一天某个特定时间。林纳斯机器有指令安排程序Cron,以秒为时间间隔执行指令。它可以用来安排每日、每周、每月的任务。发送预定电子邮件可通过指令安排程序来实现。
图56显示独立解密功能,图57显示全局搜索功能。两个功能可从任何客户机调用,无须从保密柜登录。通过使用此功能,用户可用同系统使用的加密算法和密钥,把已经下载但没有解密的文档进行解密。此功能包括两个单选框,密钥输入框1140,文档路径浏览框1141。用户选择一个或两个密钥、输入密钥,上传文档、在服务器解密文档,并把解密后的文档下载到客户机。
如图57所示,全局搜索功能允许用户用搜寻输入框1101,搜寻标为全局文档。用户提供密钥对已找到文档进行解密,下载已解密的文档。如果文档不加密,任何人都能够找到,下载并打开。如果该文档被加密,用户需要提供密钥以将其解密打开。
十四.不同实施方式
本发明的初级系统可用来支持有限数目保密柜帐户。若只为展示本发明概念,没有必要使用商业关系数据库。根文档夹可分配给每个保密柜帐户,可将文档保存在保密柜帐户文档夹。把用于跟踪文档的信息保存在系统文档。但是,使用一个数据库应用程序的实施有两个优点:它可以有效地处理大量文档,能让用户快速地搜索文档.
此外,披露数据库表作为例子。可能安排有无限变异。虽然示例使用Java和JSP来实现。几乎任何其他编程语言可用于实现这一概念。例如,可以使用CGI C程序和Apache HTTP,执行所有功能。即使Shell脚本已可用于编写用于实现那些网页的几乎所有功能。相同系统可在视窗平台上实施。
本发明的用户界面是浏览器。但是,本发明可以用特制客户机浏览器。所需的基本构件可以在许多公共FTP客户端找到。许多FTP客户端已出版,作为免费或共享软件,它们具有浏览器的相似功能:浏览服务器文档夹,显示文档夹树状结构,将文档上载到服务器,从服务器下载文档,更改文档状态如文档安全设置。某些FTP客户端源代码可下载,并容易修改。因此,这些FTP组件可与加密方法和保密柜文档抽屉组合,形成“拖进去式”文档保密抽屉和数字保密柜。另外,加密算法,浏览目录、查看文档、更改文档名称的源代码,可从许多开放式林纳斯系统找到。以形成“拖进去式”文档保密抽屉和数字保密柜。特制客户端的“拖进去式”文档柜可给视窗、苹果、林纳斯,Unix操作系统实现。
以上所述为本发明典范实施而已,特定组件、硬件、安排、进程用于描述本发明,并非用以限制申请专利的范围。凡其它未脱离本发明所揭示的精神下所完成的等效或修饰,均应包含所附权利要求范围内。

Claims (24)

1.一个网络机密文档存储系统,该系统至少包含:
服务器系统包含服务器和至少一个客户机,所述的服务器和所述的至少一个客户机被连接到互联网上,该服务器系统包含:
用户帐号产生装置,用以为用户创建文档保密柜;
加密标记保存装置,用以把加密标记,称为E-标记,保存在服务器上;
加密同步认证装置,用以确定加密算法和密钥是否和保密柜的加密算法和密钥相同;
上载页面产生装置,用以产生文档上载页面,该页面有一个或两个输入框,用于接受密钥;
文档上载装置,用以上载文档到第一用户的保密柜;
文档加密装置,用以用第一用户提供的一个或两个密钥,在服务器或客户机,对上载文档加密,并在加密后删除密钥;
文档存储装置,用以在服务器保存已上载的文档和文档跟踪信息;
文档显示装置,用以显示上载的文档和第一用户保密柜的其他文档;
文档删除装置,用以删除第一用户保密柜的任何文档;
下载页面产生装置,用以产生文档下载页面,该页面有一个或两个输入框,用于接受密钥;
文档下载装置,用于通过使用用户提供的密钥,在服务器上把文档解密后下载到客户机,或把文档下载到客户机后再解密。
2.权利要求1所述的网络机密文档存储系统,所述服务器系统还包括选择加密机,用以选择加密机,选择在服务器保存密钥位置的装置,用以帮助服务器生成脚本,获取客户机上密钥。
3.权利要求1所述的网络机密文档存储系统,所述服务器系统还包含产生文档真实性证书的产生装置,该装置允许所述第一用户保密柜,为文档产生文档真实性证书,该证书包含文档上载时间,文档大小和文档说明。
4.权利要求1所述的网络机密文档存储系统,所述服务器系统还包含分享文档真实性证书的装置,该装置用于授权第二用户保密柜,获得所述第一用户保密柜文档的真实性证书,或用于通过电子邮件发送所述的真实性证书给第二用户。
5.权利要求1所述的网络机密文档存储系统,所述服务器系统还包含文档全局分享装置,用于把第一个保密柜的文档,标为全局可查访文档,任何持有效密钥的其他用户,可以解密并下载全局分享的文档。
6.权利要求1所述的网络机密文档存储系统,所述服务器系统还包文档分享装置,用于允许第二用户通过自己保密柜,查看第一用户所述至少一个已授权的文档,从所述已授权的文档中,选择一个文档并输入密钥,在服务器对选定文档解密,并下载到客户机,或下载文档到客户机后解密。
7.权利要求6所述的网络机密文档存储系统,所述服务器系统还包含分享文档真实性证书的装置,该装置用于授权第二用户保密柜,获得所述第一用户保密柜文档的真实性证书,或用于通过电子邮件发送所述的真实性证书给第二用户。
8.权利要求6所述的网络机密文档存储系统,所述服务器系统还包含印本文档订购装置,该装置允许所述第一用户,订购任一个文档和文档真实性证书,该证书包含文档上载时间,文档大小和文档说明。
9.一个可分享网络文档存储系统,该系统至少包含:
服务器系统包含服务器和至少一个客户机,所述的服务器和所述的至少一个客户机被连接到互联网上,该服务器系统包含:
用户帐号产生装置,用以用户名和密码为第一用户创建文档保密柜;
文档上载页面产生装置,用以产生文档上载页面,该页面有一个或两个输入框,用于接受密钥;
文档上载装置,用以上载文档到第一用户的保密柜;
文档加密装置,用以用第一用户提供的一个或两个密钥对上载文档加密,并在加密后删除密钥;
文档存储装置,用以保存已上载的文档和文档跟踪信息;
文档显示装置,用以显示上载的文档和在第一用户保密柜的其他文档;
文档删除装置,用以删去第一用户保密柜的任何文档;
文档下载页面产生装置,用于产生一个文档下载页面,该页面有一个或两个输入框接受密钥,用第一用户提供的密钥,在服务器上对选定的文档解密,下载已解密的文档到客户机;
文档访问权的授权装置,用于授予在第一个用户保密柜中至少一个文档的访问权,给第二用户的保密柜;
文档分享装置,用于允许第二用户通过自己保密柜,查看第一用户所述至少一个已授权的文档,从所述已授权的文档中选择一个文档,上送密钥到服务器,在服务器上对已选定的文档解密,下载已解密的文档到客户机。
10.一种机密文档存储方法,用以在未来证明文档内容和文档创建时间,该机密文档存储方法包含以下步骤:
用一个保密柜名字和密码来创建一个用户帐户,作为第一个用户保密柜;
使用密钥加密标记获得E-标记,并把E-标记保存在服务器上;
确定加密算法和用户提供的密钥是否和保密柜的算法和密钥一致;
由服务器产生一个上载文档的页面,该页面含有一个或两个输入框,用于接受密钥;
从客户机上载文档;
使用用户提供的一个或两个密钥对文档加密,并在加密文档后删除密钥;
在服务器保存上载和加密的文档,以及跟踪信息;
把文档目录页发送到第一用户客户机,文档目录包含文档描述,上传时间,文档大小;
显示第一个用户保密柜中任何文档,删除任何文档;
生成一个包含一个或两个输入框的文档下载页面,用来接受文档密钥;和
把所选文档上载时用过的密钥发送到服务器,使用密钥在服务器对文档解密后下载,或下载文档后在客户机上解密。
11.权利要求6所述的机密文档存储方法,该方法还包括步骤,授权第二用户保密柜,访问所述第一用户保密柜文档,让第二用户访问第一用户保密柜已授权的文档,把文档解密并下载到第二用户客户机;
12.权利要求6所述的机密文档存储方法,该方法还包括步骤,所述第一用户保密柜,为一个文档产生文档真实性证书,该证书包含文档上载时间,文档大小和文档说明。
13.权利要求6所述的机密文档存储方法,该方法还包括步骤,授权第二用户保密柜,获得所述第一用户保密柜文档的真实性证书,或用于通过电子邮件,发送所述的真实性证书给第二用户。
14.权利要求6所述的机密文档存储方法,该方法还包括步骤,把第一个保密柜的文档,标为全局可查访文档,持有效密钥的其他用户,解密并下载全局分享文档。
15.权利要求6所述的机密文档存储方法,该方法还包括步骤,设置客户机为加密机,用帐户密码方法,加密一个标记获得R-标记,在服务器上保存R-标记,通过比较从E-标记解密获得第一个标记和从R-标记解密获得的第二标记,来确定客户机加密算法是否和保密柜的加密算法同步。
16.权利要求6所述的机密文档存储方法,该方法还包括步骤,发送一个为加密文档验证的页面,敦促用户提供上载文档时用过一个或两个密钥,向服务器上送用户已输入的密钥,用收到的密钥解密已上载的文档,下载已解密文档到第一个用户的客户机进行查看,敦促用户认证上载的文档是否良好,在验证成功后在服务器上标记该文档作为已验证文档。
17.权利要求6所述的机密文档存储方法,该方法还包括步骤,在文档上载页面为所述每个密钥提供一个输入框以输入密钥提示,在所述的文档下载页面,显示用户已输入并在服务器上保存过密钥的提示。
18.权利要求6所述的机密文档存储方法,该方法还包括步骤,第二用户订购授予第二用户的文档和印本文档真实性认证证书,该证书包括文档描写,上载时间和文档大小。
19.一种用于操纵网络机密文档存储系统的计算机程序产品,该计算机程序产品包含计算机可读介质上的计算机代码,其计算机代码包含:
帐户管理程序代码,其功能在于使用名字或帐户号码和登录密码来创建用户帐户,作为用户保密柜;
加密标记代码,其功能在于加密一个标记,并在服务器上保存已加密的标记;
加密程序代码,其功能在于确定所用的加密算法和用户提供的密钥是否和保密柜的加密算法和密钥一致;
上载页面产生程序代码,其功能在于生成上载页面;
文档上载程序代码,其功能在于将文档上载到服务器;
文档加密程序代码,其功能在于使用用户提供一个或两个密钥,在服务器或客户机上加密文档;
保存文档程序代码,其功能在于在服务器上储存上载的文档和跟踪信息;
文档管理程序代码,其功能在于发送和显示文档,在服务器上删除文档;
文档下载程序代码,其功能用来生成和发送文档下载页面,该页面含有一个或两个输入框,用于接受第一用户提供密钥,在服务器上用用户提供的密钥,给选定文档解密,把已解密文档下载到用户的客户机。
20.权利要求6所述的计算机程序产品,其功能在于,将文档上载到服务器,用相同的算法和密钥进行解密。
21.权利要求19所述的计算机程序产品还包括程序代码,其功能在于,用一个密码对标记加密,创建参考标记,比较从加密标记获得的第一标记和从参考标记获得的第二标记,确定客户机加密算法和密钥是否和保密柜的加密算法和密钥一致。
22.权利要求19所述的计算机程序产品,其功能在于,发送为加密文档验证页面,敦促用户提供上载文档时用过一个或两个密钥,向服务器发送用户输入的密钥,用收到的密钥解密已上载的文档,下载已解密文档到用户客户机进行查看,敦促用户认证上载的文档是否良好,把该文档标为已验证文档。
23.权利要求19所述的计算机程序产品,其功能在于,授予第一用户保密柜至少一个文档的访问权给第二用户保密柜,第二用户使用密钥给第一用户保密柜已授权文档解密,将文档下载到第二用户客户机。
24.一种可靠文档存储方法含以下步骤:
用保密柜名字和密码来创建用户帐户,作为用户的保密柜;
由服务器产生上载文档的页面,该页面含有一个或两个输入框用于接受密钥;
从客户机上载文档到第一用户的保密柜;
用用户所提供的一个或两个密钥对已上载文档加密,并在加密完成后删除上述的密钥;
在服务器上存储已上载、已加密的文档和文档跟踪信息;
为加密文档发送验证页面,提示第一用户输入一个或两个在上载时所用过的密钥,同时上载文档和密钥到服务器,用密钥对已上载的文档解密,并随后删处所述密钥,下载已解密文档到第一用户客户机进行检查,并把上载文档标记为验证成功或失败;
发送文档的总览页面到第一用户客户机,显示已验证文档的信息,其文档信息包含文档描述,上载时间,文档大小;
显示并删除在所述第一用户保密柜的任何文档;
生成含有一个或两个输入框的文档下载页面,用于接受所选文档的密钥,用所接收到的所选文档在上载时使用过的密钥,在服务器上对选定的文档解密,解密后删除密钥,下载已解密选定的文档到上试第一用户客户机。
CN201310051603.XA 2012-01-28 2013-01-25 一种保密网络文档存储方法及系统 Active CN103297413B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/360,722 2012-01-28
US13/360,722 US9449183B2 (en) 2012-01-28 2012-01-28 Secure file drawer and safe

Publications (2)

Publication Number Publication Date
CN103297413A true CN103297413A (zh) 2013-09-11
CN103297413B CN103297413B (zh) 2018-02-02

Family

ID=48871371

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310051603.XA Active CN103297413B (zh) 2012-01-28 2013-01-25 一种保密网络文档存储方法及系统

Country Status (2)

Country Link
US (2) US9449183B2 (zh)
CN (1) CN103297413B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106462398A (zh) * 2014-06-11 2017-02-22 三菱电机株式会社 程序编辑装置、程序管理装置、程序编辑程序及程序管理程序
CN106506676A (zh) * 2016-11-24 2017-03-15 武汉理工大学 文件传输处理方法及辅助系统
CN106972920A (zh) * 2017-06-06 2017-07-21 黑龙江大学 智能手机短信加密方法及系统
CN108257319A (zh) * 2018-02-12 2018-07-06 中国电力科学研究院有限公司 一种具有加解密功能的usbkey安全存储柜及其应用方法
CN111177735A (zh) * 2019-07-30 2020-05-19 腾讯科技(深圳)有限公司 身份认证方法、装置、系统和设备以及存储介质
US10896032B2 (en) * 2018-11-02 2021-01-19 Accenture Global Solutions, Limited System and method for certifying and deploying instruction code
TWI728654B (zh) * 2019-05-31 2021-05-21 開曼群島商創新先進技術有限公司 資料儲存方法及節點
CN113051589A (zh) * 2021-03-17 2021-06-29 重庆扬成大数据科技有限公司 一种大数据政务分析处理安全应用平台
CN113127907A (zh) * 2021-04-29 2021-07-16 江苏信数科技有限公司 一种基于应用的权限校验系统及方法
TWI737368B (zh) * 2020-06-29 2021-08-21 財團法人國家實驗研究院 機敏資料之分析方法及其系統
US11294875B2 (en) 2019-05-31 2022-04-05 Advanced New Technologies Co., Ltd. Data storage on tree nodes

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5268617B2 (ja) * 2008-12-17 2013-08-21 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びコンピュータプログラム
AU2013200916B2 (en) * 2012-02-20 2014-09-11 Kl Data Security Pty Ltd Cryptographic Method and System
US8707035B2 (en) * 2012-03-30 2014-04-22 Decho Corporation High privacy of file synchronization with sharing functionality
US20130283060A1 (en) * 2012-04-23 2013-10-24 Raghavendra Kulkarni Seamless Remote Synchronization and Sharing of Uniformly Encrypted Data for Diverse Platforms and Devices
US10084818B1 (en) 2012-06-07 2018-09-25 Amazon Technologies, Inc. Flexibly configurable data modification services
US9286491B2 (en) 2012-06-07 2016-03-15 Amazon Technologies, Inc. Virtual service provider zones
US9590959B2 (en) 2013-02-12 2017-03-07 Amazon Technologies, Inc. Data security service
US10075471B2 (en) * 2012-06-07 2018-09-11 Amazon Technologies, Inc. Data loss prevention techniques
US9280670B2 (en) * 2012-07-26 2016-03-08 Darren Conte Siftsort
WO2014042648A1 (en) * 2012-09-14 2014-03-20 Empire Technology Development Llc Cloud-based trash-can
US9294267B2 (en) * 2012-11-16 2016-03-22 Deepak Kamath Method, system and program product for secure storage of content
US10303778B2 (en) * 2013-01-28 2019-05-28 Virtual Strongbox, Inc. Virtual storage system and method of sharing electronic documents within the virtual storage system
US10467422B1 (en) 2013-02-12 2019-11-05 Amazon Technologies, Inc. Automatic key rotation
US10211977B1 (en) 2013-02-12 2019-02-19 Amazon Technologies, Inc. Secure management of information using a security module
US9608813B1 (en) 2013-06-13 2017-03-28 Amazon Technologies, Inc. Key rotation techniques
US9367697B1 (en) 2013-02-12 2016-06-14 Amazon Technologies, Inc. Data security with a security module
US9300464B1 (en) 2013-02-12 2016-03-29 Amazon Technologies, Inc. Probabilistic key rotation
US10210341B2 (en) * 2013-02-12 2019-02-19 Amazon Technologies, Inc. Delayed data access
US9705674B2 (en) 2013-02-12 2017-07-11 Amazon Technologies, Inc. Federated key management
US9547771B2 (en) 2013-02-12 2017-01-17 Amazon Technologies, Inc. Policy enforcement with associated data
JP6120650B2 (ja) * 2013-04-05 2017-04-26 キヤノン株式会社 コンテンツ管理装置、コンテンツ管理方法及びプログラム
US9391983B2 (en) * 2013-04-27 2016-07-12 Tencent Technology (Shenzhen) Company Limited Method and system for access control
US20150082390A1 (en) * 2013-09-08 2015-03-19 Yona Flink Method and a system for secure login to a computer, computer network, and computer website using biometrics and a mobile computing wireless electronic communication device
US20150143103A1 (en) * 2013-11-18 2015-05-21 Life of Two Messaging and networking keepsakes
US10140477B2 (en) * 2013-12-09 2018-11-27 Thales E-Security, Inc. Obfuscating in memory encryption keys
KR20150095273A (ko) * 2014-02-13 2015-08-21 삼성전자주식회사 모바일 스토리지의 파일별 암복호화 방법들
US9397835B1 (en) 2014-05-21 2016-07-19 Amazon Technologies, Inc. Web of trust management in a distributed system
US9438421B1 (en) 2014-06-27 2016-09-06 Amazon Technologies, Inc. Supporting a fixed transaction rate with a variably-backed logical cryptographic key
US9860217B2 (en) * 2014-09-09 2018-01-02 Vizio Inc Encrypted streams to receivers
US9866392B1 (en) 2014-09-15 2018-01-09 Amazon Technologies, Inc. Distributed system web of trust provisioning
US10015015B1 (en) * 2014-09-30 2018-07-03 EMC IP Holding Company LLC Method and apparatus for verifying system log integrity
US9824076B2 (en) * 2014-10-14 2017-11-21 Bank Of America Coporation Big file editor
JP6098611B2 (ja) * 2014-10-28 2017-03-22 コニカミノルタ株式会社 画像処理装置、端末装置、処理方法、および制御プログラム
KR101990371B1 (ko) * 2014-11-04 2019-06-18 한화테크윈 주식회사 영상 데이터 접근 내역을 제공하는 영상 정보 시스템 및 방법
US9736201B2 (en) * 2014-12-05 2017-08-15 Vizio Inc Encrypted streams to receivers
US10387665B2 (en) * 2015-03-25 2019-08-20 Vera Policy enforcement
US10469477B2 (en) 2015-03-31 2019-11-05 Amazon Technologies, Inc. Key export techniques
US9639705B1 (en) * 2015-06-17 2017-05-02 Amazon Technologies, Inc. Encryption management for data storage
JP2017021582A (ja) * 2015-07-10 2017-01-26 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
TWI540456B (zh) * 2015-07-15 2016-07-01 緯創資通股份有限公司 帳號管理應用程式的強固方法以及使用該方法的裝置
US10033702B2 (en) * 2015-08-05 2018-07-24 Intralinks, Inc. Systems and methods of secure data exchange
US10222941B2 (en) * 2015-10-27 2019-03-05 Cnh Industrial America Llc Bottom bar display area for an agricultural system
US9674201B1 (en) 2015-12-29 2017-06-06 Imperva, Inc. Unobtrusive protection for large-scale data breaches utilizing user-specific data object access budgets
US9674202B1 (en) 2015-12-29 2017-06-06 Imperva, Inc. Techniques for preventing large-scale data breaches utilizing differentiated protection layers
US10452858B2 (en) * 2016-03-31 2019-10-22 International Business Machines Corporation Encryption key management for file system
US20170323271A1 (en) * 2016-05-06 2017-11-09 Amin Khaef Systems and Methods for Increasing Users of a Job Listing Service
US11132287B2 (en) * 2016-05-18 2021-09-28 Dynatrace Llc Synthetic test recorder installed inline with a web portal
JP6690444B2 (ja) * 2016-07-07 2020-04-28 村田機械株式会社 メール処理装置、および、メール処理装置によるメール送信方法
US10719408B2 (en) 2016-08-03 2020-07-21 Microsoft Technology Licensing, Llc Retain locally deleted content at storage service
US10614042B2 (en) 2016-08-08 2020-04-07 Microsoft Technology Licensing, Llc Detection of bulk operations associated with remotely stored content
US10616210B2 (en) * 2016-08-19 2020-04-07 Microsoft Technology Licensing, Llc Protection feature for data stored at storage service
FI3291184T3 (fi) * 2016-09-02 2023-08-24 Assa Abloy Ab Pääsyobjektiin pääsyn resetointi
US10447672B2 (en) * 2016-11-01 2019-10-15 Salesforce.Com, Inc. Facilitating encrypted persistent storage in browsers
US10645066B2 (en) * 2016-11-19 2020-05-05 Alan Earl Swahn Rights controlled communication
GB2572523A (en) * 2017-01-30 2019-10-02 Walmart Apollo Llc Systems and methods for a specialized computer file system
JP2018128602A (ja) * 2017-02-09 2018-08-16 日本電気株式会社 暗号化データベース管理装置、暗号化データベース管理方法、暗号化データベース管理プログラムおよび暗号化データベース管理システム
WO2018147878A1 (en) * 2017-02-13 2018-08-16 Hewlett-Packard Development Company, L.P. Credentialed encryption
US10783269B1 (en) * 2017-03-02 2020-09-22 Apple Inc. Cloud messaging system
JP6926872B2 (ja) * 2017-09-14 2021-08-25 株式会社リコー 情報処理装置、情報処理方法、及び情報処理プログラム
US10193690B1 (en) * 2017-09-29 2019-01-29 U.S. Bancorp, National Association Systems and methods to secure data using computer system attributes
US10911439B2 (en) * 2017-10-12 2021-02-02 Mx Technologies, Inc. Aggregation platform permissions
JP2019212144A (ja) * 2018-06-07 2019-12-12 株式会社Pfu ファイル管理装置、ファイル管理方法、及びプログラム
EP3614292A1 (en) * 2018-08-23 2020-02-26 Koninklijke KPN N.V. File transfer system comprising an upload, storage and download device
WO2020056409A1 (en) * 2018-09-14 2020-03-19 Coffing Daniel L Fact management system
US11184423B2 (en) * 2018-10-24 2021-11-23 Microsoft Technology Licensing, Llc Offloading upload processing of a file in a distributed system using a key that includes a hash created using attribute(s) of a requestor and/or the file
WO2020101664A1 (en) * 2018-11-14 2020-05-22 Hewlett-Packard Development Company, L.P. Printing devices to control access to data
US11824840B1 (en) * 2019-02-04 2023-11-21 Meixler Technologies, Inc. System and method for web-browser based end-to-end encrypted messaging and for securely implementing cryptography using client-side scripting in a web browser
CN110535643B (zh) * 2019-09-09 2023-05-23 飞天诚信科技股份有限公司 一种防止重置密码被窃取的方法及系统
CN110807210B (zh) * 2019-11-04 2022-07-15 北京联想协同科技有限公司 一种信息处理方法、平台、系统及计算机存储介质
US11310036B2 (en) 2020-02-26 2022-04-19 International Business Machines Corporation Generation of a secure key exchange authentication request in a computing environment
US11405215B2 (en) * 2020-02-26 2022-08-02 International Business Machines Corporation Generation of a secure key exchange authentication response in a computing environment
US11502834B2 (en) 2020-02-26 2022-11-15 International Business Machines Corporation Refreshing keys in a computing environment that provides secure data transfer
US11546137B2 (en) 2020-02-26 2023-01-03 International Business Machines Corporation Generation of a request to initiate a secure data transfer in a computing environment
US11489821B2 (en) 2020-02-26 2022-11-01 International Business Machines Corporation Processing a request to initiate a secure data transfer in a computing environment
US11184160B2 (en) 2020-02-26 2021-11-23 International Business Machines Corporation Channel key loading in a computing environment
US11652616B2 (en) 2020-02-26 2023-05-16 International Business Machines Corporation Initializing a local key manager for providing secure data transfer in a computing environment
US11366901B2 (en) 2020-10-07 2022-06-21 Bank Of America Corporation System and method for identifying insider threats in source code
US20220414064A1 (en) * 2021-06-24 2022-12-29 Vmware, Inc. Efficient replication of file clones
US11641398B2 (en) 2021-07-14 2023-05-02 Secturion Systems, Inc. Secure data transfer over wireless networks using data storage encryptors
US20230266978A1 (en) * 2022-02-23 2023-08-24 Sap Se No-code metadata-driven provisioning of generic document service controls
US11972235B2 (en) 2022-03-02 2024-04-30 Sap Se No-code metadata-driven provisioning of workflow task user interfaces

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070220614A1 (en) * 2006-03-14 2007-09-20 Jason Ellis Distributed access to valuable and sensitive documents and data
CN102024054A (zh) * 2010-12-10 2011-04-20 中国科学院软件研究所 一种面向密文云存储的文档检索方法与系统
WO2011062758A1 (en) * 2009-11-23 2011-05-26 Fujitsu Limited Method and apparatus for sharing documents
CN102281137A (zh) * 2010-06-12 2011-12-14 杭州驭强科技有限公司 一种双向认证式挑战应答机制的动态密码认证方法
US8140847B1 (en) * 2007-09-18 2012-03-20 Jianqing Wu Digital safe

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185796A (en) * 1991-05-30 1993-02-09 Motorola, Inc. Encryption synchronization combined with encryption key identification
US5870475A (en) * 1996-01-19 1999-02-09 Northern Telecom Limited Facilitating secure communications in a distribution network
US6061741A (en) * 1997-05-28 2000-05-09 International Business Machines Corporation Method and apparatus for synchronization of connectionless applications across a network by using simple encryption tokens
DE19856237C2 (de) * 1998-12-07 2002-03-07 Ibm Dynamische Schlüsselgenerierung und vertrauliche Synchronisation von Verschlüsselungskomponenten
US7373517B1 (en) * 1999-08-19 2008-05-13 Visto Corporation System and method for encrypting and decrypting files
GB0014414D0 (en) 2000-06-12 2000-08-09 Business Information Publicati Electronic deposit box system
AU2002213013A1 (en) 2000-09-29 2002-04-08 Jill Fallon Systems and methods for a personal, universal, integrated organizer for legacy planning and storage
WO2002051058A2 (en) * 2000-12-19 2002-06-27 At & T Wireless Services, Inc. Synchronization of encryption in a wireless communication system
WO2002095543A2 (en) * 2001-02-06 2002-11-28 En Garde Systems Apparatus and method for providing secure network communication
US7216083B2 (en) * 2001-03-07 2007-05-08 Diebold, Incorporated Automated transaction machine digital signature system and method
EP1410296A2 (en) * 2001-06-12 2004-04-21 Research In Motion Limited Method for processing encoded messages for exchange with a mobile data communication device
US7219223B1 (en) * 2002-02-08 2007-05-15 Cisco Technology, Inc. Method and apparatus for providing data from a service to a client based on encryption capabilities of the client
US7251635B2 (en) * 2002-02-25 2007-07-31 Schlumberger Omnes, Inc. Method and apparatus for managing a key management system
US7095856B2 (en) * 2002-03-29 2006-08-22 Motorola, Inc. Method and apparatus to maintain encryption synchronization in a multi-modulation TDM system
US20040081320A1 (en) * 2002-10-24 2004-04-29 Jordan Royce D. Password synchronization for wireless encryption system
US7794323B2 (en) * 2003-07-25 2010-09-14 Igt Gaming apparatus with encryption and method
US20050203885A1 (en) * 2004-03-12 2005-09-15 U.S. Bank Corporation System and method for storing, creating, and organizing financial information electronically
WO2006003675A2 (en) * 2004-07-12 2006-01-12 Syed Ibrahim Abdul Hameed Khan System, method of generation and use of bilaterally generated variable instant passwords
US8015595B2 (en) * 2004-09-23 2011-09-06 Igt Methods and apparatus for negotiating communications within a gaming network
US20060106822A1 (en) * 2004-11-17 2006-05-18 Chao-Chun Lee Web-based editing system of compound documents and method thereof
US20060179155A1 (en) * 2005-02-04 2006-08-10 Bunting Harry E Web-based file transfer protocol server enterprise manager with build-in database
US8719397B2 (en) * 2005-11-03 2014-05-06 Emoze Ltd. Method and system for email and PIM synchronization and updating
CA2531411C (en) * 2005-12-23 2017-02-14 Bce Inc System and method for encrypting traffic on a network
US20070258591A1 (en) * 2006-05-05 2007-11-08 Interdigital Technology Corporation Ciphering control and synchronization in a wireless communication system
US9002018B2 (en) * 2006-05-09 2015-04-07 Sync Up Technologies Corporation Encryption key exchange system and method
WO2008026060A2 (en) * 2006-08-31 2008-03-06 Encap As Method, system and device for synchronizing between server and mobile device
US7865729B2 (en) * 2006-10-02 2011-01-04 Cisco Technology, Inc. Bidirectional authentication for HTML form processing
KR100872771B1 (ko) * 2007-09-04 2008-12-09 한국전자통신연구원 암호화 통신에서 키 재동기 프레임을 이용하여 시간정보를동기화하는 장치 및 방법
KR101465263B1 (ko) * 2008-06-11 2014-11-26 삼성전자주식회사 휴대 방송 시스템에서 암호화 키 분배 방법 및 이를 위한시스템
KR20100069382A (ko) * 2008-12-16 2010-06-24 한국전자통신연구원 시스템 동기를 이용한 트래픽 암호화 키 갱신 장치 및 방법
US8589671B2 (en) * 2009-02-27 2013-11-19 Red Hat, Inc. Security implementation within a browser
JP5526747B2 (ja) * 2009-12-04 2014-06-18 パナソニック株式会社 復号化装置、暗号化装置、復号化方法、暗号化方法、および通信システム
US8428260B2 (en) * 2009-12-23 2013-04-23 Motorola Solutions, Inc. System and method of increasing encryption synchronization availability
CN102238002A (zh) * 2010-04-30 2011-11-09 国际商业机器公司 用于网络通信的动态加密和解密的方法和设备
US8543816B2 (en) * 2010-08-18 2013-09-24 File Drop Vault Llc Secure, auditable file exchange system and method
US9058603B1 (en) * 2011-01-04 2015-06-16 Zappos Ip, Inc. Client-side encryption of form data
US9100186B2 (en) * 2011-03-07 2015-08-04 Security First Corp. Secure file sharing method and system
JP6082387B2 (ja) * 2011-05-14 2017-02-15 ビットカーサ インコーポレイテッド ユーザ不可知暗号化ファイルのサーバ側非複製化を有するクラウドファイルシステム
US8625789B2 (en) * 2011-09-26 2014-01-07 Unicorn Media, Inc. Dynamic encryption
US9038194B2 (en) * 2011-11-30 2015-05-19 Red Hat, Inc. Client-side encryption in a distributed environment
US9294267B2 (en) * 2012-11-16 2016-03-22 Deepak Kamath Method, system and program product for secure storage of content
US20140281535A1 (en) * 2013-03-15 2014-09-18 Munibonsoftware.com, LLC Apparatus and Method for Preventing Information from Being Extracted from a Webpage
US9372998B2 (en) * 2014-10-07 2016-06-21 Storagecraft Technology Corporation Client-side encryption in a deduplication backup system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070220614A1 (en) * 2006-03-14 2007-09-20 Jason Ellis Distributed access to valuable and sensitive documents and data
US8140847B1 (en) * 2007-09-18 2012-03-20 Jianqing Wu Digital safe
WO2011062758A1 (en) * 2009-11-23 2011-05-26 Fujitsu Limited Method and apparatus for sharing documents
CN102281137A (zh) * 2010-06-12 2011-12-14 杭州驭强科技有限公司 一种双向认证式挑战应答机制的动态密码认证方法
CN102024054A (zh) * 2010-12-10 2011-04-20 中国科学院软件研究所 一种面向密文云存储的文档检索方法与系统

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106462398A (zh) * 2014-06-11 2017-02-22 三菱电机株式会社 程序编辑装置、程序管理装置、程序编辑程序及程序管理程序
CN106506676A (zh) * 2016-11-24 2017-03-15 武汉理工大学 文件传输处理方法及辅助系统
CN106506676B (zh) * 2016-11-24 2019-05-24 武汉理工大学 文件传输处理方法及辅助系统
CN106972920A (zh) * 2017-06-06 2017-07-21 黑龙江大学 智能手机短信加密方法及系统
CN108257319A (zh) * 2018-02-12 2018-07-06 中国电力科学研究院有限公司 一种具有加解密功能的usbkey安全存储柜及其应用方法
CN108257319B (zh) * 2018-02-12 2023-10-31 中国电力科学研究院有限公司 一种具有加解密功能的usbkey安全存储柜及其应用方法
US10896032B2 (en) * 2018-11-02 2021-01-19 Accenture Global Solutions, Limited System and method for certifying and deploying instruction code
TWI728654B (zh) * 2019-05-31 2021-05-21 開曼群島商創新先進技術有限公司 資料儲存方法及節點
US11294875B2 (en) 2019-05-31 2022-04-05 Advanced New Technologies Co., Ltd. Data storage on tree nodes
CN111177735B (zh) * 2019-07-30 2023-09-22 腾讯科技(深圳)有限公司 身份认证方法、装置、系统和设备以及存储介质
CN111177735A (zh) * 2019-07-30 2020-05-19 腾讯科技(深圳)有限公司 身份认证方法、装置、系统和设备以及存储介质
TWI737368B (zh) * 2020-06-29 2021-08-21 財團法人國家實驗研究院 機敏資料之分析方法及其系統
CN113051589A (zh) * 2021-03-17 2021-06-29 重庆扬成大数据科技有限公司 一种大数据政务分析处理安全应用平台
CN113127907A (zh) * 2021-04-29 2021-07-16 江苏信数科技有限公司 一种基于应用的权限校验系统及方法

Also Published As

Publication number Publication date
US20130198521A1 (en) 2013-08-01
US10904014B2 (en) 2021-01-26
CN103297413B (zh) 2018-02-02
US9449183B2 (en) 2016-09-20
US20170005807A1 (en) 2017-01-05

Similar Documents

Publication Publication Date Title
CN103297413B (zh) 一种保密网络文档存储方法及系统
US11637802B2 (en) Private data sharing system
US10887098B2 (en) System for digital identity authentication and methods of use
US8140847B1 (en) Digital safe
Garfinkel et al. Web Security, Privacy & Commerce: Security for Users, Administrators and ISPs
US7395436B1 (en) Methods, software programs, and systems for electronic information security
CN103563325B (zh) 用于保护数据的系统和方法
US8976008B2 (en) Cross-domain collaborative systems and methods
Andress Foundations of information security: a straightforward introduction
CN101305375A (zh) 用于控制电子信息的分发的系统和方法
CN106407766A (zh) 安全文件共享方法与系统
WO2020183250A1 (en) A system for generation and verification of identity and a method thereof
Al-Rawy et al. A design for blockchain-based digital voting system
US11671475B2 (en) Verification of data recipient
Schrahe et al. Privacy preserving vaccinating‐and testing‐pass for the European Union
Al-Rawy et al. Secure i-voting scheme with Blockchain technology and blind signature
Howard et al. Cyber fraud trends and mitigation
Merrill Detecting and Correcting Client-Side Ballot Manipulation in Internet Voting Systems
Mwamba Secure Password Sharing and Storage Using Encryption and Key-exchange
Blauw Maxima: A Model for Constructing an Online Identity Model of a User Using Identity Fragments
Anooja et al. Remote Voting system in India: A futuristic Approach (Based on analysis of existing online voting system).
Amin Framework for secure communication in medical systems
Anderson et al. Official (ISC) 2 Guide to the SSCP CBK
Al-Ameen et al. The Technical Feasibility of E-Voting
Czeskis et al. High stakes: designing a privacy preserving registry

Legal Events

Date Code Title Description
DD01 Delivery of document by public notice

Addressee: Wu Jing

Document name: Notification of Acceptance of Patent Application

C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant