KR20030087873A - 컴퓨팅 장치의 인증/접근 제어에 사용되는 중요 상수값의보안 방법 및 그를 이용한 인증/접근 제어 방법 - Google Patents

컴퓨팅 장치의 인증/접근 제어에 사용되는 중요 상수값의보안 방법 및 그를 이용한 인증/접근 제어 방법 Download PDF

Info

Publication number
KR20030087873A
KR20030087873A KR1020020025957A KR20020025957A KR20030087873A KR 20030087873 A KR20030087873 A KR 20030087873A KR 1020020025957 A KR1020020025957 A KR 1020020025957A KR 20020025957 A KR20020025957 A KR 20020025957A KR 20030087873 A KR20030087873 A KR 20030087873A
Authority
KR
South Korea
Prior art keywords
constant value
dummy
value
memory
critical
Prior art date
Application number
KR1020020025957A
Other languages
English (en)
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 KR1020020025957A priority Critical patent/KR20030087873A/ko
Publication of KR20030087873A publication Critical patent/KR20030087873A/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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/31User authentication
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 컴퓨팅 장치의 인증/접근 제어에 사용되는 중요 상수값의 보안 방법 및 그를 이용한 인증/접근 제어 방법에 관한 것으로, 중요 상수값을 추출하여 저장부의 특정 위치에 저장하는 중요 상수값 추출 및 저장단계와, 상기 중요 상수값에 대응될 수 있는 1 이상의 난수(Random Number)로 이루어지는 더미 상수값을 생성하여, 상기 저장부의 불특정의 가변위치에 저장하는 더미 상수값 생성 및 저장단계를 포함하도록 구성된다.
본 발명에 의하면, 보안이 필요한 각종 컴퓨팅 장치의 인증 또는 접근 제어에 이용되는 중요한 상수값의 물리적 저장위치를 감춤으로써 비인가자의 접근을 방지함으로써, 장치의 인증에 대한 신뢰성 및 데이터에 대한 보안성을 향상시킬 수 있다.

Description

