掌桥专利:专业的专利平台
掌桥专利
首页

一种添加文件痕迹的方法、系统和介质

文献发布时间:2023-06-19 11:26:00


一种添加文件痕迹的方法、系统和介质

技术领域

本发明涉及文件处理领域,尤其是涉及一种添加文件痕迹的方法、系统和介质。

背景技术

痕迹系统是指对邮件附件进行有目的性扫描,匹配附件格式信息,如果匹配上格式将附件添加痕迹的系统。敏感邮件是指经过扫描痕迹扫描,发现邮件附件命中痕迹系统策略的邮件。Mysql轻量级关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。目前,MySQL被广泛地应用在Internet上的中小型网站中;其将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,就增加了速度并提高了灵活性,具有体积小、速度快、成本低、开放源码、免费等优点。

在企业发送邮件场景中,经常会有涉及公司机密的文件被泄露,传统的做法通常都是将文件进行添加水印在进行发送,但是水印通常只存在于word、pdf文档中,局限性较大;而且文件无法进行溯源,通过水印只能知道该文件是属于企业的涉密文件,无法追查该文件是通过何人在何时将该文件泄露。

发明内容

本发明的目的在于提供一种添加文件痕迹的方案,以解决现有技术中局限于文件格式以及涉密文件泄露以后无法进行溯源的技术问题。

本发明第一方面提供了一种添加文件痕迹的方法,所述方法包括:步骤S1、提取第一邮件的基本信息,所述第一邮件为从企业的发件服务器中发出的邮件;步骤S2、基于所述基本信息,从所述第一邮件中确定第二邮件和所述第二邮件中包含的文件的文件类型,所述第二邮件为待添加文件痕迹的邮件;以及步骤S3、根据所述第二邮件中包含的文件的文件类型为所述第二邮件中包含的文件添加所述文件痕迹;其中所述文件痕迹为所述企业的企业名、所述第二邮件的发件人、收件人、和发件时间。

根据本发明第一方面提供的方法,在所述步骤S1中,对所述第一邮件进行递归解析,以提取所述基本信息,所述基本信息包括:所述第一邮件的收件人和发件人;以及所述第一邮件中包含的文件的文件类型。

根据本发明第一方面提供的方法,在所述步骤S2中,当所述第一邮件的收件人和发件人不在所述企业设置的白名单中,并且当所述第一邮件中包含的文件的文件类型支持添加所述文件痕迹时,将所述第一邮件确定为所述第二邮件。

根据本发明第一方面提供的方法,在所述步骤S3中,当所述所述第二邮件中包含的文件的文件类型为第一文件类型时,在所述所述第二邮件中包含的文件中添加自定义属性,所述自定义属性的属性名为所述企业名,属性值为所述第二邮件的发件人、收件人、和发件时间,其中第一文件类型包括pdf、xlsx、xls、docx、doc、pptx、ppt、tif和bmp;当所述所述第二邮件中包含的文件的文件类型为第二文件类型时,为所述所述第二邮件中包含的文件设置新的文件标签,所述文件标签的标签名为所述企业名,标签值为所述第二邮件的发件人、收件人、和发件时间,其中第二文件类型包括mp3和flac;以及当所述所述第二邮件中包含的文件的文件类型为第三文件类型时,在所述所述第二邮件中包含的文件中添加自定义节点,所述自定义节点的节点名为所述企业名,节点值为所述第二邮件的发件人、收件人、和发件时间,其中第三文件类型包括gif、png和jpg。

根据本发明第一方面提供的方法,所述方法还包括:步骤S4、以添加了所述文件痕迹的文件替换所述第二邮件中包含的文件,通过所述企业的邮件代理服务器进行投递。

本发明第二方面提供了一种添加文件痕迹的系统,所述系统包括:提取单元,被配置为,提取第一邮件的基本信息,所述第一邮件为从企业的发件服务器中发出的邮件;确定单元,被配置为,基于所述基本信息,从所述第一邮件中确定第二邮件和所述第二邮件中包含的文件的文件类型,所述第二邮件为待添加文件痕迹的邮件;以及添加单元,被配置为,根据所述第二邮件中包含的文件的文件类型为所述第二邮件中包含的文件添加所述文件痕迹;其中所述文件痕迹为所述企业的企业名、所述第二邮件的发件人、收件人、和发件时间。

根据本发明第二方面提供的系统,其中:所述提取单元具体被配置为,对所述第一邮件进行递归解析,以提取所述基本信息,所述基本信息包括:所述第一邮件的收件人和发件人;以及所述第一邮件中包含的文件的文件类型;所述确定单元具体被配置为,当所述第一邮件的收件人和发件人不在所述企业设置的白名单中,并且当所述第一邮件中包含的文件的文件类型支持添加所述文件痕迹时,将所述第一邮件确定为所述第二邮件。

