풍성한 라벤더농장이 될때까지
article thumbnail

오늘 공부한 내용

🫠(개인공부)

데이터통신 16-17장 정리 (기말고사)

 

16장

 

익명 FTP

FTP는 원격 시스템과의 파일 송수신 기능을 지원한다. 원격 시스템에 접속하려면 FTP 서버에 등록된 로그인 계정과 암호가 필요. 다중 사용자에게 파일 서비스를 제공하려고 불특정 다수에게 로그인 계정을 일일이 부여하는건 현식적으로 불가능하다. 그러나 이런 방식으로 제공해야할 필요가 있는데, 이를 위한 방편으로 익명 FTP서비스를 사용한다. 로그인 이름을 anonymous로 입력하고, 로그인 암호는 관례상 전자 메일 주소를 입력

 

FTP의 제어 채널과 데이터 채널

FTP는 일반 응용 프로그램과 달리 클라리언트와 서버 사이에 제어 채널과 데이터 채널이라는 두 가지 연결이 존재한다. 제어 채널은 FTP 명령을 전송하고, 데이터 채널은 복사하려는 파일의 내용을 전송한다. FTP 사용자로부터 연결 요청이 들어오면 로그인 이름, 암호 등을 해석하여 FTP 서버와 연결을 시도해 제어 채널을 설정한다. 이후 사용자 명령이 입력될 때마다 FTP 서버에 전달된다., 사용자로부터 원격 파일을 복사하기 위한 데이터 전송 요구가 발생하면 데이터 채널을 추가로 설정하고, 이 채널을 통해 파일 내용을 송수신 한다.

 

FTP의 파일 송수신

파일을 송수신하려면 데이터 채널이 먼저 설정되어야함. 데이터 채널 설정은 FTP 클라이언트에서 데이터 채널용 포트를 생성하는것으로 시작한다. 생성된 포트번호는 PORT 명령으로 FTP 서버에 전달, 이후 FTP 클라이언트가 필요한 파일 송수신 명령을 서버에 전송한다. 파일 송수신 명령이 전송되고 FTP 서버가 클라이언트와 데이터 채널 연결 설정을 시도해 성공하면 파일 전송이 이루어진다. 파일 전송이 완료되면 설정된 데이터 채널의 연결은 즉시 해제되며, 제어 채널을 이용해 파일 송수신 명령에 대한 응답 코드가 클라이언트에 회신된다.

 

TFTP

TFTP는 임의의 시스템이 원격 시스템으로부터 부팅 코드를 다운로드하는 데 사용되는 프로토콜. 원격 부팅 기능은 서버에서 복잡한 파일 작업이 따로 필요하지 않아 전송 기능을 단순화할 수 있다. TFTP의 기본 기능인 파일 복사 작업은 복잡하지 않기 때문에 TCP보다 UDP를 사용하는것이 효율적. TFTP는 UDP 69번 포트를 통해 데이터 전송

 

TFTP의 데이터 전송

TFTP의 데이터 전송은 DATA와 ACK 메시지에 의해 이루어진다. TFTP가 사용하는 UDP는 데이터의 신뢰성과 순서 제어 등의 오류와 관련된 기능을 지원하지 않으므로 TFTP 자체에서 이 문제를 해결해야 한다. 먼저 데이터 도착 순서와 관련해 하나의 DATA 메시지에 대해 ACK 메시지 처리가 순차적으로 완료되도록 설계되었다. 따라서 데이터 블록 전송을 하나씩 처리하는 흐름 제어 방식을 사용하므로 UDP의 데이터 도착 순서 문제는 자연스럽게 해결된다. 데이터의 분실과 관련된 오류 제어 원리도 간단하다. 모든 DATA와 ACK 메시지에 대해 송신측에서 타임아웃 기능을 작동하도록 설계되었다

 

 

17장

 

암호화 일반

컴퓨터 네트워크에서 송신자와 수신자는 중간의 전송 매체를 통해 메시지 송수신. 네트워크는 기본적으로 개방형 시스템이므로 제3자가임의로 접근할 수 있고, 전송 메시지는 외부 접근에 노출되어 있다. 따라서 전송 과정에서 비권한적 접근을 시도하는 침입자로부터 메시지를 안전하게 보호해야 한다. 암호화는 송신 호스트에서 메시지를 전송하기 전에 이루어지며, 해독 과정은 수신 호스트에서 암호문을 수신하는 과정에서 처리됨. 따라서 송수신자 사이의 전송 매체에서 외부에 노출될 가능성이 있는 경우는 암호문 상태로 전송될 때

 

암호화와 해독 과정에서 사용하는 키의 종류로는 암호키와 해독키가 있다. 이때 암호키와 해독키가 동일한 경우와 서로 다른 경우로 구분할 수 있다. 대칭키라고 하는 단일키 방식으로 사용할땐 송수진자 외의 제3자가 키값을 알지 못하게 하는게 중요. 송수신자가 서로 다른 키를 사용하는 걸 비대칭키 방식. 이 방식은 보통키 하나는 공개되므로, 공개되지 않는 나머지 키에 대해 송신자, 수신자 스스로 보안에 주의해야한다

 

