웹프로젝트

데이터 암호화

DaEun_ 2023. 4. 17. 10:26

BCrypt 알고리즘

 

1. 개요

  • 블로피시 암호에 기반을 둔 암호화 단방향 해시 알고리즘으로서 복호화가 불가능하다.
  • Bcrypt의 검증은 암호화된 값이 가지고 있는 알고리즘, Cost Factor, Salt를 이용하며, 암호화된 값과의 비교를 통해 검증을 진행한다.
  • 시간이 지남에 따라 속도 저하를 위해 반복 횟수 증가가 수반될 수 있으므로, 연산 파워의 증가에도 브루트 포스 검색 공격에 대한 저항을 유지하게 된다.

 

2. 적용 서비스

  • 회원가입/로그인/회원정보 수집 : 비밀번호 암호화

 

3. 적용 서비스 적용 개요

1. 회원 가입

  • genSlat()메소드를 통해 솔트를 생성한다. (솔트는 해시함수에서 암호화된 비밀번호를 생성할 때 추가되는 바이트 단위의 임의의 문자열이다.)
  • hashpw(password, salt) 메소드를 이용하여 입력받은 비밀번호와 salt를 인자로 받아 암호화된 비밀번호를 생성한다.
  • 암호화된 비밀 번호를 user 테이블에 넣어 회원가입을 진행한다.

 

2. 로그인

  • 비밀번호 일치 여부를 확인하기 위해, user 테이블에 저장된 해당 아이디를 가진 회원의 해시 비밀번호 값을 tempPw 변수에 받아온다.
  • checkpw(pw, tempPw) 메소드를 이용하여 tempPw(암호화된 비밀번호)와 로그인 시 입력받은 비밀 번호가 같은 경우 true, 다른 경우 false를 반환한다.
  • true값이 반환되면 로그인이 성공적으로 이루어진다.

 

3. 회원 정보 수정

  • 로그인 시와 같은 원리로, 입력 아이디와 비밀번호에 해당하는 회원의 존재 여부를 확인하고, 수정할 비밀번호를 해시로 변경하여 해당 회원의 비밀번호와 이름 정보를 수정한다.

데이터 암호화

BCrypt 알고리즘

1. 개요

  • 블로피시 암호에 기반을 둔 암호화 단방향 해시 알고리즘으로서 복호화가 불가능하다.
  • Bcrypt의 검증은 암호화된 값이 가지고 있는 알고리즘, Cost Factor, Salt를 이용하며, 암호화된 값과의 비교를 통해 검증을 진행한다.
  • 시간이 지남에 따라 속도 저하를 위해 반복 횟수 증가가 수반될 수 있으므로, 연산 파워의 증가에도 브루트 포스 검색 공격에 대한 저항을 유지하게 된다.

2. 적용 서비스

  • 회원가입/로그인/회원정보 수집 : 비밀번호 암호화

3. 적용 서비스 적용 개요

1. 회원 가입

  • genSlat()메소드를 통해 솔트를 생성한다. (솔트는 해시함수에서 암호화된 비밀번호를 생성할 때 추가되는 바이트 단위의 임의의 문자열이다.)
  • hashpw(password, salt) 메소드를 이용하여 입력받은 비밀번호와 salt를 인자로 받아 암호화된 비밀번호를 생성한다.
  • 암호화된 비밀 번호를 user 테이블에 넣어 회원가입을 진행한다.

2. 로그인

  • 비밀번호 일치 여부를 확인하기 위해, user 테이블에 저장된 해당 아이디를 가진 회원의 해시 비밀번호 값을 tempPw 변수에 받아온다.
  • checkpw(pw, tempPw) 메소드를 이용하여 tempPw(암호화된 비밀번호)와 로그인 시 입력받은 비밀 번호가 같은 경우 true, 다른 경우 false를 반환한다.
  • true값이 반환되면 로그인이 성공적으로 이루어진다.

 

3. 회원 정보 수정

  • 로그인 시와 같은 원리로, 입력 아이디와 비밀번호에 해당하는 회원의 존재 여부를 확인하고, 수정할 비밀번호를 해시로 변경하여 해당 회원의 비밀번호와 이름 정보를 수정한다.