![[Network] 양방향 암호화 방식 (대칭키 / 비대칭키)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQQM6V%2FbtsB1wBFED9%2FNdboe2l9kHDi0nAHczW70K%2Fimg.png)
양방향 암호화 방식
단방향 암호화 방식과 다르게, 암호화된 데이터에 대해 복호화가 가능한 암호화 방식.
ex> 대칭키, 비대칭키(공개키)
대칭키
암호화 / 복호화 과정 모두에서 같은 키를 사용하며, 해당 키를 가진 사람은 문서를 확인할 수 있다.
대칭키의 장점
- 연산 속도가 빨라, 대용량 데이터 암호화에 적합하다.
- 구현이 쉽다.
- 기밀성을 제공한다.
대칭키의 단점
- 키를 주기적으로 교체해야 한다.
- 키 관리가 어렵다.
- 무결성 검사를 부분적으로만 지원한다.
- 부인 방지 기능 제공 X
부인 방지란?
송/수신자가 메시지를 주고받은 사실을 부인하지 못하도록 방지하는 것.
대칭키 방식에서는 하나의 키를 송/수신자가 암호화/복호화 과정에서 모두 사용하므로, 누가 발행했는지, 변조는 됬는지에 대한 것을 부인할 수 없다.
대칭키를 활용한 알고리즘 종류
- 블록 암호(Block Cipher) 방식 : 기밀성 있는 정보를 정해진 블록 단위로 암호화 하는 대칭키 암호
- 예시 : SEED, HIGHT, ARIA, LEA, DES, AES
- 스트림 암호(Stream Cipher) 방식 : 이진화된 평문 Stream과 이진 KeyStream의 배탖거 논리합(XOR)
- 예시 : RC4, A5/1, A5/2, A5/3
비대칭키 (공개키)
암호화 / 복호화 과정에서 서로 다른 키를 사용하는 암호화 알고리즘
외부에 노출되면 안되는 개인 키 (Private Key), 공개적으로 개방되어 있는 공개 키 (Public Key)가 쌍으로 이루어진 형태
비대칭키 (공개키) 장점
- 키 관리의 용이성
- 기밀성, 무결성 지원
- 부인 방지 기능 지원
부인 방지 기능을 지원한다는게 뭘까?
암호화된 문서는 A의 공개키로만 해독이 가능하므로, 이 암호화된 문서는 A만 발행할 수 있다는 증거다.
변조 되지 않았다는 것도 증명 가능하다.
비대칭키 (공개키) 단점
- 연산 속도가 느리다.
비대칭키를 활용한 알고리즘 종류
- RSA / 디피-헬만(Diffie-Hellman) / 타원곡선암호(Elliptic Curve Cryptosystem, ECC) / 전자서명 (Digital Signature)
비대칭키에서 순서에 따른 두 가지 관점
비대칭키를 사용할 때, 데이터 보안 / 인증 두 가지 측면에서 암호학적 문제를 해결해준다.
- 공개키 암호화 -> 개인키 암호화
- 데이터를 안전하게 전송할 수 있는 데이터 보안 관점
- 개인키 암호화 -> 공개키 암호화
- 신뢰성 인증 관점
데이터 보안 관점
데이터를 서버로 전송하기 전에 먼저 공개 키를 암호화하고, 이를 서버에서는 개인 키로 복호화하여 해석한다.
이 과정에서 제 3자는 데이터를 확인할수 없어 데이터 보안 관점에서 장점이 있다.
인증 관점
위 사진의 서버 인증서는 CA(공인 인증 기관)의 개인 키로 암호화된 전자서명을 의미한다.
따라서 먼저 개인 키로 암호화 된 것을 CA의 공개 키로 복호화 하면 서버의 공개 키를 얻을 수 있다.
이 방식은 결국 CA(공인 인증 기관)의 공개 키를 통해 데이터의 복호화가 가능해진다는 점에서 해당 기관의 신뢰성 인증이 가능하다.
대칭키 + 비대칭키
1. A는 B의 공개 키를 활용하여 대칭 키 (암호화/복호화 공용 사용 용도)를 암호화 한 후, B에게 전송한다.
2. B는 받은 암호화된 대칭 키를 자신의 개인 키를 활용하여 복호화한다.
3. 복호화하여 얻은 대칭키를 활용하여 A에게 전송할 메시지를 암호화하고 전송한다.
4. A는 자신의 대칭 키를 활용하여 암호화된 메시지를 복호화한다.
5. 앞으로의 통신에서는 지속적으로 이 대칭 키를 활용한다.
위 두 방식의 혼합은 두 방식의 장점을 모두 가진다.
일단 기본적으로 메시지를 해석하고 잠그는 과정에서는 대칭 키를 사용하기에 빠른 성능을 보장한다.
이 때 발생할 수 있는 보안 문제를 대칭 키 자체를 비대칭 키를 활용하여 암호화하여, 여러 보안적 측면에서도 이득을 취할 수 있다.
'Computer Science > Network' 카테고리의 다른 글
[모든 개발자를 위한 HTTP 웹 기본 지식] 2. URI와 웹 브라우저 요청 흐름 (0) | 2024.01.15 |
---|---|
[모든 개발자를 위한 HTTP 웹 기본 지식] 1. 인터넷 네트워크 (0) | 2024.01.15 |
[Network] 단방향 암호화 방식(Hash, MAC) (0) | 2023.12.14 |
[Network] TCP 3, 4 way handshake (0) | 2023.11.28 |
[Network] TCP vs UDP (0) | 2023.11.28 |
개발자가 되고 싶어요.