关于逃亡时如何确保网络通讯安全——IM篇

标签: 安全相关 Internet IT Security server | 发表时间:2011-09-07 00:05 | 作者:WooDragon 木頭
出处:http://iamwd.com

本文面向使用Windows 7及XP的,计算机知识有限的用户(本文注重详尽的教程而非细节教学,具体原理请自行Google),对高级用户及其他操作系统用户仅供参考(用Linux的家伙自己都能搞定吧!)。悲催啊,昨天晚上喝多了,今儿还连夜赶这文章,残念……图片啥的就免了,排版能看就行吧……

目的

逃亡、被通~缉、怀疑自己通讯被监控、高度机密内容、城市紧急状态、网络管制、私密内容、身份可能被仿冒等等,具备非常广泛的适用范围。

下面是正文,首先介绍本教程基于何种技术和方法确保即时通讯的传输安全及防止身份仿冒。

所涉技术及软件

1.通过数字证书及数字签名体系及生成非对称密钥来确保安全性,本教程使用开源的GnuPG来加密明文及认证使用者身份。GnuPG的介绍见维基百科非对称加密的介绍

2.本文所述IM基于开源的XMPP标准实现即时通讯。

3.本文所涉端到端加密通讯载体的自建服务端使用ejabberd搭建。(非必须)

4.本文所涉端到端加密通讯载体的第三方服务端使用Google的Google talk服务。

5.本文所涉IM软件为开源的psi客户端。

请注意,本文无法阻止本地木马或者键盘记录工具对信息的窃取行为,所以务必定期认真检查计算机本地环境的安全状况。

本文无法隐藏或伪装终端IP地址,若需反追踪切记配合跨国代理服务器!

本文并非万能,最终安全性也取决于使用者的安全意识,请妥善保管证书私钥以确定仅自己能够接触或者他人难以触及,否则仍然有被仿冒的可能。

非对称密钥的生成及管理

首先是Win7

安装及生成个人证书

