728x90

복호화가 불가능하고 암호화만 가능한 암호화 방식

 

해시 함수를 사용하여 암호화를 진행하며 아래와 같은 특성이 있다.

  • 항상 같은 길이의 문자열을 리턴한다
  • 문자열에 해시 함수 적용 시 서로 다른 문자열은 항상 다른 결과를 반환한다.
  • 반대로 서로 같은 문자열은 항상 같은 결과를 반환한다.
  • 같은 문자라면 결과가 항상 같다는 것

레인보우 테이블

항상 같은 결과를 반환하는 특성을 이용해 해시 함수 적용 전의 값을

알아낼 수 있도록 기록해두는 테이블

 

이 테이블이 유출되는 경우 해싱이 되었더라도 이전의 값을 알아낼 수 있어 위험하다.

 

솔트

단어 그대로 소금을 치듯 해싱 이전 값에 임의의 값을 더하여

데이터가 유출되어도 데이터를 알아내기 어렵게 만드는 방법

 

해싱 값이 유출되더라도 솔트가 유출되는 것이 아니라면 안전함

 

복호화가 불가능한 이유

해싱은 데이터를 사용하는 것이 목적이 아닌

데이터가 동일한지만 확인하는 것이 목적이기 때문에

같은 해싱값이라면 동일한 데이터이니 굳이 복호화를 할 필요가 없다.

 

그래서 비밀번호와 같은 데이터가 동일한지만 판단하면 되고

데이터 유출의 위험성이 없어야하는 부분에 대해서는

주로 해싱 기법을 사용한다.

'Back-End > Security' 카테고리의 다른 글

[스프링 시큐리티] 회원가입 구현  (0) 2023.07.10
[스프링 시큐리티] 기본  (0) 2023.07.10
Session  (0) 2023.07.07
Cookie  (0) 2023.07.07
HTTPS  (0) 2023.07.07

+ Recent posts