没有合适的资源?快使用搜索试试~ 我知道了~
WebLogic SSL 安全服务器设置
需积分: 0 0 下载量 63 浏览量
2013-04-18
01:05:04
上传
评论
收藏 1.97MB DOC 举报
温馨提示
试读
30页
WebLogic SSL 安全服务器设置
资源详情
资源评论
资源推荐
WebLogic SSL 安全服务器设置
目录
1.预备知识.........................................................4
()简介
工作原理
整体结构概览
需要的加密方面的基础知识
密钥协商过程
加密的计算
安全性及其代理
关于证书
2. 安装 WebLogic8.1................................................11
2.1 Windows 平台...................................................11
安装
配置
扩展
3. 配置 SSL........................................................16
生成服务器、客户端密钥库文件
配置服务器
4.测试...........................................................22
5.在 SSL 内加密任意 TCP 连接........................................24
挑战
用于客户机的
结论
6.附:............................................................33
7.参考文献:......................................................36
1
1.预备知识
1.1 SSl(Server Socket Layer)简介
在网络上信息在源宿的传递过程中会经过其它的计算机。一般情况下,
中间的计算机不会监听路过的信息。但在使用网上银行或者进行信用卡交易的
时候有可能被监视,从而导致个人隐私的泄露。由于 和 体
系结构的原因,总有某些人能够读取并替换用户发出的信息。随着网上支付的
不断发展,人们对信息安全的要求越来越高。因此 公司提出了
协议,旨在达到在开放网络 上安全保密地传输信息的目的,这
种协议在 !"# 上获得了广泛的应用。 之后 "$%&&&'() 对 作了
标准化,即 *%+,并将其称为 $($'),从
技术上讲,$, 与 , 的差别非常微小。
从各式各样的文章中得知, 可以用于保密的传输,这样我们与 &-
. /之间的传输的消息便是 安全的 ,其实现方式及保密程度请看下文。
1.2 SSL 工作原理
1.2.1 SSL 整体结构概览
是一个介于 0$$1 协议与 $+1 之间的一个可选层,其位置大致如下:
---------
20$$12
---------
22
---------
2$+12
---------
212
---------
如果利用 协议来访问网页,其步骤如下:
用户:在浏览器的地址栏里输入 3455&&&6
0$$1 层:将用户需求翻译成 0$$1 请求,如
7"$5'89360$$15
03455&&&6
层4借助下层协议的的信道安全的协商出一份加密密钥,并用此密钥
来加密 0$$1 请求。
$+1 层:与 &- 的 端口建立连接,传递 处理后的数据。
接收端与此过程相反。
在 $+1 之上建立了一个加密通道,通过这一层的数据经过了加密,因
此达到保密的效果。
2
协议分为两部分:0831 和 *81:。其中
0831 用来协商密钥,协议的大部分内容就是通信双方如何利
用它来安全的协商出一份密钥。 *81 则定义了传输的格式。
1.2.2 需要的加密方面的基础知识
了解 原理需要一点点加密的概念,这里把需要的概念做一下简单阐述:
加密一般分为三类,对称加密,非对称加密及单向散列函数。
对称加密:又分分组密码和序列密码。
分组密码是将明文按一定的位长分组,明文组经过加密运算得到密文组,
密文组经过解密运算
(加密运算的逆运算),还原成明文组。
序列密码是指利用少量的密钥(制乱元素)通过某种复杂的运算(密码算
法)产生大量的伪随机位流,用于对明文位流的加密。
解密是指用同样的密钥和密码算法及与加密相同的伪随机位流,用以还原
明文位流。
+#++'3#+3'') 模式这个词在分组密码中经常会用到,它
是指一个明文分组在被加密之前要与前一个的密文分组进行异或运算。当加密
算法用于此模式的时候除密钥外,还需协商一个初始化向量(;),这个 ; 没
有实际意义,只是在第一次计算的时候需要用到而已。采用这种模式的话安全
性会有所提高。
分组密码的典型例子为 <":*+:<"=。
序列密码的典型例子为 *+。
公钥加密:
简单的说就是加密密钥与解密密钥不同,分私钥和公钥。这种方法大多用
于密钥交换,*= 便是一个我们熟知的例子。
还有一个常用的称作 <0,它只能用于密钥交换,不能用来加密。
单向散列函数:
由于信道本身的干扰和人为的破坏,接受到的信息可能与原来发出的信息
不同,一个通用的办法就是加入校验码。
单向散列函数便可用于此用途,一个典型的例子是我们熟知的 ><:它产
生 位的摘要,在现实中用的更多的是安全散列算法(0=),0= 的早
期版本存在问题,目前用的实际是 0=-,它可以产生 , 位的摘要,因此
比 位散列更能有效抵抗穷举攻击。
由于单向散列的算法都是公开的,所以其它人可以先改动原文,再生成另
外一份摘要。解决这个问题的办法可以通过 0>=+(*%+,):它包含了一
个密钥,只有拥有相同密钥的人才能鉴别这个散列。
1.2.3 密钥协商过程
由于对称加密的速度比较慢,所以它一般用于密钥交换,双方通过公钥算
法协商出一份密钥,然后通过对称加密来通信,当然,为了保证数据的完整性,
在加密前要先经过 0>=+ 的处理。
缺省只进行 端的认证,客户端的认证是可选的。以下是其流程
图(摘自 $ 协议)。
3
Client Server
Clienth*llo -------->
Serverh*llo
Certificate*
ServerKeyExchange*
CertificateRequest*
Certificate*
ClientKeyExchange
CertificateVerify*
[ChangeCipherSpec]
Finished -------->
[ChangeCipherSpec]
<-------- Finished
Application Data <-------> Application Data
简单的说便是: 客户端(也是 $+1 的客户端)在 $+1 链接建立之后,
发出一个 +'3? 来发起握手,这个消息里面包含了自己可实现的算法列表
和其它一些需要的消息, 的服务器端会回应一个 3?,这里面确
定了这次通信所需要的算法,然后发过去自己的证书(里面包含了身份和自己
的公钥)。+' 在收到这个消息后会生成一个秘密消息,用 服务器的公
钥加密后传过去, 服务器端用自己的私钥解密后,会话密钥协商成功,双
方可以用同一份会话密钥来通信了。
例如,假设 = 与 # 通信,= 是 客户端,# 是 服务器端,加密后的
消息放在方括号@A里,以突出明文消息的区别。双方的处理动作的说明用圆括
号()括起。
=:我想和你安全的通话,我这里的对称加密算法有 <":*+:密钥交换算
法有 *= 和 <0,摘要算法有 >< 和 0=。
#:我们用 <"-*=-0= 这对组合好了。
这是我的证书,里面有我的名字和公钥,你拿去验证一下我的身份(把证
书发给 =)。
目前没有别的可说的了。
=:(查看证书上 # 的名字是否无误,并通过手头早已有的 += 的证书验证
了 # 的证书的真实性,如果其中一项有误,发出警告并断开连接,这一步保证
了 # 的公钥的真实性)
(产生一份秘密消息,这份秘密消息处理后将用作加密密钥,加密初始化
向量和 36 的密钥。将这份秘密消息协议中称为 B6B用 #
的公钥加密,封装成称作 +'C"93) 的消息。由于用了 # 的公钥,
保证了第三方无法窃听)
我生成了一份秘密消息,并用你的公钥加密了,给你(把
+'C"93) 发给 #)
4
注意,下面我就要用加密的办法给你发消息了!
(将秘密消息进行处理,生成加密密钥,加密初始化向量和 36 的密
钥)
@我说完了A
#:(用自己的私钥将 +'C"93) 中的秘密消息解密出来,然
后将秘密消息进行处理,生成加密密钥,加密初始化向量和 36 的密钥,这
时双方已经安全的协商出一套加密办法了)
注意,我也要开始用加密的办法给你发消息了!
@我说完了A
=4@我的秘密是A
#4@其它人不会听到的A
1.2.4加密的计算
上一步讲了密钥的协商,但是还没有阐明是如何利用加密密钥,加密初始
化向量和 36 的密钥来加密消息的。
其实其过程不过如此:
借助 36 的密钥,对明文的消息做安全的摘要处理,然后和明文放到
一起。
借助加密密钥,加密初始化向量加密上面的消息。
D3?<
1.2.5 安全性及其代理
'1 在 ,,, 年底有一份文章《$3"8(8
0E》激起了很多的讨论,
目前也有一些成熟的工具如
8'F(3455&&&6)5G8))58'F5)可以
通过 6'36'88 攻击来截获 3 的消息。
从上面的原理可知, 的结构是严谨的,问题一般出现在实际不严谨的
应用中。常见的攻击就是
6'88'36'88 攻击,它是指在 = 和 # 通信的同时,有第三方 +
处于信道的中间,可以完全
听到 = 与 # 通信的消息,并可拦截,替换和添加这些消息。
() 可以允许多种密钥交换算法,而有些算法,如 <0,没有证书的
概念,这样 = 便无法验证 # 的公钥
和身份的真实性,从而 + 可以轻易的冒充,用自己的密钥与双方通信,从
而窃听到别人谈话的内容。
而为了防止 6'88'36'88 攻击,应该采用有证书的密钥交换算法
() 有了证书以后,如果 + 用自己的证书替换掉原有的证书之后,= 的
浏览器会弹出一个警告框进行警告,但又有多少人会注意这个警告呢?
()由于美国密码出口的限制,", 等浏览器所支持的加密
强度是很弱的,如果只采用浏览器自带的加密功能的话,理论上存在被破解可
能。
当在浏览器里设置了 3 的代理,而且在浏览器里输入了 3455
&&&966
之后,
5
剩余29页未读,继续阅读
u010345777
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0