언어 선택

프라이버시 보호 비밀번호 크래킹: 안전한 해시 복구를 위한 프로토콜

술어 암호화와 가짜 해시를 사용하여 해시나 평문을 노출하지 않고 제3자 비밀번호 해시 크래킹을 가능하게 하는 3PC 프로토콜 분석.
strongpassword.org | PDF 크기: 4.6 MB
평점: 4.5/5
귀하의 평점
귀하는 이미 이 문서에 평점을 부여했습니다
PDF 문서 표지 - 프라이버시 보호 비밀번호 크래킹: 안전한 해시 복구를 위한 프로토콜

목차

1. 서론

비밀번호는 업계의 비밀번호 없는 솔루션 추진에도 불구하고 여전히 사용자 인증의 지배적인 형태로 남아 있습니다. 비밀번호 해시를 저장하는 것은 표준 관행이지만, 이를 크래킹을 통해 강도를 테스트하는 것은 자원 집약적입니다. 이 작업을 제3자 서버에 아웃소싱하면 해시 다이제스트와 복구된 평문이 모두 노출되어 상당한 개인정보 보호 위험이 발생합니다. 본 논문은 개인정보 보호 비밀번호 크래킹(3PC) 프로토콜을 소개하며, 이를 통해 클라이언트는 대상 해시나 결과 비밀번호를 공개하지 않고 제3자의 연산 능력을 활용하여 해시 크래킹을 수행할 수 있습니다.

2. The 3PC Protocol

3PC 프로토콜은 아웃소싱된 암호 해독에서의 신뢰 문제를 해결하기 위해 설계되었습니다. 그 핵심 혁신은 제3자가 클라이언트의 실제 데이터에 대해 아무것도 알지 못한 채 계산 집약적인 작업을 수행할 수 있도록 하는 데 있습니다.

2.1 Core Mechanism & Predicate Function

이 프로토콜은 해시 함수에 맞게 조정된 술어 암호화 개념을 기반으로 구축됩니다. 클라이언트는 목표 해시 $H(p)$를 직접 전송하지 않습니다. 대신, 익명성 집합 실제 해시와 $k-1$개의 신중하게 구성된 디코이 해시가 혼합되어 있습니다. 제3자 서버의 역할은 이를 크랙하는 것입니다. 모두 제공된 비밀번호 사전 또는 규칙 집합을 사용하여 이 집합 내 해시를 대상으로 합니다.

키는 술어 함수 $f$. 서버는 익명성 집합 내 각 해시에 대해 후보 비밀번호 $p'$를 평가합니다. 이 함수는 $H(p')$가 집합 내 해시 $H_i$와 일치할 때만 $f(H(p'), H_i) = 1$이 되도록 정의됩니다. 서버는 $f=1$을 만족하는 후보 비밀번호 집합을 반환합니다. 아무것도 어떤 특정 해시(실제 또는 가짜)에 대해 일치가 발견되었는지 알 수 없이, 집합 내의 해시를.

2.2 Decoy Hash Generation & Anonymity Set

그럴듯한 디코이(decoy) 생성은 보안에 매우 중요합니다. 서버에게 디코이 해시는 실제 해시와 구분할 수 없어야 합니다. 본 논문은 대상 해시 함수(예: NTLM, SHA-256)의 출력 공간과 일치하는 분포에서 디코이를 생성하는 방법을 제안합니다. 이를 통해 실제 해시에 대한 $k$-익명성을 보장합니다. 클라이언트는 그럴듯한 부인(plausible deniability)을 유지합니다. 클라이언트조차도 집합을 제출한 후 어느 해시가 원래 목표였는지를 암호학적으로 증명할 수 없기 때문입니다.

핵심 통찰(Key Insights)

  • 집합 내에서의 불명확성을 통한 프라이버시: 보안은 해시 자체를 전통적으로 암호화하는 데서가 아니라, 디코이(가짜 데이터) 사이에 실제 해시를 숨기는 데서 비롯됩니다.
  • 계산 부담의 전환: 클라이언트의 오버헤드는 익명성 집합 생성에 있으며, 무차별 대입/워드리스트 공격의 주요 작업은 완전히 아웃소싱됩니다.
  • Constant-Time Lookup Promise: 프로토콜은 조회 시간이 익명성 집합 크기 $k$와 무관하며, 오직 서버의 IOPS에 의해서만 제한된다고 주장합니다.

3. Technical Implementation & Analysis

3.1 수학적 기초

프로토콜의 보안은 확률적으로 모델링될 수 있습니다. $S$를 크기가 $k$인 익명성 집합으로, 여기에는 하나의 실제 해시 $H_r$와 $k-1$개의 디코이 $H_{d1}...H_{d(k-1)}$이 포함되어 있다고 가정합니다. 서버가 집합과 크래킹 결과를 관찰한 후 실제 해시를 정확히 추측할 확률은 완벽한 디코이를 가정할 때 최대 $1/k$입니다.

서버에 대한 정보 누출 $\mathcal{L}$은 최소 엔트로피를 사용하여 정량화할 수 있습니다: $\mathcal{L} \leq -\log_2(1/k) = \log_2(k)$ 비트. 클라이언트는 $k$를 조정하여 누출을 제어할 수 있습니다. 후보 $p'$에 대한 모든 $k$개의 해시에 대한 술어 함수 평가는 벡터로 표현될 수 있습니다: $\vec{R} = [f(H(p'), H_1), f(H(p'), H_2), ..., f(H(p'), H_k)]$. 일치하는 아무것도 위치는 $p'$을 클라이언트에게 반환합니다.

