728x90
반응형

전체 글 83

메시지 인증 코드(MAC)

메시지 인증 코드(MAC) (Review) Modification Detection Code MDC Message의 무결성을 확인할 수 있는 방법론이다. How? Alice가 secure channel을 구축하고 있다는 가정하에 원본은 unsecure channel로 전송 MDC는 secure channel로 전송 Bob이 MDC값 두 개를 비교하여 무결성 체크 MDC의 한계 MDC는 non-practical하다. secure channel을 구현하는 것은 상대적으로 어려움 매번 secure channel을 구현해야하는 overhead 발생 Message Authentication Code (MAC) MAC? (e.g., Hash with key $H(K,M)$) 송/수신자가 공유한 key를 이용하여 m..

Security 2023.10.03

대칭키 암호 시스템의 운영모드

대칭키 암호 시스템의 운영모드 운영모드와 패딩 운영모드 DES나 AES와 같은 블록 암호를 사용하여 다양한 크기의 데이터를 암호화하는 방식이다. 실제로 사용되는 평문은 다양한 크기를 가지며 보통 블록크기보다 훨씬 큼 Electronic Codebook Mode (ECB) : 책에서만 배우고 안전하지 않음 Cipher Block Chaining (CBC) : 파일 암호화 Counter (CTR) : 네트워크 패킷 암호화 Cipher Feedback (CFB) → 수업에서 다루지 않음 Output Feedback (OFB) → 수업에서 다루지 않음 블록 암호의 경우, 평문의 길이가 정확하게 해당 블록 암호의 블록 크기의 배수가 되어야 함 패딩은 평문의 전체가 블록 크기의 배수가 되도록 마지막 부분의 빈 공간..

Security 2023.10.03

Ch03. Web Server, WAS, Reverse Proxy Mission Mission

Ch03. Web Server, WAS, Reverse Proxy Mission Overview AWS VPC로 Nginx 호스팅 구성하기 요구사항 새로운 VPC를 만들어 퍼블릭 서브넷을 구성하여 EC2를 해당 서브넷에 구성 새 VPC 이름은 챌린저의 닉네임 이름으로 할 것 EC2에 원격 접속하여 nginx 설치 후 웹 브라우저로 EC2의 아이피 주소로 접속 시 nginx 화면이 뜨는 것도 반드시 인증 해야함 /mission3에 접속 시 자신의 닉네임이 포함 된 HTML 문서가 응답으로 오게 구성 /was에 접속 시 8080번 포트로 리버스 프록시가 되도록 설정하고 해당 설정 코드와 502 응답이 화면에 응답으로 온 것을 인증 AWS 세팅 VPC, 보안 그룹, 인터넷 게이트웨이, 서브넷, 라우팅테이블 설..

Ch03. Web Server, WAS, Reverse Proxy

Ch03. Web Server, WAS, Reverse Proxy Overview Web Server vs. Web Application Server 웹 서버와 웹 어플리케이션 서버의 차이를 알고, 이를 실습하자. Web Server 저번 포스팅에서, nginx를 설치하고 80포트를 열어준 서버에서 {ip주소}:80로 접속하면 위와 같은 화면이 보이는 것을 확인할 수 있었다. 이 것은 웹 서버를 지원하는 소프트웨어인 nginx가 :80포트에서 웹 서버를 호스팅하고 있고, 기본 html을 보여주고 있기 때문이다. 이제 기본 html이 아닌 다양한 정적 이미지(*.html)를 호스팅 해보자. ec2 접속 저번 포스팅에서 생성한 ec2 인스턴스에 접속하자. 인스턴스를 클릭하고, ssh 연결 버튼을 누르면 친절..

HTTP Status Code

Intro 본 포스팅에서는 HTTP 상태 코드에 대해 다룬다. HTTP Status Code Overview ref : https://forlater.tistory.com/371 상태 코드란? 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다. 1xx (Informational) : 요청이 수신되어 처리중 2xx (Successful) : 요청 정상 처리 3xx (Redirection) : 요청을 완료하려면 추가 행동이 필요 4xx (Client Error) : 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음 5xx (Server Error) : 서버 오류, 서버가 정상 요청을 처리하지 못함 Unkown 상태코드가 나타나면? 클라이언트 입장에서는 상위 상태코드를 기반으로..

CS/Network 2023.10.03

HTTP 메서드와 활용

Intro 본 포스팅에서는 HTTP 메서드의 종류와 이를 활용하여 API를 설계하는 방법을 다룬다. HTTP API URI 설계 회원 정보 관리를 하는 API를 설계하는 상황을 가정한다. 회원 목록 조회 회원 조회 회원 등록 회원 수정 회원 삭제 초기 설계는 다음과 같다. 회원 목록 조회 /read-member-list 회원 조회 /read-member-by-id 회원 등록 /create-member 회원 수정 /update-member 회원 삭제 /delete-member 초기 설계 수정 초기 설계는 좋은 설계가 아니다. API 설계는 리소스를 식별하여 설계하는 것이 가장 중요하다. URI에 대한 고민 URI란 Uniform Resource Identifier이다. 즉, URI를 통해 리소스를 식별할 ..

CS/Network 2023.10.03

HTTP의 기본

Intro 본 포스팅에서는 HTTP의 정의 및 특징 등 HTTP의 기본에 대해 다룬다. Contents HTTP의 정의 Client - Server 구조 Stateless Protocol 비 연결성(connectionless) HTTP Message HTTP의 정의 HTTP는 HyperText Transfer Protocol의 약자이다. HTTP 메시지로 다양한 데이터를 전송할 수 있다. HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML(API) HTTP의 역사 HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더X HTTP/1.0 1996년: 메서드, 헤더 추가 HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전 RFC2068 (1997) -> RF..

CS/Network 2023.10.03

웹 브라우저 요청 흐름

Intro 본 포스팅에서는 웹 브라우저 요청 흐름에 대해 간단히 다룬다. 웹 브라우저 접속 상황 가정 웹 브라우저의 IP : 100.100.100.1 웹 브라우저에서 접속할 구글 서버 IP : 200.200.200.2 URL : https://www.google.com/search?q=hello&hl=ko 요청 흐름 주어진 URL 기반으로 IP와 Port를 찾아내고자 한다. www.google.com.이라는 이름을 가진 IP를 DNS server에 조회한다. scheme(protocol)이 https: 이므로 port는 자동으로 443으로 할당된다. 아래와 같은 HTTP request packet을 생성하여 보낸다. 전송 과정 google server는 수신한 HTTP request packet을 기반으..

CS/Network 2023.10.02

URI

Intro 본 포스팅에서는 URI에 대해 다룬다. URI? URL? URN? 다양한 용어들이 있다. 이 용어들을 다음과 같이 정리가능하다. | "URI는 Locater, Name 또는 둘다 추가로 분류될 수 있다." ref : https://www.ietf.org/rfc/rfc3986.txt - 1.1.3. URI, URL, and URN 다이어그램으로 나타내면 다음과 같다. URI(Uniform Resource Identifier) : 리소스를 식별할 수 있는 개념 URL(Uniform Resource Locator) : 위치를 통해 리소스를 식별할 수 있는 것 URN(Uniform Resource Locator) : 이름을 통해 리소스를 식별할 수 있는 것 ref : https://www.ietf.o..

CS/Network 2023.10.02

DNS

Intro 본 포스팅에서는 DNS에 대해 다룬다. IP의 가변성 IP 주소는 가변적이다. 즉, 변경될 수 있단 이야기이다. 기본적으로 IP를 할당 받는 상황을 가정하자. 집에서 랩탑을 사용하다가 카페에 가서 랩탑을 사용하면 IP주소가 달라진 것을 볼 수 있다. 이 이유는 한 노드가 IP를 할당 받을 때, DHCP server로부터 할당받기 때문이다. 그 외에도 다양한 이유로 IP 주소가 변경될 수 있다. 그러므로, 네트워크 통신 상에서 달라진 IP에 대해 사용자는 어떻게 안정적인 통신을 할 수 있을까? DNS(Domain Name System) 전화번호부 라고 생각할 수 있다. 도메인 명을 IP 주소로 변환해주는 시스템이다. google server의 IP주소가 바뀌어도, 우리가 접속할 때는 google..

CS/Network 2023.10.02
728x90
반응형