You cannot see this page without javascript.

진주성 블로그 방문하기

보안 암호학

2017.11.01 07:33

구피천사 조회 수:816

암호학 (Cryptology)

우리나라 암호 알고리즘

SEED : 전자상거래, 금융, 무선통신, 블럭암호화, 128bit/256bit
HIGHT : 저전력, 경량화, RFID, USN, 기밀성제공, b4bit
LEA : 빅데이터, 클라우드 환경, 블럭암호, 기밀성제공, iot
ARIA : 하드웨어 효율성, 경량 환경, SPN 구조, 블럭암호, 128bit
LSH : 금융, 클라우드, 빅데니터등 대용량 데이터의 무결정검증에 적합한 S/W
      고속 해시함수

추세 :

     RSA 2048vit -> ECC : 빠르고 가벼움
     iot 단말 저사양, 스마트폰, 핀테크, 사마트OTP

 


암호화 방법

전치암호(Transposition Cipher) : 글자를 바꾸지 않고 놓인 위치를 변경하는 방법으로 'Permutation Cipher'라 부르기도 한다.
대치암호(Substitution Cipher) : 각각의 글자를 다른 글자에 대응시키는 방법
혼합암호(Product Cipher) : 대치 암호와 전치 암호를 같이 사용
Feistal : 암호화와 복호화 과정이 동일 , DES, SEED, CAST-128, Blowfish
SPN : 암호화와 복호화 과정이 다름, 역변환 함수가 존재함, AES, SAFER, CRYPTON

스트림암호(Stream Cipher)

하나의 비트, 또는 바이트 단위로 암호화, 평문을 XOR로 1비트 단위로 암호화
실시간 암호, 복호화, 블록암호화 보다 빠름
RC4, SEAL, OTP

블록 암호 (Block Cipher)

여러 개의 Bit를 묶은 블록을 단위로 암호화, 볼록단위로 치환/대칭을 반복하여 암호화
대용량의 평문 암호화
DES, 3DES, AES, IDEA, Blowfish, SEED

대칭키 암호화

암호화 키 = 복호화 키
128bit 이상
비밀키, 기밀성
N(N-1)/2
DES, 3DES, AES, IDEA, SEED
Data  암호화
키 분배 어려움, 확장성 떨어짐
공개키(비대칭키)보다 빠름

공개키 암호화

암호화 키 복화화 키 다름
2048Bit  이상
공개키, 개인키
2N(주의 키 쌍으로는 N)
RSA, ECC
기밀성, 부인방지, 인증
대칭키 암호 전달(키 분배)
중간자 공격( 대응 PKI)
대칭키 보다 느림
  • ECC
ECC(Elliptic Curve Cryptography, 타원 곡선 암호)
강력한 암호화를 요구하는 컴퓨터들의 네트워크에서 잘 작동
작은 키의 사이즈로 공개키 암호화 대비 동일한 보안 수준을 제공
짧은 키를 가지는 전자서명과 인증 시스템의 구성이 가능
하드웨어 및 소프트웨어 상에서 빠른 암복호화를 제공
키길이에 따른 RSA와 동일한 효과: 512/106, 768/132, 1024/160, 2048/211, 5120/320
제한된 공간에 보다 많은 키를 줄 수 있기 때문에 스마트카드, 무선전화, 스마트폰 등과 같은 
작은 H/W의 인증 및 서명에 사용(스마트 카드의 데이터 암호화는 AES)

암호키 교환

1. Diffie-Hellman 키 교환 알고리즘

  IPSEC 암호화 기법에서 IKE 기법으로 사용
  송수신 과정에 난수값을 도청할 수 있으므로 중간자 공격에 취약

2. RSA (Rivest, Adi Shamir, Leonard Adelman) 키 교환 알고리즘

  공개키 암호화 기법, 송신자는 수신자의 공개키를 사용하여 암호화를 수행하고
  수신자는 전송된 암호문을 자신만 보유한 수신자의 개인키를 사용하여 복호화 하여 수행하는 방법
  공개키로 암호화를 수행하고 개인키로 복호화를 수행하는 공개키 암호화 알고리즘의 원칙준수

3. TPM (H/W)

  • 전자서명에서 사용되는 암호화키

