1. 로그인의 식별과 인증


로그인이란? 조건에 맞는 사람을 확인하는 작업입니다.
그러면 조건에 맞는 사람을 어떻게 확인할까요?

바로 식별과 인증의 과정을 거칩니다.
식별 : 수많은 데이터 속에서 특정 데이터를 찾아내는 것. ▶ 식별 정보를 찾아냄. (예 ID : primary key)
식별 정보 특징 > 오로지 하나의 id만 존재한다 , 노출되어도 위험이 없다.

인증 : 그 사람이 본인이 맞는지 확인하는 것. ▶ 인증 정보를 확인함.(예 비밀번호)
인증 정보 특징 > 같은 비밀 번호가 존재할 수 있다, 노출되면 위험하다.

다음은 식별과 인증을 진행하는 4가지 방식을 알아보겠습니다.


1.1 식별과 인증을 하는 일반적인 방법(4가지) 과 hash 개념


1.1.1 식별과 인증을 하는 4가지 방법


  1. 식별과 인증 동시에 진행하기

  2. 식별과 인증 분리해서 진행하기

  3. hash 처리로 식별과 인증 동시에 진행하기

  4. hash 처리로 식별과 인증 분리해서 진행하기

    이렇게 4가지 방법이 존재합니다.

    hash의 개념은 이다음에 설명하는 것으로 하고, 먼저 식별과 인증을 어떻게 동시에 하는지, 분리해서 진행하는지 간략하게 알아보겠습니다.

    ●식별과 인증 동시

​ ●식별과 인증 분리


1.1.3 hash개념


hash개념 알아보기

hash : 클라이언트가 인증을 요청한 비밀번호가 다양한 알고리즘에 의해 긴 문자열로 변환되어 보여주어 보안에 유리하다고 설명할 수 있겠습니다.
▶ 특징 : 한 방향으로 변환되기 때문에 복구가 되지 않습니다. 그래서 보안에 유리하죠.

암호화(Encryption) : 어떤 데이터를 암호화된 데이터로 변환합니다.
▶ 특징 : 양방향으로 데이터를 변환할 수 있습니다, key 만 있다면 복구할 수 있습니다.

인코딩(Encoding) : 어떤 데이터를 데이터 전달에 용이하도록 변화합니다.
▶ 특징 : 양방향으로 데이터를 변환할 수 있습니다, key 가 없어도 복구할 수 있습니다.

img


2. 로그인 유지


2.1 쿠키


초기에는 로그인을 유지할 기능이 없어서 매번 로그인을 해야만 했습니다.
그러다가 쿠키라는 것을 사용하기 시작했습니다.
쿠키는 클라이언트가 서버에 파일을 요청할 때 로그인 정보도 함께 보내서 url이 달라져도 로그인이 될 수 있게 도움을 주었습니다.

하지만 클라이언트가 서버에 파일을 요청하는 방식 때문에 이를 악용한 사람들이 다른 사람의 로그인 정보를 확인하고, 이를 사용하여 보안이 취약해지는 일이 발생했고, 세션이라는 것이 등장했습니다.


2.2 세션


세션은 클라이언트가 로그인 정보를 주는 것이 아니라 서버 측에서 로그인 정보를 저장하는 방식입니다.
서버에서 정보들을 식별할 수 있는 식별값이 존재하고, 이것을 세션ID라고 합니다.

동작 과정은 이렇습니다.

로그인▶ 세션ID 와 로그인 정보가 서버 측에 저장 ▶ 클라이언트 요청(쿠키(세션ID)) ▶ 세션ID로 식별하여 로그인 인증함. ▶로그아웃

세션ID는 로그인할 때 랜덤 문자열로 주어지고, 로그아웃을 하면 로그인 정보와 함께 사라집니다.

Session | Blog

카테고리:

업데이트:

댓글남기기