⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 professional java security.txt

📁 我的security 的学习笔记.可以看看卡
💻 TXT
字号:
1
2.
3.32-48
4.
5
6
7
8.
9
10.
11.326-382  在线银行
12.
07-7-17  8:00 p.m.
1.Socket,RMI,JDBC
  RMI:RMI(Remote Method Invocation,远程方法调用) 
2.JCA (Java Cryptography Architecture,Java密码架构)
3.JCE (Java Cryptography Extension,Java密码扩展)
4.JAAS(Java Authentication and Authorization Service,Java认证和授权服务)
5.SSL(Secure Sockets Layer,安全套接层)
软件条件
1.Standared Edition SDK(JDK 1.3)
2.Enterprise Edition SDK 1.2.1 Reference Implementation
扩展
1.JAAS
2.JSSE(Java secure socket extension,java安全套接字扩展)
3.JCE
JAAS v1.0
JSSE 1.0.2
JCE  1.2.1但书中采用Bouncy Castle Cryptographty API 1.04
http://www.bouncycastle.org
再讨论不同地方的时候,用到如下的软件
1.JavaSoft的Html Converter,作用将web中对java applet的调用转换到多个浏览器中
2.Microsoft的SDK for Java版本 1.4产生注册.cab文件,运行applet
3.Mysql和驱动
4.Xerces XML是一个xml的解析器
http://xml.apache.org/xerces-j/index.html
5.Tomcat
注明:第10章程序SSL-tunneling要2台计算机运行
技术支持
专家邮件组,步骤
1.p2p.wrox.com
2.Java和Security

第1章  安全性的考虑
1.安全
  a.如何传输敏感信息
  b.如何存储敏感信息
  c.保证代码来源可靠
  d.只有授权用户访问
2.安全性目标
  a.保护敏感数据
  b.控制对资源的访问
  c.记录日志
3.安全策略:允许行为
4.安区需求
  a.风险评估(Risk assessment)
  b.数据公开(Data exposure)
5.实现安全
6.安区技术和工具
  a.OS
  b.IP security:IpSec
  c.VPN(Virtual Private NetWorks)
  d.FireWall
    源/目的(Origin/Destination Firewalls)
    网关(Gateway Firewalls)
    客户端
    服务器端(Demilitarized Zone,DMZ)
  e.入侵检测工具:数据包嗅探器(Package Sniffer)Ethereal
7.Java安全
  a.sandbox
  b.字节验证器
  c.类装入器
8.Java 和密码学
  Java core libraries和标准扩展(standard extension,java.security和java.crypto)

07-7-18 2:00 p.m.
第2章  安全的java代码
可访问性(Accessibility)
序列化(Serialization)
数据包(Package)
特权代码(Privileged code)
本地方法(Native Methods)
1.Java中,字节码验证器保证一个类不能访问其他未经许可的实体
2.打开字节码编辑器
  C:\>java -verify Perpetrator
3.Final,方法和变量
4.Static Field静态字段
  静态变量属于某个类,而不是这个类的对象
5.常量类
  不变的String,BigInteger
6.序列化
  将类生命为final
7.Transient
  对敏感信息进行保存而不序列化,就声明为transient.
8.验证合法性
  重载readObject()和writeObject()
  参考java.io.ObjectInputStream和ObjectOutputStream
9.加密
  java.crypto.SealedObject
10.对包的保护
   a.封装的jar文件
   b.在java.security中加入package.definition项
   c.限制包的访问权限
11.封装的jar文件
   Jar的密封,在MANIFEST.MF对想加密的包添加一个Name和Sealed项.
   Example:密封包com.isnetworks.*,在MANIFEST.MF中添加
           Name:com/isnetworks/
           Sealed:true
12.使用package.definition项
13.限制包的访问权限
   Example:对包com.isnetworks.*的访问进行限制,在java.securtity文件中加入package.access=com.isnetworks.*,任何想访问的包.需要在java.policy文件中加入 RuntimePenmission("accessClassInpackage.com.isnetworks");
14.特权代码
   a.特权代码尽可能的短
   b.尽可能不用特权代码
15.本地方法
   本地方法可以访问和修改java对象,不受java安全管理器的check

  
