본문 바로가기

Basic

Linux - Permission Linux - Permission
SSL의 구체적인 동작방법 1. SSL의 구체적인 동작방법 컴퓨터와 컴퓨터가 네트워크를 이용해서 통신을 할 때는 내부적으로 3가지 단계가 있다. 악수 -> 전송 -> 세션종료 이것은 사용자에게 노출되지는 않는다. 이 과정에서 SSL이 어떻게 데이 터를 암호화해서 전달하는지 살펴보자. 1) 악수 악수 (handshake) 실제 데이터를 주고 받기 전에 클라이언트와 서버는 일종의 인사인 Handshake를 한다. 이 과정 을 통해서 서로 상대방이 존재하는지, 또 상대방과 데이터를 주고 받기 위해서는 어떤 방법을 사 용해야하는지를 파악한다.(서버와 클라이언트가 버젼이 제각각 다르다. 악수를 통해 서버와 클라이언트는 서로 탐색한다) SSL 방식을 이용해서 통신을 하는 브라우저와 서버 역시 핸드쉐이크를 하는데, 클라이언트는 서버측으로 정보..
SSL의 핵심 동작방법 1. SSL의 핵심 동작방법 SSL은 데이터를 전송하기 위해서 공개키방식과 대칭키방식을 혼합해서 사용한다. 공개키만을 사용하면 성능상의 단점이 있지만 보안이 안전하고, 대칭키만 사용하면 보안의 문제가 있지만 성능상의 이점이있다. 이둘의 단점을 보완하고 장점을 살리는 방향으로 2가지를 혼합한다. 즉, 클라이언트와 서버가 주고 받는 실제 정보는 대칭키 방식으로 암호화하고, 실제 정보를 복호화할 때 사용할 대칭키 자체를 공개키 방식으로 암호화해 서 주고 받는다. 실제 데이터(아이디,비밀번호등): 대칭키 방식으로 암호화 대칭키(서버와 클라이언트가 모두 가지고 있어야 복호화가능) : 공개키 방식으로 암호화
SSL 인증서가 서버(서비스)를 보증하는 방법 1. SSL 인증서가 서버(서비스)를 보증하는 방법 웹 브라우저가 서버에 접속할 때 서버는 제일 먼저 SSL인증서를 제공한다. 브라우저는 이 인증서를 발급한 CA가 자신이 내장한 CA의 리스트에 있는지를 확인한다. 확인 결과 서버를 통해서 다운받은 인증서가 내장된 CA 리스트에 포함되어 있다면 해당 CA의 공 개키를 이용해서 인증서를 복호화 한다. CA의 공개키를 이용해서 인증서를 복호화 할 수 있다는 것은 이 인증서가 CA의 비공개키에 의해서 암호화 된 것이 틀림이 없다. 해당 CA의 비공개 키를 가 지고 있는 CA는 해당 CA 밖에는 없기 때문에 서버가 제공한 인증서가 CA에 의해서 발급된 것이 라는 것을 의미한다. CA에 의해서 발급된 인증서라는 것은 접속한 사이트가 CA에 의해서 서버가 인증되 었..
CA의 리스트와 공개키를 가지고 있는 브라우저들 1. CA를 브라우저들은 알고 있다 인증서를 이해하는데 꼭 알고 있어야 하는 것이 CA의 리스트다. 브라우저는 내부적으로 CA의 리 스트를 미리 파악하고 있다. 이 말은 브라우저의 소스코드 안에 CA의 리스트가 들어있다는 것이 다. 브라우저가 미리 파악하고 있는 CA의 리스트에 포함되어야만 공인된 인증서가 될 수 있는 것 이다. 그리고 CA의 리스트와 함께 각 CA의 공개키를 브라우저는 이미 알고 있다. 인증서를 받은 클라이언트는 이 공개키를 통해 인증서를 복호화하는것이다.
SSL 디지털 인증서와 기능 1. SSL 디지털 인증서란 SSL 인증서는 클라이언트와 서버간의 통신을 제3자가 보증해주는 전자화된 문서다. 서비스를 하는 웹서버는 이 인증서를 민간기업(CA)으로부터 구매해야 한다. 웹서버는 도메인, 웹서버의 공개키와 같은 정보를 CA로부터 인증서를 구입할 때 제 출해야 한다. 클라이언트가 서버에 접속한 직후에 서버는 클라이언트에게 인증서를 전달한다. 2. 인증서의 기능 2가지 1) 사이트의 신뢰성 제공(서버 인증,검증) 웹서버로부터 인증서를 받은 클라이언트는 이 인증서를 통해서 웹서버가 자신이 접속하려고 했던 진짜 웹서버인지 검증 할 수 있다. 클라이언트는 자신의 브라우저에 내장된 CA리스트와 CA공개키를 가지고 있다. 이 공개키를 사용하여 인증서를 복호화 하면 인증서에는 인증서를 발급한 CA, 도..
CA(공인 인증기관)와 사설 인증기관 1. CA(공인 인증기관) 서버와 클라이언트는 기본적으로 신뢰할수 없는 관계이다. 그렇기 때문에 중간에서 신뢰할 수 있는 권위가 있는 기관, 신뢰를 보장해주는 권한을 가진 기관 이 필요하다. 이 기관들이 신뢰 할 수 있는 서버임을 보장한다. 즉 클라이언트가 접속한 서버가 클 라이언트가 의도한 서버가 맞는지를 보장해준다. 서비스(서버)의 신뢰성을 다양한 방법으로 평가하 게 된다. 이 역할을 하는 민간기업들이 있는데 이런 기업들을 CA(Certificate authority) 혹은 Root Certificate 라고 부른다. CA는 아무 기업이나 할 수 있는 것이 아니고 신뢰성이 엄격하게 공 인된 기업들만이 참여할 수 있다. 그리고 이러한 보증의 방법으로 CA는 인증서를 판매한다. 이 인증서를 구입하는 서비..
인증이란? 1. 인증이란? 인증이라는것은 자신이 받은 정보가 올바른 사람이 전송한것이 맞는지를 확인하는것. 웹서버와 클라이언트간에는 클라이언트가 접속한 웹서버가 자신이 접속하려고 했던 진짜 웹서버인지 확인하는것이 인증이라고 볼수 있다. 2. 인증 과정 비공개키의 소유자는 비공개키를 이용해서 정보를 암호화 한 후에 공개키와 함께 암호화된 정보 를 전송한다. 정보와 공개키를 획득한 사람은 공개키를 이용해서 암호화된 정보를 복호화 한다. 이 과정에서 공개키가 유출된다면 의도하지 않은 공격자에 의해서 데이터가 복호화 될 위험이 있 다. 이런 위험에도 불구하고 비공개키를 이용해서 암호화를 하는 이유는 인증이란것은 데이터를 보호하는 것이 목적이 아니기 때문이다. 비밀키로 암호화된 데이터를 공 개키를 가지고 복호화 할 수 있다..