CAYENNE+: HMAC-Derived Peppers for Compartmentalized Password Hashing
CAYNE+는 마스터 비밀값과 사용자별 상태로부터 계정별 페퍼를 유도함으로써, 낮은 인증 오버헤드를 유지하면서도 정적이고 전역적으로 공유되는 페퍼와 관련된 광범위한 침해 위험을 완화하여 비밀번호 보안을 강화하는 결정론적 프레임워크이다.
원본 논문은 CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
디지털 세상에서 비밀번호는 여전히 우리 온라인 생활의 가장 흔한 열쇠로 남아 있습니다. 비밀번호는 사용하기 쉽고, 설정 비용이 저렴하며, 우리가 소유한 거의 모든 시스템에서 작동합니다. 이러한 비밀번호를 안전하게 보호하기 위해, 컴퓨터 시스템은 사람들이 입력하는 실제 단어를 그대로 저장하지 않습니다. 대신, 비밀번호를 복잡한 수학적 기계에 통과시켜 '해시'라고 불리는 암호화된 코드로 변환합니다. 이 코드는 데이터베이스에 저장됩니다. 만약 해커가 그 데이터베이스를 훔치더라도, 그들은 실제 비밀번호가 아닌 암호화된 코드만을 보게 됩니다. 공격을 더욱 어렵게 만들기 위해, 보안 전문가들은 종 often '페퍼(pepper)'라고 불리는 비밀 재료를 추가합니다. 이 페퍼를 컴퓨터가 비밀번호를 암호화하기 전에 추가하는 숨겨진 양념이라고 생각해보십시오. 이 비밀은 데이터베이스와 떨어진 별도의, 매우 보호된 금고에 보관됩니다. 만약 해커가 데이터베이스는 훔쳤지만 금고는 훔치지 못했다면, 그들은 원래의 비밀번호를 찾아내기 위해 암호화를 되돌리는 작업을 쉽게 수행할 수 없습니다.
하지만 이 방식의 흔한 약점은 많은 시스템이 모든 사용자에 대해 정확히 동일한 비밀 페퍼를 사용한다는 점입니다. 만약 해커가 그 하나의 비밀을 탈취하는 데 성공한다면, 그들은 한 번에 시스템 내 모든 계정의 보호를 해제할 수 있습니다. 비밀이 너무 광범위하게 공유되었기 때문에 전체 방어 체계가 무너지는 것입니다. 일본의 이와테 현립 대학교 연구진은 이 비밀을 다루는 새로운 방법인 CAYENNE+를 제안했습니다. 모든 사람에게 하나의 고정된 비밀을 사용하는 대신, 이 새로운 방식은 각 개별 사용자마다 고유한 비밀을 생성합니다. 이는 보안 금고에 보관된 마스터 비밀과 특정 사용자에게 할당된 고유한 데이터를 결합함으로써 이루어집니다. 시스템은 이 두 가지 조각을 사용하여 그 사람만을 위한 맞춤형 페퍼를 수학적으로 생성합니다. 이는 해커가 마스터 비밀을 훔치더라도, 각 사용자의 고유 데이터를 찾지 못한다면 개별 계정의 비밀번호를 해독할 수 없음을 의미합니다.
연구진은 대규모 데이터베이스 유출 상황을 시뮬레이션하여 이 아이디어를 테스트했습니다. 그들은 20만 개의 가짜 사용자 계정이 있는 시스템을 만들고, 비밀번호를 해독하는 데 시간이 얼마나 걸리는지 확인하기 위해 다양한 시나리오를 설정했습니다. 첫 번째 시나리오에서는 해커가 비밀 페퍼를 전혀 가지고 있지 않다고 가정했습니다. 두 번째 시나리오에서는 전통적인 시스템에서 사용하는 단일 공유 비밀을 해커가 훔쳤다고 가정했습니다. 세 번째 시나리오에서는 해커가 데이터베이스, 마스터 비밀, 그리고 고유 사용자 데이터를 모두 훔쳤다고 가정했습니다. 마지막으로, 가장 현실적인 부분적 침해 상황을 테스트했습니다. 즉, 해커가 데이터베이스와 마스터 비밀은 가졌으나, 고유 사용자 데이터는 별도의 안전한 장소에 격리되어 있는 상황입니다.
결과는 해커가 모든 것을 가졌을 때, 새로운 시스템이 표준 암호화 방식 이상의 추가적인 보호를 제공하지 못함을 보여주었습니다. 즉, 비밀번호가 이전과 같은 속도로 해독되었습니다. 이는 시스템이 구성 요소의 비밀성에 의존한다는 점을 고려할 때 예상된 결과입니다. 그러나 진짜 가치는 부분적 침해 시나리오에서 나타났습니다. 해커가 마스터 비밀은 가졌지만 고유 사용자 데이터는 갖지 못한 경우, 비밀번호를 해독하는 데 걸리는 시간이 급격히 치솟았습니다. 시뮬레이션에서 연구진은 누락된 데이터로 인해 공격자가 비밀번호를 확인하기 전에 방대한 수의 가능성을 추측해야 함을 발견했습니다. 이들이 테스트한 특정 설정의 경우, 누락된 사용자 데이터의 조합을 시도하는 과정이 매 비밀번호 추측마다 반복되면서 작업량이 배가되었고, 이로 인해 계정 절반을 해독하는 데 걸리는 예상 시간이 약 45년에서 400만 년 이상으로 늘어났습니다.
연구는 또한 이 새로운 방식이 일반 사용자들의 로그인 속도에 어떤 영향을 미치는지 조사했습니다. 그들은 1만 명에서 20만 명까지 다양한 규모의 시스템에서 사용자들이 등록하고 로그인하는 데 걸리는 시간을 측정했습니다. 그 결과, 일상적인 로그인 시 새로운 시스템이 추가하는 지연 시간은 거의 느껴지지 않을 정도로 미미했습니다. 로그인에 걸리는 시간은 페퍼를 사용하지 않거나 전통적인 공유 페퍼를 사용하는 시스템과 거의 동일했습니다. 시스템은 사용자가 차이를 느끼지 못할 만큼 충분히 빨랐습니다. 연구진은 보안을 갱신하기 위해 고유 사용자 데이터를 주기적으로 변경하는 버전도 테스트했습니다. 이 갱신 과정은 비밀번호 코드를 다시 계산해야 하므로 약간의 속도 저하를 일으켰지만, 이는 갱신이 일어나는 특정 순간에만 발생했습니다. 대다수의 로그인 시에는 시스템이 이전과 같이 빠르게 유지되었습니다.
연구진은 자신들의 결과가 실제 라이브 시스템에 대한 공격이 아니라 시뮬레이션과 통제된 실험을 통해 나온 것임을 주의 깊게 명시했습니다. 그들은 고유 사용자 데이터를 생성하는 데 특정 방법을 사용했으며, 이로 인해 테스트 과정에서 가능한 결과의 수에 제한이 생겼음을 인정했습니다. 그들은 실제 배포 시에는 가능성의 수를 훨씬 더 크게 만들기 위해 더 복잡한 방법을 사용해야 한다고 언급했습니다. 또한, 해커가 마스터 비밀과 고별 사용자 데이터를 동시에 훔친다면 새로운 시스템이 추가적인 보호를 제공하지 못한다는 점도 지적했습니다. 이 새로운 접근 방식의 강점은 이 두 가지 정보를 서로 다른 안전한 장소에 분리하여 보관하는 것에 전적으로 달려 있습니다.
궁극적으로 이 연구는 사람들이 매일 사용하는 시스템의 속도를 늦추지 않으면서도, 모두에게 동일한 비밀을 사용하는 위험한 관행에서 벗어나는 것이 가능하다는 것을 보여줍니다. 비밀을 두 부분으로 나누고 이를 분리해 둠으로써, 시스템은 공격자가 정보의 일부만을 탈취했을 때 성공하기 훨씬 어렵게 만듭니다. 이 연구는 두 부분이 현실 세계에서 진정으로 분리되어 있다면, 이러한 구획화가 비밀번호 보안을 강화하는 실질적인 방법임을 시사합니다. 연구진은 이 방법이 강력한 비밀번호 해싱의 필요성을 대체하는 것은 아니지만, 부분적인 보안 침해가 발생했을 때 피해를 줄여주는 필수적인 방어 계층을 추가한다고 결론지었습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.