KR102614322B1 - 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법 및 시스템 - Google Patents

국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법 및 시스템 Download PDF

Info

Publication number
KR102614322B1
KR102614322B1 KR1020210125964A KR20210125964A KR102614322B1 KR 102614322 B1 KR102614322 B1 KR 102614322B1 KR 1020210125964 A KR1020210125964 A KR 1020210125964A KR 20210125964 A KR20210125964 A KR 20210125964A KR 102614322 B1 KR102614322 B1 KR 102614322B1
Authority
KR
South Korea
Prior art keywords
password
security
dictionary
korean
evaluation
Prior art date
Application number
KR1020210125964A
Other languages
English (en)
Other versions
KR20230042999A (ko
Inventor
강성윤
이상훈
홍기현
Original Assignee
(주)나연테크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)나연테크 filed Critical (주)나연테크
Priority to KR1020210125964A priority Critical patent/KR102614322B1/ko
Publication of KR20230042999A publication Critical patent/KR20230042999A/ko
Application granted granted Critical
Publication of KR102614322B1 publication Critical patent/KR102614322B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 영문에 기반한 비밀번호 보안 강도 평가 방법을 개선한 비밀번호 보안강도 평가 방법 및 시스템에 관한 것이다. 자세하게는, 한국어 사용자의 비밀번호 보안성을 평가할 수 있는 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법 및 시스템에 관한 것으로, 한국어 기반 비밀번호 사전 목록을 구성하는 단계; 상기 한국어 기반 비밀번호 사전목록을 포함하여 비밀번호의 보안성 점수를 평가하는 단계; 및 상기 비밀번호의 보안성 점수에 기반해 상기 비밀 번호의 보안성 등급을 부여하는 단계;를 포함하는 구성을 개시한다.

Description