根据本发明第二方面提供的系统,所述添加单元具体被配置为:当所述所述第二邮件中包含的文件的文件类型为第一文件类型时,在所述所述第二邮件中包含的文件中添加自定义属性,所述自定义属性的属性名为所述企业名,属性值为所述第二邮件的发件人、收件人、和发件时间,其中第一文件类型包括pdf、xlsx、xls、docx、doc、pptx、ppt、tif和bmp;当所述所述第二邮件中包含的文件的文件类型为第二文件类型时,为所述所述第二邮件中包含的文件设置新的文件标签,所述文件标签的标签名为所述企业名,标签值为所述第二邮件的发件人、收件人、和发件时间,其中第二文件类型包括mp3和flac;以及当所述所述第二邮件中包含的文件的文件类型为第三文件类型时,在所述所述第二邮件中包含的文件中添加自定义节点,所述自定义节点的节点名为所述企业名,节点值为所述第二邮件的发件人、收件人、和发件时间,其中第三文件类型包括gif、png和jpg。

根据本发明第二方面提供的系统,所述系统还包括:投递单元,被配置为,以添加了所述文件痕迹的文件替换所述第二邮件中包含的文件,通过所述企业的邮件代理服务器进行投递。

本发明第三方面提供了一种存储有指令的非暂时性计算机可读介质,当所述指令由处理器执行时,执行根据本发明第一方面的一种添加文件痕迹的方法中的步骤。

上述技术方案通过在文件中添加痕迹解决了传统水印带来的问题,其突破文件格式的限制,可为doc、xlsx、ppt、jpg、MP3、flac等14种文件添加痕迹;另外在不影响文件的正常显示的前提下,可以通过痕迹查询该文件在何时经过何人的邮箱进行投递。该方案降低了企业涉密文件外泄的风险,并且能够在企业涉密文件发生外泄时,提供有效可行的查询方法。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为根据本发明实施例的一种添加文件痕迹的方法的流程图;以及

图2为根据本发明实施例的一种添加文件痕迹的系统的结构图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明第一方面提供了一种添加文件痕迹的方法。图1为根据本发明实施例的一种添加文件痕迹的方法的流程图,如图1所示,该流程始于步骤S1,提取第一邮件的基本信息,所述第一邮件为从企业的发件服务器中发出的邮件。具体地,在所述步骤S1中,对所述第一邮件进行递归解析,以提取所述基本信息,所述基本信息包括:所述第一邮件的收件人和发件人;以及所述第一邮件中包含的文件的文件类型。

在一些实施例中,邮件(第一邮件)通过网络配置从企业的发件服务器投递至痕迹系统,到达痕迹系统首先会对邮件进行解析。邮件解析是将eml文件递归进行卸载包裹。卸载包裹是将eml文件读取为Message类型,从Message中得到Content属性,对Content进行判断如果Content的类型是Multipart我们认为这还是一个小包裹,继续递归调用该方法直到Content的类型为Part类型,这时从Part类型中获取邮件的各个部分比如附件、正文,将解析的附件存储至本地硬盘中,对于邮件的基本信息将会缓存在内存中。

接下来,在步骤S2,基于所述基本信息,从所述第一邮件中确定第二邮件和所述第二邮件中包含的文件的文件类型,所述第二邮件为待添加文件痕迹的邮件。具体地,在所述步骤S2中,当所述第一邮件的收件人和发件人不在所述企业设置的白名单中,并且当所述第一邮件中包含的文件的文件类型支持添加所述文件痕迹时,将所述第一邮件确定为所述第二邮件。

在一些实施例中,如果第一邮件的收发件人不在企业配置的白名单里,并且第一邮件包含的文件的文件类型暂不支持添加痕迹,将所述第一邮件确定为第二邮件,即待添加文件痕迹的邮件。否则痕迹系统不会对邮件进行任何处理,直接将邮件通过邮件代理服务器投递出去。

随后,在步骤S3,根据所述第二邮件中包含的文件的文件类型为所述第二邮件中包含的文件添加所述文件痕迹;其中所述文件痕迹为所述企业的企业名、所述第二邮件的发件人、收件人、和发件时间。

如果经上一步判断需要添加痕迹,那么首先将原邮件进行备份,然后从内存中取出邮件的基本信息,然后根据文件类型调用对应的痕迹添加方法,各个文件类型对应的痕迹添加方法如下:

当所述所述第二邮件中包含的文件的文件类型为第一文件类型时,在所述所述第二邮件中包含的文件中添加自定义属性,所述自定义属性的属性名为所述企业名,属性值为所述第二邮件的发件人、收件人、和发件时间,其中第一文件类型包括pdf、xlsx、xls、docx、doc、pptx、ppt、tif和bmp。

pdf:

通过文件流的方式读取pdf类型文件为PdfReader,通过PdfReader创建PdfStamper对象,PdfStamper对象可以在pdf文件中添加自定义的属性,属性的名设置为企业名,属性的值设置为“发件人+收件人+发件时间”,这样在需要读取文件痕迹的时候就可以通过属性名得到对应的信息。

xlsx:

通过文件路径将xlsx文件读取为Workbook对象(Workbook对象可以在xlsx文件中添加自定义的属性),属性的名设置为企业名,属性的值设置为“发件人+收件人+发件时间”,这样在需要读取文件痕迹的时候就可以通过属性名得到对应的信息。

xls:

通过文件流的方式读取xls类型文件为HSSFWorkbook,HSSFWorkbook对象可以在xls文件中添加自定义的属性,属性的名设置为企业名,属性的值设置为“发件人+收件人+发件时间”,这样在需要读取文件痕迹的时候就可以通过属性名得到对应的信息。

docx:

通过文件路径将docx文件读取为XWPFDocument对象(XWPFDocument对象可以在docx文件中添加自定义的属性),属性的名设置为企业名,属性的值设置为“发件人+收件人+发件时间”,这样在需要读取文件痕迹的时候就可以通过属性名得到对应的信息。

doc:

通过文件路径将doc文件读取为Document对象(Document对象可以在doc文件中添加自定义的属性),属性的名设置为企业名,属性的值设置为“发件人+收件人+发件时间”,这样在需要读取文件痕迹的时候就可以通过属性名得到对应的信息。

pptx:

通过文件路径将pptx文件读取为XWPFDocument对象(XWPFDocument对象可以在pptx文件中添加自定义的属性),属性的名设置为企业名,属性的值设置为“发件人+收件人+发件时间”,这样在需要读取文件痕迹的时候就可以通过属性名得到对应的信息。

ppt:

通过文件路径将ppt文件读取为XWPFDocument对象(XWPFDocument对象可以在ppt文件中添加自定义的属性),属性的名设置为企业名,属性的值设置为“发件人+收件人+发件时间”,这样在需要读取文件痕迹的时候就可以通过属性名得到对应的信息。

tif:

通过路径将tif文件使用FileInputStream流的方式读取,通过FileInputStream得到fileCacheRandomAccessInputStream流,通过fileCacheRandomAccessInputStream流得到TIFFImage对象(TIFFImage对象可以在tif文件中添加自定义的属性),属性的名设置为企业名,属性的值设置为“发件人+收件人+发件时间”,这样在需要读取文件痕迹的时候就可以通过属性名得到对应的信息。

bmp:

通过路径将bmp文件读取为BufferedImage对象,将要保存的属性名以及属性值转为int型数组,将该数组写入像素分量最低位用来保存文件痕迹。

当所述所述第二邮件中包含的文件的文件类型为第二文件类型时,为所述所述第二邮件中包含的文件设置新的文件标签,所述文件标签的标签名为所述企业名,标签值为所述第二邮件的发件人、收件人、和发件时间,其中第二文件类型包括mp3和flac。

mp3:

通过文件路径将mp3文件读取为MP3File对象,在MP3File中获取原有的文件标签为tag,在文件标签中添加新的标签,标签的名设置为企业名,标签的值设置为“发件人+收件人+发件时间”,这样在需要读取文件痕迹的时候就可以通过标签名得到对应的信息。

flac:

通过文件路径将flac文件以文件流的形式读取为AudioFile对象,在AudioFile中获取原有的文件标签为tag,在文件标签中添加新的标签,标签的名设置为企业名,标签的值设置为“发件人+收件人+发件时间”,这样在需要读取文件痕迹的时候就可以通过标签名得到对应的信息。

当所述所述第二邮件中包含的文件的文件类型为第三文件类型时,在所述所述第二邮件中包含的文件中添加自定义节点,所述自定义节点的节点名为所述企业名,节点值为所述第二邮件的发件人、收件人、和发件时间,其中第三文件类型包括gif、png和jpg。

gif:

通过路径将gif文件读取为BufferedImage对象,然后创建gif类型对应的IIOMetadata对象,在IIOMetadata中我们可以设置自定义的IIOMetadataNode节点,节点的名设置为企业名,节点的值设置为“发件人+收件人+发件时间”,然后将节点存放到IIOMetadata对象中,最后通过IIOImage将buffImg,metadata写到硬盘中,样在需要读取文件痕迹的时候就可以通过IIOMetadata中的节点获取对应的信息。

png:

