· [Java论坛][安全论坛][数据库论坛][操作系统论坛]
· [专题] IBM Rational高峰论坛 Windows 7十大功能
· [专题] 史上就危险7月 微软 BizSpark 计划介绍
· [IT技术周刊][IT资源下载专区][病毒求助专区]
· [热点] 我也能做CTO_赛迪连载 赛迪七夕特别行动
· [热点] Chrome 4.0采用V8引擎 Java开发编程规范

Java加密技术:对Atom进行签名 加密和解密

发布时间:2008.06.18 22:55     来源:IBM DW专区    作者:Backstop Media

由于一般是根据 HTTP 协议在 Web 上传输 Atom 数据,因此要完全忽略潜在的安全隐患是不可能的。比如,联合内容会显示在多处而不是显示在其原始点(毕竟,这正是联合的意义所在),您如何证明其中一方未曾修改过数据?如果某些敏感数据只能由单一个体或组织获悉怎么办?当然,最明显的例子就是银行信息。您愿意通过原始的 HTTP feed 来接收银行信息吗?所有的敏感信息都存在这个问题,比如公司的内部信息。

这篇文章向大家介绍了如何使用数字签名和加密来解决此类问题。

还记得儿时与伙伴们分享的秘密暗号吗?您可以编制各种消息并对它们进行加密,您的伙伴可以使用暗号来解码这些消息。他还可以使用暗号创建您能够读懂的消息。这就是共享密钥(shared key)加密的一个例子,因为你们俩都有相同的暗号。

如今,这种方法能很好地防止消息内容被别人窥窃,稍后我将向大家介绍如何使用共享密钥加密来实现这一目的。

但是,共享密钥加密存在一个小问题。如果您接收到的一个加密消息告诉你使用雪球攻击女子俱乐部的房子,您如何才能分辨该消息确实是来自您的伙伴,而不是附近不怀好意的人在捉弄您呢?还有,如果您向伙伴发送了一条消息,如何才能保证只有他能够阅读该消息?

在成年人的世界里,可以通过使用公钥 — 私钥 加密来解决此类问题。它使用的并不是一个密钥,而是一个密钥对(key pair)。也就是说,一个人加密的消息只能由另一个人解密,反之亦然。

其中一个密钥是私有的,而另一个则是公有的,与其所有者相关。我们回到小孩的例子中,您的伙伴可以使用他的私钥来加密进攻计划。如果他的公钥可以成功地解密该计划,则您就能知道计划是由他发送的。当然,由于他的公钥是公有的,因此任何人都可以阅读该消息。另一方面,他可以使用您的公钥来加密消息,这就意味着只能使用您的私钥来阅读该消息。这种方法解决了安全问题,但是不能解决验证问题。

真实世界中需要结合两种技术来解决此类问题。比方说,可以对消息进行数字签名。这一过程能使您确定消息的发送者以及消息在传递途中是否被修改过。把这种技术与直接加密技术结合使用,所有的问题就迎刃而解了。

我们先从加密 Atom 条目开始。

查看原文>>

http://www.ibm.com/developerworks/cn/xml/x-atomencryption/

(责任编辑:云子)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· Java 安全性综述:安全性的基本要点 (06-18) · 减低开发过程中的变动依赖项目范围管理 (06-18)
· Java与.NET间进行Web Service交互的选择 (06-17) · 评论:在Web开发领域编程语言PHP优势在哪 (06-17)
· 升级PHP5的理由:PHP4和PHP5性能大对比 (06-17) · 用Java语言编写通过代理访问的应用程序 (06-16)
· 实例教程:Java Socket编程的一个秘密类 (06-16) · 新手学堂:几个著名Java开源缓存框架介绍 (06-13)
· Android支持Java语法编程未承诺遵守规范 (06-13) · 专家预言:PHP将比Java更受开发人员欢迎 (06-13)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
资讯 通信 IT产品 IT技术 信息化
专题:扭亏为盈 联想09年Q2翻番
·专题:Tech·Ed 2009微..
·直播:2009互联网大会..
·迅雷搜狐"互搏" 谁动了..
专题:诺基亚危局已现 或重蹈摩托覆辙
·六股势力角逐4G标准 中..
·专题:联通iPhone并不贵..
·专题:排排坐开商店 三..
商务演示需求分析 多媒体会议室必备投影
·VMware在京隆重举行2009..
·专题:笔记本频道10月热..
·专题:学生机市场 惠普 ..
专题:Tech.Ed 2009微软技术大会
·专题:2009 SYBASE 亚太..
·专题:微软新一代桌面操..
·专题:2009年第3届CSDN..