KR101446377B1 - 프리부트 로그인의 지원 방법 및 시스템 - Google Patents

프리부트 로그인의 지원 방법 및 시스템 Download PDF

Info

Publication number
KR101446377B1
KR101446377B1 KR1020107025864A KR20107025864A KR101446377B1 KR 101446377 B1 KR101446377 B1 KR 101446377B1 KR 1020107025864 A KR1020107025864 A KR 1020107025864A KR 20107025864 A KR20107025864 A KR 20107025864A KR 101446377 B1 KR101446377 B1 KR 101446377B1
Authority
KR
South Korea
Prior art keywords
password
user
keyboard
login
preboot
Prior art date
Application number
KR1020107025864A
Other languages
English (en)
Other versions
KR20110021787A (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 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피.
Publication of KR20110021787A publication Critical patent/KR20110021787A/ko
Application granted granted Critical
Publication of KR101446377B1 publication Critical patent/KR101446377B1/ko

Links

Images

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/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
    • 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/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
    • 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/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

일실시예에서, 프리부트 로그인을 지원하는 방법 및 시스템은, 프리부트 로그인에서의 사용을 위해 사용자에 의해 선택된 패스워드를 수신하고, 컴퓨터 시스템의 부팅 완료 전에 사용자에 의해 패스워드가 입력될 수 있는지를 결정하고, 부팅의 완료 전에 사용자에 의해 패스워드가 입력될 수 없으면, 패스워드가 수용 불가함을 통지한다.

Description

프리부트 로그인의 지원 방법 및 시스템{SYSTEMS AND METHODS FOR SUPPORTING PRE-BOOT LOG IN}
현재, 컴퓨터를 조작할 수 있기 전에 사용자의 로그인을 요구하는 것이 일반적이다. 이러한 로그인은, 통상, 운영 시스템 환경 내에서 수행된다. 즉, 로그인은 컴퓨터가 부팅되고 나서 운영 시스템이 실행중일 때에 수행된다. 따라서, 운영 시스템, 또는 그 운영 시스템 환경 내에서 실행중인 프로그램은 로그인을 제어하고 사용자를 인증한다.
최근, BIOS(basic input/output system)의 제어 하에서 컴퓨터가 부팅되기 전에, 보안 로그인을 수행하는 것이 제안되었다. 프리부트(pre-boot) 스테이지 중에 로그인을 수행함으로써, 승인되지 않은 사용자가 운영 시스템뿐만 아니라 하드 드라이브와 같은 컴퓨터의 하드웨어에 액세스하는 것을 금지할 수 있다. 프리부트 로그인이 매력적이지만, 그것을 구현함에 있어서 문제점들이 있다. 예컨대, 운영 시스템 환경에서 사용될 수 있는 유니코드 패스워드가, BIOS 환경에서 완전히 지원되지 않을 수가 있다. 구체적으로, 물리적 키보드를 이용하여 사용자에 의해 패스워드의 문자가 직접 입력될 수 없으면, 그 패스워드는 BIOS 환경에서 사용자에 의해 입력될 수 없다. 이러한 경우에, 컴퓨터는 부팅되지 않아서 잠재적으로 사용 불가로 될 수 있다.
개시된 시스템 및 방법은 이하의 도면을 참조하여 보다 잘 이해될 수 있다. 도면에서의 구성요소는 반드시 실제 크기로 된 것은 아니다.
도 1은 프리부트 로그인을 지원하는 컴퓨터 시스템의 실시형태의 블록도,
도 2a 및 2b는 프리부트 로그인을 지원하는 방법의 실시형태를 나타내는 흐름도,
도 3a 및 3b는 도 1에 도시된 BIOS 보안 관리자의 조작의 제 1 실시형태를 나타내는 흐름도,
도 4는 도 1에 도시된 BIOS 보안 관리자의 조작의 제 2 실시형태를 나타내는 흐름도.
상기한 바와 같이, 승인된 사용자가, 운영 시스템 환경 내에서 선택된 패스워드를 BIOS 환경에서 입력할 수 없는 경우, 프리부트 로그인이 요구되면, 사용자는 컴퓨터 시스템의 부팅이 금지될 것이다. 이하에 기재된 바와 같이, 이러한 상황은, 패스워드 선택시에 사용자의 키보드를 이용해서 패스워드가 실제로 직접 입력될 수 있음을 확인함으로써 방지될 수 있다. 또한, 일부 실시예에서는, 추정되는 키보드 레이아웃이 사용자의 실제 키보드 레이아웃과 일치하지 않는 상황을 설명하기 위해, 가상 또는 "소프트(soft)" 키보드를 사용자에게 표시할 수도 있다.
여러 관점에서 대응하는 부분에 동일한 참조번호를 사용하는 도면을 참조해 보면, 도 1은 프리부트 로그인을 지원하는 예시적인 컴퓨터 시스템(100)을 나타낸다. 여기서 사용되는 바와 같이, "프리부트 로그인"이란, 컴퓨터 시스템이 부팅을 완료하기 전에 또한 운영 시스템이 실행되기 전에, BIOS의 제어 하에서 수행되는 로그인 절차이다.
컴퓨터 시스템(100)은 다수의 상이한 구성 중 어느 하나를 갖을 수 있다. 예컨대, 시스템(100)은, 데스크탑 컴퓨터, 노트북 컴퓨터, 서버 컴퓨터, 또는 휴대용 컴퓨팅 디바이스 등으로서 구성될 수 있다. 그에 상관없이, 도 1의 실시예에서는, 컴퓨터 시스템(100)은 처리 디바이스(102), 메모리(104), 사용자 인터페이스(106), 및 적어도 하나의 I/O 디바이스(108)를 구비하고, 이들 각각은 로컬 인터페이스(110)에 연결되어 있다. 처리 디바이스(102)는 메모리 내에 저장된 명령을 실행하는 CPU(central processing unit) 또는 반도체 기반의 마이크로프로세서를 구비할 수 있다. 메모리(104)는 휘발성 메모리 소자(예를 들어, RAM 모듈)와 비휘발성 메모리 소자(예를 들어, 하드디스크, ROM 모듈 등) 중 어느 하나 또는 이들의 조합을 포함한다.
사용자 인터페이스(106)는 사용자가 컴퓨터 시스템(100)과 상호 작용을 하는 구성요소를 구비한다. 사용자 인터페이스(106)는, 예컨대, 키보드, 마우스, 및, LCD(liquid crystal display)와 같은 디스플레이를 구비할 수 있다. 하나 이상의 I/O 디바이스(108)는 다른 디바이스와의 통신을 가능하게 하고, 변조기/복조기(예를 들어, 모뎀), 무선 디바이스(예를 들어, RF 트랜시버), 네트워크 카드 등과 같은 하나 이상의 통신 구성요소를 포함할 수 있다.
메모리(104)는, BIOS(112)을 포함한 다양한 프로그램들(즉, 로직), 운영 시스템(114), 및 운영 시스템 환경 내에서 실행하도록 구성된 하나 이상의 사용자 애플리케이션(116)을 포함한다. BIOS(112)는 일반적으로 컴퓨터 시스템(100)을 부팅시키고, 운영 시스템(114)과 같은 다른 프로그램들이 시스템의 제어를 담당할 수 있도록 한다. 도 1에 도시된 바와 같이, BIOS(112)는, 이하에 보다 상세히 설명되는 바와 같이, 컴퓨터 시스템(100) 상에서 프리부트 로그인을 지원하는 보안 관리자(118)를 포함한다. 일부 실시예에서, 상기 보안 관리자(118)는, 운영 시스템(114)의 보안 관리자(122)와 협력하여, 프리부트 로그인 프로세스에서의 사용자에 의해 선택된 패스워드가 수용가능함을 확인한다. 일부 실시예에서, 그 결정은, BIOS(112)의 키보드 레이아웃 테이블(120)과 관련하여, BIOS 보안 관리자(118)에 의해 이루어진다. 또한, 이하에 기재된 바와 같이, 일부 실시예에서, BIOS 보안 관리자(118)에 의해 추정된 키보드 레이아웃이 사용자의 실제 물리적 키보드 레이아웃과 일치하지 않는 불일치 또는 부분적 차이가 있는 경우에, 사용자가 자신의 패스워드를 통신할 수 있도록, BIOS 보안 관리자(118)는 가상 또는 소프트 키보드를 표시할 수 있다.
도 2a 및 2b는 프리부트 로그인을 지원하는 예시적인 방법을 도시한다. 도 2a의 블록 200으로 시작해서, 사용자는 운영 시스템 환경 내에서 프리부트 패스워드의 설정을 선택한다. 예를 들면, 우선, 사용자의 컴퓨터 시스템(100)이 부팅하기 전에 BIOS(112)에 의해 요구될 패스워드를 사용자가 설정할 수 있다. 한편, 사용자는 기존의 프리부트 로그인 패스워드를 변경할 수도 있다. 양쪽의 경우에, 블록 202에 표시된 바와 같이, 사용자는 운영 시스템(114)을 이용하여, 예를 들어 운영 시스템 "마법사" 또는 유사한 유틸리티를 이용하여 패스워드를 입력한다. 사용자는 다양한 방법을 이용해서 패스워드를 입력할 수 있다. 예를 들면, 사용자는 단순히 패스워드를 타이핑할 수도 있다. 이와 달리, 사용자는 소정의 소스(예를 들어, 문서, 웹페이지 등)로부터 패스워드를 복사하여, 운영 시스템에 의해 제공된 입력 블록으로 붙일 수도 있다.
다음에 블록 204를 참조하면, 패스워드가 입력되었으면, 운영 시스템(114)은 사용자의 키보드 레이아웃의 표시와 함께 패스워드를 BIOS(112)로 전달한다. 그 정보에 의해, 블록 206에 표시된 바와 같이, BIOS(112)는 사용자의 키보드 레이아웃을 BIOS가 지원하는지를 결정할 수 있다. 즉, BIOS(112)는 사용자의 물리적 키보드의 레이아웃의 상세를 예를 들어 키보드 레이아웃 테이블(120)에 저장할지를 결정할 수 있다. 키보드 레이아웃에서의 차이의 예시는,
Figure 112010075441792-pct00001
문자를 필요로 할 수 있는 스페인어 키보드와 그 문자를 사용하지 않는 영어 키보드 사이의 차이다. 따라서, 2개의 상이한 키보드는 상이한 문자, 상이한 물리적 위치에서의 공통 문자, 및/또는 상이한 다수의 키를 가질 수 있고, 이들 각각은 엔드 사용자의 상이한 방식의 타이핑을 초래한다. 결정 블록 208과 관련하여, 키보드 레이아웃이 지원되면, 흐름은 도 2b의 블록 214로 진행한다. 한편, 키보드 레이아웃이 BIOS(102)에 의해 지원되지 않으면, 사용자의 키보드 레이아웃이 지원되지 않음을 운영 시스템에게 통지하기 위해, 흐름은 운영 시스템(114)에게 경고를 보내는 블록 210으로 계속된다. 다음에, 운영 시스템(114)은 블록 212에 표시된 바와 같은 취지를 사용자에게 통지한다. 그때, 사용자는 자신의 키보드 레이아웃을 변경하여 패스워드 선택을 재시도할 수 있거나, 또는 단순히 차후에 프리부트 로그인을 사용하지 못하도록 선택할 수 있다.
BIOS(112)가 사용자의 키보드 레이아웃을 지원한다고 가정하면, 도 2b의 블록 214에 표시된 바와 같이, BIOS는 사용자에 의해 입력된 패스워드가 사용자의 키보드를 이용해서 직접 입력될 수 있는지를 결정한다. 특히, 간접적으로 입력되는 것과는 반대로, 지정된 키보드 레이아웃의 하나 또는 복수의 키보드 키의 선택을 통해서, 패스워드의 각각의 문자가 직접 입력(타이핑)될 수 있는지를 결정한다. 간접적인 입력의 예시는, 붙여진 문자 또는 문자 스트링의 개개의 문자들이 실제로 타이핑되는 것이 아니라, BIOS 환경에서 입수 불가능한 별도의 소스로부터 복사되는, 복사하기/붙이기 기능의 사용을 포함한다. 간접적인 입력의 다른 예시는, 이러한 표현을 작동시키는 하나 이상의 키보드 키를 입력한 후에, 사용자에게 제시된 문자 또는 심볼(예를 들어, 중국어 단어 또는 구문)의 선택을 포함한다. 그 상황에서, 문자 또는 기호는 또한 사용자에 의해 실제로 타이핑되지 않고, 또한 이러한 기능은 BIOS 환경에서 입수 불가능하다. 따라서, 각각의 문자가 사용자에 의해 타이핑될 수 있고 BIOS(112)에 의해 인식될 수 있는 것인지를 결정한다. 특히, 운영 시스템(114)이 수천개 또는 심지어 수만개의 유니코드 문자들을 인식하도록 구성될 수 있는 반면에, BIOS(112)의 성능은 훨씬 더 제한적일 수 있다. 사용자가 영어(예를 들어, U.S.) 키보드를 이용하는 경우에, 거부될 수 있는 문자의 예시는, 중국어 문자이다. 왜냐하면, 영어 키보드는 중국어 문자를 생성할 수 없기 때문이다.
다음에, 결정 블록 216과 관련하여, 패스워드의 모든 문자가 키보드를 이용해서 직접 입력될 수 있고, BIOS(112)에 의해 인식될 수 있다고 가정하면, 이하에 설명되는 블록 226으로 흐름이 내려간다. 그러나, 그들 하나 이상의 문자들이 키보드를 이용하여 직접 입력될 수 없으면, BIOS(112)가 그 패스워드가 프리부트 로그인에서의 사용을 위해 수용 불가능함을 전달하는 경고를, 운영 시스템으로 보내는 블록 218로 흐름이 계속된다. 그 후, 운영 시스템(114)은, 블록 220에 표시된 바와 같이, 사용자에게 새로운 패스워드를 선택하게 할 수 있다. 선택적으로, 운영 시스템은 이전의 패스워드가 수용불가능했던 이유를 추가로 확인할 수 있고, 또한, 사용자의 키보드를 이용하여 직접 입력(즉, 타이핑)될 수 있는 패스워드의 문자를 사용자가 선택하도록 추가로 요구할 수 있다.
사용자가 패스워드 설정시에 다른 시도를 하고자 하면, 블록 222에 도시된 바와 같이, 사용자는 운영 시스템(114)을 이용하여 다른 패스워드를 입력할 수 있고, 블록 224에 표시된 바와 같이, 운영 시스템은 그 패스워드를 BIOS(112)로 다시 전달할 수 있다. 그 후, BIOS(112)가 패스워드를 다시 고려하는 블록 214로 흐름이 되돌아갈 수 있다. 사용자에 의해 선택된 새로운 패스워드가 수용가능하다고 가정하면, BIOS(112)가 수용 메시지를 운영 시스템(114)으로 보내는 블록 226으로 흐름이 계속된다. 수용 메시지가 수신되면, 블록 228에 표시된 바와 같이, 운영 시스템(114)은 새로운 프리부트 패스워드를 설정할 수 있고, 그에 따라 컴퓨터 시스템(100)이 개시되는 다음번에 프리부트 로그인을 수행할 수 있다.
도 3a 및 3b는 프리부트 로그인을 지원함에 있어서 BIOS 보안 관리자(118)(도 1)의 동작의 예시를 나타낸다. 도 3a의 블록 300으로 시작해서, BIOS 보안 관리자(118)는 운영 시스템(114), 예컨대 운영 시스템의 보안 관리자(122)로부터 통신을 대기한다. 블록 302에서, BIOS 보안 관리자(118)는 운영 시스템(114)으로부터 키보드 레이아웃 ID를 수신한다. 예컨대, 그 ID는, 운영 시스템 환경 내에서 사용자에 의해 수행되는 프리부트 로그인의 셋업 절차의 일부분으로서 BIOS 보안 관리자(118)에 대해 제시된다. 그 후, 블록 304에 표시된 바와 같이, 사용자의 키보드 레이아웃이 BIOS(112)에 의해 지원되는지를 결정하기 위해, BIOS 보안 관리자(118)는 키보드 레이아웃 테이블(120)에서 키보드 레이아웃 ID를 검색한다. 결정 블록 306과 관련하여, 키보드 레이아웃 ID가 테이블(120)에 없으면, 블록 308에 표시된 바와 같이, BIOS 보안 관리자(118)는 운영 시스템(114)으로 거부 통지를 보내고, 사용자의 현재 키보드 레이아웃으로 프리부트 로그인이 불가능하기 때문에 그 세션에 대한 흐름은 종료된다.
또한 결정 블록 306과 관련하여, 키보드 레이아웃 ID가 키보드 테이블(120) 내에 있으면, BIOS(112)가 그 레이아웃을 지원함을 의미하여, 흐름은, BIOS 보안 관리자(118)가 사용자에 의해 선택된 패스워드를 운영 시스템(114)으로부터 수신하는 블록 310으로 계속된다. 패스워드의 수신이 키보드 레이아웃 ID의 수신과는 별개의 것으로 기재되어 있지만, 양쪽의 정보는 BIOS 보안 관리자(118)에 대해 제공되고 BIOS 보안 관리자(118)에 의해 동시에 수신될 수 있음을 유의한다. 그럼에도 불구하고, BIOS 보안 관리자(118)가 패스워드를 수신했으면, BIOS 보안 관리자는 블록 312에 표시된 바와 같이 패스워드의 문자를 식별한다. 다음에, 블록 314와 관련하여, BIOS 보안 관리자(118)는 그 문자가 사용자의 키보드를 이용해서 직접 입력될 수 있는지를 결정한다. 특히, 단일 키를 선택하거나 또는 예를 들어 "shift", "ctrl", "alt" 키를 포함한 복수 키를 동시에 선택함으로써, 그 문자가 키보드를 이용해서 직접 타이핑될 수 있는지를 결정한다. 결정 블록 316을 참조하면, 문자가 직접 입력될 수 있으면, 그 문자가 패스워드의 마지막 문자인지를 결정하는 결정 블록 320으로 흐름이 내려간다. 마지막 문자가 아니면, 패스워드의 다음 문자가 고려되는 블록 312로 흐름이 되돌아간다. 그러나, 문자가 입력될 수 없으면, 패스워드의 수용 불가를 운영 시스템(114)이 통지받는 블록 318로 흐름이 계속된다. 그 후, BIOS 보안 관리자(118)가 운영 시스템으로부터 다른 통신을 대기하는 도 3a의 블록 300으로 흐름이 되돌아갈 수 있다.
결정 블록 320으로 되돌아가면, 패스워드의 각 문자가 수용가능하면, 사용자가 선택한 패스워드가 프리부트 로그인 프로세스에 수용가능함을 나타내는 수용 메시지를, BIOS 보안 관리자(118)가 운영 시스템(114)으로 보내는 블록 322로 흐름이 계속된다.
도 2 및 3과 관련하여 상기한 프로세스를 통해서, 사용자가 선택한 패스워드가, 프리부트 로그인시에 BIOS(112)에 의해 수신되고 인식될 수 있음을 확실히 하기 위해, 단계들이 취해진다. 그러나, 몇 가지 이유 때문에, BIOS(112)가 생각하는 사용자의 키보드 레이아웃과 사용자의 실제 키보드 레이아웃 사이에 단절(disconnect)이 있으면, 올바른 패스워드로 믿고 있는 것을 사용자가 입력하더라도, 사용자는 컴퓨터 시스템(100)으로의 액세스를 거부당할 수 있다. 사용자가 표준의 영어 키보드 레이아웃을 이용해서 사용자의 프리부트 패스워드를 설정하는 예를 생각해 보자. 이러한 경우에, BIOS는, 사용자가 표준의 영어 키보드 레이아웃을 이용하고 있음을 통지받을 것이고, 그에 따라 키스트로크를 해석할 것이다. 그러나, 사용자가 그 이후에 자신의 키보드 레이아웃을 변경했으면, 불일치가 발생할 수 있어, BIOS는 유효한 패스워드를 무효한 패스워드로 해석할 수 있게 된다. 예컨대, 사용자가 자신의 키보드 레이아웃을 표준의 프랑스어 키보드 레이아웃으로 변경하면, "q" 및 "a"키의 물리적 위치가 반대로 된다. 따라서, 사용자의 패스워드가 "quark123"이었으면, BIOS는 사용자의 입력을 "auqrk123"으로 해석하여, 사용자의 액세스를 거부한다.
영구적으로 시스템이 잠겨질 수 있는 이러한 상황을 방지하기 위해, BIOS 보안 관리자(118)는 컴퓨터 시스템 디스플레이에 있어서 사용자에게 가상 또는 "소프트" 키보드를 표시하도록 구성되어, 사용자가 마우스와 같은 포인팅 디바이스를 이용하여 자신의 패스워드의 문자를 선택할 수 있다. 이러한 상황에서, BIOS가 생각하는 사용자의 키보드 레이아웃과 사용자의 실제 키보드 레이아웃 사이의 불일치는, 사용자가 컴퓨터 시스템(100)에 로그인하여 이용하는 것을 막지 못한다. 도 4는 그 능력으로 동작하는 BIOS 보안 관리자(118)의 동작의 예시를 나타낸다.
도 4의 블록 400으로 시작해서, BIOS 보안 관리자(118)는 사용자에게 패스워드의 입력을 유도한다. 특히, BIOS 보안 관리자(118)는, 컴퓨터 시스템(100)의 전원이 켜졌지만 컴퓨터 시스템이 부팅되기 전에, 즉 운영 시스템(114)이 작동하기 전에 사용자에게 패스워드의 입력을 유도한다. 블록 402에 표시된 바와 같이, 입력된 패스워드가 수신되고, 그 패스워드가 올바른(즉, 유효한) 것인지를 결정한다. 결정 블록 404를 참조하면, 패스워드가 올바르면, 블록 406에 표시된 바와 같이, BIOS(112)는 컴퓨터 시스템(100)을 부팅한다. 한편, 패스워드가 올바르지 않으면(즉, 유효하지 않으면), 최대 시도 횟수가 사용되었는지를 결정하는 결정 블록 408로 흐름이 계속된다. 최대 시도 횟수가 아니면, 사용자에게 다시 패스워드의 입력을 유도하는 블록 400으로 흐름이 되돌아간다.
최대 시도 횟수(예를 들어, 3번)가 허용된 후에 사용자가 올바른 패스워드를 입력하지 못하면, 블록 410에 표시된 바와 같이, BIOS 보안 관리자(118)는 사용자에게 가상 또는 소프트 키보드를 표시한다. 소프트 키보드는 별도로 표시되는 "키" 를 포함하고, 예컨대 "키"는 하나 이상의 물리적 키를 이용하는 사용자의 키보드 레이아웃을 이용하여 직접 입력될 수 있는 각 문자에 대한 스크린 버튼으로서 표시된다. 따라서, 상기한 영어와 불어의 예시와 관련하여, 소프트 키보드는 사용자의 물리적 키보드 상의 "q"의 위치에 상관없이 사용자가 선택할 수 있는 "q"의 키를 포함한다. 소프트 키보드가 표시되었으면, 블록 412에 표시된 바와 같이, BIOS 보안 관리자(118)는 포인팅 디바이스를 이용하여 사용자 패스워드의 다양한 문자를 사용자가 선택하도록 할 수 있다. 예컨대, 포인팅 디바이스는 마우스를 포함할 수 있다. 컴퓨터 시스템(100)이 터치 스크린을 포함하는 경우에, 포인팅 디바이스는 스타일러스 또는 사용자의 손가락을 포함할 수 있다.
다음에 결정 블록 414를 참조하면, BIOS 보안 관리자(118)는 패스워드가 올바른지를 결정한다. 패스워드가 올바르지 않으면, 최대 시도 횟수(예를 들어, 3번)가 사용되었는지를 결정하는 결정 블록 416으로 흐름이 계속된다. 최대 시도 횟수가 사용되지 않았으면, 사용자에게 다시 패스워드를 입력받는 블록 412로 흐름이 되돌아간다. 최대 시도 횟수가 사용되었으면, 블록 418에 표시된 바와 같이, 컴퓨터 시스템(100)은 부팅되지 않는다. 그러나, 사용자가 포인팅 디바이스를 이용해서 패스워드의 각각의 문자를 개별적으로 선택함으로써 올바른 패스워드를 입력한다고 가정하면, 컴퓨터 시스템(100)이 부팅하는 블록 406으로 흐름이 계속된다.
도 4에 관해서 설명된 기능을 가능하게 하기 위해, BIOS(112)는 사용자에 의해 사용되고 있는 키보드 레이아웃의 각각의 문자를 표시할 수 있어야 한다. 즉, BIOS(112)는 그들 각 문자의 폰트 글립(font glyph)을 제공할 수 있어야 하고, 그렇지 않으면 폰트 글립이 없는 문자는 키보드 레이아웃에 상관없이 유효 문자로서 검증을 거치지 않을 것이다. 이러한 폰트를 BIOS(112)가 제공할 수 있음을 확실히 하기 위해, BIOS 보안 관리자(118)는, 도 2 및 3에 관해서 설명된 프로세스 중에 선택된 패스워드의 각 문자를 BIOS가 제공할 수 있음을 확인할 수도 있다.
다양한 프로그램(로직)을 본 명세서에서 설명하였다. 그들 프로그램은 임의의 컴퓨터 관련 시스템 또는 방법에 사용되는 임의의 컴퓨터 판독가능한 매체 상에 저장될 수 있음을 유의한다. 이 명세서의 내용에 있어서, "컴퓨터 판독가능한 매체"는, 컴퓨터 관련 시스템 또는 방법에 사용되는 컴퓨터 프로그램을 포함하거나 저장하는 전기, 자기, 광학, 또는 다른 물리적 디바이스 또는 수단이다. 그들 프로그램은, 명령 실행 시스템, 장치, 또는 디바이스로부터 명령을 가지고 와서 실행할 수 있는 컴퓨터 기반의 시스템, 프로세서 내장 시스템, 또는 다른 시스템과 같은, 명령 실행 시스템, 장치, 또는 디바이스에 사용되는 임의의 컴퓨터 판독가능한 매체에서 구현될 수 있다.

Claims (20)

  1. 컴퓨터 시스템 상에서 프리부트(pre-boot) 로그인을 지원하는 방법으로서,
    프리부트 로그인에서의 사용을 위해 사용자에 의해 선택된 패스워드를 수신하는 단계와,
    운영 시스템의 실행 상태에서, 상기 컴퓨터 시스템의 부팅 완료 전의 프리부트 상태에서 상기 사용자에 의해 상기 패스워드가 입력될 수 있는지를 판정하는 단계 - 상기 판정하는 단계는 상기 운영 시스템을 통해 상기 패스워드의 입력시 사용된 사용자 키보드의 키보드 레이아웃의 식별자를 수신하는 단계와, 상기 사용자 키보드의 상기 키보드 레이아웃이 상기 프리부트 상태에서 사용되는 BIOS(basic input output system)에 의해 지원되는지를 판정하는 단계를 포함함 - 와,
    상기 부팅의 완료 전에 상기 사용자에 의해 상기 패스워드가 입력될 수 없으면, 상기 패스워드의 수용이 불가하다는 것을 통지하는 단계와,
    상기 부팅의 완료 전에 상기 사용자에 의해 상기 패스워드가 입력될 수 있으면, 상기 패스워드를 상기 프리부트 로그인에 대한 패스워드로서 설정하는 단계
    를 포함하는
    프리부트 로그인의 지원 방법.
  2. 제 1 항에 있어서,
    패스워드를 수신하는 단계는, 상기 컴퓨터 시스템의 운영 시스템의 환경에서 상기 사용자에 의해 상기 패스워드가 입력된 후에, 상기 컴퓨터 시스템의 BIOS가 상기 컴퓨터 시스템의 운영 시스템으로부터 상기 패스워드를 수신하는 단계를 포함하는
    프리부트 로그인의 지원 방법.
  3. 제 1 항에 있어서,
    상기 판정하는 단계는, 상기 패스워드가 키보드를 이용하여 직접 입력될 수 있는지를 판정하는 단계를 포함하는
    프리부트 로그인의 지원 방법.
  4. 제 3 항에 있어서,
    상기 판정하는 단계는, 상기 패스워드의 각 문자에 대해 상기 문자가 상기 사용자의 물리적 키보드를 이용하여 직접 타이핑될 수 있는지를 판정하는 단계를 포함하는
    프리부트 로그인의 지원 방법.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 키보드 레이아웃이 상기 BIOS에 의해 지원되지 않는 경우에, 상기 식별된 키보드 레이아웃을 이용하여 상기 프리부트 로그인이 불가하다는 것을 통지하는 단계를 더 포함하는
    프리부트 로그인의 지원 방법.
  7. 컴퓨터 시스템 상에서 프리부트 로그인을 지원하는 방법으로서,
    상기 컴퓨터 시스템이 부팅을 완료하기 전에 사용자에 의해 물리적 키보드를 통해 입력된 패스워드를 수신하는 단계와,
    상기 패스워드가 정확한지를 판정하는 단계와,
    상기 패스워드가 정확하지 않은 경우에, 상기 사용자의 패스워드의 문자를 상기 사용자가 선택할 수 있게 하는 소프트 키보드(soft keyboard)를 상기 사용자에게 표시하는 단계를 포함하는
    프리부트 로그인의 지원 방법.
  8. 제 7 항에 있어서,
    상기 패스워드를 수신하는 단계는, 상기 컴퓨터 시스템의 운영 시스템이 동작하기 전에, 상기 컴퓨터 시스템의 BIOS가 상기 패스워드를 수신하는 단계를 포함하는
    프리부트 로그인의 지원 방법.
  9. 제 7 항에 있어서,
    상기 소프트 키보드를 표시하는 단계는, 소정의 키보드 레이아웃으로 직접 타이핑될 수 있는 모든 문자를 표시하는 단계를 포함하는
    프리부트 로그인의 지원 방법.
  10. 제 7 항에 있어서,
    상기 소프트 키보드에서 표시되는 문자의 선택을 수신하는 단계를 더 포함하는
    프리부트 로그인의 지원 방법.
  11. 제 10 항에 있어서,
    상기 선택을 수신하는 단계는, 포인팅 디바이스를 이용해서 상기 사용자에 의해 입력된 선택을 등록하는 단계를 포함하는
    프리부트 로그인의 지원 방법.
  12. 컴퓨터 시스템 상에서의 사용을 위해 BIOS(basic input/output system)를 저장하는 컴퓨터 판독가능한 매체로서,
    상기 BIOS는,
    프리부트 로그인에서의 이용을 위해 사용자에 의해 선택된 패스워드를 수신하도록 구성된 로직과,
    운영 시스템의 실행 상태에서, 상기 컴퓨터 시스템의 부팅 완료 전의 프리부트 상태에서 상기 패스워드가 상기 사용자에 의해 입력될 수 있는지를 판정하도록 구성된 로직 - 상기 판정은 상기 운영 시스템을 통해 상기 패스워드의 입력시 사용된 사용자 키보드의 키보드 레이아웃의 식별자를 수신하는 것과, 상기 사용자 키보드의 상기 키보드 레이아웃이 상기 프리부트 상태에서 사용되는 BIOS에 의해 지원되는지를 판정하는 것을 포함함 - 과,
    상기 부팅의 완료 전에 상기 사용자 의해 상기 패스워드가 입력될 수 없는 경우에, 상기 컴퓨터 시스템의 운영 시스템에 상기 패스워드의 수용이 불가하다는 것을 통지하며, 상기 부팅의 완료 전에 상기 사용자 의해 상기 패스워드가 입력될 수 있는 경우에, 상기 패스워드를 상기 프리부트 로그인에 대한 패스워드로서 설정하도록 구성된 로직을 포함하는
    컴퓨터 판독가능한 매체.
  13. 제 12 항에 있어서,
    상기 판정하도록 구성된 로직은, 상기 패스워드의 각 문자에 대해 상기 문자가 상기 사용자의 물리적 키보드를 이용하여 직접 타이핑될 수 있는지를 판정하도록 구성된 로직을 포함하는
    컴퓨터 판독가능한 매체.
  14. 삭제
  15. 제 12 항에 있어서,
    상기 키보드 레이아웃이 상기 BIOS에 의해 지원되지 않는 경우에, 상기 식별된 키보드 레이아웃을 이용하여 프리부트 로그인이 불가하다는 것을 통지하도록 구성된 로직을 더 포함하는
    컴퓨터 판독가능한 매체.
  16. 제 12 항에 있어서,
    상기 컴퓨터 시스템이 부팅을 완료하기 전에 사용자에 의해 입력된 패스워드를 수신하도록 구성된 로직과,
    상기 패스워드가 정확한지를 판정하도록 구성된 로직과,
    상기 패스워드가 정확하지 않은 경우에, 상기 사용자의 패스워드의 문자를 상기 사용자가 선택할 수 있게 하는 소프트 키보드를 상기 사용자에게 표시하도록 구성된 로직을 더 포함하는
    컴퓨터 판독가능한 매체.
  17. 제 16 항에 있어서,
    포인팅 디바이스를 이용해서 상기 사용자에 의해 입력된, 상기 소프트 키보드에 표시된 문자의 선택을 수신하도록 구성된 로직을 더 포함하는
    컴퓨터 판독가능한 매체.
  18. 컴퓨터 시스템으로서,
    처리 디바이스와,
    BIOS 및 운영 시스템을 저장하는 메모리를 포함하되,
    상기 운영 시스템은, 프리부트 로그인에서의 사용을 위해 사용자에 의해 선택된 패스워드를 수신하고,
    상기 운영 시스템의 실행 상태에서, 상기 컴퓨터 시스템의 부팅의 완료 전의 프리부트 상태에서 상기 사용자에 의해 상기 패스워드가 입력될 수 있는지를 판정 하되, 상기 판정은 상기 운영 시스템을 통해 상기 패스워드의 입력시 사용된 사용자 키보드의 키보드 레이아웃의 식별자를 수신하는 것과, 상기 사용자 키보드의 상기 키보드 레이아웃이 상기 프리부트 상태에서 사용되는 BIOS에 의해 지원되는지를 판정하는 것을 포함하며,
    상기 부팅의 완료 전에 상기 사용자에 의해 상기 패스워드가 입력될 수 없으면, 상기 패스워드의 수용이 불가하다는 것을 상기 컴퓨터 시스템의 상기 운영 시스템에 통지하고, 상기 부팅의 완료 전에 상기 사용자 의해 상기 패스워드가 입력될 수 있으면, 상기 패스워드를 상기 프리부트 로그인에 대한 패스워드로서 설정하도록 구성되는
    컴퓨터 시스템.
  19. 삭제
  20. 제 18 항에 있어서,
    상기 BIOS는, 상기 컴퓨터 시스템의 부팅이 완료되기 전에 사용자에 의해 입력된 패스워드를 수신하고, 상기 패스워드가 정확한지를 판정하고, 상기 패스워드가 정확하지 않으면 상기 사용자가 자신의 패스워드의 문자를 선택할 수 있게 하는 소프트 키보드를 상기 사용자에게 표시하도록 더 구성되는
    컴퓨터 시스템.
KR1020107025864A 2008-05-19 2008-05-19 프리부트 로그인의 지원 방법 및 시스템 KR101446377B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/064085 WO2009142618A1 (en) 2008-05-19 2008-05-19 Systems and methods for supporting pre-boot log in

Publications (2)

Publication Number Publication Date
KR20110021787A KR20110021787A (ko) 2011-03-04
KR101446377B1 true KR101446377B1 (ko) 2014-10-01

Family

ID=41340385

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107025864A KR101446377B1 (ko) 2008-05-19 2008-05-19 프리부트 로그인의 지원 방법 및 시스템

Country Status (8)

Country Link
US (1) US8881267B2 (ko)
JP (1) JP5284464B2 (ko)
KR (1) KR101446377B1 (ko)
CN (1) CN102037442B (ko)
BR (1) BRPI0822354B1 (ko)
DE (1) DE112008003876T5 (ko)
GB (1) GB2474142B (ko)
WO (1) WO2009142618A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8272049B2 (en) * 2009-01-15 2012-09-18 Hewlett-Packard Development Company, L.P. Multi-domain computer password management
US8490167B2 (en) * 2011-05-27 2013-07-16 International Business Machines Corporation Preventing password presentation by a computer system
US8763112B2 (en) 2011-07-02 2014-06-24 Intel Corporation Systems and methods for power-on user authentication
US9533002B2 (en) 2012-05-25 2017-01-03 Berg Llc Methods of treating a metabolic syndrome by modulating heat shock protein (HSP) 90-β
CN103809837B (zh) * 2012-11-13 2017-12-15 联想(北京)有限公司 一种调用虚拟键盘的方法以及电子设备
US20150254449A1 (en) * 2014-03-05 2015-09-10 Google Inc. Coordinated Passcode Challenge for Securing a Device
WO2015188198A2 (en) 2014-06-06 2015-12-10 Berg Llc Methods of treating a metabolic syndrome by modulating heat shock protein (hsp) 90-beta
CN108959912A (zh) * 2018-06-29 2018-12-07 郑州云海信息技术有限公司 一种bios和操作系统复用密码的方法、装置及设备
US11922173B2 (en) * 2021-05-14 2024-03-05 Dell Products L.P. Systems and methods for automating pre-boot soft keyboard behavior based on system context

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887367A (ja) * 1994-07-20 1996-04-02 Fujitsu Ltd キーコード出力装置及びキーボード
KR20010106191A (ko) * 2000-05-16 2001-11-29 포만 제프리 엘 컴퓨터 네트워크상의 컴퓨터에 보안을 제공하기 위한 방법
US20020196274A1 (en) 2001-06-08 2002-12-26 International Business Machines Corporation Entry of a password through a touch-sensitive computer screen
KR20040062679A (ko) * 2001-12-12 2004-07-07 인텔 코오퍼레이션 오퍼레이팅 시스템의 개시 전에 사용자 입력 인터페이스를제공하는 방법

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3626280B2 (ja) * 1996-05-02 2005-03-02 株式会社東芝 コンピュータシステム及びシステム設定方法
JP2000056927A (ja) * 1998-08-06 2000-02-25 Casio Comput Co Ltd キーボード表示装置及びその表示方法
US6237100B1 (en) * 1998-12-02 2001-05-22 International Business Machines Corporation Power passwords within a data processing system for controlling a supply of system power
WO2001077792A2 (en) * 2000-04-07 2001-10-18 Rsa Security Inc. System and method for authenticating a user
JP2002041223A (ja) * 2000-07-17 2002-02-08 Internatl Business Mach Corp <Ibm> コンピュータシステム、オンスクリーン・キーボード生成方法、パワー・オン・パスワード照合方法及びメモリ
US7814532B2 (en) * 2001-05-02 2010-10-12 Lenovo (Singapore) Pte. Ltd. Data processing system and method for password protecting a boot device
KR20040005505A (ko) * 2002-07-10 2004-01-16 삼성전자주식회사 컴퓨터시스템 및 그 부팅제어방법
US6996641B2 (en) * 2002-10-30 2006-02-07 Intel Corporation Apparatus and methods for keyboard data normalization
CN1297908C (zh) * 2003-08-25 2007-01-31 联想(北京)有限公司 对cmos数据进行备份保护的方法
CN1256678C (zh) * 2003-10-14 2006-05-17 联想(北京)有限公司 计算机信息的保护方法和装置
US20050228993A1 (en) * 2004-04-12 2005-10-13 Silvester Kelan C Method and apparatus for authenticating a user of an electronic system
JP2005011381A (ja) * 2004-09-27 2005-01-13 Toshiba Corp コンピュータシステム
JP4439002B2 (ja) * 2005-03-01 2010-03-24 Necフィールディング株式会社 情報漏洩防止機能付きコンピュータおよびセキュリティ強化プログラム
JP2006344113A (ja) * 2005-06-10 2006-12-21 Matsushita Electric Ind Co Ltd 情報処理装置のセキュリティ装置およびセキュリティ方法
US7619544B2 (en) * 2005-10-27 2009-11-17 Hewlett-Packard Development Company, L.P. BIOS password security using modified scan codes
JP2007272662A (ja) * 2006-03-31 2007-10-18 Matsushita Electric Ind Co Ltd パスワード認証方法およびパスワード認証装置
CN100495416C (zh) 2006-09-01 2009-06-03 厦门好旺角信息技术开发有限公司 一种提高密码安全的密码输入方法及装置
US20080177920A1 (en) * 2007-01-24 2008-07-24 Dell Products L.P. Methods for Handling Keyboard Inputs
US20090064318A1 (en) * 2007-08-27 2009-03-05 Inventec Corporation Method of inputting booting password
US8166540B2 (en) * 2008-02-21 2012-04-24 Lenovo (Singapore) Pte. Ltd. Hardware password alignment system apparatus and methods

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887367A (ja) * 1994-07-20 1996-04-02 Fujitsu Ltd キーコード出力装置及びキーボード
KR20010106191A (ko) * 2000-05-16 2001-11-29 포만 제프리 엘 컴퓨터 네트워크상의 컴퓨터에 보안을 제공하기 위한 방법
US20020196274A1 (en) 2001-06-08 2002-12-26 International Business Machines Corporation Entry of a password through a touch-sensitive computer screen
KR20040062679A (ko) * 2001-12-12 2004-07-07 인텔 코오퍼레이션 오퍼레이팅 시스템의 개시 전에 사용자 입력 인터페이스를제공하는 방법

Also Published As

Publication number Publication date
CN102037442A (zh) 2011-04-27
BRPI0822354B1 (pt) 2020-11-10
WO2009142618A1 (en) 2009-11-26
BRPI0822354A2 (pt) 2019-09-10
DE112008003876T5 (de) 2013-06-06
GB2474142A (en) 2011-04-06
US20110072511A1 (en) 2011-03-24
JP2011524040A (ja) 2011-08-25
US8881267B2 (en) 2014-11-04
GB2474142B (en) 2012-09-05
KR20110021787A (ko) 2011-03-04
CN102037442B (zh) 2015-09-23
JP5284464B2 (ja) 2013-09-11
GB201019584D0 (en) 2010-12-29

Similar Documents

Publication Publication Date Title
KR101446377B1 (ko) 프리부트 로그인의 지원 방법 및 시스템
US8272049B2 (en) Multi-domain computer password management
US7484173B2 (en) Alternative key pad layout for enhanced security
US7432831B2 (en) Handheld electronic device having reduced keyboard and multiple password access, and associated methods
US20130321267A1 (en) Dynamically changing a character associated with a key of a keyboard
US20080320390A1 (en) Logon Management Software, Control Device, and Logon Management Method
US20100275257A1 (en) Electronic device
JP5365120B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US20170351960A1 (en) Run-time image display on a device
US9411602B2 (en) Techniques for booting an information processing system
CN107358094A (zh) 智能设备的密码输入系统和方法
CA2536993C (en) Handheld electronic device having reduced keyboard and multiple password access, and associated methods
US8340954B2 (en) Multi-language support in preboot environment
JP2007122262A (ja) パスワード変換装置
JP5490933B2 (ja) ブート前ログインに対応するシステム及び方法
GB2488944A (en) Using a soft keyboard when a pre-boot password is entered incorrectly
US8922398B2 (en) Method of generating and providing a password to a handheld electronic device
JP2011154445A (ja) 認証装置、認証方法、および認証プログラム
TW202343233A (zh) 基本輸入輸出系統之智能搜尋方法及應用其之電子裝置
EP2270709A1 (en) Method of generating and providing a password to a handheld electronic device
JP2001184168A (ja) 文字入力装置
KR20040029205A (ko) 컴퓨터시스템 및 그 부팅제어방법

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
GRNT Written decision to grant