[프로그래밍, 자바]자바 보안 프로그래밍
*경*
다운로드
장바구니
소개글
자바를 기반으로 보안에 대해서 배운다.자바 기반의 보안 모델, 키관리 프로그래밍 SSL, 인증서 관리등에 대해서 배운다.
목차
1. 자바 보안 모델 21.1 Java Security Model 2
1.1.1 개요 2
보안 개요 2
Java Security 2
Security Model 2
Class Loader 5
Secure Class Loader 9
1.1.2 J2SE1.4 10
1.2 Security Manager 11
1.2.1 Security Manager 소개 11
SecurityManager Example 11
1.3 Java Cryptography Architecture 15
Cryptography의 개념 15
Provider class 16
Security class 16
Engine Class & SPI (Service Provider Interface) 16
1.4 JCE 18
2. Key의 생성 및 관리 19
2.1 Key의 개념 19
2.1.1 Key 19
2.1.2 자바에서의 지원 19
2.1.3 Key 관련 클래스 20
java.security Interface Key 20
비대칭 키 20
대칭키 21
2.2 Key의 생성 21
2.2.1 자바 API의 지원 21
KeyPairGenerator 클래스 21
KeyGenerator 클래스 22
키의 생성 및 사용 예제 22
2.3 Keytools의 사용 24
2.3.1 키 관리 개요 24
2.3.2 Keytool의 소개 24
전역옵션 24
키 엔트리 생성 24
인증서 요청 생성 25
기타명령어 26
2.4 인증서 27
2.4.1 인증서의 개념 27
인증서 27
인증서 형식 27
인증서 취소목록 28
인증서 발급 및 검증 29
2.4.2 자바API를 이용한 인증서 처리 29
Certificate 클래스 29
CertificateFactory 클래스 30
X509Certificagte 클래스 30
폐기된 인증서 처리 32
2.4.3 인증서 예제 35
2.5 Signed Applet 39
Signing Tool 및 사용 방법 39
Internet Explorer 39
Java Plug-in 40
보안 정책 설정 40
2.6 전자서명 42
2.6.1 전자서명의 개요. 42
< 일반적인 전자서명 > 42
2.6.2 Message Digest 43
Message Digest? 43
Java Api를 이용한 Message Digest 43
2.6.3 Signature class 48
Signature 예제 48
3. SSL 과 JSSE 51
3.1 SSL 51
3.1.1 SSL 프로토콜의 동작 51
SSL Handshake Protocol 51
1) Hello Request 51
2) Client Hello 51
3) Server Hello 52
4) Server Certificate or Server Key Exchange 52
5) Certificate Request 52
6) Server Hello Done 52
7) Client Certificate 52
8) Client Key Exchange 52
9) Certificate Verify 53
10) Change Cipher Specs, Finished 53
11) Finished, Change Cipher Specs 53
3.1.2. SSL레코드 프로토콜 (SSL Record Protocol) 54
1) 단편화 (Fragmentation) 54
2) 레코드 압축(Compression)과 해제 54
3) 메시지 인증(MAC), 암호화/복호화 55
Change Cipher Spec 프로토콜 55
Alert 프로토콜 55
3.2 JSSE 56
3.2.1 JSSE 소개 56
3.2.2 SSL 서버소켓과 SSL 소켓 56
본문내용
1 자바 보안 모델1.1 Java Security Model
1.1.1 개요
보안 개요
보안은 시스템 보안과 데이터 보안으로 구분한다.
◎ 시스템적인 보안은 운영 체계 레벨의 보안으로 시스템이 안전하게 운영될 수 있도록 프
로세스 실행, 메모리 사용, 파일 사용, 디바이스 사용 등에 권한을 설정하고 오류를 검
사하여 불순한 접근과 사용을 제한하는 것이다.
◎ 데이터적인 보안은 시스템 내에서 사용하는 모든 데이터와 디바이스를 통해 교환하는 데
이터들에 대한 안전을 보장하는 것으로 예를 들어 파일에 저장되어 있는 데이터를 암호
화하거나, 네트워크를 통해 교환되는 데이터를 암호화하여 허가되지 않는 사용자가 데이
터의 내용을 알 수 없도록 하는 것이다.
자바 플랫폼(Java Virtual Machine) 에서는 이러한 두 가지 보안을 모두 제공하며, 개발자
에 사용 능력에 따라 보안 정도가 좌우되어진다.
Java Security
자바 보안은
◎ 첫째로 프로그래머의 실수로 인한 오동작을 방지하기 위하여 Garbage Collection, 스트
링 및 배열의 범위 체크 등의 메모리 관리를 자동적으로 해준다.
◎ 둘째로 컴파일러와 Bytecode Verifier에 의해 실행 시의 자바 언어의 타입을 보장해 주
어 올바른 자바 바이트 코드만이 실행될 수 있도록 해준다.
◎ 셋째로 클래스 로더(Class Loader)와 보안 관리자(Security Manager)에 의해 쓰레드, 메
모리, 디바이스, 파일 등의 사용 권한을 할당하여 접근을 제어하고 불순한 코드의 실행
과 오류 등을 검사하여 시스템이 안전하게 운영될 수 있도록 한다. 또한 Cryptography
Architecture를 제공하여 암호 기술을 이용한 데이터 보안과 다양한 서비스를 제공할 수
있다.
Security Model
자바의 보안 모델은 자바 1.1.x에서 1.2로 버전업되면서 크게 바뀌었다.
◎ 자바 1.1.x는 실행하기 위한 코드가 Local 코드일 경우 시스템의 자원을 사용하기 위한
모든 권한을 주며,
참고 자료
Java Security와 Cryptography Architecture ㈜장미디어 인터렉티브 암호화연구소 이인영 Construct secure networked applications with certificates Part 2,3,4
Build secure network applications with SSL and the JSSE API
CoreJava2 Advance 2 chap9 Security
Controlling Package access with security Permission(www.javasoft.com, Technical Tip)
Using Security Manager(www.javasoft.com, Tech Tip)
Java Security evoluation and Concepts, Part1,2,3,4,5(www.javaworld.com)
Professional Java Security (Wrox,Jess Garms,Daniel Somefield)
Java Security (Oreilly, Scott Oaks)
Java Cryptography (Oreilly, Jonathan Knudsen)
이 자료와 함께 구매한 자료
- 자바 그래픽 Swing을 사용하여 만튼 탐색기 프로그래밍 입니다. 0페이지
- 주소관리 프로그램 매뉴얼 21페이지
- [JSP/Servlet] 기말텀 WebDBMS 웹 어플리케이션 9페이지
- [데이타베이스] JDBC 란? 23페이지