CS/Network 55

[Chapter 17] 암호화와 네트워크 보안 (보안 프로토콜)

보안 프로토콜의 개요인터넷은 전 세계적으로 연결된 거대한 통신망으로, 데이터 전달 과정에서 여러 호스트와 매체를 통과한다 .이 과정에서 다양한 보안 문제에 직면할 수 있다.특히 중간에 위치한 라우터들의 보안 등급이 낮게 설정된 경우에는 위험에 노출될 가능성이 더 높다.이러한 위협 요소에는 전송 데이터를 중간에서 감청하거나 임의로 변경하는 경우, 원격 호스트의 데이터에 위협을 가하는 등 직접적으로 특정 시스템의 내부에 침입하는 경우, 과도한 트래픽을 발생시켜 특정 호스트의 통신을 방해하는 경우 등이 있다.감청감청은 허가받지 않은 자가 직간접적인 방법으로 전송 중인 데이터를 얻는 것이다. 또한 불법으로 획득한 정보를 변경한 후 이를 통신 과정에서 다시 입력함으로써, 송수신 호스트의 통신 내용을 왜곡하는 것도..

CS/Network 2025.02.19

[Chapter 17] 암호화와 네트워크 보안 (암호화 시스템)

암호문은 기본적으로 대체 암호화와 위치 암호화 방법을 적절히 조합하여 작성한다. 최근에는 고성능 컴퓨터가 많아져 연산속도가 빨라지기 때문에 알고리즘의 복잡도를 높이는 방식으로 암호화한다. 대표적으로는 DES와 RSA 알고리즘이 있다.DES 알고리즘DES 알고리즘은 암호문을 작성할 때 사용하는 암호키와 암호문을 해독할 때 사용하는 해독키가 같다. 따라서 이 키는 절대로 외부에 유출되지 않도록 관리해야 하며, 비밀키(Secret Key)라 부른다. 또한 양쪽이 동일 키를 사용한다고 해서 대칭키(Symmetric Key)라고도 한다.이처럼 외부 사용자에게 노출되지 않아야 하는 암호키로 암호화하는 알고리즘을 비공개키 알고리즘이라 한다.비공개키 방식의 DES(Data Encryption Standard)알고리즘은..

CS/Network 2025.02.19

[Chapter 17] 암호화와 네트워크 보안 (암호화의 이해)

외부 침입자로부터 문서를 보호하기 위해 문서 내용을 암호화 하여 목적지에 전송하는 방법은 컴퓨터 네트워크가 보급되기 전 부터 사용하던 방식이다. 이때 문서의 송수신자는 암호문을 작성하고 해석하는 과정에서 자신들만 아는 비밀키를 사용한다.암호학 관련 용어컴퓨터 네트워크에서 송신자와 수신자는 중간의 전송 매체를 통해 메시지를 송수신한다. 네트워크는 기본적으로 개방형시스템이므로 제 3자가 임의로 접근할 수 있고 전송 메시지는 외부 접근에 노출되어 있다. 따라서 전송 과정에서 비권한적 접근을 시도하는 침입자로부터 메시지를 안전하게 보호해야 한다.외부 침입자가 전송 메시지에 가하는 공격 행동은 다음의 세가지로 나눌 수 있다.  메시지 읽기 : 전송 선로를 흐르는 신호를 도청하여 메시지의 내용을 읽는다. 인터넷에서..

CS/Network 2025.02.19

[Chapter 16] 파일 전송 (TFTP 동작 과정과 예)

TFTP(Trivial File Transfer Protocol)는 임의의 시스템이 원격 시스템으로부터 부팅 코드를 다운로드하는 데 사용하는 프로토콜이다. 즉, 자체적으로 하드 디스크를 보유하지 못한 네트워크 터미널이 원격 서버에 저장된 부팅 미이지를 다운로드해 시스템을 초기화하는데 사용한다. 네트워크 터미널은 원격 서버와 통신할 수 있는 TFTP를 비롯해 최소한의 소프트웨어 기능을 보유한 장치이다.FTP는 제어 채널 데이터 채널이라는 두 개의 TCP 연결이 필요하다. 또한 원격 시스템에서 디레고리나 파일을 생성하고 삭제하는 등의 부가 기능도 필요해 프로그램이 상대적으로 크다. 그러나 원격 부팅 기능은 서버에서 복잡한 파일 작업이 따로 필요하지 않아 전송 기능을 단순화할 수 있다. 결과적으로 TFTP가 ..

CS/Network 2025.02.19

[Chapter 16] 파일 전송 (FTP 원리)

FTP는 원래 시스템과의 파일 송수신 기능을 지원한다. FTP와 함께 개발된 프로그램으로 텔넷, 전자메일 프로그램 등이 있는데 이들과 비교하면 FTP 구조는 상당히 복잡하다.FTP 구조FTP는 일반 응용 프로그램과 달리 클라잉너트와 서버 사이에 제어 채널과 데이터 채널이라는 두 가지 연결이 존재한다. 제어 채널은 FTP 명령을 전송하고, 데이터 채널은 복사하려는 파일의 내용을 전송한다. 제어 채널과 데이터 채널FTP 클라이언트와 서버 사이의 연결 설정 과정을 설명한다. 왼쪽의 FTP 사용자로부터 연결 요청이 들어오면 사용자 인터페이스 모듈이 로그인 이름, 암호 등을 해석하여 명령 송수신 모듈에 전달한다. 명령 송수신 모듈은 FTP 서버와 연결을 시도하여 제어 채널을 설정한다. 이후 사용자 명령이 입력될 ..