3.2 Performance & Scalability

본 논문은 주요 병목 현상이 암호화 연산이 아닌 서버의 크래킹 설정(예: GPU/FPGA 메모리 대역폭)의 초당 입출력 작업(IOPS)이라고 주장합니다. 서버는 각 후보 패스워드를 모든 $k$개의 해시에 대해 테스트해야 하므로, 작업 계수는 이론적으로 선형적으로 증가합니다($O(k)$). 그러나 병렬 하드웨어에서 효율적인 일괄 처리를 활용함으로써 실제적인 $k$ 값에 대해 주장된 "상수 시간" 조회에 근접하며, 효과적인 속도 저하를 최소화할 수 있습니다.

4. Experimental Results & Chart Description

저자들은 FPGA 아키텍처에서 개념 증명을 구현했습니다. 제공된 발췌문에 구체적인 성능 수치는 자세히 설명되지 않았지만, 이 논문은 프로토콜의 실현 가능성을 입증했다고 주장합니다.

가상 성능 차트 (프로토콜 설명 기반): 선형 차트는 Y축에 "유효 크래킹 속도"(예: 초당 해시 수)를, X축에 "익명성 집합 크기(k)"를 표시할 가능성이 높습니다. traditional attack 단일 해시에 대한 것은 높고 평평한 선이 될 것입니다. 곡선은 3PC 프로토콜 k가 증가함에 따라 감소하는 모습을 보이겠지만, FPGA/GPU에서의 최적화된 일괄 처리로 인해 기울기는 단순한 선형 예측보다 완만할 것입니다. 세 번째 선은 "이론적 상한(IOPS 한계)"를 나타낼 수 있으며, 3PC 곡선의 점근선 역할을 합니다.

5. 분석 프레임워크 예시 사례

시나리오: 프리랜서 침투 테스터(Client)가 고객 시스템에서 NTLM 해시를 획득합니다. 비밀번호 정책은 알려져 있습니다: 9자리 영숫자 혼합. 테스터는 적시에 크래킹하기 위한 GPU 성능이 부족합니다.

3PC 프로토콜 적용:

  1. 클라이언트 설정: 테스터는 프라이버시 매개변수를 설정합니다(예: $k=100$). 실제 NTLM 해시는 $H_{real}$입니다. 클라이언트 소프트웨어는 암호학적으로 그럴듯한 99개의 가짜 NTLM 해시를 생성하여 익명성 집합 $S$를 만듭니다.
  2. 서버 참여: 테스터는 $S$를 상용 크래킹 서비스(Server)에 전송하여, 9자리 영숫자 비밀번호에 대한 사전 및 규칙을 사용하여 모든 해시를 크래킹해 달라는 요청을 합니다.
  3. 서버 처리: 서버는 크래킹 도구를 실행합니다. 생성된 각 후보 비밀번호에 대해 NTLM 해시를 계산하고, 배치 작업으로 $S$ 내의 모든 100개 해시와 일치하는지 확인합니다.
  4. 결과 반환: 서버는 일치한 모든 비밀번호 목록을 반환합니다. 아무것도 $S$에 있는 해시입니다. 어떤 해시가 일치했는지는 명시하지 않습니다.
  5. 클라이언트 필터링: 테스터는 원본 해시 $H_{real}$을 알고 있습니다. 그들은 반환된 각 비밀번호의 해시를 계산하여 $H_{real}$과 일치하는 것을 식별함으로써 목표 비밀번호를 복구합니다. 다른 반환된 비밀번호들은 크랙된 디코이에 해당하며 폐기됩니다.
서버는 100개의 해시 중 하나가 테스터에게 속했다는 사실만 알 수 있을 뿐, 어느 것인지는 알 수 없으며, 관련성을 모른 채 많은 크랙된 비밀번호를 보게 됩니다.

6. Core Insight & Analyst's Perspective

핵심 인사이트: 3PC 프로토콜은 암호학의 근본적인 한계인 해시 함수의 단방향성을 프라이버시 기능으로 전환하는 영리하고 실용적인 해결책입니다. 이 프로토콜은 패스워드 크래킹에서 목표가 프로세스 그러나 숨기기 위한 타겟 그리고 결과 이는 프로세스 자체의 내재적 노이즈 내에서 이루어집니다. 이는 "뚫을 수 없는" 암호화보다는 전략적 정보 은폐에 가깝습니다. Tor와 같은 믹스 네트워크가 메시지의 출처를 군중 속에 숨기는 방식과 그 정신이 유사합니다.

