本书以大量精简的实例介绍了Java安全性编程方面的概念和技术,全书共计9章。
经过精心设计,每个小节的实例着重说明一个问题,又相互贯穿和联系。涉及Java加密和解密,反编译和反反编译,对类、成员变量、方法的攻击和保护,消息摘要,消息验证码,数字签名,口令保护,数字证书和证书链的生成、签发、检验和维护,SSL和HTTPS客户及服务器程序、基于代码位置和签发者的授权,签名Java Applet,基于身份的验证和授权(JAAS)等。
全书的实例极为精简,只保留了能够说明问题的代码,而又可真正运行,便于Java入门者轻松掌握安全性方面繁杂的概念。适合于适合于初步了解Java语法的学习者,也适合于安全技术的入门及高校Java教学参考。
第一章
解决的主要问题
运行本书的程序需要哪些软件?
主要内容
介绍本书所使用的主要软件及其安装和配置
第二章
解决的主要问题——内容的安全性
数据在网上传递怎么样防止被黑客窃听到?
硬盘上的文件中有敏感数据,如何防止被黑客看到?
主要内容
本章解决的是数据内容的安全性,介绍Java的加密和解密技术。学完该章可以通过Java编程对各种数据进行各种形式的加密。密码学也是安全机制的基础。
第三章
解决的主要问题——和源代码相关的安全性
编写好的程序给用户后,用户如果能反编译出源代码怎么办?
定义类、成员变量、方法时如何防止恶意或无意的攻击?
主要内容
本章解决的是和源代码相关的保护。包括源代码、类、成员变量、方法的保护。通过常用的反编译工具加强对源代码保护的认识,使用混淆器和加密等方式对源代码作了初步保护。同时演示了编写程序时如何考虑攻击者对类、成员变量、方法等方面的攻击。
第四章
解决的主要问题——确定数据的完整性和所有者
网上下载了一个程序,如何确定它确实是某某公司开发的?
如何确定黑客没有将程序修改过?
某公司或人发来一个文件,后来他不承认发过这个文件怎么办?
主要内容
3
更多电子书教程下载请登陆http://down.zzbaike.com/ebook
本站提供的电子书教程均为网上搜集,如果该教程涉及或侵害到您的版权请联系我们。
第四章起开始介绍和身份认证相关的技术。包括身份确定性、不可篡改性、不可否认性等,该章介绍的消息摘要和签名技术可解决这些问题。
第五章、第六章
解决的主要问题——数字化身份的凭证
实际应用中如何方便地使用摘要和签名技术?
如何确定某个签名确实是某个人或机构的?
主要内容
第五章和第六章介绍基于摘要和签名技术的数字证书。这是Java安全中确定身份的主要技术。其中第五章介绍了数字证书的创建、签发、验证和维护等,第六章介绍了多个证书组成的证书链(CertPath)的创建和验证。
第七章
解决的主要问题——数据安全传输,服务器和用户身份的确定
客户机和服务器之间的通信如何自动进行加密传输?
客户机和服务器之间的通信如何相互确定身份?
浏览器访问一个站点,如何确定这个站点不是黑客的服务器?
主要内容
本章介绍介绍使用加密技术和证书机制的一个实际应用,基于SSL和HTTPS的编程。学完本章可以编写自己的SSL和HTTPS客户及服务器程序。
第八章
解决的主要问题——基于代码来源的程序的安全运行
网上下载了一个程序,运行时会不会删除我的文件,或将某些文件泄漏给黑客?
编写了一个Java Applet,如何让其能访问硬盘上的文件?
主要内容
本章介绍基于代码来源的程序的安全运行,可以基于运行时代码在哪个URL、或代码是谁签名的限制其可以访问哪些用户资源。还介绍了定义自己的权限以及签名Java Applet。
第九章
解决的主要问题——身份验证和基于执行者身份的程序的安全运行
程序需要用户输入账号和口令到数据库登录,但以后可能需要改为智能卡验证。
程序需要访问某个用户资源,但只有用户以某些特殊身份登录时才需要该权限。
主要内容
本章介绍Java验证和授权服务(JAAS),可以方便地更换验证模块,并实现基于身份的授权。
1