谈谈JAVA的加密方案
来源:wenku7.com 资料编号:WK78605 资料等级:★★★★★ %E8%B5%84%E6%96%99%E7%BC%96%E5%8F%B7%EF%BC%9AWK78605
资料介绍
英文翻译: JAVA加密方案 1. 简介 Java编程语言创造了现代计算机世界中最大的成功故事。JAVA无处不在,包括web浏览器中的(小程序)、web服务器中(小服务与JSP,java服务器页面)、应用程序服务器中(企业java bean,EJB)以及把这些技术结合起来,形成了远程方法调用(RMI,Remote Method Invocation)、java消息服务(JMS,java Messaging Service)、java数据库连接(JDBC,java Database connectivity)等技术,使JAVA自然成为安全语言(例如,小程序不能在web浏览器客户机中误操作),应提供加密功能(如帮助加密、消息摘要、数字签名,等等)。 有几个机制保证java成为安全语言,这里不介绍这些机制及其意义,而只是介绍java提供的加密服务。广义上说,可以把JAVA加密框架看成两大技术,如图1所示。 图1 JAVA加密框架 下面一一介绍。 Java加密体系结构是一组类,向Java程序提供加密功能。更重要的是,JCA放在默认Java应用程序开发环境JDK(Java开发工具库)中,即使使用JDK时,自然可以用JCA。JCA最初是在JDK1.1中引入的,在JDK1.2中得到大大改进(也称为JAVA2)。 2.JAVA加密体系结构 (1)简介 前面曾经介绍过,JCA在核心Java框架中,由JDK软件自动提供,不需要特殊许可证。JCA向使用Java语言的编程人员提供基本加密功能。访问控制、权限、密钥对、消息摘要与数字证书等加密功能通过JAVA包security中的一组抽象类提供。Sun公司在JDK中提供了这些类的实际实现。下面详细介绍这些类。 JCA也称为提供者体系结构,设计JCA的主要目的是公开加密概念(即接口,interface)与实际算法实现(即实现,implementation),下面将详细介绍。 为了实现编程语言无关性,使用了接口面向对象原则。接口是一组函数的方法,表示接口能做什么(即接口的行为),但不包含现实细节(即怎么做)。下面举一个简单示例。 购买声频系统时,我们不关心其电子文件、工作电压与电流之类的内部细节,因为厂家提供了一组接口。我们可以按一个按钮弹出CD,改变质量或找一首歌,内部要将各种操作电子文件层的操作,这组内部操作称为实现。这样,不管操作的内部细节可以省不少事,我们只要知道如何使用(接口),如果图2所示。 这个方法的主要目的是提供可插式体系结构,使内部细节改变时(如用不同方法实现变量控制机制)不必改变外部接口(即音控按钮)。这就是JCA之类提供者体系结构的妙处。在JCA中,我们提供概念性的加密功能,让其用不同的方法实现,使不同厂家可以提供加密工具的不同实现方法,使JCA体系结构独立于厂家,具有可扩展性。 为了达到这个目的,JCA包中有几个类,称为引擎类。引擎类是加密功能的逻辑表示(如消息摘要与数字签名)。(所有权: 毕业设计网 ) CRYPTOGRAPHIC SOLUTIONS USING JAVA 1.Introduction The java programming language has become one of the major success stories of modern computing.java is everywhere----it is on the Web browsers (in the from of applet ),on the Web servers (in the from of servlets or JAVA servers pagas,i.e.JSP ),on the application servers (in the from of Enterprise Java Beans,i.e.EJB ) as well as for making all these technologies work together in the from of technologies such as Remote Method Invocation (RMI) , Java Messaging Service (JMS), Java Database Connectivity(JDBC),and so on. This automatically means that JAVA should be a safe language to use (i.e. an applet must not misbehave on the Web browser client, for example),and should provide for cryptographic functionalities (i.e. facilities for encryption, message digests, digital signatures, etc ). There are several mechanisms in place, which ensure that Java is a safa language to use. We shall not discuss those mechanisms here. The focus of our discussion will be the cryptographic services provided by JAVA. At a very broad level, we can consider the JAVA cryptographic framework as consisting of two main technologies, as shown in Fig.1 Let us examine what this means now. Fig.1 JAVA cryptography framework Java Cryptography Architecture (JCA) is a set of classes that provide cryptographic capabilities to Java programs. Most significantly, JCA is a part of the default Java application development environment, i.e. Java Development Kit(JDK)itself. This means that when you have JDK, you automatically have JCA. JCA was introduced for the first time in JDK version 1.1, and was significantly enhanced in JDK version 1.2(which is more commonly known as JAVA 2). Java Cryptography Extension(JCE), on the other hand, is not a part of the core JAVA JDK per se. Instead , it is an additional piece of software that requires special licensing. The reason for separating JCE from JCA is the export restrictions imposed by the US government, as we shall see. We shall examine JCA and JCE from a conceptual point of view, now. 2. JAVA cryptography Architecture(JCA) (1) Introduction As we mentioned, JCA is a part of the core Java framework. It automatically comes with the JDK software, and does not need any special licensing. JCA provides the basic cryptographic functionalities to a programmer using the Java language. The cryptographic functionalities (such as access control, permissions, key pairs, message digital signatures) are provided as a set of abstract classes in a JAVA package called as security. Sun provides the actual implementation of these classes in the JDK. Additionally, we can provide our own implementations of these classes. Let us understand this in more detail.(所有权: 毕业设计网 ) |