实现文件和文件夹的加密解密,促进个人信息安全

使用文件加密和解密方法可以有效保护数据安全,避免文件被非授权人员访问,很大程度上保障个人信息安全。Linux, Windows以及MAC平台均有方便易用的文件加密和解密工具,原生于Linux社区的GnuPG是一个得到广泛应用的开源信息安全解决方案,在各大操作系统平台均可运行,本文将针对Windows环境,介绍基于GnuPG的Kleopatra作为文件加密解密软件。根据本文,用户将能够方便地在文件浏览器中通过右键快捷菜单的方式对文件或文件夹进行加解密操作,操作方式与“压缩文件”和“解压文件”类似。

  • 概述

  • 安全方案

  • 程序安装

  • 创建密钥对

  • 发布自己的证书

  • 导入好友的证书

  • 使用证书加解密文件/文件夹

  • 一些上层应用

概述

使用文件加密和解密方法可以有效保护数据安全,避免文件被非授权人员访问,用户可以通过加密来保护自己私人文件。另外,通过互联网发送文件,上传至云存储或者在不同设备间同步文件的时候,传输加密后的文件可以避免文件在传输过程中不被破解,保证信息的完整性的机密性。接收文件方可以通过公钥等方式对加密文件进行验证,鉴别文件来源,验证文件完整性,保持机密,并防止冒名顶替。

Linux, Windows以及MAC平台均有方便易用的文件加密和解密工具,支持广泛的密码学算法。原生于Linux社区的GnuPG(全称GNU Privacy Guard,有时候也简称为GPG),是一款被各大操作系平台广泛使用的一个加密软件,该软件遵循国际互联网工程任务组(IETF)制定的OpenPGP技术标准,可用于加密解密、数字签名以及生成非对称密钥对等任务。

GnuPG本身是一个命令行界面,在Linux的KDE桌面下有KGPG、KMail等图形界面,在GNOME界面下有Seahorse等图形界面,在Windows则通常可以使用Gpg4win以及Kleopatra软件进行文件加解码,而在Mac OS X上,Mac GPG项目提供Aqua作为操作系统集成的加密前端和密钥管理器。加密的文件可以通过网络发送,也可以通过优盘等介质传递到其他用户的计算机。

GnuPG可以看成是一个管理本地各种各样密钥文件的命令行程序,用于在用户目录中安装管理公钥和私钥。此外,Android上有《OpenKeychain: Easy PGP》等应用。

Linux和MAC下的文件加密解密极易配置,本文接下来针对Windows环境,配置Kleopatra作为文件加密解密软件,配置完成后,用户将能够方便地在文件浏览器中通过右键快捷菜单的方式对文件或文件夹进行加解密操作,操作方式与“压缩文件”和“解压文件”类似。

安全方案

  1. 在本方案中,每个人使用Kleopatra创建自己的公钥和私钥,公钥集中起来管理,分发给每一个用户,代表网络内的用户相互认识对方;私钥每个人自己妥善保存在自己的计算机设备上,管理好自己的私钥不被泄漏。每个人在准备向别人发送文件时,使用自己的私钥加密文件或文件夹,并选中特定的一个或多个接收人。只有在这个列表中得到授权的用户才能够解密此文件。

在这个方案中,地址本可以选择每季度、每半年或者每年度更新一次,或者通过互联网途径将公钥上传到公钥服务器。

  1. 在这个方案中,用户为保障私钥安全,还可以采用如下方案:

    a. 为私钥文件设置密码;b. 将私钥文件保存在加密的磁盘分区中;c. 几乎所有现代台式机和笔记本都有TPM安全设备,所以可以用GnuPG将私钥写入到TPM安全芯片。因为TPM这种设备的特性就是写入之后的内容不能原文读出来,所以可以作为存储私钥的最佳场所。

这样一来,基本上只能通过经过认证的设备发送安全文件。关于将GnuPG私钥写入TPM芯片中的方法,参见?https://www.gnupg.org/blog/20210315-using-tpm-with-gnupg-2.3.html。基本原理是使用keytotpm转换成tpm格式,这样的话只能看到shadowed private key,真正的私钥存储在芯片中。

  1. 方案中建议为私钥留一个备份,这样系统损坏之后还可以找回私钥。此外,如果私钥被窃取,可以通过吊销证书等方法取消证书。各种密钥对一般会设置一个有效期,从而强制密钥对定期更新和确认。

程序安装

  1. 打开Gpg4win网站主页,在网站主页中点击下载,将Windows下的安装程序下载到本地。

Gpg4win网站主页

  1. 定位Gpg4win安装程序,打开安装程序,如下图所示。