논리적 흐름: 논리는 타당하지만, 결정적이고 종종 간과되는 가정에 달려 있습니다: 생성 능력 완벽하게 구별할 수 없는 가짜 데이터. 서버가 통계적으로 실제 해시와 가짜 데이터를 구별할 수 있다면(예: 이전 유출 사건의 빈도나 해시 생성 패턴을 기준으로), $k$-익명성 모델은 붕괴됩니다. 논문에서 해시 함수에 대한 술어 암호화를 확장한 것은 새로운 접근이지만, 실제 보안은 술어 함수 자체보다 가짜 데이터 생성 알고리즘의 품질에 더 의존합니다.

Strengths & Flaws: 그 강점은 실제로 충분히 다루어지지 않은 틈새 시장(프라이버시에 민감한 침투 테스터)에 직접 적용 가능하다는 점과 클라이언트 측면에서 비교적 가벼운 암호화 오버헤드에 있습니다. 많은 프라이버시 보호 시스템과 마찬가지로 주요 결함은 trust-but-verify 역설. 클라이언트는 서버가 프로토콜을 정확히 실행하고 프로세스를 조작하지 않을 것(예: 타이밍을 연관시키기 위해 중간 상태를 기록하는 등)을 신뢰해야 합니다. 더 강력한 이론적 보장을 제공하지만 실용적으로는 너무 느린(젠트리의 선구적 연구와 같은 초기 구현에서 볼 수 있듯이) 완전 동형 암호화(FHE)와 같은 고급 암호 프로토콜과 달리, 3PC는 절대적인 암호학적 보안을 실용적인 효율성과 맞바꿉니다. 이는 타당한 엔지니어링적 절충이지만, 분명히 전달되어야 합니다.

실행 가능한 통찰: 보안 팀에게 이 프로토콜은 안전한 패스워드 감사, 특히 GDPR과 같은 규정이 민감한 해시 공유를 제한할 때 유용한 도구입니다. 즉각적인 조치는 디코이 생성 모듈을 구현하고 감사하는 것입니다. 연구자들에게 다음 과제는 능동적 서버 공격에 대해 프로토콜을 강화하고 다른 PET(개인정보 보호 기술)들과 통합하는 것입니다. 미래는 단순히 크래킹을 비공개로 만드는 것이 아니라, 인증 프로토콜에서 단순 암호화에서 영지식 증명으로의 진화처럼, 일련의 개인정보 보호 보안 운영을 구축하는 것입니다. 공격적 보안 분야에서 3PC는 그 방향으로의 유망한 첫걸음입니다.

7. Future Applications & Research Directions

  • 규정 준수 기반 보안 감사: 규제 산업(금융, 의료)이 내부 감사 팀에게조차도 패스워드 해시를 노출하지 않고 직원 계정 전반에 걸쳐 엄격한 패스워드 강도 테스트를 수행할 수 있도록 하여 GDPR/CCPA 준수를 지원합니다.
  • 연합 해시 분석: 여러 조직이 공동의 위협 행위자(예: 랜섬웨어 그룹)의 패스워드 덤프에 대한 크래킹 작업에 협력적으로 기여할 수 있으며, 참가자 중 누구도 자신의 내부 해시를 공개하거나 다른 참가자의 해시를 볼 필요가 없습니다.
  • 패스워드 유출 경보 서비스와의 통합(Integration with Password Breach Alerting Services): 사용자는 실제 해시를 공개하지 않고도 자신의 패스워드 해시에서 도출된 익명성 집합을 "Have I Been Pwned"와 같은 서비스에 제출할 수 있어, 유출 확인 시 개인정보 보호를 강화할 수 있습니다.
  • 연구 방향 - 양자 내성(Post-Quantum Resilience): 양자 컴퓨팅 시대의 맥락에서 프로토콜의 보안성 조사. 해시 함수 자체는 양자 공격에 내성을 가질 수 있지만, 디코이 생성 및 술어 함수 메커니즘은 양자 적대적 모델에 대한 분석이 필요함.
  • 연구 방향 - 능동적 공격자 모델(Active Adversary Models): 프로토콜을 이탈하는(예: 사이드 채널을 도입하는 등) 적극적으로 악의적인 서버를 고려하도록 보안 모델을 확장하는 것은 실제 환경에서의 채택에 매우 중요합니다.

8. References

  1. Bonneau, J., Herley, C., van Oorschot, P. C., & Stajano, F. (2012). The quest to replace passwords: A framework for comparative evaluation of web authentication schemes. IEEE Symposium on Security and Privacy.
  2. FIDO Alliance. (2022). FIDO: 빠르고 안전한 패스워드 없는 로그인의 미래. https://fidoalliance.org/
  3. Gentry, C. (2009). 완전 동형 암호화 방식 (박사 학위 논문, Stanford University). (계산적 프라이버시 기술 비교용).
  4. NIST. (2020). Digital Identity Guidelines (NIST 특별 간행물 800-63B).
  5. Weir, M., Aggarwal, S., de Medeiros, B., & Glodek, B. (2009). Password cracking using probabilistic context-free grammars. IEEE Symposium on Security and Privacy.
  6. Zhao, F., & Halderman, J. A. (2019). 패스워드 강도가 추측 공격에 미치는 영향 측정USENIX Security Symposium.