KR101432329B1 - Ui 객체들의 화면 위 렌더링시에 진짜 ui 객체들의 식별을 용이하게 하는 검증 시스템, 그것의 컴퓨터 구현 방법 및 컴퓨터 구현 검증 시스템 - Google Patents

Ui 객체들의 화면 위 렌더링시에 진짜 ui 객체들의 식별을 용이하게 하는 검증 시스템, 그것의 컴퓨터 구현 방법 및 컴퓨터 구현 검증 시스템 Download PDF

Info

Publication number
KR101432329B1
KR101432329B1 KR1020097007397A KR20097007397A KR101432329B1 KR 101432329 B1 KR101432329 B1 KR 101432329B1 KR 1020097007397 A KR1020097007397 A KR 1020097007397A KR 20097007397 A KR20097007397 A KR 20097007397A KR 101432329 B1 KR101432329 B1 KR 101432329B1
Authority
KR
South Korea
Prior art keywords
objects
verified
verification
display
rendering
Prior art date
Application number
KR1020097007397A
Other languages
English (en)
Other versions
KR20090069291A (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 KR20090069291A publication Critical patent/KR20090069291A/ko
Application granted granted Critical
Publication of KR101432329B1 publication Critical patent/KR101432329B1/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/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/55Detecting local intrusion or implementing counter-measures
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

진짜 UI 객체, 번들 또는 윈도우의 시각적 식별을 용이하게 하는 고유 시스템 및 방법이 제공된다. 검출 컴포넌트는 화면 위에 렌더링된 하나 이상의 신뢰 UI 객체에 관한 검증 모드를 사용자 기반 입력이 활성화한 때를 검출할 수 있다. 검증 컴포넌트는 UI 객체와 관련된 무결성을 보장하기 위해 하나 이상의 UI 객체와 관련된 소스 및 ID 중의 최소한 하나를 검증할 수 있다. 검증 렌더링 엔진은 최소한, 하나 이상의 신뢰 UI 객체의 검증 여부에 기초한 방식으로 하나 이상의 신뢰 UI 객체를 다시 렌더링할 수 있으므로, 비검증 UI 객체에 비해 검증된 신뢰 UI 객체의 시각적 인식을 개선할 수 있다.
Figure R1020097007397
신뢰 UI 객체, 검출 컴포넌트, 검증 컴포넌트, 검증 렌더링 엔진, 해시, 시각적 변환

Description

UI 객체들의 화면 위 렌더링시에 진짜 UI 객체들의 식별을 용이하게 하는 검증 시스템, 그것의 컴퓨터 구현 방법 및 컴퓨터 구현 검증 시스템{IDENTIFICATION AND VISUALIZATION OF TRUSTED USER INTERFACE OBJECTS}
본 발명은 신뢰 사용자 인터페이스 객체의 식별 및 시각화에 관한 것이다.
컴퓨팅 장치는 소비자 및 기업의 일상 생활 및 업무에서 필수 부분이 되었다. 이러한 컴퓨팅 장치는 대부분의 사용자를 위해 더 큰 효율성과 편리성에 상당히 기여했지만, 이들은 또한 각종 공격 및 부정 사용에 취약하다. 예를 들어, 회사는 매우 민감하고 기밀한 정보를 보호하기 위해 그들의 고용인에게 그들의 컴퓨터로 로그인하거나 특정 애플리케이션으로 로그인하도록 요구할 수 있다. 온라인으로 비즈니스를 행할 때, 사용자는 그들의 신용 카드 정보 및 그 밖의 개인적으로 식별가능한 정보를 보호하기를 원할 수 있다. 어느 시나리오든, 사용자가 그래픽 운영 체제 내의 위조 사용자 인터페이스(UI) 요소를 합법적인 것과 분별하는 것은 어려울 수 있다. 이것은 주로 그래픽 객체가 합법적으로 보이도록 쉽게 위조되기 때문이다. 그러므로, 사용자에게 대화 상자가 프롬프팅되어 사용자의 계정 번호, 사용자 이름, 암호 및/또는 지불 정보를 요청할 때, 그 대화 상자의 실제 소스는 악성 사이트, 소프트웨어, 스팸 또는 기타 부정 엔티티일 수 있다.
다음은 여기에서 설명된 시스템 및/또는 방법의 몇몇 실시양상의 기본적인 이해를 제공하기 위해 단순화된 요약을 나타낸 것이다. 이 요약은 여기에서 설명된 시스템 및/또는 방법의 광범위한 개요가 아니다. 그것은 핵심적인/중요한 요소를 식별한다거나 그러한 시스템 및/또는 방법의 범위를 나타내고자 하는 것이 아니다. 그 유일한 목적은 나중에 서술되는 더욱 상세한 설명의 서론으로서 단순화된 형태로 몇 가지 개념을 나타내기 위한 것이다.
본 출원은 안전한 방식으로 합법적인 사용자 인터페이스 객체와 그것의 위조 상대물 사이를 쉽게 구별하는 것을 용이하게 하는 시스템 및/또는 방법에 관한 것이다. 특히, 이 시스템 및 방법은 디스플레이 상에 렌더링된 하나 이상의 UI 객체의 ID를 검증한 다음에, 진짜 UI 객체의 외관을 변경하는 것을 포함한다. 그 결과, 사용자는 진짜 UI 객체를 쉽게 인식하고, 허가받지 않은 것과 분별할 수 있다.
이것은 신뢰 그래픽 UI(GUI) 객체를 암호로 서명하고 이들을 로컬 및/또는 원격으로 저장함으로써 부분적으로 달성될 수 있다. 사용자가 (예를 들어, 윈도우 또는 대화 상자를 생성하기 위한) 하나의 UI 객체 또는 그 집합이 렌더링될 것을 요구하는 동작을 실행할 때, 필요한 UI 객체는 적절한 신뢰 GUI 객체 저장소로부터 검색된 다음에, 이에 따라 렌더링될 수 있다.
렌더링된 UI 객체와의 상호작용을 통해 민감한 정보를 입력하거나 통신하기 전에, 사용자는 소정 유형의 발견가능 동작을 실행할 수 있다. 이러한 동작이 검출될 때, 렌더링된 UI 객체의 검증은 UI 객체의 근원 또는 소스를 확인하기 위해 트리거될 수 있다. 검증은 최소한 2가지의 상이한 기술을 이용함으로써 발생할 수 있다. 첫 번째, 렌더링된 UI 객체의 암호 해시는 이 해시가 최소한 하나의 신뢰 GUI 저장소에 원래 저장되어 있었다는 것을 검증하기 위해 계산되거나 통신될 수 있다. 두 번째, 윈도우 또는 대화 상자의 일부인 UI 객체는 개별적인 UI 객체보다 오히려 집합적으로 검증될 수 있다.
검증이 성공일 때, 검증된 UI 객체의 외관은 하나 이상의 시각적 변환을 적용함으로써 변경될 수 있고, 또는 검증이 되지 않은 것은 전체적으로 윈도우에 또는 개별 UI 객체들에 하나의 시각적 변환을 적용함으로써 변경될 수 있다. 달리 말하면, 시각적 변환은 가짜 대화 상자 또는 진짜 대화 상자를 식별하도록 구현될 수 있다. 예를 들어, 윈도우는 그 둘레가 유색 테두리로 둘러싸여 다시 렌더링될 수 있다. 검증된 UI 객체는 또한 객체의 표면을 변경하기 위해 상이한 텍스처 또는 이미지를 사용하여 렌더링될 수 있다. 이와 유사하게, 검증이 실패일 때, 영향받는 UI 객체는 또한 존재할 수 있는 검증된 UI 객체에 비해 희미하거나, 투명하거나, 그렇지 않으면 덜 강조되게 보이도록 다시 렌더링될 수 있다. 대안적으로, 검증된 UI 객체는 변경 없이 렌더링될 수 있는 반면, 임의의 비검증 UI 객체는 뷰에서 사라질 수 있다. 검증된 UI 객체의 렌더링 위치가 또한 지정될 수 있다. 예를 들어, 임의의 검증된 윈도우는 화면의 상부 좌측 코너에 렌더링되거나, 또는 심지어 상이한 화면 위에 렌더링될 수 있다.
상기 및 관련된 목적을 달성하기 위해, 본 발명의 소정의 예시적인 실시양상은 다음의 상세한 설명 및 첨부 도면과 관련하여 여기에서 설명된다. 그러나, 이들 실시양상은 본 발명의 원리가 이용될 수 있는 다양한 방식 중의 일부만을 나타내고, 본 발명은 이러한 모든 실시양상 및 그 등가물을 포함하고자 한다. 본 발명의 그 밖의 다른 장점 및 새로운 특징은 도면과 함께 고려할 때 다음의 상세한 설명으로부터 명백해질 것이다.
도 1은 화면 위 렌더링시에 진짜 UI 객체의 식별을 용이하게 하는 검증 시스템의 블록도.
도 2는 진짜 UI 객체의 렌더링, 그러한 객체 ID의 유효성 검사, 및 그 ID가 유효성 검사되었을 때의 그러한 진짜 UI의 외관의 변경을 용이하게 하는 검증 시스템의 블록도.
도 3은 UI 객체를 검증하고, 진짜 UI 객체와 기타 미지의 애플리케이션에 의해 렌더링된 것들 사이를 쉽게 구별하기 위해 UI 객체를 사용자에게 다르게 렌더링하는 것을 용이하게 하는 검증 시스템의 블록도.
도 4는 UI 객체의 진정성 또는 소스를 판정하기 위해 그 ID가 검증될 수 있는 하나 이상의 UI 객체를 포함하는 예시적인 사용자 인터페이스 또는 윈도우.
도 5는 UI 객체의 검증 다음에 렌더링되고, 검증된 및/또는 검증되지 않은 UI 객체를 쉽게 식별하기 위해 시각적으로 변경된 예시적인 사용자 인터페이스 또는 윈도우.
도 6은 렌더링되었지만 검증되지 않은 다수의 UI 객체를 포함하는 웹 페이지의 예시적인 사용자 인터페이스.
도 7은 도 6에서 계속되는 것으로, 다수의 UI 객체가 그 진정성 확인을 위해 선택적으로 검증된 웹 페이지를 도시한 도면.
도 8은 검증되고 허가된 UI 객체(예를 들어, (동일한) 화면 위의 지정된 위치에 표시된 진짜 UI 객체)에 대한 시각적 변환의 예시적인 애플리케이션을 보여주는 도면.
도 9는 허가된 UI 객체(예를 들어, 분리된 화면 위에 표시된 진짜 UI 객체)에 대한 시각적 변환의 예시적인 애플리케이션을 보여주는 도면.
도 10은 화면 위 렌더링시에 진짜 UI 객체의 식별을 용이하게 하는 예시적인 방법을 도시한 흐름도.
도 11은 진짜 UI 객체의 렌더링, 그러한 객체 ID의 유효성 검사, 및 그 ID가 유효성 검사되었을 때의 그러한 진짜 UI의 외관의 변경을 용이하게 하는 예시적인 방법을 도시한 흐름도.
도 12는 검증 실패시의 동작 과정을 제공하는 예시적인 방법을 도시한 흐름도.
도 13은 검증 성공시의 동작 과정을 제공하는 예시적인 방법을 도시한 흐름도.
도 14는 본 발명의 다양한 실시양상을 구현하는 예시적인 환경을 도시한 도면.
본 시스템 및/또는 방법이 이제 도면을 참조하여 설명되는데, 동일한 참조 번호는 도면 전반에 걸쳐 동일한 요소를 나타내기 위해 사용된다. 설명을 위한 다음의 상세한 설명에서, 다양한 특정 상세는 시스템 및/또는 방법의 완전한 이해를 제공하기 위해 설명된다. 그러나, 본 시스템 및/또는 방법은 이들 특정 상세 없이도 실시될 수 있다는 것이 명백하다. 그 밖의 경우에, 잘 알려진 구조 및 장치는 이들의 설명을 용이하게 하기 위해 블록도 형태로 도시된다.
여기에서 사용된 바와 같이, "컴포넌트" 및 "시스템"이라는 용어는 컴퓨터 관련 엔티티, 즉 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어 또는 실행중인 소프트웨어를 나타내기 위한 것이다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 프로세스, 프로세서, 객체, 실행파일, 실행 스레드, 프로그램 및 컴퓨터일 수 있는데, 이것에 제한되는 것은 아니다. 실례로서, 서버상에서 실행되는 애플리케이션 및 서버는 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세스 및/또는 실행 스레드 내에 존재할 수 있고, 하나의 컴포넌트는 하나의 컴퓨터상에 국한될 수 있고 및/또는 2개 이상의 컴퓨터들 사이에서 분산될 수 있다.
여기에서 사용된 vWindow라는 용어는 렌더링 객체(예를 들어, 컨트롤, 프레임 등등)가 디지털식으로 서명되었거나 암호화되었고 독립적으로 검증될 수 있는 GUI 요소(UI 객체)를 나타내고자 하는 것이다. vWindow는 그 밖에, 사용자에게 렌더링되는 임의의 기타 윈도우와 시각적으로 닮았다. 그러므로, "신뢰 윈도우" 및 "vWindow"라는 용어는 아래의 설명 전반에서 교환가능하게 사용될 수 있고, 그렇게 사용된다. 그러나, 검증된 vWindow는 vWindow가 성공적으로 검증 프로세스를 거쳤고, 비검증 vWindow가 검증에 실패했거나 또는 검증을 받지 못했다는 것을 나타낸 다. vWindow는 UI 객체들의 서브세트, 또는 선택적으로 검증될 수 있는 UI 번들(bundle)을 포함할 수 있다. 더욱이, 임의의 GUI 요소는 여기에서 설명된 바와 같이 검증될 수 있고, 단지 윈도우 또는 대화 상자에만 제한되는 것이 아니다. GUI를 위한 버튼, 툴바 또는 플러그 인(예를 들어, 가젯(gadget))도 또한 유사한 방식으로 검증될 수 있다. 더구나, 윈도우는 "신뢰 윈도우"를 나타낼 수 있고, 윈도우는 GUI 객체들의 컬렉션일 수 있다는 것을 알 수 있을 것이다.
이제, 도 1을 참조하면, 화면 위 렌더링시에 진짜 UI 객체의 식별을 용이하게 하는 검증 시스템(100)의 일반적인 블록도가 있다. 시스템(100)은 장치 상태를 모니터하고 장치 상태의 변경을 검출할 수 있는 검출 컴포넌트(110)를 포함한다. 장치는 랩톱, PDA, 태블릿 PC 및 데스크톱 PC와 같은 임의의 컴퓨팅 장치일 수 있다. 실제로, 자격증명의 확인, 중요 프롬프트 또는 그 밖의 결정을 수반하는, 애플리케이션 또는 웹페이지와의 사용자 상호작용이 윈도우 또는 대화 상자가 나타나게 한다는 것을 생각해보자. 예를 들어, 윈도우는 신뢰 UI 객체 저장소(130)로부터 검색되어 장치의 화면 위에 렌더링된 하나 이상의 신뢰 UI 객체(120)로 구성될 수 있다. 임의의 정보를 입력하기 전에, 또는 윈도우에 표시된 임의의 UI 객체(예를 들어, 버튼)를 클릭하기 전에, 사용자는 윈도우, 또는 오히려 그 안에 포함된 렌더링된 UI 객체가 실제로 합법적인 것이고, 신뢰 UI 객체 저장소(130)로부터 온 것이라는 것을 검증할 수 있다.
검증 모드는 사용자 장치에서 상태 변경을 일으키는 사용자에 의해 트리거될 수 있다. 검출 컴포넌트(100)는 변경을 검출할 수 있고, 특히 검증 모드가 활성화 되었다는 것을 검출할 수 있다. 검증 동안에, 검증 컴포넌트(140)는 최소한 렌더링된 UI 객체의 서브세트의 소스 또는 진정성을 확인할 수 있으므로, 부정 애플리케이션 또는 웹사이트로의 민감한 정보의 전송을 경감시킬 수 있다. 검증은 최소한 2가지 상이한 방식으로 실행될 수 있다. 첫 번째, 암호 해시가 각각의 렌더링된 UI 객체 또는 UI 번들에 대해 계산되거나 보내질 수 있다. 검증 컴포넌트(140)는 이 해시가 신뢰 UI 객체 저장소(130)에 원래 저장되어 있던 것이라는 것을 검증할 수 있다. 디지털 서명, 직접 문자열 비교, HMACS 등과 같은 임의의 적합한 해시 검증 기술이 구현될 수 있지만, 이에 제한되는 것은 아니라는 것을 알 수 있을 것이다. 두 번째, 윈도우를 렌더링하기 위해 이용된 UI 객체는 개별적으로보다 집합적으로 검증될 수 있다. 여기에서 다시, 검증 컴포넌트(140)는 컬렉션에 관한 암호 해시를 결정한 다음에, 그 해시를 신뢰 UI 객체 저장소(130)에서 찾은 것과 비교할 수 있다.
검증 성공시에, 검증 렌더링 엔진(150)은 검증된 윈도우 또는 UI 객체의 외관을 시각적으로 변경할 수 있다. 이러한 시각적 변경은 검증된 UI 객체를 상이한 색으로 및/또는 상이한 표면 텍스처 또는 이미지(예를 들어, 워터마크)로 렌더링하는 것을 포함할 수 있는데, 이에 제한되는 것은 아니다. 검증된 윈도우 또는 검증 UI 객체 집합은 또한, 동일한 디스플레이 상에, 하지만 그 디스플레이의 특정 위치에, 또는 장치에 동작 가능하게 접속된 분리된 디스플레이(예를 들어, 보조 화면/모니터) 상에 렌더링될 수 있다. 장치의 표시 화면은 또한 별개의 표시 영역(예를 들어, 삽입 뷰, 화면 속의 화면(PIP))으로 분할될 수 있고, 이에 따라 각각의 표시 영역은 분리된 운영 체제 또는 프로세서에 의해 제어된다. 이 경우에, 검증된 윈도우 또는 UI 객체는 삽입 뷰 내에 렌더링될 수 있다. 검증된 UI 객체를 상기 방식 중의 어느 방식으로 렌더링함으로써, 사용자는 신뢰 소스 또는 애플리케이션과 관련된 합법적인 UI 객체와, 알려져 있지 않거나 허가되지 않은 애플리케이션에 의해 렌더링되어 그들의 합법적인 상대인 것처럼 보이도록 의도된 위조 UI 객체 사이를 용이하게 구별할 수 있다. 검증 렌더링 엔진은 비검증 윈도우 또는 UI 객체의 외관에 시각적 변경을 제공할 수 있다는 것을 알 수 있을 것이다. 달리 말하면, 시스템(100)은 검증된 윈도우, UI 객체를 식별하기 위해, 또는 가짜 윈도우, UI 객체를 식별하기 위해, 시각적 변경을 통해 식별을 제공할 수 있다. 더욱이, 시각화 기술(예를 들어, 변환 기술 등)은 사용자/기계에 대한 진짜 및/또는 가짜 윈도우 및/또는 UI 객체를 식별할 수 있는 임의의 적합한 기술일 수 있다는 것을 인식하고 이해할 것이다. 예를 들어, 변환은 표면을 텍스처링하기 위해 직접 적용되어, 이미지를 직접 변경하는 등등을 할 수 있다.
이제, 도 2를 참조하면, 신뢰 UI 객체의 렌더링, 그러한 객체 ID의 유효성 검사, 및 그 ID의 유효성이 검사되었을 때의 그러한 진짜 UI의 외관의 변경을 용이하게 하는 검증 시스템(200)의 블록도가 있다. 시스템(200)은 렌더 요청을 처음으로 수신하고 처리하는 렌더링 컴포넌트(210)를 포함한다. 예를 들어, 사용자는 애플리케이션과 상호작용하고, 이러한 상호작용은 다수의 GUI(그래픽 사용자 인터페이스) 또는 UI 객체를 포함하는 윈도우의 렌더링을 필요로 한다. 렌더 요청은 발생되어 추적 컴포넌트(220)에 통신될 수 있는데, 추적 컴포넌트(220)는 GUI 검증 매니저(230)와 접속된다. GUI 검증 매니저(230)는 윈도우를 적절하게 렌더링하기 위해 필요한 UI 객체를 하나 이상의 신뢰 UI 객체 저장소로부터 검색한다.
신뢰 UI 객체 저장소는 로컬 시스템(240) 및/또는 원격 시스템(250)(예를 들어, 웹 서버) 상에 위치할 수 있다. UI 객체 저장소는 독립적으로 허가되고 검증된 디지털 서명 또는 암호화 UI 객체 또는 객체 번들을 포함한다는 것을 알 수 있을 것이다. 객체의 디지털 서명은 운영 체제 및 그 컴포넌트의 컴파일 또는 배포시에 발생할 수 있다. 예를 들어, 신뢰 GUI 번들은 암호화된 객체의 프로그램 컬렉션, 또는 특정 신뢰 윈도우를 렌더링하기 위해 필요한 모든 객체의 디지털 서명된 해시일 수 있다. 거의 모든 윈도우를 만들거나 렌더링하기 위해 필요한 UI 객체들의 조합이 사용자들 사이에서 변경될 가능성이 없기 때문에, 이러한 UI 객체는 안전하게 되어, 로컬 및/또는 원격으로(예를 들어, 디스크, 기타 하드웨어, 서버) 저장될 수 있다. 더구나, 청구된 주제는 디지털 서명, 암호화, 워터마크, 스테가노그래피(steganography) 변환 등과 같은(이에 제한되지 않음) 독립적인 검증 및/또는 인증을 위한 임의의 적합한 기술 및/또는 방식을 포함할 수 있다.
일단 적절한 UI 객체가 각각의 UI 객체 저장소로부터 검색되면, GUI 검증 컴포넌트(230)는 각 객체 또는 번들이 부당하게 변경되지 않았다는 것을 검증할 수 있다. 그러므로, 암호화된 번들은 렌더링 컴포넌트(210)에 반환될 수 있다. 추적 컴포넌트(220)는 렌더링을 위해 요청된 모든 또는 거의 모든 렌더링(신뢰) UI 객체 또는 번들의 내부 추적 표를 유지 관리한다. 그러나, 렌더링 컴포넌트(210)가 UI 객체의 특정 번들을 렌더링하지 못하면, 그 번들 또는 윈도우의 엔트리는 표에서 제거될 수 있다.
UI 객체의 신뢰 번들이 다시 렌더링 컴포넌트(210)에 통신될 때, 렌더링 컴포넌트(210)는 신뢰 번들 또는 윈도우를 사용자에게 적절한 화면 위에 렌더링할 수 있다. 이제, 사용자가 개인 정보를 제출하기 전에 또는 버튼을 클릭하거나 임의의 기타 정보를 제출하기 전에 이 윈도우가 실제로 합법적이라는 것을 검증하고 싶어한다고 생각해보자. 그렇게 하기 위해, 사용자는 검증 프로세스를 트리거하기 위해 시스템(200)에 의해 발견가능한 소정 유형의 사용자 기반 입력을 제공한다. 사용자 기반 입력은 키 스트로크 또는 보안 주의 시퀀스(secure attention sequence: SAS), 장치 화면 위의 지정된 위치상의 마우스 클릭, 통합된 카메라 또는 기타 센서에 의해 검출된 손 또는 손가락 제스처, 구두(verbal) 명령, 눈 움직임, 및/또는 사용자에 의해 이루어진 발견가능한 임의의 기타 유형의 물리적 움직임을 포함할 수 있지만 이에 제한되는 것이 아니고, 사용자 데스크톱의 현재 동작 모드의 상태 변경을 일으키기 위해 변환되어 사용될 수 있다.
예를 들어, 사용자가 control-alt-delete 키스트로크 시퀀스와 같은 SAS를 실행하는 것을 생각해보자. 이것은 현재의 데스크톱 상태를, 검증 프로세스를 시작하는 검증 모드로 들어가도록 트리거할 수 있다. GUI 검증 렌더링 엔진(260)은 이 상태 변경을 검출할 수 있고, 검증 요청을 처리할 수 있다. GUI 검증 렌더링 엔진(260)은 운영 체제(OS)의 사용자 모드 컴포넌트로 생각될 수 있다. 검증 프로세스가 시작될 때, GUI 검증 렌더링 엔진(260)은 현재 렌더링된 윈도우를 모두 열거할 수 있고, 이들 윈도우를 신뢰 윈도우로서 태그가 달렸는지에 따라 분류할 수 있다. 각각의 신뢰 윈도우(예를 들어, vWindow)에 대해, GUI 검증 렌더링 엔진(260)은 GUI 검증 매니저(230)에게, 각 신뢰 윈도우가 가짜가 아니고 정말로 신뢰 윈도우라는 것을 검증하라고 요청한다. 이것은 현재 렌더링되는 모든 객체의 암호 해시를 계산하거나 보냄으로써 부분적으로 달성될 수 있다. GUI 검증 매니저(230)는 이 해시가 최소한 하나의 신뢰 GUI 객체 저장소(240, 250)에 원래 저장된 것이라는 것을 검증할 수 있다.
신뢰 윈도우가 합법적인 것이라고 검증될 때, GUI 검증 렌더링 엔진(260)은 검증된(신뢰) 윈도우 또는 UI 객체 상에서 하나 이상의 시각적 변환을 실행할 수 있다. 예를 들어, 검증된 윈도우의 색이 특정 색으로 변경될 수 있다. 하나 이상의 변환을 위한 파라미터는 검증된 윈도우를 비검증 윈도우와 다르게 렌더링하기 위해 적절한 렌더링 컴포넌트 또는 서브컴포넌트에 통신될 수 있다. 몇몇 경우에, 또는 바람직한 경우에, 검증된 윈도우만이 표시될 수 있으므로, 임의의 비검증 윈도우를 화면에서 제거할 수 있다.
검증된 윈도우 또는 UI 객체에 적용된 시각적 변환은 사용자가 소정의 지정된 동작을 실행하거나 그 밖에 데스크톱과 상호작용할 때까지 영구 상태로 지속될 수 있다. 대안적으로, 변환은 일시적일 수 있고, (예를 들어, 미리 설정된 타이머에 따라) 일정 기간 경과 후에 사라질 수 있다.
검증된 윈도우의 일반적인 외관 또는 표면 텍스처에 영향을 주는 것 외에, 시각적 변환은 또한 검증된 윈도우를 다른 외부 디스플레이 상에 렌더링하는 것을 포함할 수 있다. 예를 들어, 사용자는 검증된 윈도우만을 표시하도록 외부 디스플 레이를 지정할 수 있다.
검증은 검증 모드 데스크톱으로서 동작하는 분리된 데스크톱과 같은 기존의 신뢰 UI를 통해 발생할 수 있다. 이와 유사하게, 사용자에게는 검증된 신뢰 윈도우(또는 검증된 vWindow)만을 렌더링하는 상이한 데스크톱이 제공될 수 있다. 이 경우에, 분리된 입력 방법은 이들 UI 객체와 상호작용하기 위해 요구될 수 있다. 그러므로, 사용자에 의한 GUI 상호작용은 운영 체제 및 GUI와 상호작용하는 다른 컴포넌트를 통해 다시 원래의 데스크톱으로 위임될 수 있다. 그 밖에, 검증은 사용자의 컴퓨터에 부착된 PDA(personal digital assistant) 상에서와 같은 외부 UI를 통해 발생할 수 있다.
도 3은 UI 객체를 검증하고, 허가된 UI 객체와 그 밖의 미지의 애플리케이션에 의해 렌더링된 것들 사이를 쉽게 구별하기 위해 UI 객체를 사용자에게 다르게 렌더링하는 것을 용이하게 하는 검증 시스템(300)의 포괄적인 블록도이다. 시스템(300)은 최소한 2가지 주요 동작: 신뢰 윈도우의 렌더링 및 이들 신뢰 윈도우의 ID의 검증을 실행할 수 있다. 실제로, 예를 들어, 사용자는 vWindow 또는 소정의 다른 식별가능 UI 객체에, 이를테면 자격증명 대화상자에 렌더링되도록 요구하는 동작을 실행한다. 이 vWindow를 렌더링하라는 요청은 발생된 다음에, 사용자 GUI 서브시스템(310)을 지나 OS 커널(320)(OS 매니저)로 들어갈 수 있다. OS 커널(320)은 요청이 vWindow에 대한 것이라는 것을 인식한 다음에, 특정 번들을 GUI 검증 매니저(330)로부터 요청한다. GUI 검증 매니저(330)는 하나 이상의 신뢰 GUI 번들 저장소(340)로부터 그 vWindow를 찾기 위해 대응하는 신뢰 GUI 번들을 검색한 다. OS 커널(320)은 암호화된 번들을 사용자 GUI 서브시스템에 반환하고, 그 vWondow를, 렌더링되고 있는 모든 현재의 vWindow의 자신의 내부 추적 표(350)에 추가한다. GUI 서브시스템(310)은 이 암호화된 번들을 적절한 사용자 GUI 인스턴스(예를 들어, 호출 인스턴스)에 보내고, 추정된 vWindow는 사용자에게 렌더링된다(360). 그러나, 사용자 GUI 서브시스템(310)이 vWindow를 렌더링하지 못하면, 그 엔트리는 추적 표(350)에서 제거된다.
사용자에게 렌더링되었을 때, 추정된 vWindow(360)는 일반적으로, 화면 위에 보이는 임의의 다른 윈도우와 구별할 수 없게 보이는데, 이것은 윈도우의 소스가, 윈도우가 보이는 그대로인지 분별하기 어렵게 한다. 사용자에게 이 판정을 더욱 쉽게 하게 하기 위해, 사용자는 참 vWindow가 다른 윈도우와 시각적으로 다른 방식으로 렌더링되는 검증 모드를 활성화할 수 있다. 앞에서, 도 1 및 2에서 설명된 바와 같이, GUI 검증 매니저(330)는 렌더링된 vWindow의 암호 해시를, 신뢰 UI 번들 저장소(340)에 원래 저장된 것들과 비교할 수 있다. 일치가 발견되거나 확인되면, 검증은 성공으로 간주될 수 있고, vWindow는 그 ID가 검증되었고 합법적이라는 것을 나타내기 위해 시각적으로 변경될 수 있다(370).
도 4 및 5의 윈도우는 검증된 윈도우를 비검증 윈도우와 용이하게 구별하기 위해 적용될 수 있는 다양한 시각적 변환을 보여준다. 더욱 구체적으로, 도 4는 하나 이상의 UI 객체를 포함하는 예시적인 윈도우(400)를 도시한 것으로, UI 객체의 ID는 그 진정성 및 소스를 판정하기 위해 검증될 수 있다. 여기에서, 사용자는 계정 정보를 액세스하기 위해 민감 정보를 입력하라고 재촉받는다. 이러한 정보를 입력하기 전에, 사용자는 이 윈도우(400)의 소스를 검증할 수 있다.
도 5는 UI 객체의 검증 다음에 렌더링된 결과적인 윈도우를 도시한 것이다. 특히, 도 4로부터의 윈도우(400)는 윈도우의 가장자리 주위의 녹색 테두리의 추가에 의해 시각적으로 변경되었다. 임의의 색 테두리는 사용자에게 쉽게 구별되는 정도까지 선택될 수 있다는 것을 알 수 있을 것이다. 대안적으로 또는 추가로, 텍스처 또는 오버레이(overlay)가 사용자의 표면에 부가될 수 있다. 여기에서, 도트 또는 범프가 있는 표면이 윈도우 표면 위에 부가되었다. 일단 사용자가 검증 윈도우와 소정의 방식으로 상호작용하면, 시각적 변환은 사라질 수 있다. 더욱이, 시각화 기술(예를 들어, 변환 기술 등)은 사용자/기계에 대한 진짜 및/또는 가짜 윈도우 및/또는 UI 객체를 식별할 수 있는 임의의 적합한 기술일 수 있다는 것을 인식하고 이해할 것이다. 예를 들어, 변환은 표면을 텍스처링하기 위해 직접 적용되어, 직접 이미지를 변경하는 등등을 할 수 있다.
몇몇 경우에, 사용자는 전체 윈도우 및 그 안에 포함된 모든 UI 객체를 검증하고 싶어하지 않거나 검증할 필요가 없을 수 있다. 이러한 경우에, 사용자는 어떤 UI 객체 또는 서브 윈도우가 검증되기를 바라는지 선택할 수 있다. 다른 예에서, 사용자 인터페이스는 검증 프로세스의 일부분일 수 있다(예를 들어, UI 요소들 중의 선택된 요소는 신뢰 원격 워크스테이션에 존재하고, 사용자의 로컬 워크스테이션에 없을 수 있다). 도 6은 렌더링된 웹 페이지 윈도우(600)의 예시적인 사용자 인터페이스를 도시한 것이다. 점선 영역(610)에 의해 나타낸 바와 같이, UI 객체는 선택적인 방식으로 검증을 받을 수 있다. 사용자는 어떤 UI 객체를 검증할 것인지 선택할 수 있고, 또는 윈도우에 렌더링된 UI 객체를 평가하고 개인정보 또는 보안 문제와 관련하여 막대하게 사용자에게 영향을 미칠 가능성이 있는지 판정하는 UI 객체 분석기(도시 생략)에 의해 안내받을 수 있다. 그 후, 분석기는 어떤 UI 객체를 검증할 것인지 제안할 수 있고, 또는 자동으로 그것을 선택할 수 있다.
도 6에 이어서, 도 7은 선택된 UI 객체(710)가 검증된 후의 웹 페이지(700)의 결과적인 뷰를 도시한 것이다. 알 수 있는 바와 같이, 영향받은 UI 객체는 색(예를 들어, 선택된 UI 객체 주위의 색 테두리)을 사용하여 시각적으로 변경되었으므로, 사용자는 선택된 UI 객체(710)가 실제로 검증되었고 신뢰할 수 있는 것으로 생각될 수 있다는 것을 용이하게 인식할 수 있다. 웹 페이지의 다른 부분은 검증 프로세스에 의해 변경되지 않고 영향받지 않은 그대로이다. 광고도 또한 스패머(spammer) 또는 기타 부정 회사에 의해 운영된 링크의 클릭을 경감시키기 위해 검증될 수 있다는 것을 알 수 있을 것이다.
UI 객체의 렌더링 및 렌더링된 UI 객체의 검증은 단일 운영 체제에서 실행될 수 있는데, 검증된 UI 객체는 임의의 비검증 UI 객체와 함께 또는 그러한 비검증 UI 객체 없이 단일 디스플레이 상에 나타날 수 있다(예를 들어, 아래의 도 8). 대안적으로, 이중(dual) 운영 체제가 렌더링 및 검증을 실행하기 위해 이용될 수 있다. 이중 디스플레이는 각 운영 체제와 대응하기 위해 이용될 수 있다. 예를 들어, 제1 운영 체제 및 디스플레이는 처음에 UI 객체를 렌더링하고 그 ID를 검증하기 위해 사용될 수 있는 반면, 제2 운영 체제는 제1 운영 체제와 통신하여, 검증된 UI 객체만을 렌더링하고 그 UI 객체와 상호작용하기 위해 이용될 수 있다(예를 들 어, 아래의 도 9).
그러나, 이중 디스플레이는 이중 운영 체제를 사용할 때 요구되지 않는다. 특히, 단일 디스플레이는 이중 운영 체제에 의해 공유될 수 있고, 이에 따라 한 운영 체제는 디스플레이의 일부를 제어하고, 다른 운영 체제는 디스플레이의 다른 부분을 제어한다(예를 들어, 화면 속 화면 디스플레이). 검증 UI 객체가 디스플레이의 지정된 절반을 사용하여 뷰잉되고 및/또는 상호작용될 수 있고, 그외 모든 비검증 UI 객체는 다른 절반에서 뷰잉되고 및/또는 조작처리될 수 있다는 것을 생각해보자. 디스플레이의 예는 컴퓨팅 장치 화면, 주변 모니터/화면, 텔레비전 모니터 등을 포함할 수 있는데 이에 제한되는 것은 아니라는 것을 이해할 것이다. 예를 들어, 검증된 윈도우만이, 사용자의 컴퓨팅 장치에 부착된 스마트폰의 화면과 같은 외부 UI 디스플레이 상에 시각화될 수 있다.
이제, 도 8을 참조하면, 검증되고 허가된 UI 객체에 대한 시각적 변환의 예시적인 애플리케이션이 도시된다. 특히, 디스플레이 A(810)는 처음에 사용자에게 계정 자격증명 확인 윈도우(820)를 제시한다. 임의의 요청 정보를 입력하기 전에, 사용자는 계정 자격증명 윈도우(820)의 진정성을 검증하기 위해 검증 모드(830)를 활성화할 수 있다. 여전히 검증 모드에 있는 동안, 검증된 계정 자격증명 확인 윈도우(840)는 윈도우가 검증되었다는 것을 눈에 띄게 나타내는 하나 이상의 시각적 변환을 사용하여 사용자에게 제시될 수 있다. 도 8에 도시된 바와 같이, 사용자는 이 윈도우(840)가 검증되었다는 것을 용이하게 시각화할 수 있다. 첫째, 계정 자격증명 확인 윈도우(840)는 윈도우 주위에 색 테두리를 갖고; 둘째, 윈도우(840)는 검증된 UI 객체 또는 윈도우를 렌더링하기 위해 지정된 디스플레이 A 상의 특정 위치에 제시된다. 계정 자격증명 확인 윈도우(840)와 함께 화면 위에 다른 비검증 UI 객체가 제시되어 있으면, 이들 비검증 UI 객체는 원래 렌더링된 것처럼 보일 수 있다. 대안적으로, 이들은 디스플레이에서 완전히 제거될 수 있고, 또는 검증된 윈도우에 비해 희미하거나 흐리게 보이도록 될 수 있다.
검증된 UI 객체 또는 윈도우는 또한 도 9에 도시된 바와 같이 분리된 디스플레이 상에 제시될 수 있다. 검증 프로세스의 완료 후, 검증된 윈도우 또는 검증된 UI 객체는 분리된 화면: 디스플레이 B 상에 렌더링될 수 있다. 임의의 비검증 윈도우 또는 UI 객체는 원래 렌더링된 디스플레이: 디스플레이 A 상에서 그대로 보일 수 있다. 게다가, 원래 디스플레이 A 상에 렌더링된 모든 콘텐트는 그대로 남아있을 수 있다. 이러한 상황 설정 하에, 분리된 화면은 오로지, 사용자에게, 선택된 윈도우가 검증되었고, 사용자가 디스플레이 A 콘텐트와의 상호작용을 계속 할 수 있다는 것을 알려주기 위해 이용될 수 있다. 대안적으로, 분리된 운영 체제 및/또는 입력 메커니즘은 디스플레이 B에 표시된 검증된 콘텐트를 제어할 수 있다. 도 9에 구체적으로 도시되지는 않았지만, 그외 다른 시각적 변환이 또한 검증된 윈도우에 적용될 수 있다는 것을 이해할 수 있을 것이다.
다양한 방법은 이제 일련의 액트를 통해 설명될 것이다. 본 시스템 및/또는 방법은 일부 액트가 본 애플리케이션에 따라, 여기에 도시되고 설명된 다른 액트와 상이한 순서로 및/또는 그와 동시에 발생할 수 있다는 것을 이해하고 인식할 것이다. 예를 들어, 본 분야에 숙련된 기술자들은 방법이 대안적으로 상태도에서와 같 이 일련의 서로 관련된 상태 또는 이벤트로서 나타내질 수 있다는 것을 이해하고 인식할 것이다. 더구나, 본 애플리케이션에 따라 방법을 구현하기 위해, 도시된 모든 액트가 요구되는 것은 아니다.
이제, 도 10을 참조하면, 화면 위 렌더링시에 진짜 UI 객체의 식별을 용이하게 하는 예시적인 방법(1000)을 도시한 흐름도가 있다. 방법(1000)은 vWindow(또는 하나 이상의 신뢰 UI 객체)를 렌더링하는 단계(1010)를 포함한다. 방법(1000)에 나타내지는 않았지만, 단계(1010)에서 렌더링된 vWindow는 나중 참조를 위해 추적표 내로 기록될 수 있다.
단계(1020)에서, vWindow의 진정성은 vWindow의 계산된 해시를 신뢰 UI 객체 데이터 저장소에 저장된 해시 값과 대조함으로써 최소한 부분적으로 검증될 수 있다. 허가된 vWindow는 최소한 하나의 시각적 변환을 사용하여 렌더링될 수 있다(단계(1030)). 몇몇 경우에, 검증은 해시 기술을 사용하여 실패할 수 있다. 이러한 일이 발생하면, 방법(1000)은 vWindow가 목록에 있는지 판정하기 위해 추적표를 참조할 수 있다. 목록에 있으면, vWindow는 허가되고, 이에 따라 시각적으로 변경될 수 있다. 도 10에 도시되지는 않았지만, 방법(1000)은 또한 다른 vWindow를 포함하는 기타 윈도우와 다르게 렌더링되고 있는 허가된 vWindow의 기록을 추적하고 유지관리할 수 있다.
방법(1000)에서뿐만 아니라 앞에서 설명된 vWindow의 관리는 사용자의 컴퓨팅 장치의 운영 체제 내에서 또는 소정의 다른 중앙 기관(예를 들어, 서명 기관) 내에서 발생할 수 있다는 것을 알 수 있을 것이다. 중앙 기관은 vWindow를 관리하 고, 이들을 운영 체제 사용자에게 배포하며, 요청한 대로 이들을 검증할 수 있다.
도 11을 참조하면, 예시적인 방법(1100)을 도시한 흐름도가 있는데, 이 방법은 진짜 UI 객체를 렌더링하고, 그 ID가 합법적임을 확인하며, 일단 그 ID의 유효성이 검사되었으면 그러한 진짜 UI 객체의 외관을 변경하는 것을 용이하게 한다. 방법(1100)은 하나 이상의 신뢰 UI 객체를 렌더링하라는 요청을 수신하는 단계(1110)를 포함한다. 단계(1120)에서, 하나 이상의 UI 객체는 최소한 하나의 신뢰 UI 객체 데이터 저장소로부터 로컬 및/또는 원격으로 검색될 수 있다. 그 다음, 하나 이상의 신뢰 UI 객체는 사용자에게 렌더링될 수 있다(단계(1130)). 단계(1130)에서 렌더링된 하나 이상의 신뢰 UI 객체는 또한, 어떤 신뢰 UI 객체가 특정 사용자에게 렌더링 되었는지 추적하기 위해 표에 기록될 수 있다(단계(1140)).
단계(1150)에서, 방법은 단계(1130)에서 렌더링된 하나 이상의 UI 신뢰 객체의 검증을 시작하는 발견가능 사용자 기반 동작을 검출할 수 있다. 사용자는 렌더링된 UI 객체의 전부 또는 그 서브세트의 검증을 요청할 수 있다. 단계(1160)에서, 선택된 UI 객체의 ID 또는 소스가 검증될 수 있다. 긍정적으로 검증되거나 또는 검증되지 않는 객체는 하나 이상의 시각 변환을 사용하여 다시 렌더링될 수 있다(단계(1170)). 시각 변환의 예는 UI 객체(또는 윈도우) 주위의 테두리 또는 유색 테두리의 부가, 오버레이를 사용한 윈도우 또는 UI 객체의 표면의 텍스처의 변경, 비검증 객체의 반투명성의 증가 또는 디스플레이로부터의 이들의 제거, 검증된 윈도우 또는 UI 객체의 강조 표시, 객체 또는 윈도우의 크기 변경 등을 포함하는데, 이에 제한되는 것은 아니다. 게다가, 검증된 객체 또는 윈도우는 지정된 디스 플레이의 특정 위치에서 렌더링될 수 있다. 디스플레이는 처음에 신뢰 객체 또는 윈도우를 렌덩링하기 위해 사용된 것과 동일한 디스플레이일 수 있고, 또는 분리된 외부 디스플레이일 수 있다.
검증이 실패하거나 vWindow가 검증 프로세스를 통해 검증될 수 없으면, 도 12에 제시된 예시적인 방법(1200)이 동작 과정을 제공한다. 방법(1200)은, 예를 들어 방법(1000)에 의해 단계(1110)에서 렌더링된 신뢰 vWindow의 추적표를 참고하거나 참조하는 단계(1210)를 포함한다. 추적표에 있으면, 검증은 성공하고, 이에 따라 하나 이상의 시각 변환이 적용될 수 있다(단계(1220)). 그러나, 검증이 여전히 잘 되지 않으면, 비검증 vWindow는 vWindow가 검증될 수 없다는 것을 사용자가 시각적으로 알아차리도록 시각적으로 변경될 수 있다(예를 들어, 희미해지거나 그렇지 않으면 덜 강조된다)(단계(1230)).
그러나, 검증이 성공하면, 다음 중 최소한 한 가지가 도 13에 나타낸 바와 같이 검증된 vWindow 상에서 실행될 수 있다. 단계(1310)에서, 검증된 vWindow는 다른 비검증 vWindow와 쉽게 구별하기 위해, 이를테면 색, 표면 텍스처 또는 오버레이, 또는 소정의 다른 눈에 띄는 변경을 vWindow에 추가함으로써 시각적으로 변경될 수 있다. 추가로 또는 대안적으로, 검증된 vWindow(또는 UI 객체)는 분리된 디스플레이 또는 데스크톱 상에, 또는 동일한 디스플레이 또는 데스크톱의 지정된 부분 위에 렌더링될 수 있다. 단계(1320)에서, 검증된 vWindow는 운영 체제 또는 중앙 기관이 어떤 윈도우가 상이하게 렌더링되고 있는지에 관한 추적을 계속할 수 있도록 표 또는 목록에 기록될 수 있다.
시각적 변환 또는 변경은 사용자가 검증된 vWindow 또는 UI 객체와 소정의 방식으로, 또는 설정된 기간에만 일시적으로 상호작용할 때까지 지속적으로 유효할 수 있다. 예를 들어, 검증시에 색 테두리가 윈도우에 추가되는 것을 생각해보자. 이 색 테두리는 사용자가 윈도우를 클릭할 때까지(영구적) 또는 10초 경과할 때까지(일시적) 계속 존재할 수 있다.
본 발명의 다양한 실시예에 대한 추가 설명을 제공하기 위해, 도 14 및 다음 설명은 본 발명의 다양한 실시양상이 구현될 수 있는 적합한 운영 환경(1410)의 간단한 일반 설명을 제공하고자 하는 것이다. 본 발명이 하나 이상의 컴퓨터 또는 기타 장치에 의해 실행된 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 일반적으로 관련하여 설명되지만, 본 분야에 숙련된 기술자들은 본 발명이 또한 기타 프로그램 모듈과 조합하여 및/또는 하드웨어와 소프트웨어의 조합으로서 구현될 수 있다는 것을 인식할 것이다.
그러나, 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 운영 환경(1410)은 적합한 운영 환경의 일례에 불과하며, 본 발명 용도 또는 기능성의 범위에 관해 어떤 제한을 암시하고자 하는 것이 아니다. 본 발명에서 사용하는데 적합할 수 있는 그 밖의 잘 알려진 컴퓨터 시스템, 환경 및/또는 구성은 퍼스널 컴퓨터, 핸드헬드 또는 랩톱 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 프로그램가능한 소비자 전자 제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템 또는 장치를 포함하는 분산 컴퓨팅 환경, 기타 등등이 있 지만 이에 제한되는 것은 아니다.
도 14와 관련하여, 본 발명의 다양한 실시양상을 구현하는 예시적인 환경(1410)은 컴퓨터(1412)를 포함한다. 컴퓨터(1412)는 처리 장치(1414), 시스템 메모리(1416) 및 시스템 버스(1418)를 포함한다. 시스템 버스(1418)는 시스템 메모리(1416)를 포함하는(제한되지는 않음) 시스템 컴포넌트들을 처리 장치(1414)에 연결한다. 처리 장치(1414)는 각종 시판중인 프로세서들 중의 어느 것이라도 될 수 있다. 듀얼 마이크로프로세서 및 기타 멀티프로세서 아키텍처가 또한 처리 장치(1414)로서 이용될 수 있다.
시스템 버스(1418)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스 또는 외부 버스, 및/또는 각종 이용가능 버스 아키텍처 중의 임의의 것을 이용하는 로컬 버스를 비롯한 몇몇 유형의 버스 구조(들) 중 어느 것이라도 될 수 있는데, 이러한 버스 아키텍처는 11비트 버스, ISA(industry standard architecture), MCA(micro channel architecture), EISA(Enhanced ISA), IDE(Intelligent Drive Electronics), VLB(VESA Local Bus), PCI(peripheral component interconnect), USB(Universal Serial Bus), AGP(Advanced Graphics Port), PCMCIA(Personal Computer Memory Card International Association bus) 및 SCSI(Small Computer Systems Interface)를 포함하지만 이에 제한되는 것은 아니다.
시스템 메모리(1416)는 휘발성 메모리(1420) 및 비휘발성 메모리(1422)를 포함한다. 시동 중과 같은 때에, 컴퓨터(1412) 내의 구성요소들 사이의 정보를 전송하는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)은 비휘발성 메모리(1422) 내에 저장되어 있다. 예시적으로, 비휘발성 메모리(1422)는 판독 전용 메모리(ROM), 프로그램가능 ROM(PROM), 전기적으로 프로그램가능 ROM(EPROM), 전기적으로 소거가능 프로그램가능 ROM(EEPROM) 또는 플래시 메모리를 포함할 수 있지만 이에 제한되는 것은 아니다. 휘발성 메모리(1420)는 외부 캐시 메모리로서 동작하는 랜덤 액세스 메모리(RAM)를 포함한다. 예시적으로, RAM은 동기식 RAM(SRAM), 동적 RAM(DRAM), 동기식 DRAM(SDRAM), 2배속 SDRAM(DDR SDRAM), 인핸스드 SDRAM(ESDRAM), 싱크링크 DRAM(SLDRAM) 및 다이렉트 램버스 RAM(DRRAM)과 같은 많은 형태로 이용가능한데, 이에 제한되는 것은 아니다.
컴퓨터(1412)는 또한 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체를 포함한다. 도 14는, 예를 들어 디스크 저장 장치(1424)를 도시하고 있다. 디스크 저장 장치(1424)는 자기 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, 재즈(Jaz) 드라이브, 지프(Zip) 드라이브, LS-100 드라이브, 플래시 메모리 카드 또는 메모리 스틱과 같은 장치를 포함하는데, 이에 제한되는 것은 아니다. 또한, 디스크 저장 장치(1424)는 컴팩트 디스크 ROM 장치(CD-ROM), CD 기록가능 드라이브(CD-R Drive), CD 재기입가능 드라이브(CD-RW Drive) 또는 DVD-ROM 드라이브(digital versatile disk ROM)와 같은 광 디스크 드라이브를 포함하는(이것에 제한되지 않음) 기타 저장 매체와 결합하여 또는 분리하여 저장 매체를 포함할 수 있다. 시스템 버스(1418)로의 디스크 저장 장치(1424)의 접속을 용이하게 하기 위해, 인터페이스(1426)와 같은 이동식 또는 비이동식 인터페이스가 통상적으로 사용된다.
도 14는 적합한 운영 환경(1410)에서 설명된 기본 컴퓨터 자원들과 사용자들 사이의 중간자로서 동작하는 소프트웨어를 설명하고 있다는 것을 알 수 있을 것이다. 그러한 소프트웨어는 운영 체제(1428)를 포함한다. 디스크 저장 장치(1424) 상에 저장될 수 있는 운영 체제(1428)는 컴퓨터 시스템(1412)의 자원을 제어하고 할당하는 동작을 한다. 시스템 애플리케이션(1430)은 시스템 메모리(1416) 내에 또는 디스크 저장 장치(1424) 상에 저장된 프로그램 모듈(1432) 및 프로그램 데이터(1434)를 통해 운영 체제(1428)에 의한 자원 관리를 이용한다. 본 발명은 다양한 운영 체제들, 또는 운영 체제들의 조합으로 구현될 수 있다는 것을 알 수 있을 것이다.
사용자는 입력 장치(들)(1436)를 통해 명령 또는 정보를 컴퓨터(1412)에 입력한다. 입력 장치(1436)는 마우스, 트랙볼, 스타일러스, 터치패드와 같은 포인팅 장치, 키보드, 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너, TV 튜너 카드, 디지털 카메라, 디지털 비디오 카메라, 웹 카메라 등을 포함하는데 이에 제한되는 것은 아니다. 이들 및 기타 입력 장치는 인터페이스 포트(들)(1438)를 경유하여 시스템 버스(1418)를 통해 처리 장치(1414)에 접속한다. 인터페이스 포트(들)(1438)는 예를 들어, 직렬 포트, 병렬 포트, 게임 포트 및 USB(universal serial bus)를 포함한다. 출력 장치(들)(1440)는 입력 장치(들)(1436)와 동일한 유형의 포트들 중의 소정의 것을 사용한다. 그러므로, 예를 들어, USB 포트는 컴퓨터(1412)에 입력을 제공하고, 컴퓨터(1412)로부터의 정보를 출력 장치(1440)에 출력하기 위해 사용될 수 있다. 출력 어댑터(1442)는 기타 출력 장치(1440) 중에 서 특히, 특정 어댑터를 필요로 하는 모니터, 스피커 및 프린터와 같은 몇몇 출력 장치(1440)가 있다는 것을 나타내기 위해 제공된다. 출력 어댑터(1442)는 출력 장치(1440)와 시스템 버스(1418) 사이에 접속 수단을 제공하는 비디오 및 사운드 카드를 예시적으로 포함하는데, 이에 제한되는 것은 아니다. 원격 컴퓨터(들)(1444)과 같은 기타 장치 및/또는 장치의 시스템은 입력 및 출력 능력을 제공한다는 것을 알 수 있을 것이다.
컴퓨터(1412)는 원격 컴퓨터(들)(1444)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1444)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 워크스테이션, 마이크로프로세서 기반 가전제품, 피어 장치 또는 기타 공통 네트워크 노드 등일 수 있고, 통상적으로 컴퓨터(1412)와 관련하여 설명된 구성요소들의 대부분 또는 그 전부를 포함한다. 간결하게 하기 위해, 하나의 메모리 저장 장치(1446)만이 원격 컴퓨터(들)(1444)와 함께 도시되어 있다. 원격 컴퓨터(들)(1444)는 네트워크 인터페이스(1448)를 통해 컴퓨터(1412)에 논리적으로 접속된 다음에, 통신 접속(1450)을 통해 물리적으로 접속된다. 네트워크 인터페이스(1448)는 LAN 및 WAN과 같은 통신 네트워크를 포함한다. LAN 기술은 FDDI(Fiber Distributed Data Interface), CDDI(Copper Distributed Data Interface), 이더넷(Ethernet)/IEEE 1102.3, 토큰 링(Token Ring)/IEEE 1102.5 등을 포함한다. WAN 기술은 점 대 점 링크, ISDN(Integrated Services Digital Networks) 및 그 변형과 같은 회선 교환망, 패킷 교환망 및 DSL(Digital Subscriber Lines)을 포함하는데 이에 제한되는 것은 아 니다.
통신 접속(들)(1450)은 네트워크 인터페이스(1448)를 버스(1418)에 접속하기 위해 이용된 하드웨어/소프트웨어를 나타낸다. 통신 접속(1450)은 명확하게 도시하기 위해 컴퓨터(1412) 내부에 도시되었지만, 컴퓨터(1412)의 외부에도 있을 수 있다. 네트워크 인터페이스(1448)에 접속하기 위해 필요한 하드웨어/소프트웨어는 단지 예시적인 목적을 위해, 일반 전화 등급 모뎀, 케이블 모뎀 및 DSL 모뎀을 포함하는 모뎀, ISDN 어댑터 및 이더넷 카드와 같은 내부 및 외부 기술을 포함한다.
상기 설명된 것은 본 시스템 및/또는 방법의 예를 포함한다. 물론, 본 시스템 및/또는 방법을 설명하기 위해 컴포넌트 또는 방법의 가능한 모든 조합을 설명할 수는 없지만, 본 분야에 숙련된 기술자는 본 시스템 및/또는 방법의 더 많은 조합과 변경이 가능하다는 것을 인식할 것이다. 따라서, 본 시스템 및/또는 방법은 첨부된 청구범위의 정신 및 범위 내에서 그러한 모든 변경, 수정 및 변형을 포함하고자 하는 것이다. 더욱이, 용어 "includes"가 상세한 설명 또는 청구범위에서 사용되는 한도까지, 그러한 용어는 "comprising"이라는 용어가 청구범위에서 전이구로서 이용될 때 해석되는 바와 같이 "comprising"이라는 용어와 유사한 방식으로 포괄적인 의미로 사용하고자 하는 것이다.

Claims (20)

  1. 디스플레이 장치;
    상기 디스플레이 장치의 디스플레이상에서 렌더링되는 객체들의 집합(a collection of objects)에 관해 검증 모드의 활성화(activation)를 검출하도록 구성되는 검출 컴포넌트;
    상기 검증 모드에서 상기 객체들의 집합의 신뢰성(authenticity)을 검증하도록 구성되는 검증 컴포넌트; 및
    상기 객체들의 집합의 적어도 하나의 객체의 신뢰성이 검증되면 상기 적어도 하나의 객체를 변경된 외관으로 다시 렌더링(re-rendering)하고, 상기 적어도 하나의 객체의 신뢰성이 검증되지 않으면 상기 적어도 하나의 객체에 대해 희미해짐(fading out), 반투명성 증가 및 별개의 디스플레이상에서의 렌더링 중 적어도 하나를 실행하도록 구성되는 검증 렌더링 엔진을 포함하고,
    상기 검증 렌더링 엔진은 검증된 객체를 렌더링하도록 디자인된 상기 디스플레이상의 위치에 상기 적어도 하나의 객체를 다시 렌더링하도록 구성되며,
    상기 위치는 상기 디스플레이상의 상기 적어도 하나의 객체의 초기 위치와 다른
    시스템.
  2. 제1항에 있어서,
    상기 적어도 하나의 객체의 신뢰성에 대한 검증 이전에, 상기 디스플레이상에 상기 객체들의 집합을 처음으로 렌더링하도록 구성되는 렌더링 컴포넌트를 더 포함하는
    시스템.
  3. 제1항에 있어서,
    상기 객체들의 집합과의 비교를 위해 신뢰성이 있는 것으로 검증된 하나 이상의 객체를 저장하는 하나 이상의 객체 저장소를 더 포함하는
    시스템.
  4. 제1항에 있어서,
    상기 적어도 하나의 객체는 버튼, 텍스트, 이미지, 아이콘, 데이터 필드 및 광고 중 적어도 하나를 포함하는
    시스템.
  5. 제3항에 있어서,
    상기 하나 이상의 객체는 디지털 서명된 객체, 암호화된 객체, 워터마킹된(watermarked) 객체 및 스테가노그래피 변환된(steganographically transformed) 객체 중 적어도 하나를 포함하는
    시스템.
  6. 제3항에 있어서,
    상기 검증 컴포넌트는 상기 객체에 대한 해시를 상기 하나 이상의 객체 저장소에 대응하는 해시 값과 비교하여 적어도 부분적으로 상기 적어도 하나의 객체의 ID를 검증하도록 구성되는
    시스템.
  7. 제1항에 있어서,
    상기 변경된 외관은 사전 설정된 기간 동안 유지되도록 구성되는
    시스템.
  8. 제7항에 있어서,
    상기 변경된 외관은 색 추가, 색 변경, 테두리 추가, 강조 표시, 표면 텍스처 추가 또는 변경, 상기 디스플레이에서의 상기 적어도 하나의 객체의 위치 변경 중 적어도 하나를 포함하는
    시스템.
  9. 제1항에 있어서,
    상기 변경된 외관은 상기 디스플레이와의 상호작용을 나타내는 입력이 검출될 때까지 지속되도록 구성되는
    시스템.
  10. 제1항에 있어서,
    상기 검증 컴포넌트는 검증될 하나 이상의 디스플레이된 객체에 대한 선택을 나타내는 입력에 기초하여 복수의 디스플레이된 객체 중 하나 이상의 객체의 신뢰성을 검증하도록 구성되는
    시스템.
  11. 객체들의 집합을 디스플레이 장치상에 디스플레이하는 단계;
    상기 객체들의 집합에 검증 프로세스를 적용하는 단계; 및
    상기 객체들의 집합의 적어도 하나의 객체가 신뢰성이 있다는 검증에 응답하여, 상기 검증된 객체를 디스플레이하도록 디자인된 상기 디스플레이 장치상의 위치에서 상기 적어도 하나의 객체를 수정된 외관으로 다시 디스플레이하는 단계 - 상기 위치는 상기 디스플레이 장치상의 상기 적어도 하나의 객체의 초기 위치와 다름 - ; 및
    상기 적어도 하나의 객체가 신뢰성이 없다는 결정에 응답하여, 상기 적어도 하나의 객체에 대해 희미해짐, 반투명성 증가 및 별개의 디스플레이상에서의 렌더링 중 적어도 하나를 실행하는 단계를 포함하는
    컴퓨터 구현 방법.
  12. 제11항에 있어서,
    상기 수정된 외관을 가진 적어도 하나의 객체를 추적하는 단계를 더 포함하는
    컴퓨터 구현 방법.
  13. 제11항에 있어서,
    상기 적어도 하나의 객체를 상기 수정된 외관으로 다시 디스플레이하는 단계는 상기 적어도 하나의 객체를 변경된 색으로 다시 디스플레이하는 단계를 포함하는
    컴퓨터 구현 방법.
  14. 제11항에 있어서,
    상기 적어도 하나의 객체를 상기 수정된 외관으로 다시 디스플레이하는 단계는 상기 적어도 하나의 객체를 변경된 텍스처로 다시 디스플레이하는 단계를 포함하는
    컴퓨터 구현 방법.
  15. 제11항에 있어서,
    상기 검증에 적용가능한 검증 모드로 상태를 변경하는 입력을 검출하는 단계를 더 포함하는
    컴퓨터 구현 방법.
  16. 제11항에 있어서,
    상기 수정된 외관이 일정 기간 유지되게 하는 단계를 더 포함하는
    컴퓨터 구현 방법.
  17. 컴퓨팅 장치에 의해 실행되는 경우에 상기 컴퓨팅 장치로 하여금 방법을 수행하게 하는 명령어들이 저장된 컴퓨터-판독가능 저장 매체로서,
    상기 방법은,
    렌더링되는 객체들의 집합에 관해 검증 모드를 활성화하는 입력을 검출하는 단계;
    상기 객체들의 집합의 적어도 하나의 객체의 신뢰성을 검증하는 단계;
    상기 검증이 상기 적어도 하나의 객체의 신뢰성을 검증하면 상기 적어도 하나의 객체의 색 또는 텍스처 중 적어도 하나를 수정하도록 상기 적어도 하나의 객체를 다시 렌더링하는 단계 - 상기 적어도 하나의 객체를 다시 렌더링하는 것은 검증된 객체를 렌더링하도록 디자인된 디스플레이상의 위치에서 이루어지고, 상기 위치는 상기 디스플레이상의 적어도 하나의 객체의 초기 위치와 다름 - ; 및
    상기 적어도 하나의 객체의 신뢰성이 검증되지 않으면, 상기 적어도 하나의 객체에 대해 희미해짐, 투명성 증가 또는 별개의 디스플레이상에서의 렌더링 중 적어도 하나를 수행하는 단계를 포함하는
    컴퓨터-판독가능 저장 매체.
  18. 제17항에 있어서,
    상기 신뢰성을 검증하는 단계는 상기 객체를 하나 이상의 신뢰성 있는 객체(trusted objects)와 비교하는 단계를 포함하는
    컴퓨터-판독가능 저장 매체.
  19. 제11항에 있어서,
    상기 디스플레이 장치의 윈도우에 객체들의 집합을 렌더링하는 단계 - 상기 객체들의 집합의 각각의 객체는 검증을 위해 개별적으로 선택될 수 있음 - ;
    상기 객체들의 집합의 적어도 하나의 객체에 대해 프라이버시 문제 및 보안 문제 중 적어도 하나의 발생 가능성(likelihood)을 자동으로 판정하는 단계; 및
    상기 자동 판정에 기초하여, 상기 객체들의 집합의 적어도 하나의 객체를 검증을 위해 자동으로 선택하거나 상기 객체들의 집합의 적어도 하나의 객체가 검증을 위해 선택될 것을 자동으로 제안하는 단계를 더 포함하는
    컴퓨터 구현 방법.
  20. 삭제