Gpg4win安装文件

  1. 双击打开安装程序,弹出程序语言选择对话框。

语言选择界面

  1. 选择简体中文,然后点击OK确定,进入安装程序,界面如下

进入安装程序

  1. 点击下一步,进入安装组件选择界面。

选择安装组件

  1. 在安装组件选择界面中,建议选择所有的安装组件。其中Browser Integration, Kleopatra一定要选中。然后点击下一步,进入安装位置选择界面。

选择安装位置

  1. 选择在本机中的安装位置,确保空间足够,然后点击安装按钮,进入安装进度条。

程序安装进度条

  1. 安装进度条到头的时候,下一步按钮会变成可点击的,单击就进入安装完成界面。

程序安装结束

  1. 在安装结束界面中,可以选中运行kleopatra,点击完成,就打开了Gpg4win的前端界面(也就是Kleopatra的启动界面)。

第一次启动的时候可能会弹出如下对话框。此对话框提示我们Kleopatra不能以管理员身份运和末(可能破坏GnuPG数据文件夹中的权限)此时点击确定,继续即可。

初次打开Kleopatra

然后就进入到了Kleopatra初始界面,如下图所示:

Kleopatra初始界面

在这个界面中我们可以依次看到签名/加密解密/校验、证书的导入、导出、认证,在服务器上查找证书,证书管理、记事本、智能卡等功能。

我们在日常使用时,在文件(F)菜单中可以看到基本所有功能。包括创建新证书、从服务器搜索证书、导入证书、导出证书(公钥)、导出私钥、上传证书到服务器、解密/验证签名、数字签名/加密等。

注:如果Windows上安装有choco应用程序,则可以打开Powershell,在界面中输入

choco install gpt4win

创建密钥对

创建密钥对是使用Kleopatra的起点,本机先有了一个自己的密钥对,才能使用自己的密钥加密文件,或者解密已加密的文件。在主界面中,可以通过点击中央的新建密钥对按钮在本机创建新的密钥对。此外,如果我们已经有其它机器上导出的密钥对(带有私钥的),也可以通过导入功能将密钥对导入到Kleopatra,Kleopatra后台会使用gnupg程序来管理这些密钥对。

新建OpenPGP密钥对

  1. 点击新建密钥对,进入密钥对创建界面。在该界面中,我们需要输入的就是名子和邮件地址,接下来Kleopatra会自动调用GnuPG随机生成密钥对。界面如下

为密钥对输入名字和邮件地址

  1. 输入自己的名字和邮件地址即可。通常可以使用自己的英文名,在企业环境中也可以输入自己的真实名称。邮件地址选择一个自己常用的电子邮件地址即可(此处并不需要有一个真实的电子邮件地址)。

有必要的话,选中使用密码句保护生成的密钥,这样只有特定的密码才能解开密钥。也可以打开高级设置,设置密钥类型、长度、用途、有效期等属性。通常证书用途中可同时选中签名以及验证两个用途,并且有效期可设置为一年。

密钥对高级设置界面

  1. 接下来在为密钥对输入名字和邮件地址界面中点击OK,开始生成密钥对。并进行认证。认证完成之后,会返回证书界面。此时在证书界面可以看到刚才创建的密钥对。

完成自己密钥的创建

发布自己的证书

如果是在互联网环境下,可以将自己的证书发送到公开的在线服务器(免费的证书托管网络),以便后续其他用户可以通过在服务器上查找功能找到自己的证书。

  1. 在证书界面中点击自己的密钥对,在弹出的快捷菜单中选择在服务器上发布,可以在公钥服务器上发布选定的证书(公钥)。如下图所示。

发布自己的证书

  1. 此时Kleopatra会给出一些发布公钥(证书)前的提示信息。这些提示信息仔细阅读后,点击Export Certificate即可。

发布证书前的提示信息

  1. 证书发布成功后,弹出如下界面。确定即可。

证书发布成功

导入好友的证书

为了定向生成特定人员才能解密的加密文件,需要在发送文件之前使用他人的公钥进行文件的加密(公钥加密,私钥解密)。此外,如果是自己备份的文件,可以使用自己的公钥加密文件,这样加密出来的文件只有自己解密,于是也就可以安全存储在网络环境当中。

导入证书有两种方法,在线导入以及离线导入,本部分以在线导入为例进行介绍。对于许多开源项目开发者而言,常使用联网方式搜索证书。

  1. 首先打开主界面上的在服务器上查找,进入证书查找页面。在证书查找页面中搜索好友邮件或者名称。界面如下