국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법 및 시스템{Method and system for evaluating password security strength using the national password integrated dictionary}
본 발명은 영문에 기반한 비밀번호 보안 강도 평가 방법을 개선한 비밀번호 보안강도 평가 방법 및 시스템에 관한 것이다. 자세하게는, 한국어 사용자의 비밀번호 보안성을 평가할 수 있는 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법 및 시스템에 관한 것이다.
비밀번호를 통한 사용자 인증 방법은 정보 보안 분야에서 사용자의 개인 정보를 보호하는 강력한 수단이다. 사용자가 비밀번호를 선택하는 데에 있어서 보안성과 편의성은 서로 상충된다. 예를 들어 “toeq39bf@la”와 같이 숫자와 특수 기호를 결합하여 복잡하게 만든 비밀번호는 사용자가 기억하기 어려워 사용하기 불편하지만, 다른 사용자가 쉽게 유추할 수 없어 안전하다. 이와는 반대로 “password123”과 같이 영어사전에 있는 단어와 연속된 숫자를 조합한 패턴은 쉽게 기억할 수 있지만 사전에서 쉽게 유추할 수 있어 보안성이 낮아 인증기능을 제대로 수행할 수 없다. 따라서 비밀번호를 선정할때는 사용자의 편의성과 보안성을 고려하여야 하며, 기존의 사이트나 시스템은 이를 위해 사용자가 선택한 기억하기 쉬운 비밀번호의 보안성을 평가하고 분석 결과를 통하여 보안성을 향상시키는데 도움을 제공한다.
사용자가 선택한 비밀번호의 보안성을 평가하는 가장 단순한 방법은 이미 유출된 비밀번호를 선택하지 않는 것이다. 이는 유출된 비밀번호를 모아서 데이터베이스를 구축한 후, 선택한 비밀번호가 몇 번 유출되었는지 확인할 수 있다. 그러나 이러한 방식의 보안성 평가는 매우 방대한 유출된 비밀번호 세트가 필요하다는 점에서 웹 브라우저나 소형 IoT 기기와 같은 저사양 환경에서는 쉽게 활용하기 어려우며, 유출된 비밀번호 세트를 모으는데 많은 노력이 필요하다. 이러한 점에서 사용자가 선택한 비밀번호는 비밀번호 보안성 평가지표를 통해 보안성을 예측하는데, 이를 사용할 수 있도록 구현한 것이 바로 비밀번호 보안성 평가방법이다.
그러나 기존의 평가방법의 사례들을 보면 영어권 사용자를 위한 영문자 기반의 비밀번호의 보안성을 예측하는데 비중이 크다. 예를 들어 미국 국립표준기술연구소 NIST(National Institute of standards and Technology)에서의 보안 지침은 대문자, 소문자, 숫자, 그리고 특수 기호의 조합으로 비밀번호의 복잡성을 구하여 보안성을 예측하는 방법으로 현재 가장 많이 사용되는 평가 방식이다. 또한, 콘코디아 대학교의 비밀번호 보안성 평가 연구에서 사례로 제시한 zxcvbn 평가방법은 보안성 예측을 위해 키보드 배열, 영어사전 등 다양한 요소를 사용한다. 사용자는 비밀번호를 기억해야 하므로 자신에게 익숙한 단어와 문장, 그리고 키보드 배열과 같은 문자열에서 문자, 숫자, 그리고 특수 기호를 추가하거나 변형하는 방법으로 비밀번호를 정하는 경향이 있다. 이때 비밀번호의 기반이 되는 단어나 문장은 그 나라의 언어와 관련이 깊기 때문에 기존 영어권 기반의 평가방법들은 비영어권 사용자들이 선택한 비밀번호의 보안성을 평가할 때 신뢰성이 떨어진다.
이를 해결하기 위해서는 해당 지역의 언어에 맞도록 보완된 새로운 비밀번호 보안성 평가방법이 필요하다.
상기한 문제에 따른 본 발명이 해결하고자 하는 과제는, 한글 언어권 사용자의 비밀 번호의 보안 강도를 정확하게 평가할 수 있는 방법 및 시스템을 제공하고자 하는 것이다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법은 한국어 기반 비밀번호 사전 목록을 구성하는 단계; 상기 한국어 기반 비밀번호 사전목록을 포함하여 비밀번호의 보안성 점수를 평가하는 단계; 및 상기 비밀번호의 보안성 점수에 기반해 상기 비밀 번호의 보안성 등급을 부여하는 단계;를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 한국어 기반 비밀번호 사전 목록 구성 단계는, 자주 사용되는 한국어를 수집하는 단계; 수집된 상기 한국어를 영문으로 변환하는 단계; 및 한국어가 변환된 상기 영문으로 한국어 기반 비밀번호 사전 목록을 구성하는 단계;를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 자주 사용되는 한국어는, 한국인이 많이 사용하는 남성 이름, 한국인이 많이 사용하는 여성이름, 한국어에서 빈도 높은 명사 단어 중 적어도 어느 하나를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 한국어 영문 변환 단계는, 한국어를 초성, 중성 및 종성으로 분리하는 단계; 상기 초성, 중성 및 종성을 자판과 대응되는 위치의 영문으로 변환하는 단계; 및 변환된 초성, 중성 및 종성을 결합하는 단계;를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 보안성 점수 평가 단계는, 상기 한국어 기반 비밀번호 사전목록에 포함된 단어에 기반하여 비밀번호의 보안성 점수를 1차 평가하는 단계; 및 상기 비밀번호를 LUDS(Lowercase and Uppercase and letters, Digits, and Symbols)의 사용횟수에 기반하여 보안성 점수를 2차평가하는 단계;를 포함하고, 상기 보안성 등급 부여 단계는, 상기 1차 보안성 점수에 가중치를 부여하는 단계; 및 상기 1차 보안성 점수 및 상기 2차 보안성 점수를 합산하여 상기 비밀번호의 보안성 등급을 부여하는 단계;를 포함할 수 있다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 시스템은 한국어 기반 비밀번호 사전 목록을 구성하는 사전부; 상기 한국어 기반 비밀번호 사전목록을 포함하여 비밀번호의 보안성 점수를 평가하는 보안성 평가부; 및 상기 비밀번호의 보안성 점수에 기반해 상기 비밀 번호의 보안성 등급을 부여하는 등급부여부;를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 사전부는, 자주 사용되는 한국어를 수집하고, 수집된 상기 한국어를 영문으로 변환하고, 한국어가 변환된 상기 영문으로 한국어 기반 비밀번호 사전 목록을 구성할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 자주 사용되는 한국어는, 한국인이 많이 사용하는 남성 이름, 한국인이 많이 사용하는 여성이름, 한국어에서 빈도 높은 명사 단어 중 적어도 어느 하나를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 사전부는, 한국어를 초성, 중성 및 종성으로 분리하고, 상기 초성, 중성 및 종성을 자판과 대응되는 위치의 영문으로 변환하고, 변환된 초성, 중성 및 종성을 결합할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 보안성 평가부는, 상기 한국어 기반 비밀번호 사전목록에 포함된 단어에 기반하여 비밀번호의 보안성 점수를 1차 평가하고, 상기 비밀번호를 LUDS(Lowercase and Uppercase and letters, Digits, and Symbols)의 사용횟수에 기반하여 보안성 점수를 2차평가하고, 상기 등급부여부는, 상기 1차 보안성 점수에 가중치를 부여하고, 상기 1차 보안성 점수 및 상기 2차 보안성 점수를 합산하여 상기 비밀번호의 보안성 등급을 부여할 수 있다.
본 발명의 실시예에 따르면, 한글 언어권 사용자의 비밀 번호의 보안 강도를 정확하게 평가할 수 있다.
또한, 한글에 기반한 비밀번호를 초성, 중성, 종성으로 분할하여 사전화하여 보안 강도를 정확하게 평가할 수 있다.
도 1은 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 시스템의 블록도이다.
도 2는 각각 비밀번호 등록 및 인증과 비밀번호의 탈취 과정의 일 예시이다.
도 3은 zxcvbn 평가방법에서 사용하는 영어 단어 목록 이다.
도 4는 한국어 문자의 구성 방식의 일 예시이다.
도 5는 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 한국어 기반의 비밀번호 보안성 평가방법이다.
도 6은 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 한국어 기반 비밀번호 사전 목록이다.
도 7은 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 한국어 기반 단어 목록이다.
도 8은 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 한국어 단어의 영어 단어로의 변환 과정을 도시한 것이다.
도 9는 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 비밀번호의 보안성 평가 지표이다.
도 10은 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 한국어 기반의 비밀번호 보안성 예측 방법이다.
도 11은 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 영어와 변환한 한국어의 병합 비밀번호 단어사전이다.
도 12는 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 실험에 사용한 한국어 기반의 비밀번호 유출현황과 데이터수이다.
도 13은 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 한국어 기반의 유출된 비밀번호 보안성 평가결과이다.
도 14는 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 보안성 평가점수에 따른 비밀번호 유출횟수이다.
도 15는 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 보안성 평가점수에 따른 유출 횟수 500회 이하의 비밀번호 수이다.
도 16은 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에서 설명되는 컴퓨팅 장치에는 디지털 TV, 데스크탑 컴퓨터, 휴대폰, 스마트 폰(smart phone), 태블릿 PC, 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션 등이 포함될 수 있다.
운영체제(Operating System, OS)는, 컴퓨팅 장치의 하드웨어와 소프트웨어를 제어하여, 사용자가 컴퓨팅 장치를 이용할 수 있게 만들어주는 프로그램을 의미한다. 운영체제는 하드웨어와 응용 프로그램 간의 인터페이스 역할을 하면서 프로세서, 저장 장치, 입출력 인터페이스 장치 등의 컴퓨터 자원을 관리할 수 있다. 예를 들어, 운영체제의 종류에는 안드로이드(Android), iOS, 윈도우(Windows), 맥(Mac), 타이젠(TIZEN), 유닉스(Unix) 및 리눅스(Linux) 등이 포함될 수 있다.
응용 프로그램(이하, '프로그램')은 사용자가 디바이스를 사용하여 특정한 작업을 수행할 수 있도록 개발된 소프트웨어를 의미한다. 예를 들어, 이메일 프로그램, 메신저 프로그램, 스케쥴 관리 프로그램 및 문서 편집 프로그램 등이 있을 수 있다. 또한, 프로그램은 특정한 작업을 수행하는데 필요한 명령어들로 구성될 수 있다. 여기에서, 프로그램을 구성하는 명령어들은 운영체제의 종류에 따라 서로 상이할 수 있다.
화면은 운영체제에 의해 정의될 수 있다. 화면은 소정의 범위의 좌표를 가진 가상의 2차원 영역일 수 있다. 화면은 표시 장치에 의해 표시되고, 사용자는 표시 장치를 통해 화면을 시각적으로 인식할 수 있다. 화면의 좌표 범위는 표시 장치의 가용 해상도에 따라 운영체제에 의해 조절될 수 있다. 화면의 좌표 단위는 표시 장치의 화소의 위치에 대응될 수 있다.
몇몇 프로그램은 동작 형태가 화면에서 객체로서 표시되도록 구성될 수 있다. 일 예로, 몇몇 프로그램의 동작 형태는 화면에서 객체로서 '실행 창'의 형태로 표시될 수 있다. 예를 들어, 실행 창으로는 문서 편집 프로그램이 실행됨에 따라 출력되는 문서 편집 창 및 웹 브라우저 애플리케이션이 실행됨에 따라 출력되는 웹 브라우저 창 등이 포함될 수 있다. 다른 예로, 몇몇 프로그램의 동작 형태는 화면에서 객체로서 '마우스 커서(마우스나 터치패드 등의 움직임에 따라 시각적으로 함께 움직이는 포인터로서, 일반적으로 화살표의 형상)'의 형태로 표시될 수 있다. 예를 들어, 마우스 커서 및 터치 포인트 등은 사용자의 입력 수단의 감지에 대응하여, 화면 내에서 움직이도록 표시될 수 있다. 다른 몇몇 프로그램은 화면에 별도 표시되지 않고, 백그라운드 형태로 동작하도록 구성될 수도 있다.
복수의 객체가 화면에 표시되는 경우, 상기 프로그램들의 동작 형태를 나타내는 객체들이 미리 정해진 레벨에 따라 표시될 수 있다. 예를 들어, 운영체제에는 화면에서 제1 프로그램에 대응되는 제1 객체가 표시되는 영역이 제2 프로그램에 대응되는 제2 객체가 표시되는 영역과 중첩할 경우, 중첩 영역에서 제1 객체가 제2 객체보다 우선하여 표시되도록 설정될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 도면상의 동일한 구성 요소에 대해서는 동일하거나 유사한 참조 부호를 사용한다.
도 1은 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 시스템의 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 시스템(100)은 사전부(110), 보안성 평가부(120) 및 등급부여부(130)를 포함할 수 있다.
상기 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 시스템(100)은 비영어인 한국어 기반의 비밀번호 보안 강도에 대한 평가할 수 있다. 상기 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 시스템(100)은 한국어 기반 비밀번호 사전 구성과 비밀번호 보안성 예측 과정으로 구분해 보안성을 평가할 수 있다. 한국어의 언어적 특성을 살펴보면, 하나의 글자는 초성, 중성, 그리고 종성으로 조합해 구성되며, 다양한 형태로 조합할 수 있어 문자가 만들어질 수 있는 경우의 수가 매우 많아 보안성 평가가 어렵다. 그러나 키보드 배열상에서는 초성, 중성, 그리고 종성에 해당하는 자음과 모음을 알파벳 26자로 변환할 수 있고, 상기 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 시스템(100)은 보안성 평가가 어려운 한국어 기반의 비밀번호를 알파벳 형태의 사전으로 구성할 수 있다. 알파벳으로 변환한 비밀번호 사전은 비밀번호의 보안성 예측을 위해 사용한다. 보안성 예측은 기존 zxcvbn과 같이 한국어 기반 비밀번호 사전의 단어 사용 여부와 사전의 단어를 기반으로 숫자, 특수 문자를 조합하여 비밀번호 유추까지 걸리는 예상 횟수를 기준으로 보안성을 예측한다.
도 2는 각각 비밀번호 등록 및 인증과 비밀번호의 탈취 과정의 일 예시이다.
도 2를 참조하면, 일반적으로 사용자는 보다 안전한 비밀번호를 선택하고 등록하여 추후 동일한 비밀번호를 제시함으로써 사용자를 인증하게 된다. 도 1의 (a)를 살펴보면 사용자는 안전하다고 판단되는 비밀번호를 선택한 후, 해시 알고리즘을 이용하여 해시값으로 변환 시킨 뒤 상기 비밀번호를 저장한다. 이와 같은 경우 해시 알고리즘은 역함수가 존재하지 않으므로 변환된 해시값에서 원본 데이터를 유추할 수 없다. 따라서 해커가 해시값을 획득하더라도 사용자가 선택한 비밀번호를 유추할 수 없다. 사용자는 도 1의 (b)를 통하여 사용자 인증을 수행한다. 만약 해시값이 일치한다면 동일한 비밀번호이므로 인증이 승인되며, 일치하지 않는다면 인증이 거부된다.
해커는 사용자가 선택한 비밀번호를 알지 못하므로 도 1의 (c)와 같이 인증을 위해서 모든 경우의 수를 시도한다. 이때 해시값이 일치하지 않는다면 해커는 잘못된 비밀번호를 입력한 것이므로 인증에 실패하지만 해시값이 일치한다면 인증에 성공한다. 해커는 기본적으로 조합 가능한 모든 문자열을 시도하는 방법인 브루트 포스(Brute-force) 공격을 통하여 모든 비밀번호를 탈취할 수 있다. 그러나 비밀번호의 길이가 길어질수록 조합 가능한 경우의 수가 매우 커지므로 해커는 비밀번호 탈취를 위해 다른 방법을 시도할 수 있다.
일반적으로 사용자는 사전의 단어를 그대로 비밀번호로 사용하지 않고 단어에서 몇 개의 문자를 추가, 삭제, 그리고 변경하여 비밀번호로 선택한다. 이 방법에서는 완전히 랜덤하게 구성된 문자열보다 사전의 단어에서 약간 수정된 문자열이 비밀번호로 선택될 가능성이 높기 때문에 보안효과의 저하를 초래할 수 있다. 해커는 이를 악용하여 단어사전을 구성하고 단어를 약간 수정하여 크래킹을 시도할 수 있다. 이것이 바로 사전공격과 변형된 사전공격이며 랜덤한 문자열보다 사전 기반의 단어가 크래킹될 가능성이 더 높다는 것을 의미한다.
궁극적으로는 해커가 다양한 방법으로 크래킹을 시도할 수 있기 때문에 비밀번호의 보안성 지침을 전부 숙지한 후 보안성이 높은 비밀번호를 직접 선택하는 것은 현실적으로 어려울 수 있다. 따라서 사용자가 사용할 비밀번호가 얼마나 안전한지를 사전에 평가할 수 있는 비밀번호 보안성 평가 방법이 필요하다.
비밀번호 보안성 평가 방법은 사용자가 비밀번호를 선택하는 경향을 고려해야 좋은 예측 성능을 얻을 수 있다. 현재 가장 많이 사용되는 방법은 LUDS(Lowercase and Uppercase and letters, Digits, and Symbols)의 사용횟수에 대한 요구사항을 반영하는 방식인데 대문자, 소문자, 숫자, 그리고 특수 기호의 길이와 조합, 그리고 연속성을 측정하여 비밀번호의 복잡성을 평가하는 방법이다. 비밀번호의 복잡성은 다른 조건들을 고려할 수 있다. 그 중 하나가 유효문자 길이이다. 유효문자 길이는 비밀번호를 구성하는데 대문자, 소문자, 숫자, 그리고 특수기호의 사용 여부를 고려하는 비밀번호 보안성 평가방법이다. 예를 들어 8개의 숫자만으로 구성된 비밀번호는 같은 8글자의 대문자, 소문자, 숫자, 그리고 특수 기호를 전부 사용한 비밀번호보다 고려할 경우의 수가 적다.
그러나 LUDS 요구사항이나 유효문자 길이는 사용자가 비밀번호를 선택하는 경향을 고려하지 않는다. 예를 들어 사전의 단어인“password”와 랜덤으로 구성한 문자열인 “kkpaudws”는 8글자의 소문자로만 이루어진 비밀번호와 “ss”, “kk”라는 연속된 알파벳이 포함되므로 LUDS 요구사항이나 유효문자 길이로 측정한 보안성 예측 점수가 같다. 그러나 해커는 사전 공격에 의해 “password”를 먼저 시도할 가능성이 높다는 점에서 LUDS 요구사항이나 유효문자 길이로 신뢰성있는 보안성 점수를 예측하기 어렵다.
도 3을 참조하면, 이러한 한계점을 고려하여 평가를 위해 단어사전을 이용하는 zxcvbn 비밀번호 보안성 평가방법을 적용할 수 있다. 단어사전은 사용자들이 비밀번호로 사용할 것이라고 예측되는 단어 목록으로 구성된다.
zxcvbn은 7개의 카테고리로 단어 목록을 구성한다. 사전은 위키피디아에서 가장 많이 사용되는 영어 단어 30,000개, 미국 영화와 프로그램 30,000개, 일반적으로 자주 사용하는 비밀번호 통계 30,000개, 그리고 미국인의 성과 이름 35,494개로 구성될 수 있다. 또한, 키보드 패턴에 대한 사전을 추가하여 “q1w2e3r4”와 같이 사용자가 단어 기반이 아닌 키보드 입력 기반의 비밀번호의 선택 가능성을 고려한다. 단어 목록과 숫자, 특수 기호를 조합하여 보안성을 0∼4의 5단계로 예측한다. 기존의 연구에 따르면 많이 유출되어 보안성이 낮은 비밀번호 목록을 5개의 각각 다른 평가방법으로 예측한 결과 zxcvbn만이 모든 비밀번호에 대해 보안성이 매우 약하다고 평가하여 성능이 우수함을 보여준다.
그러나 zxcvbn은 단어사전의 단어를 기반으로 보안성을 예측하므로 사전에 없는 단어는 보안성이 우수하다고 평가하는 한계가 있다. 예를 들어 미국인의 성과 이름, 그리고 미국의 영화나 프로그램은 사전에 있는 단어이므로 보안성이 낮다고 예측하지만, 한국인이 자주 사용하는 이름이나 단어는 보안성이 우수하다고 예측한다. 따라서 기존의 zxcvbn은 비영어권 사용자들에게 비밀번호 보안성을 제공하기에는 신뢰성이 부족하다.
사용자는 비밀번호를 기억해야 하므로 해당 사용자의 언어환경에 영향을 받는다. 기존의 연구에 따르면 영어권 사용자와 체코어 사용자에게서 유출된 비밀번호가 다르며 기존의 평가방법으로 유출된 체코어 비밀번호의 보안성을 예측한 결과, 보안성이 매우 우수하다고 잘못 평가된 경우가 있었다. 이것은 기존의 방법이 체코어 언어환경을 고려하지 않아 생기는 오류로 볼 수 있다. 이를 해결하기 위해 체코어 기반의 비밀번호 사전을 구성하고 zxcvbn 평가방법에 적용하는 비밀번호 보안성 평가방법을 제안하여 보안성을 높이기도 하였다. 이 과정에서 사용한 체코어 단어는 체코어 알파벳을 기반으로 한다는 점에서 기존의 영어 알파벳으로 구성된 비밀번호 사전과 병합이 쉽다.
도 4는 한국어 문자의 구성 방식의 일 예시이다.
도 4를 참조하면, 상기 사전부(110)는 한국어 기반 비밀번호 사전 목록을 구성할 수 있다.
영어 등의 라틴어 계열 언어에 비해 한국어는 알파벳과 다른 독자적인 언어체계를 갖는다. 도 4의 (a)는 1개의 한국어 글자를 구성하기 위해 초성, 중성, 그리고 종성을 조합한 사례이다. 초성과 종성은 14개의 자음으로 구성되며, 중성은 10개의 모음으로 구성된다. 또한, 도 4의 (b)에서 보듯이 1개의 글자를 초성과 중성만으로도 구성할 수 있다.
한국어에서 단어는 초성, 중성, 그리고 종성의 조합인 글자의 조합이다. 예를 들어 “password”를 의미하는 “비밀번호”는 {ㅂ, ㅣ}, {ㅁ, ㅣ, ㄹ}, {ㅂ, ㅓ, ㄴ}, {ㅎ, ㅗ}의 10개의 자음과 모음으로 구성되고, 이를 조합하여 4개의 글자로 이루어진 1개의 단어인 “비밀번호”가 된다. 이와 다르게 알파벳은 26개의 대문자와 26개의 소문자가 각각 하나의 글자가 되며, 52개의 글자를 통해 단어를 구성한다는 점에서 한국어는 알파벳 기반의 언어체계와 다르다고 볼 수 있다. 이는 기존의 비밀번호 사전 구성 방식을 한국어 비밀번호 사전에 적용할 수 없음을 의미한다.
따라서 알파벳 기반의 언어체계가 아닌 독자적인 언어체계에서 비밀번호의 보안성 평가를 위한 새로운 사전 구성 방식을 적용해야 한다.
도 5는 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 한국어 기반의 비밀번호 보안성 평가방법이다.
도 5를 참조하면, 본 발명의 일 실시 예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법 및 시스템은 한국어 비밀번호 사전을 이용하여 보안성을 예측할 수 있다. 도 5에서 보듯이 2개의 과정으로 나눌 수 있는데, 상기 사전부(110)가 수집한 한국어 단어 데이터를 분리하고 알파벳으로 변환하여 비밀번호 사전을 구성하는 과정과 상기 보안성 평가부(120)가 사용자가 선택한 비밀번호의 보안성을 예측하여 분석하고, 상기 등급부여부(130)가 등급을 부여하여 결과를 제공할 수 있다.
도 5의 (a)는 상기 사전부(110)가 한국어 단어 데이터를 수집한 후 비밀번호 사전으로 구축할 수 있다. 상기 사전부(110)가 한국어 단어를 알파벳 기반의 단어로 변환하기 위해 초성, 중성, 그리고 종성으로 분리하며, 이를 알파벳으로 각각 변환한다. 상기 사전부(110)가 알파벳으로 변환된 단어를 다시 병합하여 사전을 구성할 수 있다. 상기 사전부(110)는 비밀번호의 보안성을 예측하는데 있어서 한국어 기반의 비밀번호뿐만 아니라 기존의 영어 알파벳 기반의 비밀번호도 사전에 포함할 수 있다. 예를 들어 “password”, “q1w2e3r4”, 그리고 “iloveyou”와 같은 영어 단어들은 영어권 사용자들뿐만이 아니라 비영어권 사용자들도 자주 사용하는 비밀번호이므로 기존의 보안성 예측을 위한 비밀번호 사전과 한국어 기반의 비밀번호 사전을 병합할 수 있다.
도 5의 (b)를 참조하면, 도 5의 (a)에서 상기 사전부(110)가 구성한 비밀번호 사전을 이용하여 상기 보안성 평가부(120)가 사용자가 선택한 비밀번호의 보안성을 평가하고, 예측할 수 있다. 상기 보안성 평가부(120)는 보안성 예측에는 zxcvbn 평가방법에 기반해 보안성 점수를 평가할 수 있다. 그러나 기존의 zxcvbn에서 “pas123word”와 같이 단어 사이에 숫자나 특수 기호가 들어간다면 사전과 일치하는 단어가 없다고 판단하여 보안성이 높다고 예측한다. 이를 고려하여 본 발명의 상기 보안성 평가부(120)는 사용자가 선택한 비밀번호에서 문자열을 추출한 후에 사전과 비교할 수 있다. 상기 보안성 평가부(120)는 비밀번호 보안성 예측시 상기 사전부(110)가 병합한 사전을 이용하여 비밀번호의 보안성을 평가하는 과정과 사전의 단어와 일치 여부를 확인하는 과정을 수행할 수 있다. 이것으로 보안레벨과 보안분석이 산출되며, 비밀번호의 안정성을 판단하는 기준이 된다.
도 6은 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 한국어 기반 비밀번호 사전 목록이다.
상기 사전부(110)는 자주 사용되는 한국어를 수집할 수 있다.
상기 사전부(110)가 생성하는 비밀번호 사전은 한국어 사용자가 많이 사용하는 비밀번호를 포함해야 한다. 도 6을 참조하면, 상기 사전부(110)가 생성하는 비밀번호 사전은 도 6의 3, 4, 5 항목에서처럼 한국인이 많이 사용하는 이름이나 단어를 추가해 포함할 수 있다. 물론 영어권 단어도 사용할 수 있기 때문에 도 6의 0, 1, 2 항목에서처럼 기존의 평가 방법에서 사용하는 단어사전도 같이 포함된다.
도 7은 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 한국어 기반 단어 목록이다.
도 7을 참조하면, 상기 사전부(110)에서 비밀번호에 포함시키는 한국어 단어들은 도 7과 같이 대한민국 정부에서 공개한 자료를 근거로 사용하며, 대한민국 법원에 등록되있는 시스템의 통계데이터에서 가져올 수 있다. 대부분 한국에서 가장 많이 사용하는 이름 데이터와 2008년 이후 출생하거나 입양될 때 등록된 이름을 포함하여 개명전후에 등록된 이름 데이터들이며 그 중에서 상위 1,000개씩으로 선정하여 단어사전을 구축한다.
상기 사전부(110)는 또한 한국어에서 가장 많이 사용하는 일반 명사단어는 국립국어원에서 분류한 것을 근거로 포함시킬 수 있으며, 82,502개 중에서 사용 빈도수가 20번 이상부터 13,594번 까지 인 상위 13,785개를 선정하여 단어사전에 포함시킬 수 있다. 상기 사전부(110)는 빈도수 20 미만의 단어들은 비속어를 포함해서 일상생활에서 자주 사용되지 않아 사전 구성에서 제외시킨다. 이런 과정으로 단어를 선정하였지만 영문자와 한국어 문자가 서로 구조가 다르기 때문에 사전에 통합해서 구성하기 어렵다. 따라서 상기 사전부(110)는 한국어 단어를 영어 단어로 변환할 수 있다.
도 8은 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 한국어 단어의 영어 단어로의 변환 과정을 도시한 것이다.
도 8을 참조하면, 상기 사전부(110)는 한국어를 초성, 중성 및 종성으로 분리할 수 있다.
상기 사전부(110)는 상기 초성, 중성 및 종성을 자판과 대응되는 위치의 영문으로 변환할 수 있다.
상기 사전부(110)는 변환된 초성, 중성 및 종성을 결합할 수 있다. 상기 사전부(110)는 결합된 상기 영문으로 비밀번호 사전을 구성할 수 있다.
상기 사전부(110)는 수집된 상기 한국어를 영문으로 변환할 수 있다. 상기 사전부(110)는 한국어가 변환된 상기 영문으로 한국어 기반 비밀번호 사전 목록을 구성할 수 있다.
알파벳 문자가 일련으로 표기하는 영문자와는 달리 한국어 단어는 초성, 중성, 종성으로 조합하여 한문자로 만드는 구조를 갖는다. 그러므로 상기 사전부(110)는 한국어 문자를 영어와 동일한 구조로 변환하여 비밀번호 단어사전에서 일관성있게 관리할 수 있다. 도 8은 상기 사전부(110)에서의 한국어 단어의 변환과정의 예를 보여주는데, 변환하기 전의 단어는 “한국”, “비밀번호”와 같은 조합된 구조인데, “한국”의 경우 각각 초성, 중성, 종성으로 분리하여 “ㅎ”, “ㅏ”,“ㄴ”, “ㄱ”, “ㅜ”,“ㄱ”과 같은 자음 또는 모음 데이터로 만들 수 있다. 이 자음과 모음은 키보드 자판을 기준으로 알파벳 문자와 대응시킬수 있다. 즉 “ㅎ”는 “g”로 변환하고 “ㅏ”는 “k”로 변환하며 “ㄴ”은 “s”로 변환할 수 있다.
상기 사전부(110)는 쿼티(qwerty)자판 배열과 동일한 키보드 배열을 기준으로 한국어 단어를 영문으로 변환할 수 있다. 쿼티자판은 미국의 표준 자판 중 하나이며 26개의 자판으로 모든 알파벳 문자을 입력할 수 있도록 구성되어 있다. 한국어의 경우에도 모든 자음과 모음을 동일한 26개의 자판을 통해 입력할 수 있으며, 대부분 한국에서 통용되는 배열구조를 갖고 있다. 키보드 자판을 기준으로 사용하는 이유는 대부분의 비밀번호가 키보드를 통해 입력되기 때문이다
상기 사전부(110)에서 알파벳 문자로 변환된 한국어 단어 데이터 단어는 표면상으로는 아무런 의미가 없다. 예를 들면 도 8의 “한국”은 “Korea”의 의미이지만 변환과정을 거치면서 "gksrnr”이라는 단어가 되어 “Korea”라는 단어로 표현되는 의미가 상실된다. 그러나 영어사전에 “gksrnr" 이 없기 때문에 이것은 기존의 비밀번호 보안성 평가방법으로 평가할 경우에 보안성이 높다고 예측될 가능성이 높다. 따라서 이와 같은 한계를 고려하여 알파벳 기반의 단어로 변환하고 기존의 사전과 병합하여 구축하면 보안성 평가에 있어 좋은 성능을 보일 수 있을 것이며, 이와 같은 상황을 반영한 개선된 비밀번호 보안성 평가방법도 필요하다.
도 9는 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 비밀번호의 보안성 평가 지표이다.
도 9를 참조하면, 상기 보안성 평가부(120)는 상기 한국어 기반 비밀번호 사전목록을 포함하여 비밀번호의 보안성 점수를 평가할 수 있다.
상기 보안성 평가부(120)는 상기 한국어 기반 비밀번호 사전목록에 포함된 단어에 기반하여 비밀번호의 보안성 점수를 1차 평가할 수 있다.
상기 보안성 평가부(120)는 상기 1차 평가에서 상기 비밀번호에서 숫자 및 특수기호를 제거해 문자열만 남길 수 있다.
상기 보안성 평가부(120)는 상기 문자열을 상기 한국어 기반 비밀번호 사전목록에 포함된 단어에 기반하여 비밀번호의 보안성 점수를 1차 평가할 수 있다.
상기 보안성 평가부(120)는 상기 비밀번호를 LUDS(Lowercase and Uppercase and letters, Digits, and Symbols)의 사용횟수에 기반하여 보안성 점수를 2차평가할 수 있다.
상기 보안성 평가부(120)는 2단계 과정을 거쳐 사용자가 설정한 비밀번호의 보안성을 평가할 수 있다. 상기 보안성 평가부(120)는 1차 평가 단계에서 zxcvbn 평가방법을 사용하여 보안성을 예측하며, 2차 평가 단계에서는 단어사전에서 동일한 단어가 포함되어 있는지를 확인하여 분석한 결과에 기반해 상기 비밀번호의 보안성 점수를 평가할 수 있다.
상기 등급부여부(130)는 상기 비밀번호의 보안성 점수에 기반해 상기 비밀 번호의 보안성 등급을 부여할 수 있다.
상기 등급부여부(130)는 상기 1차 보안성 점수에 가중치를 부여할 수 있다.
상기 등급부여부(130)는 상기 1차 보안성 점수 및 상기 2차 보안성 점수를 합산하여 상기 비밀번호의 보안성 등급을 부여할 수 있다.
상기 등급부여부(130)는 평가가 완료된 상기 비밀번호의 보안성 등급을 부여할 수 있다. 상기 등급부여부(130)는 상기 보안성 점수에 기반해 비밀번호 보안성 평가 등급을 산출하는데, 평가지표는 도 10과 같다.
도 10은 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 한국어 기반의 비밀번호 보안성 예측 방법이다.
도 10을 참조하면, 본 발명의 일 실시 예에 따른 보안성 평가지표와 평가기준은 5단계의 1차 평가인 zxcvbn 평가점수(p)를 2차 평가인 비밀번호 사전 일치 여부(t)로 세분화 하여 10단계의 보안성 평가점수(2p+t)를 얻을 수 있다. zxcvbn 평가점수는 사전의 단어와 숫자, 특수 기호를 조합하여 사용자가 선택한 비밀번호와의 정합성 평가까지 추측시도 횟수를 진단하는 예측값이며, 이를 비밀번호 사전 일치 여부를 판단하여 zxcvbn 평가점수에서 고려되지 못한 비밀번호의 문자열을 보완한다.
예를 들어 “password”는 사전의 단어를 그대로 사용하였으므로 숫자와 특수 기호의 조합이 필요없기 때문에 zxcvbn 평가에서 점수가 0으로 산출된다. 그러나 도 10의 “pas123sword@”의 경우에는 유추하기 위해 1010회 이상의 시도가 필요하다고 예측되어 zxcvbn 평가에서 점수가 4로 산출된다. 그러나 zxcvbn 평가는 비밀번호 사이에 숫자나 특수 기호가 포함될 경우를 고려하지 않고 있다. “pas123sword@”의 예를 살펴보면, 숫자 “123”을 기준으로 “pas”와 “sword”라는 두개의 문자로 분리할 수 있는데, 이 각각의 문자는 의미가 없는 문자열이다. 이러한 경우에 zxcvbn 평가에서는 높은 점수를 얻을 수 있으나 랜덤으로 구성한 문자열을 비밀번호로 선택한 것과 같은 평가점수이므로 신뢰성이 떨어진다.
상기 보안성 평가부(120)는 그렇기 때문에 비밀번호에서 숫자와 특수기호를 제거하여 단어사전과 동일한 단어가 포함되어 있는지를 확인하는 두 번째 단계를 수행할 수 있다. 예를 들어 설명하면“pas123sword@”에는 “password”라는 문자열이 포함되어 있으므로 비밀번호 사전 일치여부의 기준을 적용하여 0으로 산출된다. 그러나 두번째 단계에서 “pas123swort@”에는 사전과 일치하는 단어가 없기 때문에 1로 산출된다. 이것은 두가지 경우에 zxcvbn 평가점수가 모두 같지만 비밀번호 사전에서 일치되는가를 확인하는 과정에서 차이가 있어 보안성 평가점수가 달라질 수 있다.
도 10은 도 9에서 제안한 비밀번호 보안성 평가지표를 이용하여 사용자가 선택한 비밀번호의 보안성을 예측하는 과정의 일 예시이다. 평가지표에서 기준으로 사용하는 비밀번호 사전은 기존의 영어 단어사전과 병합된 한국어 기반의 비밀번호 사전이며, 평가를 위해 도 7의 단어목록을 도 8의 과정으로 전처리하여 도 6의 비밀번호 사전을 미리 구축할 수 있다. 반환된 zxcvbn 평가점수와 비밀번호 사전 일치 여부를 통해 보안성 평가점수가 산출되며, 상기 보안성 평가부(120)에 반환되어 비밀번호를 정하는데 도움을 제공할 수 있다.
도 11은 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 영어와 변환한 한국어의 병합 비밀번호 단어사전이다.
본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 효과를 비교하기 위해 크래킹에 사용된 취약한 비밀번호를 선정하고, 제안한 보안성 평가지표로 평가하였을 때, 얼마나 보안성이 낮게 나오는가를 확인하였다. 이 실험에서 2가지 종류의 데이터를 사용하였으며, 영어와 한국어를 통합한 비밀번호 단어사전과 유출된 비밀번호 목록이다. 우선 데이터를 사용하기앞서 도 7의 한국어 단어를 알파벳 기반으로 변환하여 사전으로 구축하고, 기존의 영어 단어사전과 병합하였다. 도 11을 참조하면, 도 11이 실험에 사용한 비밀번호 단어사전이다. 도 11 (a)는 기존의 영어 단어사전으로써, 도 6의 항목0이다. 하나의 단어는 쉼표(,)를 통해 구분되어 있으며, 뜻을 가진 단어들의 집합으로 실험에 사용하였다.
도 11 (b)는 알파벳 기반으로 변환한 한국어 단어사전이다. 도 11 (a)와 마찬가지로 하나의 단어는 쉼표를 통해 구분하였다. 그러나 도 11 (a)와 달리 구분된 각각의 단어는 뜻을 갖지 않는다. 예를 들어 도 11 (b)의 첫 번째 단어인 “tkfka”은 “사람” - human을 의미한다-을 알파벳으로 변환한 결과이다. 그리고 비밀번호 보안성 평가의 기준이 되는 단어사전을 병합하여 기존 영어의 비밀번호와 한국어 비밀번호를 모두 포함할 수 있도록 하였다.
보안성이 낮은 비밀번호의 수집은 구축한 한국어 단어사전과 유출된 비밀번호 데이터베이스를 이용하였는데“Have I Been Pwned”에서 제공되는 것이며 기존 타 연구 사례에서도 자주 활용되는 데이터이다.
도 12는 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 실험에 사용한 한국어 기반의 비밀번호 유출현황과 데이터수이다.
도 12를 참조하면, 도 12에 제시한 바와 같이, 테스트에서 사용한 가장 많이 유출된 목록은 한국인이 많이 사용하는 남성이름과 여성이름이다. 남성이름은 1,000개 중에 943개가 유출된 데이터를 실험에 이용하였으며 여성이름은 1,000개 중에 899개를 유출된 데이터로 사용하였다. 또한, 한국어에서 빈도가 높은 명사 단어 목록에서는 13,785개 중에 53.21%의 유출율을 보이는 단어들로 사용하였다. 그에 비해 랜덤으로 구성한 4~10글자의 문자열의 경우 10,000개 중에 91개만 유출된 이력을 갖는 데이터도 실험에 사용하였다.
이와 같이, 본 실험에서는 총 9,177개의 유출된 한국어 기반의 비밀번호는 보안성이 낮은 비밀번호로 분류하여, 성능평가 실험에 사용하였다.
실험데이터를 사용하기 위해“Have I Been Pwned”의 최신(2020.11) 버전을 이용하였으며, 유출된 한국어 기반의 비밀번호는 Python 3.6.5 환경에서 수집하고, Selenium 3.141.0, Beautifulsoup4 4.6.0, 그리고 웹 브라우저는 Chrome 89.0.4389.114 버전에서 실험하였다.
실험에서 평가지표를 기준으로 평가점수를 산출하여야 하는데, Node.js 14.15.3프레임워크를 이용하여 평가용 프로그램코드를 구현하고 실행시켜 실험하였다. 참고로 구현한 프로그램코드, 병합된 비밀번호 사전, 그리고 실험데이터는 Github에서 확인할 수 있다. 평가방법의 병합된 사전 구축은 한국어 단어를 알파벳 기반으로 변환하기 위해 inko 1.1.1 모듈을 이용하였으며 보안성 평가점수를 산출하기 위해 zxcvbn 4.4.2 버전을 사용하였다.
비밀번호 보안성 평가방법 성능실험은 본 발명에서 제안한 방법이 예측한 보안성 평가점수를 신뢰할 수 있는지를 확인하였다. 평가기준은 4.1절에서 얻은 9,177개의 보안성이 낮은 한국어 기반의 비밀번호이며, 방법이 유출 횟수에 따라 보안성 평가 점수를 산출하는지 여부를 판단하였다.
도 13은 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 한국어 기반의 유출된 비밀번호 보안성 평가결과이다.
도 13을 참조하면, 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법과 기존의 zxcvbn 평가방법이 보안성이 낮은 비밀번호의 평가점수를 산출한 결과이다. 비교를 위해 본 발명에서 제안한 방법이 산출한 보안성 평가점수를 5단계로 표현하였는데, 제안한 방법은 유출된 비밀번호에 대해서 대부분을 보안성 매우 약함과 약함으로 분류된 결과로 평가하였으며, 평균으로 분류한 경우는 53개였다. 또한, 보안성을 강함으로 분류한 경우는 3개였으며, 보안성이 매우 강하다고 평가한 경우는 없었다.
그러나 기존의 zxcvbn 평가방법의 경우 유출된 비밀번호의 보안성이 강하다고 평가한 경우가 279개가 있었으며, 매우 강하다고 평가한 경우도 24개가 있었다. 이는 보안성이 낮은 비밀번호에 대해 보안성이 매우 강하다고 평가함으로써 사용자가 보안성이 낮은 비밀번호를 선택할 수 있는 위험이 존재한다. 따라서 기존의 평가방법은 한국어 기반의 비밀번호의 보안성 평가에 신뢰성이 부족하며, 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 신뢰성을 확인할 수 있었다.
도 14는 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 보안성 평가점수에 따른 비밀번호 유출횟수이다.
도 14를 참조하면, 평가방법의 보안성 평가점수는 사용자가 선택한 비밀번호의 보안성을 가장 직관적으로 보여줘야 하므로 실제 비밀번호 유출 횟수와 관련이 있어야 한다. 이를 확인하기 위해 도 13에서 산출한 보안성 평가점수에 따른 비밀번호의 유출 횟수를 확인하였고, 이는 도 14와 같다.
도 14 (a)는 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법이 예측한 비밀번호의 유출 횟수이다. 보안성이 매우 낮다고 평가한 그룹에서 7,000회 이상 유출된 비밀번호가 있었으며, 1,000회 이상 유출된 비밀번호의 대부분이 속한 것을 확인하였다. 또한, 보안성이 낮다고 평가한 그룹에서는 매우 낮다고 평가한 그룹보다는 적지만 1,000회 이상 유출된 비밀번호가 다수 있었다. 그에 비해 보안성을 보통이나 강하다고 평가한 그룹에서는 유출은 되었지만, 유출 횟수가 매우 적은 비밀번호가 속하였으며, 보안성을 매우 강하다고 평가한 경우는 없었다.
도 14 (b)는 기존의 평가방법로 예측한 비밀번호의 유출 횟수이다. 보안성이 매우 약하거나 약하다고 평가한 그룹의 경우 도 14 (a)의 평가방법과 유사하게 평가한다는 것을 알 수 있었다. 그러나 1,000회 이상 유출된 한국어 기반의 비밀번호를 보안성이 보통이라고 평가한 경우가 있었다. 또한, 보안성을 강하다고 평가한 그룹에서 100회 이상 유출된 비밀번호가 있었으며, 유출된 비밀번호를 보안성이 매우 강하다고 평가한 경우도 확인하였다.
도 15는 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 보안성 평가점수에 따른 유출 횟수 500회 이하의 비밀번호 수이다.
도 15를 참조하면, 보안성을 보통, 강함, 그리고 매우 강하다고 평가한 그룹을 비교하기 위해 500회 이하로 유출된 비밀번호를 확인한 결과는 도 15와 같다. 도 15 (a)는 제안한 모델이 평가한 보안성 평가점수이며 보안성 보통으로 평가한 그룹에서 매우 적은 유출 횟수를 보였다. 예를 들어 가장 많이 유출된 비밀번호는 “쌍둥이”를 의미하는 “Tkdenddl”로 총 29회 유출되었다. 보안성이 강한 그룹에는 3개의 비밀번호가 분류되었으며, 각각 1, 2, 그리고 7회의 매우 적은 유출 횟수를 확인할 수 있었다.
도 15 (b)는 기존의 평가모델이 평가한 보안성 평가점수이다. 보안성이 강하다고 평가한 비밀번호 그룹에서 94회의 유출 횟수를 갖는 비밀번호가 존재하였다. 또한, 보안성이 매우 강하다고 평가한 그룹에서 24회 유출된 비밀번호를 확인할 수 있었다.
도 16은 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법의 흐름도이다.
도 16을 참조하면, 본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법은 한국어 기반 비밀번호 사전 목록을 구성하는 단계(S110)를 포함할 수 있다.
S110 단계에서, 상기 사전부(110)는 한국어 기반 비밀번호 사전 목록을 구성할 수 있다.
S110 단계에서, 상기 사전부(110)가 한국어 단어 데이터를 수집하는 단계를 포함할 수 있다.
S110 단계에서, 상기 사전부(110)가 수집된 상기 한국어를 영문으로 변환하는 단계를 포함할 수 있다.
S110 단계에서, 상기 사전부(110)가 한국어가 변환된 상기 영문으로 한국어 기반 비밀번호 사전 목록을 구성하는 단계를 포함할 수 있다. 상기 사전부(110)는 수집한 한국어 단어 데이터를 이용해 비밀번호 사전을 구축할 수 있다. 상기 사전부(110)가 한국어 단어를 알파벳 기반의 단어로 변환하기 위해 초성, 중성, 그리고 종성으로 분리하며, 이를 알파벳으로 각각 변환할 수 있다. 상기 사전부(110)가 알파벳으로 변환된 단어를 다시 병합하여 사전을 구성할 수 있다. 상기 사전부(110)는 비밀번호의 보안성을 예측하는데 있어서 한국어 기반의 비밀번호뿐만 아니라 기존의 영어 알파벳 기반의 비밀번호도 사전에 포함할 수 있다. 예를 들어 “password”, “q1w2e3r4”, 그리고 “iloveyou”와 같은 영어 단어들은 영어권 사용자들뿐만이 아니라 비영어권 사용자들도 자주 사용하는 비밀번호이므로 기존의 보안성 예측을 위한 비밀번호 사전과 한국어 기반의 비밀번호 사전을 병합할 수 있다.
S110 단계에서, 상기 사전부(110)는 자주 사용되는 한국어를 수집할 수 있다.
S110 단계에서, 상기 사전부(110)가 생성하는 비밀번호 사전은 한국어 사용자가 많이 사용하는 비밀번호를 포함해야 한다. 도 6을 참조하면, 상기 사전부(110)가 생성하는 비밀번호 사전은 도 6의 3, 4, 5 항목에서처럼 한국인이 많이 사용하는 이름이나 단어를 추가해 포함할 수 있다. 물론 영어권 단어도 사용할 수 있기 때문에 도 6의 0, 1, 2 항목에서처럼 기존의 평가 방법에서 사용하는 단어사전도 같이 포함된다.
S110 단계에서, 상기 사전부(110)에서 비밀번호에 포함시키는 한국어 단어들은 도 7과 같이 대한민국 정부에서 공개한 자료를 근거로 사용하며, 대한민국 법원에 등록되있는 시스템의 통계데이터에서 가져올 수 있다. 대부분 한국에서 가장 많이 사용하는 이름 데이터와 2008년 이후 출생하거나 입양될 때 등록된 이름을 포함하여 개명전후에 등록된 이름 데이터들이며 그 중에서 상위 1,000개씩으로 선정하여 단어사전을 구축한다.
S110 단계에서, 상기 사전부(110)는 또한 한국어에서 가장 많이 사용하는 일반 명사단어는 국립국어원에서 분류한 것을 근거로 포함시킬 수 있으며, 82,502개 중에서 사용 빈도수가 20번 이상부터 13,594번 까지 인 상위 13,785개를 선정하여 단어사전에 포함시킬 수 있다. 상기 사전부(110)는 빈도수 20 미만의 단어들은 비속어를 포함해서 일상생활에서 자주 사용되지 않아 사전 구성에서 제외시킨다. 이런 과정으로 단어를 선정하였지만 영문자와 한국어 문자가 서로 구조가 다르기 때문에 사전에 통합해서 구성하기 어렵다. 따라서 상기 사전부(110)는 한국어 단어를 영어 단어로 변환할 수 있다.
S110 단계에서, 수집된 상기 한국어를 영문으로 변환하는 단계는 상기 사전부(110)는 한국어를 초성, 중성 및 종성으로 분리하는 단계, 상기 사전부(110)는 상기 초성, 중성 및 종성을 자판과 대응되는 위치의 영문으로 변환하는 단계 및 상기 사전부(110)는 변환된 초성, 중성 및 종성을 결합하는 단계를 포함할 수 있다.
S110 단계에서, 상기 사전부(110)는 수집된 상기 한국어를 영문으로 변환할 수 있다. 상기 사전부(110)는 한국어가 변환된 상기 영문으로 한국어 기반 비밀번호 사전 목록을 구성할 수 있다.
S110 단계에서, 알파벳 문자가 일련으로 표기하는 영문자와는 달리 한국어 단어는 초성, 중성, 종성으로 조합하여 한문자로 만드는 구조를 갖는다. 그러므로 상기 사전부(110)는 한국어 문자를 영어와 동일한 구조로 변환하여 비밀번호 단어사전에서 일관성있게 관리할 수 있다. 변환하기 전의 단어는 “한국”, “비밀번호”와 같은 조합된 구조인데, “한국”의 경우 각각 초성, 중성, 종성으로 분리하여 “ㅎ”, “ㅏ”,“ㄴ”, “ㄱ”, “ㅜ”,“ㄱ”과 같은 자음 또는 모음 데이터로 만들 수 있다. 이 자음과 모음은 키보드 자판을 기준으로 알파벳 문자와 대응시킬수 있다. 즉 “ㅎ”는 “g”로 변환하고 “ㅏ”는 “k”로 변환하며 “ㄴ”은 “s”로 변환할 수 있다.
S110 단계에서, 상기 사전부(110)는 쿼티(qwerty)자판 배열과 동일한 키보드 배열을 기준으로 한국어 단어를 영문으로 변환할 수 있다. 쿼티자판은 미국의 표준 자판 중 하나이며 26개의 자판으로 모든 알파벳 문자을 입력할 수 있도록 구성되어 있다. 한국어의 경우에도 모든 자음과 모음을 동일한 26개의 자판을 통해 입력할 수 있으며, 대부분 한국에서 통용되는 배열구조를 갖고 있다. 키보드 자판을 기준으로 사용하는 이유는 대부분의 비밀번호가 키보드를 통해 입력되기 때문이다
S110 단계에서, 상기 사전부(110)에서 알파벳 문자로 변환된 한국어 단어 데이터 단어는 표면상으로는 아무런 의미가 없다. 예를 들면 “한국”은 “Korea”의 의미이지만 변환과정을 거치면서 "gksrnr”이라는 단어가 되어 “Korea”라는 단어로 표현되는 의미가 상실된다. 그러나 영어사전에 “gksrnr" 이 없기 때문에 이것은 기존의 비밀번호 보안성 평가방법으로 평가할 경우에 보안성이 높다고 예측될 가능성이 높다. 따라서 이와 같은 한계를 고려하여 알파벳 기반의 단어로 변환하고 기존의 사전과 병합하여 구축하면 보안성 평가에 있어 좋은 성능을 보일 수 있을 것이며, 이와 같은 상황을 반영한 개선된 비밀번호 보안성 평가방법도 필요하다.
본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법은 상기 한국어 기반 비밀번호 사전목록을 포함하여 비밀번호의 보안성 점수를 평가하는 단계(S120)를 포함할 수 있다.
S120 단계에서, 상기 사전부(110)가 구성한 비밀번호 사전을 이용하여 상기 보안성 평가부(120)가 사용자가 선택한 비밀번호의 보안성을 평가하고, 예측할 수 있다. 상기 보안성 평가부(120)는 보안성 예측에는 zxcvbn 평가방법에 기반해 보안성 점수를 평가할 수 있다. 그러나 기존의 zxcvbn에서 “pas123word”와 같이 단어 사이에 숫자나 특수 기호가 들어간다면 사전과 일치하는 단어가 없다고 판단하여 보안성이 높다고 예측한다. 이를 고려하여 본 발명의 상기 보안성 평가부(120)는 사용자가 선택한 비밀번호에서 문자열을 추출한 후에 사전과 비교할 수 있다. 상기 보안성 평가부(120)는 비밀번호 보안성 예측시 상기 사전부(110)가 병합한 사전을 이용하여 비밀번호의 보안성을 평가하는 과정과 사전의 단어와 일치 여부를 확인하는 과정을 수행할 수 있다. 이것으로 보안레벨과 보안분석이 산출되며, 비밀번호의 안정성을 판단하는 기준이 된다.
S120 단계에서, 상기 보안성 평가부(120)는 상기 한국어 기반 비밀번호 사전목록을 포함하여 비밀번호의 보안성 점수를 평가할 수 있다.
S120 단계에서, 상기 보안성 점수 평가 단계는, 상기 보안성 평가부(120)는 상기 한국어 기반 비밀번호 사전목록에 포함된 단어에 기반하여 비밀번호의 보안성 점수를 1차 평가하는 단계 및 상기 비밀번호를 LUDS(Lowercase and Uppercase and letters, Digits, and Symbols)의 사용횟수에 기반하여 보안성 점수를 2차평가하는 단계를 포함할 수 있다.
S120 단계에서, 상기 보안성 평가부(120)는 상기 1차 평가에서 상기 비밀번호에서 숫자 및 특수기호를 제거해 문자열만 남길 수 있다.
S120 단계에서, 상기 보안성 평가부(120)는 상기 문자열을 상기 한국어 기반 비밀번호 사전목록에 포함된 단어에 기반하여 비밀번호의 보안성 점수를 1차 평가할 수 있다.
S120 단계에서, 상기 보안성 평가부(120)는 상기 비밀번호를 LUDS(Lowercase and Uppercase and letters, Digits, and Symbols)의 사용횟수에 기반하여 보안성 점수를 2차평가할 수 있다.
S120 단계에서, 상기 보안성 평가부(120)는 2단계 과정을 거쳐 사용자가 설정한 비밀번호의 보안성을 평가할 수 있다. 상기 보안성 평가부(120)는 1차 평가 단계에서 zxcvbn 평가방법을 사용하여 보안성을 예측하며, 2차 평가 단계에서는 단어사전에서 동일한 단어가 포함되어 있는지를 확인하여 분석한 결과에 기반해 상기 비밀번호의 보안성 점수를 평가할 수 있다.
S120 단계에서, 상기 보안성 평가부(120)는 그렇기 때문에 비밀번호에서 숫자와 특수기호를 제거하여 단어사전과 동일한 단어가 포함되어 있는지를 확인하는 두 번째 단계를 수행할 수 있다. 예를 들어 설명하면“pas123sword@”에는 “password”라는 문자열이 포함되어 있으므로 비밀번호 사전 일치여부의 기준을 적용하여 0으로 산출된다. 그러나 두번째 단계에서 “pas123swort@”에는 사전과 일치하는 단어가 없기 때문에 1로 산출된다. 이것은 두가지 경우에 zxcvbn 평가점수가 모두 같지만 비밀번호 사전에서 일치되는가를 확인하는 과정에서 차이가 있어 보안성 평가점수가 달라질 수 있다.
S120 단계에서, 상기 사전부(110)가 구성한 비밀번호 사전을 이용하여 상기 보안성 평가부(120)가 사용자가 선택한 비밀번호의 보안성을 평가하고, 예측할 수 있다. 상기 보안성 평가부(120)는 보안성 예측에는 zxcvbn 평가방법에 기반해 보안성 점수를 평가할 수 있다. 그러나 기존의 zxcvbn에서 “pas123word”와 같이 단어 사이에 숫자나 특수 기호가 들어간다면 사전과 일치하는 단어가 없다고 판단하여 보안성이 높다고 예측한다. 이를 고려하여 본 발명의 상기 보안성 평가부(120)는 사용자가 선택한 비밀번호에서 문자열을 추출한 후에 사전과 비교할 수 있다. 상기 보안성 평가부(120)는 비밀번호 보안성 예측시 상기 사전부(110)가 병합한 사전을 이용하여 비밀번호의 보안성을 평가하는 과정과 사전의 단어와 일치 여부를 확인하는 과정을 수행할 수 있다. 이것으로 보안레벨과 보안분석이 산출되며, 비밀번호의 안정성을 판단하는 기준이 된다.
본 발명의 일 실시예에 따른 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법은 평가가 완료된 상기 비밀번호의 보안성 등급을 부여하는 단계(S130)를 포함할 수 있다.
S130 단계에서, 상기 등급부여부(130)는 상기 비밀번호의 보안성 점수에 기반해 상기 비밀 번호의 보안성 등급을 부여할 수 있다.
S130 단계에서, 상기 보안성 등급 부여 단계는, 상기 1차 보안성 점수에 가중치를 부여하는 단계 및 상기 1차 보안성 점수 및 상기 2차 보안성 점수를 합산하여 상기 비밀번호의 보안성 등급을 부여하는 단계를 포함할 수 있다.
S130 단계에서, 상기 등급부여부(130)는 상기 1차 보안성 점수에 가중치를 부여할 수 있다.
S130 단계에서, 상기 등급부여부(130)는 상기 1차 보안성 점수 및 상기 2차 보안성 점수를 합산하여 상기 비밀번호의 보안성 등급을 부여할 수 있다.
S130 단계에서, 상기 등급부여부(130)는 평가가 완료된 상기 비밀번호의 보안성 등급을 부여할 수 있다. 상기 등급부여부(130)는 상기 보안성 점수에 기반해 비밀번호 보안성 평가 등급을 산출하는데, 평가지표는 도 10과 같다.
S130 단계에서, 상기 등급부여부(130)는 본 발명의 일 실시 예에 따른 보안성 평가지표와 평가기준은 5단계의 1차 평가인 zxcvbn 평가점수(p)를 2차 평가인 비밀번호 사전 일치 여부(t)로 세분화하여 10단계의 보안성 평가점수(2p+t)를 얻을 수 있다. zxcvbn 평가점수는 사전의 단어와 숫자, 특수 기호를 조합하여 사용자가 선택한 비밀번호와의 정합성 평가까지 추측시도 횟수를 진단하는 예측값이며, 이를 비밀번호 사전 일치 여부를 판단하여 zxcvbn 평가점수에서 고려되지 못한 비밀번호의 문자열을 보완한다.
예를 들어 “password”는 사전의 단어를 그대로 사용하였으므로 숫자와 특수 기호의 조합이 필요없기 때문에 zxcvbn 평가에서 점수가 0으로 산출된다. 그러나 도 10의 “pas123sword@”의 경우에는 유추하기 위해 1010회 이상의 시도가 필요하다고 예측되어 zxcvbn 평가에서 점수가 4로 산출된다. 그러나 zxcvbn 평가는 비밀번호 사이에 숫자나 특수 기호가 포함될 경우를 고려하지 않고 있다. “pas123sword@”의 예를 살펴보면, 숫자 “123”을 기준으로 “pas”와 “sword”라는 두개의 문자로 분리할 수 있는데, 이 각각의 문자는 의미가 없는 문자열이다. 이러한 경우에 zxcvbn 평가에서는 높은 점수를 얻을 수 있으나 랜덤으로 구성한 문자열을 비밀번호로 선택한 것과 같은 평가점수이므로 신뢰성이 떨어진다.
S130 단계에서, 도 10은 도 9에서 제안한 비밀번호 보안성 평가지표를 이용하여 사용자가 선택한 비밀번호의 보안성을 예측하는 과정의 일 예시이다. 평가지표에서 기준으로 사용하는 비밀번호 사전은 기존의 영어 단어사전과 병합된 한국어 기반의 비밀번호 사전이며, 평가를 위해 도 7의 단어목록을 도 8의 과정으로 전처리하여 도 6의 비밀번호 사전을 미리 구축할 수 있다. 반환된 zxcvbn 평가점수와 비밀번호 사전 일치 여부를 통해 보안성 평가점수가 산출되며, 상기 등급부여부(130)에 반환되어 비밀번호를 정하는데 도움을 제공할 수 있다.

Claims (10)

  1. 한국어 기반 비밀번호 사전 목록을 구성하는 단계;
    상기 한국어 기반 비밀번호 사전목록을 포함하여 비밀번호의 보안성 점수를 평가하는 단계; 및
    상기 비밀번호의 보안성 점수에 기반해 상기 비밀 번호의 보안성 등급을 부여하는 단계;를 포함하고,
    상기 한국어 기반 비밀번호 사전 목록 구성 단계는,
    자주 사용되는 한국어를 수집하는 단계;
    수집된 상기 한국어를 영문으로 변환하는 단계; 및
    한국어가 변환된 상기 영문으로 한국어 기반 비밀번호 사전 목록을 구성하는 단계;를 포함하고,
    상기 한국어 영문 변환 단계는,
    한국어를 초성, 중성 및 종성으로 분리하는 단계;
    상기 초성, 중성 및 종성을 자판과 대응되는 위치의 영문으로 변환하는 단계; 및
    변환된 초성, 중성 및 종성을 결합하는 단계;를 포함하는 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법.
  2. 삭제
  3. 제1 항에 있어서,
    상기 자주 사용되는 한국어는,
    한국인이 많이 사용하는 남성 이름, 한국인이 많이 사용하는 여성이름, 한국어에서 빈도 높은 명사 단어 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법.
  4. 삭제
  5. 제1 항에 있어서,
    상기 보안성 점수 평가 단계는,
    상기 한국어 기반 비밀번호 사전목록에 포함된 단어에 기반하여 비밀번호의 보안성 점수를 1차 평가하는 단계; 및
    상기 비밀번호를 LUDS(Lowercase and Uppercase and letters, Digits, and Symbols)의 사용횟수에 기반하여 보안성 점수를 2차평가하는 단계;를 포함하고,
    상기 보안성 등급 부여 단계는,
    상기 1차 평가에 따른 점수에 가중치를 부여하는 단계; 및
    상기 1차 평가에 따른 점수 및 상기 2차 평가에 따른 점수를 합산하여 상기 비밀번호의 보안성 등급을 부여하는 단계;를 포함하는 것을 특징으로 하는 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법.
  6. 한국어 기반 비밀번호 사전 목록을 구성하는 사전부;
    상기 한국어 기반 비밀번호 사전목록을 포함하여 비밀번호의 보안성 점수를 평가하는 보안성 평가부; 및
    상기 비밀번호의 보안성 점수에 기반해 상기 비밀 번호의 보안성 등급을 부여하는 등급부여부;를 포함하고,
    상기 사전부는,
    자주 사용되는 한국어를 수집하고,
    수집된 상기 한국어를 영문으로 변환하고,
    한국어가 변환된 상기 영문으로 한국어 기반 비밀번호 사전 목록을 구성하고,
    상기 사전부는,
    한국어를 초성, 중성 및 종성으로 분리하고,
    상기 초성, 중성 및 종성을 자판과 대응되는 위치의 영문으로 변환하고,
    변환된 초성, 중성 및 종성을 결합하는 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 시스템.
  7. 삭제
  8. 제6항에 있어서,
    상기 자주 사용되는 한국어는,
    한국인이 많이 사용하는 남성 이름, 한국인이 많이 사용하는 여성이름, 한국어에서 빈도 높은 명사 단어 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 시스템.
  9. 삭제
  10. 제6 항에 있어서,
    상기 보안성 평가부는,
    상기 한국어 기반 비밀번호 사전목록에 포함된 단어에 기반하여 비밀번호의 보안성 점수를 1차 평가하고,
    상기 비밀번호를 LUDS(Lowercase and Uppercase and letters, Digits, and Symbols)의 사용횟수에 기반하여 보안성 점수를 2차평가하고,
    상기 등급부여부는,
    상기 1차 평가에 따른 점수에 가중치를 부여하고,
    상기 1차 평가에 따른 점수 및 상기 2차 평가에 따른 점수를 합산하여 상기 비밀번호의 보안성 등급을 부여하는 것을 특징으로 하는 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 시스템.
