랑아
article thumbnail
Session 기초
CS/인증&보안 2023. 4. 23. 01:02

Session 세션은 일정 시간동안 같은 사용자(브라우저)로부터 들어오는 일련의 요구를 하나의 상태로 보고, 그 상태를 유지시키는 기술이다. 여기서 일정 시간은 방문자가 웹 브라우저를 통해 웹 서버에 접속한 시점부터 종료하여 연결을 끝내는 시점을 말한다. 즉, 서버와 클라이언트 간의 연결이 활성화된 상태를 세션이라고 한다. Session 전달 방법 회원이 쇼핑몰에서 장바구니에 물건을 담으려는 경우 세션 id 부여 이전 클라이언트에서 로그인 후, 상품을 장바구니에 넣기 위해 서버로 요청을 전달한다. 서버는 DB에 정보를 저장한다. DB는 서버에세 session_id 를 반환한다. 서버는 session_id 를 암호화하고 Set Cookie 메서드를 통해 쿠키에 담아 클라이언트에게 전달한다. 세션 id 부여..

article thumbnail
Cookie 기초
CS/인증&보안 2023. 4. 22. 19:46

Cookie 쿠키는 서버에서 클라이언트에 데이터를 저장하는 방법 중 하나이다. 그러므로 서버가 원한다면 서버는 클라이언트에서 쿠키를 이용하여 데이터를 가져올 수 있다. 쿠키를 이용하는 것은 단순히 서버에서 클라이언트에 쿠키를 전송하는 것만 의미하지 않고 클라이언트에서 서버로 쿠키를 전송하는 것도 포함됩니다. 쿠키의 특징 서버는 쿠키를 이용하여 데이터를 저장하고 원할 때 이 데이터를 다시 불러와 사용할 수 있다. 하지만 데이터를 저장한 이후 아무때나 데이터를 가져올 수 없다. 데이터를 저장한 이후 특정 조건들이 만족하는 경우에만 다시 가져올 수 있다. 조건들은 쿠키 옵션으로 표현할 수 있다. 쿠키 옵션 Domain(도메인) 도메인이라는 것은 서버에 접속할 수 있는 이름을 의미한다. 쿠키 옵션에서 도메인은 ..

article thumbnail
Hashing 기초
CS/인증&보안 2023. 4. 22. 19:17

Hashing 해싱은 어떠한 문자열에 '임의의 연산'을 적용하여 다른 문자열로 변환하는 것을 의미한다. Hashing을 서비스에 적용할 떄는 세 가지의 철칙이 존재한다. 모든 값이 대해 해시값을 계산하는데 오래 걸리지 않아야 한다. 최대한 해시값을 피해야 하며, 모든 값은 고유한 해시값을 가진다. 아주 작은 단위의 변경이라도 완전히 다른 해시값을 가져야 한다. 대부분의 해시 알고리즘은 이런 특징을 가지고 있다. 배포되어 있는 알고리즘 중 대표적인 해시 알고리즘으로는 SHA1이 있고, 요즘은 SHA256을 많이 사용한다. Salt 암호화에서 Salt는 암호화해야 하는 값에 어떤 '별도의 값'을 추가하여 결과를 변형시킨다. 특정 알고리즘을 통한 Hashing은 결과가 항상 같으므..

article thumbnail
HTTPS 기초
CS/인증&보안 2023. 4. 22. 18:40

HTTPS HTTPS 개념 HTTPS는 Hyper Text Transfer Protocol Secure Socket layer의 약자로 HTTP over SSL(TLS), HTTP over Secure라고 부르기도 한다. HTTPS는 HTTP 요청을 SSL 혹은 TLS라는 알고리즘을 이용해, HTTP 통신을 하는 과정에서 데이터를 암호화하여 전송하는 방법이다. HTTPS의 사용 목적은 다음과 같다. 암호화 인증서 암호화 암호화는 제삼자가 서버와 클라이언트가 주고 받는 정보를 탈취할 수 없도록 하는 것이다. 이를 위해 서버와 클라이언트는 서로가 합의한 방법으로 데이터를 암호화하여 주고 받는다. 따라서 중간에 제삼자에게 데이터가 탈취되더라도 그 내용을 알아볼 수 없다. HTTP는 요청 및 응답이 탈취된다면 ..