在线搜索证书

  1. 因为都可以在线发布证书,所以有可能遇到同名同姓,或者邮件被冒认的情况,在这样的情况下,需要打开细节...对话框,确认选中的证书的签名是否与好友或者官方给出的签名一致。

查看证书详情

  1. 确认一致后,回到证书搜索界面,然后点击导入按钮,接下来进入证书确认环节,需要我们确认证书的指纹不是伪造的或者假冒的。

证书确认提示

  1. 点击认证之后,就会提示进入认证界面,如下

确认导入证书

  1. 可以按照界面中的提示对要导入的证书进行确认,确认完成之后点击认证,完成证书认证,同时完成证书的导入,导入成功,成功之后返回主页面,就可以看到导入的证书了,界面如下。

证书导入成功界面

后续就可以使用这个证书进行加密还有解密了。

使用证书加解密文件/文件夹

一旦证书管理完成,接下来就可以通过系统浏览器右键菜单对文件进行签名、加密、解密等操作。示例操作如下:

  1. 首先打开浏览器,选中一个文件或者文件夹,然后鼠标右击打开右键菜单。其中的Sign and Encrypt(签名及加密)就是我们接下来要执行的操作,如下图所示:

加密文件菜单项

加密文件夹菜单项

通常我们的操作都是签名及加密文件或者文件夹。但Kleopatra的右键快捷键也提供了More Encrypt options,在弹出的菜单中有Decrypt, Verify, Decrypt and verify, Encrypt, Sign等各种选项。可以根据需要执行。

更多操作

  1. 选中Sign and Encrypt,就进入签名及加密对话框。

签名及加密对话框

在此对话框中,我们先选择签名人(通常是自己,需要签名的人私钥),然后选择加密选择。选择为我加密表示本人也可以解密加密后生成的文件,选择为他人加密时,需要选择他人的公钥证书,添加到列表中的人员将能够解密文件。如果选中使用密码加密,任何知道密码的人都可以读取数据,则变成了对称加密状态,只要知道密码就能够解密数据。

选择好预期解密的人员之后,点击下方的签名/加密按钮,Kleopatra开始对文件进行签名和加密。成功后界面如下:

签名和加密成功

  1. 点击Finish,返回浏览器,就可以看到刚才加密后的文件。通常,加密后的文件会在原文件或者文件夹名称的基础上,增加一个.gpg后缀。所以看到.gpg后缀的文件,我们就可以知道这是一个加密后的文件。

加密后的文件

  1. 解密的操作与加密类似。也是先选中加密后的文件(通常以.gpg结尾),然后右键打开快捷菜单,在快捷菜单中选中Decrypt and Verify,就开始进行解密。

解密过程中,会弹出对话框。

解密文件对话框

  1. 在解密文件对话框中,可以配置指定输出的文件夹,然后也可以看到文件的签名,以及Kleopatra对签名的验证结果(加密文件的签名是否正确,从而确保加密文件来自可信的人员,并且传输过程中加密文件内容没有被篡改)。如果解密成功,会在指定的输出文件夹下生成解密后的文件。

以上就是使用Kleopatra进行文件加解密的基本操作。如果需要向网络备份文件,提交应用程序或者通过优盘等移动存储设备传输文件,可以在生成加密文件的基础上进行。更多高级安全操作,读者可以自行通过网络搜索进行学习。

一些上层应用

  1. Evolution是GNOME下使用GNUPG管理个人信息的一款应用。这款应用主要包括邮件,日程安排,地址本,任务列表等功能。

  2. Thunderbird是一款流行的开源电子邮件客户端,可以运行在Windows、Linux和MAC多种环境,其也支持使用GnuPG作为电子邮件加密方案,并且安装程序内置有GnuPG。

  3. Okular是KDE环境下的一款PDF阅读器,该阅读器支持与GnuPG进行集成,在集成的时候可以通过Okular调用签名,验证PDF批注等内容的真实性。

  4. RetroShare是一个安全软件共享的P2P开源应用。见?https://github.com/RetroShare/RetroShare,主要具备聊天,论坛,文件共享等功能。

  5. Nitroshare是一个局域网文件传输工具,可以集成在Windows文件浏览器的右键菜单中,直接将选中的文件或文件夹共享给局域网中的其它用户,可以与gpt4win配合使用,在局域网中安全传输文件。

  6. Keepmark是一个商用的个人文档组织软件,提供文件,邮件,书签,任务,新闻等功能,可以跨端使用,基本是一个商业化的安全笔记软件。


本文内容将依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接。

X-NATIVER公众号致力于效率与自动化水平的提升、科技与工程化方法的跟踪、体系与生态化的思考。如果觉得对您有启发,请点赞、收藏、加关注公众号,跟踪最新相关内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值