KR1020210125964A 2021-09-23 2021-09-23 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법 및 시스템 KR102614322B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210125964A KR102614322B1 (ko) 2021-09-23 2021-09-23 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210125964A KR102614322B1 (ko) 2021-09-23 2021-09-23 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20230042999A KR20230042999A (ko) 2023-03-30
KR102614322B1 true KR102614322B1 (ko) 2023-12-15

Family

ID=85985785

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210125964A KR102614322B1 (ko) 2021-09-23 2021-09-23 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102614322B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198537A1 (en) * 2004-03-05 2005-09-08 Erwin Rojewski Technique for evaluating computer system passwords
EP1918844A1 (en) 2006-10-31 2008-05-07 Novell, Inc. Techniques for variable security access information

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080046530A (ko) * 2006-11-22 2008-05-27 이규형 한글 단어와 한글 자판을 이용한 비밀번호 생성 방법
US9122867B2 (en) * 2007-06-08 2015-09-01 International Business Machines Corporation Techniques for presenting password feedback to a computer system user

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198537A1 (en) * 2004-03-05 2005-09-08 Erwin Rojewski Technique for evaluating computer system passwords
EP1918844A1 (en) 2006-10-31 2008-05-07 Novell, Inc. Techniques for variable security access information

Also Published As

Publication number Publication date
KR20230042999A (ko) 2023-03-30

