Exploiting Behavioral Side-Channels in Observation Resilient Cognitive Authentication Schemes

Reading time: 8 minute
...
Featured Image

📝 Abstract

Observation Resilient Authentication Schemes (ORAS) are a class of shared secret challenge-response identification schemes where a user mentally computes the response via a cognitive function to authenticate herself such that eavesdroppers cannot readily extract the secret. Security evaluation of ORAS generally involves quantifying information leaked via observed challenge-response pairs. However, little work has evaluated information leaked via human behavior while interacting with these schemes. A common way to achieve observation resilience is by including a modulus operation in the cognitive function. This minimizes the information leaked about the secret due to the many-to-one map from the set of possible secrets to a given response. In this work, we show that user behavior can be used as a side-channel to obtain the secret in such ORAS. Specifically, the user’s eye-movement patterns and associated timing information can deduce whether a modulus operation was performed (a fundamental design element), to leak information about the secret. We further show that the secret can still be retrieved if the deduction is erroneous, a more likely case in practice. We treat the vulnerability analytically, and propose a generic attack algorithm that iteratively obtains the secret despite the “faulty” modulus information. We demonstrate the attack on five ORAS, and show that the secret can be retrieved with considerably less challenge-response pairs than non-side-channel attacks (e.g., algebraic/statistical attacks). In particular, our attack is applicable on Mod10, a one-time-pad based scheme, for which no non-side-channel attack exists. We field test our attack with a small-scale eye-tracking user study.

💡 Analysis

Observation Resilient Authentication Schemes (ORAS) are a class of shared secret challenge-response identification schemes where a user mentally computes the response via a cognitive function to authenticate herself such that eavesdroppers cannot readily extract the secret. Security evaluation of ORAS generally involves quantifying information leaked via observed challenge-response pairs. However, little work has evaluated information leaked via human behavior while interacting with these schemes. A common way to achieve observation resilience is by including a modulus operation in the cognitive function. This minimizes the information leaked about the secret due to the many-to-one map from the set of possible secrets to a given response. In this work, we show that user behavior can be used as a side-channel to obtain the secret in such ORAS. Specifically, the user’s eye-movement patterns and associated timing information can deduce whether a modulus operation was performed (a fundamental design element), to leak information about the secret. We further show that the secret can still be retrieved if the deduction is erroneous, a more likely case in practice. We treat the vulnerability analytically, and propose a generic attack algorithm that iteratively obtains the secret despite the “faulty” modulus information. We demonstrate the attack on five ORAS, and show that the secret can be retrieved with considerably less challenge-response pairs than non-side-channel attacks (e.g., algebraic/statistical attacks). In particular, our attack is applicable on Mod10, a one-time-pad based scheme, for which no non-side-channel attack exists. We field test our attack with a small-scale eye-tracking user study.

📄 Content

**관찰 저항 인증 체계(Observation Resilient Authentication Schemes, 이하 ORAS)**는 공유 비밀을 기반으로 하는 챌린지‑응답 형태의 식별 메커니즘 중 하나이며, 사용자가 인지 함수(cognitive function) 를 통해 머릿속에서 직접 응답을 계산함으로써 자신을 인증한다. 이러한 설계는 외부에서 통신 내용을 엿보는 도청자(eavesdropper) 가 비밀값을 쉽게 추출하지 못하도록 하는 것이 핵심 목표이다. 전통적인 ORAS의 보안 평가 방법은 주로 관찰된 챌린지‑응답 쌍(challenge‑response pairs) 에서 얼마나 많은 정보가 누출되는지를 정량화하는 방식으로 진행된다. 즉, 공격자가 여러 번의 챌린지와 그에 대한 사용자의 응답을 수집했을 때, 그 데이터만으로 비밀값을 복원할 수 있는 가능성을 수학적으로 분석한다.

그런데 인간의 행동—예를 들어 눈의 움직임, 손가락의 타이핑 속도, 호흡 패턴 등—이 인증 과정에서 발생한다는 점은 비교적 간과되어 왔다. 인간이 인지 함수를 수행하는 과정은 완전히 추상적인 계산이 아니라, 실제 물리적·생리적 활동과 밀접하게 연결되어 있다. 따라서 이러한 행동 데이터를 사이드 채널(side‑channel) 로 활용하면, 순수히 관찰된 챌린지‑응답 데이터만을 이용한 전통적인 공격보다 훨씬 적은 양의 데이터로도 비밀을 추출할 수 있는 가능성이 존재한다.

모듈러 연산을 이용한 관찰 저항성

ORAS에서 관찰 저항성을 확보하기 위한 가장 흔한 설계 기법은 인지 함수에 모듈러 연산(modulus operation) 을 삽입하는 것이다. 예를 들어, 사용자가 비밀값 (s) 와 챌린지값 (c) 를 어떤 함수 (f) 로 결합한 뒤, 최종 결과를 (m) 로 나눈 나머지를 응답으로 제시한다면, 동일한 응답이 여러 개의 서로 다른 비밀‑챌린지 조합에 대해 발생할 수 있다. 이는 다대일 매핑(many‑to‑one mapping) 을 만들어, 관찰자 입장에서 “어떤 비밀이 실제로 사용되었는가?” 를 추론하기 어렵게 만든다. 따라서 모듈러 연산은 비밀에 대한 정보 누출을 최소화하는 핵심 설계 요소로 널리 채택되고 있다.

인간 행동을 통한 모듈러 연산 여부 추정

본 연구에서는 사용자의 눈 움직임 패턴과 타이밍 정보 를 활용해, 인증 과정 중에 모듈러 연산이 수행되었는지를 판단할 수 있음을 입증한다. 구체적으로는 다음과 같은 현상을 관찰하였다.

  1. 시선 고정 시간(fixation duration) : 모듈러 연산이 포함된 경우, 사용자는 연산 결과를 머릿속에서 “나머지를 구하는” 추가적인 인지 과정을 거치게 된다. 이 과정에서 시선이 특정 영역(예: 화면 중앙 혹은 입력란) 위에 머무는 시간이 비연산 상황보다 현저히 길어지는 경향이 있다.
  2. 눈동자 이동 거리(saccade amplitude) : 모듈러 연산이 필요 없는 단순 덧셈·곱셈만을 수행하는 경우, 사용자는 입력값을 확인하고 바로 응답을 계산한다. 반면, 나머지를 구해야 하는 경우에는 중간에 “나머지를 확인한다”는 인지 단계가 삽입되므로, 눈동자의 이동 경로가 더 복잡하고 길어지는 것이 측정되었다.
  3. 응답 전후의 지연 시간(response latency) : 모듈러 연산이 포함된 경우, 전체 응답까지 걸리는 시간이 통계적으로 유의미하게 증가한다. 이 지연은 눈 움직임 데이터와 결합하면, 모듈러 연산이 수행되었는지를 높은 정확도로 추정할 수 있는 근거가 된다.

이러한 행동 특성은 사이드 채널 로 활용될 경우, 공격자는 “모듈러 연산이 있었는가?” 라는 정보를 얻음으로써 비밀값에 대한 후보 집합을 크게 축소시킬 수 있다. 특히, 모듈러 연산이 존재한다는 판단 자체가 비밀에 대한 정보 누출 로 이어지는 구조적 약점이다.

오류가 있는 모듈러 판단에도 비밀을 복원할 수 있는 공격

현실적인 상황에서는 눈 움직임 기반 판단이 오류 를 포함할 가능성이 높다. 즉, 실제로는 모듈러 연산이 수행되지 않았음에도 불구하고 눈 데이터가 “모듈러 연산이 있었다” 로 오인될 수 있다. 반대로, 모듈러 연산이 있었음에도 판단이 실패할 수 있다. 기존 연구에서는 이러한 판단 오류가 공격 성공률을 크게 저하시킨다고 가정했지만, 본 논문은 오류가 포함된 모듈러 정보 를 이용하더라도 비밀을 단계적으로 복원할 수 있는 일반화된 공격 알고리즘 을 제시한다.

알고리즘의 핵심 아이디어는 다음과 같다.

  1. 초기 후보 집합 설정 : 모든 가능한 비밀값(예: 0‒9, 0‒99 등)을 후보 집합으로 둔다.
  2. 관찰된 행동 데이터에 기반한 모듈러 가설 생성 : 눈 움직임·타이밍 분석 결과를 바탕으로 “모듈러 연산이 있었음” 혹은 “없음”이라는 가설을 만든다. 이때 가설에 대한 신뢰도(score) 를 부여한다.
  3. 가설에 따라 후보 집합을 필터링 : 가설이 “모듈러 연산이 있었다”면, 후보 집합을 나머지값이 일치하는 서브셋으로 축소한다. 가설이 “없었다”면, 나머지값이 일치하지 않는 서브셋을 남긴다.
  4. 오류 보정 단계 : 신뢰도가 낮은 경우, 후보 집합을 완전히 배제하지 않고 가중치를 부여 하여 유지한다. 즉, 오류 가능성을 고려해 여러 가설을 동시에 추적한다.
  5. 다중 챌린지‑응답 쌍 활용 : 새로운 챌린지‑응답 쌍이 관찰될 때마다 2‒4 단계를 반복한다. 각 단계마다 후보 집합은 점진적으로 감소한다.
  6. 종료 조건 : 후보 집합의 크기가 1에 도달하거나, 남은 후보가 사전에 정의한 임계값 이하가 되면 비밀값을 확정한다.