1. 송신자

  개인키 - 전자서명
  공개키 - 전자서명 확인

2. 수신자

  개인키 - 복호화
  공개키 - 암호화
암호화된 메시지를 보낸다    -- 수신자의 공개키
암호화된 서명을 보낸다      -- 발신자의 개인키(비밀키)
암호화된 메시지를 복호화 한다 -- 수신자의 개인키(비밀키)
암호화된 서명을 복호화 한다   -- 발신자의 공개키

전자서명 과정(송신자)

Message -> 해쉬함수 -> Message Digest -> 송신자 사설키(RSA) -> Digital Signature -> 송신자 비밀키(DES) -> 암호화된 Digital Signature
Message -> 송신자 비밀키(DES) -> 암호문
송신자 비밀키(DES) -> 수신자 공개키(RSA) -> Digital Envelope

전자서명 과정(수신자)

Digital Envelope ->  수신자 사설키 (RSA) -> 송신자 비밀키 (DES)
암호문 -> 송신자 비밀키 (DES) -> Message -> 해쉬함수 -> Message Digest (비교)
암호화된 Digital Signature -> 송신자 비밀키(DES) -> Digital Signature -> 송신자 공개키 (RSA) -> Message Digest (비교)

전자서명 알고리즘의 종류

RSA : 소인수분해문제, 법 승산횟수가 많음, 전처리가 불가능, 가장 널리 사용, 충분한 안전성 검토
DSS : 이산대수문제, 검증의 연산수 많음, 난수의 기밀성 필요, 전처리 가능, 미국 NIST 에서 표준으로 제안
KCDSA : 이산대수문제, 난수의 기밀성 필요, 전처리 가능, 서명크기 작음, 국내 표준안으로 제안
  • 블록 암호화 운영모드
ECB Mode : 블록단위로 순차적으로 암호화 하는구조, 남는 비트는 패딩(Padding) 추가하여 크기 맞춤
CBC Mode : 최초 키의 생성 버퍼로 IV가 사용, 가장 강력한 암호화 모드, 병렬처리 불가하여 순차적으로 암호화
CFB Mode : 블록단위 암호화를 스트림 암호화 방식으로 구성, 패팅이 필요없음, 암호화를 반복하면 평문이됨
OFB Mode : 암호화 함수는 키의 생성시에만 사용,암호화와 복호화가 동일방법, 음성데이터와 같은 Digitized analog(디지털화된 아날로그)신호에 사용
CTR Mode : 1씩 증가하는 카운터를 암호화한 비트열, 암호화 병렬처리 가능, OFB 와 마찬가지로 암호문 블록의 에러 발생시 한개의 평문블록에만 영향
  • 암호문 공격기법
암호문 단독 공격(COA, Ciphertext only Attack) : 암호문으로 부터 평문이나 암호키를 찾아내는 방법
알려진 평문 공격(KPA,Known Plaintext Attack) : 암호문에 대응하는 일부 평문이 가용한 상황
선택 평문 공격(CPA, Chosen Plaintext Attack) : 평문을 선택하면 대응되는 암호문을 얻을 수 있는 상황
선택 암호문 공격(CCA, Chosen Ciphertext Attack): 암호문을 선택하면 대응되는 평문을 얻을 수 있는 상태

 

  • X.509 인증서 구조
OID(Object Identifiers) : 다양한 정보를 나타내기 위해서 사용되는 것으로 CA가 사용하는 RSA 혹은 DSA와 같은 
                          암호 알고리즘, 인증정책 등을 X.509 인증서에 기록하기 위해서 사용됨
AI(Algorithm Identifiers) : X.509 인증서에서 암호 알고리즘과 키에 대한 정보를 나타냄
DS(Directory String) : X.509 인증서에 텍스트 정보를 나타내기 위한 것으로 다양한 언어와 문자를 사용할 수 있도록 여러형태를 정의함
DN(Distinguished Names) : X.509 은증서에 계층적으로 이름을 부여하기 위한 것으로 국제적 디렉토리에서 
                          X.509를 식별하기 위해서 사용됨
GN(General Name) : X.509 인증서의 이름을 암호화 하기 위한 것

진주성 블로그 방문하기
CLOSE