Similar Documents

Publication Publication Date Title
US10809914B2 (en) System and method for inputting text into electronic devices
Gunawardana et al. Usability guided key-target resizing for soft keyboards
US10095405B2 (en) Gesture keyboard input of non-dictionary character strings
US10325018B2 (en) Techniques for scheduling language models and character recognition models for handwriting inputs
US20170336969A1 (en) Predicting next letters and displaying them within keys of a graphical keyboard
Xu et al. Chunk-level password guessing: Towards modeling refined password composition representations
US9298276B1 (en) Word prediction for numbers and symbols
US8219905B2 (en) Automatically detecting keyboard layout in order to improve the quality of spelling suggestions
CN104281275A (zh) 一种英文的输入方法和装置
Al-Megren et al. A Systematic Review of Modifications and Validation Methods for the Extension of the Keystroke‐Level Model
US10019072B2 (en) Imagined grid fingertip input editor on wearable device
KR102614322B1 (ko) 국영비밀번호통합사전을 이용한 비밀번호 보안강도 평가 방법 및 시스템
Kim et al. Statistical context-sensitive spelling correction using typing error rate
Lee et al. Force9: Force-assisted miniature keyboard on smart wearables
JP6084081B2 (ja) パスワード生成装置
US11320914B1 (en) Computer interaction method, device, and program product
CN106709294B (zh) 一种用户认证方法和装置
Kim et al. Context-sensitive spelling error correction using inter-word semantic relation analysis
US20170131890A1 (en) Touchscreen oriented input integrated with enhanced four-corner indexing
Gallagher et al. Modeling password entry on a mobile device
JP6303508B2 (ja) 文書分析装置、文書分析システム、文書分析方法およびプログラム
KR20080046530A (ko) 한글 단어와 한글 자판을 이용한 비밀번호 생성 방법
Shah et al. A unique word prediction system for text entry in Hindi
Lee et al. Diagnosing and coping with mode errors in Korean-English dual-language keyboard
Dozono et al. The Analyses of Key Stroke Timings using Self Organizing Maps and its Application to Authentication.

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant