Akashic Records

자바을 이용한 암호학 - 3 본문

오래된글/Java

자바을 이용한 암호학 - 3

Andrew's Akashic Records 2018. 4. 7. 23:23
728x90

PLT 1.3 기본 개념

보안의 3대 규칙

1. 기밀성(Confidentially) : 비인가 된 사람은 내용을 볼 수 없어야 한다.

A. 대칭암호화 : 송신측과 수신측이 동일한 키를 사용한다.(비밀키, 개인키 방식)


B. 비대칭 암호화 : A의 공개키로 암호화 한 내용은 A의 개인키로만 풀 수 있다. 비대칭 암호화는 대칭 암호화에 비해 상당히 느리다.

2. 무결성(Integrity) : Date가 불법 수정되지 못하게 보장한다. 암호화된 메시지 축약을 서명(signature)이라고 한다.

3. 인증(Authentication) : 상호 교신하는 사람이 각각 믿을 수 있는 객체임을 보장한다. 인증서는 한 사람에 의해 발급되는 문장으로 다른 사람의 공개키를 가지는 어떤 값이다. 필수적으로 인증서는 서명된 공개키이다.


알고리즘

비대칭 암호화와 서명은 다양한 키 크기를 가진다. 적절한 키 크기를 선택하는 것은 사용자와 애플리케이션에 달려 있다.

명 칭

타 입

비 고

MD-5

메시지 축약

128비트 메시지 축약 생성

저항력에 약간의 허점을 발견

SHA-1

메시지 축약

160비트의 메시지 축약 생성

저항력이 증가

HmacMD5와 HmacSHA1

메시지 인증 코드


DSA

서명

512 ~ 1024비트 까지의 키 생성

ElGamal 서명

서명


DES

대칭 암호화


DESede

대칭 암호화


PBEWithMD5AndDES

대칭 암호화


ElGamal 암호

비대칭 암호화


DH

키 교환



표) 암호화 알고리즘

클래스/인터페이스

정의

java.security.cert.Certificate

암호인증

javax.crypto.Cipher

암호화

java.security.Key.

java.security.PrivateKey, java.security.PublicKey, javax.crypto.SecretKey

서명이나 암호화에 사용되는키

javax.crypto.KeyAgreement

비밀키 교환 프로토콜

java.security.KeyFActory

공개키와 비밀키의 형식 변환

javax.crypto.KeyGenerator

대칭암호문에 사용될 키 생성

java.security.KeyPairGenerator

암호화와 인증에 사용된 공개키와 비밀키 생성

javax.crypto.Mac

메시지 인증 코드(MAC)

java.security.MessageDigest

암호화 해시함수

javax.crypto.SecretKeyFactory

비밀키의 형식 변환

java.security.SecureRandom

난수생성

java.security.Signature

전자서명


표) JDK와 JCE에 포함된 암호화 클래스

개념클래스

Sun이 지원하는 암호화 알고리즘

SunJCE가 지원하는 암호화 알고리즘

Cipher


DES, Desede, PBEWithMD5AndDES

KeyAgreement


DH

KeyFactory

DSA


KeyGenerator


DES,DESede

KeyPairGenerator Mac

DSA


Mac


HmacMD5, HmacSHA1

MessageDigest

MD5, SHA-1


SecretKeyFactory


DES, Desede, PBEWithMD5AndDES

Signature

DSA



표) 표준 알고리즘 이름

728x90

'오래된글 > Java' 카테고리의 다른 글

자바을 이용한 암호학 - 5  (0) 2018.04.07
자바을 이용한 암호학 - 4  (0) 2018.04.07
자바을 이용한 암호학 - 2  (0) 2018.04.07
자바을 이용한 암호학 - 1  (0) 2018.04.07
Java HotSpot VM Options  (0) 2018.04.07
Comments