Processing

Please wait...

Settings

Settings

Goto Application

1. WO2020222367 - USER AUTHENTICATION SYSTEM USING SENSORS BUILT IN PLURALITY OF COMPUTING DEVICES

Document

명세서

발명의 명칭

기술분야

1  

배경기술

2   3   4   5  

발명의 상세한 설명

기술적 과제

6   7   8  

과제 해결 수단

9   10  

발명의 효과

11   12   13  

도면의 간단한 설명

14   15   16   17   18   19   20   21   22   23  

발명의 실시를 위한 형태

24   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80   81   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96   97   98   99   100   101   102   103   104   105   106   107   108   109   110   111   112   113   114   115   116   117   118   119   120   121   122   123   124   125   126   127   128   129   130   131   132   133   134   135   136   137   138   139   140   141   142   143   144   145   146   147   148   149   150   151   152   153   154   155   156   157   158   159   160   161   162   163   164   165   166   167   168   169   170   171   172   173   174   175   176   177   178   179   180   181   182   183   184   185   186   187   188   189   190   191   192   193   194   195   196   197   198   199   200   201   202   203   204   205   206   207   208   209   210   211   212   213   214   215   216   217  

청구범위

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15  

도면

1   2   3   4   5   6   7   8   9a   9b   10  

명세서

발명의 명칭 : 복수의 컴퓨팅 장치에 내장된 센서를 활용한 사용자 인증 시스템

기술분야

[1]
본 발명은 사용자 인증 방법 및 장치에 관한 것으로, 특히 복수의 컴퓨팅 장치에 내장된 센서를 활용한 사용자 인증 시스템에 관한 것이다. 본 연구는 2019년도 과학기술정보통신부(정부)의 재원으로 정보통신기획평가원의 지원을 받아 수행된 연구산업인 차세대 인증 기술 개발(NO.1711082833)과 관련된다.

배경기술

[2]
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
[3]
모바일 기기가 보급화되고 많은 기능들을 제공하면서 사용자의 중요 정보가 기기에 다량으로 저장되어 모바일 기기에 대한 사용자 인증 문제가 중요하게 대두되고 있다. 이에 따라, 기존 PC에서 사용하던 패스워드 방식부터 터치스크린을 이용한 그래픽 인증 방식, 사용자의 생체 정보를 활용하는 생체 인식까지 다양한 방식으로의 인증 기술들이 제안되어 왔다.
[4]
기존 모바일 기기에 대한 사용자 인증 기술은 인증 시도자의 신원 확인을 위해 기기에 저장되어 있는 PIN, 암호, 지문 등의 정보(template)와 인증 시도자의 입력 정보를 대조하는 템플릿 매칭 방식을 사용한다. 이러한 방식은 인증 시도자와 기기 소유자의 동일여부를 확인하지 않으며 악의적인 사용자가 내부에 민감한 정보를 저장한 기기를 훔친 경우 인증 시스템 우회가 가능하다는 문제점이 있다. 나아가, 생체 인증을 비롯한 기존 인증 방식에 대한 각종 공격 방법이 존재하며 기기가 탈취되었을 경우 충분히 공격이 가능한 문제가 있다.
[5]
모바일 기기 대상의 기존 사용자 인증 기술은 지식 기반 인증 뿐만 아니라 생체 인증이라 할지라도 인조지문, 사진 또는 녹음 등 다양한 방법으로 인증 시스템을 속일 수 있다. 따라서, 모바일 기기의 연산 능력과 기계 학습 기술의 발전 속에서 사용자가 정보를 입력할 필요 없이 기기에 내장된 센서를 활용한 행위 기반 인증을 통해 사용자를 인증할 필요가 있다.

발명의 상세한 설명

기술적 과제

[6]
본 발명의 실시예들은 사용자의 스마트위치를 기반으로 연동된 기기 (예: 스마트폰)의 인증을 해제하는 기술을 제안한다. 본 발명은 연동된 두 기기에 동일하게 내장되어 있는 센서들 (HR Sensor, Accelerometer, and Gyroscope)에서 추출된 데이터의 유사성 파악을 통해 인증 시도자와 스마트워치 착용자의 동일인 일치 여부를 확인하고, 센서 데이터에서 추출한 행위 특징을 통해 기계학습 기반의 사용자 행위 기반 인증을 제공하는 것이다. 이는 스마트워치 착용자는 기기 소유자일 가능성이 높다는 것을 의미한다.
[7]
본 발명은 기존 인증 방식이 지니고 있는 인증 시도자와 기기 소유자의 일치 문제, 인증 시스템 우회 문제를 해결할 수 있는 스마트워치 기반의 인증 방식을 제공해 정확하고 안전한 사용자 인증에 기여하는데 발명의 주된 목적이 있다.
[8]
본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 수 있다.

과제 해결 수단

[9]
본 실시예의 일 측면에 의하면, 제1 프로세서, 상기 제1 프로세서에 의해 실행되는 프로그램을 저장하는 제1 메모리, 하나 이상의 제1 센서, 및 제2 컴퓨팅 장치와 통신하는 제1 통신 인터페이스를 포함하는 제1 컴퓨팅 장치에 있어서, 상기 제1 통신 인터페이스는 상기 제2 컴퓨팅 장치에 내장된 하나 이상의 제2 센서를 통해 수집한 제2 생체 데이터 및 제2 모션 데이터를 포함하는 제2 센서 데이터를 수신하고, 상기 하나 이상의 제1 센서는 제1 생체 데이터 및 제1 모션 데이터를 포함하는 제1 센서 데이터를 수집하고, 상기 제1 프로세서는, 상기 제1 생체 데이터와 상기 제2 생체 데이터 간의 유사도를 산출하고, 상기 유사도에 따라 제1 컴퓨팅 장치의 착용자 및 제2 컴퓨팅 장치의 인증 시도자 간의 동일인 여부를 판단하고, 상기 제1 센서 데이터 및 상기 제2 센서 데이터를 통한 사용자의 행위 분석을 기반으로 제2 컴퓨팅 장치에서의 인증 시도에 대한 결과를 결정 및 전송하는 과정을 수행하는 것을 특징으로 하는 제1 컴퓨팅 장치를 제공한다.
[10]
본 실시예의 다른 측면에 의하면, 제2 프로세서, 상기 제2 프로세서에 의해 실행되는 프로그램을 저장하는 제2 메모리, 하나 이상의 제2 센서, 및 제1 컴퓨팅 장치와 통신하는 제2 통신 인터페이스를 포함하는 제2 컴퓨팅 장치에 있어서, 상기 하나 이상의 제2 센서는 제2 생체 데이터 및 제2 모션 데이터를 포함하는 제2 센서 데이터를 수집하고, 상기 제2 통신 인터페이스는 상기 제2 생체 데이터 및 상기 제2 모션 데이터를 포함하는 상기 제2 센서 데이터를 전송하고, 상기 제2 통신 인터페이스는 상기 제1 컴퓨팅 장치로부터 상기 제2 컴퓨팅 장치의 사용자 인증 결과를 수신하는 과정을 수행하는 것을 특징으로 하는 제2 컴퓨팅 장치를 제공한다.

발명의 효과

[11]
이상에서 설명한 바와 같이 본 발명의 실시예들에 의하면, 본 발명은 인증 정보가 노출되는 것을 사전에 차단하여 사용자의 인증이 요구되는 개인정보 및 금융 서비스로의 접근을 보호하는데 활용할 수 있다. 또한, 스마트폰이 도난 되더라도 인증 템플릿의 노출이 전혀 없으며, 인증 시도자와 기기 소유자의 동일인 여부를 사전에 확인하므로 강화된 인증 성능을 제공할 수 있다.
[12]
기업적인 측면에서는 해당 서비스 제공을 위한 추가적인 기기가 필요하지 않아 해당 기술을 경제적인 개발 및 제공이 가능하며, 사용자의 측면에서는 기존 텍스트 인증 방식에 비해 심박 센서에 신체를 접지하는 것 외의 다른 입력이 필요 없어 사용자의 거부감이 적고 더 편의적인 인증 서비스를 제공받을 수 있다.
[13]
여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급된다.

도면의 간단한 설명

[14]
도 1은 본 발명의 일 실시예에 따른 사용자 인증 시스템을 예시한 블록도이다.
[15]
도 2는 본 발명의 일 실시예에 따른 사용자 인증 시스템의 인증 절차의 흐름을 나타내는 도면이다.
[16]
도 3은 본 발명의 일 실시예에 따른 제2 컴퓨팅 장치 및 제1 컴퓨팅 장치 내부에서의 사용자 인증 과정을 자세히 도시한 도면이다.
[17]
도 4는 본 발명의 일 실시예에 따른 사용자 인증 시스템의 동작 방법을 나타내는 흐름도이다.
[18]
도 5는 본 발명의 일 실시예에 따른 제1 컴퓨팅 장치의 동작을 예시한 흐름도이다.
[19]
도 6은 본 발명의 일 실시예에 따른 제2 컴퓨팅 장치의 동작을 예시한 흐름도이다.
[20]
도 7은 본 발명의 다른 실시예에 따른 제2 컴퓨팅 장치를 나타내는 도면이다.
[21]
도 8은 본 발명의 일 실시예에 따른 제2 컴퓨팅 장치의 인증 절차의 흐름을 자세히 나타내는 흐름도이다.
[22]
도 9는 본 발명의 일 실시예에 따른 제2 컴퓨팅 장치의 패턴 입력에 따른 데이터 수집 및 행위 특징 추출 과정을 자세히 도시한 흐름도이다.
[23]
도 10은 실시예들에서 사용되기에 적합한 컴퓨팅 기기를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다.

발명의 실시를 위한 형태

[24]
이하, 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하고, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다.
[25]
도 1은 사용자 인증 시스템을 예시한 블록도이다. 도 1에 도시한 바와 같이, 사용자 인증 시스템(10)은 제1 컴퓨팅 장치(100) 및 제2 컴퓨팅 장치(200)를 포함한다. 사용자 인증 시스템(10)은 도 1에서 예시적으로 도시한 다양한 구성요소들 중에서 일부 구성요소를 생략하거나 다른 구성요소를 추가로 포함할 수 있다.
[26]
사용자 인증 시스템(10)은 두 기기의 심박수 데이터의 유사도를 측정하여 기기의 사용자와 또 다른 기기의 착용자가 동일한지를 확인한다. 두 기기는 스마트폰 및 스마트워치를 사용할 수 있으며 반드시 이에 한정되는 것은 아니며, 사용자의 인증을 통해 사용할 수 있는 기기 또는 사용자의 신체에 착용되어 운용 가능한 기기일 수 있다.
[27]
사용자 인증 시스템(10)은 연동된 두 기기에 동일하게 내장되어 있는 센서에서 추출된 심박수를 나타내는 데이터의 유사성을 파악하여 인증 시도자와 스마트워치 착용자가 동일인인지 여부를 확인하고, 센서 데이터에서 추출한 행위 특징 데이터를 통해 기계학습 기반의 사용자 행위 기반 인증을 제공한다. 스마트워치는 기기 소유자 또는 등록 사용자가 일상 생활을 하는 중에 몸에 지니고 있는 기기로 분실우려가 낮으며, 이는 스마트워치 착용자가 기기 소유자 또는 등록 사용자일 가능성이 높다는 것을 의미한다.
[28]
사용자 인증 시스템(10)은 기존 인증 방식이 지니고 있는 스마트폰의 인증 시도자와 스마트폰의 실제 소유자의 일치 문제, 인증 시스템 우회 문제를 해결할 수 있는 스마트워치 기반의 인증 방식을 통해 정확하고 안전한 사용자 인증을 한다.
[29]
사용자 인증 시스템(10)은 인증 대상 기기와 연동된 타 기기를 포함하는 두 기기의 심박수 데이터의 유사성을 파악하여 동일인 여부를 결정하며, 이를 통해 오인식률(False Acceptance Rate : FAR)을 낮출 수 있으며, 인증 여부 결정 과정이 인증 대상 기기가 아닌 연동된 타 기기에서 진행되므로 인증 대상 기기가 탈취되었을 경우, 인증 시스템 우회가 불가능하게 된다.
[30]
사용자 인증 시스템(10)은 다른 사용자의 데이터를 얻어서 학습시키기에는 현실적으로 불가능하므로 One-class classification 알고리즘의 실제적인 적용이 가능하다. 또한, 시간 및 주파수 영역에서의 데이터를 모두 고려하여 각 영역에서 고유하게 획득 가능한 분별력 있는 사용자의 행위 특징을 추출할 수 있다.
[31]
사용자 인증 시스템(10)은 기기의 잠금 해제나 금융 서비스를 위해 사용자 인증이 필요한 기기에 사용되며, 스마트폰의 심박 센서에 사용자의 신체가 접촉되면 스마트폰이 스마트워치에 인증 시도를 요청하고 다음의 과정으로 시스템이 동작한다.
[32]
제1 컴퓨팅 장치(100)는 제2 컴퓨팅 장치(200)와 통신이 가능하며, 제2 컴퓨팅 장치(200)에서 전송된 제2 생체 데이터를 수신한다. 제1 컴퓨팅 장치(100)는 내장된 제1 센서를 통해 제1 센서 데이터를 수집한다. 제1 센서 데이터는 제1 생체 데이터 및 제1 모션 데이터를 포함한다.
[33]
제2 컴퓨팅 장치(200)는 인증 시도가 감지되면 하나 이상의 제2 센서를 통해 제2 센서 데이터를 수집하며, 제2 센서 데이터를 제1 컴퓨팅 장치(100)로 전송한다. 제2 센서 데이터는 제2 생체 데이터 및 제2 모션 데이터를 포함한다.
[34]
제1 컴퓨팅 장치(100)에 내장된 제1 센서 및 제2 컴퓨팅 장치(200)에 내장된 제2 센서는 서로 같은 종류의 센서를 포함한다. 본 발명의 일 실시예에 따르면, 제1 센서 및 제2 센서는 심박 센서(HR Sensor), 가속도 센서(accelerometer Sensor) 및 자이로 센서(Gyroscope Sensor)로 이루어져 있으나 반드시 이에 한정되는 것은 아니다.
[35]
본 발명의 일 실시예에 따르면, 제1 생체 데이터 및 제2 생체 데이터는 심박 센서를 이용하여 수집한 심박 데이터이고, 제1 모션 데이터 및 제2 모션 데이터는 가속도 센서를 이용하여 수집한 가속도 데이터 및 자이로 센서를 이용하여 수집한 자이로 데이터일 수 있다.
[36]
제1 컴퓨팅 장치(100)는 제1 생체 데이터와 제2 생체 데이터 간의 유사도를 산출하고, 유사도에 따라 제1 컴퓨팅 장치(100)의 사용자 및 제2 컴퓨팅 장치(200)의 사용자 간의 동일인 여부를 판단하고, 제1 센서 데이터 및 제2 센서 데이터를 통한 사용자 행위 분석을 기반으로 제2 컴퓨팅 장치(200)의 사용자 인증 결과를 생성하는 과정을 수행한다.
[37]
제1 컴퓨팅 장치(100)는 제1 생체 데이터, 제2 생체 데이터, 제1 모션 데이터, 및 제2 모션 데이터의 노이즈를 제거하는 전처리 과정을 더 수행한다.
[38]
제2 컴퓨팅 장치(200)는 제2 생체 데이터 및 제2 모션 데이터를 포함하는 제2 센서 데이터를 전송하고, 제1 컴퓨팅 장치(100)로부터 상기 제2 컴퓨팅 장치(200)의 사용자 인증 결과를 수신하는 과정을 수행한다.
[39]
이하에서는 컴퓨팅 장치가 형성하는 절차의 흐름에 대해 설명하기로 한다. 도 2는 사용자 인증 시스템의 인증 절차 흐름을 나타내는 도면이다.
[40]
도 2를 참조하면, 본 발명에서 제1 컴퓨팅 장치(100)는 스마트워치이며, 제2 컴퓨팅 장치(200)는 스마트폰이다. 본 발명에서 스마트폰은 인증을 시도하는 기기이고, 스마트워치는 사용자의 몸에 부착된 기기를 나타낸다.
[41]
사용자 인증 시스템(10)은 스마트워치와 연동된 스마트폰과 같이 연동된 두 기기에 내장되어 있는 센서를 이용하여 사용자 인증 여부를 결정한다. 결과적으로 인증 과정이 인증을 시도하는 기기가 아닌 인증을 시도하는 기기와 연동된 사용자의 신체에 부착된 기기에서 진행되기 때문에 인증 시스템 우회 가능성을 해결할 수 있다.
[42]
도 2를 참조하면, 스마트폰은 인증 시도를 감지하면 인증 시도 요청 신호를 스마트워치에 전송하며, 스마트폰에 내장된 제2 센서를 통해 측정된 제2 센서 데이터를 스마트워치에 전송한다.
[43]
스마트워치는 인증을 시도하는 기기가 아닌 인증을 시도하는 기기와 연동되어 사용자의 몸에 부착된 기기로서, 스마트폰에서 전송한 제2 센서 데이터를 수신한다. 스마트워치는 내장된 제1 센서를 통해 제1 생체 데이터를 측정한다.
[44]
스마트워치는 제1 센서 데이터 및 제2 센서 데이터를 기반으로 사용자 인증 여부를 결정하고, 생성된 사용자 인증 결과를 스마트폰에 전송한다.
[45]
스마트폰은 수신한 사용자 인증 결과를 기반으로 인증 시도자가 기기 소유자인 것으로 판명될 경우, 스마트폰의 사용자의 접근을 허용한다.
[46]
이하에서는 제1 컴퓨팅 장치 및 제2 컴퓨팅 장치를 통한 사용자 인증 과정에 대해 흐름을 따라 설명한다. 도 3은 제2 컴퓨팅 장치 및 제1 컴퓨팅 장치 내부에서의 사용자 인증 과정을 자세히 도시한 도면이고, 도 4는 본 발명의 일 실시예에 따른 사용자 인증 시스템의 동작 방법을 나타내는 흐름도이다.
[47]
사용자 인증 시스템(10)은 스마트폰에서 사용자가 인증 시도를 요청하면 일정 시간 동안 스마트폰 및 스마트워치에서 심박 센서, 가속도 센서, 자이로 센서로부터 데이터를 수집한다(S410, S412). 이 때, 스마트폰에서 수집된 데이터는 스마트워치로 전송되며(S310), 전송된 스마트폰에서 측정된 제1 생체 데이터와 스마트워치에서 수집된 제2 생체 데이터의 노이즈를 제거한다(S320, S420).
[48]
사용자 인증 시스템(10)은 스마트폰 및 스마트워치에서 측정된 심박수 데이터를 통해 두 데이터의 유사도를 측정하고, 사전에 설정된 임계값을 기준으로 두 기기의 현재 사용자가 동일한지의 여부를 결정한다(S330, S430).
[49]
측정된 유사도가 임계값을 넘지 못한 경우, 제1 컴퓨팅 장치(100)는 인증 과정을 중단하고 인증 실패 신호를 제2 컴퓨팅 장치(200)로 전송한다(S460).
[50]
측정된 유사도가 임계값을 넘은 경우, 제1 컴퓨팅 장치(100)는 두 기기의 현재 사용자가 동일인이라고 판단하고, 스마트폰 기기 소유자일 가능성이 높으므로 다음 단계를 진행한다.
[51]
동일인이라고 판단된 경우 다음 단계는 심박 센서, 가속도 센서, 자이로 센서에서 측정된 데이터에 대한 푸리에 변환과 함께 사용자 인증을 위한 행위 특징을 추출하고(S340, S440), 행위 특징을 사용자 인증 모델에 입력하여 사용자의 인증여부를 결정한다(S350, S450).
[52]
사용자 인증 시스템(10)은 단계 S350에서의 결과에 따라 스마트폰의 인증 시도를 승인 또는 거부 한다.
[53]
이하에서는 사용자 인증 과정에 대해 자세하게 설명한다.
[54]
사용자 인증 시스템(10)은 스마트폰과 스마트워치를 기반으로 동작된다. 스마트폰에서 인증 시도가 감지되면, 스마트폰 및 스마트워치는 데이터를 수집한다.
[55]
데이터 수집(Data Collection)은 스마트폰 및 스마트워치에 내장된 센서로부터 데이터를 획득하는 과정으로, 본 발명에서는 세가지 센서가 사용된다. 세가지 센서는 심박 센서, 가속도 센서 및 자이로 센서이다.
[56]
심박 센서(HR Sensor)는 분당 비트 수 단위의 심장 박동수를 측정하는 센서이다. 심장박동은 지문처럼 개개인이 모두 독특한 리듬과 특징을 가지고 있기 때문에 사용자 개개인을 판단하기 위한 인증에 활용된다. 심박수를 측정하는 센서는 예를 들어, 심전도 센서(electrocardiogram, ECG) 또는 광혈류측정(photoplethysmography, PPG) 센서가 있다.
[57]
가속도 센서(accelerometer Sensor)는 물체의 가속도나 충격의 세기를 측정하는 센서이다. 가속도 센서는 x, y, z축 정보를 처리하여 물체의 가속도, 진동, 충격 등의 동적 힘을 측정하며, 주로 사용자의 팔을 움직이거나 걷는 것과 같은 사용자의 더 큰 동작 패턴을 기록한다.
[58]
자이로 센서(Gyroscope Sensor)는 x, y, z축 정보를 처리하여 물체의 회전 속도인 각속도를 측정하는 센서이다. 자이로 센서는 물체를 잡는 방법 등 사용자의 세밀한 동작을 기록한다.
[59]
데이터 수집(Data Collection) 과정은 스마트폰의 인증 시도가 감지될 때 활성화된다. 인증 시도는 심박 센서에 신체 접지가 감지되었을 때를 의미한다. 데이터 수집이 끝나면, 데이터 전처리 과정을 수행한다.
[60]
전처리(Preprocessing) 과정은 수집한 센서 데이터를 전처리하는 과정으로 데이터가 가지는 노이즈를 제거(Noise Removal)하여 인증 정확도를 높이기 위해 동작한다. 전처리 과정은 센서 데이터의 특징에 따라 각기 알맞은 필터가 적용되며, 불필요한 잡음과 오차 보정 등을 위해 Low-pass Filter(LPF), High-pass Filter(HPF), Band-pass Filter(BPF), Moving Average Filter(MAF) 등이 적용 가능하다.
[61]
전처리 과정에서, 필터링을 통해 노이즈가 제거된 데이터들은 스마트워치 사용자와 스마트폰 인증 대상자가 동일한지와 스마트폰의 사용자가 스마트폰의 등록 사용자인지를 확인하는데 활용한다.
[62]
Low-pass Filter(LPF)는 저역 통과 필터로 입력 신호의 주파수 성분 중에서 차단 주파수보다 낮은 주파수 성분인 저역 주파수 성분만을 통과시킨다. High-pass Filter(HPF)는 고역 통과 필터로 입력 신호의 주파수 성분 중에서 차단 주파수보다 높은 주파수 성분인 고역 주파수 성분만을 통과시킨다.
[63]
Band-pass Filter(BPF)는 통과대역 필터로 원하는 특정 주파수 대역내의 세력만 감쇠없이 통과시키고, 나머지 주파수 세력은 감쇠한다. Moving Average Filter(MAF)는 연속적으로 입력되는 값들을 평균하여 가며 출력을 내며, 값의 변화 추이를 반영한다.
[64]
사용자 인증을 위한 첫 번째 단계(1st Phase)는 동일 판단(Identical Decision) 과정이며, 스마트폰과 스마트워치에서 획득한 심박수 데이터를 통해 스마트워치 사용자와 스마트폰의 사용자가 동일인인지 판단 여부를 결정한다.
[65]
본 발명의 일 실시 예에 따르면, 동일인 판단 과정은 동적 시간 워핑(Dynamic Time Warping, DTW) 알고리즘을 활용하여 두 심박수 데이터의 유사도를 평가한다. 두 데이터의 유사도가 설정해둔 임계값(Threshold)을 넘을 경우 두 기기의 사용자가 동일인일 확률이 높으므로 인증 과정(2nd Phase)을 수행하며, 만약 두 데이터의 유사도가 임계값을 넘지 못할 경우, 인증 시도를 종료하고 인증 실패 신호를 스마트폰에 전송한다.
[66]
동적 시간 워핑(Dynamic Time Warping, DTW)은 속도가 다를 수 있는 비슷한 두 개의 데이터를 비교하여 두 시간 순서간의 유사성을 측정하는 알고리즘으로, 심박수의 유사성을 평가하기 위해 사용한다.
[67]
특징 추출(Feature Extraction) 단계는 사용자 인증(2nd Phase)을 위해 데이터에서 행위의 특징을 추출하는 단계이다. 높은 인증 정확도를 위해 사용자마다 고유하여 분별력 있는 행위의 특징을 추출한다.
[68]
특징 추출을 위해 고려되는 특징 데이터는 가속도 데이터, 자이로 데이터, 심박수 데이터에서 산출한다. 가속도 센서 및 자이로 센서는 x, y, z축의 출력 값을 하나의 대푯값으로 처리하는 데이터 크기를 연산하여 특징 추출을 위한 특징 데이터로 고려한다. 나아가, 데이터의 시간 영역(Time domain)과 주파수 영역(Frequency domain)을 모두 고려한다.
[69]
주파수 영역의 센서 데이터는 시간 영역의 센서 데이터에 푸리에 변환을 수행함으로써 얻을 수 있으며, 신속한 인증을 위해 고속 푸리에 변환(fast fourier transform, FFT)을 사용한다. 가속도 데이터(x, y, z, magnitude)를 시간 영역(time domain)과 주파수 영역(frequency domain)에서, 자이로 데이터(x, y, z, magnitude)를 시간 영역(time domain)과 주파수 영역(frequency domain)에서, 심박수 데이터를 시간 영역(time domain)과 주파수 영역(frequency domain)에서 푸리에 변환을 수행하며, 4 x 2 + 4 x 2 + 2 = 18으로, 총 18개 데이터 스트림에서 특징 추출이 이뤄진다.
[70]
사용자 인증을 위한 두 번째 단계(2nd Phase)는 사용자 인증(User Authentication) 과정이며, 스마트폰과 스마트워치의 심박수 데이터, 가속도 데이터 및 자이로 데이터에서 추출된 행위의 특징들을 활용하여 스마트폰의 사용자가 시마트폰의 등록 사용자인지를 결정한다.
[71]
사용자 인증은 기계학습 알고리즘과 비사용자의 학습 데이터를 요구하지 않는 단일 클래스 학습(One-class classification, OCC) 알고리즘으로 사용자 인증 여부를 결정한다. OCC 알고리즘은 비사용자의 데이터를 학습하지 않기 때문에 실제적인 적용이 가능한 알고리즘으로, One-Class Support Vector Machine, One-Class K-Means 등이 활용될 수 있다.
[72]
사용자 인증은 사용자의 행위의 특징들로 학습된 기계학습 모델에 사용자의 행위 특징을 입력(input)으로 하여 인증 여부를 결정한다. 사용자 인증은 인증 모델 학습 단계와 인증 여부 결정 단계로 나뉜다. 스마트워치는 스마트폰의 등록 사용자의 인증 템플릿 탈취 가능성이 존재하므로 각 단계에 인증 템플릿을 보호하기 위한 방법이 적용된다.
[73]
인증 모델 학습은 사용자 인증을 위한 인증 여부 결정을 위해서 스마트폰의 등록 사용자를 확인하기 위해 사전에 스마트폰의 등록 사용자의 데이터를 등록하는 과정이다. 인증 모델 학습 단계는 스마트폰의 등록 사용자가 본 인증 방식을 선택했을 때 실행되며, 공격자에게 인증 모델과 특징 데이터가 탈취되는 것을 예방하기 위해 3단계에 걸쳐 인증 모델을 학습한다.
[74]
인증 모델 학습의 1단계는 동일한 기계학습 알고리즘 기반의 인증 모델을 2개 이상 배치하고 배깅(bagging, bootstrap aggregating)을 적용해 다수의 인증 모델을 학습한다. 배깅(bagging)은 기계학습에서 사용되는 앙상블 기법 중 하나로, 모델의 안정성과 정확성을 높여주며, 모델이 과적합되는 것 또한 예방해준다.
[75]
인증 모델 학습 과정은 길이 M의 원본 특징으로부터 M'(단, M'< M)개의 특징을 랜덤으로 추출한 서브 특징 데이터의 조합에 대한 학습 데이터 ti를 생성하고, 이를 반복하여 학습 데이터의 집합 T = {t1, t2, ..., tN | N = n(f)}를 생성하고, 생성된 학습 데이터의 집합에 OCC 알고리즘 L에 ti를 적용해 모델 fi을 학습시킨다. 즉, F = {fi = L(ti) | i ∈ {1, 2, ..., N}}이다.
[76]
따라서, 배깅을 통해 학습한 인증 모델은 F = {f1, f2, ..., fN}이며, fi는 OCC 알고리즘 L 기반 인증 모델이다.
[77]
인증 모델 학습의 2단계는 학습 데이터를 제거하는 단계이며, 배깅을 통한 인증 모델의 학습이 완료되면 학습에 사용된 데이터를 스마트워치에서 전부 삭제한다. 이를 통해 학습 데이터의 탈취 가능성이 제거되며, 학습 데이터의 재사용 공격에 대한 예방이 가능하다.
[78]
인증 모델 학습의 3단계는 서브 특징 데이터의 조합 추출 및 인증 과정을 패킹(packing)을 통해 난독화시키는 단계로, 패킹의 대표적인 방식인 암호화를 적용한다.
[79]
패킹은 프로그램 내에 2개의 섹션을 생성하고 하나의 섹션에서는 서브 특징 데이터의 조합 추출을 포함한 인증 프로그램을 공개키를 활용하여 암호화한 코드를 저장하고, 다른 섹션에서는 암호화된 섹션을 복호화하는 코드를 저장한다.
[80]
패킹을 통해 변형된 프로그램은 역공학(reverse-engineering) 등의 바이너리 분석으로부터 강인하며, 결과적으로 인증 과정에 대한 정보를 탈취 위협으로부터 보호할 수 있다.
[81]
인증 여부 결정은 학습된 인증 모델을 기반으로 입력된 데이터가 스마트폰의 등록 사용자의 것인지를 확인하는 단계이다. 인증 시 첫 번째 단계(1st Phase)의 동일 판단(Identical Decision) 과정이 통과된 다음 실행되며 총 3 단계에 걸쳐 진행된다.
[82]
인증 여부 결정의 1단계는 인증 모델 학습 단계에서 패킹 과정을 통해 암호화된 인증 프로그램을 복호화시키는 언패킹(unpacking) 단계이다. 언패킹 이후에는 메모리상에 학습 당시 구현된 서브 특징 데이터의 조합 추출 및 인증 과정의 알고리즘이 복구된다.
[83]
인증 여부 결정의 2단계는 입력된 데이터의 행위 데이터에서 추출된 특징 데이터로부터 서브 특징 데이터의 조합에 대한 테스트 데이터의 집합 D = {d1, d2, ..., dN | N = n(f)}를 생성한다. 이 때 di는 인증 모델 학습의 1단계에서 수행하는 과정을 통해 ti와 동일한 서브 특징 데이터의 조합을 추출한다.
[84]
인증 여부 결정의 3단계는 fi에 di를 적용해 각 모델의 분류 결과에 대한 집합 R = {r1, r2, ..., rN}을 생성하며, i ∈ {1, 2, ..., N}일 때 ri = fi(di)이다. 인증 여부 결정은 각 모델의 결과를 취합하고, 과반수이상이 결정한 분류 결과를 최종결과로 도출한다. 예를 들어, 과반수이상이 입력된 데이터를 스마트폰의 등록 자용자의 것으로 결정하면, 스마트워치는 사용자의 스마트폰의 접근을 허용한다.
[85]
도 5는 본 발명의 다른 실시예에 따른 제1 컴퓨팅 장치의 동작을 예시한 흐름도이다. 사용자 인증 방법은 컴퓨팅 기기에 의하여 수행될 수 있으며, 컴퓨팅 장치가 수행하는 동작에 관한 상세한 설명과 중복되는 설명은 생략하기로 한다.
[86]
단계 S510에서, 제1 컴퓨팅 장치(100)는 제2 컴퓨팅 장치(200)에 내장된 하나 이상의 제2 센서를 통해 수집한 제2 생체 데이터 및 제2 모션 데이터를 포함하는 제2 센서 데이터를 수신한다.
[87]
단계 S520에서, 제1 컴퓨팅 장치(100)와 하나 이상의 제1 센서를 통해 제1 생체 데이터 및 제1 모션 데이터를 포함하는 제1 센서 데이터를 수집한다.
[88]
제1 컴퓨팅 장치(100)는 제1 생체 데이터, 제2 생체 데이터, 제1 모션 데이터, 및 제2 모션 데이터의 노이즈를 제거하는 전처리 과정을 더 수행한다.
[89]
단계 S530에서, 제1 컴퓨팅 장치(100)는 제1 생체 데이터와 상기 제2 생체 데이터 간의 유사도를 산출하고, 유사도에 따라 제1 컴퓨팅 장치의 사용자 및 제2 컴퓨팅 장치의 사용자 간의 동일인 여부를 판단한다.
[90]
동일인 여부를 판단하는 과정은 측정 시간에 따라 상이한 파형을 갖는 제1 생체 데이터와 제2 생체 데이터의 측정 구간을 동기화하고, 제1 생체 데이터의 파형과 제2 생체 데이터의 파형을 비교하여 상기 유사도를 산출한다.
[91]
제1 컴퓨팅 장치(100)는 유사도가 임계값을 넘을 경우, 제1 컴퓨팅 장치(100)의 사용자 및 제2 컴퓨팅 장치(200)의 사용자를 동일인으로 판단하며, 상기 유사도가 임계값을 넘지 못할 경우, 상기 제2 컴퓨팅 장치(200)로 인증 실패 신호를 전송한다.
[92]
단계 S540에서, 제1 컴퓨팅 장치(100)는 제1 센서 데이터 및 제2 센서 데이터를 통한 사용자의 행위 분석을 기반으로 제2 컴퓨팅 장치(200)의 사용자 인증 결과를 생성하는 과정을 수행한다.
[93]
상기 사용자의 행위 분석을 기반으로 사용자 인증 결과를 생성하는 과정은 제1 센서 데이터 및 제2 센서 데이터를 기반으로 행위의 특징을 추출하고, 제2 컴퓨팅 장치(200)의 등록 사용자의 원본 센서 데이터를 등록하여 인증 모델을 학습하고, 학습된 인증 모델을 기반으로 제2 컴퓨팅 장치(200)의 사용자가 제2 컴퓨팅 장치(200)의 등록 사용자인지 확인하는 과정을 포함한다.
[94]
행위의 특징을 추출하는 과정은 제1 센서 데이터 및 제2 센서 데이터에 대해서 시간 영역과 주파수 영역을 고려하며 특징 데이터를 추출하고, 특징 데이터는 3개의 축에 대응하는 데이터 및 3개의 축에 따른 데이터의 크기를 포함하며, 주파수 영역의 센서 데이터는 시간 영역의 센서 데이터를 푸리에 변환하여 획득한다.
[95]
인증 모델을 학습하는 과정은 복수의 인증 모델을 병렬로 연결하여, 제2 컴퓨팅 장치(200)의 등록 사용자의 행위에 대한 원본 센서 데이터로부터 랜덤하게 추출한 서브 특징 데이터의 조합에 대한 학습 데이터의 집합을 생성하고, 학습 데이터를 단일 클래스 학습 알고리즘에 적용하여 복수의 인증 모델을 학습하고, 복수의 인증 모델을 학습하는데 사용된 학습 데이터를 제1 컴퓨팅 장치(100)에서 삭제하고, 추출한 서브 특징 데이터의 조합을 포함하는 사용자 인증 알고리즘을 암호화하는 과정을 포함한다.
[96]
제1 컴퓨팅 장치(100)는 (i) 암호화된 서브 특징 데이터의 조합을 포함하는 사용자 인증 알고리즘과 (ii) 암호화된 서브 특징 데이터의 조합을 포함하는 사용자 인증 알고리즘을 복호화하는 코드를 저장하고, 제2 컴퓨팅 장치(200)의 사용자가 인증을 시도할 때 복호화 과정을 수행한다.
[97]
제2 컴퓨팅 장치(200)의 사용자가 상기 제2 컴퓨팅 장치(200)의 상기 등록 사용자인지 확인하는 과정은 암호화된 서브 특징 데이터의 조합을 포함하는 사용자 인증 알고리즘을 복호화시키고, 추출한 특징 데이터로부터 랜덤하게 추출한 서브 특징 데이터의 조합에 대한 테스트 데이터의 집합을 생성하고, 복수의 인증 모델에 테스트 데이터의 집합을 적용하여 복수의 인증 모델의 분류 결과에 따라 제2 컴퓨팅 장치(200)의 인증 여부를 결정한다.
[98]
제2 컴퓨팅 장치(200)의 인증 여부를 결정하는 과정은 복수의 인증 모델의 분류 결과를 투표 알고리즘을 통해 과반수 이상이 제2 컴퓨팅 장치(200)의 등록 사용자로 판단하는 경우, 제2 컴퓨팅 장치(200)로 인증 성공 신호를 전송한다. 과반수 이상이 제2 컴퓨팅 장치(200)의 등록 사용자가 아닌 것으로 판단하는 경우, 제2 컴퓨팅 장치(200)로 인증 실패 신호를 전송한다.
[99]
도 5에서는 각각의 과정을 순차적으로 실행하는 것으로 개재하고 있으나 이는 예시적으로 설명한 것에 불과하고, 이 분야의 기술자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 5에 기재된 순서를 변경하여 실행하거나 또는 하나 이상의 과정을 병렬적으로 실행하거나 다른 과정을 추가하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이다.
[100]
도 6는 본 발명의 다른 실시예에 따른 제2 컴퓨팅 장치의 동작을 예시한 흐름도이다. 제2 컴퓨팅 장치를 이용한 사용자 인증은 컴퓨팅 장치에 의하여 수행될 수 있으며, 컴퓨팅 장치가 수행하는 동작에 관한 상세한 설명과 중복되는 설명은 생략하기로 한다.
[101]
단계 S610에서, 제2 컴퓨팅 장치(200)는 하나 이상의 제2 센서는 제2 생체 데이터 및 제2 모션 데이터를 포함하는 제2 센서 데이터를 수집한다.
[102]
단계 S620에서, 제2 컴퓨팅 장치(200)는 제2 생체 데이터 및 제2 모션 데이터를 포함하는 제2 센서 데이터를 전송한다.
[103]
단계 S630에서, 제2 컴퓨팅 장치(200)는 제1 컴퓨팅 장치(100)로부터 상기 제2 컴퓨팅 장치(200)의 사용자 인증 결과를 수신하는 과정을 수행한다.
[104]
상기 사용자 인증 결과를 수신하는 과정은 제1 컴퓨팅 장치(100)가 획득한 제1 생체 데이터와 상기 제2 생체 데이터 간의 유사도를 상기 제1 컴퓨팅 장치(100)가 판단한 후 상기 유사도가 임계값을 넘지 못할 경우에 전송하는 인증 실패 신호를 수신한다.
[105]
상기 사용자 인증 결과를 수신하는 과정은 제1 컴퓨팅 장치(100)가 복수의 인증 모델의 분류 결과를 투표 알고리즘을 통해 과반수 이상이 상기 제2 컴퓨팅 장치(200)의 등록 사용자로 판단하는 경우에 제2 컴퓨팅 장치(200)로 전송하는 인증 성공 신호를 수신한다.
[106]
도 6에서는 각각의 과정을 순차적으로 실행하는 것으로 개재하고 있으나 이는 예시적으로 설명한 것에 불과하고, 이 분야의 기술자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 6에 기재된 순서를 변경하여 실행하거나 또는 하나 이상의 과정을 병렬적으로 실행하거나 다른 과정을 추가하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이다.
[107]
본 발명의 일 실시 예에 따르면, 사용자 인증 시스템(10)은 심박 센서, 가속도 센서, 자이로 센서에서 측정된 데이터에 대한 푸리에 변환과 함께 사용자 인증을 위한 행위 특징을 추출하고, 행위 특징을 사용자 인증 모델에 입력하여 사용자의 인증여부를 결정한다.
[108]
사용자 인증 시스템(10)은 스마트폰과 스마트워치를 기반으로 동작된다. 스마트폰에서 인증 시도가 감지되면, 스마트폰 및 스마트워치는 데이터를 수집한다. 스마트폰 및 스마트워치에 내장된 센서로부터 데이터를 획득하는 과정으로, 본 발명에서는 심박 센서, 가속도 센서 및 자이로 센서가 사용된다.
[109]
사용자 인증 시스템(10)은 심박 센서, 가속도 센서, 및 자이로 센서에서 수집된 제1 센서 데이터 및 제2 센서 데이터로부터 정형화된 행위 특징을 추출하여 이미지 형태의 행위 특징 데이터를 생성할 수 있다.
[110]
본 발명의 일 실시 예에 따르면, 행위 특징 데이터는 제1 컴퓨팅 장치(100)를 통해 수집된 제1 센서 데이터로 추출한 제1 행위 특징 데이터 및 제2 컴퓨팅 장치(200)를 통해 수집된 제2 센서 데이터로 추출한 제2 행위 특징 데이터를 포함할 수 있다.
[111]
상술한 행위 특징 데이터는 데이터 변환 모델을 기반으로 인증 등록 시 사용자의 자세에서 입력된 행위 특징 데이터를 변환하여 등록 표준화 데이터를 생성하고, 인증 시도 시 사용자의 자세에서 입력된 행위 특징 데이터를 변환하여 미등록 표준화 데이터를 생성할 수 있다. 이때, 등록 표준화 데이터는 제1 행위 특징 데이터가 변환된 제1 등록 표준화 데이터 및 제2 행위 특징 데이터가 변환된 제2 등록 표준화 데이터를 포함할 수 있으며, 미등록 표준화 데이터는 제1 행위 특징 데이터가 변환된 제1 미등록 표준화 데이터 및 제2 행위 특징 데이터가 변환된 제2 미등록 표준화 데이터를 포함할 수 있다.
[112]
상술한 데이터 변환 모델은 제1 행위 특징 데이터 및 제2 행위 특징 데이터를 생성자에 입력하여 제1 등록 표준화 데이터 및 제2 등록 표준화 데이터를 생성하는 제1 과정, 제1 행위 특징 데이터의 특징 및 제2 행위 특징 데이터의 특징, 제1 등록 표준화 데이터 및 제2 등록 표준화 데이터의 특징 및 레이블을 감별자에 입력하고, 감별자의 손실 함수를 기반으로 감별자의 가중치를 조정하는 제2 과정 및 감별자의 손실 함수를 생성자에 전달하고, 생성자의 가중치를 조정하는 제3 과정을 수행한다. 상술한 제1 과정, 제2 과정 및 제3 과정을 반복하여 감별자의 판별 값이 제2 설정 값인 경우 데이터 변환 모델이 학습될 수 있다. 본 발명의 일 실시 예에 따르면, 제2 설정 값은 0.5일 수 있으며, 반드시 이에 한정되지 않는다.
[113]
사용자 인증 모델의 학습은 데이터 변환 모델을 기반으로 인증 등록 시 사용자의 자세에 따른 제1 등록 표준화 데이터 및 제2 등록 표준화 데이터를 생성하며, 감별자에 제1 등록 표준화 데이터 및 제2 등록 표준화 데이터를 입력하여 생성된 판별 값에 따라 사용자의 데이터 또는 타인의 데이터 여부를 판단하여 서로 다른 레이블을 부여하며 사용자 인증 모델을 학습할 수 있다.
[114]
본 발명의 일 실시 예에 따르면, 사용자 인증 시스템(10)은 제2 컴퓨팅 장치(200)의 등록 사용자의 등록 표준화 데이터를 등록하여 인증 모델을 학습하고, 학습된 인증 모델을 기반으로 제2 컴퓨팅 장치(200)의 사용자가 제2 컴퓨팅 장치(200)의 등록 사용자인지 확인할 수 있다.
[115]
상술한 인증 모델을 학습하는 과정은 복수의 인증 모델을 병렬로 연결하여, 제2 컴퓨팅 장치(200)의 등록 사용자의 행위에 대한 제1 센서 데이터 및 제2 센서 데이터로부터 랜덤하게 추출한 제1 등록 표준화 데이터의 조합 및 제2 등록 표준화 데이터의 조합에 대한 학습 데이터의 집합을 생성하고, 학습 데이터를 단일 클래스 학습 알고리즘에 적용하여 복수의 인증 모델을 학습할 수 있으며, 복수의 인증 모델을 학습하는데 사용된 학습 데이터를 제1 컴퓨팅 장치(100)에서 삭제할 수 있다. 추출한 서브 특징 데이터의 조합을 포함하는 사용자 인증 알고리즘을 암호화하는 과정을 포함할 수 있으며, 제2 컴퓨팅 장치(200)의 사용자가 인증을 시도할 때 복호화 과정을 수행할 수 있다.
[116]
제2 컴퓨팅 장치(200)의 사용자가 제2 컴퓨팅 장치(200)의 등록 사용자인지 확인은 암호화된 제1 등록 표준화 데이터의 조합 및 제2 등록 표준화 데이터의 조합을 포함하는 사용자 인증 알고리즘을 복호화시키고, 추출한 특징 데이터로부터 랜덤하게 추출한 서브 특징 데이터의 조합에 대한 테스트 데이터의 집합을 생성하고, 복수의 인증 모델에 상기 테스트 데이터의 집합을 적용하여 복수의 인증 모델의 분류 결과에 따라 제2 컴퓨팅 장치(200)의 인증 여부를 결정할 수 있다.
[117]
제2 컴퓨팅 장치(200)는 복수의 인증 모델의 분류 결과를 투표 알고리즘을 통해 과반수 이상이 상기 제2 컴퓨팅 장치(200)의 등록 사용자로 판단하는 경우, 제1 컴퓨팅 장치(100)에서 제2 컴퓨팅 장치(200)로 인증 성공 신호를 전송하며, 복수의 인증 모델의 분류 결과를 투표 알고리즘을 통해 과반수 이상이 제2 컴퓨팅 장치(200)의 등록 사용자가 아닌 것으로 판단하는 경우, 제1 컴퓨팅 장치(100)에서 제2 컴퓨팅 장치(200)로 인증 실패 신호를 전송할 수 있다.
[118]
본 발명의 다른 실시 예에 따르면, 사용자 인증 시스템(10)의 사용자의 인증 시도 시 사용자의 자세에 따른 제1 미등록 표준화 데이터 및 제2 미등록 표준화 데이터를 생성하며, 사용자 인증 모델에 제1 미등록 표준화 데이터 및 제2 미등록 표준화 데이터를 입력하여 발생한 예측 값에 따라 인증 해제 또는 인증 실패 여부를 결정할 수 있다.
[119]
도 7은 본 발명의 다른 실시예에 따른 제2 컴퓨팅 장치를 나타내는 도면이다.
[120]
도 7은 제2 컴퓨팅 장치를 예시한 블록도이다. 도 7에 도시한 바와 같이, 제2 컴퓨팅 장치(200)는 데이터 변환 모델(12) 및 사용자 인증 모델(14)로 구성되어 있다. 제2 컴퓨팅 장치(200)는 도 7에서 예시적으로 도시한 다양한 구성요소들 중에서 일부 구성요소를 생략하거나 다른 구성요소를 추가로 포함할 수 있다.
[121]
제2 컴퓨팅 장치(200)는 행위 기반 인증에서 인증 등록 시 등록되지 않은 자세에서 인증 해제를 시도할 때 인증 성능과 정확도를 보장한다.
[122]
제2 컴퓨팅 장치(200)는 등록되지 않은 자세에서 인증 해제를 시도할 때 인증이 가능하도록 하기 위해 데이터 변환 모델(12)을 활용할 수 있다. 이를 통해 등록되지 않은 자세의 행위 특징 데이터를 등록된 자세 수준의 행위 특징 데이터로 변환하여 인증 정확도와 사용성을 강화한다.
[123]
제2 컴퓨팅 장치(200)는 행위 기반 인증에서 자세의 변화로 인한 행위 특징의 변화를 보정시키기 위해 생성적 적대 신경망 (Generative Adversarial Network, GAN)을 사용하여 데이터를 변환하며, 이는 사용자가 다양한 자세에서 인증 해제를 수행하더라도 인증이 가능하도록 할 수 있다.
[124]
본 발명의 일 실시 예에 따르면, 제2 컴퓨팅 장치(200)의 데이터 변환 모델(12)은 생성적 적대 신경망(Generative Adversarial Network, GAN)을 기반으로 사용되며, 사용자 인증 모델(14)은 합성곱 신경망(Convolutional Neural Network, CNN)을 기반으로 이용될 수 있다. 이는 반드시 한정되는 것은 아니다.
[125]
생성적 적대 신경망(Generative Adversarial Network, GAN)은 생성자로 실제 데이터를 학습하고 이를 바탕으로 거짓 데이터를 생성한다. 거짓 데이터는 실제에 가까운 거짓 데이터이다. 감별자는 생성자가 내놓은 데이터가 실제인지 거짓인지 판별하도록 학습할 수 있다.
[126]
합성곱 신경망(Convolutional Neural Network, CNN)은 심층 신경망 (Deep Neural Network, DNN)의 한 종류로, 하나 또는 여러 개의 콘볼루션 계층(convolutional layer)과 통합 계층(pooling layer), 완전하게 연결된 계층(fully connected layer)들로 구성된 신경망을 나타낸다. 합성곱 신경망(Convolutional Neural Network, CNN)은 다수의 레이어가 네트워크로 연결되며 히든 레이어를 포함한다. 레이어는 파라미터를 포함할 수 있고, 레이어의 파라미터는 학습 가능한 필터 집합을 포함한다. 필터는 컨볼루션 필터를 적용할 수 있다. 파라미터는 노드 간의 가중치 및/또는 바이어스를 포함한다.
[127]
행위 기반 인증은 모바일 디바이스 내에 내장되어 있는 센서 및 터치스크린으로부터 수집된 사용자의 행위 데이터를 활용해 사용자를 인증하는 기술이다. 행위 기반 인증은 PIN, 패스워드, 생체인증 등의 기존 인증 방식이 가지고 있는 문제점을 해소할 수 있다. 하지만, 행위 기반 인증에서 사용자의 행위는 자세에 따라 변하기 때문에 각 자세마다 하나의 행위 인증 모델을 생성해야 하는 문제가 있으며, 사용자가 다양한 자세에서 행위 기반 인증 시스템을 사용하기 위해서 인증 등록 시 다양한 자세의 데이터를 등록해야 하는 사용성 저해의 문제가 있다. 특히, 모바일 디바이스의 사용 환경이 가변적이기 때문에 다양한 자세에서의 인증 모델 생성은 현실적으로 어렵다.
[128]
따라서, 제2 컴퓨팅 장치(200)는 사용자가 등록하지 않은 다양한 자세에 대해 인증 모델을 생성하지 않고 행위 특징 데이터를 변환시키므로 사용성과 함께 인증 정확도의 보장이 가능할 수 있다.
[129]
제2 컴퓨팅 장치(200)는 다양한 자세에서도 인증 해제가 가능해 인증 오류율이 줄어들게 되며, 자세에 따른 다수의 인증 모델을 생성하고 학습할 필요가 없고 기준이 되는 하나의 자세에서만 인증 등록을 진행하여 사용성이 증가한다. 이를 통해, 행위 기반 인증의 상용화와 실용성을 증가시킬 수 있으며, 데이터 변환 모델(12)을 기반으로 모든 자세의 데이터를 동일한 수준으로 변환시켜 주므로 인증 시 자세를 구분하는 단계의 생략이 가능하고 자세를 구분하지 않고 데이터를 변환시켜주기 때문에 인증 과정이 간소화되고 효율성이 증가할 수 있다.
[130]
제2 컴퓨팅 장치(200)는 기기의 잠금 해제나 금융 서비스를 위해 사용자 인증이 필요한 기기에 사용된다. 본 발명의 일 실시 예에 따르면, 스마트폰에 패턴을 통해 인증이 시도되면, 사용자의 행위 특징을 분석하여 스마트폰의 인증 등록 사용자와 동일인인지 판단하여 인증해제를 할 수 있다.
[131]
제2 컴퓨팅 장치(200)는 데이터 변환 모델(12)을 기반으로 (i) 인증 등록 시 사용자의 자세에 따라 입력된 행위 특징 데이터를 변환하여 등록 표준화 데이터를 생성하고 (ii) 인증 시도 시 사용자의 자세에 따라 입력된 행위 특징 데이터를 변환하여 미등록 표준화 데이터를 생성하고, 등록 표준화 데이터를 기반으로 형성된 사용자 인증 모델(14)을 통해 상기 미등록 표준화 데이터의 진위를 판단하여 인증 해제 또는 인증 실패를 결정하는 과정을 수행할 수 있다.
[132]
제2 컴퓨팅 장치(200)는 터치 센서 및 하나 이상의 모션 센서를 포함할 수 있으며, 반드시 이에 한정되는 것은 아니다.
[133]
제2 컴퓨팅 장치(200)는 내장된 하나 이상의 모션 센서를 통해 모션 데이터를 수집할 수 있으며, 터치 센서를 통해 터치 데이터를 수집할 수 있다. 통합 센서 데이터는 모션 데이터 및 터치 데이터를 포함한다.
[134]
제2 컴퓨팅 장치(200)는 터치 센서를 통해 수집한 터치 데이터 및 하나 이상의 모션 센서를 통해 수집한 모션 데이터를 포함하는 통합 센서 데이터를 생성하고, 통합 센서 데이터를 통해 사용자의 행위 특징을 추출하여 이미지 형태의 행위 특징 데이터를 생성한다.
[135]
모션 데이터는 제2 컴퓨팅 장치(200)의 사용자가 모션을 수행하는 일정 시간 단위로 수집한다. 모션 데이터를 수집하는 시간은 터치 데이터가 수집된 시간과 동기화된다.
[136]
터치 데이터는 터치가 발생한 위치를 좌표로 표현한다. 행위 특징 데이터를 생성하는 과정은 동기화된 수집 시간에 따라 상기 좌표의 발생 지점을 나타내는 터치 데이터에 모션 데이터를 기록한다.
[137]
모션 센서는 (i) 센서에 가해지는 가속도를 측정하는 가속도 센서 (ii) 센서 주위의 자기장을 측정하는 지자기 센서 (iii) 센서가 움직일 때 발생하는 각속도를 측정하는 자이로 센서를 포함할 수 있다. 이는 반드시 한정되는 것은 아니며, 스마트폰을 사용하는 사용자의 모션 데이터를 기반으로 행위 특징을 추출하여 행위 특징 데이터를 추출할 수 있는 센서로 형성될 수 있다.
[138]
또한, 모션 센서는 가속도 센서. 지자기 센서 및 자이로 센서를 조합한 9축 센서 모듈로 형성될 수 있다.
[139]
제2 컴퓨팅 장치(200)는 행위 특징 데이터를 변환하여 행위 특징 데이터와 동일한 크기의 출력 이미지를 생성하는 생성자 및 제2 컴퓨팅 장치(200)의 사용자가 입력한 행위 특징 데이터에 따른 변화 여부에 대한 판별 값을 추출하는 감별자를 포함할 수 있다. 이는 반드시 한정되는 것은 아니며 예시적으로 도시한 다양한 구성요소들 중에서 일부 구성요소를 생략하거나 다른 구성요소를 추가로 포함할 수 있다. 상기 생성자 및 감별자는 서로 상호 작용할 수 있다.
[140]
본 발명의 일 실시 예에 따르면, 감별자의 판별 값이 과반수 이상인 경우는 제2 컴퓨팅 장치(200)의 사용자가 인증 시도 시 입력한 행위 특징 데이터이다. 감별자의 판별 값이 과반수 미만인 경우는 생성자에서 변환된 행위 특징 데이터이다.
[141]
제2 컴퓨팅 장치(200)는 데이터 변환 모델(12)을 기반으로 인증 등록 시 사용자의 자세에 따른 등록 표준화 데이터를 생성하며, 감별자에 등록 표준화 데이터를 입력하여 생성된 판별 값에 따라 사용자의 데이터 또는 타인의 데이터 여부를 판단하여 서로 다른 레이블을 부여하며 사용자 인증 모델(14)을 학습할 수 있다.
[142]
본 발명의 일 실시 예에 따르면, 상술한 사용자 인증 모델(14)의 학습에서 판별 값이 기 설정한 값 이상인 경우 1로 레이블링하며, 기 설정한 값 미만인 경우 0으로 레이블링할 수 있다. 여기서, 기 설정한 값은 0.9일 수 있으며, 반드시 이에 한정되는 것은 아니다.
[143]
제2 컴퓨팅 장치(200)는 사용자의 인증 시도 시 사용자의 자세에 따른 미등록 표준화 데이터를 생성하며, 사용자 인증 모델에 미등록 표준화 데이터를 입력하여 발생한 예측 값에 따라 인증 해제 또는 인증 실패 여부를 결정한다. 인증 해제는 상기 사용자 인증 모델의 예측 값이 제1 설정 값 이상일 경우 결정되며, 인증 실패 여부는 사용자 인증 모델의 상기 예측 값이 제1 설정 값 미만일 경우 결정될 수 있다.
[144]
본 발명의 일 실시 예에 따르면, 제1 설정 값은 0.5일 수 있으며, 반드시 이에 한정되지 않으며, 제2 컴퓨팅 장치(200)를 사용하는 사용자에 의해 변화할 수 있다.
[145]
본 발명의 일 실시 예에 따르면, 데이터 변환 모델(12)은 사용자의 행위 특징 데이터를 생성자에 입력하여 등록 표준화 데이터를 생성하는 제1 과정, 행위 특징 데이터의 특징, 등록 표준화 데이터의 특징 및 레이블을 감별자에 입력하고, 감별자의 손실 함수를 기반으로 감별자의 가중치를 조정하는 제2 과정 및 감별자의 손실 함수를 생성자에 전달하고, 생성자의 가중치를 조정하는 제3 과정을 수행할 수 있다. 상술한 제1 과정, 제2 과정 및 제3 과정을 반복하여 감별자의 상기 판별 값이 제2 설정 값인 경우 데이터 변환 모델의 학습이 종료될 수 있다.
[146]
본 발명의 일 실시 예에 따르면, 제2 설정 값은 0.5일 수 있으며, 반드시 이에 한정되지 않는다.
[147]
사용자 인증 모델(14)은 상술한 학습된 데이터 변환 모델(12)을 기반으로 학습 완료된 감별자에 등록 표준화 데이터를 입력하여 발생한 판별 값에 따라 서로 다른 레이블을 부여하며, 서로 다른 레이블을 기반으로 등록 표준화 데이터가 스마트폰의 사용자의 데이터 또는 타인의 데이터인지 판단할 수 있다.
[148]
제2 컴퓨팅 장치(200)는 사용자 인증 모델(14)에 미등록 표준화 데이터를 입력하여 발생한 예측 값에 따라 인증 해제 또는 인증 실패 여부를 결정할 수 있다. 본 발명의 일 실시 예에 따르면, 인증 해제는 사용자 인증 모델(14)의 예측 값이 과반수 이상일 경우 결정되며, 인증 실패 여부는 사용자 인증 모델(14)의 예측 값이 과반수 미만일 경우 결정될 수 있다.
[149]
제2 컴퓨팅 장치(200)는 등록되지 않은 자세에서 인증 해제를 시도할 때 인증이 가능하도록 하기 위해 인증 시도 시 자세 수준의 행위 특징 데이터를 인증 등록 시 자세 수준의 행위 특징 데이터로 변환한다. 특징 데이터 변환을 위해 생성적 적대 신경망 (Generative Adversarial Network, GAN)을 활용하며, 변환된 데이터는 인증 등록 시 자세 데이터와의 유사성이 높으므로 인증 정확도와 사용성이 강화된다.
[150]
기존 행위 기반 인증은 앉은 상태의 행위 특징 데이터로 학습된 모델에 대해 사용자가 앉은 상태에서 인증 해제를 시도할 경우, 학습된 특징 데이터와 입력된 특징 데이터의 유사성이 높기 때문에 사용자 인증이 정상적으로 수행된다. 그러나 걷는 상태, 선 상태, 누운 상태 등 인증 등록 시의 자세가 아닌 다른 자세에서 인증 해제를 시도하는 경우, 해당 자세의 행위 특징 데이터는 학습된 행위 특징 데이터와 유사성이 높지 않으므로 인증이 정상적으로 수행되지 않게 된다. 따라서, 본 발명의 제2 컴퓨팅 장치(200)은 데이터 변환 기술이 적용된 행위 기반 인증으로 학습된 자세뿐만 아니라, 학습되지 않은 다양한 자세에서도 인증 해제를 시도하는 경우에도, 해당 자세의 행위 특징 데이터가 학습된 행위 특징 데이터와 유사성이 높으므로, 제2 컴퓨팅 장치(200)에 의해 정상적으로 사용자를 인증할 수 있게 된다.
[151]
제2 컴퓨팅 장치(200)는 데이터 변환이 적용된 행위 기반 인증으로 인증 등록 시에 입력 받은 자세의 데이터를 사전 훈련된 데이터 변환 모델(12)을 통해 변환하고, 변환된 데이터를 인증 모델 학습에 사용한다. 인증 시도 시에는 자세에 상관없이 입력 받은 자세의 데이터를 동일한 데이터 변환 모델(12)을 통해 변환하고, 인증 모델은 변환된 데이터를 분석해 인증 해제, 인증 실패 여부를 판단한다.
[152]
본 발명의 일 실시 예에 따르면, 변환된 행위 특징 데이터는 인증 등록 시 행한 사용자의 인증 등록 시 사용자의 자세에 따라 입력된 행위 특징 데이터가 변환된 등록 표준화 데이터 및 인증 시도 시 행한 사용자의 인증 시도 시 사용자의 자세에 따라 입력된 행위 특징 데이터가 변환된 미등록 표준화 데이터를 포함할 수 있다.
[153]
도 8은 본 발명의 일 실시예에 따른 제2 컴퓨팅 장치의 인증 절차의 흐름을 자세히 나타내는 흐름도이다.
[154]
도 8을 참조하면, 본 발명에서 제2 컴퓨팅 장치(200)는 스마트폰이다. 본 발명에서 스마트폰은 인증을 시도하는 기기이다.
[155]
제2 컴퓨팅 장치(200)는 스마트폰에 내장되어 있는 모션 센서를 이용하여 사용자의 행위 특징에 따른 인증 여부를 결정한다. 결과적으로 인증 과정에서 패스워드, 패턴 등의 기존의 인증 방법뿐 아니라 인증을 시도하는 사용자의 행위 데이터를 사용하여 인증을 할 수 있다.
[156]
스마트폰은 사용자가 인증을 시도하는 기기로서, 스마트폰 인증 시도자의 행위 특징을 추출하여 인증 시도자가 스마트폰의 소유자인 것으로 판명될 경우, 스마트폰의 사용자의 접근을 허용한다.
[157]
이하에서는 제2 컴퓨팅 장치(200)를 통한 사용자 인증 과정에 대해 흐름을 따라 설명한다. 도 8은 사용자 인증 장치 내부에서의 사용자 인증 과정을 자세히 도시한 흐름도이다.
[158]
제2 컴퓨팅 장치(200)의 내부에서의 사용자 인증 과정은 패턴 입력 단계(S810), 데이터 수집 단계(S820), 행위 특징 추출 단계(S830), 데이터 변환 단계(S840), 인증 모델 학습 단계(S842), 사용자 인증 단계(S844) 및 인증 결과 단계(S850)를 포함한다.
[159]
제2 컴퓨팅 장치(200)는 스마트폰에서 사용자가 인증 시도를 위한 패턴을 입력하며(S810), 사용자가 인증 등록 또는 해제를 시도하는 패턴이 입력되는 시간 동안 스마트폰의 가속도 센서. 지자기 센서 및 자이로 센서로부터 모션 데이터를 수집한다(S820).
[160]
본 발명의 일 실시 예에 따르면, 데이터를 수집하는 단계(S820)에서는 터치 스크린, 가속도 센서. 지자기 센서 및 자이로 센서 등이 활용될 수 있다.
[161]
행위 특징 추출 단계(S830)는 단계 S810에서 수집한 모션 데이터를 통해 정형화된 행위의 특징을 기반으로 행위 특징 데이터를 추출한다. 모션 데이터는 사용자로부터 수집한 고유하며 분별력 있는 데이터이다.
[162]
데이터를 변환하는 단계(S840)는 추출된 행위 특징 데이터를 생성적 적대 신경망 (Generative Adversarial Network, GAN) 기반의 데이터 변환 모델(12)을 통해 인증 등록 시 자세의 행위 특징 데이터 수준으로 변환 및 보정할 수 있다.
[163]
변환된 데이터는 인증 상황이 인증 등록 시인 경우 인증 모델 학습 단계(S842)에서 사용되며, 인증 시도 시인 경우 사용자 인증 단계(S844)에서 사용될 수 있다.
[164]
인증 모델 학습 단계(S842)는 사용자 인증을 위해 변환된 데이터를 통해 합성곱 신경망 (Convolutional Neural Network, CNN) 기반의 인증 모델을 사전에 학습할 수 있다.
[165]
사용자 인증 단계(S844)는 인증 모델 학습 단계(S342)를 통해 학습된 모델과 변환된 행위 특징 데이터를 활용하여 사용자 인증을 시도하는 단계이다. 사용자가 인증 등록 시 입력한 행위 특징 데이터에서 변환된 데이터로 학습된 기계학습 모델에 인증 시도 시 입력한 행위 특징 데이터에서 변환된 데이터를 입력하여 인증 여부를 결정한다.
[166]
이하에서는 사용자 인증 과정에서의 패턴 입력에 따른 데이터 수집 및 행위 특징 추출 과정에 대해 자세하게 설명한다.
[167]
도 8에서는 각각의 과정을 순차적으로 실행하는 것으로 개재하고 있으나 이는 예시적으로 설명한 것에 불과하고, 이 분야의 기술자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 8에 기재된 순서를 변경하여 실행하거나 또는 하나 이상의 과정을 병렬적으로 실행하거나 다른 과정을 추가하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이다.
[168]
도 9는 본 발명의 일 실시예에 따른 제2 컴퓨팅 장치의 패턴 입력에 따른 데이터 수집 및 행위 특징 추출 과정을 자세히 도시한 흐름도이다.
[169]
도 9a는 제2 컴퓨팅 장치의 패턴 입력 시 발생하는 터치 데이터를 나타내는 도면이며, 도 9b는 제2 컴퓨팅 장치에 패턴을 입력함에 따른 데이터 수집 및 행위 특징 추출 방법을 나타내는 흐름도이다.
[170]
도 9a를 참조하면, 사용자는 패턴을 그릴 때 그리드 간에 직선이 아닌 자유로운 형태의 선을 그을 수 있다. 따라서, 동일한 패턴일지라도 서로 다른 사용자에게서 발생하는 터치 이벤트의 위치는 다를 수 있다.
[171]
또한, 기존 스마트폰의 패턴 락 방식은 그리드와 직선으로만 입력을 표현할 수 있기 때문에 동일한 패턴의 입력은 고정되었고, 그에 따라 패턴이 노출되었을 때 타인에 의해 인증이 허용될 수 있는 위험이 있었다. 반면에 본 발명은 동일한 패턴이라도 사용자마다 그리는 방식이 다르기 때문에 패턴이 노출되더라도 터치 이벤트 좌표를 통해 타인에 의한 인증을 예방할 수 있다. 뿐만 아니라 터치 데이터 외에도 3개의 통합 센서 데이터를 활용하기 때문에 정확도를 더 높일 수 있다.
[172]
사용자 인증은 스마트폰을 기반으로 동작된다. 스마트폰에서 인증 시도가 감지되면, 스마트폰은 데이터를 수집한다.
[173]
제2 컴퓨팅 장치의 패턴 입력에 따른 데이터 수집 및 행위 특징 추출 과정은 패턴 입력 단계(S910), 단위 시간 별 통합 센서 데이터 측정 단계(S920), 터치 스크린과 3개 센서(가속도계, 지자기계, 자이로계) 동기화 단계(S930), 터치 스크린의 터치 이벤트를 화면의 X, Y 좌표로 표현하는 단계(S940) 및 화면에 표현된 터치 이벤트 지점에 3개 센서 값 저장하는 단계(S950)를 포함한다.
[174]
데이터 수집(Data Collection)은 스마트폰에 내장된 모션 센서로부터 모션 데이터를 획득하는 과정으로, 본 발명에서는 세가지 모션 센서가 사용된다. 세가지 모션 센서는 가속도 센서. 지자기 센서 및 자이로 센서이다.
[175]
가속도 센서(accelerometer Sensor)는 물체의 가속도나 충격의 세기를 측정하는 센서이다. 가속도 센서는 x, y, z축 정보를 처리하여 물체의 가속도, 진동, 충격 등의 동적 힘을 측정하며, 주로 사용자의 팔을 움직이거나 걷는 것과 같은 사용자의 더 큰 동작 패턴을 기록한다.
[176]
지자기 센서(Terrestrial Magnetism Sensor)는 지자기를 검출하는데 사용되는 센서이다. 지자기 센서는 지자기의 방향을 알 수 있으며, 진동 주기로부터 크기를 알 수 있다.
[177]
자이로 센서(Gyroscope Sensor)는 x, y, z축 정보를 처리하여 물체의 회전 속도인 각속도를 측정하는 센서이다. 자이로 센서는 물체를 잡는 방법 등 사용자의 세밀한 동작을 기록한다.
[178]
상술한 모션 센서는 가속도 센서. 지자기 센서 및 자이로 센서를 조합하여 9축 센서 모듈로 형성될 수 있다.
[179]
본 발명의 일 실시 예에 따르면, 9축 센서 모듈은 가속도 3축, 자이로 3축, 지자기 3축으로 형성되어 있는 복합 센서 모듈로서, 3차원 공간에서 3차원 위치와 3축 방향으로의 회전을 모두 구할 수 있다.
[180]
따라서 제2 컴퓨팅 장치(200)는 9축 센서 모듈을 이용하여 3차원 위치, 방향을 모두 확인할 수 있어 사용자의 행위 특징을 추출하기 용이하다.
[181]
데이터 수집(Data Collection) 과정은 스마트폰의 인증 시도가 감지될 때 활성화된다. 본 발명의 일 실시예에 따르면, 인증 시도는 스마트폰에 패턴이 입력되었을 때를 의미한다.
[182]
과정은 패턴 입력 단계(S910) 및 단위 시간 별 통합 센서 데이터 측정 단계(S920)에서, 사용자가 패턴을 그릴 때 가속도계, 지자기계, 자이로계 등의 모션 데이터는 일정 시간 단위로 측정된다.
[183]
터치 스크린과 3개 센서(가속도계, 지자기계, 자이로계) 동기화 단계(S930)에서, 터치스크린은 특정 시간에 터치 이벤트가 발생한 위치를 화면에 X, Y 좌표로 표현할 수 있다. 이러한 모션 센서의 특징을 활용해 터치스크린과 나머지 3개 센서의 측정 시간을 동기화할 수 있으며, 터치 스크린의 터치 이벤트를 화면의 X, Y 좌표로 표현하는 단계(S940)에서, 터치 이벤트의 X, Y 좌표 지점마다 3개의 통합 센서 데이터를 기록할 수 있다.
[184]
도 9a와 같이 사용자가 패턴을 그리면서 터치 이벤트가 발생한 지점에는 모션 데이터가 기록이 되며, 그 외의 지점에는 모션 데이터가 0으로 기록된다. 패턴을 그릴 때의 스마트폰 화면은 이미지로 표현되며, 이미지의 차원은 가속도계, 지자기계, 자이로계가 각각 X, Y, Z 축 값을 측정하기 때문에 9로 설정될 수 있다.
[185]
상술한 바와 같이, 본 발명의 데이터 수집 방식은 데이터를 이미지 형태로 표현하기 때문에 딥러닝 모델과의 연동이 편리하고, 패턴뿐만 아니라 제스처 기반의 인증 등 스마트폰의 터치스크린과 3개 센서를 활용할 수 있는 인증 방식이라면 어떤 방식에도 적용이 가능하다.
[186]
이하에서는 본 발명의 일 실시 예에 따른 데이터 변환 기법의 구조 및 동작 방식에 대해 예시한다.
[187]
데이터 변환 전 특징 추출 단계에서 추출된 사용자의 행위 특징 데이터는 이미지 형태의 특징 조합(F)으로 표현될 수 있다. 이미지 형태의 특징 조합(F)의 이미지 크기는 n x n이며, 픽셀 당 차원 수는 9이다.
[188]
본 발명의 일 실시 예에 따르면, 제2 컴퓨팅 장치(200)는 모션 데이터를 통해 추출한 행위 특징 데이터의 변환을 위해 생성적 적대 신경망 (Generative Adversarial Network, GAN)을 적용하며, 이는 반드시 한정되는 것은 아니다.
[189]
본 발명의 일 실시 예에 따르면, 생성적 적대 신경망 모델(M GAN)은 크기가 n x n이며, 9차원으로 구성된 이미지 F를 입력 받는다. 여기서, F는 상술한 행위 특징 데이터가 이미지 형태의 특징 조합으로 표현된 것이다.
[190]
생성적 적대 신경망 모델(M GAN)은 생성자(Generator)를 나타내는 생성자와 감별자(Discriminator)를 나타내는 감별자로 구성되어 있다.
[191]
생성자는 제2 컴퓨팅 장치(200)에서 데이터 변환 역할을 하며, 스마트폰의 사용자가 입력한 데이터의 행위 특징 데이터가 이미지 형태의 특징 조합으로 표현된 F를 입력 받으며, 입력 받은 F와 동일한 크기의 출력 이미지 F'를 생성할 수 있다.
[192]
감별자는 행위 특징 데이터(이미지 형태의 특징 조합)를 입력 받고 변환 여부에 대한 판별 값을 출력할 수 있다.
[193]
본 발명의 일 실시 예에 따르면, 판별 값이 0.5 이상인 경우에는 행위 특징 데이터(이미지 형태의 특징 조합)가 실제 사용자가 입력한 행위 특징 데이터를 나타낼 수 있다. 또한, 판별 값이 0.5 미만인 경우에는 생성자에서 변환된 행위 특징 데이터(이미지 형태의 특징 조합)를 나타낼 수 있다. 판별 값의 기준을 나타내는 0.5는 반드시 이에 한정되는 것은 아니며, 스마트폰을 사용하는 사용자에 의해 변동될 수 있다.
[194]
본 발명의 일 실시 예에 따르면, 생성자(Generator)를 나타내는 생성자와 감별자(Discriminator)를 나타내는 감별자는 합성곱 신경망(Convolutional Neural Network, CNN)으로 구성될 수 있다. 합성곱 신경망(Convolutional Neural Network, CNN)은 사용자 인증 모델(M Auth)을 구성할 수 있다.
[195]
이하에서는 데이터 변환을 위해 생성적 적대 신경망(M GAN)을 학습하는 과정에 대해 자세하게 설명한다.
[196]
제2 컴퓨팅 장치(200)는 생성자와 감별자는 서로 연결된 구조로 구성되며, 사용자로부터 행위 특징 데이터(F)를 입력 받을 수 있다.
[197]
생성자는 행위 특징 데이터(F)와 같은 크기의 임의의 값을 가진 벡터를 입력하고 변환된 데이터 F'를 생성한다.
[198]
본 발명의 일 실시 예에 따르면, 사용자로부터 입력 받은 행위 데이터인 F에는 레이블 1을, 생성자에서 생성된 F'에는 레이블 0을 부여한다.
[199]
감별자는 F와 F'의 특징 및 레이블이 입력되고 감별자의 손실 함수를 통해 감별자의 가중치를 조정할 수 있다. 감별자는 손실 함수를 생성자에 전달할 수 있으며, 생성자의 가중치를 조정할 수 있다.
[200]
상술한 과정을 반복하며, 감별자에서의 판별 값이 0.5가 되었을 때 학습을 종료할 수 있다.
[201]
이하에서는 데이터 변환 기법을 적용한 행위 기반의 제2 컴퓨팅 장치(200)에서의 인증 구조 및 동작 방식에 대해 자세하게 설명한다.
[202]
사용자 인증 모델(M Auth)은 합성곱 신경망(Convolutional Neural Network, CNN)으로 구성되어 있다.
[203]
인증 등록 시 사용자 인증 모델(M Auth)을 학습하기 위해 제2 컴퓨팅 장치(200)는 사용자로부터 충분한 행위 특징 데이터를 입력 받는다.
[204]
인증 등록 시 사용자 인증 모델(M Auth)을 학습하기 이전에 사용자가 인증 등록 시 입력한 행위 특징 데이터 F Reg를 통해 사용자 인증 모델(M Auth)의 생성자와 감별자가 이미 학습이 되어있어야 한다.
[205]
사용자 인증 모델(M Auth)을 학습할 때에는 원본 데이터 F Reg가 아닌 생성적 적대 신경망 모델(M GAN)을 학습하면서 생성된 F' Reg를 입력하며, 학습 완료된 감별자에 F' Reg를 입력하여 발생한 판별 값에 따라 서로 다른 레이블을 부여한다. F' Reg의 판별 값이 0.9 이상인 경우 1로 레이블링하며, 이는 사용자의 데이터임을 의미한다. 반대로 F' Reg의 판별 값이 0.9 미만인 경우 0으로 레이블링하며 이는 사용자의 데이터가 아닌 타인의 데이터임을 의미한다.
[206]
상술한 과정을 통해 사용자 인증 모델(M Auth)이 학습되면 제2 컴퓨팅 장치(200)의 사용자는 인증을 시도할 수 있다. 학습 완료된 생성자에 사용자가 인증 시도 시 입력한 행위 특징 데이터 F Att를 입력하고 변환된 데이터 F' Att를 생성한다.
[207]
제2 컴퓨팅 장치(200)는 사용자 인증 모델(M Auth)에 F' Att를 입력해 발생한 예측 값에 따라 인증 허용/거부 여부를 결정한다.
[208]
본 발명의 일 실시 예에 따르면, 사용자 인증 모델(M Auth)의 예측 값이 0.5 이상인 경우 F' Att를 사용자의 입력 데이터인 것으로 판별하고 인증을 허용할 수 있다. 사용자 인증 모델(M Auth)의 예측 값이 0.5 미만인 경우 F' Att를 사용자가 아닌 타인의 입력 데이터인 것으로 판별하고 인증을 거부할 수 있다.
[209]
제2 컴퓨팅 장치(200)는 상술한 과정을 통해 제2 컴퓨팅 장치(200)의 사용자가 인증을 수행할 수 있으며, 이를 통해, 사용자는 행위 특징이 등록된 자세뿐만 아니라 등록되지 않은 자세에서도 행위 기반 인증을 수행할 수 있다.
[210]
도 10은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 기기를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
[211]
도시된 컴퓨팅 환경은 사용자 인증 시스템(10)를 포함한다. 일 실시예에서, 사용자 인증 시스템(10)은 타 단말기와 신호를 송수신하는 모든 형태의 컴퓨팅 기기일 수 있다.
[212]
사용자 인증 시스템(10)은 적어도 하나의 프로세서(1010), 컴퓨터 판독 가능한 저장매체(1020) 및 통신 버스(1060)를 포함한다. 프로세서(1010)는 사용자 인증 시스템(10)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(1010)는 컴퓨터 판독 가능한 저장 매체(1020)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(1010)에 의해 실행되는 경우 사용자 인증 시스템(10)으로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
[213]
컴퓨터 판독 가능한 저장 매체(1020)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능한 저장 매체(1020)에 저장된 프로그램(1030)은 프로세서(1010)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독한 가능 저장 매체(1020)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 기기들, 광학 디스크 저장 기기들, 플래시 메모리 기기들, 그 밖에 사용자 인증 시스템(10)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
[214]
통신 버스(1060)는 프로세서(1010), 컴퓨터 판독 가능한 저장 매체(1020)를 포함하여 사용자 인증 시스템(10)의 다른 다양한 컴포넌트들을 상호 연결한다.
[215]
사용자 인증 시스템(10)은 또한 하나 이상의 입출력 장치(미도시)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(1040) 및 하나 이상의 통신 인터페이스(1050)를 포함할 수 있다. 입출력 인터페이스(1040) 및 통신 인터페이스(1050)는 통신 버스(1060)에 연결된다. 입출력 장치(미도시)는 입출력 인터페이스(1040)를 통해 사용자 인증 시스템(10)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(미도시)는 사용자 인증 시스템(10)를 구성하는 일 컴포넌트로서 사용자 인증 시스템(10)의 내부에 포함될 수도 있고, 사용자 인증 시스템(10)와는 구별되는 별개의 장치로 컴퓨팅 기기와 연결될 수도 있다.
[216]
본 실시예들에 따른 동작은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능한 매체에 기록될 수 있다. 컴퓨터 판독 가능한 매체는 실행을 위해 프로세서에 명령어를 제공하는 데 참여한 임의의 매체를 나타낸다. 컴퓨터 판독 가능한 매체는 프로그램 명령, 데이터 파일, 데이터 구조 또는 이들의 조합을 포함할 수 있다. 예를 들면, 자기 매체, 광기록 매체, 메모리 등이 있을 수 있다. 컴퓨터 프로그램은 네트워크로 연결된 컴퓨터 시스템 상에 분산되어 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 본 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드, 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.
[217]
본 실시예들은 본 실시예의 기술 사상을 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

청구범위

[청구항 1]
제1 프로세서, 상기 제1 프로세서에 의해 실행되는 프로그램을 저장하는 제1 메모리, 하나 이상의 제1 센서, 및 제2 컴퓨팅 장치와 통신하는 제1 통신 인터페이스를 포함하는 제1 컴퓨팅 장치에 있어서, 상기 제1 통신 인터페이스는 상기 제2 컴퓨팅 장치에 내장된 하나 이상의 제2 센서를 통해 수집한 제2 생체 데이터 및 제2 모션 데이터를 포함하는 제2 센서 데이터를 수신하고, 상기 하나 이상의 제1 센서는 제1 생체 데이터 및 제1 모션 데이터를 포함하는 제1 센서 데이터를 수집하고, 상기 제1 프로세서는, 상기 제1 생체 데이터와 상기 제2 생체 데이터 간의 유사도를 산출하고, 상기 유사도에 따라 상기 제1 컴퓨팅 장치의 사용자 및 상기 제2 컴퓨팅 장치의 사용자 간의 동일인 여부를 판단하고, 상기 제1 센서 데이터 및 상기 제2 센서 데이터를 통한 사용자의 행위 분석을 기반으로 상기 제2 컴퓨팅 장치의 사용자 인증 결과를 생성하는 과정을 수행하는 것을 특징으로 하는 제1 컴퓨팅 장치.
[청구항 2]
제1항에 있어서, 상기 제1 프로세서는, 상기 제1 생체 데이터, 상기 제2 생체 데이터, 상기 제1 모션 데이터, 및 상기 제2 모션 데이터의 노이즈를 제거하는 전처리 과정을 더 수행하는 것을 특징으로 하는 제1 컴퓨팅 장치.
[청구항 3]
제1항에 있어서, 상기 제1 프로세서가 상기 동일인 여부를 판단하는 과정은 측정 시간에 따라 상이한 파형을 갖는 상기 제1 생체 데이터와 상기 제2 생체 데이터의 측정 구간을 동기화하고 상기 제1 생체 데이터의 파형과 상기 제2 생체 데이터의 파형을 비교하여 상기 유사도를 산출하며, 상기 제1 프로세서는, 상기 유사도가 임계값을 넘을 경우, 상기 제1 컴퓨팅 장치의 사용자 및 상기 제2 컴퓨팅 장치의 사용자를 동일인으로 판단하며, 상기 유사도가 임계값을 넘지 못할 경우, 상기 제2 컴퓨팅 장치로 인증 실패 신호를 전송하는 것을 특징으로 하는 제1 컴퓨팅 장치.
[청구항 4]
제1항에 있어서, 상기 제1 프로세서가 상기 사용자의 행위 분석을 기반으로 상기 제2 컴퓨팅 장치의 사용자 인증 결과를 생성하는 과정은, 상기 제1 센서 데이터 및 상기 제2 센서 데이터를 기반으로 행위의 특징을 추출하고, 상기 제2 컴퓨팅 장치의 등록 사용자의 원본 센서 데이터를 등록하여 인증 모델을 학습하고, 상기 학습된 인증 모델을 기반으로 상기 제2 컴퓨팅 장치의 사용자가 상기 제2 컴퓨팅 장치의 상기 등록 사용자인지 확인하는 과정을 포함하는 제1 컴퓨팅 장치.
[청구항 5]
제4항에 있어서, 상기 제1 프로세서가 상기 행위의 특징을 추출하는 과정은 상기 제1 센서 데이터 및 상기 제2 센서 데이터에 대해서 시간 영역과 주파수 영역을 고려하며 특징 데이터를 추출하고, 상기 특징 데이터는 3개의 축에 대응하는 데이터 및 3개의 축에 따른 데이터의 크기를 포함하며, 상기 주파수 영역의 센서 데이터는 상기 시간 영역의 센서 데이터를 푸리에 변환하여 획득하는 것을 특징으로 하는 제1 컴퓨팅 장치.
[청구항 6]
제4항에 있어서, 상기 제1 프로세서가 상기 인증 모델을 학습하는 과정은, 복수의 인증 모델을 병렬로 연결하여, 상기 제2 컴퓨팅 장치의 등록 사용자의 행위에 대한 원본 센서 데이터로부터 랜덤하게 추출한 서브 특징 데이터의 조합에 대한 학습 데이터의 집합을 생성하고, 상기 학습 데이터를 단일 클래스 학습 알고리즘에 적용하여 상기 복수의 인증 모델을 학습하고, 상기 복수의 인증 모델을 학습하는데 사용된 상기 학습 데이터를 상기 제1 컴퓨팅 장치에서 삭제하고, 상기 추출한 서브 특징 데이터의 조합을 포함하는 사용자 인증 알고리즘을 암호화하는 과정을 포함하는 제1 컴퓨팅 장치.
[청구항 7]
제6항에 있어서, 상기 메모리는 (i) 상기 암호화된 서브 특징 데이터의 조합을 포함하는 사용자 인증 알고리즘과 (ii) 상기 암호화된 서브 특징 데이터의 조합을 포함하는 사용자 인증 알고리즘을 복호화하는 코드를 저장하고, 상기 제1 프로세서는 상기 제2 컴퓨팅 장치의 사용자가 인증을 시도할 때 복호화 과정을 수행하는 것을 특징으로 하는 제1 컴퓨팅 장치.
[청구항 8]
제6항에 있어서, 상기 제1 프로세서가 상기 제2 컴퓨팅 장치의 사용자가 상기 제2 컴퓨팅 장치의 상기 등록 사용자인지 확인하는 과정은, 상기 암호화된 서브 특징 데이터의 조합을 포함하는 사용자 인증 알고리즘을 복호화시키고, 상기 추출한 특징 데이터로부터 랜덤하게 추출한 서브 특징 데이터의 조합에 대한 테스트 데이터의 집합을 생성하고, 상기 복수의 인증 모델에 상기 테스트 데이터의 집합을 적용하여 상기 복수의 인증 모델의 분류 결과에 따라 상기 제2 컴퓨팅 장치의 인증 여부를 결정하는 과정을 포함하는 제1 컴퓨팅 장치.
[청구항 9]
제8항에 있어서, 상기 제1 프로세서가 상기 제2 컴퓨팅 장치의 인증 여부를 결정하는 과정은, 상기 복수의 인증 모델의 분류 결과를 투표 알고리즘을 통해 과반수 이상이 상기 제2 컴퓨팅 장치의 등록 사용자로 판단하는 경우, 상기 제2 컴퓨팅 장치로 인증 성공 신호를 전송하며, 상기 복수의 인증 모델의 분류 결과를 투표 알고리즘을 통해 과반수 이상이 상기 제2 컴퓨팅 장치의 등록 사용자가 아닌 것으로 판단하는 경우, 상기 제2 컴퓨팅 장치로 인증 실패 신호를 전송하며, 상기 제1 컴퓨팅 장치는 웨어러블 장치인 것을 특징으로 하는 제1 컴퓨팅 장치.
[청구항 10]
제2 프로세서, 상기 제2 프로세서에 의해 실행되는 프로그램을 저장하는 제2 메모리, 하나 이상의 제2 센서, 및 제1 컴퓨팅 장치와 통신하는 제2 통신 인터페이스를 포함하는 제2 컴퓨팅 장치에 있어서, 상기 하나 이상의 제2 센서는 제2 생체 데이터 및 제2 모션 데이터를 포함하는 제2 센서 데이터를 수집하고, 상기 제2 통신 인터페이스는 상기 제2 생체 데이터 및 상기 제2 모션 데이터를 포함하는 상기 제2 센서 데이터를 전송하고, 상기 제2 통신 인터페이스는 상기 제1 컴퓨팅 장치로부터 상기 제2 컴퓨팅 장치의 사용자 인증 결과를 수신하는 과정을 수행하는 것을 특징으로 하는 제2 컴퓨팅 장치.
[청구항 11]
제10항에 있어서, 상기 제2 통신 인터페이스가 상기 사용자 인증 결과를 수신하는 과정은, 상기 제1 컴퓨팅 장치가 획득한 제1 생체 데이터와 상기 제2 생체 데이터 간의 유사도를 상기 제1 컴퓨팅 장치가 판단한 후 상기 유사도가 임계값을 넘지 못할 경우에 전송하는 인증 실패 신호를 수신하며, 상기 제1 컴퓨팅 장치가 복수의 인증 모델의 분류 결과를 투표 알고리즘을 통해 과반수 이상이 상기 제2 컴퓨팅 장치의 등록 사용자로 판단하는 경우에 상기 제2 컴퓨팅 장치로 전송하는 인증 성공 신호를 수신하는 것을 특징으로 하는 제2 컴퓨팅 장치.
[청구항 12]
제10항에 있어서, 상기 제2 컴퓨팅 장치는 터치 데이터를 수집하는 터치 센서 더 포함하며, 상기 제2 프로세서는, 상기 터치 데이터 및 상기 제2 모션 데이터를 포함하는 통합 센서 데이터를 통해 사용자의 행위 특징을 추출하여 이미지 형태의 행위 특징 데이터를 생성하고, 데이터 변환 모델을 기반으로 (i) 인증 등록 시 사용자의 자세에서 입력된 행위 특징 데이터를 변환하여 등록 표준화 데이터를 생성하고 (ii) 인증 시도 시 사용자의 자세에서 입력된 행위 특징 데이터를 변환하여 미등록 표준화 데이터를 생성하고, 상기 등록 표준화 데이터를 기반으로 형성된 사용자 인증 모델을 통해 상기 미등록 표준화 데이터의 진위를 판단하여 인증 해제 또는 인증 실패를 결정하는 것을 특징으로 하는 제2 컴퓨팅 장치.
[청구항 13]
제12항에 있어서, 상기 모션 데이터는 상기 사용자 인증 장치의 사용자가 모션을 수행하는 일정 시간 단위로 수집하고, 상기 모션 데이터를 수집하는 시간은 상기 터치 데이터가 수집된 시간과 동기화되며, 상기 터치 데이터는 화면에서 사용자에 의해 터치가 발생한 위치를 좌표로 표현하며, 상기 행위 특징 데이터를 생성하는 과정은 상기 동기화된 수집 시간에 따라 상기 좌표의 발생 지점을 나타내는 터치 데이터에 상기 모션 데이터를 기록하는 것을 특징으로 하는 제2 컴퓨팅 장치.
[청구항 14]
제13항에 있어서, 상기 데이터 변환 모델은 상기 행위 특징 데이터를 변환하여 출력 이미지를 생성하는 생성자 및 상기 사용자 인증 장치의 사용자가 입력한 행위 특징 데이터에 따른 변환 여부에 대한 판별 값을 추출하는 감별자를 포함하고, 상기 생성자 및 감별자는 서로 상호 작용하며, 상기 프로세서는, 상기 데이터 변환 모델을 기반으로 상기 인증 등록 시 사용자의 자세에 따른 상기 등록 표준화 데이터를 생성하며, 상기 감별자에 상기 등록 표준화 데이터를 입력하여 생성된 판별 값에 따라 사용자의 데이터 또는 타인의 데이터 여부를 판단하여 서로 다른 레이블을 부여하며 상기 사용자 인증 모델을 학습하고, 상기 사용자 인증 장치의 사용자의 인증 시도 시 사용자의 자세에 따른 상기 미등록 표준화 데이터를 생성하며, 상기 사용자 인증 모델에 상기 미등록 표준화 데이터를 입력하여 발생한 예측 값에 따라 인증 해제 또는 인증 실패 여부를 결정하며, 상기 사용자 인증 모델의 상기 예측 값이 제1 설정 값 이상일 경우 인증 해제로 판단하며 상기 사용자 인증 모델의 상기 예측 값이 제1 설정 값 미만일 경우 인증 실패로 판단되는 것을 특징으로 하는 제2 컴퓨팅 장치.
[청구항 15]
제14항에 있어서, 상기 데이터 변환 모델은, 상기 사용자의 행위 특징 데이터를 상기 생성자에 입력하여 상기 등록 표준화 데이터를 생성하는 제1 과정; 상기 행위 특징 데이터의 특징, 상기 등록 표준화 데이터의 특징 및 레이블을 상기 감별자에 입력하고, 상기 감별자의 손실 함수를 기반으로 상기 감별자의 가중치를 조정하는 제2 과정; 및 상기 감별자의 손실 함수를 상기 생성자에 전달하고, 상기 생성자의 가중치를 조정하는 제3 과정을 수행하며, 상기 제1 과정, 상기 제2 과정 및 상기 제3 과정을 반복하여 상기 감별자의 상기 판별 값이 제2 설정 값인 경우 상기 데이터 변환 모델이 학습되는 것을 특징으로 하는 제2 컴퓨팅 장치.

도면

[도1]

[도2]

[도3]

[도4]

[도5]

[도6]

[도7]

[도8]

[도9a]

[도9b]

[도10]