레인보우 테이블 공격은 비밀번호 해시에 대한 공격이다.
현대 시스템은 일반적으로 원문 비밀번호를 직접 저장하지 않고, 비밀번호를 해시 연산을 거쳐 저장합니다. 해시는 원래 비밀번호를 직접 계산할 수는 없지만, 공격자가 해시 값을 획득하면 여전히 이를 비교하여 원래의 비밀번호를 추측할 수 있습니다.
레인보우 테이블의 효율성은 사전 준비에서 온다.
레인보우 테이블은 현장에서 천천히 추측하는 것이 아니라, 사전 미리 구축된 많은 일반 비밀번호와 해당 해시 값의 대조 테이블입니다. 목표 해시를 얻은 후, 공격자는 테이블을 참조하여 비교함으로써 재계산 시간을 절약할 수 있습니다.
구식 시스템과 약한 비밀번호는 더 위험하다.
초기 시스템은 보안이 약하고, 사용자는 종종 생일, 일반 숫자, 짧은 비밀번호 또는 단순한 단어를 사용하여 해시 결과가 사전에 준비된 테이블에 걸리기 더 쉽습니다. 짧고 일반적인, 예측 가능한 비밀번호는 오프라인 비교 상황에서 더 불리합니다.
솔트는 공통 대조 테이블을 무효화한다.
현대 시스템은 비밀번호 해시 전에 랜덤 데이터를 추가합니다. 즉, 솔트입니다. 두 사용자가 동일한 비밀번호를 사용하더라도 서로 다른 해시 값을 생성합니다. 이는 공격자가 하나의 공통 레인보우 테이블을 모든 계정에 적용할 수 없게 만듭니다.
지금 더 흔한 리스크는 오히려 사용 습관이다.
대규모 현대 플랫폼은 일반적으로 더 강력한 해시 및 솔트 메커니즘을 채택하여 레인보우 테이블의 효과를 크게 줄입니다. 오히려 더 흔한 문제는 간단한 비밀번호, 반복되는 비밀번호, 이중 인증이 없는 로그인 페이지, 피싱 로그인 페이지, 보안 알림을 무시하는 것입니다. 구식 시스템이나 보안 설계가 약한 플랫폼은 여전히 특별한 주의가 필요합니다.
사용자에게 있어 가장 현실적인 방어 방법은 길고 독특한 비밀번호를 사용하고, 예측 가능한 조합을 피하며, 패스워드 관리자를 사용하여 다양한 비밀번호를 저장하고, 중요한 계정에 다중 인증을 활성화하는 것입니다.