본문 바로가기

네트워크

보안 알고리즘

구분 내용
기밀성 서로 주고받은 실제 정보에 대한 비밀성을 보장하는 개념
무결성 서로 주고받은 실제 정보에 대한 정확성을 보장하는 개념
가용성 정당한 사용자가 필요할 때마다 즉각적으로 정보에 접근해 사용하는 개념
인증 송신자와 수신자 사이의 확신성을 보장하는 개념
부인 봉쇄 수신자가 정보를 받았는데 송신자가 이를 부인하는 일 등을 방지하는 개념

기밀성 보안 알고리즘

송신자와 수신자가 평문이 아닌 암호문을 통해 상호 간의 비밀 통신을 보장하는 개념을 의미한다.

기밀성을 구현하기 위해서는 암호 이론이 필수적이다. 사이버 암호 체계에서는 암호 해독문을 열쇠라고 부른다.

이 열쇠 방식에 따라 대칭 암호 구조, 비대칭 암호 구조로 구분한다.

 

대칭 암호 구조

송신자와 수신자가 사용하는 열쇠가 동일한 경우, 비밀 열쇠(secrete key)

비대칭 암호 구조

송신자와 수신자가 사용하는 열쇠가 상이한 경우, 공개 열쇠(public key), 개인 열쇠(private key)

DH 알고리즘

대칭 암호 구조는 수천 년 동안 암호 이론의 상식이었다. 그렇지만 어떻게 비밀 열쇠를 교환할 것인가라는, 비밀 열쇠의 분배 문제에 직면한다. 열쇠를 직접 전송하게 되면 제3자가 탈취할 수 있다. 이를 공개 열쇠개인 열쇠라는 2개의 열쇠 개념을 이용해 해결했다.

 

1. 송신자와 수신자는 각각 공개 열쇠와 개인 열쇠를 생성한다.

2. 송신자와 수신자는 서로 자신의 공개 열쇠를 교환한다. (이때 제 3자에게 공개 열쇠가 드러나도 상관없다)

3. 각자의 개인 열쇠를 꺼내 상대방과 주고받은 공개 열쇠에 끼우면 비밀 열쇠를 생성할 수 있다.

암호 역사상 최초로 공개 열쇠와 개인 열쇠라는 두 가지 열쇠를 사용했지만, 2개의 열쇠는 오직 비밀 열쇠를 생성하는 데만 사용할 수 있었다다시 말해, 공개 열쇠와 개인 열쇠를 직접 암호화/복호화에 사용할 수 없었다. 이 열쇠를 직접 암호화/복호화 할 수 있는 알고리즘이 RSA 알고리즘이다.

 

RSA 알고리즘

 RSA 알고리즘에서는 송신자가 수신자에게 공개열쇠를 요청하면 수신자는 자신의 공개 열쇠를 전송해준다.

그 공개 열쇠를 이용해 평문을 암호문으로 변경한 뒤 암호문을 전송한다.

수신자는 받은 암호문을 자신의 개인 열쇠를 이용해 복호화한다.

 

 이 암호 구조에서도 공개 열쇠의 신뢰 문제라는 문제가 있었다.

이를 PKI 구조로 해결했다.

공개 열쇠를 공인 인증 기관에 등록한다. 공인 인증 기관에서는 각각의 사용자 공개 열쇠를 DB에 등록하고, 그에 따른 고유한 일련번호를 공개 열쇠에 부여해준다. 이것이 바로 공인인증서다.

 

 PKI 구조를 도입해 비대칭 암호 구조의 문제를 해결했지만 대칭 암호 구조보다 상당한 처리 지연이 발생한다.

그렇기 때문에 현실에서는 서로 혼합하는 방식(하이브리드 방식)을 사용한다.

관련해 SSH VPN 기법에서는 계정과 비밀 번호처럼 가벼운 인증 정보를 암호화할 때는 RSA 알고리즘 등을 사용하고, 실제 본문처럼 무거운 정보를 암호화할 때는 AES 알고리즘 등을 사용한다.

 

 또한 SSL/TLS VPN 기법은 웹 보안을 구현할 때 주로 사용한다.

1. 임의의 비밀 열쇠를 생성해 전송할 데이터를 암호화한 뒤 수신자에게 전송한다.

2. 수신자는 데이터를 복호화하기 위해 자신의 공개 열쇠를 전송한다.

3. 송신자는 전해받은 공개열쇠를 이용해 임의의 비밀 열쇠를 암호화하는데 이것을 전자 봉투라고 부른다.

4. 전자 봉투를 전송받으면 자신의 개인 열쇠로 복호화한다. 그럼 송신자의 비밀 열쇠를 얻게 되고 이를 이용해 암호문을 복호화한다.

송신자가 난수를 이용해 임의로 생성한 비밀 열쇠를 세션 키라고 부른다. 일회성 열쇠로 사용하기 위한 용도로 생성한다.

 

무결성 보안 알고리즘

해시 함수와 전자 서명 두 가지가 있다.

Hash Function

가변적인 길이 원본 -> 고정적인 길이 요약본 처리하는 일종의 메시지 무결성 코드이다.

요약본 -> 원본 복원 불가능하다.

 

요약본과 원본을 둘 다 받고, 비교해 동일한 값이 나오면 원본이 정확하다고 판단한다.

 

전자 서명

오직 비대칭 암호 구조에서만 사용 가능하다.

본문서명 부분이 나뉘어져 있다.

 

1. 송신자는 수신자의 공개 열쇠를 이용해 본문 내용 부분을 암호화한다.

2. 서명 부분을 송신자 자신의 개인 열쇠로 암호화한다. (전자서명)

3. 수신자가 받아 수신자의 개인 열쇠로 본문을 복호화한다.

4. 상대의 공개 열쇠를 이용해 서명 부분을 복호화 한다.

 

구분 암호화 복호화
기밀성 수신자의 공개 열쇠 수신자의 개인 열쇠
무결성 송신자의 개인 열쇠 송신자의 공개 열쇠

 

'네트워크' 카테고리의 다른 글

TCP/IP 네트워크 공격 유형  (0) 2023.09.18
LAN/WAN  (2) 2023.09.18
TCP/IP 프로토콜  (0) 2023.07.31
데이터 전송 단위, 페이로드, 데이터그램/세그먼트, 패킷, 프레임  (0) 2023.07.10
UDP방식, TCP방식  (0) 2023.07.10