系统整体框架如图:
采用三层架构,即服务器-客户端-驱动三层协调工作,驱动作为整个系统的核心,提供加密/解密功能,客户端作为辅助,在ring3层上对驱动进行管理,同时也是连接驱动与服务器的桥梁,服务器作为整个系统的指挥中心,对驱动,客户端,用户身份进行验证,并提供相应的管理方法,三者协调有机的组合在一起。
主机(若干):指预装本系统驱动与客户端的计算机,在经由管理员指定的机密进程和机密后缀名之后,员工在被授权主机上编辑如doc,ppt,txt等格式的文档时,保存之后会被加密存放,在指定的进程如Office打开之后会被自动解密成明文供用户编辑,整个过程对于使用者透明。如果确实有业务需要带出编辑文件,员工可以上传文件到服务端,服务端经过相应高权限用户认证(web登陆),能够返回经过解密后的文件,以适应不同场合的需求。
用户(若干):指被管理员创建好的适应于各个不同组别的用户集合,被管理员分配给不同的员工。他们能够通过这个用户登陆到web服务器上对自己权限内的文档进行解密(如普通员工上传的加密文件可以被其相应的部门经理进行授权解密),用户的作用一方面是分担管理员进行的任务,另一方面是使整个系统在有需要的时候进行高效的运转。
管理员:管理员作为整个系统的管理者,对于当前局域网内连接的主机,实际运行着的驱动程序进行管理与监控,同时对于能够授权进行解密操作的用户进行删改与添加,在整个系统内拥有最高权限。
对于部署在局域网内的文件加解密系统,我们提供一整套的解决方案。
服务器使用OpenSSL产生一个RSA私钥/公钥产生主密钥,私钥用作签名
服务器端对于用户的认证:
自动授权:通过用户连接的ip地址判断是否是在内网中,发放凭据
手动授权:满足自动授权条件下,将提出请求的主机呈现在一个表中,需要管理员手动添 加,发放凭据
发放的签名:服务器用自己的私钥对用户的MD5(MachineCode+时间+用户)加密,传送给客户端作为凭据
客户端对于服务器端验证:对于收到的签名,用服务器端产生RSA的私钥进行加密回传给客户端,服务器公钥内置于客户端中,客户端进行解密,验证服务器的签名。
域信息:可以直接用明文传递,如”zxc coporation”,附在每个加密文档的后面,标识当前软件属于哪一个系统
其它防范:
当用户直接通过浏览器登陆时提供的是https安全通信模式,防范中途窃听
说明:当时间超过30分钟后,下一次用户请求时,发送自己经由服务器公钥加密的信息,服务器用RSA私钥解密后查询数据库中有无匹配的数值客户端机器码,若存在,继续发放凭据