컴퓨팅 장치의 인증/접근 제어에 사용되는 중요 상수값의 보안 방법 및 그를 이용한 인증/접근 제어 방법 {Security Method for Important Constant Information used for Authentication/Authorization of Computing Device and Authentication/Authorization Method using the same}
본 발명은 컴퓨팅 장치의 인증(Authentication) 및/또는 접근(Authorization) 제어에 사용되는 중요 상수값(Important Constant Information)의 보안 방법 및 그를 이용한 장치 인증/접근 제어 방법, 더 상세하게는 컴퓨팅 장치에 사용되는 중요한 상수값에 대한 1 이상의 더미 상수값(Dummy Constant Value)을 생성하고 불특정의 다른 공간에 각각 저장함으로써 중요 상수값의 기밀을 유지하며, 장치의 프로그램만이 인식할 수 있는 해당 중요 상수값을 이용하여 장치에 대한 인증 및/또는 접근을 제어하는 방법에 관한 것이다.
이동통신 분야가 발전함에 따라, 이동통신 단말기, PDA(Personal Digital Assistant), 노트북과 같은 모바일 컴퓨팅 장치를 이용하여 장소의 제약없이 통신, 기타 업무를 수행할 수 있게 되었다.
한편, 종래의 주요 기밀정보는 주로 고정된 PC(Personal Computer) 등에 저장되어 있었기 때문에, 해당 PC가 있는 공간의 보안이 유지되는 한 PC에 저장된 정보의 유출 또한 보장되었다.
그러나, 전술한 바와 같이, 최근에는 모바일 컴퓨팅 장치가 더 많이 이용되고 있고, 이를 이용하여 보안이 유지되어야 하는 업무를 보는 일이 많아지고 있으나, 모바일 컴퓨팅 장치의 특성상 분실하기 쉽고, 분실되는 경우에는 중요한 데이터가 타인에게 유출되어 치명적인 손해를 입을 수 있었다.
이러한 단점을 극복하기 위하여, 다음과 같은 보안방식이 이용되고 있다.
첫 번째 형태로 비밀번호 또는 잠금 기능을 이용하여 장치에 대한 접근을 제어하는 방식이 있다.
여기서는, 사용자가 정한 비밀번호를 장치의 메모리에 저장시켜 둔 상태에서, 사용자가 잠금기능을 설정해두면, 불법적으로 취득한 타인이 장치 등을 이용하고자 하거나 잠금을 해제하려고 하는 경우 비밀번호를 입력하도록 하고, 입력된 비밀번호와 저장된 비밀번호가 일치하는 지 확인하는 방식을 이용하였다.
이러한 방식을 이용하더라도, 장치를 불법적으로 취득한 자가 해당 장치의 비밀번호를 알아내 잠금을 해제하는 경우에는 저장되어 있던 데이터가 유출될 우려가 있다.
또한, 비밀번호가 장치의 저장부에 저장되어 있는 경우에는 장치를 불법적으로 취득한 자가, 장치를 분해, 또는 크래킹(Cracking)함으로써 비밀번호를 알아낼 우려가 있다.
이를 위하여, 최근에 개발된 PDA 등에서는 적당한 해쉬함수(Hash Function)를 이용하여 사용자가 최초에 정한 비밀번호에 대한 해쉬값을 추출하여 적당한 저장부에 저장하여 두고, 이를 사용자 인증 또는 장치의 접근 제어에 이용한다. "해쉬함수"란 일방향 함수(One-way Function)로 다양한 길이의 입력값을 고정된 짧은 길이의 출력값, 즉 해쉬코드(Hash Code)로 변환하는 함수이다. 이러한 해쉬함수에 대한 일반적인 내용은 아래에서 더 상세하게 설명된다.
PDA의 전원을 켜고, Palm, WinCE과 같은 운영체제(OS)를 실행하기 이전에 사용자로 하여금 비밀번호를 입력하도록 하고, 입력된 비밀번호에 대한 해쉬값이 저장되어 있는 해쉬값과 일치하는 지를 확인하고, 일치하는 경우에만 PDA의 동작을 허용하는 과정을 거치도록 한다. 즉, 장치에 대한 접근(Access)은 사용자가 비밀번호를 입력하고, 입력루틴이 온더플라이(On-the-fly)방식으로 해쉬값을 구하여 장치내에 저장된 사용자의 해쉬값과 비교함으로써 수행된다는 것이다.
이를 위해서, 장치의 세팅 시에 미리 정당한 사용자가 선택한 비밀번호에 대한 해쉬값이 저장되어 있어야 할 것이다.
이러한 방법을 이용하면, 비밀번호가 단순히 숫자와 문자의 조합으로 저장되어 있는 것이 아니고, 128 또는 160비트의 임의의 디지털값인 해쉬값으로 저장되어 있기 때문에, PDA와 같은 장치를 불법적으로 취득한 자가 장치를 분해하거나 메모리를 크래킹하는 경우에도, 메모리에 있는 비밀번호의 해쉬값만 알게되고 실제 비밀번호는 알 수 없으므로 비밀번호 입력을 통한 컴퓨팅 장치로의 접근이 차단되어 보안이 강화된다.
두 번째 보안 방법으로서, 데이터에 대한 개별적인 보안방식을 이용할 수 있다.
이 방식에서는 장치내의 중요정보는 항상 암호화(Encryption)되어 저장되고, 어플리케이션 프로그램이 해당 정보를 디스플레이할 때에만 암호화된 정보를 온더플라이방식으로 복호화하여 보여주고, 새로이 편집된 정보를 다시 저장하거나, 장치의 전원이 꺼질 때에는 다시 암호화하여 저장한다. 이러한 암호화/복호화는 키(Key) 방식으로 이루어지며, 적당한 암호/복호화 알고리즘이 사용될 수 있다.
이를 위해서, 장치내의 암호화된 정보 이외에는 그 어떤 임시파일이나 암호화되지 않은 정보의 이미지(Image)가 있어서는 아니 된다. 특히, 가상메모리(Virtual Memory)를 쓰는 상황에서 운영체제(OS)의 개입으로 메모리내의비밀번호나 키(Key)값이 스왑 페이지(Swap page)에 걸려 외부 하드 디스크나 다른 영구 저장장치와 같은 스왑파일(Swap File)에 저장되는 것을 방지해야 한다.
세 번째 형태는 첫 번째와 두 번째 방식을 결합한 보안 방법으로서, 비밀번호에 대한 해쉬값을 추출한 후, 그 해쉬값을 제 1 키로 하여 데이터의 암호화에 필요한 암호/복호키(Encryption Key)를 암호화하고, 암호화된 암호/복호키를 장치의 특정 메모리에 저장한다.
장치의 모든 데이터는 암호/복호키에 의하여 암호화되어 저장되며, 어플리케이션에 의한 열람 시에 복호화되어 디스플레이되며, 저장 또는 전원 오프시에 다시 암호/복호키에 의하여 암호화된 후 저장된다.
데이터의 암호/복호화에 필요한 암호/복호키는 필요한 경우에 한하여 메모리로부터 읽혀진 후, 비밀번호에 대한 해쉬값을 이용하여 복호화되어 임시적으로 메모리에서 활용되고, 곧 스와핑(Swapping)되거나 기타 이미지 파일을 생성시키지 않고 소멸된다.
그러나, 이렇게 비밀번호에 대한 해쉬값과 암호화된 데이터 암호/복호화 키와 같이 복잡한 방식을 이용하더라도, 비밀번호 해쉬값 또는 데이터의 암호/복호화에 이용되는 암호/복호키가 장치의 메모리 중 어느 위치에 저장되어 있는 지 유출되는 경우에는 보안이 불가능해진다. 즉, 불법적으로 장치를 취득한 자가 장치의 메모리 등을 분해하여 분석하거나 크래킹하는 경우에는 비밀번호에 대한 해쉬값 또는 암호/복호키를 알아낼 수 있으므로, 보안이 불완전해진다는 것이다.
따라서, 휴대폰, PDA, 노트북과 같이 보안이 필요한 모바일 컴퓨팅 장치의보안성을 향상시킬 필요가 있으며, 컴퓨팅 장치내에 위치한 비밀번호, 그의 해쉬값 또는 암호키 등 중요한 상수값이 비인가자(Unauthorized Person)에 의하여 접근(Access) 가능 하지 않도록 할 필요가 있다.
본 발명의 목적은 보안이 필요한 장치의 인증 또는 접근 제어에 사용되는 중요 상수값의 물리적 저장위치를 감춤으로써 비인가자의 접근을 방지할 수 있는 방법을 제공하는 것이다.
본 발명의 다른 목적은 모바일 컴퓨팅 장치의 사용자 인증에 사용되는 해쉬값 및 각 데이터의 암호/복호화에 사용되는 암호/복호키의 보안 방법 및 그를 이용한 안전한 인증 및 접근 제어 방법을 제공하는 것이다.
도 1은 본 발명에 의한 방법이 이용되는 컴퓨팅 장치의 전체 구성으로 개략적으로 도시한다.
도 2는 본 발명의 제 1 실시예에 의한 중요 상수값 보안 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 제 2 실시예에 의한 중요 상수값 보안 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명에 의한 컴퓨팅 장치의 인증 또는 접근 제어 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명에 따라 데이터의 암호/복호에 필요한 암호/복호키를 생성하여 저장하는 과정을 도시하는 흐름도이다.
전술한 바와 같은 목적을 달성하기 위하여, 본 발명에 의한 컴퓨팅 장치의 중요 상수값 보안 방법은 다음과 같은 단계로 이루어진다.
컴퓨팅 장치의 인증·접근 제어 등에 이용되는 중요 상수값을 컴퓨팅 장치의 저장부에 안전하게 저장하는 방법으로서,
상기 중요 상수값을 추출하여 저장부의 특정 위치에 저장하는 중요 상수값 추출 및 저장단계;
상기 중요 상수값에 대응될 수 있는 1 이상의 난수(Random Number)로 이루어지는 더미 상수값을 생성하여, 상기 저장부의 불특정의 가변위치에 저장하는 더미 상수값 생성 및 저장단계로 이루어진다.
상기 더미 상수값 생성 및 저장단계는, 중요 상수값 (해쉬값)보다 큰 연속된 메모리 공간(0∼M)을 확보하는 제 1 단계와, 상기 확보된 메모리 공간 크기에서 중요 상수값의 크기(m)를 뺀 더미메모리 크기(DumHash=M-m)를 구하는 제 2 단계와, 0 부터 (DumHash - 1) 사이의 값 중에서 임의의 값인 확률 더미메모리 (PrDumHash) 값을 랜덤하게 산출하는 제 3 단계와, 해쉬값을 기초(Seed)로 하여 확률 더미메모리(PrDumHash) 크기의 난수인 제 1 더미 상수값을 연속 생성하는 제 4 단계와, 상기 확보된 메모리 공간 중 0 부터 PrDumHash 번지까지의 메모리 공간에 생성된 제 1 더미 상수값을 저장하는 제 5 단계와, (PrDumHash+1) 번지부터 중요 상수값을 저장하는 제 6 단계와, 확보된 메모리 공간 중 빈 곳이 있는 경우, 난수인 제 2 더미 상수값을 생성하여 확보된 메모리의 빈 공간에 저장하는 제 7 단계로 이루어진다.
다른 실시예에서는 상기 실시예의 제 3 단계까지 수행하여 (PrDumHash) 값을 랜덤하게 산출한 후에 이미 확보된 전체 메모리 공간 (0∼M)에 임의의 난수를 우선 저장하고, (PrDumHash+1) 번지부터 중요 상수값을 저장하는 방법이 있다. 또는, 중요 상수값 (해쉬값)보다 큰 연속된 메모리 공간(0∼M)을 확보하는 제 1 단계 직후 우선 확보된 메모리 공간에 난수를 저장하고, 상기 제 2 단계 및 3 단계를 수행하고, (PrDumHash+1) 번지부터 중요 상수값을 저장하는 방법이 있다.
또 다른 실시예에서는, 더미 상수값 생성 및 저장단계가 소정 시간 또는 프로시저(Procedure)마다 더미 상수값 생성모듈을 호출함으로써 수행되며, 상기 더미 상수값 생성모듈은 상기 중요 상수값과 동일한 크기를 가지는 가변적인 메모리 공간을 확보하는 제 1 단계와, 상기 중요 상수값과 동일한 크기를 가지는 임의의 난수인 더미 상수값을 생성하는 제 2 단계와, 생성된 더미 상수값을 확보한 메모리에 저장하는 제 3 단계로 수행될 수 있다.
또한, 상기 더미 상수값 생성모듈은 여러 번 실행될 수 있는 데, 각 경우에 생성된 더미 상수값은 짝수 또는 홀수냐에 따라 확률적으로 메모리 공간을 확보하고 여기에 저장 될 수도 있고 메모리에 저장되지 않을 수도 있다. 따라서, 보안모듈의 크기는 확률적으로 변하게 된다.
본 발명에 의한 장치 인증/접근 제어방법은, 컴퓨팅 장치의 인증/접근 제어에 이용되는 중요 상수값을 추출하여 장치 저장부의 특정 위치에 저장하는 중요 상수값 추출 및 저장단계와, 상기 중요 상수값에 대응될 수 있는 1 이상의 난수(Random Number)로 이루어지는 더미 상수값을 생성하여, 상기 저장부의 불특정의 가변위치에 저장하는 더미 상수값 생성 및 저장단계; 장치의 인증 또는 접근요청이있는 경우 요청 입력으로부터 추출된 상수값이 상기 저장된 중요 상수값과 일치하는지 판단하고, 일치하는 경우에 한하여 인증 또는 접근을 허락하는 인증/접근 허락 단계로 이루어진다.
한편, 장치의 운영체제 또는 응용 프로그램은 중요 상수값이 저장된 위치를 파악하고 있으며, 장치의 최초 사용자 인증시 또는 개별 데이터 접근시 중요 상수값을 이용할 수 있다. 그러나, 비인가 사용자는 메모리를 크래킹 하더라도 많은 상수 중 어느 것이 실제 상수값인지 알 수 없기 때문에 인증 또는 데이터 접근을 할 수 없게 된다.
본 명세서에서 사용되는 "상수값(Constant)"은 수학적인 의미인 항상 일정한값만을 의미하는 것은 아니며, 소정 시간동안 일정한 값을 가지는 모든 수학적 값을 포함하는 넓은 개념으로 이해되어야 할 것이다. 예컨데, 사용자가 비밀번호 등을 변경함으로써 비밀번호와 관련된 중요 수치인 해쉬값이 변경된 경우에도, 변경된 해쉬값은 다시 변경될 때까지는 여전히 "중요 상수값"으로 인정되는 것이다.
이하에서는 첨부되는 도면을 참고로 본 발명의 실시예에 대하여 상세하게 설명한다.
도 1은 본 발명에 의한 방법이 이용되는 컴퓨팅 장치(100)의 전체 구성으로 개략적으로 도시하는 것으로, 중앙연산장치(CPU; 110)와, 키보드 또는 터치스크린과 같은 입력장치(120), 모니터 또는 액정화면과 같은 출력장치(130), 데이터를 저장하기 위한 저장공간으로서의 메모리(140) 이외에, 본 발명에 의한 중요상수값 보안 알고리즘을 구현하기 위한 보안모듈(150)이 구비되어 있다.
이러한 보안모듈(150)은 하드웨어 또는 소프트웨어 어느 쪽으로도 구현될 수 있으나, 호환성을 확보하기 위하여 소프트웨어적으로 구현되는 것이 바람직하다.
본 발명이 이용될 수 있는 컴퓨팅 장치(100)는 중요 정보를 저장하고 있어서 보안이 필요한 모든 장치를 포함하며, 예를 들면, 휴대폰, PDA, 핸드헬드 PC(Handheld PC), 노트북, 개인용컴퓨터(PC) 등이 될 수 있다.
따라서, 상기 입력장치(120)는 키보드, 마이크로폰과 같은 음성입력장치, 터치스크린, 터치펜 등 어떠한 수단도 될 수 있으며, 출력장치는 CRT, TFT 또는 LCD 모니터 등이 될 수 있다.
또한, 상기 장치의 종류에 따라 적당한 운영체제가 구축되어 있어야 한다.이러한 운영체제(OS)는 예를 들면, PC 또는 노트북의 경우에는 Windows, Linux, DOS 등이 될 수 있고, PDA의 경우에는 Win CE, Linux OS, Cellvic OS, Palm OS 등이 될 수 있다. 또한, 응용 프로그램으로서 워드프로세서, 주소록 프로그램, 웹브라우저(WAP 또는 ME와 같은)등이 될 수 있다.
본 발명에 사용되는 컴퓨팅 장치(100) 내에 저장되어 있는 모든 데이터는 입출력장치에서 입력/출력되는 기간을 제외하고는 항상 암호화되어 있는 상태에 있는 것이 바람직하다. 즉, 어떤 데이터를 출력장치(스크린 등)에서 보고자 요청하는 경우, 중앙연산장치는 요청이 있는 때에 비로소 메모리(RAM, 플래시롬, 하드디스크 등)에서 해당 데이터를 불러와 복호화하여 출력장치에 디스플레이한다.
이 때, 복호화된 데이터는 스크린(출력장치)과 디스플레이용 임시 메모리에만 있게 되며, 디스플레이가 끝나면 임시 메모리에 있던 복호화된 데이터는 즉시 삭제(Delete)된다. 여기서, "삭제(Delete)"라 함은 파일목록 테이블(File Allocation Table; FAT)에서 목록을 삭제하는 단순한 방식이 아니고, 원래 데이터 위치에 010101… 시퀀스 또는 난수로 1회 이상 덮어쓰고(Overwrite), 파일목록 테이블에서도 제거하는 것을 의미한다.
또한, 입력장치(120)를 이용하여 복호화된 데이터에 대한 편집을 수행하고, 편집된 데이터를 다시 저장하는 경우에도, 사용자가 저장명령을 내리면 그 즉시 함호화되어 메모리에 저장된다.
본 명세서에서는 암호화 또는 복호화를 할 때 대칭키(Symmetric Key) 기반의 암호 알고리즘을 이용하는 것이 바람직하다. 대칭키 기반의 암호알고리즘으로는DES, IDEA, AES, SEED 등이 있으며, 대칭키 기반의 암호 알고리즘에서는 암호화 할 때 및 복호화 할 때 동일한 키를 이용한다.
본 발명의 실시예에서는 사용자가 정한 비밀번호의 해쉬값을 중요 상수값으로 설정하여 설명하지만, 이에 한정되는 것은 아니다.
즉, 사용자가 장치를 최초 세팅할 때 비밀번호를 입력받아 이를 해싱(Hashing)하여 해쉬값 H(password)을 구한 후 이를 장치가 인식할 수 있는 특정 위치의 메모리에 저장한다.
해싱(Hashing)은 가변 길이의 데이터를 고정 길이의 값(Hash code)으로 변환시키는 해쉬함수(Hash Function)를 적용하는 것을 의미한다. 해쉬함수는 함호학 등의 분아에서 널리 이용되는 것으로, 다양한 가변 길이의 데이터에 적용될 수 있어야 하고, 고정된 길이의 출력(해쉬코드 또는 해쉬값)을 만들어야 하며, 동일한 입력값에 대해서는 동일한 해쉬값이 나와야 한다는 특징을 가진다. 또한, 해쉬값으로부터 입력값을 계산하는 것은 불가능하여야 하며, 동일한 해쉬값을 가지는 서로 다른 메시지 입력값이 없어야 한다. 이러한 해싱 알고리즘의 예로서 MD5, SHA-1 등이 있다.
이렇게 저장된 비밀번호의 해쉬값 H(password)은 장치의 부팅시나, 소정 어플리케이션의 실행시에 사용자 인증에 이용된다. 이에 관해서는 이하에서도 관련하여 상세하게 설명한다.
또한, 사용자의 임의의 입력행위, 예를 들면, 키입력(Key Stroke)간격, 터치스크린 입력 행위 등을 기초로 임의의 난수(Random Number)를 생성하여 이를 데이터에 대한 암호/복호키(Keydata)로 이용한다. 이러한, 암호/복호키는 그대로 메모리에 저장하면 유출될 우려가 있기 때문에, 전술한 비밀번호의 해쉬값 H(password)을 제 1 키로 하여 암호/복호키(Keydata)를 암호화함으로써 암호화된 암호/복호키 Eth(Keydata)를 생성하여 메모리의 특정 공간에 저장한다. 이를 정리하면 다음과 같다.
- 비밀번호에 대한 해쉬값 : H(password)
- 데이터 암호/복호키 : Keydata
- 암호화된 데이터 암호/복호키 : Eth(Keydata)
데이터 암호/복호키인 Keydata를 암호화할 때 사용되는 키인 H(password)의 크기는 암호화 알고리즘에 따라 조정될 필요가 있다. 예를 들면, 데이터 암호/복호키 Keydata를 AES 암호 알고리즘으로 암호화 하는 경우 암호키는 128비트가 필요하지만, 비밀번호를 해쉬할 때 SHA-1 방식을 이용하였다면 160비트의 해쉬값이 생성된다. 따라서, 이러한 경우에는 해쉬값 중 데이터 암호/복호키를 암호화하는 데 필요한 키의 길이만큼, 즉 위의 예의 경우 해쉬값 160비트 중 앞의 128비트만 사용할 수 있을 것이다.
도 2는 본 발명의 제 1 실시예에 의한 중요 상수값 보안 방법을 설명하기 위한 흐름도이다.
본 실시예에서는 전술한 비밀번호에 대한 해쉬값 H(password)을 중요 상수값
으로 가정한다.
우선, 상기 보안모듈에 포함되어 있고, 장치를 최초로 세팅하기 위한 장치 세팅 프로그램(Device Setting Program)을 실행하면(S211), 세팅 프로그램은 사용자로 하여금 비밀번호를 입력하도록 한다(S212). 사용자는 자신이 사용할 비밀번호(Password)를 선택하여, 키패드 등을 이용하여 입력한다(S213).
그러면, 세팅 프로그램은 입력된 비밀번호에 대한 해싱(Hashing)을 수행하여해쉬값 H(password)을 산출한다(S214). 본 실시예에서는 SHA-1 방식에 의하여 160비트 (20 바이트)의 해쉬값 H(password)이 생성되는 것으로 가정한다.
그 다음으로, 해쉬값보다 큰 연속된 메모리 공간, 예를 들면 1000바이트(M)의 메모리 공간을 확보하고(S215), 확보된 메모리 크기에서 해쉬값의 크기를 뺀 더미메모리 크기(DumHash=1000-20=980 바이트)를 구한다(S216). 그 다음으로, 0 부터 (DumHash - 1) 사이의 값 중에서 임의의 값인 확률 더미메모리 (PrDumHash) 값을 랜덤하게 생성하고(S217), PrDumHash 메모리 크기의 난수인 제 1 더미 상수값을 연속 생성한다(S218). 이 때, 생성 및 저장되는 더미 상수값은 완전 임의로 정해질 수 도 있으나, 해쉬값 H(password)을 기초(Seed)로 하여 생성되는 것이 바람직하다. 그 다음으로, 메모리 공간 중 0 부터 PrDumHash 번지까지의 메모리 공간에 앞서 생성된 제 1 더미 상수값을 저장한다(S219).
그리고, 확보된 메모리 공간 중 (PrDumHash+1) 번지부터 해쉬값 H(password)을 저장한다(S220).
그리고, 확보된 메모리 공간 중 빈 곳이 있는 경우(S221), 난수인 제 2 더미상수값을 생성하여 확보된 메모리의 잔여 공간에 저장한다(S222).
또한, 도시하지는 않았지만, 다른 실시예에서는 도 2에 의한 실시예의 S217까지 수행하여 (PrDumHash) 값을 랜덤하게 산출한 후에 이미 확보된 전체 메모리 공간 (0∼M)에 임의의 난수를 우선 저장하고, (PrDumHash+1) 번지부터 중요 상수값을 저장하는 방법이 있을 수 있다.
또다른 실시예에서는, 중요 상수값 (해쉬값)보다 큰 연속된 메모리 공간(0∼M)의 확보 후 우선 확보된 메모리 공간에 난수를 저장한 후, 상기 S216 및 S217단계를 수행하고, (PrDumHash+1) 번지부터 중요 상수값을 저장할 수 있다.
이상은, 세팅 프로그램의 실행 단계(Execution Step)에서 생성된 해쉬값이 저장된 물리적인 위치를 모르게 하는 중요 상수값 보안 방법이다. 이렇게 하면, 실행 파일의 크기가 1K 바이트 내외 증가할 수 있으나, 전체 프로그램의 크기에 비하면 무시할 수 있는 정도이므로 속도나 저장용량에 크게 영향을 미치지 아니한다. 또한, 해쉬값보다 큰 메모리 공간을 처음 확보할 때 (S215)에도 임의의 범위내에서 확률적으로 메모리 공간의 크기를 변하게 하여 확보할 수도 있다.
한편, 해쉬값의 물리적인 저장위치를 감추기 위한 또 다른 방식은 실행 프로그램을 생성하는 컴파일 단계에서 실행 프로그램의 크기와 순서를 변화함으로써 생성된 해쉬값의 저장위치를 모르게 하는 형태이다.
도 3은 본 발명의 제 2 실시예에 의한 중요 상수값 보안 방법을 설명하기 위한 도면으로서, 전술한 바와 같이 컴파일 단계에서 수행된다.
이 실시예에서는, 장치 세팅 프로그램의 소스 프로그램(Source Program) 내에 1 이상의 더미 상수값 생성 모듈을 호출하는 함수를 적절히 삽입함으로써, 실행 프로그램의 크기를 변하게 하고, 또한 의미 없는 더미 중요 상수값을 실행 프로그램내에 분포시키는 것이다. 이러한 더미 상수값 생성 모듈은 보호할 중요 상수값과 동일한 크기를 가지는 가변위치의 메모리 공간을 확보하고, 중요 상수값과 동일한 크기를 가지는 임의의 난수인 더미 상수값을 생성하여 확보된 메모리에 저장하는 기능을 수행한다. 또한, 더미 상수값 생성 모듈은 "확률"적으로 동작하도록 할 수도 있다. 즉, 더미 상수값 생성모듈이 호출되어 실행되더라도, 소정 조건이 되는 경우에는 생성된 더미 상수값을 저장하지 않도록 할 수도 있다는 것이다.
이러한 확률적 더미 상수값 생성모듈의 작동방식의 일예가 도 3a에 상세하게 도시되어 있다.
더미 상수값 생성 모듈이 호출되어 실행되면(S311), 우선 중요 상수값, 즉 해쉬값과 동일한 크기를 가지는 난수인 더미 상수값을 생성한다(S312). 그 다음으로 생성된 더미 상수값이 소정의 더미 상수값 저장 조건을 만족하는 지를 판단하고(S313), 더미 상수값 저장 조건을 만족하는 경우에 한하여, 더미 상수값 크기의 메모리를 확보한 후 생성된 더미 상수값을 저장한다(S314).
본 실시예에서는 생성된 더미 상수값(난수)이 짝수이냐 홀수이냐를 판단하고, 짝수인 경우를 더미 상수값 저장조건으로 가정하였으나, 반드시 이러한 방식 또는 조건이 아니어도 무방하다. 다만, 확률적 더미 상수 생성모듈은 생성된 더미 상수를 랜덤하게 저장하거나 저장하지 않도록 기능 하여야 할 것이다.
도 3b는 본 발명의 제 2 실시예에 의한 중요상수값 보안 방법의 과정의 일예를 도시하는 것이다.
구체적으로 살펴보면, 우선 장치의 초기화를 위한 장치 세팅 프로그램의 실행파일 생성을 위한 컴파일이 시작되고(S321), 바로 도 3a와 같은 기능의 더미 상수값 생성 모듈이 호출되어, 더미 상수값이 메모리에 저장될 수 있다(S322). 물론, 더미 상수값 저장조건이 아닌 경우에는 모듈의 실행에도 불구하고 생성된 더미 상수값이 저장되지 않을 수 있다.
그 다음으로, 최초 사용자로 하여금 비밀번호를 입력하게 하고(S323), 다시 확률적 더미 상수값 생성모듈이 호출된다(S324). 보안모듈 또는 세팅 프로그램은 입력된 비밀번호에 대한 해쉬값을 산출한 후(S325), 다시 더미 상수값 생성모듈을 호출하도록 한다(S326).
최종적으로 실제 해쉬값을 프로그램이 판별할 수 있는 특정 메모리 위치에 저장하고 종료한다(S327).
이상에서는 흐름도의 각 단계 사이에 더미 상수값 생성 모듈이 호출되는 것으로 설명하였으나, 호출되는 시기 또는 회수는 반드시 이에 한정될 필요는 없으며, 메모리 용량, 보안 필요성 등에 따라 달리 정해질 수 있다. 즉, 각 단계를 구성하는 프로그램 내에서도 각 실행문 사이에 무수히 많은 더미 상수값 생성모듈 호출 함수르 삽입할 수 있을 것이다. 또한 실제 해쉬값을 메모리에 저장(S327)한 후에도 더미 상수값 생성모듈을 삽입할 수 있다.
결과적으로, CD-ROM, 온라인 등을 통하여 제공된 장치 세팅 프로그램 또는 보안 모듈 프로그램이 컴퓨팅 장치내에 설치될 때, 실행 프로그램 중간 중간에 의미없는 난수들이 다수 삽입됨으로써 어느 것이 실제 중요 상수값(해쉬값)인지 파악하기 힘들게 하는 것이다.
물론, 전술한 제 1 실시예 및 제 2 실시예에 의한 방법을 동시에 이용할 수 있다. 즉, 장치 세팅 소스 프로그램에 더미 상수값 생성모듈을 다수 삽입하여 컴파일 도중에 1회 이상 더미 상수값 생성모듈을 호출하여 확률적으로 더미 상수값을 여러 군데 저장하는 방식과, 장치 세팅 소스 프로그램에 적용하여 장치 세팅 실행시 해쉬값보다 큰 메모리 공간을 확보한 후 일정부분을 난수로 채우고 일정 부분에 실제 해쉬값을 저장함이 동시에 이용될 수도 있다는 것이다.
사용자가 비밀번호를 장치 세팅 이후에 변경하는 것을 허용할 경우에는 메모리에 저장된 중요 상수값뿐만 아니라 더미 상수값들도 함께 변경하는 것이 바람직하다. 이는 비밀번호 변경 모듈에서 도 4의 S212 이하의 중요 상수값 산출과 그의 저장 단계들을 다시 수행함으로써 가능하다.
도 4는 전술한 바와 같은 방식으로 저장된 해쉬값을 이용하여 장치의 인증을 수행하기 위한 흐름을 도시한다.
장치의 전원이 온(ON)되면 장치 구동 프로그램 또는 운영체제(OS)는 사용자로 하여금 비밀번호를 입력하도록 요청한다(S411, S412). 입력된 비밀번호를 정해진 방식에 의하여 해싱(Hashing)하여 비밀번호에 대한 해쉬값 H(input)을 구한다(S413). 그 다음, 도 2 또는 도 3에서와 같이 장치 세팅시에 저장되어 있던 비밀번호의 해쉬값 H(password)을 읽어온 후(S414), 입력된 해쉬값 H(input)과 비교하여 동일한 지 판단하고(S415), 동일한 경우에 한하여 장치에 대한 접근을 수행한다(S416).
장치에 대한 접근이 허락된 후에는 저장되어 있는 데이터에 자유롭게 접근하도록 할 수도 있으나, 확실한 보안을 위하여 데이터마다 접근을 제한할 수도 있다.
도 5는 도 2 및 도 3과 같은 방식의 해쉬값 보안 저장과는 별도로, 데이터의 암호/복호에 필요한 암호/복호키를 생성하여 저장하는 과정을 도시하는 것이다.
장치의 초기 세팅시에 도 2의 단계 S214 및 도 3b의 단계 S325에 의하여 비밀번호에 대한 해쉬값 H(password)이 산출되면, 도 5와 같은 과정을 수행하는 "암호/복호키 생성 프로그램"이 구동된다(S511).
암호/복호키 생성 프로그램은 사용자의 임의의 입력 행위, 즉 키입력(Key Stroke) 간격 또는 터치스크린으로의 입력 방식을 기초로 난수를 생성한 후(S512), 그 난수를 데이터 암호/복호를 위한 키, 즉 데이터 암호/복호키(Keydata)로 설정한다(S513).
그 다음으로, 앞에서 구한 비밀번호에 대한 해쉬값을 키로 소정의 암호화 알고리즘을 구동하여, 데이터 암호/복호키(Keydata)를 암호화한다(S514). 암호화된 데이터 암호/복호키(Eth(Keydata))는 장치 내의 각종 프로그램이 인지할 수 있는 특정위치에 저장된다(S515).
이렇게 저장된 암호화된 데이터 암호/복호키(Eth(Keydata))는 인증에 성공한 인가자가 데이터에 접근하고자 할 때, 저장된 곳으로부터 읽혀와서 복호화(Keydata)된 후 필요한 데이터를 복호화하는데 사용된다.
물론, 개별적인 데이터에 대한 보안이 필요한 경우에는, 해당 데이터로의 접근요청이 있는 경우 다시 비밀번호를 입력하게 함으로써 보안성을 향상시킬 수 있다.
이상에서는, 비밀번호에 대한 해쉬값 H(password)을 중요 상수값으로 가정하여 설명하였으나, 본 발명은 이에 한정되는 것은 아니며, 컴퓨팅 장치의 인증, 접근, 암호/복호화 등에 이용될 수 있는 모든 중요 상수값에 적용될 수 있을 것이다. 예를 들면, 위와 같은 실시예에서 데이터의 암호/복호키 등에 대해서도 본 발명을 적용할 수 있을 것이다.
본 발명을 이용하면, 보안이 필요한 각종 컴퓨팅 장치의 인증 또는 접근 제어에 이용되는 중요한 상수값의 물리적 저장위치를 감춤으로써 비인가자의 접근을 방지할 수 있다.
또한, 저장되는 모든 데이터를 암호화하여 저장·관리하고, 출력되는 경우에 한시적으로 복호화하여 보여줌으로써, 보안성을 더욱 향상시킬 수 있다.