KR1020097007397A 2006-10-18 2007-10-06 Ui 객체들의 화면 위 렌더링시에 진짜 ui 객체들의 식별을 용이하게 하는 검증 시스템, 그것의 컴퓨터 구현 방법 및 컴퓨터 구현 검증 시스템 KR101432329B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/550,554 US7913292B2 (en) 2006-10-18 2006-10-18 Identification and visualization of trusted user interface objects
US11/550,554 2006-10-18
PCT/US2007/080650 WO2008048800A1 (en) 2006-10-18 2007-10-06 Identification and visualization of trusted user interface objects

Publications (2)

Publication Number Publication Date
KR20090069291A KR20090069291A (ko) 2009-06-30
KR101432329B1 true KR101432329B1 (ko) 2014-08-20

Family

ID=39314351

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097007397A KR101432329B1 (ko) 2006-10-18 2007-10-06 Ui 객체들의 화면 위 렌더링시에 진짜 ui 객체들의 식별을 용이하게 하는 검증 시스템, 그것의 컴퓨터 구현 방법 및 컴퓨터 구현 검증 시스템

Country Status (7)

Country Link
US (1) US7913292B2 (ko)
EP (1) EP2092411B1 (ko)
JP (1) JP5094870B2 (ko)
KR (1) KR101432329B1 (ko)
CN (1) CN101529366B (ko)
TW (1) TWI458321B (ko)
WO (1) WO2008048800A1 (ko)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826729B1 (en) * 2001-06-29 2004-11-30 Microsoft Corporation Gallery user interface controls
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US7707255B2 (en) 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US7895531B2 (en) 2004-08-16 2011-02-22 Microsoft Corporation Floating command object
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US9542667B2 (en) 2005-09-09 2017-01-10 Microsoft Technology Licensing, Llc Navigating messages within a thread
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US8201103B2 (en) 2007-06-29 2012-06-12 Microsoft Corporation Accessing an out-space user interface for a document editor program
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8402096B2 (en) 2008-06-24 2013-03-19 Microsoft Corporation Automatic conversation techniques
US9046983B2 (en) * 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
US9152790B1 (en) * 2009-05-21 2015-10-06 Symantec Corporation Systems and methods for detecting fraudulent software applications that generate misleading notifications
EP2462507B1 (en) * 2009-08-04 2019-07-24 Carnegie Mellon University Methods and apparatuses for user-verifiable trusted path in the presence of malware
US9106624B2 (en) 2010-05-16 2015-08-11 James Thomas Hudson, JR. System security for network resource access using cross firewall coded requests
AU2011352038B2 (en) * 2010-12-30 2014-10-02 Cheq Ai Technologies (2018) Ltd. Online privacy management
US9189135B2 (en) * 2011-01-04 2015-11-17 International Business Machines Corporation Three-dimensional GUI object stores in automation test tools
US8732831B2 (en) * 2011-07-14 2014-05-20 AVG Netherlands B.V. Detection of rogue software applications
US9288226B2 (en) * 2011-07-14 2016-03-15 AVG Netherlands B.V. Detection of rogue software applications
US10031646B2 (en) 2011-09-07 2018-07-24 Mcafee, Llc Computer system security dashboard
CN103136462B (zh) * 2011-12-05 2016-03-30 联想(北京)有限公司 一种密码验证的方法及***
US8751800B1 (en) 2011-12-12 2014-06-10 Google Inc. DRM provider interoperability
KR101296384B1 (ko) * 2011-12-21 2013-08-12 주식회사 예티소프트 웹 페이지 무결성 검증 시스템 및 방법
CN104106080B (zh) 2011-12-27 2017-10-03 英特尔公司 基于图灵测试的用户认证和用户在场验证***、设备和方法
KR20130101629A (ko) * 2012-02-16 2013-09-16 삼성전자주식회사 보안 실행 환경 지원 휴대단말에서 컨텐츠 출력 방법 및 장치
US8938780B2 (en) 2012-03-27 2015-01-20 Telefonaktiebolaget L M Ericsson (Publ) Display authentication
US9928751B2 (en) 2012-06-29 2018-03-27 Apple Inc. Generic media covers
US9595298B2 (en) 2012-07-18 2017-03-14 Microsoft Technology Licensing, Llc Transforming data to create layouts
US9009092B2 (en) * 2012-07-19 2015-04-14 Microsoft Technology Licensing, Llc Creating variations when transforming data into consumable content
US9134878B2 (en) * 2012-09-28 2015-09-15 Intel Corporation Device and method for secure user interface gesture processing using processor graphics
CN104252597B (zh) * 2013-06-25 2017-05-31 ***股份有限公司 一种指示移动设备操作环境的方法和能够指示操作环境的移动设备
CN103577748B (zh) * 2013-11-20 2017-01-18 北京可信华泰信息技术有限公司 基于可信计算的动态度量方法与管理***
US9282107B1 (en) * 2013-11-21 2016-03-08 Intuit Inc. Secure verification of website claims
EP2881882B1 (en) * 2013-12-05 2017-03-01 Kaspersky Lab, ZAO System and method for blocking elements of application interface
RU2645265C2 (ru) * 2013-12-05 2018-02-19 Закрытое акционерное общество "Лаборатория Касперского" Система и способ блокировки элементов интерфейса приложения
JP2015118400A (ja) * 2013-12-16 2015-06-25 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
TWI563412B (en) * 2015-04-30 2016-12-21 Taiwan Ca Inc System for using trust token to make application obtain digital certificate signature from another application on device and method thereof
CN104809379A (zh) * 2015-05-13 2015-07-29 上海瓶钵信息科技有限公司 基于屏幕分层管理的***执行状态验证方法
KR101979102B1 (ko) * 2017-08-28 2019-08-28 한양대학교 산학협력단 영상 인증 방법 및 그 장치
KR102514062B1 (ko) * 2018-02-27 2023-03-24 삼성전자주식회사 트러스트존 그래픽 렌더링 방법 및 그에 따른 디스플레이 장치
US11385766B2 (en) 2019-01-07 2022-07-12 AppEsteem Corporation Technologies for indicating deceptive and trustworthy resources
CN110059596B (zh) * 2019-04-03 2020-07-07 北京字节跳动网络技术有限公司 一种图像识别方法、装置、介质和电子设备
KR20220055969A (ko) * 2020-10-27 2022-05-04 삼성에스디에스 주식회사 비표준 사용자 인터페이스 객체 식별 시스템 및 방법
CN113900750B (zh) * 2021-09-26 2024-02-23 珠海豹好玩科技有限公司 确定窗口界面边界的方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000073913A1 (en) 1999-05-28 2000-12-07 Hewlett-Packard Company System for providing a trustworthy user interface
US20050166064A1 (en) 2002-05-28 2005-07-28 Symbian Limited Trusted user interface for a secure mobile wireless device
US7076655B2 (en) * 2001-06-19 2006-07-11 Hewlett-Packard Development Company, L.P. Multiple trusted computing environments with verifiable environment identities
US20060225127A1 (en) 2005-04-01 2006-10-05 Microsoft Corporation Systems and methods for authenticating a user interface to a computer user

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5384910A (en) * 1992-12-31 1995-01-24 International Business Machines Corporation Method and apparatus for facilitating operator reconfiguration of a graphical user interface in a data processing system
US6167520A (en) * 1996-11-08 2000-12-26 Finjan Software, Inc. System and method for protecting a client during runtime from hostile downloadables
US6367012B1 (en) * 1996-12-06 2002-04-02 Microsoft Corporation Embedding certifications in executable files for network transmission
US5995102A (en) 1997-06-25 1999-11-30 Comet Systems, Inc. Server system and method for modifying a cursor image
US6802006B1 (en) * 1999-01-15 2004-10-05 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
WO2001018636A1 (en) * 1999-09-09 2001-03-15 American Express Travel Related Services Company, Inc. System and method for authenticating a web page
US6748538B1 (en) * 1999-11-03 2004-06-08 Intel Corporation Integrity scanner
US6910128B1 (en) * 2000-11-21 2005-06-21 International Business Machines Corporation Method and computer program product for processing signed applets
US20040034791A1 (en) * 2002-08-19 2004-02-19 Khamla Savathphoune Distributed peer-to-peer verification system of data
US8122361B2 (en) * 2003-10-23 2012-02-21 Microsoft Corporation Providing a graphical user interface in a system with a high-assurance execution environment
US7496768B2 (en) * 2003-10-24 2009-02-24 Microsoft Corporation Providing secure input and output to a trusted agent in a system with a high-assurance execution environment
AU2003278449A1 (en) 2003-11-07 2005-05-26 Nokia Corporation Method and device for controlling installation of applications using operator root certificates
US20050172229A1 (en) * 2004-01-29 2005-08-04 Arcot Systems, Inc. Browser user-interface security application
US7038695B2 (en) * 2004-03-30 2006-05-02 Mstar Semiconductor, Inc. User interface display apparatus using texture mapping method
US20050234680A1 (en) * 2004-04-14 2005-10-20 International Business Machines Corporation Simplified and optimized process for application user interface testing and validation
US20050275661A1 (en) 2004-06-10 2005-12-15 Cihula Joseph F Displaying a trusted user interface using background images
US20050289353A1 (en) 2004-06-24 2005-12-29 Mikael Dahlke Non-intrusive trusted user interface
US7783987B2 (en) 2004-07-30 2010-08-24 Microsoft Corporation User experience enforcement
US8099600B2 (en) * 2004-08-23 2012-01-17 International Business Machines Corporation Content distribution site spoofing detection and prevention
GB2421093A (en) 2004-12-07 2006-06-14 Symbian Software Ltd Trusted user interface
US7765544B2 (en) 2004-12-17 2010-07-27 Intel Corporation Method, apparatus and system for improving security in a virtual machine host
US20060259767A1 (en) * 2005-05-16 2006-11-16 Mansz Robert P Methods and apparatuses for information authentication and user interface feedback
US7603699B2 (en) * 2005-08-25 2009-10-13 Melih Abdulhayoglu Method for establishing trust online
CN1767434A (zh) 2005-11-21 2006-05-03 上海格尔软件股份有限公司 电子图章与用户可信绑定方法、由该方法获得的电子图章及该图章的使用方法
US9135469B2 (en) * 2006-02-28 2015-09-15 Paypal, Inc. Information protection system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000073913A1 (en) 1999-05-28 2000-12-07 Hewlett-Packard Company System for providing a trustworthy user interface
US7076655B2 (en) * 2001-06-19 2006-07-11 Hewlett-Packard Development Company, L.P. Multiple trusted computing environments with verifiable environment identities
US20050166064A1 (en) 2002-05-28 2005-07-28 Symbian Limited Trusted user interface for a secure mobile wireless device
US20060225127A1 (en) 2005-04-01 2006-10-05 Microsoft Corporation Systems and methods for authenticating a user interface to a computer user

