본문 바로가기
← 메인으로
회원 가입

비밀번호 추천

게시 2024-01-14

비밀번호 추천 프로세스를 단계별로 나타낸 흐름도. 왼쪽부터 비밀번호 생성 규칙(최소 길이, 대소문자 포함, 숫자·특수문자 포함, 연속 문자 사용 제한), AI 기반 난수 생성(Python secrets 모듈, LSTM·GAN 모델 활용, 취약 패턴 학습 및 방지), 암호화 저장(bcrypt 해싱, 솔트 추가, 레인보우 테이블 방어) 순서로 이어지며, 최종적으로 사용자가 추천된 비밀번호를 선택하는 구조.

  • 사용자는 기억하기 쉬운 비밀번호를 선호하지만, 보안성을 높이려면 복잡한 조합이 필수
  • 직접 만들어도 실제로는 보안성이 낮은 경우가 많아 AI 추천 방식이 필요
  • AI는 사용자 입력을 분석하는 게 아니라 난수 기반으로 누구도 예측할 수 없는 비밀번호를 자동 생성
  • 추천 프로세스는 생성 규칙 설정 → 난수 생성 → 유효성 검증 → 암호화 저장 → 사용자 선택 순서로 흐름이 이어짐

생성 규칙 : 최소 12자 이상, 대소문자·숫자·특수문자 포함, 동일 문자 3개 이상 연속 사용 금지, 사전에 있는 단어 사용 금지 등 기본 규칙을 미리 설정

난수 생성 : Python의 secrets 라이브러리로 규칙에 맞는 난수를 생성. LSTM이나 GAN 같은 머신러닝 모델을 활용하면 취약한 패턴을 학습해서 더 안전한 난수를 만들 수 있음. 생성된 비밀번호 예시 : zQ7%j2P#tR9$kL5!

유효성 검증 : 생성된 난수가 설정한 규칙을 충족하는지 다시 한번 확인

암호화 저장 : 사용자가 선택한 비밀번호는 bcrypt로 해싱해서 저장. 이때 솔트(salt)라는 임의의 값을 추가해 동일한 비밀번호도 매번 다른 해시값이 생성되도록 함. 이렇게 하면 해커의 레인보우 테이블 공격을 방어할 수 있음