주니어로서의 백 걸음, 개발자로서의 한 걸음

암호화와 네트워크 보안 본문

대학 전공 수업/컴퓨터 네트워크

암호화와 네트워크 보안

코딩하는 친구 2023. 5. 20. 13:27

암호화의 이해

네트워크는 개방형 시스템으로 외부 노출 가능성이 있다.

  • 암호화 관련 용어

- 메시지 읽기:

전송 선로를 도청, 암호화 기법으로 해결함

- 전송 방해:

송수신자 간의 통신을 방해, 방화벽 기능을 통해 불법 사이트에 접속하지 못하도록 차단하는 것도 이에 해당

- 메시지 수정:

전송되는 메시지의 내용을 수정, 교환 메시지의 의미를 왜곡함

 

  • 암호화 용어

암호화: 내용을 변형하여 원래의 의미를 알아볼 수 없도록 변형하는 작업

ㅇ해독: 암호화된 문서를 원래 언어로 변형

원문서: 암호화 전의 원본 문서

암호문: 임의의 형태로 암호화한 문서

  • 암호화 알고리즘

암호키: 암호화 과정에서 사용하는 키

해독키: 해독 과정에서 사용하는 키

대칭키 방식: 암호키와 해독키가 같음

비대칭키 방식: 암호키와 해독키가 다름

  • 대체 암호화

임의의 문자를 다른 문자로 대체하는 암호화

- 시저 암호화:

알파벳 문자를 세 문자씩 오른쪽으로 이동하면서 대체 문자를 사용하는 방식

- 장/단점: 단순하게 암호화를 하는 만큼, 쉽게 해독이 가능

- 키워드 암호화:

지정 단어를 암호문 앞줄에 적고, 키워드에 표시된 문자를 뺀 나머지 문자를 알파벳 순으로 기술하는 방식

- 복수 개의 문자 변환표:

문자 변환표를 둘 이상 사용

- 장점: 원문서의 동일 문자가 암호문에는 다르게 암호화되므로 해독이 어려움

- 위치 암호화:

문자의 배열 순서를 변경하여 암호화

칼럼 암호와: 전체 문장을 칼럼을 기준으로 다시 배치

- 키워드 암호화:

중복된 문자를 포함하지 않는 임의의 단어를 암호키로 제공

암호화 시스템

고성능 컴퓨터의 보급에 따라 연산 속도가 빨라져 알고리즘의 복잡도를 높이는 방식으로 암호화를 하게 됨

- DES와 RSA 알고리즘

  • DES 알고리즘

비밀키(대칭키)

  • 암호키와 암호문을 해독할 때 사용하는 해독키가 같음
  • 비공개키 알고리즘: 외부 사용자에게 노출되지 않아야 하는 암호키로 암호화됨
  • 암호화를 64비트 단위로 수행, 암호키의 크기는 56비트

  • 동작 방식

DES 알고리즘은 크기가 64비트인 데이터 블록을 32비트씩 둘로 나누어 독립적으로 처리한다.

32비트 블록 하나를 암호키로 암호화한 후에, 두 블록의 위치를 맞바꾸는 과정을 16번 반복한다.

이 과정이 왼쪽 그림의 암호화 16번의 암호화 과정이다.

 

위치 암호화의 중간 단계에는 동일한 암호화 알고리즘을 16번 반복하는데, 그 과정은 오른쪽 그림과 같다.

먼저 이전 단계에서 주어진 입력 데이터의 오른쪽 32비트는 아무 작업 없이 출력 데이터의 왼쪽 32비트로 바로 나가 다음 단계의 입력으로 전달된다.

오른쪽 출력의 32비트 계산은 조금 복잡하다. 암호화를 위해 48비트의 암호키와 32비트의 입력을 이용한다.

먼저 임의의 함수 F(오른쪽 32비트, 48비트 암호키)를 이용해 32비트의 결과를 얻는다.

 

이 값과 입력 데이터의 왼쪽 32비트를 배타적 논리합(Exclusive OR)으로 계산하면 오른쪽 32비트 출력을 얻는다.

오른쪽 그림의 (위치 암호화, 대체 암호화) 모듈에서 데이터 블록의 오른쪽 32비트는 48비트의 암호키와 연산하기 위해 48비트로 확장하는 작업을 먼저 한다. 반대로 왼쪽 그림의 '암호키 발생 함수' 모듈에서 암호키는 원래 56비트이므로 48비트로 축소하는 작업을 한다.

 

  • 3 DES 알고리즘

-3DES는 암호 기능을 강화하기 위해 세 번의 DES  알고리즘을 수행하는 3단계 DES 알고리즘이다.

- 구현이 쉬우나 DES 알고리즘에 비하여 3배 이상 속도가 느린 단점이 있다.

- 전체적으로 168비트의 키를 지원하여 보안 기능이 한층 강화됨

두 번째의 DES 해독에서는 원문이 나오는게 아니라 암호화된 문서의 잘못된 해석이 나온다. 이를 다시 DES 암호화

  • DES 키 (K1, K2, K3)

키 K1으로 DES 암호화, 키 K2으로 DES 해독, 키 K3으로 DES 암호화를 수행

키 K3으로 DES 해독, 키 K2으로 DES 암호화, 키 K1으로 DES 해독

RSA 알고리즘

공개키 알고리즘

  • 암호키와 해독키가 동일하지 않은 방식
  • 암호기가 외부에 공개되어 있어도 해독키를 모르면 암호문을 해독할 수 없음
  • 두 개의 암호키 (공개키, 비공개키) 조합을 사용

전자 서명

  • 사용자의 인증 기능 제공
  • RSA 알고리즘과는 반대 원리
  • 비공개키 알고리즘과 공개키 알고리즘의 조합을 사용

보안 프로토콜

  • 보안 프로토콜 개요

보안 문제 위협 요소

  • 전송 데이터를 중간에서 감청하거나 임의로 변경하는 경우
  • 호스트 데이터에 위해를 가하는 등 직접적으로 호스트 내부에 침입하는 경우
  • 과도한 트래픽을 발생시켜 특정 호스트의 통신을 방해하는 경우

감청

  • 허가받지 않은 자가 전송 중인 데이터를 얻어내는 것
  • 유선의 통신 선로에서 패킷 감청
  • 무선 통신 환경에서는 감청이 더욱 용이
  • 암호화

데이터링크 계층 암호화

응용 계층 암호화

  • 트래픽 제어

특정 호스트가 누구와 통신을 많이 하는지의 정보도 네트워크 보안에 포함됨

  • 방화벽

개방적인 공중 인터넷 망과 제한된 사용자 그룹에 허가된 사설망 사이에 설치

패킷 필터링 및 악의적 사용자 감시

  • 라우터를 이용한 방화벽 구현

- 외부망과의 중개 기능을 수행하므로 간단하면서도 매우 효과적

- IP 주소 기반: 위장 IP 주소의 차단

- 포트 번호 기반: 특정 서비스의 이용을 차단

  • 프록시를 이용한 방화벽의 구현

- 라우터: 네트워크 계층과 전송 계층의 헤더에 기초하여 방화벽 기능을 수행

- 프록시: 가상의 응용 프로그램을 시뮬레이션하는 방화벽

'대학 전공 수업 > 컴퓨터 네트워크' 카테고리의 다른 글

BLUETOOTH 개요 & 전자메일  (0) 2023.05.19
TCP 프로토콜 & 전송계층(UDP)  (0) 2023.05.06
IPv6 프로토콜  (0) 2023.04.30