2011년 6월 13일 월요일

자바을 이용한 암호학(자바보안 개정판) - 3

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


표) 표준 알고리즘 이름

댓글 없음:

댓글 쓰기

블록체인 개요 및 오픈소스 동향

블록체인(block chain) 블록체인은 공공 거래장부이며 가상 화폐로 거래할때 발생할때 발생할 수 있는 해킹을 막는 기술. 분산 데이터베이스의 한 형태로, 지속적으로 성장하는 데이터 기록 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가...