通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 >> 文章类 >> 红客教程 >> 工具使用 >> 文章正文
黑客眼中的OpenSSL:强大的密码工具
责任编辑:酷酷の鱼   更新日期:2008-4-8
 

来源:安全中国

OpenSSL包含一个命令行工具用来完成OpenSSL库中的所有功能,更好的是,它可能已经安装到你的系统中了。

OpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不应该只将其作为一个库来使用,它还是一个多用途的、跨平台的密码工具。

这里简单说一下OpenSSL的背景,在OpenSSL之前,叫做ssleay,它是一个由Eric A.Young编写的SSL工具,它不断改进最终变成了OpenSSL,与NCSA的HTTPd变成Apache服务器的过程非常类似,今天,OpenSSL支持多种加密算法和协议。

OpenSSL有许多的特征,而且还有SSL客户端和服务端特征,OpenSSL还有:

◆美国联邦政府NIST FIPS 140-2一级评估确认
◆TLS,下一代SSL协议
◆X.509密钥和证书的生成
◆X.509证书权力
◆S/MIME加密
◆文件加密和粉碎
◆打乱UNIX密码
◆9个不同的商业密码硬件设备
◆密码性能测试
◆36个命令
◆6个消息摘要算法
◆9个密码算法
◆多个加密协议

尽管OpenSSL很复杂,但是大量的复杂性可以被避免的,本文剩下的部分将集中在易于使用的特征上,在shell代码中仅仅需要几行就可以了。

本文使用与我早期编写的GnuPG Hacks文章一致的小结标题,以便于比较OpenSSL和GnuPG。

入门

首先,确认一下OpenSSL已经安装并处于你的路径之下,许多Linux发行版,甚至一下小的发行版,都包括了OpenSSL,通常,OpenSSL处于/usr/bin/下。
在所有的例子中,shell提示符都是$。

第一步,输入:
$Content$nbsp;openssl version
注意这里在version选项前是没有破折号的。

你应该看到类似下面这样的输出:
OpenSSL 0.9.7d 17 Mar 2004

准确的版本号,日期和其他可能不同的细节,写本文的时候,目前的版本是OpenSSL0.98a,我们正在使用的例子能工作在大部分OpenSSL版本下。

如果你只输入了openssl,没有附加任何的参数,你将得到下面这样的提示符:
OpenSSL>

如果是这样,只需要输入quit或按Ctrl-C即可安全地退出,它OpenSSL内部命令行提示符,它没有命令行编辑功能,也没有明确的帮助功能,但是,如果你输入一个它不认识的命令,它会列出一个可用的命令列表。

二进制文件保护

二进制文件典型地用于使用MIME的电子邮件,如果你的电子邮件软件不支持MIME,如大多数命令行电子邮件客户端,你将被uuencode困扰,你可以使用基于64位编码的OpenSSL,复杂的MIME协议也使用的是64位编码,但是它不能直接兼容MIME。

要使用64位编码打包二进制文件成文本文件,输入:
$Content$nbsp;openssl base64 < filename.bin > filename.txt

要打开64位编码的文本文件,输入:
$Content$nbsp;openssl base64 -d < filename.txt > filename.bin
注意OpenSSL不会关心文件扩展名。

OpenSSL与GnuPG或MIME不一样,它还能对短字符串进行编码,如下:
$Content$nbsp;echo "The Linux Journal" | openssl base64
VGhlIExpbnV4IepvdXJuYWwK

解码:
$Content$nbsp;echo "VGhlIExpbnV4IEpvdXJuYWwK" | openssl base64 -d
The Linux Journal
注意-d选项,它意味着解码。

更好的校验和

sum和cksum是传统的UNIX校验程序,它们工作得很好,只要你不需要跨平台兼容或安全,你也不用担忧会出现2个完全不同的文件有相同的校验和值。

尽管Linux系统经常安装了md5sum,MD5算法遭受了一个相对较新的漏洞,现在不应该使用它。如果它已经安装了,应该使用更安全的sha1sum,但是,一些版本只能同时对一个文件进行打乱,一些不能处理标准输入或者有其他的不足,如果你运行这些程序遇到了问题或者你想有一致的、比较知名的、具有良好跨平台的软件,建议考虑OpenSSL。

OpenSSL打乱输出格式与GnuPG有一点不同,但是数字是相同的,OpenSSL格式总是要鉴定使用的算法,并总是输出一个小写的无空白的十六进制的字符串,你会发现这种格式更容易使用。

这里有一些例子:
$Content$nbsp;openssl sha1 filename
SHA1(filename)= e83a42b9bc8431a6645099be50b6341a35d3dceb

$Content$nbsp;openssl md5 filename
MD5(filename)= 26e9855f8ad6a5906fea121283c729c4

在我早前的文章“GnuPG Hacks”中,上面的例子使用了一个包括字符串“The Linux Journal”的文件,注意这个字符串没有句号。

如果你复杂这些结果时遇到了问题,这里提供一个带ASCII注释的十六进制的表示,注意新行末尾是vi自动加上去的: 

OpenSSL与GnuPG不一样,它没有SHA-512加密算法,但是OpenSSL有MD2,MD4,MDC2,这些都是旧的算法了,只是为了保持向后兼容,和MD5一样,现在它们都不应该拿来使用。

[1] [2] [3] 下一页

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 最近更新
    推荐文章 瑞星公司04月08日发布 每日计算机病毒及木马播报
    推荐文章 推荐:坚壁清野 剿杀系统中隐藏的插件
    普通文章 卡巴斯基杀毒软件十九种实用使用方法
    普通文章 从根本上遏制机器狗病毒的6个方法!
    普通文章 黑客眼中的OpenSSL:强大的密码工具
    普通文章 妙用终截者密码锁防止木马注入Explorer
    普通文章 大水牛下载者手工清除的方法
    普通文章 vbs SendKeys
    普通文章 MSN照片骗子变种N肆虐 可大量耗费系统资源
    普通文章 病毒突袭杀毒软件 病毒经济链开始新掘金
    热门文章
    普通文章教您识别非法进程及手工杀毒技巧
    普通文章网络钓鱼又盯农行
    普通文章Finjan:黑客建立FTP数据库销售相关信息
    普通文章瑞星:“磁碟机”背后--病毒制造团伙
    普通文章全球黑客大赛周三开幕
    普通文章存储安全厂商能否独善其身
    推荐文章推荐:磁碟机病毒木马猖獗 教你应对方法
    普通文章雇用黑客篡改大学招生网站案开庭
    普通文章索尼称黑客可能攻破PS服务网站 窃取用户信息
    普通文章苹果Safari闹出笑话:不得在非苹果机上安装
    精彩专题