CS/Network 2025.02.19

[Chapter 16] 파일 전송 (파일 전송을 위한 사용자 환경)

일반 사용자는 PC에서 FTP 클라이언트를 실행하여 FTP 서버와 접속을 시도한다. 그리고 FTP 연결이 설정되면 FTP 클라이언트가 제공하는 사용자 명령으로 파일 송수신 기능을 수행한다. FTP 클라이언트에는 많은 명령이 존재하지만, 일반적으로 FTP 서버와 파일을 주고받는 정도의 단순 명령만 사용한다. GUI 환경을 지원하는 FTP 클라이언트는 대부분 파일을 클라이언트에서 서버로, 혹은 반대 방향으로 옮기는 정도로 사용된다.FTP 로그인FTP(File Transfer Protocol)sms 1970년대 초 인터넷이 보급되던 시기에 개발된 프로그램으로 네트워크 환경에서 가장 많이 이용되는 서비스 중 하나였으며, 원격 시스템과의 파일 송수신 기능을 지원한다.원격 시스템에 접속하려면 FTP 서버에 등록된 ..

CS/Network 2025.02.19

[Chapter 15] 전자 메일 (POP 서비스)

PC가 보급되면서 일반 사용자는 메일 서버에 로그인하지 않고, PC에서 메일을 관리하기를 원했다. POP 서비스는 이러한 환경을 지원하려고 고안된 프로토콜이다.POP과 SMTPSMTP는 전자 메일을 송수신하는 호스트가 메일을 직접 교환하려고 개발되었다. 그러나 오늘날의 메일 환경은 특정 서버에 메일 주소를 개설하고, 이 주소로 수신된 메일을 PC나 스마트폰에서 다운로드하는 형식을 많이 사용한다.POP 서비스의 필요성호스트 사이의 메일 교환 프로토콜인 SMTP와 별도로 SMTP 서버와 PC/스마트폰을 연동하기 위해 POP(Post Office Protocol) 서비스를 사용한다.수신자에게 전송된 메일은 우측 하단의 POP 서버에 도착한다.메일을 다운로드한 POP 클라이언트는 대부분 그래픽 환경이 제공되는 ..

CS/Network 2025.02.19

[Chapter 15] 전자 메일 (SMTP)

인터넷에서 전자 메일 전송은 SMTP(Simple Mail Transfer Protocol)를 지원하는 호스트 사이에 이루어지며, SMTP 호스트들은 SMTP 명령과 그에 따른 응답 과정을 반복해 메일을 전송한다.메일을 보내는 과정은 절차상 3단계로 구분한다.연결 설정 단계에서는 SMTP 클라이언트가 TCP를 이용해 SMTP 서버와 세션을 설정한다.연결 설정이 완료되면 SMTP 서버에 메일을 보내는 데이터 전송 단계를 진행한다. 이 단계에서 송신자의 메일 주소, 수신자의 메일 주소, 메일 제목 등과 같은 헤더 정보를 포함하여 메일의 전체 내용이 순차적으로 전송된다.마지막으로 메일 전송을 완료하면 TCP 연결을 종료하는 연결 해제 단계가 진행되고, SMTP세션이 종료된다.SMTP의 구조 SMTP는 메일을 ..

CS/Network 2025.02.19

[Chapter 15] 전자 메일 (전자 메일 시스템 구조)

전자 메일 시스템은 기능에 따라 사용자 환경과 네트워크 환경으로 구분할 수 있다. 사용자 환경은 메일을 작성하고 수신하는 사용자 인터페이스 부분이고, 네트워크 환경은 사용자 환경과 인터넷을 이용해 메일을 전달하는 부분이다.왼쪽의 메일 송신자가 오른쪽의 메일 수신자에게 메일을 전송하는 것으로 가정하였으므로 왼쪽이 클라이언트, 오른쪽이 서버 역할을 한다.사용자 환경첫 번째 기능인 사용자 환경은 메일 내용을 읽고 편집하는 일을 담당하는 사용자 인터페이스이다. 일반 용어로는 사용자 에이전트(UA, User Agent)라 하며, PC에서 메일을 송수신하는 프로그램(ex) 유닉스 시스템의 mailx 및 elm 프로그램, 윈도우즈 시스템의 MS 아웃룩 이다. 위의 이미지에서는 상단 부분이 사용자 환경이다.네트워크 환..

CS/Network 2025.02.19

[Chapter 15] 전자 메일 (메일 처리)

전자메일을 이용한 작업은 크게 메일 내용 편집, 수신한 메일 내용 보기, 메일 박스에 보관된 수신 메일 관리 등으로 나뉜다. 메일 전송과 수신 기능이 인터넷에서 어떻게 구현되는지 이해하면 좋지만, 이를 몰라도 일반 사용자가 메일 시스템을 사용하는데는 지장은 없다.메일 편집메일 편집 기능은 메시지를 새로 작성하거나, 수신 메일에 대해 회신하거나 수신 메일을 제3자에게 전달할 때 필요하다.전자 메일을 작성할 때는 전송하는 메시지의 내용뿐 아니라, 송수신자의 메일 주소, 작성 일자, 참조 수신자 같은 다양한 헤더 정보가 포함된다.헤더 정보의 일부는 사용자가 직접 입력해야 하지만, 대부분의 정보는 메일 프로그램의 초기 설정 과정에서 미리 입력한 정보로 자동 대체된다.수신한 메일을 회신할 때는 모든 헤더의 정보가..

CS/Network 2025.02.19