본문 바로가기

CS(Computer Science)

(32)
CS Study 3주차 : TLS/SSL HandShake TLS(Transport Layer Security) SSL(Secure Sockets Layer)라는 이전의 암호화 프로토콜에서 발전한 것으로 인터넷 상의 커뮤니케이션에서 개인의 정보와 데이터 보안을 위해 설계됭어 널리 채택된 보안 프로토콜이다. 하는일 암호화 : 제3자로부터 전송되는 데이터를 숨긴다 인증 : 정보를 교환하는 당사자가 요청된 당사자임을 보장한다. 무결성 : 데이터가 위조되거나 변조되지 않았는지 확인한다. TLS HandShake TLS 연결은 TLS HandShake를 사용하는데 사용자가 TLS를 사용하는 웹 사이트를 접속하면 클라이언트와 웹 서버간에 TLS HandShake가 시작된다. 클라이언트는 서버의 인증서를 받아 무결성을 확인하고 신뢰할 수 있는 서버라면 암호화 통신에 사용할 ..
CS Study 2주차 : HTTPS method GET vs POST GET 데이터를 읽거나(Read) 검색(Retrieve) 할 때 사용되는 메소드 요청 성공시 200(OK) HTTP 응답 코드를 리턴한다. 요청 실패시 404(Not Fount), 400(Bad Request)에러가 발생한다. 오로지 데이터를 읽을 때만 사용되고 수정할 때는 사용하지 않는다. 데이터의 변형의 위험 없이 사용이 가능하다. 항상 같은 응답을 받을 수 있다. 데이터를 변경하는 연산에 사용해서는 안된다. POST 새로운 리소스를 생성(Create)할 때 사용된다. 성공적으로 요청이 실행되면 201(Created) HTTP 응답 코드를 반환한다. 같은 요청을 반복해도 항상 같은 결과물이 나오는 것을 보장하지 않는다 즉, 같은 요청을 보내면 같은 정보를 담은 두 개의 리소스를 반환할 가능성이 높다.
CS Study 2주차 : HTTP vs HTTPS / SSL(Secure Sockets Layer) HTTP란? HyperText Transfer Protocol 서버/클라이언트 모델을 따라 데이터를 주고받기 위한 프로토콜 인터넷에서 하이퍼텍스트를 교환하기 위한 통신 규약 TCP/IP 80번 포트를 사용한다. 보안에 대한 조치가 따로 없기 때문에 보안에 취약하다. 상태 정보를 저장하지 않는 Stateless의 특징을 가지고 있다. 클라이언트의 요청에 맞는 응답을 보낸 후 연결을 끊는 Connectionless의 특징을 가지고 있다. HTTPS란? HyperText Transfer Protocol Secure HTTP의 보안이 강화된 버전이다. 기존 HTTP 레이어에서 SSL(TLS) 프로토콜을 얹어 평문 데이터를 암호화 한다. TCP/IP 443번 포트를 사용한다. 인증기관(CA)로부터 SSL 인증서를..
CS Study 2주차 : 대칭키와 공개키 대칭키 대칭키 암호화 방식 : 암복호화에 사용하는 키가 동일함 장점 : 암호화 방식에 속도가 빠르기 때문에 대용량 데이터 암호화에 적합하다. 단점 키를 교환해야 하는 문제가 있다. 탈취의 관리를 걱정해야 한다. 사람이 증가할수록 키 관리가 어려워진다. 정확성이 떨어진다. Session Key, Secret Key, Shared Key, 대칭키, 단용키 라고도 한다. 기밀성을 제공하나, 무결성 / 인증 / 부인방지를 보장하지 않는다. 대표적인 알고리즘 : SEED, DES, 3DES, AES, ARIA, ChaCha20 공개키 공개키 암호화 방식 : 암복호화에 사용하는 키가 서로 다르며, 비대칭키 암호화 라고도 한다. 장점 키 분배가 필요 없다. 기밀성 / 인증 / 부인방지 기능을 제공한다. 단점 : 속도..
CS Study 1주차 : TCP vs UDP TCP vs UDP TCP는 Transmission Control Protocol의 약자이고, UDP는 User Datagram Protocol의 약자이다. 두 프로토콜은 모두 패킷을 한 컴퓨터에서 다른 컴퓨터로 전달해주는 IP프로토콜을 기반으로 구현되어 있지만, 서로 다른 특징을 가지고 있다. 신뢰성이 요구되는 애플리케이션 : TCP 사용 간단한 데이터를 빠른 속도로 전송하고자 하는 애플리케이션 : UDP 사용 TCP와 UDP의 차이는 위 표와 같다. 이제 각 방식을 자세히 알아보자 TCP(Transmission Control Protocol) 전송을 제어하는 프로토콜로 인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜이라 생각하면 된다. TCP 특징 연결형 서비스 : 연..
CS Study 1주차 : OSI 7계층 OSI 7계층이란? 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. OSI 7 계층을 나눈 이유 통신이 일어나는 과정이 단계별로 파악할 수 있기 때문인다. 흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기 쉽고, 7단계중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있기 때문이다. OSI 7 계층 단계 1계층 - 물리계층(Physical Layer) 주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하는 물리적인 장비이다. 단지 데이터 전기적인 신호(0,1)로 변환해서 주고받는 기능만 할 뿐 오류제어 기능은 없다. 이 계층에서 사용되는 통신 단위는 비트(Bit)이며 이것은 1과 0으로 나타내어지는, 즉 전..
CS Study 1주차 : TCP 3way, 4way handShake TCP란? 연결 지향형 프로토콜로, 연속성 있는 데이터 패킷을 주고 받을 때 사용한다. 특징 전송되는 데이터의 신뢰성 보장(흐름 제어, 혼잡 제어, 오류 제어) 파일전송에 주로 사용 가상 회선을 만들어 신뢰성 보장 TCP 3 way Handshake 연결하고자 하는 두 장치 간의 논리적 접속을 성립하기 위해서 사용하는 연결 확인 방식으로, 3번의 확인 과정을 거친다고 해서 3 way handshake라고 부른다. TCP 3-way HandShaking 역할 - 양쪽 모두 데이터를 전송할 준비가 되었다는 것을 보장하고, 실제 데이터 전달이 시작하기 전에 한쪽이 다른 쪽이 준비되었다는 것을 알 수 있도록 한다. - 양쪽 모두 상대편에 대한 초기 순차일련번호를 얻을 수 있도록 한다. TCP의 3-way Han..
DTO, DAO, Entity Entity 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것, 개념, 장소, 사건 등을 가리킨다. 특징 : 유일한 식별자를 갖고 있어야 한다. ex) 주민번호, ID등 / 2개 이상의 인스턴스가 있어야 한다. / 반드시 속성을 하지고 있어야 한다 ex) 학생의 학번, 이름, 주소 / 다른 엔티티와 최소 한 개 이상 관계가 있어야 한다. ex) 학생을 이름을 가지고 있음 / 업무에서 관리되어야 하는 집합이다. ex) 학생, 성적 DTO(Data Transfer Object) 계층 간 데이터 교환을 하기 위해 사용하는 객체로, DTO는 로직을 가지지 않는 순순한 데이터 객체이다. 유저가 입력한 데이터를 DB에 넣는 과정 - 유저가 자신의 브라우저에 데이터를 입력하여 데이터를 DTO에 넣어서..