대체 암호화

암호문을 작성하는 방법은 사용하는 알고리즘에 따라 다양하다. 가장 간단한 방식은 특정 문자를 다른 문자로 일대일 대체하는 것인데, 이때는 문자와 대체 문자를 나열한 표가 암호키와 해독키가 된다. 이와 같이 임의의 문자를 다른 문자로 대체하는 암호화를 대체 암호화라 함. 대체 암호화 방식의 예시로 시저 암호화, 키워드 암호화, 복수 개의 문자 변환표 사용 방식 등

 

위치 암호화

각 문자의 모양은 그대로 유지한 채, 문자의 배열을 임의로 변경해 암호화 하는 방식. 위치 암호화 방식의 예시로 컬럼 암호화, 키워드 암호화 등

 

DES 알고리즘

암호문을 작성할 떄 사용하는 암호키와 암호문을 해독할 때 사용하는 해독키가 같다. 대체 암호화와 위치 암호화를 복잡하게 조합해 개발한 DES 알고리즘은 암호화를 64비트 단위로 수행하며, 암호키의 크기는 56비트

 

3DES 알고리즘

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

3DES는 3단계 절차를 거쳐 암호화가 이루어지며, 해독 과정에서도 동일. 매 단계에서 서로 다른 56비트의 키가 사용되므로 전체적으로 168비트의 키를 지원해 보안 기능이 한층 강화되었다. 3DES 알고리즘은 암호화 과정에서 각각 56비트 크기인 3개의 DES키(K1, K2, K3)를 사용. 각각 순서대로 암호화, 해독, 암호화 기능을 수행. 해독 과정은 반대의 절차로 K3부터 해독기능 수행

 

RSA 알고리즘

공개키 알고리즘은 사용자가 2개의 암호치(공개키, 비공개키) 조합을 사용하는데, 공개키는 원문서를 암호화하는 데 사용하므로 원칙적으로 공개된다. 수신 호스트는 암호문을 해독하기 위해 비공개키를 사용한다. 비공개키는 공개키와 다른 값을 갖는다. 공개키 알고리즘의 대표적인 예시이며, 조합을 만드는 방법 제시

 

전자 서명

전자 서명은 인터넷 환경에서 특정 사용자를 인증하려고 사용한다. 인증은 특정인이 진짜 그 사람인지를 확인하는 절차. 전자서명의 암호화는 2단계로 이루어진다. 첫 번째는 전자 서명 알고리즘으로 자신을 인증하는 비공개키 암호화 단계, 두번째는 전자 서명의 정보를 전송하기 위해 다시 RSA 알고리즘을 사용하는 공개키 암호화 단계. 해독 과정의 첫번째 단계에서는 수신한 문서를 RSA 알고리즘의 비공개키로 해독해 전자 서명문을 얻고 문서를 송신자의 인증에 필요한 전자 서명 공개키를 사용해 해독해 원문서를 얻는다.

 

암호화 방식

전송 선로에서 감청 위협으로부터 데이터를 안전하게 보호하는 방법에는 물리 계층에서 데이터를 송신하기 전에 암호화 하는 데이터 링크 계층 암호화가 있다. 이 방식은 전송 직전인 데이터 링크 계층에서 암호화 하는 방식이고, 수신 호스트는 암호화된 데이터를 수신하므로 데이터 링크 계층에서 해독해 상위 계층에 전달한다. 데이터 링크 계층 암호화의 단점은 네트워크 계층에서 데이터가 암호화되지 않기 때문에 송수진자 사이의 라우터에서 보안이 되지 않는다는 것. 호스트 내부에서 보안을 지원하려면 응용 계층 암호화 방식을 사용. 이 방식은 송수신 과정의 끝단에 위치한 응용 계층에서 암호화 하는 방식. 암호문 작성이 송신 호스트의 응용 계층에서 이루어지므로 라우팅을 포함하여 모든 전송 과정에서 보안을 유지한다.

 

방화벽

인터넷망과 제한된 사용자 그룹에 허가된 사설망 사이의 보안 기능을 제고앟는 방화벽 기술은 크게 두 가지로 나뉜다. 하나는 패킷 필터링 방식으로 방화벽이 패킷의 헤더를 검색하거나 내용까지 검색해 적절치 못한 패킷을 배제하는 방법. 이런 기능은 라우터에서 구현된다. 라우터는 자신과 연결된 네트워크로부터 입력된 패킷의 정보를 분석해 어느 네트워크로 중개할 것인지를 결정하므로, 패킷을 계속 전송할지에 대한 권한도 갖는다. 다른 방법은 프록시를 이용한다. 프록시는 응용 환경에서 적절하게 처리할 수 있는 정보만 수신하도록 가상의 응용 프로그램을 시뮬레이션 하는 방화벽으로, 내부 네트워크의 호스트에는 외부 네트워크의 응용 연결처럼 보이고, 외부 네트워크에는 내부 네트워크의 응용 연결처럼 보인다.

 

 

profile

풍성한 라벤더농장이 될때까지

@그레이라벤더

느리지만 꾸준히 굴러서 큰 바다가 되고싶은 개발 어린이