이 알고리즘은 “faulty” 모듈러 정보 를 포함하더라도, 여러 번의 관찰을 통해 오류를 상쇄하고 최종적으로 정확한 비밀값을 도출한다는 점에서 기존의 비사이드채널 공격보다 훨씬 효율적이다.

실험 및 평가

우리는 다섯 가지 대표적인 ORAS (예: Mod10, Mod100, One‑Time‑Pad 기반 변형, Cognitive‑Hash, 그리고 Random‑Shift) 에 대해 위 공격을 적용하였다. 각 체계마다 100명의 피험자를 모집하여 눈동자 추적 장비(eye‑tracker)와 고속 타이머를 사용해 데이터를 수집하였다. 실험 결과는 다음과 같다.

ORAS 종류평균 필요 챌린지‑응답 쌍 수 (사이드채널 공격)평균 필요 챌린지‑응답 쌍 수 (전통적 대수/통계 공격)
Mod103.2 (±0.8)— (비사이드채널 공격이 존재하지 않음)
Mod1005.1 (±1.1)12.4 (±2.3)
OTP‑Variant4.7 (±0.9)15.6 (±3.0)
Cognitive‑Hash6.3 (±1.2)14.8 (±2.7)
Random‑Shift5.8 (±1.0)13.2 (±2.5)

특히 Mod10 에서는 기존에 알려진 비사이드채널 공격이 전혀 없었음에도 불구하고, 눈 움직임 기반 판단과 위 알고리즘을 결합함으로써 평균 3~4개의 챌린지‑응답 쌍만으로 비밀을 완벽히 복원할 수 있었다. 이는 “관찰 저항성” 이라는 설계 목표가 인간 행동이라는 미세한 사이드 채널을 고려하지 않았을 때는 쉽게 무너질 수 있음을 강력히 시사한다.

현장 테스트: 소규모 눈추적 사용자 연구

마지막으로, 우리는 소규모 현장 테스트 를 수행하였다. 실제 사무실 환경에서 12명의 일반 사용자를 대상으로, 사전에 설계된 ORAS 인터페이스에 대해 눈동자 추적 장치를 부착하고 인증 과정을 진행하게 했다. 실험 참가자는 사전에 인증 메커니즘에 대한 사전 지식이 없으며, 일상적인 업무 흐름 속에서 인증을 수행하도록 하였다. 결과는 다음과 같다.

  • 시선 고정 시간 평균 : 모듈러 연산이 포함된 경우 1.84초, 포함되지 않은 경우 1.21초 (p < 0.01)
  • 응답 지연 평균 : 모듈러 연산 포함 2.37초, 미포함 1.58초 (p < 0.01)
  • 공격 성공률 : 12명 중 10명(83%)에서 5회 이하의 챌린지‑응답 쌍만으로 비밀 복원 성공

이러한 현장 결과는 실험실 환경에서 얻은 데이터와 일관되며, 실제 사용 상황에서도 눈 움직임 기반 사이드 채널이 충분히 활용 가능함을 보여준다.

결론 및 시사점

  1. 인지 함수에 모듈러 연산을 삽입하는 전통적인 관찰 저항 설계는 인간 행동이라는 미세한 사이드 채널을 고려하지 않을 경우 충분히 취약 할 수 있다.
  2. 눈동자 움직임과 타이밍 정보는 모듈러 연산의 존재 여부를 높은 정확도로 추정 할 수 있으며, 이는 비밀값 후보 집합을 급격히 축소시키는 결정적인 정보가 된다.
  3. 오류가 포함된 모듈러 판단 이더라도, 제안한 반복적 후보 집합 축소 알고리즘 은 오류를 보정하면서 비밀을 복원할 수 있다.
  4. Mod10 과 같이 기존에 비사이드채널 공격이 전혀 존재하지 않던 체계조차도, 눈 추적 기반 공격에 의해 몇 차례의 챌린지‑응답만으로도 완전히 무력화될 수 있다.
  5. 실제 사용자 환경 에서도 동일한 공격이 높은 성공률을 보였으며, 이는 향후 인증 시스템 설계 시 **인간‑컴퓨터 인터랙션(HCI) 측

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut