2011년 6월 9일 목요일

자바보안과 암호화 - 2

Chapter 2 기본기
보안의 3대 규칙
1. 기밀성(Confidentially) : 비인가 사람은 내용을 없어야 한다.
대칭암호화 : 송신측과 수신측이 동일한 키를 사용한다.(비밀키, 개인키 방식)
비대칭 암호화 : 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

표) 표준 알고리즘 이름

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...