내가 궁금해서 얕게 알아보는 기획!
자바환경에서 돌아가는 오픈소스
주로 안드로이드와 서버에서 사용된다고 한다.
연관 검색어에 explode가 뜨다니 범상치 않다...
다행히(?) 함수명이었다.
기존의 TCP프로토콜인 HTTP 방식을 보완한 프로토콜입니다.
SSL를 쓰다가 TLS 기술을 쓴다.
Client Hello : 클라이언트가 암호화/해시 알고리즘, Client Random 값 전달
서버가 선택한 알고리즘과 생성한 Server Random 값을 전달한다.
서버는 인증서와 CA의 디지털 서명을 전달한다.
클라이언트는 Root CA의 퍼블릭 키로 복호화한다.
서버가 모든 정보를 보냈다고 알린다.
클라가 퍼블릭 키로 Pre Maseter Secret 암호화해서 전달
서버가 퍼스널 키로 복호화
서로 주고받은 랜덤 값으로 Master Secret 생성 후 서로 확인
퍼블릭 키 : 모두가 아는 키
퍼스널 키 : 서비스 관리자가 가지는 비밀키
퍼블릭키로 암호화를하면 퍼스널키로만 복호화 가능하며, 반대의 경우도 마찬가지다.
요약
서버와 클라가 서로 암호화 방식을 정하고,
서버의 인증서를 확인후
데이터를 암호화하여 주고받는다.
우선 SOP를 알아야합니다.
Same-Origin Policy
보안을 위해서 브라우저가 같은 출처의 리소스는 통과 시키고 아닌것은 거르게 만드는 방법입니다.
출처란 프로토콜, 호스트, 포트 이 세가지입니다.
출처만 같다면 뒤에 붙는 path나 query는 달라도 무방합니다.
출처가 같이 않은 리소르를 가져오기 위한 방법이 바로
Cross-Origin Resouce Sharing
교차 출처 리소스 공유 입니다.
클라가 HTTP 요청 헤더에 Origin을 담아 전달하고
서버는 응답 헤더에 Access-Control-Allow-Origin을 담아 보냅니다.
이 둘이 일치한다면 출처가 다른 리소스에 접근하는 것이 허용됩니다.
SOP는 클라이언트에서 출처로 리소스를 거르는 것
CORS는 서버가 SOP의 예외 목록을 만들어 주는 것
웹이라고 하는 집에는 누구나(웹페이지라는 소프트웨어) 들어올 수 있다.
내 웹페이지와 닮은 페이지를 집안에 들인 유저가 나의 서비스를 요청하면 브라우저에서 막는 것
Kotlin 프로그래밍 언어 알아보기
Kotlin 기본 문법 정리
1장 코틀린이란 무엇이며, 왜 필요한가?
'PHP'개발이란? 5분만에 쉽게 알아보기
Q: (PHP 배우는 법...) A : 배우지 마
PHP 간단 개면과 장단점에 대해서
장고란 무엇인가요?
장고(Django)의 특징과 장고 프로그램 설치(파이썬 3.x 버전, 장고 4.x 버전)
Django란?