대칭키 비대칭키

jipyo park·2022년 6월 27일
0

network

목록 보기
1/2

Symmetric Key - 대칭키 (비밀키)

하나의 비밀키(Secret Key)를 Client(송신자)와 Server(수신자)가 같이 사용

Client와 Server 둘 중 한 쪽이라도 키가 노출되면 그 Secret Key는 안전을 보장할 수 없음

대칭키 암호 종류

  • 스트림 암호
    • 연속적인 비트/바이트를 계속 해서 입력받아, 그에 대응하는 암호화 비트/바이트를 생성하는 방식
  • 블록 암호
    • 정해진 한 단위(블록)을 입력받아 그에 대응하는 암호화 블록을 생성하는 방식

대칭키를 사용하는 암호 알고리즘 기법으로 DES, 3-DES, AES, SEED, ARIA, MASK등이 있다.



Asymmetric Key - 비대칭키 (공개키)

암호화할 때 사용하는 키와 복호화할 때 사용하는 키가 다른 암호화 방식

public key : 사람들에게 공개된 키
private key : 사용자만 알고 있는 키

암호화 방식

public key 암호화 방식 - Data보안 중점

Flow
1. public key를 동봉해 요청
2. 전송할 데이터를 public key를 이용해 암호화를 한 후 전송
3. client는 자신이 가지고 있는 private key를 이용해 복호화한다.

private key 암호화 방식 - 인증 중점

전자 서명
Flow
1. private key로 암호화한 데이터와 public key를 함께 전송
2. server에서 public key를 통해 복호화
3. 인증 완료

알고리즘 방식

  • RSA
    대표적 공개키 알고리즘
  • DSA
    전자 서명 알고리즘 표준
  • Diffie Hellmen
    최초의 공개키 암호화
  • ECC
    짧은 키로 높은 암호강도, 빠른 구현 가능 PDA, 스마트폰에 사용

대칭키, 비대칭키 비교

Diffie-Hellman Algorithm

대칭키는 암호화 속도가 빠르고, 비대칭키는 속도가 느리다
그래서 이 둘을 혼합해서 사용
이 알고리즘의 수식은 안적겠다.. 내가 이해를 못하겠어서..

% 상황 설명 %
1. server가 secret key를 만들고 그 key를 client의 public key를 통해 암호화한다.
2. 암호화 된 secret key를 client에게 전송
3. client가 가진 private key를 통해 복호화.
3.5. 이때 server와 client는 똑같은 secret key를 가지고 있음
4. 통신 시작

한줄 설명 : 대칭키를 비대칭키로 암호화하여 전송, 받는 쪽에서 대칭키를 복호화한 데이터(대칭키)를 이용해 통신
이 때 이 Symmetric key(대칭키)는 Session key(세션)라고도 불림

참고

0개의 댓글