Computer Science/Network

[Network] 대칭키 & 비대칭키

2023. 7. 7. 19:55
목차
  1. 암호화🔒& 복호화🔓
  2. 대칭키 (Symmetric Key)
  3. 비대칭키 (Asymmetric Key)
  4. 진행 과정
  5. 하이브리드 방식
  6. 진행 과정

암호화🔒& 복호화🔓

암호화: 원래의 데이터를 알 수 없게 만들거나 숨기는 과정

대칭키 (Symmetric Key)

암호화와 복호화에 동일한 키를 사용하는 암호화 방식

대표적인 대칭키 알고리즘으로는 DES(Data Encryption Standard), AES(Advanced Encryption Standard), 3DES(Triple Data Encryption Standard) 등이 있다.

  • 장점: 암호화와 복호화가 빠르고 효율적이다.
  • 단점: 키를 안전하게 전달하고 관리하는 것이 어려우며, 통신하는 모든 사용자가 동일한 키를 공유해야 한다.

 

비대칭키 (Asymmetric Key)

 

공개키(public key)와 개인키(private key)라는 서로 다른 두 개의 키를 사용하는 암호화 방식 (공개키 암호화 방식이라고도 한다.)

대표적인 비대칭키 알고리즘으로는 RSA(Rivest Shamir Adleman), ECC(Elliptic Curve Cryptography) 등이 있다.

  • 공개키: 누구나 알 수 있으며, 암호화 할 때 사용한다.
  • 개인키: 비밀 키로, 소유자만 알고 있어야 한다.

따라서 개인키는 안전한 장소에 보관하고, 공개키만 자유롭게 전달할 수 있으므로 키 배포 문제를 해결할 수 있다.

  • 장점
    • 키 분배의 용이성: 공개키만 자유롭게 전달할 수 있다.
    • 기밀성(Confidentiality), 신뢰성(Authenticity) 및 부인 방지(Non-repudiation) 기능 제공: 인증, 전자 서명 등 다양한 보안 기능을 제공할 수 있다. 예를 들어, 개인키를 사용하여 전자 서명을 생성하면, 송신자의 신원과 데이터의 무결성을 확인할 수 있다.

  • 단점
    • 계산 비용과 성능: 대칭키 암호화보다 복잡하기 때문에 상대적으로 느리다.
    • 키 관리의 복잡성: 공개키와 개인키의 쌍을 보관해야하고, 공개키의 유효성 검증이 필요하므로 키를 관리하기 복잡하다.
    • 중간자 공격의 위험성: 공개키가 공개되어 있기 때문에 제3자가 공개키를 가로채어 악의적으로 조작할 수 있는 위험이 있다. 이를 방지하기 위해 공개키의 인증과 유효성 검증이 필요하다.
    • 데이터 크기 제한: 대칭키는 128 또는 256bit 크기의 키를 사용하지만 비대칭 키에서 사용되는 키의 길이는 2048bit 이상이다. 따라서, 데이터 크기가 큰 경우에는 암호문의 전송 및 저장에 더 많은 공간과 대역폭이 필요하다.

 

진행 과정

  1. 키 생성
    • 수신자는 암호화를 위해 공개키와 개인키를 생성한다. 공개키는 누구에게나 공개되며, 개인키는 수신자만이 비밀로 보관한다.
  2. 암호화 과정
    • 송신자는 수신자의 공개키를 사용하여 평문(원래의 데이터)을 암호화한다. 이때 암호화 알고리즘은 공개키와 함께 사용된다.
    • 암호화 알고리즘에 따라 평문이 암호문(암호화된 데이터)으로 변환된다.
  3. 암호문 전송
    • 암호문은 안전한 채널을 통해 수신자에게 전송된다. 공개키는 안전하게 전달될 수 있기 때문에 암호문이 제3자에게 탈취되어도 복호화되지 않는다.
  4. 복호화 과정
    • 수신자는 개인키를 사용하여 암호문을 복호화한다. 개인키는 비밀로 보관되기 때문에, 수신자만이 암호문을 해독할 수 있다.
    • 복호화 알고리즘에 따라 암호문이 다시 평문으로 변환된다.

 

하이브리드 방식

대칭키와 공개키 암호화 방식을 적절히 혼합한 방식

 

진행 과정

  1. 키 교환
    • 송신자와 수신자 간에 대칭키 암호화에 사용할 임시 대칭키를 안전한 방법으로 교환한다. 이를 위해 공개키 암호화 방식을 사용한다.
  2. 대칭키 암호화
    • 송신자는 임시 대칭키를 사용하여 데이터를 암호화한다.
  3. 대칭키 암호화 키 전달
    • 임시 대칭키를 수신자에게 안전하게 전달하기 위해 수신자의 공개키를 사용하여 대칭키를 암호화한다.
  4. 암호문 전송
    • 암호화된 데이터와 암호화된 대칭키를 안전한 채널을 통해 수신자에게 전송한다.
  5. 대칭키 복호화
    • 수신자는 개인키를 사용하여 암호화된 대칭키를 복호화한다.
  6. 대칭키 복호화를 통한 데이터 복호화
    • 수신자는 복호화된 대칭키를 사용하여 암호문을 복호화하여 원래의 데이터를 얻는다.

하이브리드 암호화는 대칭키 암호화의 속도와 효율성을 활용하면서, 대칭키 교환에 필요한 안전한 키 교환을 공개키 암호화로 처리한다. 이를 통해 안전한 데이터 통신과 효율적인 암호화를 모두 확보할 수 있다.

SSL/TLS 프로토콜에서도 하이브리드 암호화가 사용되어 안전한 웹 통신이 이루어진다.

 

[참고] https://www.geeksforgeeks.org/difference-between-symmetric-and-asymmetric-key-encryption/

 

 
저작자표시 (새창열림)

'Computer Science > Network' 카테고리의 다른 글

[Network] TSL/SSL HandShake  (0) 2023.07.07
[Network] HTTP & HTTPS  (0) 2023.07.07
[Network] UDP (User Datagram Protocol)  (0) 2023.06.30
[Network] TCP/IP 흐름제어 & 혼잡제어  (0) 2023.06.30
[Network] TCP 3 & 4 way handshake  (0) 2023.06.30
  1. 암호화🔒& 복호화🔓
  2. 대칭키 (Symmetric Key)
  3. 비대칭키 (Asymmetric Key)
  4. 진행 과정
  5. 하이브리드 방식
  6. 진행 과정
'Computer Science/Network' 카테고리의 다른 글
  • [Network] TSL/SSL HandShake
  • [Network] HTTP & HTTPS
  • [Network] UDP (User Datagram Protocol)
  • [Network] TCP/IP 흐름제어 & 혼잡제어
dbssk
dbssk
dbssk
K.Back-end
dbssk
  • 분류 전체보기 (220)
    • 끄적 (0)
    • TIL (8)
      • Trouble Shooting (1)
    • Programmers (94)
      • Lv.0 (29)
      • Lv.1 (40)
      • Lv.2 (25)
    • 백준 (15)
    • 구름 (0)
    • Computer Science (79)
      • 컴퓨터 구조 (3)
      • Operating System (18)
      • 알고리즘 (9)
      • 자료구조 (11)
      • Database (10)
      • Network (8)
      • Web (12)
      • Design Pattern (8)
    • Spring (2)
    • Languages (13)
      • Java (13)
    • 북 스터디 (9)
      • 스프링 부트 핵심 가이드 (9)
      • 자바 코딩 인터뷰 완벽 가이드 (0)
    • 프론트엔드 (0)

인기 글

최근 글

태그

  • 스택
  • 배열
  • 개발자포트폴리오
  • 프로그래머스
  • 백엔드공부
  • LV.2
  • 백엔드스쿨
  • Lv.0
  • 개발자이력서
  • java
  • stack
  • spring
  • hash
  • 개발자취업
  • 백준
  • 개발자취준
  • 자료구조
  • 해시
  • 코딩테스트
  • LV.1
hELLO · Designed By 정상우.
dbssk
[Network] 대칭키 & 비대칭키
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.