Also Published As

Publication number Publication date
CN101529366A (zh) 2009-09-09
TW200828942A (en) 2008-07-01
CN101529366B (zh) 2012-06-27
US7913292B2 (en) 2011-03-22
EP2092411A1 (en) 2009-08-26
EP2092411A4 (en) 2011-06-15
JP5094870B2 (ja) 2012-12-12
KR20090069291A (ko) 2009-06-30
WO2008048800A1 (en) 2008-04-24
US20080098229A1 (en) 2008-04-24
TWI458321B (zh) 2014-10-21
EP2092411B1 (en) 2013-09-11
JP2010507173A (ja) 2010-03-04

Similar Documents

Publication Publication Date Title
KR101432329B1 (ko) Ui 객체들의 화면 위 렌더링시에 진짜 ui 객체들의 식별을 용이하게 하는 검증 시스템, 그것의 컴퓨터 구현 방법 및 컴퓨터 구현 검증 시스템
Pearson et al. Trusted computing platforms: TCPA technology in context
US7565535B2 (en) Systems and methods for demonstrating authenticity of a virtual machine using a security image
Ye et al. Trusted paths for browsers
US7661126B2 (en) Systems and methods for authenticating a user interface to a computer user
US7721094B2 (en) Systems and methods for determining if applications executing on a computer system are trusted
JP4698195B2 (ja) 高信頼度実行環境を有するシステムでのグラフィカルユーザインターフェースの提供の方法とシステム
US20140208418A1 (en) Automatic protection of partial document content
US20100100958A1 (en) Visual display of website trustworthiness to a user
TWI389003B (zh) 啟用用以收集敏感資料之可信賴對話的方法
US20120297469A1 (en) Security Indicator Using Timing to Establish Authenticity
JP6835851B2 (ja) マルチユーザ厳密認証トークン
EP2316088A2 (fr) Systeme et procede pour la securisation d'une interface utilisateur
JP7077425B2 (ja) クライアントデバイスにおけるサードパーティコンテンツの表示の確認
Fernandes et al. Tivos: Trusted visual i/o paths for android
Rohlmann et al. Breaking the specification: PDF certification
US8418058B2 (en) Graphical indication of signed content
Spero et al. Out of sight, out of mind: UI design and the inhibition of mental models of security
US10146926B2 (en) Differentiated authentication for compartmentalized computing resources
CN111783119B (zh) 表单数据安全控制方法、装置、电子设备及存储介质
KR100571695B1 (ko) 키보드와 마우스 및 영상의 해킹 방지 방법
US11921837B2 (en) Dynamic security seal
Spalka et al. Trojan horse attacks on software for electronic signatures
US20230300129A1 (en) Authentication of security seals using dynamic authentication information
Gutmann An Analysis of Computer Systems for the Secure Creation and Verification of User Instructions

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
FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190718

Year of fee payment: 6