Claims (13)

  1. 컴퓨팅 장치의 인증·접근 제어 등에 이용되는 중요 상수값을 컴퓨팅 장치의 저장부에 안전하게 저장하는 방법으로서,
    상기 중요 상수값을 추출하여 저장부의 특정 위치에 저장하는 중요 상수값 추출 및 저장단계;
    상기 중요 상수값에 대응될 수 있는 1 이상의 난수(Random Number)로 이루어지는 더미 상수값을 생성하여, 상기 저장부의 불특정의 가변위치에 저장하는 더미 상수값 생성 및 저장단계;를 포함하는 것을 특징으로 하는 컴퓨팅 장치의 중요 상수값 보안 방법.
  2. 제 1 항에 있어서,
    상기 더미 상수값 생성 및 저장단계는 장치의 세팅 프로그램 실행시 수행되며,
    저장부에 중요 상수값보다 큰 메모리 공간(M)을 확보한 후, 확보된 메모리 공간 중 불특정 위치에 중요 상수값을 저장하고, 나머지 공간에는 더미 상수값을 저장하는 것을 특징으로 하는 컴퓨팅 장치의 중요 상수값 보안 방법.
  3. 제 2 항에 있어서,
    상기 더미 상수값 생성 및 저장단계는,
    상기 중요 상수값보다 큰 연속된 메모리 공간(0∼M)을 확보하는 제 1 단계와,
    상기 확보된 메모리 공간 크기에서 중요 상수값의 크기(m)를 뺀 더미메모리 크기(DumHash=M-m)를 구하는 제 2 단계와,
    0 부터 (DumHash - 1) 사이의 값 중에서 임의의 값인 확률 더미메모리 (PrDumHash) 값을 랜덤하게 산출하는 제 3 단계와,
    해쉬값을 기초(Seed)로 하여 확보된 메모리 크기의 임의의 난수를 생성하여 확보된 메모리 공간에 저장하는 제 4 단계, 및
    상기 확보된 메모리 공간 중 (PrDumHash+1) 번지부터 중요 상수값을 저장(덮어쓰기)하는 제 5 단계를 포함하는 것을 특징으로 하는 컴퓨팅 장치의 중요 상수값 보안 방법.
  4. 제 2 항에 있어서,
    상기 더미 상수값 생성 및 저장단계는,
    상기 중요 상수값보다 큰 연속된 메모리 공간(0∼M)을 확보하는 제 1 단계와,
    해쉬값을 기초(Seed)로 하여 확보된 메모리 크기의 임의의 난수를 생성하여 확보된 메모리 공간에 저장하는 제 2 단계와,
    상기 확보된 메모리 공간 크기에서 중요 상수값의 크기(m)를 뺀 더미메모리크기(DumHash=M-m)를 구하는 제 3 단계와,
    0 부터 (DumHash - 1) 사이의 값 중에서 임의의 값인 확률 더미메모리 (PrDumHash) 값을 랜덤하게 산출하는 제 4 단계, 및
    상기 확보된 메모리 공간 중 (PrDumHash+1) 번지부터 중요 상수값을 저장(덮어쓰기)하는 제 5 단계를 포함하는 것을 특징으로 하는 컴퓨팅 장치의 중요 상수값 보안 방법.
  5. 제 2 항에 있어서,
    상기 더미 상수값 생성 및 저장단계는,
    상기 중요 상수값보다 큰 연속된 메모리 공간(0∼M)을 확보하는 제 1 단계와,
    상기 확보된 메모리 공간 크기에서 중요 상수값의 크기(m)를 뺀 더미메모리 크기(DumHash=M-m)를 구하는 제 2 단계와,
    0 부터 (DumHash - 1) 사이의 값 중에서 임의의 값인 확률 더미메모리 (PrDumHash) 값을 랜덤하게 산출하는 제 3 단계와,
    해쉬값을 기초(Seed)로 하여 확률 더미메모리(PrDumHash) 크기의 난수인 제 1 더미 상수값을 연속 생성하는 제 4 단계와,
    상기 확보된 메모리 공간 중 0 부터 PrDumHash 번지까지의 메모리 공간에 생성된 제 1 더미 상수값을 저장하는 제 5 단계와,
    (PrDumHash+1) 번지부터 중요 상수값을 저장하는 제 6 단계, 및,
    확보된 메모리 공간 중 빈 곳이 있는 경우, 난수인 제 2 더미 상수값을 생성하여 확보된 메모리의 빈 공간에 저장하는 제 7 단계를 포함하는 것을 특징으로 하는 컴퓨팅 장치의 중요 상수값 보안 방법.
  6. 제 1 항에 있어서,
    상기 더미 상수값 생성 및 저장단계는 장치의 세팅 프로그램의 컴파일 단계에서 수행되며,
    소정 시간 또는 프로시저(Procedure)마다 더미 상수값 생성모듈을 호출함으로써 수행되며, 상기 더미 상수값 생성모듈은,
    상기 중요 상수값과 동일한 크기를 가지는 가변적인 메모리 공간을 확보하는 제 1 단계와,
    상기 중요 상수값과 동일한 크기를 가지는 임의의 난수인 더미 상수값을 생성하는 제 2 단계와,
    생성된 더미 상수값을 확보한 메모리에 저장하는 제 3 단계를 포함하는 것을 특징으로 하는 컴퓨팅 장치의 중요 상수값 보안 방법.
  7. 제 6 항에 있어서,
    상기 더미 상수값 생성모듈은 생성된 더미 상수값이 소정의 더미 상수값 저장 조건을 만족하는 지를 판단하고, 더미 상수값 저장 조건을 만족하는 경우에 한하여, 생성된 더미 상수값을 확보된 메모리에 저장하는 것을 특징으로 하는 컴퓨팅 장치의중요 상수값 보안 방법.
  8. 제 2 항 내지 제 7 항 중 하나의 항에 있어서,
    상기 중요 상수값은 장치의 인증/접근 제어에 이용되는 사용자 비밀번호에 대한 해쉬값인 것을 특징으로 하는 컴퓨팅 장치의 중요 상수값 보안 방법.
  9. 컴퓨팅 장치의 인증/접근 제어방법으로서,
    컴퓨팅 장치의 인증/접근 제어에 이용되는 중요 상수값을 추출하여 장치 저장부의 특정 위치에 저장하는 중요 상수값 추출 및 저장단계와,
    상기 중요 상수값에 대응될 수 있는 1 이상의 난수(Random Number)로 이루어지는 더미 상수값을 생성하여, 상기 저장부의 불특정의 가변위치에 저장하는 더미 상수값 생성 및 저장단계; 및,
    장치의 인증 또는 접근 요청이 있는 경우 요청 입력으로부터 추출된 상수값이 상기 저장된 중요 상수값과 일치하는지 판단하고, 일치하는 경우에 한하여 인증 또는 접근을 허락하는 인증/접근 허락 단계를 포함하는 것을 특징으로 하는 컴퓨팅 장치의 인증 및 접근 제어 방법.
  10. 제 9 항에 있어서,
    상기 더미 상수값 생성 및 저장단계는 장치의 세팅 프로그램 실행시 수행되며,
    저장부에 중요 상수값보다 큰 메모리 공간(M)을 확보한 후, 확보된 메모리 공간 중 불특정 위치에 중요 상수값을 저장하고, 나머지 공간에는 더미 상수값을 저장하는 것을 특징으로 하는 컴퓨팅 장치의 중요 상수값 보안 방법.
  11. 제 9 항에 있어서,
    상기 더미 상수값 생성 및 저장단계는 장치의 세팅 프로그램의 컴파일 단계에서 수행되며,
    소정 시간 또는 프로시저(Procedure)마다 더미 상수값 생성모듈을 호출함으로써 수행되며, 상기 더미 상수값 생성모듈은,
    상기 중요 상수값과 동일한 크기를 가지는 가변적인 메모리 공간을 확보하는 제 1 단계와,
    상기 중요 상수값과 동일한 크기를 가지는 임의의 난수인 더미 상수값을 생성하는 제 2 단계와,
    생성된 더미 상수값을 확보한 메모리에 저장하는 제 3 단계를 포함하는 것을 특징으로 하는 컴퓨팅 장치의 인증 및 접근 제어 방법.
  12. 제 11 항에 있어서,
    상기 더미 상수값 생성모듈은 생성된 더미 상수값이 소정의 더미 상수값 저장 조건을 만족하는 지를 판단하고, 더미 상수값 저장 조건을 만족하는 경우에 한하여, 생성된 더미 상수값을 확보된 메모리에 저장하는 것을 특징으로 하는 컴퓨팅장치의 인증 및 접근 제어 방법.
  13. 제 10 항 내지 제 12 항 중 하나의 항에 있어서,
    상기 중요 상수값은 장치의 인증/접근 제어에 이용되는 사용자 비밀번호에 대한 해쉬값인 것을 특징으로 하는 컴퓨팅 장치의 인증 및 접근 제어 방법.