通过路径将gif文件读取为BufferedImage对象,然后创建gif类型对应的IIOMetadata对象,在IIOMetadata中我们可以设置自定义的IIOMetadataNode节点,节点的名设置为企业名,节点的值设置为“发件人+收件人+发件时间”,然后将节点存放到IIOMetadata对象中,最后通过IIOImage将buffImg,metadata写到硬盘中,样在需要读取文件痕迹的时候就可以通过IIOMetadata中的节点获取对应的信息。

jpg:

通过路径将jpg文件读取为BufferedImage对象,然后创建jpg类型对应的IIOMetadata对象,在IIOMetadata中我们可以设置自定义的IIOMetadataNode节点,节点的名设置为企业名,节点的值设置为“发件人+收件人+发件时间”,然后将节点存放到IIOMetadata对象中,最后通过IIOImage将buffImg,metadata写到硬盘中,样在需要读取文件痕迹的时候就可以通过IIOMetadata中的节点获取对应的信息。

最后,所述方法还包括:步骤S4、以添加了所述文件痕迹的文件替换所述第二邮件中包含的文件,通过所述企业的邮件代理服务器进行投递。

在一些实施例中,通过上一步将相关附件添加痕迹完毕后,使用新文件替换原邮件内的附件,然后将邮件通过邮件代理服务器投递出去。通过邮件代理服务器获取的返回信息,如果投递邮件失败,将发送失败的邮件信息存储至数据库中,等待定时任务重新进行投递。

本发明第二方面提供了一种添加文件痕迹的系统。图2为根据本发明实施例的一种添加文件痕迹的系统的结构图,如图2所示,所述系统200包括:提取单元201,被配置为,提取第一邮件的基本信息,所述第一邮件为从企业的发件服务器中发出的邮件;确定单元202,被配置为,基于所述基本信息,从所述第一邮件中确定第二邮件和所述第二邮件中包含的文件的文件类型,所述第二邮件为待添加文件痕迹的邮件;以及添加单元203,被配置为,根据所述第二邮件中包含的文件的文件类型为所述第二邮件中包含的文件添加所述文件痕迹;其中所述文件痕迹为所述企业的企业名、所述第二邮件的发件人、收件人、和发件时间。

根据本发明第二方面提供的系统,其中:所述提取单元201具体被配置为,对所述第一邮件进行递归解析,以提取所述基本信息,所述基本信息包括:所述第一邮件的收件人和发件人;以及所述第一邮件中包含的文件的文件类型;所述确定单元202具体被配置为,当所述第一邮件的收件人和发件人不在所述企业设置的白名单中,并且当所述第一邮件中包含的文件的文件类型支持添加所述文件痕迹时,将所述第一邮件确定为所述第二邮件。

根据本发明第二方面提供的系统,所述添加单元203具体被配置为:当所述所述第二邮件中包含的文件的文件类型为第一文件类型时,在所述所述第二邮件中包含的文件中添加自定义属性,所述自定义属性的属性名为所述企业名,属性值为所述第二邮件的发件人、收件人、和发件时间,其中第一文件类型包括pdf、xlsx、xls、docx、doc、pptx、ppt、tif和bmp;当所述所述第二邮件中包含的文件的文件类型为第二文件类型时,为所述所述第二邮件中包含的文件设置新的文件标签,所述文件标签的标签名为所述企业名,标签值为所述第二邮件的发件人、收件人、和发件时间,其中第二文件类型包括mp3和flac;以及当所述所述第二邮件中包含的文件的文件类型为第三文件类型时,在所述所述第二邮件中包含的文件中添加自定义节点,所述自定义节点的节点名为所述企业名,节点值为所述第二邮件的发件人、收件人、和发件时间,其中第三文件类型包括gif、png和jpg。

根据本发明第二方面提供的系统,所述系统还包括:投递单元204,被配置为,以添加了所述文件痕迹的文件替换所述第二邮件中包含的文件,通过所述企业的邮件代理服务器进行投递。

本发明第三方面提供了一种存储有指令的非暂时性计算机可读介质,当所述指令由处理器执行时,执行根据本发明第一方面的一种添加文件痕迹的方法中的步骤。

综上,本公开的各个方面通过在文件中添加痕迹解决了传统水印带来的问题,其突破文件格式的限制,可为doc、xlsx、ppt、jpg、MP3、flac等14种文件添加痕迹;另外在不影响文件的正常显示的前提下,可以通过痕迹查询该文件在何时经过何人的邮箱进行投递。该方案降低了企业涉密文件外泄的风险,并且能够在企业涉密文件发生外泄时,提供有效可行的查询方法。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

相关技术
  • 一种添加文件痕迹的方法、系统和介质
  • 一种涉密文件添加水印的方法、装置、介质及系统
技术分类

06120112923009