JAVA加密解密的基本知识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JAVA加密解密的基本知识
我现在知道比学习还要难得事情是讲课,讲的不足之处请多多包涵!
(一) 我们身边的信息安全问题
∙存储问题
∙通信问题
∙B2B,B2C交易安全问题
∙服务交互问题
∙移动应用服务问题
∙内部人为问题
(二) 计算机信息安全
国际标准化委员会的定义:为数据处理系统和采取的技术的和管理的安全保护,保护计算机硬件、软件、数据不因偶然的或恶意的原因而遭到破坏、更改、显露。
我国公安部计算机管理监察司的定义:计算机安全是指计算机资产安全,即计算机信息系统资源和信息资源不受自然和人为有害因素的威胁和危害。
安全技术目标:
(三)TCP/IP安全体系结构
【1】OSI七层和TCP/IP四层
【2】TCP/IP安全体系结构
(四)JavaEE安全控制和密码学
1.密码学与JavaEE
∙JavaAPI支持
∙JSP容器支持
∙Java工具支持
2.安全控制策略
∙访问控制
∙数据加密
∙数字证书
3.密码学分类(根据密码体制密码学可以分为密码体制密码学和非对称体制密码学)
【1】对称密码体制
对称密码体制是一种传统密码体制,也称为私钥密码体制。在对称加密系统中,加密和解密采用相同的密钥。因为加解密密钥相同,需要通信的双方必须选择和保存他们共同的密钥,各方必须信任对方不会将密钥泄密出去,这样就可以实现数据的机密性和完整性。比较典型的算法有DES(Data Encryption Standard数据加密标准)算法及其变形Triple DES(三重DES),GDES(广义DES);欧洲的IDEA;日本的FEAL N、RC5等。DES标准由美国国家标准局提出,主要应用于银行业的电子资金转帐(EFT)领域。DES的密钥长度为56bit。Triple DES使用两个独立的56bit密钥对交换的信息进行3次加密,从而使其有效长度达到112bit。RC2和RC4方法是RSA数据安全公司的对称加密专利算法,它们采用可变密钥长度的算法。通过规定不同的密钥长度,,C2和RC4能够提高或降低安全的程度。
对称密码算法的优点是计算开销小,算法简单,加密速度快,是目前用于信息加密的主要算法。尽管对称密码术有一些很好的特性,但它也存在着明显的缺陷,包括:l)进行安全通信前需要以安全方式进行密钥交换。这一步骤,在某种情况下是可行的,但在某些情况下会非常困难,甚至无法实现。例如,某一贸易方有几个贸易关系,他就要维护几个专用密钥。它也没法鉴别贸易发起方或贸易最终方,因为贸易的双方的密钥相同。另外,由于对称加密系统仅能用于对数据进行加解密处理,提供数据的机密性,不能用于数字签名。因而人们迫切需要寻找新的密码体制。2)规模复杂。
【2】非对称密码体制
非对称密码体制也叫公钥加密技术,该技术就是针对私钥密码体制的缺陷被提出来的。在公钥加密系统中,加密和解密是相对独立的,加密和解密会使用两把不同的密钥,加密密钥(公开密钥)向公众公开,谁都可以使用,解密密钥(秘密密钥)只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥,顾其可称为公钥密码体制。公钥密码体制的算法中最著名的代表是
RSA系统,此外还有:背包密码、McEliece密码、Diffe_Hellman、Rabin、零知识证明、椭圆曲线、EIGamal算法等。
非对称密码体制的。
优点:首先,在多人之间进行保密信息传输所需的密钥组和数量很小;
第二,密钥的发布不成问题;
第三,公开密钥系统可实现数字签名。
缺点:公开密钥加密比私有密钥加密在加密/解密时的速度慢。
总结:从上述对对称密钥算法和非对称密钥算法的描述中可看出,对称密钥加解密使用的同一个密钥,或者能从加密密钥很容易推出解密密钥;②对称密钥算法具有加密处理简单,加解密速度快,密钥较短,发展历史悠久等特点,非对称密钥算法具有加解密速度慢的特点,密钥尺寸大,发展历史较短等特点。
数字证书介绍
1. 定义:
所谓数字证书,是一个由使用数字证书的用户群所公认和信任的权威机构(即CA)签署了其数字签名的信息集合。
电子商务中的数字证书是由权威机构发放的用来证明客户身份的技术。
2.数字证书的类型:
•个人数字证书
∙第一级提供个人电子邮件的认证,仅与电子邮件地址有关。
∙第二级提供个人姓名、个人身份等信息的认证。
•服务器证书
∙拥有数字证书的服务器可以自动与客户进行加密通信。
∙认证中心应:
•对企业服务器的管理情况进行考核。
•对企业的技术条件进行考核。
•对其设备的安全性、可靠性进行调查。
•开发者证书
3.数字证书的内容
l、
∙证书的版本信息
∙l证书序列号
∙l证书使用的签名算法
∙l证书的发行机构名称
∙l证书的有效期
∙l证书所有人的名称
∙l证书所有人的公开密钥
∙l证书发行者对证书的签名
安全协议简述
HTTPS简介
HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP 上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。
HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。HTTP URL (URL 是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下:
http://host[":"port][abs_path]
http表示要通过HTTP协议来定位网络资源;host表示合法的Internet主机域名或者IP地址;port指定一个端口号,为空则使用缺省端口80;abs_path 指定请求资源的URI;如果URL中没有给出abs_path,那么当它作为请求URI 时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。
eg:
1、输入:http://localhost浏览器自动转换成:http://localhost/
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
具体是如何进行加密,解密,验证的,且看下图。