《数据溯源模块设计.docx》由会员分享,可在线阅读,更多相关《数据溯源模块设计.docx(21页珍藏版)》请在课桌文档上搜索。
1、数据溯源DT模块设计说明书版本历史版本号修改日期修改人说明120200302孙桂银创建文档220200327孙桂银按研发实际实现修改设计需求1.1 需求背景41.2 需求描述4系统框架42.1 功能模块42.2 设计框架52.3 数据库设计5功能设计63.1 服务端63.1.1 管理端63.1.2 股务端(接口)183.2 客户端193.3 移动端213.3.1 授权.错误I未定义书签.3.3.2 策略错误!未定义书签.3.3.3 二维码解析错误!未定义书签.1需求1.1 需求背景为客户提供数据溯源功能:数据追测DataTraceability1.2 需求描述为避免重要信息通过截屏、打印携带等
2、途径泄密,需对以上各类方式提供溯源追踪。2系统框架在现有的DGS产品上,新增“数据溯源”模块2.1 功能模块2.2 设计框架JR丽1.I1!卜财权和第略客户端本地存储授权和策略2.3 数据库设计dt-createtable.sql3功能设计3.1 服务端3.1.1 管理端3.1.1.1 算号(新增数据溯源模块授权)原加密模块和打印模块中的水印功能保留,新增“数据溯源”模块独立算号授权LiCenSe文件格式变更,算号工具变更,DGS授权逻辑变更。1、算号系统增加数据溯源(DT)授权信息。包括DTPC端.每个授权信息里包括是否授权、终端数、是否试用号、使用天数四个选项。查看L2、授权系统中生成的授
3、权文件增加版本号信息,版本号为VCrSion=V2.().3、授权查看列表增加DT模块相关的列。4、导出授权信息时增加DT模块相关信息。5、新增字段如下/*数概溯源PC蟋是否授权*/privatebooleanhasDtPcfalse:*数据溯源PC端是否为试用号*/privatebooleandtPcUnofficialfalse:* 数据溯源PC端试用开始时间*/privateDate(ItPcUnofficialBeginnull;* 数据溯源PC端试用天数*/privateIntegerdtPcUnoffIcialDayCounts二0:* 数据溯源PC端到期时间* /privateD
4、atedtPcEndTiae;* 数据溯源PC馈过期天数* /privateIntegerdtPcOverCounts0;* 数据溯源移动端是否授权* /privatebooleanhasDtMobilefalse:* 数据溯源移动端毡否为试用号privatebooleandtMobiIeUnofficialfalse;* 数据溯源移动端使用开始时间* /privateDatedtMobileUnoffIcialBeginnull;* 数据溯源移动端使用天数* /privateIntegerdtMobiIeUnoffiCialDayCounts=0;* 数据溯源移动端到期时间* /privat
5、eDatedtMobiIeEndTiHe.* 数据溯源移动端过期天数* /privateIntegerdtMobiIeOverCounts-0:6、Jsystemjicense表中增加如上字段。7、DGSManagcr中的基础平台授权管理中的授权页面新增数据溯源的相关信息。具体界面效果和后台逻辑参考之前的数据安全的授权进行添加。8、Jsystemjerminal中新增enbaleDlPc、enbaleDtMobile数据类型为Iinyint3.1.1.2基础平台增加新模块的功能树参考下节3.1.1.3的菜单,将数据溯源模块的功能菜单添加进基础平台的权限功能树里【系统管理员权限1查看功能树快速检
6、索Fl:1_|9以件父切口而口硬件变动日志IL口10网络流量审计:一口审计日志口S3模块操作日志-口安全网关-口策略管理【口Dsag策略I-OsMGmBS-口SFG策略-“口W系统设置匚口系统配置一口脸状态监控H3sAGi一口SMG网关监控-0SFG网关行-口审计日志口策略管理|-口溯源策略厂口6)水印元数据L口软件管理上口脸系统设置I匚口系统K置Iw溯源解析匕口脸审计日志-口模块操作日志关闭3.L13“数据溯源”模块3.1.1.3.1 策略管理-水印元数据元数据用来设置明文水印和点阵水印的策略模板,供DT策略关联使用Ett本1、新增修改界面参考图示2、表设计(参考数据库设计章节)3、删除逻辑
7、已经应用的元数据模板不能被删除,未应用的可删除,逻辑胴除非物理删除.4、元数据可保存历时数据,但元数据修改后及时应用到已下发的策略中。3.1.1.3.2 策略管理-软件管理软件进程列表管理,实现了软件和进程的增删改查。映黛荤Il*hJ次路管理I忤分】集OKXe*玻M2ff,9S注1 欧 WOedxeIgsS三*三-耳f-f7tn-3Bi看Vt忡mSwnWord1、界面参考图示2、表设计(参考数据库设计章节)3、进程分类增删改查(暂时不支持复制)3.1.1.3.3 策略管理-溯源策略策略的增删改查并应用策略.,支持屏幕溯源和打印溯源,界面参考图示Ul1K*JU9TS)FNRX65/I晨ACIV6
8、血川AM1)屏幕溯源:屏幕溯源支持两种水印格式:明文水印点阵水印 水印可关联使用元数据已添加的模板点阵水印的解析:点阵解析工具; 屏幕溯源显示条件:直显示;按进程显示(当客户端运行了配置的进行全屏显示屏幕水印) DT中的屏幕溯源和加密模块中的屏幕水印设置同时存在(DT的策略生效)修改屏游流8启用屏M溯源水印类型.O明文水印点阵水印水印元数据Sgy一点阵文字内容:test水印风格:FF66000度(%)50显示条件一直显示C)打开受控软件修改星本信g,良户F打印渊源MIg用屏黑踊水印受至O明文水印卷成降水印水印元JKiKSgy一点除文字内囱test水印风格FF6600,-)50示条件O-BSS您
9、JJ开受控软件B.1士且b1(改)IE3lcSlword2)打印溯源 打印溯源支持水印格式:明文水印 水印可关联使用元数据已添加的模板 打印溯源显示条件:一直显示,不限制打印进程和打印文档类型 DT中的打印溯源和打印模块中的打印水印设置同时存在(DT的策略生效)修改stmptot 一.,皿 QMMBLt4yTef*Hmewc9ScSc*Tr. ddTf*v4Mt.*? BIWtnt owarvMr BMIMmTWCMKyA。-TM-K /,ABfiBV Mit UMt et08tMum I rm(J WMWItAHMMlMSW-cnX Y5-a,A代 AWttgmMJtEHWnMCLU0M.,
10、*4TMy lMa 8B_ t t*nu dt TrcMb4)MMpla . t bwwM A T rcbtaMe wv4 -MMi QKMUrt.Cp*rTnpU11 但费(99MSKMBc3ww?MtMflHuIDT应用策略不参考fd可参考加密策略或者DLP策略(一个人最多只应用一个而非多个)补充表设计1.界面参考上面的界面2 .新增加DtTemplaiecontrollenDtTemplaieservicetDtTemplateServiceImpl.DtTempIateDao3 .新增接口(逻辑参考文档管理加密策略添加用户信息通过redis获取关联表添加对应关系)ZgetTemplat
11、eList获取溯源策略get参数DtTemplateSearchBeanZgetsyncSoftwarcTrcc获取软件树get参数parcntld和IemplatcIdZaddTemplate新增/修改/复制溯源策略post参数DtTempIateBean/CanDeIeteTdTemplate判断是否可以被删除post参数ids(被选择的策略id)/deIctcTcmpIatc判断是否可以被删除post参数DtTcmplatcBcan(逻辑参考dip防泄漏策略添加)ZgetAppIyChildrenList获取应用策略模板的部门和人员列表post参数DtAppIyInfoSearchBea
12、n/applyTemplale应用策略模板post参数DtAPPlyedReqBean4.对应的bean数据DtTempIateBean* 名称* /privateStringname;* 版本/privateintversion;* 是否允许屏幕溯源* I表示允许,。表示不允许* /privatebooleanScreenDt=false;/* 是否允许打印溯源* 1表示允许,。表示不允许/privatebooleanprintDt=false;* 屏幕水印类型* I.明文2.点阵*/privateIntegerScreenWatermarkType;* 屏幕水印元数据id* /privat
13、eStringScrccnMctadataId;* 屏幕水印显示条件* 1一直显示2url3软件列表* /privateIntegerScreenDisplayCondition;* 屏幕UrI* /privateSiringscrccnUrl;* 打印水印类型* 1.明文2.点阵*/privateIntegerprintWatcrmarkTypc;* 打印水印元数据id* /privateStringprintMetadatald;/* 打印水印显示条件* 1一直显示2软件列表* /privateIntegerPrintDiSPIayCondition;* 屏幕软件列表* /privateL
14、istScreenSoftwareList;/* 打印软件列表* /privateListPrintSOfIWareList;/* 打印水印数据* /privateWatermarkContentprintWatermarkContent;/* 屏幕水印数据* /privateWatcrmarkContentScrccnWatermarkContcnt:DtTempIateSearchBean继承BaseSearchBeanDtAppIyInfoSearchBean/* /privatestaticfinallongSerialVersionUID=IL;*杳询全部* /privatebool
15、eansearchAIl=false;* 己应用* /privatebooleanapplycd=false;* 部门id* /privateSiringdepartmentld;/* 岗级key* /privateStringjobLeveI;* 模板id/privateStringIenipIateId;* 部门id* /privateListdepartmentldLisi;DtApplycdRcqBcan* id* /privateStringid;* 应用到人id/privateSiringuserids;* 应用到人账号* /privateStringUSerNames;* 应用到
16、部门id* /privateStringdepartlds;* 应用到部门名称* /privateStringdepa11Names;/* 取消应用到人id* /privateSiringdelUserlds:/* 取消应用的人员账号* /privateStringdelUscrNamcs;* 取消应用到部门id* /privateStringdelDepartlds;/* 取消应用的部门名称* /privateStringdelDepartNames;* 应用到子项* /privatebooleanapplyChild; 模板id /privateStringtenplateld;产* 模板
17、名称 /privateStringIemPIateName:5sql3.1.1.3.4 系统设置系统设置客户端连接ientDTUrl服务端连接:SerViCeDTUrlGIrmw三,w三三,,上,a三aIiHad制0g卑电B.不可收国用1逅承铜d*FISM啊dTOmHum(DT*务日域名田rAW内较例i*cb匕户费a$tutnv)3.1.1.3.5 审计日志-模块操作日志模块界面参考式典鹫I数据安全卫士系统AgiIeDGS3WIrM三CESZSH,三三三三一20211511662020421 U 4054OIPmq E“KDU断*卬-K/ . 8M2 lit IIM2042-21U 47OUK
18、仪OtPM匕0畛4E*In 体 RMUMXtMQIUMMepvs2 冷 VP 川 HISKMC2% W202119111120204X113315OtP)Ue货10161508720X4M15M4lDUrt101650BT202009gIS22OU1WMl118标8X31016MH耍ID16H016202O44U16530U三W1016HK2W04N2HWX0U*W1016*钟1620XMMUH441OlPVM1016H01620204MUU180OlP工号,决ImWl6RR4n。o*i1016501620MW094347DUeKA20COU*35Za;3,tCrtlHlAVfCMOL2、Lo
19、U*黑昆*5$,.*CM女2R8aous*%名方*j,p*e三w0aKKe指名为一HSDLPflff90乎,方靖。以DU妫修却HM4tpews域名力43.1.2 服务端(接口)工121授权登录接口增加新模块的授权信息。1、DGS、DGSManager登录接口增加对dtPc端以及对dtMobile端的授权信息的判断,判断是否对其进行授权。登录成功后返回给客户端授权标识enableDtPc=lOCnabIcDlMobiic=1/0。2、返回值中增加如下两个属性enableDtPc:l/OenableDtMobile:I/03J22策略心跳获取新模块策略(所有客户端设备)升级前升级后未启用数据溯源升
20、级后启用数据溯源加密模块水印策略正常正常数据溯源策略中的屏幕水印和文件水印生效打印模块水印策略正常正常数据溯源策略中的打印水印生效数据溯源策略无无正常1.在登陆心跳方法中获取授权标识通过0”的是否d策略权限,再通过用户id还是部门id获取出策略信息2DGS增加方法获取dt策略,首先判断是否用户dt授权,0/1,拥有授权后再通过用户id或部门id获取策略信息(逻辑参考dip获取模块策略)3返回bean参考上面DtTempIateBean3.2客户端屏幕渊源文件溯源打印溯源溯源模块加载3.2.1 溯源模块策略、授权获取客户端登录成功后,获取溯源策略,策略内容以json格式返回,策略中包括屏科溯源、
21、数据溯源、打印溯源,首先判断是否启用屏暮、打印溯源,如果启用,再进一步解析水印内容溯源策略文件名DTSlrategyJdg*|一批注I朱亿1:根据后台策略进行设计,留时后台缺少字段说明3.2.2 增加溯源模块入口客户端登录成功后,根据是否具备溯源模块授权,决定是否启动入口程序,该入口程序名字为DT.exe,再由入口程序决定是否启用屏幕溯源和数据溯源程序。代码上需要注意拓展性,保证后续增加功能的情况下不影响现有代码,考虑到dip目前有上传日志的需求,后续DT模块也可能增加该需求,所以启动进程功能封装成进程启动类在类内处理相应的逻辑。打印溯源为一个单独的dll,dll名字为:pt.dll,由krn
22、.dll加载,只有具备溯源模块授权并且启用打印溯源,才需要加载该dll.3.2.3 屏幕溯源明文、点阵水印集成屏幕溯源新建一个项目,生成的程序名称为ST.cxc,由DT.exe启动,启动后判断当前是否具有溯源授权,如果具有溯源模块授权,则采用溯源策略显示相应的水印内容。原有DG模块屏幕水印逻辑也需要修改,如果具有溯源模块,就直接不启动SWmexe进程。将启动的任务交给溯源入口程序DT.exe。3.2.4 打印溯源明文水印集成打印溯源单独一个PIdL将原有打印安全模块的水印功能提取出来,根据软件区分是在StartPage还是EndPage时添加明文水印。原先添加水印的类文件提到include目录
23、,作为公共文件使用,避免代码重熨。打印溯源明文水印设计:1 .dllmain.cpp主要对溯源策略中的开关进行判断,对HookPrintAPI与PrintTracing进行调用判断当前进程需要如何处理水印,在startpage或者endpage中处理2 .HookAPI.hHookAPLcpp考虑是否作为基类合并3 .HookPrintAPLhHookPrinlAPLcpp从原有PC中hook的printAPI中筛选相关打印函数,简化原有大量hook4 .PrintTracing.hPrintTracing-Cpp打印溯源明文水印主要实现文件实现1:水印内容处理实现2:向打印内容中添加水印5 .TypedefFunc.h/ZtypedefFunctionaboutprintAPI6 .PSMWatcrMark.h/drawwatermark(存放include目录)3.3移动端移动端行时使用加密策略中的屏幕水印设置