KR1020020025957A 2002-05-10 2002-05-10 컴퓨팅 장치의 인증/접근 제어에 사용되는 중요 상수값의보안 방법 및 그를 이용한 인증/접근 제어 방법 KR20030087873A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020025957A KR20030087873A (ko) 2002-05-10 2002-05-10 컴퓨팅 장치의 인증/접근 제어에 사용되는 중요 상수값의보안 방법 및 그를 이용한 인증/접근 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020025957A KR20030087873A (ko) 2002-05-10 2002-05-10 컴퓨팅 장치의 인증/접근 제어에 사용되는 중요 상수값의보안 방법 및 그를 이용한 인증/접근 제어 방법

Publications (1)

Publication Number Publication Date
KR20030087873A true KR20030087873A (ko) 2003-11-15

Family

ID=32382391

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020025957A KR20030087873A (ko) 2002-05-10 2002-05-10 컴퓨팅 장치의 인증/접근 제어에 사용되는 중요 상수값의보안 방법 및 그를 이용한 인증/접근 제어 방법

Country Status (1)

Country Link
KR (1) KR20030087873A (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010010189A (ko) * 1999-07-16 2001-02-05 윤종용 보안 기능을 갖는 컴퓨터 시스템
JP2001344037A (ja) * 2000-06-01 2001-12-14 Sharp Corp 情報処理装置及び情報処理プログラムを記録した記録媒体
KR20020030437A (ko) * 2000-10-17 2002-04-25 심정철 이동형 반도체 보조 기억장치
KR20020079349A (ko) * 2001-04-09 2002-10-19 피닉스 테크놀로지 리미티드 컴퓨터 디바이스 인증을 위한 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010010189A (ko) * 1999-07-16 2001-02-05 윤종용 보안 기능을 갖는 컴퓨터 시스템
JP2001344037A (ja) * 2000-06-01 2001-12-14 Sharp Corp 情報処理装置及び情報処理プログラムを記録した記録媒体
KR20020030437A (ko) * 2000-10-17 2002-04-25 심정철 이동형 반도체 보조 기억장치
KR20020079349A (ko) * 2001-04-09 2002-10-19 피닉스 테크놀로지 리미티드 컴퓨터 디바이스 인증을 위한 방법 및 시스템

Similar Documents

Publication Publication Date Title
US6986050B2 (en) Computer security method and apparatus
US9336402B2 (en) Secure data in removable storage devices via encryption token(s)
CN101953113B (zh) 对可漫游凭证存储的安全且可用保护
US7912223B2 (en) Method and apparatus for data protection
US9077710B1 (en) Distributed storage of password data
US7797549B2 (en) Secure method and system for biometric verification
EP1295261B1 (en) Biometric-based authentication in a non-volatile memory device
CN107077469B (zh) 服务器装置、检索系统、终端装置以及检索方法
US6845908B2 (en) Storage card with integral file system, access control and cryptographic support
US20050027997A1 (en) Protection key and a method for reissuance of a protection key
US20070271465A1 (en) Method of Authentication by Challenge-Response and Picturized-Text Recognition
EP2037389A1 (en) An electronic file protection system having one or more removeable memory devices
CN103607420A (zh) 面向云存储的安全电子医疗系统
CN111614467A (zh) 系统后门防御方法、装置、计算机设备和存储介质
US20090067624A1 (en) System and method of protecting content of an electronic file using a computer
US7085933B2 (en) Computer system apparatus and method for improved assurance of authentication
Tan et al. A Deep Exploration of BitLocker Encryption and Security Analysis
JP2008160325A (ja) リムーバブル・デバイスを用いたユーザの認証方法およびコンピュータ
Khashan et al. ImgFS: a transparent cryptography for stored images using a filesystem in userspace
CN111475690A (zh) 字符串的匹配方法和装置、数据检测方法、服务器
KR20030087873A (ko) 컴퓨팅 장치의 인증/접근 제어에 사용되는 중요 상수값의보안 방법 및 그를 이용한 인증/접근 제어 방법
US20090077377A1 (en) System and method of protecting content of an electronic file for sending and receiving
KR20030087874A (ko) 컴퓨팅 장치의 등급별 데이터 보안 방법
Lee et al. A secure solution for USB flash drives using FAT file system structure
US20090070580A1 (en) Portable electronic file protection system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee