본문 바로가기

이론23

암호화 개념 지난 번 HTTPS가 SSL을 통해 데이터를 암호화하는 방식을 공부했다. 그렇다면 대칭키가 뭐고 비대칭키가 뭔지도 제대로 알아봐야 할 것이다. 1. 공개키와 비밀키 공개키는 모두가 볼 수 있는 키이며, 비밀키는 소유자만이 가지고 있는 키로 암호화, 복호화에 사용된다. 2. 암호화 방식 암호화 방식에는 비대칭키 암호화와 대칭키 암호화가 있다. 우선 대칭키 암호화는 서버와 클라이언트 간에 암호화와 복호화에 동일한 비밀키를 사용하는 방식으로, 키를 공유하는 것에 어려움이 있으나 속도가 빠르다는 장점이 있다. 반대로 비대칭키 암호화는 서버와 클라이언트가 암호화와 복호화에 각각 다른 비밀키를 사용하는 방식으로, 공개키를 통해서 암호화를 하고 비밀키를 통해서 복호화를 한다. 공개키는 공개해도 상관 없기에 키 관리에.. 2023. 11. 22.
HTTPS HTTPS란 보안이 강화된 HTTP로 Hyper Text Transfer Protocol over Secure Socket Layer, HTTP over TLS, HTTP over SSL, HTTP Secure 등의 줄임말이라고 한다. HTTPS 는 HTTP의 치명적인 단점인 데이터가 암호화 되지 않고 그대로 전송된다는 것을 보완하기 위해 등장했다. HTTP는 데이터를 전송할 때 암호화하지 않기 떄문에 중간에서 해당 데이터를 도청할 경우와 같은 보안 문제가 생길 수 있다. HTTP의 보안 취약점은 다음과 같다. 1. 도청 가능 HTTP request와 response 통신 내용은 암호화되지 않아 평문으로 HTTP 메시지를 보내게 되기 때문에 도청이 가능하다. 2. 위장 가능 HTTP request나 re.. 2023. 11. 22.
HTTP HTTP(Hyper Text Transfer Protocol)는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜이다. HTTP는 웹에서 이뤄지는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜이기도 하다. 클라이언트-서버 프로토콜이란 수신자 측에 의해 요청이 초기화되는 프로토콜을 의미한다. 여기서 하이퍼 텍스트란 참조를 통해 독자가 한 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트다. 기존의 문서가 순차적이면서 서열형 구조라면, 하이퍼 텍스트는 링크에 따라 그 차례가 바뀌는 임의적이면서 나열형인 구조를 가진다. 즉, 하이퍼 텍스트는 다른 문서와 연결된 링크의 모음으로 구성된 문서이다. 대표적으로 HTML이 하이퍼텍스트를 표현하기 위한 마크업 언어로 사용된다. 그렇기에 HTTP.. 2023. 11. 22.
RESTful API API란 Application Programming Interface의 약자로 정의 및 프로토콜 집합을 사용해 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 매커니즘이다. 여기서 애플리케이션이란 고유한 기능을 가진 모든 소프트웨어를 나타내고, 인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있다. 이 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의한다. 쉽게 말하자면 API는 어떤 사이트에서 어떤 사이트로 데이터를 공유할 경우, 어떤 방식으로 정보를 요청하고, 어떤 데이터를 받을 수 있는지에 대한 규격이라고 할 수 있다. 클라이언트와 서버 사이의 데이터 전송 통신 규칙 정도로 생각하면 될 것 같다. 어떤 API를 호출하기 위해선 어떤 Request Body가 .. 2023. 11. 22.