230203 사용자 패스워드를 전송하고 보관하는 방법

Jongleee·2023년 2월 3일
0

TIL

목록 보기
172/576

단방향 해시 함수(단방향)

어떤 수학적 연산 또는 알고리즘에 의해 원본 데이터를 매핑시켜 완전히 다른 암호화된 데이터로 변환시키는 것
ex) SHA, MD, HAS, WHIRLPOOL 등

무차별 대입 공격(브루트포스)의 가능성

  • 동일한 메시지는 동일한 다이제스트를 갖기 때문에 여러 값들을 대입하여 다이제스트들을 얻어 메시지의 원문을 찾을 수 있음
  • 이러한 다이제스트들의 테이블을 레인보우 테이블이라고 함
  • 해시 함수는 원래 빠른 데이터 검색을 위한 목적으로 설계되었기 때문에 원문과 다이제스트는 금방 얻을 수 있음

단방향 해시 함수 보완

해시 함수 여러 번 수행(Key Stretching)

  • 다이제스트를 여러 번 해시로 암호화 시키는 작업
  • 브루트포스를 무력화 시킬 수 있음

암호화
어떠한 데이터를 암호화 시켜 다른 이들이 직접 그 의미를 알지 못하도록 하는 작업

복호화
암호화 되어있는 데이터를 해독하는 작업

단방향
복호화가 불가능하다는 것이고 이를 '해싱'이라고 부른다.

양방향
'해싱'과는 다른 '암호화'이며 역으로 복호화도 가능하다.

다이제스트(digest)
해시에 의해 암호화된 데이터

솔트(Salt)
해시함수를 돌리기 전 원문에 임의의 문자열을 덧붙이는 것이다. 한 명의 패스워드가 유출되더라도 다른 사용자는 안전할 수 있다.

0개의 댓글