07-7-19 14:35 
第3章    密码和java中的加密服务概述
1.加密(Encryption)
  认证(Authentioncation)
  Java密码架构(Java Cryptogrphy ArchitectureJCA)
  java密码扩展(java cryptography Extension,JCE)
2.对称加密算法
  a.分组加密(block  cipher):一次对一个数据块加密
  b.流密码(stream cipher):对数据流进行加密,如稳定的信息流Socket
3.密钥空间(key space):密码说有可能的集合
4.超级计算机24破解56位密钥,枚举破解128为是24小时的2的72幂.不可能枚举破解出来
5.DES:56位
  AES:代替DES,长度可变
  TripleDES(DESede)-encryption,decryption,encryption:168位(112位有效)
  Blowfish:是个分组密码,长度可变
  RC4:是个流算法,大部分SSL用其实现,保证TCP/IP连接安全.密钥的长度40到128位,长度可变
6.非对称加密:也称为公钥加密(Public-key Encryption)
7.非对称加密算法
  RSA,EIGamal
8.公钥加密的弱点
  a.获取问题
  b.比起对称加密,非对称加密速度很慢
9.会话密钥加密:将对称加密和非对称加密一起使用,即对信息对称加密,用公钥对密钥本省加密
10.会话密钥加密的例子:
   a.PGP(Pretty Good Privacy)
   b.S/MIMIE(Secure/Multipurpse Internet Mail Extension,安全/多目的的互联网邮件扩展),用来保护电子邮件的安全
   c.SSL和TLS:Secure Socket Layer和Transport layer Security目的保护TCP/IP流量的安全
11.密钥协定算法
   Diffie-Hellman(公开交换密钥)
12.其他隐藏数据的方法
   a.Steganography
   b.编码
   c.一次性填充
   e.椭圆曲线加密(Elliptic Curve Cryptographt,ECC):是公钥加密算法的变种,RSA安全性在基于对大数的因式分解
13.认证:是确定一个消息和一个用户的可靠性过程.
14.消息摘要:杂凑(hash),通常16-20字节长度,类似文档的指纹,证明数据没有被更改和损坏
15.消息摘要算法:
   a.MD5:128位的消息摘要,用于口令存储机制
   b.SHA和SHA-1:(Secure Hash Algorithm):是160位的杂凑算法
16.消息认证码:(Message authentication Codes,MAC):带有密钥的消息摘要,如SSL就使用
MAC来效验收到的数据
17.数字签名(Digital Signature)
   a.对数据源的保证
   b.证明数据没有串改
   数字签名算法:DSA(Digital Signature Algorithm)
18.数字证书:是一个团体的签署声明,证明另一个团体的公钥确实是属于他们的,如政府发你的身份证,证书也可以包含除公钥和数字签名以外的信息,如SSL证书包含主人的主机名称
19.证书链:让一个证书的授权机构(root ca),位另一个证书授权机构做认证.
   VeriSign Class 1 Primary CA
20.密码分析学:是分析和破解密码的学问
21.密钥管理:是一个安全系统主要考虑的问题.智能卡(私钥和证书)
22.协议:如何决定每个算法的使用顺序和使用方式,以得到最大的安全.
23.JCA:Java 密码架构
   JCE:Java 密码扩展
是为java提供和实现无关的api
24.JCA:java.security
   每个类的使用是通过工厂模式(factory Pattern).即是定义了创建对象的接口的模式,实际的例程可以让子类决定使用哪个类.
25.加密服务提供者(provider):是许多不同算法实现的集合. 
a.Sun provider,类名sun.security.provider.sun有下面的实现
   MD5消息摘要 
   SHA-1消息摘要
   DSA数字签名的签署和证书
   DSA密钥对的chansheng
   DSA密钥的转换
   X.509认证的创建
   所有者密钥存储实现
   DSA算法参数
   DSA算法参数产生
   所有者随机数产生
b.JDK 1.3 给出第二个提供者,RSAJCA,类名: com.sun.rsajca.Provider有下面的实现
   RSA密钥对产生
   RSA密钥转换
   使用了SHA-1或MD5消息摘要的RSA签名








第6章 消息摘要,数字签名,数字证书
第7章 核心Java安全模块,applet安全
第8章 Java中其他安全模块
Servelt
Enterprise JavaBean
JAAS
第9章  SSL
第10章 保护数据库
第11章 保护大型应用程序













⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -