欢迎来到天天文库
浏览记录
ID:36204132
大小:490.00 KB
页数:69页
时间:2019-05-07
《《安全网络通信》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java网络程序设计安全网络通信SSL简介JSSE简介创建基于SSL的安全服务器和安全客户主要内容SSL简介SSL(ServerSocketLayer)是一种保证网络上的两个节点进行安全通信的协议。IETF(InternetEngineeringTaskForce)对SSL作了标准化,制订RFC2246规范,并将其称为TLS(TransportLayerSecurity)。从技术上讲,目前的TLS1.0与SSL3.0的差别非常微小。SSL简介建立在SSL协议上的HTTP被称为HTTPS协议。HTTP使用默认端口为80,而HTTPS使用默认端口为
2、443。SSL简介用户在网上商店购物,当输入信用卡信息,进行网上支付交易时,存在以下不安全因素:(1)信用卡信息在网络上传输时有可能被他人截获。(2)用户发送的信息在网络上传输时可能被非法篡改,数据完整性被破坏。(3)用户正在访问非法Web站点,专门从事网上欺诈活动,比如骗取客户的资金。SSL采用加密技术实现安全通信,保证通信数据的保密性和完整性,并且保证通信双方可以验证对方的身份。加密通信数据从一端发送到另一端时,发送者先对数据加密,然后再把它发送给接收者。这样,在网络上传输的是经过加密的数据。如果有人在网络上非法截获这批数据,由于没有解密的
3、密钥,就无法获得真正的原始数据。接收者接收到加密的数据后,先对数据解密,然后再处理。加密通信示意图安全证书除了对数据加密通信,SSL还采用身份认证机制,确保通信双方都可以验证对方的真实身份。SSL通过安全证书证明客户或服务器的身份。当客户通过安全连接和服务器通信时,服务器会先向客户出示它的安全证书,这个证书声明该服务器是安全的而且的确是这个服务器。安全证书每一个证书在全世界范围内都是惟一的,其他非法服务器无法假冒原始服务器的身份。可以把安全证书比作电子身份证。获取安全证书的两种方式方式一:从权威机构购买证书。方式二:创建自我签名的证书。从权威
4、机构获得证书安全证书可以有效的保证通信双方的身份的可信性。安全证书采用加密技术制作,他人几乎无法伪造。安全证书由国际权威的证书机构(CA,CertificateAuthority)如VeriSign(www.verisign.com)和Thawte(www.thawte.com)颁发,它们保证证书的可信性。申请安全证书时,必须支付一定的费用。一个安全证书只对一个IP地址有效。公钥加密安全证书既包含用于加密数据的密钥,又包含用于证实身份的数字签名。安全证书采用公钥加密技术。公钥加密是指使用一对非对称的密钥进行加密或解密。每一对密钥由公钥和私钥组成
5、。公钥被广泛发布。私钥是隐密的,不公开。用公钥加密的数据只能够被私钥解密。反过来,使用私钥加密的数据只能被公钥解密。创建自我签名证书某些场合下,通信双方只关心数据在网络上可以安全传输,并不需要对方进行身份验证。这种情况下,可以创建自我签名(self-assign)的证书,比如通过Sun公司提供的keytool工具就可以创建这样的证书。制作证书的工具keytoolJDK1.4以上版本中包含这一工具,它的位置为:binkeytool.exe,此外,也可以到以下站点单独下载keytool:http://java.sun.com
6、/products/jsse/通过keytool工具创建证书的命令为:keytool-genkey-aliasmystore-keyalgRSA-keystoreC:test.keyskeytool命令将生成包含一对非对称密钥和自我签名的证书,命令中参数的意思:genkey:生成一对非对称密钥。alias:指定密钥对的别名,该别名是公开的。keyalg:指定加密算法,本例中采用通用的RSA算法。keystore:指定安全证书的存放路径。SSL握手客户与服务器通信时,首先要进行SSL握手。SSL握手主要完成:(1)协商使用的加密套件。加密套件
7、中包括一组加密参数,这些参数指定加密算法和密钥的长度等信息。(2)验证对方的身份。此操作是可选的。(3)确定使用的加密算法。SSL简介JSSE简介创建基于SSL的安全服务器和安全客户主要内容JSSE(JavaSecureSocketExtension)JSSE封装底层复杂的安全通信细节,使开发人员能方便的利用它开发安全的网络应用程序。JSSE主要包括四个包:(1)javax.net.ssl包:包括进行安全通信的类,如SSLServerSocket和SSLSocket类。(2)javax.net包:包括安全套接字的工厂类,如SSLServerSo
8、cketFactory和SSLSocketFactory类。(3)java.security.cert包:包括处理安全证书的类,如X509Certif
此文档下载收益归作者所有