`

关于Java企业级应用开发中的安全知识的探讨

阅读更多
相信绝大多数做Java的朋友或多或少都会接触到Java安全技术。消息摘要算法,对称/非对称加密算法,数字签名算法等等都可经过合理组合,构建一套安全的网络交互平台。此外,数字证书作为公钥载体,可以用于HTTPS安全网络平台。这些Java安全技术都有哪些实现上的特点,哪种技术更适合你?

1.对于明文交互的网络系统,安全的定义就是保证网络交互内容的一致性。这恰恰是网络安全以及密码学领域的范畴,而消息摘要算法正是该系统最好的校验工具。Java 6提供了最基本的消息摘要算法实现,Commons Codec对其保持提供了更为实用的算法包装,而Bouncy Castle则提供了更多的算法扩展。
许多人误将消息摘要算法视为密码学领域之外的学科,这是大错特错的!

2.对于一般非安全领域公司,大多都会涉及机密数据的加密传输,或者是机密数据的加密存储。DES算法是否足够安全?AES算法的密钥长度是否受到出口限制?Java 6所不支持的IDEA算法又该如何实现?

3.对称加密算法是机密领域中最核心的算法。尽管如此,却无法逃避密钥安全传递的问题。而非对称加密算法很好的解决了这一问题,通过公钥和私钥有效地将交互双方分离,并透过非对称加密算法进行密钥交换。DH算法无疑非对称加密算法的鼻祖,而RSA更是非对称加密算法的典范,同样ElGamal也是较为广泛使用的非对称加密算法,而这一算法必须通过Bouncy Castle来实现。

4.RSA算法不仅仅只是非对称加密算法中的一个经典,它同样是数字签名算法中的典范。根据RSA数字签名算法实现原理,DSA算法得以出现,并随之产生了许多新的数字签名算法,如ECDSA。而这一算法同样没有在Java 6中获得支持,但Bouncy Castle又一次提供了及时的支持。数字签名算法在结合了消息摘要算法与非对称加密算法的特点后,将其有机结合便具有了身份认证的作用。

5.数字证书是非对称加密算法公钥的载体,是作为身份认证最有效的凭证之一。OpenSSL和Java原生的KeyTool是数字证书管理中最常用的工具,但OpenSSL构建数字证书步骤繁杂,KeyTool构建的数字证书又无法构建双向认证服务。这一难题成为步入HTTPS网络安全平台的最后一个门槛!

6.基于HTTPS平台进行网络安全交互,是绝大多数B2B、B2C平台必选的安全架构,但同样适用于其他领域的安全需要。但这一技术,常常涉及到很多密码学多项加密算法的理论,数字证书的构建,以及服务器的配置,往往成为许多公司渴望而不可及的安全技术。

当然,通过HTTPS平台进行网络交互当然是最安全的手段之一。但对于一些安全要求较为低的环境,有机结合各种技术是提高系统安全性极为有效的一种手段。

在实际应用中,哪种安全技术你更常用?那种技术你更需要?哪种技术你有疑惑?欢迎大家一起讨论!
分享到:
评论
7 楼 snowolf 2010-05-05  
感谢关注,目前销售趋势正常,欣喜中!
这本书前几章只是一个大体的介绍,如果哪些部分不明白,可以参照上述问题,提出疑惑。
6 楼 waitingmyself 2010-05-05  
我才在china-pub上买了一本 前几张对我来说比较深奥
5 楼 freej 2010-05-05  
兄弟,你那书卖的怎么样?畅销与否?
4 楼 snowolf 2010-05-05  
总体来讲,但凡涉及到Java语言开发就免不了做网络方面的相关实现。而网络本身是不安全的。上述提到的Java安全技术分为不同层面,适用于不同阶段的Web应用。对于前两条,恐怕是最为常用的Java安全技术。一般Web应用或多或少都会涉及到。
如果日后要涉及到网银交易系统安全、WebService交互系统安全,那么后续的内如将是你需要的!
上述这些内容通常是Java高手比较感兴趣的部分,同时也是Java安全行业的必学必会内容!
3 楼 陈喆晖 2010-05-05  
我是一个学生,可以说专门学习java的,但是现在还没接触这方面的技术,而且现在也大三了.这样没问题吧?
2 楼 programdolt 2010-05-04  
安全技术是每个程序员成长的必经之路,只要做技术,深入些的技术,迟早会涉及到安全的,简单的到密码的加密解密,复杂点的到网络传输安全。 但是真正有比较全面知识的技术人员很少。后生需要学习,感觉还是有一些门槛的。我们需要互相交流,经验丰富的share技术和经验,经验少的学习恶补,买些比较好的讲加密和解密的书籍或从网络搜索资料阅读。希望加密解密对技术人员不在望而生畏,遥不可及。
1 楼 hzbook 2010-05-04  
对于所有开发者来说,安全方面的知识恐怕永远是第一位的吧,但事实上大家似乎对此不够重视。

相关推荐

    Java企业级应用程序开发指南

    《Java企业级应用程序开发指南》是一本面向Java开发者的重要参考资料,尤其适合那些希望在企业环境中构建大型、可扩展系统的人员。这本书深入浅出地讲解了Java在企业级应用中的核心概念和技术,通过丰富的实例帮助...

    java企业级应用开发指南电子书

    ### Java企业级应用开发指南知识点概述 #### 一、引言 随着Java技术的发展与成熟,它已经成为构建大型企业级应用程序的重要平台之一。本书《Java企业级应用开发指南》为开发者提供了一个全面深入地了解如何利用Java...

    Java企业级开发项目实践

    在“Java企业级开发项目实践”这一主题中,我们探讨的是使用Java编程语言进行大型、复杂、分布式系统开发的关键技术和实践经验。Java作为一种强类型、面向对象的语言,因其跨平台的特性,广泛应用于企业级应用系统。...

    《Java EE企业级应用开发教程Spring+Spring MVC+MyBatis》_源代码.zip

    《Java EE企业级应用开发教程Spring+Spring MVC+MyBatis》是一本深入探讨Java企业级应用程序开发的书籍,源代码包含多个章节的实例,旨在帮助读者理解和掌握使用Spring、Spring MVC和MyBatis框架进行实际开发的关键...

    Java企业级开发课程设计

    总的来说,“Java企业级开发课程设计”是一个综合性的实践项目,涵盖了Java基础、Spring框架、数据库交互等多个重要知识点,旨在培养开发者解决实际问题的能力,为将来从事企业级应用开发打下坚实的基础。...

    java 开发 J2EE企业级应用

    9. **Spring框架**:虽然Spring不属于J2EE规范,但它在企业级应用开发中广泛应用,提供依赖注入、AOP(面向切面编程)、MVC框架、事务管理等服务。 10. **Web服务(SOAP/WSDL/RESTful)**:J2EE支持创建和消费Web...

    《Java EE企业级应用开发教程(Spring Spring MVC MyBatis)》.zip

    《Java EE企业级应用开发教程(Spring Spring MVC MyBatis)》是一本专注于Java后端开发的实战型教材,特别适合于对Java EE感兴趣并希望深入学习的企业级开发者。本书结合了Spring框架、Spring MVC以及MyBatis这三大...

    Java 企业级开发项目实践

    在当今快速发展的信息技术领域中,Java作为一种广泛使用的编程语言,在企业级应用开发中占据着举足轻重的地位。本文将根据所提供的标题、描述及标签等信息,深入探讨与Java企业级开发项目实践相关的知识点。 #### ...

    使用java企业级技术开发大型系统课程ppt

    该课程基于ACCP6.0(Advanced Certified Computer Professional)认证体系,旨在为学员提供全面的Java企业级应用开发知识。以下是课程涵盖的一些核心知识点: 1. **Java基础**: 课程首先会回顾Java语言的基础知识,...

    桌面java企业级开发项目实践

    《桌面Java企业级开发项目实践》是一本深入探讨企业级Java开发的重要参考资料,它涵盖了从基础到高级的各种技术,旨在帮助开发者提升在实际工作中的应用能力。在这个领域,Java以其强大的稳定性和可扩展性,成为了...

    《精通NetBeans——Java桌面、Web与企业级程序开发详解》光盘

    通过学习本书,读者不仅能够熟练掌握NetBeans IDE的使用,还能深入理解Java编程的各个方面,无论是桌面应用、Web应用还是企业级应用的开发,都能游刃有余。源代码的提供则让理论知识与实践相结合,确保了学习效果。...

    企业级java安全

    《企业级Java安全》一书深入探讨了Java平台在构建安全的企业级应用程序中的核心技术和实践。J2EE(Java 2 Platform, Enterprise Edition)和J2SE(Java 2 Platform, Standard Edition)是Java开发的重要分支,分别...

    java程序高级应用及开发

    在Java程序的高级应用中,我们会接触到并发编程、网络编程、数据库连接(JDBC)、远程方法调用(RMI)、Java服务器页面(JSP)和Servlet、JavaFX图形用户界面(GUI)开发,以及Spring框架、Hibernate ORM等企业级...

    《Java EE企业级应用开发教程(Spring Spring MVC MyBatis)》.zip

    《Java EE企业级应用开发教程(Spring Spring MVC MyBatis)》是一门深入探讨Java后端开发技术的课程,主要围绕Java EE平台上的Spring、Spring MVC和MyBatis这三个核心框架进行讲解。Java EE,全称Java Platform, ...

    企业级java安全性(构建安全的j2ee应用)

    在企业级Java应用程序开发中,安全性是至关重要的一个环节,特别是在构建J2EE(Java 2 Platform, Enterprise Edition)应用时。J2EE为大型分布式系统提供了强大的框架,但同时也面临着各种安全挑战,如数据泄露、...

    SpringMVC框架及其核心组件的Java企业级开发实践

    内容概要:本文详细介绍了SpringMVC框架的概念、配置与具体应用,探讨了Java企业级开发所需的Java基础知识、Spring框架核心特性和MVC设计模式。覆盖SpringMVC的工作流程、主要组件如控制器、模型、视图、数据绑定及...

Global site tag (gtag.js) - Google Analytics