Privacy-Preserving Keystroke Dynamics Authentication Using CKKS Homomorphic Encryption
본 논문은 생체 인식 벡터가 전체 과정 동안 기밀성을 유지하도록 보장하면서, 암호화된 유클리드 거리 제곱 계산을 통해 안전한 템플릿 매칭을 가능하게 하는 CKKS 동형 암호 체계로 구현된 프라이버시 보존형 키스트로크 역학 인증 시스템을 제시한다.
원본 논문은 CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신이 비밀 클럽의 문을 열려고 한다고 상상해 보세요. 하지만 열쇠나 비밀번호 대신, 문지기는 당신이 타이핑하는 방식을 확인합니다. 이것을 **키스트로크 다이내믹스(keystroke dynamics)**라고 부르는데, 이는 당신이 키를 누르는 속도, 키를 누르고 있는 시간, 그리고 글자 사이의 미세한 휴지기 등 당신만의 고유한 타이핑 리듬을 통해 당신을 식별하는 방법입니다. 이것은 마치 시간에 의해 만들어진 디지털 지문과 같습니다. 하지만 한 가지 문제가 있습니다. 당신의 리듬이 클럽의 기록과 일치하는지 확인하기 위해, 컴퓨터는 보통 당신의 타이핑 데이터를 눈에 보이는 그대로 훔쳐봐야 합니다. 만약 해커가 이 데이터를 훔친다면, 비밀번호처럼 바꿀 수 있는 것이 아닙니다. 당신의 타이핑 스타일은 영구적이기 때문입니다.
이를 해결하기 위해 과학자들은 **동형 암호(homomorphic encryption)**라는 마법 같은 기술을 사용합니다. 이것을 불투명하고 잠긴 상자라고 생각해 보세요. 당신은 데이터를 이 상자 안에 넣을 수 있고, 컴퓨터는 상자를 열거나 그 안의 내용물을 보지 않고도 상자 안의 데이터로 수학 연산을 수행할 수 있습니다. 이는 요리사가 재료들이 담긴 유리병이 납으로 만들어져서 안의 재료는 보이지 않지만, 마지막에 완성된 케이크만을 드러내는 상태에서 재료를 썰고, 섞고, 굽는 것과 같습니다. 이 논문은 이 "잠긴 상자" 마법을 타이핑 리듬에 구체적으로 어떻게 적용하여, 당신의 비밀스러운 타이핑 스타일이 당신이 누구인지 확인하는 동안에도 숨겨진 상태로 유지될 수 있는지 탐구합니다.
이 논문의 핵심 아이디어: 잠긴 상자 속의 비밀 타이핑 테스트
니푼 마하아라치(Nipun Mahaarachchi)가 이끄는 연구진은 이 두 가지 아이디어를 결합한 작동 가능한 프로토타입을 구축했습니다. 그것은 바로 특정 단어를 타이핑하는 고유한 리듬과 동형 암호라는 "잠긴 상자" 수학을 결합한 것입니다. 그들은 새로운 종류의 마법 상자를 발명한 것이 아니라, 대신 그 상자를 실용적일 만큼 작고 가볍게 만드는 방법을 찾아냈습니다.
이 시스템이 작동하는 방식은 다음과 같습니다:
1. "7단계"의 춤
대부분의 생체 인식 시스템은 거대하고 복잡한 데이터(예: 3D 얼굴 스캔)를 사용하며, 이는 매우 무겁고 암호화하기 어렵습니다. 이 팀은 아주 작은 것을 선택했습니다: 바로 "password"라는 단어입니다. 당신이 이 여덟 글자 단어를 타이핑할 때, 시스템은 글자 자체를 보는 것이 아니라 각 키를 누르는 데 걸리는 시간만을 관찰합니다. 여덟 개의 키가 있으므로, 키 사이에는 일곱 개의 간격(또는 간격 시간)이 존재합니다. 이로 인해 일곱 개의 숫자로 이루어진 아주 짧은 목록이 생성됩니다.
2. "표준화된" 리듬
사람마다 타이핑 속도는 제각각입니다. 어떤 날은 서두를 수도 있고, 다른 날은 피곤할 수도 있습니다. 이를 해결하기 위해 시스템은 당신의 타이핑 시간을 "정규화(normalize)"합니다. 이는 마치 무용 강사가 "당신이 얼마나 빨리 춤을 추든 상관없으니, 첫 연습 때와 같은 리듬을 유지하세요"라고 말하는 것과 같습니다. 시스템은 당신의 연습 세션에서 나타난 평균 리듬과 일반적인 변동 폭을 계산한 다음, 새로운 타이핑 시도가 이 표준에 맞도록 조정합니다.
3. 잠긴 상자 매칭
여기서 마법이 일어납니다.
- 등록(Enrollment): 당신은 시스템에 당신의 리듬을 가르치기 위해 단어를 몇 번 타이핑합니다. 시스템은 이를 "템플릿"(당신의 리듬을 담은 비밀 레시피)으로 변환하고, CKKS라고 불리는 방법을 사용하여 암호화된 상자 안에 잠급니다.
- 로그인(Login): 나중에 로그인을 시도할 때, 시스템은 당신의 새로운 타이핑 리듬을 두 번째 상자에 잠급니다.
- 수학 연산: 컴퓨터는 이 두 잠긴 상자를 가져와 "제곱 유클리드 거리(squared Euclidean distance)"라는 특별한 수학 연산을 수행합니다. 컴퓨터는 숫자를 뺀 다음, 그 결과를 제곱하고 모두 더합니다. 이 모든 과정은 데이터가 상자 안에 암호화된 상태로 진행됩니다. 컴퓨터는 실제 숫자를 절대 볼 수 없으며, 오직 잠긴 컨테이너 위에서 일어나는 수학적 연산만을 봅니다.
4. 최종 공개
수학 연산이 완료되면, 컴퓨터는 하나의 숫자, 즉 "거리 점수(distance score)"를 갖게 됩니다. 이 숫자는 당신의 새로운 타이핑 리듬이 이전의 리듬과 얼마나 다른지를 알려줍니다.
- 점수가 낮다면(즉, 당신이 매우 유사하게 타이핑했다면), 상자는 그 작은 숫자를 드러낼 만큼만 열리고 시스템은 **승인(ACCEPT)**을 출력합니다.
- 점수가 높다면(즉, 사칭범처럼 리듬이 완전히 다르다면), 시스템은 **거부(REJECT)**를 출력합니다.
그들이 발견한 것 (그리고 발견하지 못한 것)
저자들은 이를 "개념 증명(proof-of-concept, 아이디어가 가능한지 확인하는 작동 모델)"으로 테스트했습니다. 그들은 실제 타이핑 데이터로 시뮬레이션을 실행했으며, 시스템이 가짜 사용자를 잡아낼 수 있는지 확인하기 위해 가짜 "사칭 데이터"도 생성했습니다.
- 결과: 시스템은 작동했습니다. 시스템은 실제 사용자와 가짜 사칭자를 성공적으로 구분해 냈습니다. 데이터 목록이 매우 짧았기 때문에(단 7개의 숫자), "잠긴 상자" 수학은 단 20번의 연산(7번의 뺄셈, 7번의 제곱, 6번의 덧셈)만을 필요로 했습니다.
- 한계점: 이 논문은 이것이 아직 전 세계를 대상으로 할 준비가 된 완성된 제품이 아님을 매우 명확히 밝히고 있습니다. 이 시스템은 단 하나의 컴퓨터에서 고정된 단어와 적은 횟수의 테스트 실행으로 테스트되었습니다. 저자들은 아직 이 시스템이 수천 명의 서로 다른 사람이나 다양한 기기에서 완벽하게 작동한다는 것을 입증하지 못했다고 인정했습니다. 또한, 매칭 과정은 잠긴 상자 안에서 이루어지지만, 원본 타이핑 데이터는 상자에 잠기기 전 웹 브라우저에서 여전히 노출된다는 점도 언급했습니다.
이것이 왜 중요한가
주요 핵심은 단순하고 낮은 차원의 특징(단 7개의 타이밍 숫자)을 선택함으로써, "잠긴 상자" 수학을 빠르고 가볍게 만들었다는 점입니다. 보통 복잡한 데이터를 암호화하는 것은 무거운 금고를 옮기는 것처럼 느리고 무겁습니다. 하지만 아주 작은 벡터를 사용함으로써, 그들은 보안 시스템이 느려지지 않으면서도 강력한 프라이버시를 유지할 수 있음을 보여주었습니다.
저자들은 이 접근 방식이 "양자 내성(post-quantum)" 보안(미래의 슈퍼컴퓨터조차 뚫을 수 없는 보안)을 향한 디딤돌이 될 수 있다고 제안하지만, 이것이 로그인 표준이 되기 위해서는 더 많은 사용자를 대상으로 한 추가 테스트가 필요함을 강조합니다. 현재로서는, 프라이버시와 속도가 타이핑 기반 보안의 세계에서 공존할 수 있음을 보여주는 성공적인 실험입니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.