1.到官网下载安装gpg4win,此工具为GnuPG官方网站推荐的Windows下工具套件,相当好用。(2.1.0版本在XP下有问题,我没有找到原因。GnuPG的官方网站为 gnupg.org

2.安装它,完成后开始菜单会生成一个名为gpg4win的程序组文件夹,里面有一个图标似乎是女人脑袋的程序,名为Kleopatra,运行它,话说图标真的丑爆了。

3.点击左上角的File,在弹出窗口点击”Create a personal OpenPGP key pair”(不含引号),我们来生成一个证书。

Name当然填写你的大名,Email写你常用且安全的邮箱,推荐使用打开了两步验证的gmail。comment随便写,可以写一些备注。

点击Advanced setting,RSA右边的下拉菜单选中3072bits,下方的复选框选中Authentication,点击ok

点击Next后会弹出对话框要求输入证书口令(Enter passphrase),注意这是非常重要的,请一定将其设置的足够长、足够复杂、绝非常用、至少同时包含字母数字以及至少1个标点符号,且长度大于8位,ok以后会要求你确认密码,重复输入完毕后点击ok。

证书已经被生成了,最后一个步骤会问你是否需要备份你的证书(Make a backup of your key pair),你可以选择将其导出并备份,若需备份。建议使用7Zip软件将其加密打包(7Zip使用AES加密),放到互联网上的某个角落,然后销毁本地的备份文件。

接下来我们需要导出一份公钥,以便收件人能够确认你的身份且加密消息。你可以通过选中自己的证书上然后“点击右键选择Export Certificates”或者“按组合快捷键Ctrl+E”或者“点击工具栏中硕大的Export Certificates(未选中证书时该按钮为灰色不可选)”达成该目的。注意不要选择任何形式的“Export Secret Keys”,这是导出私钥而非公钥。

传递及导入证书

1.公钥的传递过程是有可能被劫持的,应当尽量选择安全性高或者不通过第三方的传递方法,例如使用U盘或者类似介质人肉传递。最低要求也得使用具备SSL   传输加密的Email,例如GMail(假如你信任Google的话,你们信不信我不知道,反正我是信了)

2.得到一份公钥文件以后,默认情况下应当是一个asc后缀的文件,其他格式也有可能,反正只管导入,Kleopatra的界面非常直观,直接在主界面找到“import certificates”点击它,接着选中需要导入的公钥文件,确认即可。

3.前期较为复杂的步骤均已完成,证书方面已经没有什么问题了,最后强调下,务必确保私钥及私钥口令的安全性,切记。

WindowsXP

由于gpg4win套件在XP上似乎未必能够正常工作,所以分开讲下XP下的安装方法,较Win7麻烦一些

首先在官方ftp服务器找到GnuPG本体的Windows安装包 ftp://ftp.gnupg.org/gcrypt/binary/ 目前最新版本为1.4.9(点击下载),接着在 ftp://ftp.gnupg.org/gcrypt/gpgee/ 下载最新版gpgee,目前最新版本为1.3.1

然后在 http://www.tech-faq.com/gnupg-shell.html 下载Windows下的gnupg shell,目前版本为1.0,点击下载

首先安装刚才下载的gnupg-w32cli-1.4.9.exe,接着解压并安装gpgee,最后安装gnupg shell,一上来就会让你创建证书,过程参考前面的win7,有空我会找到XP的电脑补齐这段。

实现端到端加密通讯

1.先到psi官网下载它 http://psi-im.org/download/ (目前最新版本为0.14)

安装包 http://downloads.sourceforge.net/psi/psi-0.14-win-setup.exe

免安装压缩包 http://downloads.sourceforge.net/psi/psi-0.14-win32.zip

繁体中文语言包 http://psi-im.org/download/lang/psi_zh_TW.qm

(注:官方并没有简体中文语言包,虽然能找到简体中文版,但出于安全考虑,强烈建议到官网下载!)

2.解压/安装好psi以后,将繁体中文语言包复制到程序安装目录

3.运行psi.exe (鸟语的话关掉再打开)

4.点击左上角的“一般”,点击“帳號設定”,点击“增加”,“名稱”右边写希望显示的名称。

下一个页面的Jabber ID填写你的帐号,ejabberd服务端为用户名@域名,Google talk帐号为用户名@gmail.com,“密碼”当然填写密码。

下方的复选框全部勾选,不过最后一个“記錄訊息歷史”可以酌情勾选。

切换到“細項”选项卡,在OpenGPG项中点选“選擇鑰匙”,勾选你前面生成的那个RSA密钥。

切换到“連線”选项卡,“加密連線”后面的下拉菜单中选中“總是”。

点击下面的save,帐号设定完毕。

5.再次点选界面左上角的“一般”,点击“選項”,在左边找到“雜項”,右边有个“检查拼字”,确保取消勾选,若选中的话聊天的时候中文下面也会有一堆蛋疼的红色波浪线……

点击ok

6.点击上方的“狀態”,点击“線上”,中间可能弹出窗口要求输入RSA证书口令,登录完成。假设该帐号显示名为gmail的话,右边会有一把黄色小锁,代表你可以使用端到端加密功能。

7.打开一个希望加密的会话,这时上方的锁是灰色的,表示本次会话未被加密(只是没有端到端加密,刚才已经为Google talk开启了TLS加密),点击锁,它会变成黄色,代表会话将被加密,这时你再输入信息并发送会提示你选择需要使用的密钥(未点击小锁时可以随便发,没有任何障碍),注意你们双方需要已经完成前文所述的公钥交换,选择交流目标的公钥并确定,于是一条加密的消息就发出去了,对面也会收到实时解码的明文。

整个过程中连Google talk服务器也无法得知你们的交谈内容,再加上Google本身的TLS加密传输,在终端安全没有问题的情况下窃听你们的交流内容估计只有掌握了成熟的量子计算机科技的外星人能够实现了。

出于进一步的安全考量,我还自行搭建了ejabberd服务器做紧急通讯用(也许永远用不到,也希望永远用不到……),没有安装除离线消息以外的任何消息记录模块,具体搭建过程等有空会写一下的……貌似这个的教程非常少啊,我啃了三天三夜的鸟语文档lol鸟语苦逼泪流满面……

好了,总算码完了,脑子一片混乱写的东西就甭指望多好了,反正其实主要还是写给朋友看的,睡觉啊啊啊啊……

©2011 WooDragon

本博客内容若无注明均为原创, WooDragon 版权所有,转载请遵守 Creative Commons 3.0 协议并标注出处。

相关 [网络 通讯 安全] 推荐:

关于逃亡时如何确保网络通讯安全——IM篇

- 木頭 - WooDragon
本文面向使用Windows 7及XP的,计算机知识有限的用户(本文注重详尽的教程而非细节教学,具体原理请自行Google),对高级用户及其他操作系统用户仅供参考(用Linux的家伙自己都能搞定吧. 悲催啊,昨天晚上喝多了,今儿还连夜赶这文章,残念……图片啥的就免了,排版能看就行吧……. 逃亡、被通~缉、怀疑自己通讯被监控、高度机密内容、城市紧急状态、网络管制、私密内容、身份可能被仿冒等等,具备非常广泛的适用范围.

网络安全

- - CSDN博客系统运维推荐文章
1、防止入侵者对主机进行ping探测,可以禁止Linux主机对ICMP包的回应.  iptables 防火墙上禁止ICMP应答.  关闭不必要的端口,时常检查网络端口情况.  nmap  可以扫描端口.  关闭不必要的服务和端口.  为网络服务指定非标准的端口.  开启防火墙,只允许授权用户访问相应的服务端口.

网络通讯协议图

- 李斌 - C++博客-首页原创精华区
阿π 2010-11-04 14:13 发表评论.

http网络安全

- - CSDN博客推荐文章
每天都会用到http协议,也听说http协议的安全的重要性,却一直很少真的去模拟攻击. 特意通过一篇博客整理下http可能遇到的安全问题,用脚本语言php去模拟和处理. 1 http为什么会存在安全问题. http是没有状态和加密的协议,如果不使用(ssl)https协议,很多信息都是透明的,传输的数据很容易被捕获.

网络安全-常见网络安全攻击

- - 互联网 - ITeye博客
主要介绍比较常见的3种网络安全攻击手段,分别是:跨站脚本攻击(XSS)攻击、跨站请求伪造(CSRF)攻击、SQL注入攻击. 1、XSS攻击:应该算是最普遍的应用程序层攻击之一,攻击的目的是盗走客户端 cookies,或者任何可以用于在 Web 站点确定客户身份的其他敏感信息. 用这三种方式可以保护站点不受 XSS 攻击:.

8个网络安全开源框架

- - HTML5资源教程
能帮助构建、操作安全系统的开源项目多到数不清,尤其是随着对工具的安全监控和事件反应的要求不断加强的情况下,开源安全软件不得不提高自己的性能. 下面为你介绍10款开源的安全软件. Bro 是一款很强大的框架,用于网络分析和安全监控,它和常见的IDS有所不同. 与通用的网络传输分析工具相比它侧重于网络安全监控和提供一个完整的平台化工具.

使用 Cilium 增强 Kubernetes 网络安全

- - IT瘾-dev
在本篇,我们分别使用了 Kubernetes 原生的网络策略和 Cilium 的网络策略实现了 Pod 网络层面的隔离. 不同的是,前者只提供了基于 L3/4 的网络策略;后者支持 L3/4、L7 的网络策略. 通过网络策略来提升网络安全,可以极大降低了实现和维护的成本,同时对系统几乎没有影响. 尤其是基于 eBPF 技术的 Cilium,解决了内核扩展性不足的问题,从内核层面为工作负载提供安全可靠、可观测的网络连接.

如何保障即时通讯的安全性

- 老杜 - apple4us
接着上次谈电邮安全的问答,讲讲即时通讯(IM)的安全问题. 这会是一个系列,本篇的主答题者是 Rio,并综合了读者在留言中的意见. 一、QQ, MSN, GTalk, Skype,哪个最安全,哪个最不安全. 答:因为众所周知的原因,最不靠谱的当然是 QQ,所以如果你有秘密或者艳照之类,千万不要通过 QQ 传递.

你真正的社交网络:手机通讯录

- linsen - 36氪
编者按:本文作者MG Siegler,他以前是TechCrunch作者,现在加入CrunchFund基金当合伙人. 从你开始带着手机的那一天,你就在口袋里带了一个社交网络. 但是你可能没有意识到,它就是你的手机通讯录. 几年来你没有意识到它的存在是因为手机先于线上的社交网络,而运营商和OEM厂商自己并没有想到社交网络这个概念.