브라우저&네트워크(11)
-
https
https 는 http 에 보안이 추가된 것이다.이는 너무 단순하며, 이렇게만 알고있으면 https 를 설명하기 어렵다. https 암호화 및 인증을 위해 SSL/TLS 프로토콜을 사용하는 http 의 보안 버전이다.기본적으로 443 포트를 사용한다. https 프로토콜을 사용하면 웹 사이트 사용자가 신용 카드 번호, 은행 정보, 로그인 자격 증명과 같은 민감한 데이터를 안전하게 전송할 수 있다.이러한 이유로 https 는 웹사이트를 보호하는데 특히 중요하기에 모든 웹사이트의 표준 프로토콜로 자리잡고 있다. https / http https 는 http 프로토콜에 암호화, 인증 및 무결성을 추가한다. 1. 암호화 http 는 원래 일반 텍스트 프로토콜로 설계되었기 때문에 중간자 공격에 취약하다. SSL/..
2024.04.26 -
OAuth
OAuth 란? 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다. Open Authorization 의 줄임말로 제 3자 애플리케이션에게 사용자의 정보를 제공하는 것을 안전하게 허용하는 방식이다. 인증 및 권한 부여를 위한 표준 프로토콜로 특히 토큰 기반의 인증방식을 사용한다. 작동 방식 요청 : 제 3의 앱(서비스)이 유저에게 묻는다 "카카오에서 프로필사진과 닉네임을 가져와도 될까요?" 승인 : 유저는 "좋습니다. 하지만 비밀번호를 안줄거에요" 토큰 발급 : 카카오는 제 3의 앱(서비스) 에게 특별한 키(액세스 토큰)를 주면서 "이 키를 사용하면 유저..
2023.08.21 -
JWT
JWT 란? 인증에 필요한 정보들을 암호화 시킨 JSON 토큰을 의미한다. 그리고 JWT 기반 인증은 JWT 토큰(Access Token)을 HTTP 헤더에 실어 서버가 클라이언트를 식별하는 방식이다. JWT 는 JSON 데이터를 Base64 URL-safe Encode 를 통해 인코딩하여 직렬화한 것이며, 토큰 내부에는 위변조 방지를 위해 개인키를 통한 전자서명도 들어있다. 따라서 사용자가 JWT 를 서버로 전송하면 서버는 서명을 검증하는 과정을 거치게 되며 검증이 완료되면 요청한 응답을 돌려준다. JWT 구조 JWT 는 . 을 기준으로 나누어지는 세가지 문자열의 조합이다. Header.Payload.Signature 를 의미한다. Header 에는 JWT 에서 사용할 타입과 해시 알고리즘의 종류가 담..
2023.08.21 -
세션 기반 인증 & 토큰 기반 인증
세션 기반 인증 사용자가 로그인 하면 서버는 사용자의 정보를 바탕으로 세션을 생성하고, 이 세션에 대한 고유한 식별자인 세션 ID 를 클라이언트에게 반환한다. 클라이언트는 이 세션 ID 를 쿠키에 저장하고, 이후 요청마다 이 쿠키를 포함하여 서버에 전송한다. 서버는 세션 ID 를 사용하여 해당 사용자의 세션을 조회하고 인증 상태를 판별한다. 서버 측에서 사용자의 세션 정보를 유지 관리해야 하므로 상태를 유지한다. (stateful) 세션 정보를 서버 메모리에 저장하면 여러 서버 간의 세션 정보 공유가 어려울 수 있어 확장성에 제약이 생길 수 있다. CSRF 와 같은 공격에 취약할 수 있다. 토큰 기반 인증 사용자가 로그인하면 서버는 사용자의 정보를 바탕으로 토큰을 생성하고 반환한다. 클라이언트는 이 토큰..
2023.08.21 -
OSI 7 Layer
OSI 7 계층이란? OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. OSI 7 계층으로 나눈 이유는? 계층을 나눈 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있기 때문이다. 흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기 쉽고, 7 단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있기 때문이다. 작동 원리 1. OSI 7 계층은 응용, 표현, 세션, 전송, 네트워크, 데이터링크, 물리 계층으로 나뉜다. 2. 전송 시 7 계층에서 1 계층으로 각각의 층마다 인식할 수 있어야 하는 헤더를 붙임(캡슐화) 3. 수신 시 1 계층에서 7계층으로 헤더를 떼어낸다. (디캡슐화) 4. 출발지에서 데이터가 전송될..
2023.08.21 -
HTTP 와 HTTPS 차이점
HTTP와 HTTPS 의 차이점 https 는 SSL 인증서를 사용하는 http 이다. SSL 인증서는 일반 http 요청 및 응답을 암호화 한다. 따라서 https 는 http 보다 더 안전한 보안용 프로토콜 이라고 할 수 있다. http와 https 의 유일한 차이점은 https 를 사용한 웹 페이지를 통해 전송되는 모든 데이터는 추가적인 보안 계층이 있다. 이를 TLS(전송 계층 보안) 프로토콜이라고 한다. 모든 유형의 데이터는 변경되거나 손상될 수 없는 https 사이트를 통해 전달되며 제3자로부터 보호된다. HTTP 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜이다. 이는 인터넷에서 하이퍼텍스트를 교환하기 위한 통신 규약으로 80번 포트를 사용하고 있다. http 는 애플리케이션..
2023.08.10