문맥 (context)
퍼스널 컴퓨터는 마그네틱, 옵티컬, 및 솔리드-스테이트 디스크; 프린터, 모뎀, 키보드, 마우스 등과 같은 수많은 주변기기와 함께 협력한다. 많은 주변기기는 USB(Universal Serial Bus) 연결을 통해 퍼스널 컴퓨터와 제거가능하게 연결된다. 퍼스널 컴퓨터상에서 실행하는 어플리케이션과 그 어플리케이션을 위해 필요로 되는 주변기기 사이의 통신은 표준 프로토콜(OS 서비스)을 따라 컴퓨터의 운영체제(OS)에 의해 컨트롤 된다.
커먼 컨벤션하에서, 몇몇 OS 서비스는 조직의 IT(information technology) 시스템에 위험한 것으로 간주되고, 그러므로, 관리자로 분류된 사용자만이 엑세스 가능한 제한된 서비스로 정의된다. 비관리자 사용자에게는 IT 시스템에 위험이 없거나, 위험이 낮은 표준 서비스에 대한 엑세스만 제공한다.
도 1-3은 컴퓨터, OS 서비스, 및 주변기기에 관한 종래 기술을 개략적으로 도시한다. 도 1은 퍼스널 컴퓨터(데스크탑, 랩탑, 또는 팜탑), 또는 컴퓨팅 능력을 갖춘 강화된 셀룰러 텔레폰과 같은 호스트 컴퓨터(110)를 포함하는 컴퓨터 시스템(100)의 개략적인 하이-레벨 블럭 다이어그램이다. 또한, 시스템(100)은 링크(105)를 통해 컴퓨터(110)와 영구적으로 또는 일시적으로 연결된 클라이언트 주변기기(120)를 포함한다. 컴퓨터(110)는 사용자 어플리케이션(118)을 실행하는 CPU(112)를 포함한다. 컴퓨터(110) 내의 USB 인터페이스(116)는 링크(105)를 이루기 위해, 주변기기(120) 내의 대응 USB 인터페이스(126)와의 전기적, 논리적, 및 기계적 연결을 제공한다. 운영체제(114)는 CPU(112)의 동작, 및 CPU(112)가, 한편으로는 어플리케이션(118)과, 다른 한편으로는 주변기기(120)와 인터페이싱하는 방법을 관리한다. 본 발명의 명세서에서, 주변기기(120)는 주변기기가 컨트롤러 펌웨어(124)에 따라 동작하는 컨트롤러(122)를 포함한다는 단순한 개념이다. 기능(128)은 일반적으로 주변기기(120)와 컴퓨터(110)를 연결하기 위한 하드웨어 및 소프트웨어를 나타낸다. 예시적인 기능(128)은 프린팅, 저장, 데이터 엔트리(예컨대, 키보드, 마우스), 데이터 디스플레이, 웹캠 등을 포함한다. 몇몇 실시예에서, 기능(128)은 프로세싱을 위해 컨트롤러(122)를 사용하고, 다른 실시예에서, 기능(128)은 다른 컨트롤러를 채용한다. 임의의 경우에서, 본 발명의 명세서에서, 컨트롤러(122)는 컨트롤러 펌웨어(124)로부터의 프로그램에 따라, 컴퓨터(110)와 기능(128) 사이에 데이터 트래픽을 모니터링하고 컨트롤한다. 예를 들어, 컨트롤러(122)는 링크(105)를 통해 운영체제(114)의 서비스에 의해 발행된 USB 패킷을 수신하고, 기능(128)을 위해 이 패킷을 번역한다. 링크(105)는 다이렉트 컨택트, 케이블, 또는 무선 통신을 통해 구현된다.
도 2는 실제 소프트웨어 패키지인 운영체제(114)의 간단한 구조도이다. 운영체제(114)는 서비스(114S) 및 승인(114P)을 포함한다. 서비스(114S)는 컴퓨터(110)의 일반적인 기능, 및 컴퓨터(110)와 주변기기(120)와의 통신을 통제하는 소프트웨어 루틴이다. 그러므로, 디스크, 프린터, 또는 키보드와 같은 주변기기(120)로의 엑세스가 필요한 사용자 어플리케이션(118)은 원하는 주변기기(120)와 인터페이싱하기 위해 서비스(114S)로부터 관련 서비스를 호출한다. 승인(114P)은 이전 로그인 세션을 통해 또는 패스워드 입력에 의해 식별된 현재의 컴퓨터 사용자가 서비스(114S) 사이에 특정 서비스를 엑세스하도록 승인되었는지를 특정하는 사용자 또는 사용자 타입의 데이터베이스이다. 간략함과 명료함을 위해, 지금부터, 2가지 사용자 타입: 모든 서비스(114S)에 엑세스하기 위한 승인을 가진 관리자, 및 표준 서비스(114S)에만 엑세스할 수 있고 연관된 IT 시스템에 보다 위험한 제한된 서비스(114S)로의 엑세스가 금지된 비관리자를 중심으로 설명된다. 본 명세서에서, IT 시스템은 컴퓨터(110) 및 최소한으로써 그 컨텐츠일 수 있고, 또는 다른 전형적인 경우에 컴퓨터(110)를 포함하는 기업 네트워크일 수 있다. 운영체제(114)가 서비스(114S) 사이의 특정 서비스가 승인(114P)에 따라 특정 사용자에게 허락된 것인지 또는 금지된 것인지를 판정하도록 하기 위한, 보다 복잡한 승인 계층(hierarchies)이 기술 분야에서 일반적임을 이해해야 한다.
도 3은 운영체제(114)에 따른 컴퓨터 시스템(100)의 동작의 플로우차트이다. 단계(200)에서, 어플리케이션(118)은 운영체제(114)에 따라 동작하는 CPU(112)로부터 서비스(114S) 중 특정 서비스를 주문한다. 단계(202)에서, 운영체제(114)는 요청된 서비스가 표준 서비스인지, 즉, 모든 사용자에게 허락된 것인지를 체크한다. 그 응답이 긍정이면, 요청된 서비스는 단계(206)에서 실행된다. 그렇지 않으면, 즉, 단계(202)에서 그 서비스가 제한된 것으로 판정되면, 운영체제(114)는 로그-인 과정을 통해 이전에 식별된 (또는, 프롬프팅되었을 때 패스워드를 성공적으로 입력함으로써 가능한) 현재 사용자가 관리자 권한을 가졌는지, 즉, 그 요청된 서비스를 사용할 수 있는지를 식별한다. 그렇지 않으면, 서비스는 단계(208)에서 거절되고, 바람직하게는, 컴퓨터(110)의 (도시되지 않은) 스크린상에 메세지에 의해 사용자에게 안내한다. 이러한 프로시저는 운영체제(114)가 어플리케이션(118)으로부터 다음 서비스 오더를 수신하고 검사할 준비된 때, 단계(210)에서 종료한다.
새로운 주변기기, 피처, 및 어플리케이션은 끊임없이 개발되고, 그들을 엑세스하기 위해 새로운 운영체제 서비스가 요구될 수 있다. 컴퓨터 운영체제는 다수의 컴퓨터에 걸쳐 표준화되어 있기 때문에, OS(114)내에 새로운 서비스를 추가하는 것은 매우 긴 시간이 걸릴 수 있다. 그러므로, 새로운 주변기기, 피처, 및 어플리케이션의 개발자는 OS(114)에 새로운 전용 서비스가 개발되고 통합되는 것을 기다리는 것을 대신해 기존 OS 서비스에 적용하기 위한 임의의 합리적인 노력을 하고 있다. 그러나, 새로운, 무해한 주변기기 또는 피처가 제한된 OS 서비스를 요구할 때, 동일한 서비스의 대안적 사용은 위험한 것으로 간주되기 때문에 문제가 발생한다.
일 예는 Microsoft WindowsTM OS 하에서 구현된, USB 프로토콜을 통해 퍼스널 컴퓨터와 인터페이싱하는 매스-저장 디바이스이다. 이 디바이스는 그 저장장치로부터 파일 읽기-쓰기 오퍼레이션 동안 사용되는 한, 기존 표준 OS 서비스는 모든 사용자에 대하여 일정한(seamless) 오퍼레이션을 지원한다. 그러나, 프로그래밍 가능한 빌트-인 프로세서를 포함한 새로운 매스-저장 디바이스는 단순한 저장 이상을 제공한다. 예를 들어, 이 매스 저장 디바이스는 그들의 컨텐츠를 자동으로 패스워드-보호할 수 있거나, 인증 토큰처럼 복제할 수 있다. 이러한 추가적인 피처는 빌트-인 프로세서 또는 (예컨대, 인증 핸드쉐이킹 동안) 연관된 PC 어플리케이션으로부터 특정한 데이터 교환(예컨대, 패스워드 엔트리)을 요구하지만, 이러한 데이터 교환은 비관리자 사용자에 대하여 WindowsTM OS에 의해 차단되는 제한된 서비스를 요구한다.
그러므로, OS 제한에 의해 통상적으로 차단되는 비표준 피처를 구현하기 위해 비관리자 사용자가 주변기기와 통신하기 위한 솔루션을 제공할 필요성이 널리 인식되어 있다.
지시문 (instruction)
주어진 원문을 읽고 필요한 정보를 파악하여, 원문에 근거해 질문에 답하라.
질문 (question)
운영체제(OS)가 어플리케이션으로부터 특정 서비스를 주문받았을 때, 해당 서비스가 제한된 서비스로 판정될 경우 관리자 권한 여부를 확인하는 과정은 어떻게 진행되는가?
추론 과정 (compact_reasoning)
-
1과제 해석
task_interpretation운영체제가 제한된 서비스를 처리할 때의 구체적인 작동 절차를 묻는 질문이다.
-
2정보 추출
information_extraction도 3의 플로우차트에서 서비스가 제한된 것으로 판정된 이후의 단계를 추출한다.
- 그렇지 않으면, 즉, 단계(202)에서 그 서비스가 제한된 것으로 판정되면, 운영체제(114)는 로그-인 과정을 통해 이전에 식별된 (또는, 프롬프팅되었을 때 패스워드를 성공적으로 입력함으로써 가능한) 현재 사용자가 관리자 권한을 가졌는지, 즉, 그 요청된 서비스를 사용할 수 있는지를 식별한다.
-
3근거 선택
evidence_selection로그인 과정과 관리자 권한 식별에 관한 핵심 문구를 선별한다.
- 로그-인 과정을 통해 이전에 식별된 (또는, 프롬프팅되었을 때 패스워드를 성공적으로 입력함으로써 가능한) 현재 사용자가 관리자 권한을 가졌는지, 즉, 그 요청된 서비스를 사용할 수 있는지를 식별한다.
-
4논리 통합
logical_integration서비스가 제한된 경우 -> 로그인 과정 수행(기존 식별 또는 패스워드 입력) -> 관리자 권한 여부 확인 순으로 논리를 통합한다.
-
5결론 도출
conclusion_formulation로그인 과정을 통해 사용자가 관리자 권한을 가졌는지 식별하는 절차를 결론으로 도출한다.
- 운영체제(114)는 로그-인 과정을 통해 이전에 식별된 (또는, 프롬프팅되었을 때 패스워드를 성공적으로 입력함으로써 가능한) 현재 사용자가 관리자 권한을 가졌는지, 즉, 그 요청된 서비스를 사용할 수 있는지를 식별한다.
-
6답변 생성
answer_generation질문에 대해 단계별 작동 방식을 기술한다.
- 로그-인 과정을 통해 이전에 식별된 (또는, 프롬프팅되었을 때 패스워드를 성공적으로 입력함으로써 가능한) 현재 사용자가 관리자 권한을 가졌는지, 즉, 그 요청된 서비스를 사용할 수 있는지를 식별한다.
최종 답변 (final_answer)
운영체제는 요청된 서비스가 제한된 것으로 판정되면, 로그-인 과정을 통해 이전에 식별된 사용자 또는 패스워드 입력을 통해 식별된 현재 사용자가 관리자 권한을 가졌는지, 즉 해당 서비스를 사용할 수 있는지를 식별한다.
핵심 해석 (core_interpretation)
어플리케이션으로부터 요청된 서비스가 제한된 서비스로 판정될 경우, 운영체제는 로그인 또는 패스워드 입력을 통해 현재 사용자가 관리자 권한을 가졌는지 확인한다.