본문 바로가기
CS

대칭키(비밀키) & 비대칭키(공개키)

by 열정적인 이찬형 2023. 3. 23.
[대칭키(비밀키)]

 

 

특징

암호화, 복호화에 사용하는 키(비밀키)가 동일

기밀성을 제공하나 무결성/인증/부인방지를 보장하지 못한다(일반적으로...)

 

장점

비대칭키에 비해 암호화 속도가 빠르다

→  대용량 데이터 암호화적합하다

  Why? 비대칭키에 단점에서 확인하자!

 

단점

제 3자가 키(비밀키)를 교환할 때 탈취하는 것을 고려해야 한다.

사람이 증가할수록 키 관리가 어려움

→ 구성원마다 새로운 키(비밀키)를 서로 주고 받아야…

→ 구성원이 만 명이면 무려~ (10000×(10000-1) ÷ 2)개의 키(비밀키)를 관리….

 

확장성이 떨어짐

→ 구성원이 만 명에서 1명을 추가하더라도 추가해야할 키는 매우 많아서… 확장성이 흠…

 

대표적인 알고리즘

SEED(공인인증서 암호화 방식), DES, 3DES, AES, ARIA, ChaCha20

 

키의 개수

너와 나의 연결고리! 이건 우리 안의 소리!


 [비대칭키(공개키)]

특징

공개키 : 다른 사람들에게 공개할 키

개인키 : 나만 가지고 있는 키

 

암호 모드(공개키로 암호화, 개인키로 복호화) → 너만 써야 해!!!

인증 모드(개인키로 암호화, 공개키로 복호화) → 내가 암호화 한거야!!!

 

기밀성/인증/부인방지 기능을 제공한다

 

장점

키를 분배할 필요가 없다

공개키는 누구에게나 공개하고 개인키는 나만 잘 가지고 있으면 된다

 

단점

암호화 속도느리다

→ 키 길이가 길고 암호화 연산이 복잡

 

★ 키 길이가 길고 암호화 연산이 복잡한 이유

→ 공개키를 기준으로 다른 사람이 개인키를 추론할 수 없도록 하기 위함!

 

대표적인 알고리즘

RSA, DSA, ECC, Diff-Hellman

 

키의 개수

2n

→ 구성원당 공개키, 개인키 두개

 


[기밀성, 무결성, 인증, 부인 방지]

기밀성

허락하지 않은 사용자 및 객체정보를 확인하지 못하도록 설정되어야 한다.

암호화 했니? 평문 아니지?

 

무결성

허락하지 않은 사용자 및 객체가 정보를 함부로 변조 못하거나, 변조 발생하지 않았는지 확인

무결성대칭키, 공개키 알고리즘 모두 성립하지 않는다.

전자 서명(인증서)을 추가함으로써 무결성을 보장한다

 

인증

사용자 또는 객체디지털 정체성 식별

수신 받은 메시지가 송신자 본인이라는 것을 확인하고 증명한다.

개인키로 암호화한 정보 내가 보냈어! 공개키로 확인해줘!

 

부인 방지

정보를 송수신한 사실을 부인할 경우 증명하는 기술을 말한다.

일반적으로 송신 부인 방지를 부인방지로 이야기합니다.

→ 너가 보냈었지? 개인키 확인한다?

 


 

 

※ 잘못된 정보가 있다면 댓글을 남겨주시면 감사하겠습니다.!!!!!

'CS' 카테고리의 다른 글

DB connection Pool  (0) 2023.04.10
Blocking, Non-blocking & Synchronous, Asynchronous  (0) 2023.04.03
HTTP & HTTPS  (0) 2023.03.30
TCP 3 way handshake & 4 way handshake  (0) 2023.03.21

댓글