웹프로젝트
데이터 암호화
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. 회원 정보 수정
- 로그인 시와 같은 원리로, 입력 아이디와 비밀번호에 해당하는 회원의 존재 여부를 확인하고, 수정할 비밀번호를 해시로 변경하여 해당 회원의 비밀번호와 이름 정보를 수정한다.