이 논문에서는 스마트폰에서 사용자 인증 프로토콜에 머신러닝을 사용하는 기법을 제안한다. 우리가 제안하는 기법은 사용자가 PIN을 입력할 때, PIN 뿐만 아니라 추가적으로 스크린을 터치하는 시간 간격 및 위치를 인증 정보로 수집하여 식별자로 사용하는 기법이다. 먼저 사용자 등록 단계에서 다수의 사용자 터치 시간 및 위치 데이터를 수집 한 다음, 그 데이터로 머신러닝을 이용하여 모델을 제작한다. 그리고 사용자 인증 단계에서 사용자가 입력한 PIN을 비교하고, PIN이 일치하면 사용자의 터치 시간 및 위치 데이터를 모델에 입력하여 기존에 수집한 데이터와 거리를 비교하여, 그에 따라 인증 성공 여부가 결정된다. 우리는 사용성 실험과 보안성 실험을 통하여 이 기법을 사용하는데 큰 불편이 없다는 것(FRR : 0%)과, 이전의 사용되고 있던 PIN 입력 기법보다 안전하다는 것(FAR : 0%)을 보였고, 그에 따라 충분히 사용될 수 있는 기법이라는 것을 확인하였다. 또한 숄더 서핑 공격 실험을 통하여 PIN이 유출되어도 보안 사고가 발생하기 힘들다는 것(FAR : 5%)을 확인하였다.
이 논문에서는 스마트폰에서 사용자 인증 프로토콜에 머신러닝을 사용하는 기법을 제안한다. 우리가 제안하는 기법은 사용자가 PIN을 입력할 때, PIN 뿐만 아니라 추가적으로 스크린을 터치하는 시간 간격 및 위치를 인증 정보로 수집하여 식별자로 사용하는 기법이다. 먼저 사용자 등록 단계에서 다수의 사용자 터치 시간 및 위치 데이터를 수집 한 다음, 그 데이터로 머신러닝을 이용하여 모델을 제작한다. 그리고 사용자 인증 단계에서 사용자가 입력한 PIN을 비교하고, PIN이 일치하면 사용자의 터치 시간 및 위치 데이터를 모델에 입력하여 기존에 수집한 데이터와 거리를 비교하여, 그에 따라 인증 성공 여부가 결정된다. 우리는 사용성 실험과 보안성 실험을 통하여 이 기법을 사용하는데 큰 불편이 없다는 것(FRR : 0%)과, 이전의 사용되고 있던 PIN 입력 기법보다 안전하다는 것(FAR : 0%)을 보였고, 그에 따라 충분히 사용될 수 있는 기법이라는 것을 확인하였다. 또한 숄더 서핑 공격 실험을 통하여 PIN이 유출되어도 보안 사고가 발생하기 힘들다는 것(FAR : 5%)을 확인하였다.
In this paper, we propose a PIN entry method that combines with machine learning technique on smartphone. We use not only a PIN but also touch time intervals and locations as factors to identify whether the user is correct or not. In the user registration phase, a remote server was used to train/cre...
In this paper, we propose a PIN entry method that combines with machine learning technique on smartphone. We use not only a PIN but also touch time intervals and locations as factors to identify whether the user is correct or not. In the user registration phase, a remote server was used to train/create a machine learning model using data that collected from end-user device (i.e. smartphone). In the user authentication phase, the pre-trained model and the saved PIN was used to decide the authentication success or failure. We examined that there is no big inconvenience to use this technique (FRR: 0%) and more secure than the previous PIN entry techniques (FAR : 0%), through usability and security experiments, as a result we could confirm that this technique can be used sufficiently. In addition, we examined that a security incident is unlikely to occur (FAR: 5%) even if the PIN is leaked through the shoulder surfing attack experiments.
In this paper, we propose a PIN entry method that combines with machine learning technique on smartphone. We use not only a PIN but also touch time intervals and locations as factors to identify whether the user is correct or not. In the user registration phase, a remote server was used to train/create a machine learning model using data that collected from end-user device (i.e. smartphone). In the user authentication phase, the pre-trained model and the saved PIN was used to decide the authentication success or failure. We examined that there is no big inconvenience to use this technique (FRR: 0%) and more secure than the previous PIN entry techniques (FAR : 0%), through usability and security experiments, as a result we could confirm that this technique can be used sufficiently. In addition, we examined that a security incident is unlikely to occur (FAR: 5%) even if the PIN is leaked through the shoulder surfing attack experiments.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
이 논문에서는 머신러닝을 이용한 사용자 행동 인식 기반의 PIN 입력 기법을 제안하였다. 기존 키 입력 패턴 인식 연구는 주로 키보드를 이용하였지만, 우리는 스마트폰 금융 관련 어플리케이션에서 계좌이체 등의 서비스를 사용하기 위해 원격 인증을 이용하는 것을 목적으로 하였다. 이 기법은 사용자가 인증을 시도 할 때, PIN 뿐만 아니라 PIN을 입력하기 위해 스마트폰 스크린을 터치하는 시간과 위치까지 식별자로 사용한다.
마지막으로 우리는 공격자가 올바른 사용자의 PIN과 터치시간만을 알고 있을 때, 또는 올바른 사용자의 PIN과 터치 위치만을 알고 있을 때, 즉, 3가지 식별자인 PIN, 터치 시간, 터치 위치 중 2가지 식별자만 알고 있었을 때를 가정하고, 그 경우의 인증이 성공하는지를 알아보기 위한 실험도 진행하였다. 이 실험은 올바른 사용자를 공격자라고 가정한 후, PIN과 올바른 터치 시간만을 고려하여 또는 PIN과 올바른 터치 위치만을 고려하여 각각 20번씩 인증을 시도함으로서 실험을 진행하였다.
기존의 키 입력 패턴 인식에 대한 연구는 주로 데스크탑 또는 랩탑의 키보드를 이용한 연구가 있었으며[13-15], 입력한 패턴이 옳은지 옳지 않은지를 판단하는 시스템은 일반적으로 입력한 특징을 평균 내어 비교하는 방식이었다. 이 논문에서는 데스크탑, 랩탑의 키보드가 아닌 스마트폰 환경에 초점을 맞추고 있으며, 비교하는 방법을 일반적인 평균을 이용하는 것이 아니라 머신러닝을 이용하여 사용자가 입력한 특징이 옳은지 옳지 않은지 판단한다.
이 논문에서는 머신러닝을 이용한 사용자 행동 인식 기반의 PIN 입력 기법을 제안하였다. 기존 키 입력 패턴 인식 연구는 주로 키보드를 이용하였지만, 우리는 스마트폰 금융 관련 어플리케이션에서 계좌이체 등의 서비스를 사용하기 위해 원격 인증을 이용하는 것을 목적으로 하였다.
이 논문에서는 머신러닝을 이용한 사용자 행동 인식 기반의 PIN 입력 기법을 제안한다. 이 기법은 스마트폰 금융 관련 어플리케이션에서 계좌이체 등의 서비스를 사용하기 위해 원격 인증을 할 때 PIN 뿐만 아니라, 추가적으로 스크린을 터치 하는 시간 간격 및 위치를 인증 정보로 수집하여, 머신 러닝의 로지스틱 리그레션(Logistic Regression) 기술을 이용하여 사용자 식별을 수행하는 것이 특징이다.
이 논문에서는 우리가 제안한 기법의 사용성과 보안성을 알아보기 위하여 실험을 진행하였다. 이 두 가지 실험을 위해서 Fig.
11처럼 우리는 숄더 서핑 공격에 대하여 보안성 실험도 진행하였는데, 이전에 실험을 진행한 공격자들에게 인증에 필요한 식별자로 터치 시간 데이터와 터치 위치 데이터도 필요하다는 사실을 알려 준 다음, 올바른 사용자가 PIN을 3번 연속으로 입력할 때, 공격자들에게 숄더 서핑 공격을 실행하게 한 후 20번씩 인증을 시도하게 하였다. 이러한 실험에서 우리는 공격자들이 인증에 성공하는지 실패하는지를 기록하고, 모델 결과를 기록하여 이 기법이 안전한지 아닌지를 확인하였다.
가설 설정
보안성을 알아보기 위해서는 20대 남성(올바른 사용자)의 PIN은 이미 10명의 공격자들에게 유출이 되었지만, 터치 시간 데이터와 터치 위치 데이터는 공격자가 여전히 모른다고 가정하였다. 그리고 공격자들은 올바른 사용자의 PIN만 알고 있는 상태에서 20번씩 인증을 시도하는 방법으로 보안성 실험을 진행하였다.
제안 방법
4명의 올바른 사용자들로부터 수집된 데이터에 TRUE라고 라벨을 붙인 다음, 공격을 담당하는 피험자 10명에게 임의의 8자리의 PIN을 8번씩 임의대로 입력하게 함으로서, 올바르지 않은 사용자의 터치 시간 데이터와 터치 위치 데이터를 수집한 뒤, 그 데이터에는 FALSE라고 라벨을 붙였다.
그리고 사용자의 데이터와 다른 80개의 랜덤한 터치 시간 데이터, 터치 위치 데이터를 생성한 후 FALSE라고 라벨을 붙인다. 그 다음 머신러닝 이론 중 시그모이드 함수를 이용하고 레이어 하나로 구성된 로지스틱 리그레션을 사용하여 학습을 시작하고, 학습이 완료되면 모델을 추출한다. 로지스틱 리그레션을 사용할 때, 우리는 오픈소스 소프트웨어인 텐서플로우(TensorFlow)[16]를 이용한다.
그 다음으로는 사전 훈련 때와 같은 방식으로 PIN을 20번 입력하게 함으로서, 올바른 사용자의 터치 시간 데이터와 터치 위치 데이터를 수집하였고, 이때 각각 49초, 56초, 42초, 54초였다. 그러므로 사용자 등록을 위해서는 약 1분 정도의 시간이 필요했다.
우리가 제안한 기법의 사용성을 알아보기 위해서는 우선 4명의 올바른 사용자들에게 인증을 시도할 때 터치 시간 데이터와 터치 위치 데이터도 인증을 위한 식별자로 사용된다는 것을 알려준 다음, 연속으로 2일 동안 하루에 10번씩 PIN을 입력하게 하고, 3일 뒤에 연속으로 3일 동안 하루에 10번씩 PIN을 입력하게 하였다. 그리고 5일 뒤에 연속으로 5일 동안 하루에 10번씩 PIN을 입력하여 하였다. 결과적으로 한 명의 사용자 마다 총 100번의 PIN 입력을 하게 하였다.
보안성을 알아보기 위해서는 20대 남성(올바른 사용자)의 PIN은 이미 10명의 공격자들에게 유출이 되었지만, 터치 시간 데이터와 터치 위치 데이터는 공격자가 여전히 모른다고 가정하였다. 그리고 공격자들은 올바른 사용자의 PIN만 알고 있는 상태에서 20번씩 인증을 시도하는 방법으로 보안성 실험을 진행하였다. 또한 Fig.
이 기법은 먼저 올바른 사용자가 여러 번 PIN을 입력하여 하나의 숫자 버튼에 대하여 여러 개의 터치 위치 데이터를 저장시킨 후, 그 데이터들의 평균값을 기준으로 정의한다. 그리고 사용자 인증을 위해 PIN을 입력할 때 터치 위치 데이터도 같이 입력으로 받아서, 터치 위치 데이터들이 기준이 되는 터치 위치 데이터의 평균값보다 어느 정도 떨어져 있는지 확인하여, 인증 성공 여부를 판단한다. 그러므로 공격자가 숄더 서핑 공격 등으로 사용자의 PIN을 탈취하여도, 사용자가 PIN을 입력할 때의 터치한 위치 데이터를 모르고 있으면 인증을 할 수 없게 된다.
이 기법은 사용자가 인증을 시도 할 때, PIN 뿐만 아니라 PIN을 입력하기 위해 스마트폰 스크린을 터치하는 시간과 위치까지 식별자로 사용한다. 그리고 이 식별자를 이용하여 올바른 사용자인지 아닌지는 머신러닝의 로지스틱 리그레션을 이용하여 판단한다. 우리는 사용성 실험과 보안성 실험을 통해서, 사용자들이 큰 불편함 없이 우리가 제안한 기법을 사용할 수 있다는 것(FRR : 0%)과 PIN이 공격자에게 탈취당해도 보안 사고가 발생하기 힘들다는 것(FAR : 0%)을 알 수 있었다.
다음으로 우리는 로지스틱 리그레션을 이용하여 각각 올바른 사용자로부터 수집한 20개의 TRUE 데이터와 올바르지 않은 사용자로부터 수집한 80개의 FALSE 데이터를 학습시킨 후 4개의 모델을 만들었고, 실험 환경 설정을 완료하였다.
그리고 공격자들은 올바른 사용자의 PIN만 알고 있는 상태에서 20번씩 인증을 시도하는 방법으로 보안성 실험을 진행하였다. 또한 Fig. 11처럼 우리는 숄더 서핑 공격에 대하여 보안성 실험도 진행하였는데, 이전에 실험을 진행한 공격자들에게 인증에 필요한 식별자로 터치 시간 데이터와 터치 위치 데이터도 필요하다는 사실을 알려 준 다음, 올바른 사용자가 PIN을 3번 연속으로 입력할 때, 공격자들에게 숄더 서핑 공격을 실행하게 한 후 20번씩 인증을 시도하게 하였다. 이러한 실험에서 우리는 공격자들이 인증에 성공하는지 실패하는지를 기록하고, 모델 결과를 기록하여 이 기법이 안전한지 아닌지를 확인하였다.
이 기법은 PIN 외에도 터치 위치 데이터를 사용자 인증 식별자로 사용하고 있는데, 우리는 보안성을 더욱 높이기 위하여 터치 위치 데이터뿐만 아니라 터치 시간 데이터까지 식별자로 사용한다. 또한 기준이 되는 터치 위치 데이터, 터치 시간 데이터와 사용자가 PIN을 입력할 때의 입력으로 받는 터치 위치 데이터, 터치 시간 데이터를 비교할 때 머신러닝 이론 중 로지스틱 리그레션을 이용하여, 인증 성공 여부를 판단한다.
다음으로는 실험에 사용할 모델을 만들기 위해서 데이터 학습에 필요한 TRUE 데이터와 FALSE 데이터를 수집하였다. 먼저 올바른 사용자들을 대상으로 TRUE 데이터를 모으기 전에 사전 훈련을 시행하였다. 올바른 사용자들에게 임의의 8자리의 PIN, 임의의 터치 시간 패턴, 임의의 터치 위치 패턴을 정하라고 한 후에, 그것을 이용하여 20번 반복해서 입력하라고 하여 사용자가 임의의 PIN과 터치 시간 및 위치 패턴에 익숙해지도록 하였다.
먼저 올바른 사용자들을 대상으로 TRUE 데이터를 모으기 전에 사전 훈련을 시행하였다. 올바른 사용자들에게 임의의 8자리의 PIN, 임의의 터치 시간 패턴, 임의의 터치 위치 패턴을 정하라고 한 후에, 그것을 이용하여 20번 반복해서 입력하라고 하여 사용자가 임의의 PIN과 터치 시간 및 위치 패턴에 익숙해지도록 하였다.
우리는 사용자가 스마트폰 상에서 비밀번호 또는 PIN을 입력할 때, 공격자들이 주로 사용하는 공격 방법인 스머지 공격, 키로깅 공격, 숄더 서핑 공격에 대한 보안성 분석을 진행하였다.
이 실험은 올바른 사용자를 공격자라고 가정한 후, PIN과 올바른 터치 시간만을 고려하여 또는 PIN과 올바른 터치 위치만을 고려하여 각각 20번씩 인증을 시도함으로서 실험을 진행하였다. 우리는 여기서 인증 성공 여부와 모델 결과를 기록하여, 2가지의 식별자로만 인증이 되는지 안 되는지를 확인하였다.
결과적으로 한 명의 사용자 마다 총 100번의 PIN 입력을 하게 하였다. 우리는 올바른 사용자들이 인증을 시도하였을 때의 인증에 성공한 횟수와 인증에 걸린 시간, 모델 결과를 기록함으로서 실생활에서 충분히 사용될 수 있는 기법인지 아닌지를 확인하였다.
우리는 이러한 머신러닝의 특징을 이용하여 사용자가 스마트폰에서 PIN을 입력할 때, PIN뿐만 아니라 스마트폰 스크린을 터치하는 시간 데이터와 위치 데이터를 입력으로 받아 들여서, 서버가 자동적으로 올바른 사용자인지 올바르지 않은 사용자인지 판단한 후, 그 결과를 사용자에게 출력해주는 기법을 제안한다. 그리고 이를 위해 머신러닝 이론 중 다양한 방면에서 사용되고 있는 로지스틱 리그레션[10]을 사용한다.
이 논문에서는 우리가 제안한 기법의 사용성과 보안성을 알아보기 위하여 실험을 진행하였다. 이 두 가지 실험을 위해서 Fig. 8과 같이 PIN을 입력할 때 터치 시간 데이터와 터치 위치 데이터를 수집할 수 있는 어플리케이션을 고안하였다.
마지막으로 우리는 공격자가 올바른 사용자의 PIN과 터치시간만을 알고 있을 때, 또는 올바른 사용자의 PIN과 터치 위치만을 알고 있을 때, 즉, 3가지 식별자인 PIN, 터치 시간, 터치 위치 중 2가지 식별자만 알고 있었을 때를 가정하고, 그 경우의 인증이 성공하는지를 알아보기 위한 실험도 진행하였다. 이 실험은 올바른 사용자를 공격자라고 가정한 후, PIN과 올바른 터치 시간만을 고려하여 또는 PIN과 올바른 터치 위치만을 고려하여 각각 20번씩 인증을 시도함으로서 실험을 진행하였다. 우리는 여기서 인증 성공 여부와 모델 결과를 기록하여, 2가지의 식별자로만 인증이 되는지 안 되는지를 확인하였다.
인증 서버는 사용자로부터 전송 받은 데이터로부터 PIN이 인증 서버 데이터베이스에 저장되어 있는 PIN과 일치하는지 비교한다. 만약 일치한다면, 터치 시간 데이터와 터치 위치 데이터를 추출된 모델로 보내고, 모델은 사용자의 데이터가 TRUE에 근접한 것인지 FALSE에 근접한 것인지 계산한 후 모델 결과로서 0과 1 사이의 소수 값을 서버로 되돌려준다.
대상 데이터
다음으로는 실험에 사용할 모델을 만들기 위해서 데이터 학습에 필요한 TRUE 데이터와 FALSE 데이터를 수집하였다. 먼저 올바른 사용자들을 대상으로 TRUE 데이터를 모으기 전에 사전 훈련을 시행하였다.
9로 설정하였다. 실험에 사용된 스마트폰은 갤럭시 S7이었으며, 사용된 서버의 스펙은 Intel Xeon E5-2620, 64G Memory, 512G SSD, Ubuntu 16.04, NVIDIA TITIAN X Pascal이었고, 서버에서는 머신러닝의 로지스틱 리그레션을 사용하기 위하여 텐서플로우를 이용하였다.
실험을 위해 20대 7명, 30대 7명, 총 14명의 피험자를 모집하였다. 그리고 그 중 7명은 남성, 나머지 5명은 여성이었다.
Table 2는 4명의 올바른 사용자들이 처음 2일 동안 하루에 10번씩 인증을 시도하고, 3일 뒤에 연속 3일 동안 하루에 10번씩 인증을 시도하고, 5일 뒤에 연속 5일 동안 하루에 10번씩 인증을 시도 했을 때의 모델 결과이다. 첫 번째 행의 #1은 20대 남성, #2는 30대 남성, #3은 20대 여성, #4는 30대 여성을 의미한다.
이론/모형
그리고 우리는 올바른 사용자인지 올바르지 않은 사용자인지를 판단(분류)하기 위해 머신러닝 이론 중 로지스틱 리그레션을 사용한다. 로지스틱 리그레션을 이용하여 올바른 사용자를 판단하려면 올바른 사용자의 행동 특징인 터치 시간 데이터와 터치 위치 데이터를 추출하여 TRUE 또는 FALSE로 라벨을 붙여서 학습 모델을 만든 후 그것을 사용해야 하는데, 학습 모델을 만들 때 사용자의 행동 특징을 조금 더 명확하게 그
우리는 이러한 머신러닝의 특징을 이용하여 사용자가 스마트폰에서 PIN을 입력할 때, PIN뿐만 아니라 스마트폰 스크린을 터치하는 시간 데이터와 위치 데이터를 입력으로 받아 들여서, 서버가 자동적으로 올바른 사용자인지 올바르지 않은 사용자인지 판단한 후, 그 결과를 사용자에게 출력해주는 기법을 제안한다. 그리고 이를 위해 머신러닝 이론 중 다양한 방면에서 사용되고 있는 로지스틱 리그레션[10]을 사용한다. 로지스틱 리그레션이란 여러 데이터에 TRUE 또는 FALSE 라고 라벨을 붙인 후 시그모이드 함수(Sigmoid Function)를 사용하여 학습을 시키고 모델을 만든 다음, 그 모델을 이용하여 새로운 입력 값이 TRUE에 근접한 것인지 FALSE에 근접한 것인지 계산하여 0과 1 사이에 있는 소수 값으로 출력을 해주는 이론이다.
그 다음 머신러닝 이론 중 시그모이드 함수를 이용하고 레이어 하나로 구성된 로지스틱 리그레션을 사용하여 학습을 시작하고, 학습이 완료되면 모델을 추출한다. 로지스틱 리그레션을 사용할 때, 우리는 오픈소스 소프트웨어인 텐서플로우(TensorFlow)[16]를 이용한다.
성능/효과
이 공격자들로부터 성공에 대한 의견을 들어보면, 올바른 사용자가 PIN을 입력하는 특징을 잘 파악하여 공격에 성공할 수는 있었지만, 한번 성공을 하더라도 특히 공격 시간 패턴을 잘 파악하고 있는 것이 어려워서, 계속해서 성공을 유지하기에는 어렵다는 의견이 공통적이었다. 4번, 5번, 6번 공격자를 제외하면 숄더 서핑 공격 후에도 인증에 성공한 공격자는 없었고, 결과적으로 10명의 공격자가 20번씩 총 200번의 공격을 하였고, 그 중에 5%만이 성공했다는 것을 알 수 있었다.
각 경우에 대해서 20번씩 인증 시도를 하였고, PIN과 터치 시간만 알고 있을 때의 평균 모델 결과는 0.062, 최대 모델 결과는 0.326, PIN과 터치 위치만 알고 있을 때의 평균 모델 결과는 0.080, 최대 모델 결과는 0.247이었다. 이에 따라 인증에 성공한 경우는 한 번도 없었다.
그리고 5일 뒤에 연속으로 5일 동안 하루에 10번씩 PIN을 입력하여 하였다. 결과적으로 한 명의 사용자 마다 총 100번의 PIN 입력을 하게 하였다. 우리는 올바른 사용자들이 인증을 시도하였을 때의 인증에 성공한 횟수와 인증에 걸린 시간, 모델 결과를 기록함으로서 실생활에서 충분히 사용될 수 있는 기법인지 아닌지를 확인하였다.
공격자들의 평균 모델 결과는 0.261이었으며 공격자들이 올바른 사용자의 PIN만 알고 있다는 가정하에 진행된 실험의 모델 결과인 0.091보다 증가했다는 것을 알 수 있었다. 그리고 4번, 5번, 6번 공격자는 숄더 서핑 공격을 할 때 올바른 사용자가 입력하는 터치 시간과 터치 위치를 잘 파악하여 각각 7번, 1번, 2번의 성공을 하였다.
그런데 한편으로는 이렇게 터치 시간과 터치 위치를 인지하는 것 자체가 사용자에게 부담이 될 수도 있다고 생각하였다. 그러나 실험 첫째 날에 무리 없이 10번 모두 인증에 성공했다는 것과, 중간에 쉬었다가 3일 뒤에 실험을 진행하였을 때에도, 그리고 5일 뒤에 실험을 진행하였을 때에도 10번 모두 인증에 성공했다는 것을 바탕으로 이 부담은 사용하는데 큰 문제가 되지 않는다는 것을 확인할 수 있었다. 또한 사전 훈련을 통해서 올바른 사용자가 일관적인 터치 시간 패턴과 터치 위치에 익숙해지도록 하게 하여 이에 대한 부담을 줄이려고 노력하였고, PIN 입력을 하면 할수록 점점 더 익숙해질 것이므로 그 부담은 점점 줄어들 것이라고 생각하며, 이를 통해 우리가 제안한 기법은 충분히 사용될 수 있다는 것을 확인하였다.
그러나 공격자가 PIN을 쉽게 알아내더라도, 사용자가 정확히 어떠한 시간 패턴으로 터치를 했는지, 정확히 어느 위치를 터치 했는지 기억하지 못한다면 공격을 성공시키기 어려울 것이다. 그렇기 때문에 우리가 제안하는 기법은 숄더 서핑 공격에 강한 특징을 가지고 있으며, 보안성 실험 통해서도 숄더 서핑 공격에 강한 특징을 가지고 있다는 것을 한 번 더 확인할 수 있었다.
우리는 사용성 실험을 통하여 사용자가 사전 훈련을 20번 정도만 한다면, 우리가 제안하는 기법에 익숙해져서 사용하는데 큰 불편함이 없다는 것을 알게 되었으며, 그 사용성 실험의 FRR(False Reject Rate, 오거부률)[7]은 0%였다. 그리고 사용자의 PIN이 유출되었거나, 숄더 서핑 공격을 당했을 때를 가정하여 보안성 실험을 진행하였고 각각의 FAR(False Acceptance Rate, 오인식률)[7]은 0%, 5%였으며, 이를 통해 우리가 제안하는 기법을 사용하면 보안 사고가 발생하기 힘들다는 것도 확인하였다.
9이하로 설정하면 공격당할 확률이 증가 한다는 것을 알 수 있었다. 더 나아가 숄더 서핑 공격에 성공한 공격자들의 모델 결과의 최대값이 0.938이었고, 올바른 사용자가 인증에 성공한 모델 결과의 최소값은 0.952였기 때문에, 인증 성공 기준을 0.95로 설정한다면 더욱 더 안전한 기법이 된다는 것도 알 수 있었다.
그러나 실험 첫째 날에 무리 없이 10번 모두 인증에 성공했다는 것과, 중간에 쉬었다가 3일 뒤에 실험을 진행하였을 때에도, 그리고 5일 뒤에 실험을 진행하였을 때에도 10번 모두 인증에 성공했다는 것을 바탕으로 이 부담은 사용하는데 큰 문제가 되지 않는다는 것을 확인할 수 있었다. 또한 사전 훈련을 통해서 올바른 사용자가 일관적인 터치 시간 패턴과 터치 위치에 익숙해지도록 하게 하여 이에 대한 부담을 줄이려고 노력하였고, PIN 입력을 하면 할수록 점점 더 익숙해질 것이므로 그 부담은 점점 줄어들 것이라고 생각하며, 이를 통해 우리가 제안한 기법은 충분히 사용될 수 있다는 것을 확인하였다.
우리는 사용성 실험과 보안성 실험을 통해서, 사용자들이 큰 불편함 없이 우리가 제안한 기법을 사용할 수 있다는 것(FRR : 0%)과 PIN이 공격자에게 탈취당해도 보안 사고가 발생하기 힘들다는 것(FAR : 0%)을 알 수 있었다. 또한 숄더 서핑 공격으로 공격을 당해도 보안 사고가 발생하기 힘들다는 것(FAR : 5%)을 알 수 있었다.
보안성 실험의 결과인 Table 3과 Table 4를 통해서, 공격자가 우리가 제안한 기법을 사용하는 올바른 사용자의 PIN을 탈취하여 알고 있더라도, 터치 시간 데이터와 터치 위치 데이터를 모른다면 인증하기 어렵다는 것을 알 수 있었다. 또한 숄더 서핑 공격을 몇 차례 시도하더라도, 공격자가 올바른 사용자의 터치 시간 데이터와 터치 위치 데이터를 쉽게 탈취할 수 없다는 것도 알 수 있었다.
12는 숄더 서핑 공격의 결과인 Table 4에 대한 그래프이다. 모델 결과가 0.0부터 0.9 사이일 때는 총 190번, 0.9부터 1.0 사이일 때는 10번의 결과가 있었고, 이를 통해 설정한 인증 성공 기준인 0.9는 적절한 기준이었다고 생각하였으며, 인증 성공 기준을 0.9이하로 설정하면 공격당할 확률이 증가 한다는 것을 알 수 있었다. 더 나아가 숄더 서핑 공격에 성공한 공격자들의 모델 결과의 최대값이 0.
보안성 실험의 결과인 Table 3과 Table 4를 통해서, 공격자가 우리가 제안한 기법을 사용하는 올바른 사용자의 PIN을 탈취하여 알고 있더라도, 터치 시간 데이터와 터치 위치 데이터를 모른다면 인증하기 어렵다는 것을 알 수 있었다. 또한 숄더 서핑 공격을 몇 차례 시도하더라도, 공격자가 올바른 사용자의 터치 시간 데이터와 터치 위치 데이터를 쉽게 탈취할 수 없다는 것도 알 수 있었다.
그러나 우리가 제안하는 기법은 일단 사용자 마다 다른 랜덤 숫자 키패드를 사용하고 있기 때문에, 공격자가 스머지 공격을 이용하여 사용자가 어느 숫자 키를 터치했는지 알기 어렵다. 뿐만 아니라 스머지 공격으로는 터치 시간 데이터까지 알아낼 수 없으므로, 우리가 제안하는 기법은 일반적으로 사용되는 숫자 키패드 보다 스머지 공격에 강한 특징을 가지고 있다고 말할 수 있다.
우리가 제안한 기법의 사용성을 알아보기 위해서는 우선 4명의 올바른 사용자들에게 인증을 시도할 때 터치 시간 데이터와 터치 위치 데이터도 인증을 위한 식별자로 사용된다는 것을 알려준 다음, 연속으로 2일 동안 하루에 10번씩 PIN을 입력하게 하고, 3일 뒤에 연속으로 3일 동안 하루에 10번씩 PIN을 입력하게 하였다. 그리고 5일 뒤에 연속으로 5일 동안 하루에 10번씩 PIN을 입력하여 하였다.
그리고 이 식별자를 이용하여 올바른 사용자인지 아닌지는 머신러닝의 로지스틱 리그레션을 이용하여 판단한다. 우리는 사용성 실험과 보안성 실험을 통해서, 사용자들이 큰 불편함 없이 우리가 제안한 기법을 사용할 수 있다는 것(FRR : 0%)과 PIN이 공격자에게 탈취당해도 보안 사고가 발생하기 힘들다는 것(FAR : 0%)을 알 수 있었다. 또한 숄더 서핑 공격으로 공격을 당해도 보안 사고가 발생하기 힘들다는 것(FAR : 5%)을 알 수 있었다.
이 기법은 스마트폰 금융 관련 어플리케이션에서 계좌이체 등의 서비스를 사용하기 위해 원격 인증을 할 때 PIN 뿐만 아니라, 추가적으로 스크린을 터치 하는 시간 간격 및 위치를 인증 정보로 수집하여, 머신 러닝의 로지스틱 리그레션(Logistic Regression) 기술을 이용하여 사용자 식별을 수행하는 것이 특징이다. 우리는 사용성 실험을 통하여 사용자가 사전 훈련을 20번 정도만 한다면, 우리가 제안하는 기법에 익숙해져서 사용하는데 큰 불편함이 없다는 것을 알게 되었으며, 그 사용성 실험의 FRR(False Reject Rate, 오거부률)[7]은 0%였다. 그리고 사용자의 PIN이 유출되었거나, 숄더 서핑 공격을 당했을 때를 가정하여 보안성 실험을 진행하였고 각각의 FAR(False Acceptance Rate, 오인식률)[7]은 0%, 5%였으며, 이를 통해 우리가 제안하는 기법을 사용하면 보안 사고가 발생하기 힘들다는 것도 확인하였다.
위 결과로 보아 인증 성공 기준인 0.9가 적절한 기준이라고 확인되었으며, 실험 결과를 바탕으로 인증 성공 기준을 동적으로 0.95로 변경하여도 인증하는데 문제가 없다는 것을 알 수 있었다.
20대 남성뿐만 아니라, 30대 남성, 20대 여성, 30대 남성이 임의로 정한 TRUE 데이터(시간 데이터, 위치 데이터)는 FALSE 데이터와 차이를 보였다. 이 데이터로 보아 TRUE 데이터와 FALSE 데이터는 차이가 있으나, 휴리스틱으로 번류하기에는 쉽지 않다는 것을 알 수 있었다.
왼쪽 상단은 20대 남성, 오른쪽 상단은 30대 남성, 왼쪽 하단은 20대 여성, 오른쪽 하단은 30대 여성의 결과를 의미하고, 각 그래프의 y축은 표준편차, x축은 사전 훈련 횟수를 의미한다. 이를 통해 사전 훈련 횟수가 20번에 가까워질수록 표준편차가 0에 가까워진다는 것을 알았고, 20번의 사전 훈련이 충분하다는 것도 알 수 있었다. 또한 이러한 표준편차 데이터들을 기반으로 휴리스틱 방법으로 사용자를 판단하기에는 어렵기 때문에, 머신러닝이 필요하다는 것도 알 수 있었다.
이에 따라 인증에 성공한 경우는 한 번도 없었다. 이를 통해 우리는 성공적인 인증을 하기 위해서는 PIN 뿐만 아니라 정확한 터치 시간과 터치 위치도 모두 함께 알고 있어야 한다는 것을 알 수 있었다.
7초정도였다. 이를 통해 우리는 올바른 사용자가 인증을 시도할 때 PIN 뿐만 아니라 터치시간 데이터와 터치 위치 데이터도 식별자라는 것을 인지하고 있으면, 큰 불편 없이 인증에 성공할 수 있다는 것을 알았다.
이에 따라 인증에 실패한 적이 없었으며, 인증하기 위하여 사용자가 여덟 자리의 숫자 버튼을 터치하는 시간은 평균 약 2.5초 정도였고, 서버에서 사용자의 데이터를 받아서 모델 결과로 인증 성공 여부를 판단하는 시간은 평균 약 0.2초였다. 그러므로 인증에 걸리는 시간은 약 2.
후속연구
이와 관련하여 사용자 등록 단계의 진행 시간을 줄이거나, 사용성을 높이기 위해 다양한 환경에서 다양한(더 많은) 사람들을 대상으로 사용성 실험을 추후 진행할 예정이다. 그리고 요즘에는 안경에 소형 카메라가 부착되어 있는 제품을 이용하여, 레코딩 공격을 할 수 있는 방법도 있기 때문에, 터치 시간과 터치 위치뿐만 아니라 사용자의 행동을 인식할 수 있는 요소인 가속도 센서, 자이로 센서 등의 스마트폰에서 사용할 수 있는 각종 센서를 이용하여 사용성과 보안성을 동시에 높이는 연구도 추후 연구 주제로 남긴다. 또한 머신러닝이 아닌, 딥러닝의 개념을 이용하여 렐루(ReLU), 멀티 레이어, 초기화, 드롭아웃 등의 기법을 가지고 올바른 사용자인지 판단하는 정확도를 높이는 연구도 추후 연구 주제로 남긴다.
그리고 요즘에는 안경에 소형 카메라가 부착되어 있는 제품을 이용하여, 레코딩 공격을 할 수 있는 방법도 있기 때문에, 터치 시간과 터치 위치뿐만 아니라 사용자의 행동을 인식할 수 있는 요소인 가속도 센서, 자이로 센서 등의 스마트폰에서 사용할 수 있는 각종 센서를 이용하여 사용성과 보안성을 동시에 높이는 연구도 추후 연구 주제로 남긴다. 또한 머신러닝이 아닌, 딥러닝의 개념을 이용하여 렐루(ReLU), 멀티 레이어, 초기화, 드롭아웃 등의 기법을 가지고 올바른 사용자인지 판단하는 정확도를 높이는 연구도 추후 연구 주제로 남긴다.
이 기법을 사용할 때에 사용자는 터치 시간과 터치 위치가 식별자로 사용된다는 것을 인지하고 있어야 하며 이것은 사용자에게 부담이 될 수도 있다. 이와 관련하여 사용자 등록 단계의 진행 시간을 줄이거나, 사용성을 높이기 위해 다양한 환경에서 다양한(더 많은) 사람들을 대상으로 사용성 실험을 추후 진행할 예정이다. 그리고 요즘에는 안경에 소형 카메라가 부착되어 있는 제품을 이용하여, 레코딩 공격을 할 수 있는 방법도 있기 때문에, 터치 시간과 터치 위치뿐만 아니라 사용자의 행동을 인식할 수 있는 요소인 가속도 센서, 자이로 센서 등의 스마트폰에서 사용할 수 있는 각종 센서를 이용하여 사용성과 보안성을 동시에 높이는 연구도 추후 연구 주제로 남긴다.
질의응답
핵심어
질문
논문에서 추출한 답변
모바일 간편 결제 서비스란 무엇인가?
모바일 간편 결제 서비스란 스마트폰 상에서 금전적인 거래를 간편하게 진행해주는 서비스로서, 결제 카드를 선택하고, 사용자 인증만 하면 결제가 완료되는 서비스이다. 한국소비자원 시장 조사국 거래조사팀의 2016년 8월 보도자료[1]에 따르면, 국내 모바일 간편 결제 서비스는 국민앱카드, 하나앱카드, 카카오페이, 삼성페이 등이 있으며, 2014년 2분기에는 약 3조였던 시장규모가 2015년 2분기에는 5조로 증가하였다.
키 입력 패턴 인식에서 입력 패턴의 특징으로는 어떤 것들이 사용될 수 있는가?
이러한 시간 간격이나 리듬을 모르는 사용자는 인증이 되지 않으며, 이러한 특징을 이용하여 보안성을 높일 수 있다. 그리고 입력 패턴의 특징으로는 키를 입력하는 간격, 키를 누르고 있는 시간 등이 사용될 수 있다.
머신러닝이란 무엇인가?
머신러닝이란, 인공지능의 한 분야로서 사람이 컴퓨터에 일일이 명시적인 코드로 프로그래밍을 하지 않아도, 컴퓨터가 데이터로부터 학습하여 새로운 지식을 얻어내거나 자동적으로 프로그램을 실행시키는 것을 말한다[9]. 머신러닝은 50년대 이후부터 시작되어 오래되었지만 80∼90년대까지 발전 후 제자리걸음을 하다가 2000년대 들어와서 빅데이터(Big Data)와 결합되었고, 그로 인해 엄청난 발전을 보였다.
참고문헌 (16)
E. Jang, S. Oh, and J. Park, "Press release about simple mobile payment," Korea Consumer Agency, Aug. 2016.
C. Adams, "Personal Identification Number (PIN)," Encyclopedia of Cryptography and Security, p.927, 2011.
S. Mun, "2017. 5. Wireless communication service subscriber statistics," Ministry of Science, ICT and Future Planning, Jun. 2017.
A. Aviv, K. Gibson, E. Mossop, M. Blaze, and J. Smith, "Smudge Attacks on Smartphone Touch Screens," WOOT '10 Proceedings of the 4th USENIX Conference on Offensive Technologies, 2010.
F. Mohsen and M. Shehab, "Android Keylogging Threat," 9th IEEE International Conference on Collaborative Computing: Networking, Applications and Worksharing, Dec. 2013.
W. Goucher, "Look behind you: the dangers of shoulder surfing," Computer Fraud & Security, Vol.2011, Iss.11, pp.17-20. Nov. 2011.
F. Cherifi, B. Hemery, R. Giot, M. Pasquet, and C. Rosenberger, "Performance Evaluation Of Behavioral Biometric Systems," Book on Behavioral Biometrics for Human Identification: Intelligent Applications, 2009.
J. Kim and M. Lee, "User authentication using touch positions in a touch-screen interface," Journal of the Korea Institute of Information Security & Cryptology, Vol.21, pp.135-141, Feb. 2011.
David E. Goldberg and John H. Holland, "Genetic Algorithms and Machine Learning," Machine Learning, Vol.3, Iss.2-3, pp.95-99, 1988.
S. Kim, Y. Kim, and D. Kim, "A Method of Activity Recognition in Small-Scale Activity Classification Problems via Optimization of Deep Neural Networks," KIPS Transactions on Software and Data Engineering, Vol.6, No.3, pp.155-160, 2017.
Yejin Yoon, Jong-Hyuk Im, and Mun-Kyu Lee, "Secure power demand forecasting using regression analysis on Intel SGX," Next Generation Computing Conference 2017, Aug. 2017.
Xinyou Yin, Jan Goudriaan, Egbert A. Lantinga, Jan Vos, and Huub J. Spiertz, "A Flexible Sigmoid Function of Determinate Growth," Annals of Botany, Vol.91, Iss.3, pp.361-371, 2003.
Livia C. F. Araujo, Luiz H. R. Sucupira Jr., Miguel G. Lizarraga, Lee L. Ling, and Joao B. T. Yabu-uti, "User Authentication Through Typing Biometrics Features," IEEE Transactions on Signal Processing, Vol.53, No.2, pp.851-855, 2005.
P. Panasiuk and K. Saeed, "A Modified Algorithm for User Identification by His Typing on the Keyboard," Image Processing and Communications Challenges 2, Springer, Berlin, Heidelberg, pp.113-120, 2010.
S. J. Shepherd, "Continuous authentication by analysis of keyboard typing characteristics," Security and Detection 1995, May. 1995.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.