KR101644353B1 - 웹페이지 또는 웹―브라우저 애플리케이션의 웹 객체들에 대한 액세스를 제어하기 위한 디바이스, 방법 및 시스템 - Google Patents

웹페이지 또는 웹―브라우저 애플리케이션의 웹 객체들에 대한 액세스를 제어하기 위한 디바이스, 방법 및 시스템 Download PDF

Info

Publication number
KR101644353B1
KR101644353B1 KR1020157005354A KR20157005354A KR101644353B1 KR 101644353 B1 KR101644353 B1 KR 101644353B1 KR 1020157005354 A KR1020157005354 A KR 1020157005354A KR 20157005354 A KR20157005354 A KR 20157005354A KR 101644353 B1 KR101644353 B1 KR 101644353B1
Authority
KR
South Korea
Prior art keywords
web
computing device
encrypted
web object
user
Prior art date
Application number
KR1020157005354A
Other languages
English (en)
Other versions
KR20150040324A (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 KR20150040324A publication Critical patent/KR20150040324A/ko
Application granted granted Critical
Publication of KR101644353B1 publication Critical patent/KR101644353B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

신뢰할 수 없는 채널을 통한 보안 웹 객체를 갖는 웹 콘텐츠를 안전하게 디스플레이하기 위한 방법 및 디바이스는 웹 서버로부터 웹 콘텐츠를 다운로딩하는 것을 포함한다. 웹 콘텐츠는 현재 사용자를 인증하고 웹 콘텐츠에 패키징된 암호화된 웹 객체를 식별하기 위해 웹 브라우저가 사용하는 태그를 포함한다. 컴퓨팅 디바이스는 생체 인식 절차를 사용하여 현재 사용자를 인증한다. 현재 사용자가 인증되고 암호 해독된 웹 객체를 보도록 인가되도록 결정되면, 암호화된 웹 객체는 암호 해독되고 사용자에게 디스플레이된다. 사용자가 인증되지 않는다면, 암호 해독된 웹 객체가 컴퓨팅 디바이스에 물리적으로 존재하는 인가된 사람에게만 디스플레이되도록, 암호화된 웹 객체 대신에 암호화된 웹 객체가 디스플레이된다. 생체 인식 절차 및 웹 객체 암호 해독 프로세스는 보안 미디어 경로 회로 및 보안 메모리를 통해 보호된다.

Description

웹페이지 또는 웹―브라우저 애플리케이션의 웹 객체들에 대한 액세스를 제어하기 위한 디바이스, 방법 및 시스템{DEVICE, METHOD, AND SYSTEM FOR CONTROLLING ACCESS TO WEB OBJECTS OF A WEBPAGE OR WEB-BROWER APPLICATION}
인터넷을 통한 정보의 공유는 현대 사회 도처에 만연해지고 있다. 삶의 거의 모든 측면에 관한 정보는 일반 대중에게 액세스 가능한 웹사이트 콘텐츠를 통해 발견될 수 있지만, 다른 정보는 엄격히 기밀하게 유지되도록 의도된다. 이로써, 그러한 정보의 기밀성(confidentiality)은 많은 사용자에게 중요한 고려사항이다. 웹 개발자는 특정 사용자의 기밀 정보를 안전하게 지키는데 관련된 다수의 웹 개발 기술 및 언어를 구현하였다. 통상적으로, 그러한 기밀성은 보안 데이터 또는 웹 객체를 액세스하기 위한 토큰 또는 로그인을 사용자에게 제공함으로써 보장된다. 그렇게 함으로써, 사용자는 특정 웹페이지 또는 전체적으로 웹 브라우저 애플리케이션에 대한 액세스가 승인 또는 거부된다.
생체 인식은, 개인의 캡처된 생체 데이터와 일부 알려진 생체 데이터를 비교함으로써 사람이 식별 또는 검증될 수 있는 절차이다. 안면 이미지 및 지문이 지배적인 것처럼 보이지만, 특정 개인을 정확히 식별하기 위해 다양한 다른 생체 인식(biometrics)이 사용될 수 있다. 그러나, 일부 생체 인식 시스템은 생체 인식 시스템이 캡처된 생체 데이터와 알려진 생체 데이터를 정확히 비교하고 이로써 개인을 식별하도록 허용하기 위해 약간의 트레이닝을 요구한다.
본 명세서에 설명된 개념은 첨부 도면에 예로서 예시되며 제한적으로 예시되지 않는다. 예시를 간단하고 명확하게 하기 위해, 도면에 예시된 구성요소는 반드시 축척대로 도시되지는 않는다. 예를 들어, 명확하게 하기 위해 일부 구성요소의 치수는 다른 구성요소의 치수에 비해 과장될 수 있다. 또한, 상응하거나 유사한 구성요소를 나타내기 위해 적절하다고 간주되는 경우에는 도면 중에 참조 부호가 반복되었다.
도 1은 웹 콘텐츠를 안전하게 디스플레이하기 위한 시스템의 적어도 하나의 실시예의 간략한 블록도이다.
도 2는 도 1의 시스템의 웹 서버의 환경의 적어도 하나의 실시예의 간략한 블록도이다.
도 3은 도 1의 시스템의 클라이언트 컴퓨팅 디바이스의 환경의 적어도 하나의 실시예의 간략한 블록도이다.
도 4는 생체 인증 데이터 및 암호 키를 안전하게 등록하기 위한 방법의 적어도 하나의 실시예의 간략한 블록도이다.
도 5는 도 1의 웹 서버 상에서 웹 콘텐츠를 안전하게 생성하기 위한 방법의 적어도 하나의 실시예의 간략한 흐름도이다.
도 6 및 도 7은 도 1의 클라이언트 컴퓨팅 디바이스 상에서 웹 콘텐츠를 안전하게 디스플레이하기 위한 방법의 적어도 하나의 실시예의 간략한 흐름도이다.
도 8은 도 1의 클라이언트 컴퓨팅 디바이스의 현재 사용자를 인증하기 위한 방법의 적어도 하나의 실시예의 간략한 흐름도이다.
비록 본 개시의 개념이 다양한 수정 및 대안적인 형식으로 허용될 수 있지만, 이러한 개념의 구체적인 예시적인 실시예는 도면에 예로서 도시되었으며 본 명세서에서 상세하게 설명될 것이다. 그러나, 본 개시의 개념이 개시된 특정 형식으로 제한되는 것으로 의도되지 않으며 그와 반대로 본 개시 및 첨부된 특허청구범위와 일치하는 모든 수정, 등가물, 및 대안을 포함하는 것으로 의도된다고 이해되어야 한다.
다음의 설명에서, 본 개시를 보다 철저하게 이해하기 위해, 논리 구현(logic implementation), 연산 코드(opcode), 피연산자(operand)를 명시하는 수단, 자원 분할/공유/복제 구현(resource partitioning/sharing/duplication implementation), 시스템 컴포넌트의 유형 및 상관성, 및 논리 분할/통합 선택과 같은 다양하고 구체적인 세부 사항이 제시된다. 그러나, 본 개시의 실시예가 이러한 구체적인 세부 사항이 없어도 실시될 수 있다고 당업자에 의해 이해될 것이다. 다른 경우에, 본 발명을 모호하게 하지 않기 위해, 제어 구조, 게이트 레벨 회로, 및 완전한 소프트웨어 명령어 시퀀스를 상세하게 도시하지 않았다. 당업자라면 본 개시에 포함된 설명을 이용하여 과도한 실험이 없어도 적절한 기능을 구현할 수 있을 것이다.
본 명세서에서 "하나의 실시예", "일 실시예", "예시적인 실시예" 등의 언급은 설명된 실시예가 특정 특징, 구조, 또는 특성을 포함할 수 있지만 모든 실시예가 반드시 특정 특징, 구조, 또는 특성을 포함하지 않을 수도 있다는 것을 나타낸다. 더군다나, 이러한 어구는 반드시 동일한 실시예에만 적용되지는 않는다. 또한, 특정 특징, 구조, 또는 특성이 일 실시예와 관련되어 설명될 때, 명시적으로 설명되는지 여부에 무관하게 이러한 특징, 구조, 또는 특성이 다른 실시예와 관련되어 초래되는 것이 당업자의 지식 범위 내에 있다고 진술된다.
본 발명의 실시예는 하드웨어, 펌웨어, 소프트웨어, 또는 그들의 모든 조합으로 구현될 수 있다. 컴퓨터 시스템에서 구현된 본 발명의 실시예는 컴포넌트들 사이의 하나 이상의 버스(bus) 기반 상호접속 및/또는 컴포넌트들 사이의 하나 이상의 점-대-점(point-to-point) 상호접속을 포함할 수 있다. 본 발명의 실시예는 일시적 또는 비일시적 머신 판독 가능(예를 들면, 컴퓨터 판독 가능) 매체에 의해 저장되거나 저장된 명령어로서 또한 구현될 수도 있는데, 이러한 명령어는 하나 이상의 프로세서에 의해 읽혀지거나 실행될 수 있다. 머신 판독 가능 매체는 정보를 머신(예를 들어, 컴퓨팅 디바이스)에 의해 판독 가능한 형식으로 저장하거나 전송하기 위한 모든 디바이스, 메커니즘, 또는 물리적 구조로서 구현될 수 있다. 예를 들어, 머신 판독 가능 매체는 ROM(read only memory), RAM(random access memory), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 디바이스, 미니 또는 마이크로 SD 카드, 메모리 스틱, 전기 신호 등으로서 구현될 수 있다.
도면에서는 설명을 쉽게 할 목적으로 디바이스, 모듈, 명령어 블록 및 데이터 구성요소를 표현하는 것들과 같은 도식적인 구성요소의 구체적인 배열 또는 순서가 도시될 수 있다. 그러나, 도면 내의 도식적인 구성요소의 구체적인 순서 또는 배열이 특정 처리 순서 또는 시퀀스 또는 프로세스의 분리가 요구되는 것을 시사한다고 여겨지지 않는다고 당업자에 의해 이해되어야 한다. 또한, 도식적인 구성요소가 도면 내에 포함되는 것이 이러한 구성요소가 모든 실시예에서 요구된다거나 이러한 구성요소에 의해 표현된 특징이 일부 실시예에서 다른 구성요소에 포함될 수 없거나 다른 실시예와 조합될 수 없다는 것을 시사한다고 여겨지지 않는다.
일반적으로, 명령어 블록을 표현하기 위해 사용된 도식적인 구성요소는 소프트웨어 또는 펌웨어 애플리케이션, 프로그램, 함수, 모듈, 루틴(routine), 프로세스, 절차, 플러그-인(plug-in), 애플릿(applet), 위젯(widget), 코드 단편(code fragment) 등과 같은 모든 적절한 형식의 머신 읽기 가능한 명령어를 사용하여 구현될 수 있으며, 각각의 이러한 명령어는 모든 적절한 프로그래밍 가능한 언어, 라이브러리, 애플리케이션 프로그래밍 인터페이스(application programming interface(API)), 및/또는 다른 소프트웨어 개발 도구를 사용하여 구현될 수 있다. 예를 들어, 일부 실시예는 자바(Java), C++, 및/또는 다른 프로그래밍 언어를 사용하여 구현될 수 있다. 마찬가지로, 데이터 또는 정보를 표현하기 위해 사용된 도식적인 구성요소는 레지스터, 데이터 스토어(data store), 테이블, 레코드, 어레이, 인덱스, 해시(hash), 맵, 트리(tree), 리스트, 그래프, (모든 파일 유형의) 파일, 폴더, 디렉토리, 데이터베이스 등과 같은 모든 적절한 전자 배열 또는 구조를 사용하여 구현될 수 있다.
또한, 도면에서, 접속을 예시하기 위해 실선, 점선, 실선 화살표, 또는 점선 화살표와 같은 접속 구성요소가 사용되는 경우에, 두 개 이상의 다른 도식적인 구성요소들 사이의 관련성 또는 연관성 및 이러한 접속 구성요소의 부재는 접속, 관련성, 또는 연관성이 존재할 수 없다는 것을 시사한다고 여겨지지 않는다. 다시 말해서, 본 개시를 모호하게 하지 않기 위해, 구성요소들 사이의 일부 접속, 관련성 또는 연관성이 도면 내에 도시되지 않을 수 있다. 또한, 도시를 쉽게 할 목적으로, 구성요소들 사이의 복수의 접속, 관련성 또는 연관성을 표현하기 위해 단 하나의 접속 구성요소가 사용될 수 있다. 예를 들어, 접속 구성요소가 신호, 데이터 또는 명령어의 통신을 표현하는 경우에, 이러한 구성요소가 통신을 초래하는 하나 이상의 신호 경로(예를 들어, 버스)를 필요로 할 수 있는 바와 같이 표현할 수 있다고 당업자에 의해 이해되어야 한다.
이제 도 1을 참조하면, 웹 콘텐츠를 안전하게 디스플레이하기 위한 시스템(100)은 웹 서버(102) 및 클라이언트 컴퓨팅 디바이스(106)를 포함한다. 그러한 웹 콘텐츠는 웹 서버(102)로부터 클라이언트 컴퓨팅 디바이스(106)로 전달 가능한 임의의 타입의 웹 콘텐츠를 포함할 수 있다. 예를 들면, 일부 실시예에서, 웹 콘텐츠는 웹페이지 및/또는 웹-브라우저 애플리케이션(예를 들면, HTML 애플리케이션 등)으로서 구현될 수 있다. 사용 시에, 아래에 더 상세히 논의되는 바와 같이, 웹 서버(102)는 네트워크(104)를 통해 클라이언트 컴퓨팅 디바이스(106)의 하나 이상의 인가된 사용자들에게 액세스 가능한 보안 웹 객체를 갖는 웹 콘텐츠를 생성할 수 있다. 단지 하나의 웹 서버(102), 하나의 네트워크(104), 및 하나의 클라이언트 컴퓨팅 디바이스(106)가 예시적으로 도 1에 도시되지만, 시스템(100)은 다른 실시예에서 임의의 개수의 웹 서버(102), 네트워크(104) 및 클라이언트 컴퓨팅 디바이스(106)를 포함할 수 있다. 예를 들면, 일부 실시예에서, 웹 서버(102)는 상이한 클라이언트 컴퓨팅 디바이스(106)의 몇몇의 상이한 인가된 사용자에 의해 액세스 가능한 보안 웹 객체를 갖는 웹 콘텐츠를 생성할 수 있다.
웹 서버(102)는 본 명세서에 설명된 기함수를 수행할 수 있는 임의의 타입의 컴퓨팅 디바이스로서 구현될 수 있다. 예를 들면, 웹 서버(102)는 데스크톱 컴퓨터, 랩톱 컴퓨터, 모바일 인터넷 디바이스, 핸드헬드 컴퓨터, 스마트 폰, 개인 휴대 정보 단말, 텔레포니 디바이스, 또는 다른 컴퓨팅 디바이스로서 구현될 수 있다. 도 1의 예시적인 실시예에서, 웹 서버(102)는 프로세서(108), I/O 서브시스템(112), 메모리(114), 통신 회로(116), 데이터 저장 디바이스(118) 및 하나 이상의 주변 디바이스(130)를 포함한다. 일부 실시예에서, 전술한 구성요소 중 몇몇 구성요소는 웹 서버(102)의 마더보드(motherboard) 상에 통합될 수 있고, 반면에 다른 구성요소는, 예를 들면, 주변 포트를 통해 마더보드에 통신 가능하게 연결될 수 있다. 또한, 웹 서버(102)가 컴퓨터 및/또는 컴퓨팅 디바이스에서 통상적으로 발견되는 다른 구성요소, 서브-구성요소 및 디바이스를 포함할 수 있다고 인식되어야 하며, 이들은 설명을 명확히 하기 위해 도 1에 예시되지 않는다.
웹 서버(102)의 프로세서(108)는 마이크로프로세서, 디지털 신호 프로세서, 마이크로제어기 등과 같은 소프트웨어/펌웨어를 실행할 수 있는 임의의 타입의 프로세서로서 구현될 수 있다. 프로세서(108)는 프로세서 코어(110)를 갖는 단일 코어 프로세서로서 예시적으로 구현된다. 그러나, 다른 실시예에서, 프로세서(108)는 복수의 프로세서 코어(110)를 갖는 멀티-코어 프로세서로서 구현될 수 있다. 추가적으로, 웹 서버(102)는 하나 이상의 프로세서 코어(110)를 갖는 추가 프로세서(108)를 포함할 수 있다.
웹 서버(102)의 I/O 서브시스템(112)은 웹 서버(102)의 프로세서(108) 및/또는 다른 구성요소를 이용하여 입력/출력 동작을 용이하게 하는 회로 및/또는 구성요소서 구현될 수 있다. 일부 실시예에서, I/O 서브시스템(112)은 메모리 제어기 허브(memory controller hub(MCH 또는 "노스브리지(northbridge)")), 입력/출력 제어기 허브(input/output controller hub(ICH 또는 "사우스브리지(southbridge)")), 및 펌웨어 디바이스로서 구현될 수 있다. 이러한 실시예에서, I/O 서브시스템(112)의 펌웨어 디바이스는 BIOS(Basic Input/Output System) 데이터 및/또는 명령어 및/또는 다른 정보(예를 들어, 웹 서버(102)의 부팅 중에 사용된 BIOS 드라이버)를 저장하기 위한 메모리 디바이스로서 구현될 수 있다. 그러나, 다른 실시예에서, 다른 구성을 갖는 I/O 서브시스템이 사용될 수 있다. 예를 들어, 일부 실시예에서, I/O 서브시스템(112)은 플랫폼 제어기 허브(platform controller hub(PCH))로서 구현될 수 있다. 이러한 실시예에서, 메모리 제어기 허브(MCH)는 프로세서(108) 내에 통합될 수 있거나 그렇지 않으면 프로세서(108)와 연관될 수 있고, 프로세서(108)는 (도 1에서 점선으로 도시된 바와 같이) 메모리(114)와 직접 통신할 수 있다. 추가적으로, 다른 실시예에서, I/O 서브시스템(112)은 SoC(system-on-a-chip)의 일부분을 형성할 수 있고, 웹 서버(102)의 프로세서(108) 및 다른 구성요소와 함께 단일의 통합 회로 칩 상에 통합될 수 있다.
프로세서(108)는 다수의 신호 경로를 통해 I/O 서브시스템(112)에 통신 가능하게 연결된다. 이들 신호 경로(및 도 1에 도시된 다른 신호 경로)는 웹 서버(102)의 구성요소들 사이에 통신을 용이하게 할 수 있는 임의의 타입의 신호 경로로서 구현될 수 있다. 예를 들어, 신호 경로는 임의의 개수의 와이어, 케이블, 광 가이드(light guide), 인쇄 회로 보드 트레이스(printed circuit board trace), 비아(via), 버스(bus), 중개 디바이스(intervening device) 등으로서 구현될 수 있다.
웹 서버(102)의 메모리(114)는, 예를 들어, DRAM(dynamic random access memory device), SDRAM(synchronous dynamic random access memory device), DDR SDRAM(double-data rate synchronous dynamic random access memory device), 마스크 ROM(read-only memory) 디바이스, 삭제 가능하고 프로그래밍 가능한 ROM(EPROM), 전기적으로 삭제 가능하고 프로그래밍 가능한 ROM(EEPROM) 디바이스, 플래시 메모리 디바이스, 및/또는 다른 휘발성 및/또는 비휘발성 메모리 디바이스를 포함하는 하나 이상의 메모리 디바이스 또는 데이터 저장 위치로서 구현될 수 있거나 그렇지 않으면 그러한 하나 이상의 메모리 디바이스 또는 데이터 저장 위치를 포함할 수 있다. 메모리(114)는 다수의 신호 경로를 통해 I/O 서브시스템(112)에 통신 가능하게 연결된다. 비록 단지 단일의 메모리(114)가 도 1에 예시되지만, 다른 실시예에서 웹 서버(102)는 추가 메모리 디바이스를 포함할 수 있다. 다양한 데이터 및 소프트웨어가 메모리 디바이스(114) 내에 저장될 수 있다. 예를 들어, 프로세서(108)에 의해 실행된 소프트웨어 스택을 구성하는 하나 이상의 운영 시스템, 애플리케이션, 프로그램, 라이브러리, 및 드라이버가 실행 중에 메모리(114) 내에 머무를 수 있다. 또한, 메모리(114)에 저장된 소프트웨어 및 데이터는 메모리 관리 동작의 부분으로서 메모리(114)와 데이터 저장소(118) 사이에서 스와핑될 수 있다.
웹 서버(102)의 통신 회로(116)는 네트워크(104)를 거쳐 웹 서버(102)와 원격 컴퓨팅 디바이스(예를 들면, 클라이언트 컴퓨팅 디바이스(106)) 사이에 통신을 가능하게 하기 위한 임의의 개수의 디바이스 및 회로로서 구현될 수 있다. 네트워크(104)는 임의의 개수의 다양한 유선 및/또는 무선 통신 네트워크로서 구현될 수 있다. 예를 들어, 네트워크(104)는 LAN(local area network), WAN(wide area network), 또는 인터넷과 같은 공개적으로 액세스 가능한 글로벌 네트워크로서 구현되거나 그렇지 않으면 그들을 포함할 수 있다. 추가적으로, 네트워크(104)는 웹 서버(102)와 클라이언트 컴퓨팅 디바이스(106) 사이의 통신을 용이하게 하는 임의의 개수의 추가 디바이스를 포함할 수 있다. 웹 서버(102) 및 클라이언트 컴퓨팅 디바이스(106)는, 예를 들면, 특정 타입의 네트워크(들)(104)에 의존하여 네트워크(104)를 통해 서로 통신하기 위해 임의의 적절한 통신 프로토콜을 사용할 수 있다.
데이터 저장 디바이스(들)(118)는, 예를 들어, 메모리 디바이스 및 회로, 메모리 카드, 하드 디스크 드라이브, 고체 상태 드라이브(solid-state drive), 또는 다른 데이터 저장 디바이스와 같은 데이터의 단기 또는 장기 저장을 위해 구성된 임의의 타입의 디바이스 또는 디바이스들로서 구현될 수 있다. 클라이언트 컴퓨팅 디바이스(106)의 인가된 사용자와 공유될 기밀의 암호화되지 않은 웹 객체(들)(122)는 데이터 저장 디바이스(118)에 저장될 수 있다. 추가적으로, 아래에 더 상세히 논의되는 바와 같이, 하나 이상의 암호 키(120)는 웹 객체(들)(122)를 암호화하는데 사용하기 위해 데이터 저장 디바이스(118)의 안전한 위치에 저장될 수 있다. 일부 실시예에서, 암호화된 웹 객체(들)(124)는 웹 콘텐츠 생성 동안에 웹 서버(102)의 프로세서(108) 상의 로드를 감소시키기 위해 데이터 저장 디바이스(118)에 저장될 수 있다. 사전에 웹 객체(들)(122)를 암호화함으로써, 웹 콘텐츠를 액세스하기 위한 인가된 사용자에 의한 각각의 요청 시에, 프로세서(108)가 웹 객체(들)(122)를 암호화하는 것이 불필요하다.
웹 서버(102)의 주변 디바이스(130)는 임의의 개수의 주변 또는 인터페이스 디바이스를 포함할 수 있다. 예를 들면, 주변 디바이스(130)는 디스플레이, 키보드, 마우스, 외부 스피커 및/또는 다른 주변 디바이스를 포함할 수 있다. 주변 디바이스(130)에 포함된 특정 디바이스는, 예를 들면, 웹 서버(102)의 의도된 사용에 의존할 수 있다. 주변 디바이스(130)는 다수의 신호 경로들을 통해 I/O 서브시스템(112)에 통신 가능하게 연결되고, 이로써 I/O 서브시스템(112) 및/또는 프로세서(108)가 입력을 주변 디바이스(130)로부터 입력을 수신하고 주변 디바이스(130)로 출력을 전송하도록 허용한다.
클라이언트 컴퓨팅 디바이스(106)는 웹 서버(102)와 유사할 수 있다. 예를 들면, 클라이언트 컴퓨팅 디바이스(106)는 데스크톱 컴퓨터, 랩톱 컴퓨터, 모바일 인터넷 디바이스, 핸드헬드 컴퓨터, 스마트 폰, 개인 정보 휴대 단말, 텔레포니 디바이스, 또는 본 명세서에 설명된 함수를 수행할 수 있는 다른 컴퓨팅 디바이스로서 구현될 수 있다. 또한, 클라이언트 컴퓨팅 디바이스(106)는 앞서 논의된 웹 서버(102)의 구성요소와 유사한 구성요소를 포함할 수 있다. 웹 서버(102)의 그러한 구성요소의 설명은 클라이언트 컴퓨팅 디바이스(106)의 유사한 구성요소에 동일하게 적용 가능하고, 설명을 명확히 하기 위해 본 명세서에 반복되지 않는다. 도 1의 예시적인 실시예에서, 클라이언트 컴퓨팅 디바이스(106)는 프로세서(140), I/O 서브시스템(148), 메모리(154), 통신 회로(156), 데이터 저장 디바이스(158), 생체 캡처 디바이스(166) 및 하나 이상의 주변 디바이스(168)를 포함한다. 일부 실시예에서, 전술한 구성요소 중 몇몇의 구성요소는 클라이언트 컴퓨팅 디바이스(106)의 마더보드 상에 통합될 수 있고, 반면에 다른 구성요소는, 예를 들면, 주변 포트를 통해 마더보드에 통신 가능하게 연결될 수 있다. 또한, 클라이언트 컴퓨팅 디바이스(106)가 컴퓨터 및/또는 컴퓨팅 디바이스에서 통상적으로 발견되는 다른 구성요소, 서브-구성요소 및 디바이스를 포함할 수 있다고 인식되어야 하며, 이들은 설명을 명확히 하기 위해 도 1에 예시되지 않는다.
도 1의 예시적인 실시예에서, 프로세서(140)는 프로세서 코어(142)와 공통 다이 상에 정의되는 프로세서 그래픽 회로(144)를 포함한다. 프로세서 그래픽 회로(144)는 그래픽의 생성을 가속화하는 것 등과 같은 다양한 그래픽 프로세싱 기능을 수행하도록 구성된다. 이로써, 프로세서 그래픽 회로(144)는 통상적으로 클라이언트 컴퓨팅 디바이스(106) 상의 그래픽의 생성을 지원하는데 사용된다. 예시적인 실시예에서, 프로세서 그래픽 회로(144)는 보안 메모리(146)를 포함한다. 아래에 추가로 상세히 논의되는 바와 같이, 보안 메모리(146)는 통상적으로 애플리케이션 및 하드웨어 사이의 하드웨어 보강된 보안을 제공하기 위해 보안 미디어 경로 회로(150)와 함께 사용된다. 일부 실시예에서, 보안 메모리(146)는 아래에 논의된 바와 같이 클라이언트 컴퓨팅 디바이스(106)의 메모리(154)에 포함될 수 있다. 일 실시예에서, PAVP(Protected Audio Video Path)는 보안 메모리(146) 및 보안 미디어 경로 회로(150)를 사용하여 그러한 하드웨어 보강된 보안을 구현하는데 사용될 수 있다. 또한, 하드웨어 보강된 보안의 대안적인 구현이 보안 메모리(146) 및 보안 미디어 경로 회로(150)를 사용할 수 있다는 것이 인식되어야 한다. 예시적인 프로세서 그래픽 회로(144)가 프로세서(140)에 포함되는 것으로 도 1에 도시되지만, 다른 실시예에서, 프로세서 그래픽 회로(144)는 컴퓨팅 디바이스(106)의 그래픽 주변 카드(164)에 포함될 수 있다. 예를 들면, 프로세서 그래픽 회로(144)는 그래픽 주변 카드(164)의 그래픽 프로세싱 유닛으로서 구현될 수 있고, 이것은 PCIe(peripheral component interconnect express) 버스와 같은 주변 버스를 통해 I/O 서브시스템(148)에 통신 가능하게 연결될 수 있다.
예시적인 실시예에서, I/O 서브시스템은 보안 미디어 경로 회로(150)를 포함한다. 앞서 논의된 바와 같이, 보안 미디어 경로 회로(150)는 미디어를 안전하게 전송하기 위한 하드웨어 보강된 경로이다. 프로세서(140)는 다수의 신호 경로를 통해 I/O 서브시스템(148)에 통신 가능하게 연결된다. 웹 서버(102)의 신호 경로와 유사하게, 클라이언트 컴퓨팅 디바이스(106)의 신호 경로는 클라이언트 컴퓨팅 디바이스(106)의 구성요소들 사이의 통신을 용이하게 할 수 있는 임의의 타입의 신호 경로로서 구현될 수 있다. 예시적인 실시예에서, 생체 캡처 디바이스(166), 프로세서 그래픽 회로(144) 및 그래픽 주변 카드(164)는 다수의 보안 미디어 채널(152)을 통해 I/O 서브시스템(148)의 보안 미디어 경로 회로(150)에 통신 가능하게 연결된다. 보안 미디어 채널(152)은 생체 캡처 디바이스(166), 프로세서 그래픽 회로(144) 및 그래픽 주변 카드(164) 사이의 보안 통신을 용이하게 할 수 있는 임의의 타입의 신호 경로로서 구현될 수 있다. 예를 들면, 신호 경로는 임의의 개수의 와이어, 케이블, 광 가이드, 인쇄 회로 보드 트레이스, 비아, 버스, 중개 디바이스 등으로서 구현될 수 있다. 일부 실시예에서, 메모리(154)는 보안 메모리(146)의 일부를 포함할 수 있다. 앞서 논의된 바와 같이, 보안 메모리(146)는 애플리케이션(들) 및 하드웨어 사이의 하드웨어-강제 보호를 위해 사용될 수 있다. 다른 실시예에서, 보안 메모리(146)는 프로세서 그래픽 회로(144), 그래픽 주변 카드(164) 및 생체 캡처 디바이스(166)에 의한 사용을 위해 메모리(154)와 개별적인 파티션일 수 있다.
클라이언트 컴퓨팅 디바이스(106)의 통신 회로(156)는 네트워크(104)를 통한 컴퓨팅 디바이스(106) 및 원격 컴퓨팅 디바이스(예를 들면, 웹 서버(102)) 사이의 통신을 가능하게 하기 위한 임의의 개수의 디바이스 및 회로로서 구현될 수 있다. 데이터 저장 디바이스(들)(158)는, 예를 들어, 메모리 디바이스 및 회로, 메모리 카드, 하드 디스크 드라이브, 고체 상태 드라이브, 또는 다른 데이터 저장 디바이스와 같은 데이터의 단기 또는 장기 저장을 위해 구성된 임의의 타입의 디바이스 또는 디바이스들로서 구현될 수 있다. 아래에 더 상세히 논의되는 바와 같이, 클라이언트 컴퓨팅 디바이스(106)가 웹 서버(102)로부터 암호화된 웹 객체(들)(124)를 다운로딩할 때, 암호화된 웹 객체(들)(124)는 데이터 저장 디바이스(158)에 저장될 수 있다. 추가적으로, 아래에 더 상세히 논의되는 바와 같이, 하나 이상의 개인 암호 키(162)는 웹 서버(102)로부터 암호화된 웹 객체(들)(124)와 함께 수신되는 암호화된 대칭 키를 암호 해독하는데 사용하기 위해 데이터 저장 디바이스(158)의 안전한 위치에 저장될 수 있다. 다른 실시예에서, 암호화된 웹 객체(들)(124) 및 하나 이상의 개인 암호 키(162)는 메모리(154) 또는 보안 메모리(146)에 저장될 수 있다.
생체 캡처 디바이스(166)는 클라이언트 컴퓨팅 디바이스(106)의 실시간 생체 데이터를 생성할 수 있는 임의의 타입의 생체 캡처 디바이스로서 구현될 수 있다. 예를 들면, 생체 캡처 디바이스는, 컴퓨팅 디바이스(106)의 사용자의 실시간 이미지를 생성할 수 있는 스틸 카메라, 비디오 카메라, 등과 같은 카메라로서 구현될 수 있다. 대안적으로 또는 부가적으로, 생체 캡처 디바이스는 지문 스캐너, 핸드프린트 스캐너, 홍채 스캐너, 망막 스캐너, 음성 분석기 또는 임의의 구별 가능한 인간의 생체 측정을 캡처하기 위한 다른 디바이스를 포함할 수 있다. 생체 측정 디바이스는 또한, 다중 모드 생체 시스템을 포함하는 임의의 타입의 생체 시스템일 수 있는 생체 시스템을 포함할 수 있다. 일부 실시예에서, 생체 캡처 디바이스(166)는 클라이언트 컴퓨팅 디바이스(106)의 하우징에 통합될 수 있다. 예를 들면, 생체 캡처 디바이스(166)는 클라이언트 컴퓨팅 디바이스(106)의 디스플레이 스크린 근처에 통합된 카메라일 수 있어서, 클라이언트 컴퓨팅 디바이스(106)의 사용자는 클라이언트 컴퓨팅 디바이스(106)를 동작시키는 동안에 모니터링될 수 있다. 특히, 카메라는 클라이언트 컴퓨팅 디바이스(106)의 현재 사용자의 안면 이미지를 캡처할 수 있다. 다른 실시예에서, 생체 캡처 디바이스(166)는 클라이언트 컴퓨팅 디바이스(106)에 통신 가능하게 연결되고 클라이언트 컴퓨팅 디바이스(106)의 사용자를 모니터링하도록 위치된 주변 디바이스일 수 있다.
사용 시에, 도 2에 도시된 바와 같이, 웹 서버(102)는 보안 웹 객체(들)(124)를 갖는 웹 콘텐츠를 생성하기 위한 환경(200)을 수립할 수 있다. 예시적인 환경(200)은 프로세서(108) 상에서 실행되는 웹 서비스 엔진(202)을 포함한다. 웹 콘텐츠 생성 모듈(204)은 웹 서버(102)로 하여금 클라이언트 컴퓨팅 디바이스(106)가 액세스하기 위해 보안 웹 객체를 갖는 웹 콘텐츠를 생성하도록 허용하기 위해 웹 서비스 엔진(202)에 포함될 수 있다. 웹 콘텐츠 생성 모듈(204)은 웹 객체(들)(122)를 웹 콘텐츠에 패키징하기 전에 암호화되지 않은 웹 객체(들)(122)를 암호화하기 위해 암호 모듈(206)과 통신하도록 구성될 수 있다. 일부 실시예에서, 암호 모듈(206)은 웹 서버(102)의 보안 코-프로세서, 프로세서(108)에 통합된 암호 가속기, 또는 자립형 암호 소프트웨어/펌웨어로서 구현될 수 있다. 앞서 논의된 바와 같이, 웹 서버(102)는 암호 모듈(206)을 사용하여 암호화되지 않은 웹 객체(들)(122)를 암호화하고, 암호화된 웹 객체(들)(124)를 데이터 저장 디바이스(118)에 저장할 수 있다. 이로써, 웹 콘텐츠 생성 모듈(204)은, 웹 콘텐츠를 생성하는 동안에 데이터 저장 디바이스(118)에 저장된 암호화된 웹 객체(들)(124)를 액세스할 수 있다. 그러나, 다른 실시예에서, 웹 콘텐츠 생성 모듈(204)은 암호 모듈(206)로부터의 출력 암호화된 웹 객체(들)를 웹 콘텐츠에 직접적으로 패키징할 수 있다. 웹 콘텐츠 생성 모듈은 또한 통신 모듈(210)과 통신하도록 구성되고, 보호되지 않은 데이터(208)를 액세스하도록 구성될 수 있다. 통신 모듈(210)은 네트워크(104)를 통해 클라이언트 컴퓨팅 디바이스(106)를 포함하는 원격 컴퓨팅 디바이스 및 웹 서버(102) 사이의 통신을 취급할 수 있다. 웹 서비스 엔진(202), 암호 모듈(206) 및/또는 통신 모듈(210) 각각은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합으로서 구현될 수 있다.
아래에 더 상세히 논의되는 바와 같이, 웹 서버(102)는 네트워크(104)를 통해 액세스하기 위해 클라이언트 컴퓨팅 디바이스(106)의 사용자들에 대한 보안 웹 객체들을 갖는 웹 콘텐츠를 생성할 수 있다. 그렇게 함으로써, 웹 콘텐츠 생성 모듈(204)은, 암호화된 웹 객체(들)(124)를 웹 콘텐츠(예를 들면, 웹 페이지 또는 웹-브라우저 애플리케이션)에 패키징하기 전에 암호화되지 않은 웹 객체(들)(122)를 암호화하기 위해 암호 모듈(206)과 통신하도록 구성된다. 예시적인 실시예에서, 아래에 더 상세히 논의되는 바와 같이, 암호화되지 않은 웹 객체(들)(122)는, 암호 모듈(206)에 의해 생성될 수 있는 대칭 암호 키를 사용하여 암호 모듈(206)에서 암호화된다. 대칭 암호 키는 지정된 인가된 사람(예를 들면, 클라이언트 컴퓨팅 디바이스(106)의 사용자)에 속하는 공개 키를 사용하여 후속으로 암호화된다. 그후, 암호화된 대칭 키는 클라이언트 컴퓨팅 디바이스(106)에 의해 웹 콘텐츠를 액세스하기 위한 요청 시에 웹 콘텐츠 내의 암호화된 웹 객체(들)(124)와 함께 패키징된다. 이러한 방식으로, 단지 암호화된 웹 객체(들)(124)는 대중에 의해 액세스 가능하다.
이제 도 3을 참조하면, 웹 서버(102)와 유사하게, 클라이언트 컴퓨팅 디바이스(106)는 웹 객체(들)(122)를 안전하게 액세스 및 디스플레이하기 위한 환경(300)을 수립할 수 있다. 환경(300)은 프로세서(140)에 의해 실행되는 운영 시스템(302)을 포함한다. 웹 브라우저(304)는 클라이언트 컴퓨팅 디바이스(106)가 웹 서버(102)와 통신하고, 예를 들면, 웹 콘텐츠, 암호화된 웹 객체(들)(124), 및 웹 콘텐츠 및/또는 다른 데이터에 패키징된 암호화된 대칭 키를 다운로딩하도록 허용하기 위해 운영 시스템(302)에 의해 실행될 수 있다. 웹 브라우저(304)는, 브라우저 플러그-인, 자립형 애플리케이션 또는 다른 소프트웨어/펌웨어 모듈로서 구현될 수 있는 보안 모듈(306)을 포함한다. 보안 모듈(306)은, 아래에 더 상세히 논의된 바와 같이, 암호화된 웹 객체(들)(124)를 암호 해독하는 것을 포함하는 다양한 암호/암호 해독 함수를 수행하기 위해 암호 모듈(312)과 통신하도록 구성된다. 웹 서버(102)와 마찬가지로, 클라이언트 컴퓨팅 디바이스(106)의 암호 모듈(312)은 보안 코-프로세서, 프로세서(140)에 통합된 암호 가속기, 또는 자립형 암호 소프트웨어/펌웨어로서 구현될 수 있다.
환경(300)은 또한, 보안 메모리(146)에 저장될 수 있는 미리 트레이닝되거나 미리 정의된 생체 인식 데이터(318)를 사용하여 생체 캡처 디바이스(166)로부터 수신된 실시간 생체 데이터(316)로부터 클라이언트 컴퓨팅 디바이스(106)의 현재 사용자를 식별하기 위해 프로세서 그래픽 회로(144) 상에서 실행되는 생체 인식 모듈(314)을 포함한다. 그렇게 함으로써, 생체 인식 모듈(314)은 현재 사용자를 인증하기 위해 생체 캡처 디바이스(166)에 의해 생성된 생체 데이터(316)를 분석할 수 있는 생체 검출 및 인식 알고리즘을 활용할 수 있다. 현재 사용자가 인증(즉, 미리 정의된 사용자로서 식별)되고, 웹 객체(들)(122)를 보기 위해 인가되는 것으로 결정되면, 보안 모듈(306)은, 도 6 내지 도 8에 관련하여 아래에 더 상세히 논의되는 바와 같이, 암호화된 웹 객체(들)(124)를 암호 해독하고 암호 해독된 웹 객체(들)(310)를 클라이언트 컴퓨팅 디바이스(106) 상에서 인증, 인가된 현재 사용자에게 디스플레이하기 위해 암호 모듈(312)과 통신한다. 예시적인 실시예에서, 생체 인식 모듈(314)로부터의 데이터 및 암호화된 웹 객체(들)(124)는 앞서 논의된 바와 같이 보안 미디어 채널(152)을 통해 보안 모듈(306)로 통신된다. 일부 실시예에서, 보안 모듈(306)은 또한 보안 미디어 경로 모듈(308)을 포함할 수 있고, 이것은 클라이언트 컴퓨팅 디바이스(106)의 I/O 서브시스템(148) 내의 보안 미디어 경로 회로(150)와 안전하게 상호 작용하도록 설계된 소프트웨어/펌웨어일 수 있다. 일부 실시예에서, 암호 모듈(312)은 보안 미디어 경로 모듈(308)의 일부에 링크되거나 그렇지 않다면 이를 형성한다. 보안 모듈(306), 암호 모듈(312) 및 생체 인식 모듈(314) 각각은 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합으로서 구현될 수 있다.
이제 도 4를 참조하면, 인가된 사용자의 생체 인증 데이터 및 암호 키를 안전하게 등록하기 위한 방법(400) ― 클라이언트 컴퓨팅 디바이스(106)에 의해 실행될 수 있음 ― 의 하나의 예시적인 실시예가 블록(402)에서 시작된다. 블록(402)에서, 클라이언트 컴퓨팅 디바이스(106)는 인가된 사용자의 비대칭 키 쌍을 생성한다. 공개 키 및 개인 키 각각이 당분야에 잘 알려진 바와 같이 비대칭 키 쌍(즉, 공개-개인 암호 키 쌍)의 1/2이라는 것이 인지되어야 한다. 비대칭 키 쌍은 임의의 적절한 암호 절차를 사용하여 생성될 수 있다. 하나의 특정 실시예에서, 공개 키는 비대칭 키 쌍의 소유자(즉, 인가된 사용자)의 생체 데이터에 기초하거나 그렇지 않다면 생체 데이터를 사용하여 생성된다. 예를 들면, 인가된 사용자의 생체 데이터는 비대칭 키 쌍을 생성하기 위한 종자 값(seed value)으로서 사용될 수 있다. 다른 실시예에서, 비대칭 키 쌍은 RSA(Rivest-Shamir-Adleman) 알고리즘 또는 타원 곡선 암호화(elliptic curve cryptography)를 사용하여 생성될 수 있다.
일부 실시예에서, 특정 인가된 사용자와 연관된 비대칭 키 쌍은 제 3 자에 의해 (예를 들면, 인증 기관(certificate authority)을 통해) 생성되고, 클라이언트 컴퓨팅 디바이스(106)로 안전하게 전송될 수 있다. 비대칭 키 쌍을 생성 또는 수신한 후에, 블록(404)에서, 비대칭 키 쌍의 개인 키는 보안 메모리(146)에 저장된다. 추가적으로, 블록(406)에서, 생체 캡처 디바이스(166)는 인가된 사용자의 생체 인증 데이터를 캡처하는데 사용된다. 앞서 논의된 바와 같이, 생체 캡처 디바이스(166)는 현재 사용자를 인증하는데 사용될 수 있는 실시간 생체 데이터를 캡처하기에 적합한 임의의 디바이스로서 구현될 수 있다. 블록(408)에서, 인가된 사용자의 비대칭 키 쌍의 공개 키 및 인가된 사용자의 캡처된 생체 인증 데이터가 웹 서버(102)로 업로딩된다. 대안적으로, 공개 키 및 생체 인증 데이터가 웹 서버(102)로 업로딩된다. 일부 실시예에서, 공개 키 자체는 웹 서버(102)로 업로딩될 필요는 없다. 오히려, 생체 인증 데이터는 웹 서버(102)로 업로딩될 수 있고, 웹 서버(102)는 인가된 사용자의 생체 인증 데이터에 기초하여 공개 키를 유도할 수 있다.
이제 도 5를 참조하면, 웹 콘텐츠를 안전하게 생성하기 위한 방법(500) ― 웹 서버(102)에 의해 실행될 수 있음 ― 의 하나의 예시적인 실시예가 블록(502) 및 블록(504)에서 시작되고, 블록(502) 및 블록(504)은 서로 동시에 실행될 수 있다. 블록(502)에서, 웹 서버(102)는 클라이언트 컴퓨팅 디바이스(106)로부터 인가된 사용자의 공개 키 및 생체 인증 데이터를 수신한다. 블록(504)에서, 웹 서버(102)는 대칭 키를 생성하고, 블록(506)에서, 웹 서버(102)는 생성된 대칭 키를 사용하여 웹 객체(들)(122)를 암호화한다. 예시적인 실시예에서, 웹 서버(102)는 대칭 키를 생성하고 웹 객체(들)(122)를 암호화하기 위해 암호 모듈(206)을 사용한다. 웹 객체(들)(122)는 동일한 대칭 키, 개별적인 대칭 키를 사용하여 암호화될 수 있거나 및/또는 웹 객체(들)(122)는 웹 객체(들)(122)의 각각의 그룹이 동일한 대칭 키를 사용하여 암호화되도록 그룹화될 수 있다. 일부 실시예에서, 대칭 키는 웹 서버(102) 상에서 생성되지 않을 수 있지만, 대신에, 다른 컴퓨팅 디바이스 상에서 생성되고, 웹 서버(102)로 안전하게 전송될 수 있다. 일부 실시예에서, 웹 서버(102)는 대칭 키를 보안 메모리에 저장할 수 있다.
후속으로, 블록(508)에서, 웹 서버(102)는 클라이언트 컴퓨팅 디바이스(106)가 보안 웹 객체(들)(122)를 갖는 웹 콘텐츠에 대한 액세스를 요청하였는지를 결정한다. 웹 서버(102)가 클라이언트 컴퓨팅 디바이스(106)가 보안 웹 객체(들)(122)를 갖는 웹 콘텐츠에 대한 액세스를 요청하지 않았다고 결정하면, 방법(400)은 진행되지 않는다. 따라서, 일부 실시예에서, 웹 객체(들)(122)는, 클라이언트 컴퓨팅 디바이스(106)가 그러한 웹 콘텐츠에 대한 액세스를 요청하였다고 웹 서버(102)가 결정할 때까지 암호화되지 않을 수 있다. 그렇지만, 다른 실시예에서, 웹 객체(들)(122)는, 클라이언트 컴퓨팅 디바이스(106)가 보안 웹 객체(들)(122)를 갖는 웹 콘텐츠에 대한 액세스를 요청하기 전에 암호화될 수 있다.
클라이언트 컴퓨팅 디바이스(106)가 액세스를 요청하였다고 웹 서버(102)가 결정하면, 방법(400)은, 대칭 키가 인가된 사용자의 공개 키를 사용하여 암호화되는 블록(512)으로 진행된다. 대칭 키는 각각의 인가된 사용자에 대한 상이한 공개 키를 사용하여 개별적으로 암호화될 수 있다. 대안적으로, 사용자들의 그룹은 비대칭 키 쌍의 단일 개인 키를 공유할 수 있어서, 대칭 키는 사용자의 완전한 그룹을 인가하여 웹 객체(들)(122)를 보기 위해 단일 공개 키를 사용하여 단지 한 번만 암호화될 필요가 있다. 일부 실시예에서, 클라이언트 컴퓨팅 디바이스(106)의 현재 사용자는 블록(510)에서 웹 콘텐츠를 액세스하기 위한 요청에 기초하여 웹 서버(102)에 의해 식별될 수 있다. 예를 들면, 웹 서버(102)는 웹 콘텐츠 요청과 연관된 특정 식별 데이터(예를 들면, IP 어드레스)에 기초하여 요청 사용자를 식별할 수 있다. 그렇게 함으로써, 웹 서버(102)는, 대칭 키를 암호화할 때, 적절한 인가된 사용자의 공개 키를 선택하기 위해 식별 정보를 사용할 수 있다.
블록(514)에서, 웹 서버(102)는 클라이언트 컴퓨팅 디바이스(106)에 대한 보안 웹 콘텐츠를 생성한다. 그렇게 함으로써, 웹 서버(102)는 인가된 사용자의 생체 인증 데이터 및 암호화된 웹 객체(들)(122)를 식별하기 위한 태그를 웹 콘텐츠에 통합한다. 웹 콘텐츠에 통합된 태그는 클라이언트 컴퓨팅 디바이스(106)에 대한 암호화된 웹 객체(들)(122) 및 인가된 사용자의 생체 인증 데이터를 식별할 수 있는 임의의 태그로서 구현될 수 있다. 일부 실시예에서, 태그는 생체 인증 데이터 및 암호화된 웹 객체(들)(124)에 대응하는 마크업 언어 또는 스크립팅 언어 태그(즉, HTML, XHTML, XML, 자바스크립트 등으로 기록된 태그)를 포함하거나, 이에 응답하여 생성될 수 있다. 다양한 실시예에서, 암호화된 웹 객체(들)(124) 및 생체 인증 데이터 각각은 개별적으로 식별될 수 있거나, 그들은 단일 태그를 사용하여 함께 식별될 수 있다. 다른 실시예에서, 추가의 태그는, 클라이언트 컴퓨팅 디바이스(106)가 생체 캡처 디바이스(166)에 대한 생체 데이터 피드를 인증해야 한다는 것을 나타내는 것과 같이 다양한 다른 특징을 위해 존재할 수 있다.
블록(518 및 520)에서, 암호화된 대칭 키, 암호화된 웹 객체(들)(124) 및 인가된 사용자의 생체 데이터는 웹 콘텐츠에 개별적으로 또는 총괄적으로 패키징된다. 그렇게 함으로써, 암호화된 대칭 키, 암호화된 웹 객체(들)(124), 및 인가된 사용자의 생체 데이터는 웹 콘텐츠의 헤더 또는 메타데이터로서 패키징되거나 그렇지 않다면 웹 콘텐츠에 통합되거나 웹 콘텐츠와 연관될 수 있다. 예를 들면, 암호화된 대칭 키, 암호화된 웹 객체(들)(124) 및 인가된 사용자의 생체 데이터는 웹 콘텐츠의 마크업 또는 스크립팅 코드에 직접적으로 통합될 수 있다. 이후에, 암호화된 웹 객체(들)(124)는 인가되거나 및/또는 인가되지 않은 사용자 양자에 의해 액세스될 수 있다. 그러나, 아래에 더 상세히 논의되는 바와 같이, 인가되지 않은 사용자는 암호화로 인해 인가되지 않은 사용자에게 알아볼 수 없는 암호화된 웹 객체(들)(124)만을 볼 수 있다.
이제 도 6 및 도 7을 참조하면, 웹 콘텐츠를 안전하게 디스플레이하기 위한 방법(600) ― 클라이언트 컴퓨팅 디바이스(106)에 의해 실행될 수 있음 ― 의 하나의 예시적인 실시예는 블록(602)에서 시작된다. 블록(602)에서, 클라이언트 컴퓨팅 디바이스(106)는 클라이언트 컴퓨팅 디바이스(106)의 현재 사용자가 웹 서버(102)로부터의 웹 콘텐츠를 요청하였는지를 결정한다. 그렇다면, 방법(600)은 클라이언트 컴퓨팅 디바이스(106)가 웹 서버(102)로부터 요청된 웹 콘텐츠를 다운로딩하는 블록(604)으로 진행된다. 웹 콘텐츠는, 예를 들면, 암호화된 대칭 키, 암호화된 웹 객체(들)(124) 및 인가된 사용자의 생체 데이터를 포함할 수 있는 표준 웹 페이지 또는 웹 브라우저 애플리케이션으로서 구현될 수 있거나, 암호화된 대칭 키, 암호화된 웹 객체(들)(124) 및 인가된 사용자의 생체 데이터 단독으로서 구현될 수 있다. 암호화된 대칭 키, 암호화된 웹 객체(들)(124) 및 생체 인증 데이터 중 하나 이상은 클라이언트 컴퓨팅 디바이스(106)의 보안 메모리(146)에 저장될 수 있다.
블록(606)에서, 클라이언트 컴퓨팅 디바이스(106)는 사용자 인증 태그가 웹 콘텐츠에서 검출되었는지를 결정한다. 앞서 논의된 바와 같이, 사용자 인증 태그뿐만 아니라 보안 웹 객체 태그는 마크업 언어 또는 스트립팅 언어 태그로서 구현될 수 있다. 사용자 인증 태그가 검출되지 않았다면, 클라이언트 컴퓨팅 디바이스(106)는 블록(608)에서 암호화된 웹 객체(들)(124)를 웹 브라우저(304)에서 디스플레이하고 블록(602)으로 복귀한다. 그러나, 클라이언트 컴퓨팅 디바이스(106)는 웹 콘텐츠에서 사용자 인증 태그를 검출하였다면, 방법(600)은 클라이언트 컴퓨팅 디바이스(106)의 현재 사용자가 인증되는 블록(610)으로 진행된다.
블록(610)에서, 클라이언트 컴퓨팅 디바이스(106)는 사용자를 인증한다. 그렇게 함으로써, 클라이언트 컴퓨팅 디바이스(106)는 도 8에 도시된 바와 같이 생체 인식 절차를 사용하여 클라이언트 컴퓨팅 디바이스(106)의 현재 사용자를 인증하기 위한 방법(800)을 실행할 수 있다. 방법(800)은, 예를 들면, 생체 인식 모듈(314)에 의해 실행될 수 있다. 방법(800)은 생체 인식 데이터가 생체 캡처 디바이스(166)로부터 수신되는 블록(802)에서 시작된다. 생체 인식 데이터(318)는, 미리 생성된 생체 데이터, 생체 특징 데이터, 생체 템플릿 데이터, 또는 현재 사용자의 실시간 이미지와의 비교를 위해 사용될 수 있는 다른 데이터와 같이, 클라이언트 컴퓨팅 디바이스(106)의 현재 사용자를 식별하기 위해 클라이언트 컴퓨팅 디바이스(106)(예를 들면, 프로세서 그래픽 회로(144))에 의해 사용 가능한 임의의 타입의 데이터로서 구현될 수 있다. 예를 들면, 앞서 논의된 바와 같이, 카메라는 생체 캡처 디바이스(166)로서 사용될 수 있다. 그러한 실시예에서, 인가된 사용자의 안면의 미리 생성된 픽처 또는 안면 특징 데이터는 적절한 생체 인식 데이터(318)로서 사용될 수 있다. 일부 실시예에서, 생체 인식 데이터(318)는 생체 인식 모듈(314)의 트레이닝 기간 동안에 이전에 생성된다.
블록(804)에서, 클라이언트 컴퓨팅 디바이스(106)의 생체 인식 모듈(314)은 보안 미디어 채널(152) 및 보안 미디어 경로 회로(150)를 통해 생체 캡처 디바이스(166)로부터 클라이언트 컴퓨팅 디바이스(106)의 현재 사용자의 실시간 생체 데이터(316)를 수신한다. 일부 실시예에서, 보안 미디어 경로 모듈(308)은 보안 미디어 경로 회로(150)를 통한 데이터의 안전한 전송을 용이하게 하도록 구현될 수 있다. 앞서 논의된 바와 같이, 생체 캡처 디바이스(166)는, 생체 캡처 디바이스(166)가 클라이언트 컴퓨팅 디바이스(106)의 현재 사용자의 생체 데이터(316)를 생성할 수 있도록 클라이언트 컴퓨팅 디바이스(106)에 통합되거나, 그렇지 않다면 위치될 수 있다. 앞서 논의된 바와 같이, 일부 실시예에서, 생체 캡처 디바이스(166)는, 클라이언트 컴퓨팅 디바이스(106)의 현재 사용자가 현재 사용자의 계속된 존재를 검증하기 위해 카메라에 의해 모니터링될 수 있도록 위치된 카메라일 수 있다. 아래에 더 상세히 논의되는 바와 같이, 일부 실시예는 보안 웹 객체(들)(122)가 웹 브라우저(304) 상에서 암호 해독된 상태에 있도록 인가된 사용자의 존재를 요구한다. 인가된 사용자가 생체 캡처 디바이스에 의해 더 이상 성공적으로 인증되지 않는 경우에, 웹 객체(들)(122)는 클라이언트 컴퓨팅 디바이스(106)의 현재 사용자에 의해 더 이상 인식되지 않을 수 있다. 블록(806)에서, 생체 인식 모듈(314)은 현재 사용자를 인증하기 위해 블록(802)에서 수신된 생체 인식 데이터(318)를 사용하여 실시간 생체 데이터(316)에 대해 생체 인식 절차를 수행한다. 다시 말해서, 생체 인식 절차는 알려진 사용자 또는 미지의 사용자로서 현재 사용자를 식별할 수 있다. 생체 인식 모듈(314)은 현재 사용자를 인증하기 위해 임의의 적절한 생체 검출 및 인식 절차를 사용할 수 있다.
방법(800) 및 특히 블록(806)의 생체 인식 절차가 프로세서-집약적인 절차일 수 있다는 것이 인지되어야 한다. 이로써, 예시적인 실시예에서, 방법(800)은 생체 인식 모듈(314)에 관련하여 앞서 논의된 바와 같은 프로세서 그래픽 회로(144)로 오프로딩된다. 프로세서 그래픽 회로(144)가 현재 사용자를 인증하기 위해 방법(800)을 실행하도록 허용함으로써, 클라이언트 컴퓨팅 디바이스(106)의 프로세서(140)(즉, 프로세서 코어(142))는 증가된 효율 및 속도로 방법(600)의 다른 부분을 실행할 수 있다. 이로써, 비록 블록(610)의 인증 프로세스가 방법(600)에서 순차로 실행되는 것으로 도시되지만, 블록(610)에서 수행되는 방법(800)이 프로세서 그래픽 회로(144)에 의해 방법(600)의 나머지 또는 그의 일부분과 동시에 실행될 수 있다는 것이 인지되어야 한다.
다시 도 6을 참조하면, 일부 실시예에서, 클라이언트 컴퓨팅 디바이스(106)의 현재 사용자의 인증은 블록(612)에서 튜링 테스트(Turing test) 또는 사용자 존재 테스트를 현재 사용자에게 제공하는 것을 포함할 수 있다. 그러한 실시예에서, 튜링 테스트 또는 사용자 존재 테스트는, 현재 사용자가 물리적으로 존재한다고 결정하기에 적합한, 클라이언트 컴퓨팅 디바이스(106)의 현재 사용자에게 제공되는 임의의 테스트로서 구현될 수 있다. 그러한 테스트는, 예를 들면, 클라이언트 컴퓨팅 디바이스(106)의 디스플레이 스크린 상에 디스플레이되는 정보에 기초하여 클라이언트 컴퓨팅 디바이스(106)와 상호 작용하도록 사용자에게 요구할 수 있다.
블록(614)에서, 클라이언트 컴퓨팅 디바이스(106)는 현재 사용자가 인증되었는지를 결정한다. 현재 사용자가 인증될 수 없다면(예를 들면, 현재 사용자가 식별될 수 없고, 클라이언트 컴퓨팅 디바이스(106)의 어떠한 현재 사용자도 존재하지 않는 것 등), 방법(600)은 클라이언트 컴퓨팅 디바이스(106)가 웹 브라우저(304)에서 암호화된 웹 객체(들)(122)를 디스플레이하는 블록(616)으로 진행되고, 사용자를 인증하기 위한 다른 시도가 실시되는 블록(610)으로 복귀한다. 그러나, 현재 사용자가 성공적으로 인증되면, 방법(600)은 인증된 사용자와 연관된 개인 키가 데이터 저장 디바이스(158)로부터 검색(retrieve)되는 블록(618)으로 진행된다. 앞서 논의된 바와 같이, 개인 키는 비대칭 키 쌍의 1/2이다. 비록 공개 키가 블록(408)에서 웹 서버(102)와 이전에 공유되었고, 일반적으로 공개적으로 이용 가능하지만, 개인 키는 비밀로 유지된다. 이로써, 개인 키는 클라이언트 컴퓨팅 디바이스(106)의 데이터 저장 디바이스(158) 또는 다른 보안 메모리(146)의 안전한 위치에 저장될 수 있다. 대안적으로, 개인 키는 원격 컴퓨팅 디바이스 상의 안전한 위치에 저장되고 클라이언트 컴퓨팅 디바이스(106)에 의해 안전하게 검색될 수 있다.
블록(620)에서, 클라이언트 컴퓨팅 디바이스(106)는 보안 웹 객체(들) 태그가 웹 콘텐츠에서 검출되었는지를 결정한다. 앞서 논의된 바와 같이, 블록(514)에서, 보안 웹 객체(들) 태그는 클라이언트 컴퓨팅 디바이스(106)에 대한 암호화된 웹 객체(들)(124)를 식별할 수 있는 임의의 태그일 수 있다. 태그는, 예를 들면, 암호화된 웹 객체(들)(124)에 대응하는 마크업 언어 또는 스크립팅 언어 태그를 포함할 수 있다. 클라이언트 컴퓨팅 디바이스(106)가 보안 웹 객체(들) 태그를 검출하지 않는다면, 방법(600)은 클라이언트 컴퓨팅 디바이스(106)가 웹 브라우저(304)에서 안전하지 않은 웹 객체(들) 및 안전하지 않은 웹 데이터를 디스플레이하는 블록(622)으로 진행되고, 블록(602)으로 복귀한다. 일부 실시예에서, 어떠한 보안 웹 객체 태그도 검출되지 않는다면, 클라이언트 컴퓨팅 디바이스(106)는 정상인 것으로(즉, 어떠한 보안 웹 객체(들)도 존재하지 않는 때와 같이) 웹 브라우저(304)에서 웹 콘텐츠를 렌더링할 수 있다.
클라이언트 컴퓨팅 디바이스(106)가 블록(620)에서, 보안 웹 객체(들) 태그를 검출하면, 클라이언트 컴퓨팅 디바이스(106)는 블록(624)에서 인증된 사용자가 암호화된 웹 객체(들)(124)의 암호 해독된 웹 객체(들)(310)를 보도록 인가되는지를 결정한다. 그렇게 함으로써, 클라이언트 컴퓨팅 디바이스(106)는 암호화된 웹 객체(들)(124)를 갖는 웹 콘텐츠에 패키징된 암호화된 대칭 키를 암호 해독하려고 시도한다(방법(500)의 블록(518)을 참조). 앞서 논의된 바와 같이, 방법(500)의 블록(512)에서, 암호화된 웹 객체(들)와 함께 패키징된 대칭 키는 인가된 사용자의 공개 키를 사용하여 암호화된다. 따라서, 암호화된 대칭 키를 암호 해독하기 위해, 클라이언트 컴퓨팅 디바이스(106)는 블록(618)에서 검색되는 현재 사용자의 개인 키를 사용한다. 현재 사용자의 개인 키 및 인가된 사용자의 공개 키가 유효 비대칭 키 쌍이면, 현재 사용자의 개인 키는 암호화된 대칭 키를 성공적으로 암호 해독할 것이다. 다시 말해서, 현재/인증된 사용자가 또한 웹 객체(들)(122)의 인가된 사용자인 경우에, 암호화된 대칭 키만이 암호 해독될 수 있다는 것이 인지되어야 한다. 앞서 논의된 바와 같이, 그러한 암호 해독 프로세스 및 다른 암호화/암호 해독 프로세스는 클라이언트 컴퓨팅 디바이스(106)의 암호 모듈(312)에 의해 수행될 수 있다.
클라이언트 컴퓨팅 디바이스(106)가 인증된 사용자의 개인 키를 사용하여 암호화된 대칭 키를 암호 해독할 수 없다면, 클라이언트 컴퓨팅 디바이스(106)는 블록(628)에서 현재 사용자가, 인증되는 동안에, 암호 해독된 웹 객체(들)(122)를 보기 위해 인가되지 않는다고 결정한다. 이로써, 방법(600)은 암호화된 웹 객체(들)(124)가 클라이언트 컴퓨팅 디바이스(106)의 웹 브라우저(304) 상에 디스플레이되는 블록(616)으로 진행된다. 그러나, 클라이언트 컴퓨팅 디바이스(106)가 인증된 사용자의 개인 키를 사용하여 대칭 키를 암호 해독할 수 있다면, 클라이언트 컴퓨팅 디바이스(106)는 인증된 사용자가 암호화된 웹 객체(들)(124)의 암호 해독된 웹 객체(들)(122)를 보기 위해 인가된다고 블록(628)에서 결정하고, 블록(630)으로 진행된다. 일부 실시예에서, 클라이언트 컴퓨팅 디바이스(106)는, 암호화된 대칭 키가 인증된 사용자의 개인 키를 사용하여 성공적으로 암호 해독되었는지를 결정하지 않을 수 있다. 오히려, 클라이언트 컴퓨팅 디바이스(106)는 개인 키를 암호화된 대칭 키에 간단히 적용할 수 있다. 인증된 사용자가 암호화된 웹 객체(들)(124)의 암호 해독된 웹 객체(들)(122)를 보기 위해 인가되지 않으면, 인증된 사용자의 개인 키를 암호화된 대칭 키에 적용함으로써, 의사-암호 해독된 대칭 키(a pseudo-decrypted symmetric key)는 정확히 암호 해독된 대칭 키와 대조적으로 암호 해독 프로세스로부터 암호 모듈(312)로 출력될 것이다.
블록(630)에서, 암호화된 웹 객체(들)(124)는, 앞서 논의된 바와 같이, 인증된 사용자의 개인 키를 사용하여 암호 해독되었던 암호 해독된 대칭 키를 사용하여 암호 해독된다. 또한, 암호화된 웹 객체(들)(124)의 암호 해독 프로세스는 클라이언트 컴퓨팅 디바이스(106)의 암호 모듈(312)에 의해 실행될 수 있다. 의사-암호 해독 대칭 키가 인가되지 않은 사용자의 개인 키를 사용하여 암호화된 대칭 키를 암호 해독하는 것으로부터 획득되는, 앞서 논의된 대안적인 실시예에서, 의사-암호 해독 대칭 키가 암호화된 웹 객체(들)(124)에 적용될 수 있다. 블록(632)에서, 암호 해독된 웹 객체(들)(310)는 클라이언트 컴퓨팅 디바이스(106) 상에서 인증된 사용자에게 디스플레이된다. 의사-암호 해독된 대칭 키가 암호화된 웹 객체(들)(124)에 적용되는, 앞서 논의된 실시예에서, 클라이언트 컴퓨팅 디바이스(106)의 암호 모듈(312)로의 출력은 암호화로 인해 현재 사용자에게 인지할 수 없는 의사-암호 해독된 웹 객체(들)일 것이다. 다시 말해서, 인가되지 않은 사용자의 개인 키를 암호화된 대칭 키에 적용하는 것은 블록(616)에서와 같이 암호화된 웹 객체(들)(124)가 클라이언트 컴퓨팅 디바이스(106)의 웹 브라우저(304) 상에서 디스플레이되게 한다.
앞서 논의된 바와 같이, 특정 사용자는 특정 웹 객체(들)(122)만을 보기 위해 인가될 수 있지만, 일부 실시예에서, 클라이언트 컴퓨팅 디바이스(106)는 다수의 암호화된 웹 객체(들)(124)에 대응하는 웹 콘텐츠에서 다수의 웹 객체 태그를 검출할 수 있다. 또한, 암호화된 웹 객체(들)(124) 각각은, 상이한 인가된 사용자와 연관된 공개 키에 의해 암호화된 암호화된 대칭 키일 수 있다. 따라서, 일부 실시예에서, 인증된 사용자는 암호화된 웹 객체(들)(124) 모두가 아닌 웹 콘텐츠 상의 암호화된 웹 객체(들) 중 하나 이상을 보기 위해 인가될 수 있다. 이로써, 블록(634)에서, 클라이언트 컴퓨팅 디바이스(106)는, 인증된 사용자가 보기 위해 인가되지 않은 그러한 웹 객체(들)(122)에 대해 웹 브라우저(304) 상에서 암호화된 웹 객체(들)(124)를 디스플레이할 수 있다.
암호 해독된 웹 객체(들)(122)가 클라이언트 컴퓨팅 디바이스(106) 상에서 디스플레이되는 동안에, 인증된, 인가된 현재 사용자가 클라이언트 컴퓨팅 디바이스(106)를 떠나거나, 다른 사용자에 의해 대체되거나 그렇지 않다면 클라이언트 컴퓨팅 디바이스(106)를 동작시키는 것을 정지할 수 있다는 것이 인지되어야 한다. 이로써, 현재 사용자는, 암호 해독된 웹 객체(들)(122)가 클라이언트 컴퓨팅 디바이스(106) 상에 디스플레이되는 동안에 블록(636 및 638)에서 순환하여, 연속해서, 주기적으로 및/또는 비주기적으로 인증된다. 다양한 실시예에서, 현재 사용자는 임의의 랜덤하거나, 혼돈 상태 또는 정렬된 세트의 간격으로 인증될 수 있다. 현재 사용자는 또한 시간과 상관없는 이벤트(atemporal event)에 응답하여 인증될 수 있다. 그렇게 함으로써, 클라이언트 컴퓨팅 디바이스(106)는 블록(636)에서 현재 사용자를 인증하기 위해 방법(800)을 실행할 수 있다. 앞서 논의된 바와 같이, 방법(800)은 방법(600)의 부분과 병렬로 및 동시에 프로세서 그래픽 회로(144)에 의해 실행될 수 있다. 현재 사용자가 더 이상 인증되지 않는다면(예를 들면, 현재 사용자가 클라이언트 컴퓨팅 디바이스(106)를 떠나면), 방법(600)은 암호 해독된 웹 객체(들)(122)가 암호화된 웹 객체(들)(124)로 대체되는 블록(616)으로 진행된다. 이러한 방식으로, 인가된 현재 사용자는, 암호 해독된 웹 객체(들)(122)가 클라이언트 컴퓨팅 디바이스(106) 상에서 디스플레이되는 동안에 클라이언트 컴퓨팅 디바이스(106)에서 순환하여, 계속해서, 주기적으로 및/또는 비주기적으로 인증된다. 이로써, 웹 객체(들)(122)는, 인가된 사용자만이 클라이언트 컴퓨팅 디바이스(106) 상에서 웹 객체(들)(122)를 보도록 허용되도록 보장함으로써, 신뢰할 수 없는 채널(예를 들면, 네트워크(104))을 통한 수송 동안에 뿐만 아니라 클라이언트 컴퓨팅 디바이스(106)에서도 기밀하게 보안된다.
본 명세서에 개시된 디바이스, 시스템 및 방법의 예시적인 예가 아래에 제공된다. 디바이스, 시스템 및 방법의 실시예는 아래에 설명되는 예들 중 임의의 하나 이상의 예 및 예들의 임의의 조합을 포함할 수 있다.
예 1은 웹 콘텐츠를 안전하게 디스플레이하기 위한 컴퓨팅 디바이스를 포함한다. 컴퓨팅 디바이스는 웹 콘텐츠에서 사용자 인증 태그(user authentication tag) 및 보안 웹 객체 태그(secure web object tag)를 검출하는 보안 모듈(security module) ― 사용자 인증 태그는 생체 인증 데이터(biometric authentication data)를 식별하고, 보안 웹 객체 태그는 암호화된 웹 객체를 식별함 ― 과, (i) 컴퓨팅 디바이스의 현재 사용자로부터 생체 데이터를 수신하고, (ii) 수신된 생체 데이터 및 생체 인증 데이터의 함수로서 컴퓨팅 디바이스의 현재 사용자를 인증하는 생체 인식 모듈(biometric recognition module)과, 사용자가 인증되는 것에 응답하여, (i) 암호화된 웹 객체와 연관하여 패키징된 암호화된 대칭 키(encrypted symmetric key)를 암호 해독하고, (ii) 암호 해독된 대칭 키를 사용하여 암호화된 웹 객체를 암호 해독하는 암호 모듈(cryptographic module)을 포함하고, 암호 해독된 웹 객체는 컴퓨팅 디바이스의 디스플레이 상에서 현재 사용자에게 디스플레이된다.
예 2는 예 1의 청구 대상을 포함하고, 생체 인식 모듈은 프로세서 그래픽 회로를 포함한다.
예 3은 예 1 및 예 2 중 임의의 예의 청구 대상을 포함하고, 생체 인식 모듈은 현재 사용자로부터 수신된 생체 데이터 및 생체 인증 데이터를 보안 미디어 경로 회로를 통해 수신하도록 구성된다.
예 4는 예 1 내지 예 3 중 임의의 예의 청구 대상을 포함하고, 보안 미디어 경로 회로는 보호되는 오디오 비디오 경로를 포함한다.
예 5는 예 1 내지 예 4 중 임의의 예의 청구 대상을 포함하고, 생체 인증 데이터는 프로세서 그래픽 회로 내의 보안 메모리에 저장된다.
예 6은 예 1 내지 예 5 중 임의의 예의 청구 대상을 포함하고, 프로세서 그래픽 회로는 컴퓨팅 디바이스의 중앙 처리 장치와 공통 다이(common die) 상에 위치된다.
예 7은 예 1 내지 예 6 중 임의의 예의 청구 대상을 포함하고, 프로세서 그래픽 회로는 컴퓨팅 디바이스의 주변 그래픽 카드 상에 위치된다.
예 8은 예 1 내지 예 7 중 임의의 예의 청구 대상을 포함하고, 현재 사용자의 생체 데이터를 생성하기 위한 생체 캡처 디바이스를 더 포함한다.
예 9는 보안 웹 콘텐츠를 생성하기 위한 서버를 포함하고, 상기 서버는 인가된 사용자(authorized user)의 공개 키(public key) 및 인가된 사용자의 생체 인증 데이터를 수신하는 통신 모듈과, (i) 서버에 저장된 대칭 키를 사용하여 웹 객체를 암호화하고, (ii) 인가된 사용자의 공개 키를 사용하여 대칭 키를 암호화하는 암호 모듈과, (i) 생체 인증 데이터를 식별하는 사용자 인증 태그 및 (ii) 암호화된 웹 객체를 식별하는 보안 웹 객체 태그를 포함하는 웹 콘텐츠를 생성하는 웹 콘텐츠 생성 모듈을 포함하고, 웹 콘텐츠 생성 모듈은 암호화된 웹 객체, 암호화된 대칭 키 및 생체 인증 데이터를 웹 콘텐츠에 패키징한다.
예 10은 예 9의 청구 대상을 포함하고, 서버 상에 저장된 대칭 키는 서버 상에서 생성된다.
예 11은 예 9 및 예 10 중 임의의 예의 청구 대상을 포함하고, 사용자 인증 태그 및 보안 웹 객체 태그는 웹 콘텐츠의 코드의 대응하는 마크업 언어 태그에 응답하여 생성된다.
예 12는 컴퓨팅 디바이스 상에서 웹 콘텐츠를 안전하게 디스플레이하기 위한 방법을 포함한다. 상기 방법은 웹 콘텐츠에서 사용자 인증 태그를 검출하는 단계 ― 사용자 인증 태그는 생체 인증 데이터를 식별함 ― 와, 사용자 인증 태그를 검출하는 것에 응답하여, 현재 사용자로부터 수신된 생체 데이터 및 생체 인증 데이터의 함수로서 컴퓨팅 디바이스의 현재 사용자를 인증하는 단계와, 웹 콘텐츠에서 보안 웹 객체 태그를 검출하는 단계 ― 보안 웹 객체 태그는 암호화된 웹 객체를 식별함 ― 와, 인증된 현재 사용자가 암호화된 웹 객체의 암호 해독된 웹 객체를 보기 위해 인가되는지를 결정하는 단계와, 보안 웹 객체 태그를 검출하고 현재 사용자가 인증되는 것에 응답하여, (i) 암호화된 웹 객체를 암호 해독하고, (ii) 암호 해독된 웹 객체를 컴퓨팅 디바이스 상에서 디스플레이하는 단계를 포함한다.
예 13은 예 12의 청구 대상을 포함하고, 사용자 인증 태그를 검출하는 단계는 마크업 언어 태그를 검출하는 단계를 포함한다.
예 14는 예 12 및 예 13 중 임의의 예의 청구 대상을 포함하고, 현재 사용자를 인증하는 단계는 현재 사용자를 순환하여(cyclically) 인증하는 단계를 포함한다.
예 15는 예 12 내지 예 14 중 임의의 예의 청구 대상을 포함하고, 컴퓨팅 디바이스의 현재 사용자를 인증하는 단계는 생체 인증 데이터와 현재 사용자로부터 수신된 생체 데이터를 비교하는 단계를 포함한다.
예 16은 예 12 내지 예 15 중 임의의 예의 청구 대상을 포함하고, 컴퓨팅 디바이스의 현재 사용자를 인증하는 단계는, 컴퓨팅 디바이스의 생체 캡처 디바이스를 사용하여 실시간으로 캡처된 현재 사용자로부터 수신된 생체 데이터와 생체 인증 데이터를 비교하는 단계를 포함한다.
예 17은 예 12 내지 예 16 중 임의의 예의 청구 대상을 포함하고, 컴퓨팅 디바이스의 현재 사용자를 인증하는 단계는, 컴퓨팅 디바이스 상에, 현재 사용자에 대한 튜링 테스트(Turing test)를 제공하는 단계를 포함한다.
예 18은 예 12 내지 예 17 중 임의의 예의 청구 대상을 포함하고, 컴퓨팅 디바이스의 현재 사용자를 인증하는 단계는 생체 인증 데이터 및 현재 사용자의 캡처된 안면 이미지의 함수로서 현재 사용자를 인증하는 단계를 포함한다.
예 19는 예 12 내지 예 18 중 임의의 예의 청구 대상을 포함하고, 컴퓨팅 디바이스의 현재 사용자를 인증하는 단계는 생체 인증 데이터 및 현재 사용자의 캡처된 지문의 함수로서 현재 사용자를 인증하는 단계를 포함한다.
예 20은 예 12 내지 예 19 중 임의의 예의 청구 대상을 포함하고, 컴퓨팅 디바이스의 현재 사용자를 인증하는 단계는 생체 인증 데이터 및 생체 데이터의 생체 템플릿(biometric template)의 함수로서 현재 사용자를 인증하는 단계를 포함한다.
예 21은 예 12 내지 예 20 중 임의의 예의 청구 대상을 포함하고, 웹 콘텐츠에서 보안 웹 객체 태그를 검출하는 단계는 마크업 언어 태그를 검출하는 단계를 포함한다.
예 22는 예 12 내지 예 21 중 임의의 예의 청구 대상을 포함하고, 웹 콘텐츠에 패키징된 암호화된 대칭 키(encrypted symmetric key)를 검색(retrieve)하는 단계를 더 포함한다.
예 23은 예 12 내지 예 22 중 임의의 예의 청구 대상을 포함하고, 암호화된 대칭 키는 웹 콘텐츠 내에서 암호화된 웹 객체와 함께 패키징된다.
예 24는 예 12 내지 예 23 중 임의의 예의 청구 대상을 포함하고, 인증된 현재 사용자가 암호화된 웹 객체의 암호 해독된 웹 객체를 보도록 인가되는지 여부를 결정하는 단계는, 컴퓨팅 디바이스 상에서, 현재 사용자의 비대칭 개인 키(an asymmetric private key)를 검색하는 단계와, 현재 사용자의 비대칭 개인 키를 사용하여 암호화된 대칭 키를 암호 해독하는 단계를 포함한다.
예 25는 예 12 내지 예 24 중 임의의 예의 청구 대상을 포함하고, 암호화된 웹 객체는 암호 해독된 대칭 키를 사용하여 암호 해독된다.
예 26은 예 12 내지 예 25 중 임의의 예의 청구 대상을 포함하고, 인가된 사용자의 비대칭 키 쌍을 생성하는 단계 ― 비대칭 키 쌍은 공개 키 및 개인 키를 포함함 ― 와, 인가된 사용자의 개인 키를 보안 메모리에 저장하는 단계와, 컴퓨팅 디바이스의 생체 캡처 디바이스를 사용하여 인가된 사용자의 생체 인증 데이터를 캡처하는 단계와, 생체 인증 데이터 및 인가된 사용자의 공개 키를 웹 서버에 업로딩하는 단계를 더 포함하고, 암호화된 대칭 키는 인가된 사용자의 공개 키로 암호화된다.
예 27은 예 12 내지 예 26 중 임의의 예의 청구 대상을 포함하고, 비대칭 키 쌍을 생성하는 단계는 인가된 사용자의 캡처된 생체 인증 데이터의 함수로서 비대칭 키 쌍을 생성하는 단계를 포함한다.
예 28은 예 12 내지 예 27 중 임의의 예의 청구 대상을 포함하고, 비인가된 현재 사용자가 암호화된 웹 객체를 암호 해독하는 것에 응답하여, 컴퓨팅 디바이스 상의 암호 해독된 웹 객체가 암호화된 상태로 유지되는 형식을 디스플레이하는 단계를 더 포함한다.
예 29는 예 12 내지 예 28 중 임의의 예의 청구 대상을 포함하고, 웹 콘텐츠에서 어떠한 보안 웹 객체 태그도 검출하지 않는 것에 응답하여 웹 콘텐츠의 남아있는 부분을 디스플레이하는 단계를 더 포함한다.
예 30은 예 12 내지 예 29 중 임의의 예의 청구 대상을 포함하고, 생체 인증 데이터 및 생체 데이터를 보안 미디어 경로 회로를 통해 컴퓨팅 디바이스의 프로세서 그래픽 회로로 전송하는 단계를 더 포함한다.
예 31은 예 12 내지 예 30 중 임의의 예의 청구 대상을 포함하고, 보안 미디어 경로 회로는 보호되는 오디오 비디오 경로이다.
예 32는, 프로세서와, 프로세서에 의해 실행될 때, 컴퓨팅 디바이스로 하여금 예 12 내지 예 31 중 임의의 예의 방법을 수행하게 하는 복수의 명령어가 저장된 메모리를 포함하는 컴퓨팅 디바이스를 포함한다.
예 33은 실행되는 것에 응답하여, 컴퓨팅 디바이스가 예 12 내지 예 31 중 임의의 예의 방법을 수행하게 하는 저장된 복수의 명령어를 포함하는 하나 이상의 머신 판독 가능 저장 매체를 포함한다.
예 34는 보안 웹 콘텐츠를 생성하기 위한 방법을 포함한다. 상기 방법은, 서버 상에서, 서버의 대칭 키를 사용하여 웹 객체를 암호화하는 단계와, 인가된 사용자의 공개 키 및 인가된 사용자의 생체 인증 데이터를 컴퓨팅 디바이스로부터 수신하는 단계와, 서버 상에서, 인가된 사용자의 공개 키를 사용하여 대칭 키를 암호화하는 단계와, (i) 생체 인증 데이터를 식별하는 사용자 인증 태그 및 (ii) 암호화된 웹 객체를 식별하는 보안 웹 객체 태그를 포함하는 웹 콘텐츠를 생성하는 단계를 포함하고, 암호화된 웹 객체, 암호화된 대칭 키 및 생체 인증 데이터가 웹 콘텐츠에 패키징된다.
예 35는 예 34의 청구 대상을 포함하고, 서버 상에서, 서버의 대칭 키를 사용하여 웹 객체를 암호화하는 단계는 서버 상에서 생성된 서버의 대칭 키를 사용하여 웹 객체를 암호화하는 단계를 포함한다.
예 36은 예 34 및 예 35 중 임의의 예의 청구 대상을 포함하고, 웹 콘텐츠를 생성하는 단계는 웹 콘텐츠의 코드의 대응하는 마크업 언어 태그에 응답하여 사용자 인증 태그를 생성하는 단계를 포함한다.
예 37은 예 34 내지 예 36 중 임의의 예의 청구 대상을 포함하고, 웹 콘텐츠를 생성하는 단계는 웹 콘텐츠의 코드의 대응하는 마크업 언어 태그에 응답하여 보안 웹 객체 태그를 생성하는 단계를 포함한다.
예 38은 예 34 내지 예 37 중 임의의 예의 청구 대상을 포함하고, 웹 콘텐츠를 생성하는 단계는 웹 콘텐츠를 액세스하기 위한 컴퓨팅 디바이스로부터의 요청에 응답한다.
예 39는 예 34 내지 예 38 중 임의의 예의 청구 대상을 포함하고, 대칭 키를 암호화하는 단계 및 웹 콘텐츠를 생성하는 단계는 웹 콘텐츠를 액세스하기 위한 컴퓨팅 디바이스로부터의 요청에 응답한다.
예 40은 예 34 내지 예 39 중 임의의 예의 청구 대상을 포함하고, 웹 콘텐츠를 액세스하기 위한 요청에 기초하여 현재 사용자를 식별하는 단계를 더 포함한다.
예 41은 예 34 내지 예 40 중 임의의 예의 청구 대상을 포함하고, 현재 사용자를 식별하는 단계는 현재 사용자의 IP 어드레스를 식별하는 단계를 포함한다.
예 42는 프로세서와, 프로세서에 의해 실행될 때, 서버로 하여금 예 34 내지 예 41 중 임의의 예의 방법을 수행하게 하는 복수의 명령어가 저장된 메모리를 포함하는 서버를 포함한다.
예 43은 실행되는 것에 응답하여, 서버가 예 34 내지 예 41 중 임의의 예의 방법을 수행하게 하는 저장된 복수의 명령어를 포함하는 하나 이상의 머신 판독 가능 저장 매체를 포함한다.

Claims (43)

  1. 웹 콘텐츠(a web content)를 안전하게 디스플레이하기 위한 컴퓨팅 디바이스로서,
    상기 웹 콘텐츠에서 사용자 인증 태그(a user authentication tag), 제 1 보안 웹 객체 태그(a first secure web object tag) 및 제 2 보안 웹 객체 태그를 검출하는 보안 모듈(a security module) ― 상기 사용자 인증 태그는 인증된 사용자를 식별하는 생체 인증 데이터(biometric authentication data)를 식별하고, 상기 제 1 보안 웹 객체 태그는 제 1 암호화된 웹 객체를 식별하고, 상기 제 2 보안 웹 객체 태그는 제 2 암호화된 웹 객체를 식별함 ― 과,
    (i) 상기 컴퓨팅 디바이스의 현재 사용자로부터 생체 데이터를 수신하고, (ii) 상기 수신된 생체 데이터 및 상기 생체 인증 데이터의 함수로서 상기 컴퓨팅 디바이스의 현재 사용자를 인증하는 생체 인식 모듈(a biometric recognition module)과,
    상기 사용자가 인증되는 것에 응답하여, (i) 상기 현재 사용자가 상기 제 1 암호화된 웹 객체의 제 1 암호 해독된 웹 객체를 보도록 인가되는지 여부를 결정하기 위해 상기 제 1 암호화된 웹 객체와 연관하여 패키징된 제 1 암호화된 대칭 키(an first encrypted symmetric key)를 상기 현재 사용자의 개인 키를 사용하여 암호 해독하고, (ii) 상기 제 1 암호 해독된 대칭 키를 사용하여 상기 제 1 암호화된 웹 객체를 암호 해독하며, (ⅲ) 상기 현재 사용자가 상기 제 2 암호화된 웹 객체의 제 2 암호 해독된 웹 객체를 보도록 인가되는지 여부를 결정하기 위해 상기 제 2 암호화된 웹 객체와 연관하여 패키징된 제 2 암호화된 대칭 키를 상기 현재 사용자의 개인 키를 사용하여 암호 해독하고, (ⅳ) 상기 제 2 암호 해독된 대칭 키를 사용하여 상기 제 2 암호화된 웹 객체를 암호 해독하는 암호 모듈(a cryptographic module)을 포함하되,
    상기 제 1 암호 해독된 웹 객체 및 상기 제 2 암호 해독된 웹 객체는 상기 컴퓨팅 디바이스의 디스플레이 상에서 상기 현재 사용자에게 디스플레이되는
    컴퓨팅 디바이스.
  2. 제 1 항에 있어서,
    상기 생체 인식 모듈은 프로세서 그래픽 회로를 포함하는
    컴퓨팅 디바이스.
  3. 제 1 항에 있어서,
    상기 생체 인식 모듈은 상기 현재 사용자로부터 수신된 상기 생체 데이터 및 상기 생체 인증 데이터를 보안 미디어 경로 회로를 통해 수신하도록 구성되는
    컴퓨팅 디바이스.
  4. 제 3 항에 있어서,
    상기 보안 미디어 경로 회로는 보호되는 오디오 비디오 경로를 포함하는
    컴퓨팅 디바이스.
  5. 제 1 항에 있어서,
    상기 생체 인증 데이터는 프로세서 그래픽 회로 내의 보안 메모리에 저장되는
    컴퓨팅 디바이스.
  6. 제 5 항에 있어서,
    상기 프로세서 그래픽 회로는 상기 컴퓨팅 디바이스의 중앙 처리 장치와 공통 다이(a common die) 상에 위치되는
    컴퓨팅 디바이스.
  7. 제 5 항에 있어서,
    상기 프로세서 그래픽 회로는 상기 컴퓨팅 디바이스의 주변 그래픽 카드 상에 위치되는
    컴퓨팅 디바이스.
  8. 제 1 항에 있어서,
    상기 현재 사용자의 생체 데이터를 생성하기 위한 생체 캡처 디바이스(a biometric capturing device)를 더 포함하는
    컴퓨팅 디바이스.
  9. 보안 웹 콘텐츠를 생성하기 위한 서버로서,
    제 1 인가된 사용자(a first authorized user)의 제 1 공개 키(a first public key), 상기 제 1 인가된 사용자의 제 1 생체 인증 데이터, 제 2 인가된 사용자의 제 2 공개 키 및 상기 제 2 인가된 사용자의 제 2 생체 인증 데이터를 수신하는 통신 모듈과,
    (i) 상기 서버에 저장된 제 1 대칭 키를 사용하여 제 1 웹 객체를 암호화하고, (ii) 상기 제 1 인가된 사용자의 제 1 공개 키를 사용하여 상기 제 1 대칭 키를 암호화하고, (ⅲ) 상기 서버에 저장된 제 2 대칭 키를 사용하여 제 2 웹 객체를 암호화하고, (ⅳ) 상기 제 2 인가된 사용자의 제 2 공개 키를 사용하여 상기 제 2 대칭 키를 암호화하는 암호 모듈과,
    (i) 상기 제 1 생체 인증 데이터와 상기 제 2 생체 인증 데이터 중 적어도 하나를 식별하는 사용자 인증 태그 및 (ii) 상기 제 1 암호화된 웹 객체를 식별하는 제 1 보안 웹 객체 태그 및 상기 제 2 암호화된 웹 객체를 식별하는 제 2 보안 웹 객체 태그를 포함하는 웹 콘텐츠를 생성하는 웹 콘텐츠 생성 모듈을 포함하되,
    상기 웹 콘텐츠 생성 모듈은 상기 제 1 암호화된 웹 객체, 상기 제 1 암호화된 대칭 키, 상기 제 2 암호화된 웹 객체, 상기 제 2 암호화된 대칭 키, 상기 제 1 생체 인증 데이터 및 상기 제 2 생체 인증 데이터를 상기 웹 콘텐츠에 패키징하는
    서버.
  10. 제 9 항에 있어서,
    상기 서버 상에 저장된 상기 제 1 대칭 키 및 상기 제 2 대칭 키는 상기 서버 상에서 생성되는
    서버.
  11. 제 9 항에 있어서,
    상기 사용자 인증 태그 및 상기 제 1 보안 웹 객체 태그는 상기 웹 콘텐츠의 코드의 대응하는 마크업 언어 태그에 응답하여 생성되는
    서버.
  12. 컴퓨팅 디바이스 상에서 웹 콘텐츠를 안전하게 디스플레이하기 위한 방법으로서,
    상기 웹 콘텐츠에서 사용자 인증 태그를 검출하는 단계 ― 상기 사용자 인증 태그는 인증된 사용자를 식별하는 생체 인증 데이터를 식별함 ― 와,
    상기 사용자 인증 태그를 검출하는 것에 응답하여, 현재 사용자로부터 수신된 생체 데이터 및 상기 생체 인증 데이터의 함수로서 상기 컴퓨팅 디바이스의 현재 사용자를 인증하는 단계와,
    상기 웹 콘텐츠에서 제 1 보안 웹 객체 태그 및 제 2 보안 웹 객체 태그를 검출하는 단계 ― 상기 제 1 보안 웹 객체 태그는 제 1 암호화된 웹 객체를 식별하고, 상기 제 2 보안 웹 객체 태그는 제 2 암호화된 웹 객체를 식별하며, 상기 웹 콘텐츠 내에는 상기 제 1 암호화된 웹 객체와 연관하여 제 1 암호화된 대칭 키가 패키징되어 있으며, 상기 제 2 암호화된 웹 객체와 연관하여 제 2 암호화된 대킹 키가 패키징되어 있음 ― 와,
    상기 현재 사용자의 개인 키를 사용하여 상기 제 1 암호화된 대칭 키를 암호 해독함으로써 상기 인증된 현재 사용자가 상기 제 1 암호화된 웹 객체의 제 1 암호 해독된 웹 객체를 보도록 인가되는지 여부를 결정하는 단계와,
    상기 현재 사용자의 개인 키를 사용하여 상기 제 2 암호화된 대칭 키를 암호 해독함으로써 상기 인증된 현재 사용자가 상기 제 2 암호화된 웹 객체의 제 2 암호 해독된 웹 객체를 보도록 인가되는지 여부를 결정하는 단계와,
    상기 보안 웹 객체 태그를 검출하고 상기 현재 사용자가 인증되는 것에 응답하여, (i) 상기 제 1 암호 해독된 대칭 키를 사용하여 상기 제 1 암호화된 웹 객체를 암호 해독하고, (ii) 상기 제 2 암호 해독된 대칭 키를 사용하여 상기 제 2 암호화된 웹 객체를 암호 해독하고, (ⅲ) 상기 제 1 암호 해독된 웹 객체 및 상기 제 2 암호 해독된 웹 객체를 상기 컴퓨팅 디바이스 상에 디스플레이하는 단계를 포함하는
    웹 콘텐츠 디스플레이 방법.
  13. 제 12 항에 있어서,
    상기 사용자 인증 태그를 검출하는 단계는 마크업 언어 태그를 검출하는 단계를 포함하는
    웹 콘텐츠 디스플레이 방법.
  14. 제 12 항에 있어서,
    상기 현재 사용자를 인증하는 단계는 상기 현재 사용자를 순환하여(cyclically) 인증하는 단계를 포함하는
    웹 콘텐츠 디스플레이 방법.
  15. 제 12 항에 있어서,
    상기 컴퓨팅 디바이스의 현재 사용자를 인증하는 단계는 상기 생체 인증 데이터와 상기 현재 사용자로부터 수신된 생체 데이터를 비교하는 단계를 포함하는
    웹 콘텐츠 디스플레이 방법.
  16. 제 12 항에 있어서,
    상기 컴퓨팅 디바이스의 현재 사용자를 인증하는 단계는, 상기 컴퓨팅 디바이스의 생체 캡처 디바이스를 사용하여 실시간으로 캡처된 상기 현재 사용자로부터 수신된 생체 데이터와 상기 생체 인증 데이터를 비교하는 단계를 포함하는
    웹 콘텐츠 디스플레이 방법.
  17. 제 12 항에 있어서,
    상기 컴퓨팅 디바이스의 현재 사용자를 인증하는 단계는, 상기 컴퓨팅 디바이스 상에, 상기 현재 사용자에 대한 튜링 테스트(Turing test)를 제공하는 단계를 포함하는
    웹 콘텐츠 디스플레이 방법.
  18. 제 12 항에 있어서,
    상기 컴퓨팅 디바이스의 현재 사용자를 인증하는 단계는 상기 생체 인증 데이터 및 상기 현재 사용자의 캡처된 안면 이미지의 함수로서 상기 현재 사용자를 인증하는 단계를 포함하는
    웹 콘텐츠 디스플레이 방법.
  19. 제 12 항에 있어서,
    상기 컴퓨팅 디바이스의 현재 사용자를 인증하는 단계는 상기 생체 인증 데이터 및 상기 현재 사용자의 캡처된 지문의 함수로서 상기 현재 사용자를 인증하는 단계를 포함하는
    웹 콘텐츠 디스플레이 방법.
  20. 제 12 항에 있어서,
    상기 컴퓨팅 디바이스의 현재 사용자를 인증하는 단계는 상기 생체 인증 데이터 및 상기 생체 데이터의 생체 템플릿(a biometric template)의 함수로서 상기 현재 사용자를 인증하는 단계를 포함하는
    웹 콘텐츠 디스플레이 방법.
  21. 제 12 항에 있어서,
    상기 웹 콘텐츠에서 상기 보안 웹 객체 태그를 검출하는 단계는 마크업 언어 태그를 검출하는 단계를 포함하는
    웹 콘텐츠 디스플레이 방법.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 제 12 항에 있어서,
    인가된 사용자의 비대칭 키 쌍을 생성하는 단계 ― 상기 비대칭 키 쌍은 공개 키 및 개인 키를 포함함 ― 와,
    상기 인가된 사용자의 개인 키를 보안 메모리에 저장하는 단계와,
    상기 컴퓨팅 디바이스의 생체 캡처 디바이스를 사용하여 상기 인가된 사용자의 생체 인증 데이터를 캡처하는 단계와,
    상기 생체 인증 데이터 및 상기 인가된 사용자의 공개 키를 웹 서버에 업로딩하는 단계를 더 포함하고,
    상기 제 1 암호화된 대칭 키 및 상기 제 2 암호화된 대칭 키는 상기 인가된 사용자의 공개 키로 암호화되는
    웹 콘텐츠 디스플레이 방법.
  27. 제 26 항에 있어서,
    상기 비대칭 키 쌍을 생성하는 단계는 상기 인가된 사용자의 캡처된 생체 인증 데이터의 함수로서 비대칭 키 쌍을 생성하는 단계를 포함하는
    웹 콘텐츠 디스플레이 방법.
  28. 제 12 항에 있어서,
    비인가된 현재 사용자가 상기 제 1 암호화된 웹 객체 및 상기 제 2 암호화된 웹 객체를 암호 해독하는 것에 응답하여, 상기 컴퓨팅 디바이스 상의 암호 해독된 웹 객체가 암호화된 상태로 유지되는 형식(a form)을 디스플레이하는 단계를 더 포함하는
    웹 콘텐츠 디스플레이 방법.
  29. 제 12 항에 있어서,
    상기 웹 콘텐츠에서 어떠한 보안 웹 객체 태그도 검출하지 않는 것에 응답하여 상기 웹 콘텐츠의 남아있는 부분을 디스플레이하는 단계를 더 포함하는
    웹 콘텐츠 디스플레이 방법.
  30. 제 12 항에 있어서,
    상기 생체 인증 데이터 및 상기 생체 데이터를 보안 미디어 경로 회로를 통해 상기 컴퓨팅 디바이스의 프로세서 그래픽 회로로 전송하는 단계를 더 포함하는
    웹 콘텐츠 디스플레이 방법.
  31. 제 30 항에 있어서,
    상기 보안 미디어 경로 회로는 보호되는 오디오 비디오 경로인
    웹 콘텐츠 디스플레이 방법.
  32. 컴퓨팅 디바이스로서,
    프로세서와,
    복수의 명령어가 저장된 메모리를 포함하고,
    상기 복수의 명령어는, 상기 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금 제 12 항 내지 제 21 항과 제 26 항 내지 제 31 중 어느 한 항의 방법을 수행하게 하는
    컴퓨팅 디바이스.
  33. 저장된 복수의 명령어를 포함하는 하나 이상의 머신 판독 가능 저장 매체로서,
    상기 복수의 명령어는, 실행되는 것에 응답하여, 컴퓨팅 디바이스가 제 12 항 내지 제 21 항과 제 26 항 내지 제 31 항 중 어느 한 항의 방법을 수행하게 하는
    머신 판독 가능 저장 매체.
  34. 보안 웹 콘텐츠를 생성하기 위한 방법으로서,
    서버 상에서, 상기 서버의 제 1 대칭 키를 사용하여 제 1 웹 객체를 암호화하고, 상기 서버의 제 2 대칭 키를 사용하여 제 2 웹 객체를 암호화하는 단계와,
    제 1 인가된 사용자의 제 1 공개 키, 상기 인가된 사용자의 제 1 생체 인증 데이터, 제 2 인가된 사용자의 제 2 공개 키, 및 상기 제 2 인가된 사용자의 제 2 생체 인증 데이터를 컴퓨팅 디바이스로부터 수신하는 단계와,
    상기 서버 상에서, 상기 제 1 인가된 사용자의 상기 제 1 공개 키를 사용하여 상기 제 1 대칭 키를 암호화하고, 상기 제 2 인가된 사용자의 상기 제 2 공개 키를 사용하여 상기 제 2 대칭 키를 암호화하는 단계와,
    (i) 상기 제 1 생체 인증 데이터와 상기 제 2 생체 인증 데이터 중 적어도 하나를 식별하는 사용자 인증 태그 및 (ii) 상기 제 1 암호화된 웹 객체를 식별하는 제 1 보안 웹 객체 태그 및 상기 제 2 암호화된 웹 객체를 식별하는 제 2 보안 웹 객체 태그를 포함하는 웹 콘텐츠를 생성하는 단계를 포함하되,
    상기 제 1 암호화된 웹 객체, 상기 1 암호화된 대칭 키, 상기 제 2 암호화된 웹 객체, 상기 제 2 암호화된 웹 객체 태그, 상기 제 1 생체 인증 데이터 및 상기 제 2 생체 인증 데이터가 상기 웹 콘텐츠에 패키징되는
    보안 웹 콘텐츠 생성 방법.
  35. 제 34 항에 있어서,
    상기 서버 상에서, 상기 서버의 제 1 대칭 키를 사용하여 제 1 웹 객체를 암호화하고, 상기 서버의 제 2 대칭 키를 사용하여 제 2 웹 객체를 암호화하는 단계는 상기 서버 상에서 생성된 상기 서버의 제 1 대칭 키 및 제 2 대칭 키를 사용하여 상기 제 1 웹 객체 및 상기 제 2 웹 객체를 암호화하는 단계를 포함하는
    보안 웹 콘텐츠 생성 방법.
  36. 제 34 항에 있어서,
    상기 웹 콘텐츠를 생성하는 단계는 상기 웹 콘텐츠의 코드의 대응하는 마크업 언어 태그에 응답하여 상기 사용자 인증 태그를 생성하는 단계를 포함하는
    보안 웹 콘텐츠 생성 방법.
  37. 제 34 항에 있어서,
    상기 웹 콘텐츠를 생성하는 단계는 상기 웹 콘텐츠의 코드의 대응하는 마크업 언어 태그에 응답하여 상기 제 1 보안 웹 객체 태그를 생성하는 단계를 포함하는
    보안 웹 콘텐츠 생성 방법.
  38. 제 34 항에 있어서,
    상기 웹 콘텐츠를 생성하는 단계는 상기 웹 콘텐츠에 액세스하기 위한 상기 컴퓨팅 디바이스로부터의 요청에 응답하는
    보안 웹 콘텐츠 생성 방법.
  39. 제 34 항에 있어서,
    상기 제 1 대칭 키 및 상기 제 2 대칭 키를 암호화하는 단계 및 상기 웹 콘텐츠를 생성하는 단계는 상기 웹 콘텐츠에 액세스하기 위한 상기 컴퓨팅 디바이스로부터의 요청에 응답하는
    보안 웹 콘텐츠 생성 방법.
  40. 제 34 항에 있어서,
    상기 웹 콘텐츠에 액세스하기 위한 요청에 기초하여 현재 사용자를 식별하는 단계를 더 포함하는
    보안 웹 콘텐츠 생성 방법.
  41. 제 40 항에 있어서,
    상기 현재 사용자를 식별하는 단계는 상기 현재 사용자의 IP 어드레스를 식별하는 단계를 포함하는
    보안 웹 콘텐츠 생성 방법.
  42. 서버로서,
    프로세서와,
    복수의 명령어가 저장된 메모리를 포함하고,
    상기 복수의 명령어는, 상기 프로세서에 의해 실행될 때, 상기 서버로 하여금 제 34 항 내지 제 41 항 중 어느 한 항의 방법을 수행하게 하는
    서버.
  43. 저장된 복수의 명령어를 포함하는 하나 이상의 머신 판독 가능 저장 매체로서,
    상기 복수의 명령어는, 실행되는 것에 응답하여, 서버로 하여금 제 34 항 내지 제 41 항 중 어느 한 항의 방법을 수행하게 하는
    머신 판독 가능 저장 매체.
KR1020157005354A 2012-09-28 2013-09-27 웹페이지 또는 웹―브라우저 애플리케이션의 웹 객체들에 대한 액세스를 제어하기 위한 디바이스, 방법 및 시스템 KR101644353B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/631,419 2012-09-28
US13/631,419 US20140095870A1 (en) 2012-09-28 2012-09-28 Device, method, and system for controlling access to web objects of a webpage or web-browser application
PCT/US2013/062165 WO2014052748A1 (en) 2012-09-28 2013-09-27 Device, method, and system for controlling access to web objects of a webpage or web-brower application

Publications (2)

Publication Number Publication Date
KR20150040324A KR20150040324A (ko) 2015-04-14
KR101644353B1 true KR101644353B1 (ko) 2016-08-01

Family

ID=50386406

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157005354A KR101644353B1 (ko) 2012-09-28 2013-09-27 웹페이지 또는 웹―브라우저 애플리케이션의 웹 객체들에 대한 액세스를 제어하기 위한 디바이스, 방법 및 시스템

Country Status (6)

Country Link
US (1) US20140095870A1 (ko)
EP (1) EP2901351A4 (ko)
JP (1) JP5996804B2 (ko)
KR (1) KR101644353B1 (ko)
CN (1) CN104584025B (ko)
WO (1) WO2014052748A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014094033A1 (en) * 2012-12-21 2014-06-26 My Verified Id Limited Computer implemented frameworks and methodologies for enabling identification verification in an online environment
KR102211212B1 (ko) * 2013-03-15 2021-02-03 비데리 인코포레이티드 디지털 아트 및 이미징을 디스플레이하고, 배포하고, 뷰잉하고 제어하기 위한 시스템 및 방법
JP6079875B2 (ja) * 2013-05-27 2017-02-15 富士通株式会社 アプリケーション実行プログラム,アプリケーション実行方法及びアプリケーションを実行する情報処理端末装置
FR3008837B1 (fr) * 2013-07-19 2015-08-07 In Webo Technologies Procede d'authentification forte
US9866534B2 (en) * 2013-12-06 2018-01-09 Sony Corporation Computer ecosystem providing privacy and tracking in sharing user-generated content
US10423767B2 (en) * 2013-12-27 2019-09-24 Intel Corporation Content protection system using biometric authentication
US11134063B2 (en) * 2014-03-12 2021-09-28 Akamai Technologies, Inc. Preserving special characters in an encoded identifier
WO2016018028A1 (en) 2014-07-31 2016-02-04 Samsung Electronics Co., Ltd. Device and method of setting or removing security on content
KR20160016522A (ko) * 2014-07-31 2016-02-15 삼성전자주식회사 콘텐츠를 암호화/복호화하는 디바이스 및 방법
CN106233294B (zh) * 2015-03-31 2021-01-12 华为技术有限公司 移动终端隐私保护方法、保护装置及移动终端
CN105162969A (zh) * 2015-08-10 2015-12-16 京东方科技集团股份有限公司 一种显示装置、移动设备和显示方法
US10484372B1 (en) * 2015-12-14 2019-11-19 Amazon Technologies, Inc. Automatic replacement of passwords with secure claims
KR101966379B1 (ko) * 2015-12-23 2019-08-13 주식회사 케이티 생체 정보 기반 인증 장치, 이와 연동하는 제어 서버 및 어플리케이션 서버, 그리고 이들의 동작 방법
CN107463851B (zh) * 2016-06-02 2020-11-27 阿里巴巴(中国)有限公司 页面验证的方法、装置及系统
KR102462603B1 (ko) * 2017-01-03 2022-11-03 삼성전자주식회사 콘텐츠를 관리하기 위한 방법 및 그 전자 장치
CN109871707A (zh) * 2017-12-04 2019-06-11 广州市动景计算机科技有限公司 隐私保护方法和装置、计算设备以及存储介质
CN110851754A (zh) * 2018-07-27 2020-02-28 北京京东尚科信息技术有限公司 网页访问方法及系统、计算机系统和计算机可读存储介质
CN109947582A (zh) * 2019-03-29 2019-06-28 深圳市永兴元科技股份有限公司 浏览器与本地应用程序的交互方法、设备及可读存储介质
EP4188140A1 (en) * 2020-08-03 2023-06-07 JT International SA Aerosol generating device with a biometric reader
CN111737684B (zh) * 2020-08-10 2020-12-08 武汉生之源生物科技股份有限公司 生化分析仪系统中数据安全控制方法
CN112039662B (zh) * 2020-08-26 2024-07-16 山谷网安科技股份有限公司 用于涉密单位Web应用网页中敏感数据的对称加密传输的方法
EP3979552A1 (en) * 2020-10-01 2022-04-06 Tata Consultancy Services Limited Method and system for privacy preserving multifactor biometric authentication
US11606196B1 (en) 2022-06-01 2023-03-14 Uab 360 It Authentication system for a multiuser device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070256143A1 (en) 2006-04-13 2007-11-01 Verisign, Inc. Method and apparatus to provide an authoring tool to create content for a secure content service

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122737A (en) * 1997-11-14 2000-09-19 Digital Persona, Inc. Method for using fingerprints to distribute information over a network
JP4176945B2 (ja) * 2000-07-10 2008-11-05 富士通株式会社 データ入出力装置
US6986047B2 (en) * 2001-05-10 2006-01-10 International Business Machines Corporation Method and apparatus for serving content from a semi-trusted server
US7451157B2 (en) * 2001-10-16 2008-11-11 Microsoft Corporation Scoped metadata in a markup language
JP4217025B2 (ja) * 2002-04-12 2009-01-28 日本放送協会 コンテンツ利用者登録サーバ及びそのプログラム及びその方法、コンテンツ配信サーバ及びそのプログラム、並びに、コンテンツ再生装置及びそのプログラム
US7017181B2 (en) * 2003-06-25 2006-03-21 Voltage Security, Inc. Identity-based-encryption messaging system with public parameter host servers
JP2009507279A (ja) * 2005-08-22 2009-02-19 ピー.シー.エス.エム.リミテッド 安全なインターネット電子商取引方式
US7502761B2 (en) * 2006-02-06 2009-03-10 Yt Acquisition Corporation Method and system for providing online authentication utilizing biometric data
KR100932545B1 (ko) * 2007-06-11 2009-12-17 주식회사 스타뱅크 공인전자문서보관소와 전자서명 공인인증서를 이용한 보험청약의 전자화 시스템
US8464320B2 (en) * 2010-05-24 2013-06-11 Verizon Patent And Licensing Inc. System and method for providing authentication continuity
JP5492007B2 (ja) * 2010-08-04 2014-05-14 日本放送協会 コンテンツサーバ、コンテンツ受信装置、属性鍵発行サーバ、ユーザ鍵発行サーバ、アクセス制御システム、コンテンツ配信プログラムおよびコンテンツ受信プログラム
US9436864B2 (en) * 2012-08-23 2016-09-06 Apple Inc. Electronic device performing finger biometric pre-matching and related methods

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070256143A1 (en) 2006-04-13 2007-11-01 Verisign, Inc. Method and apparatus to provide an authoring tool to create content for a secure content service

Also Published As

Publication number Publication date
CN104584025A (zh) 2015-04-29
WO2014052748A1 (en) 2014-04-03
EP2901351A1 (en) 2015-08-05
KR20150040324A (ko) 2015-04-14
JP2015531138A (ja) 2015-10-29
CN104584025B (zh) 2017-12-12
US20140095870A1 (en) 2014-04-03
EP2901351A4 (en) 2016-05-04
JP5996804B2 (ja) 2016-09-21

Similar Documents

Publication Publication Date Title
KR101644353B1 (ko) 웹페이지 또는 웹―브라우저 애플리케이션의 웹 객체들에 대한 액세스를 제어하기 위한 디바이스, 방법 및 시스템
US10587604B2 (en) Device verification method and apparatus
CN106063185B (zh) 用于安全地共享数据的方法和装置
JP5852265B2 (ja) 計算装置、コンピュータプログラム及びアクセス許否判定方法
KR101841860B1 (ko) 사용자 인증을 관리하기 위한 방법, 디바이스, 및 시스템
KR101581606B1 (ko) 원격 서버에 대한 안전한 사용자 증명 및 인증
TWI361611B (en) Biometric authentication system for enhancing network security
CN103765811B (zh) 用于跨越不受信任的信道安全地共享图像的方法和设备
CN101272237B (zh) 一种用于自动生成和填写登录信息的方法和系统
WO2017000829A1 (zh) 一种基于生物特征的安全校验方法及客户端、服务器
CN105354451B (zh) 访问鉴权的方法及系统
US20190026456A1 (en) Methods and Apparatus for Authentication of Joint Account Login
US20050228993A1 (en) Method and apparatus for authenticating a user of an electronic system
KR20160083930A (ko) 웹사이트에 로그인하는 단말기가 모바일 단말기인지를 결정하기 위한 방법 및 시스템
WO2019205389A1 (zh) 电子装置、基于区块链的身份验证方法、程序和计算机存储介质
JP2022522316A (ja) コンテンツプラットフォーム上でのユーザ対話の検証
CN111241555A (zh) 模拟用户登录的访问方法、装置、计算机设备和存储介质
CN108235067B (zh) 一种视频流地址的鉴权方法及装置
WO2023061262A1 (zh) 图像处理方法、装置、设备及存储介质
CN114448722B (zh) 跨浏览器登录方法、装置、计算机设备和存储介质
CN111177752B (zh) 一种基于静态度量的可信文件存储方法、装置及设备
CN112862484A (zh) 一种基于多端交互的安全支付方法及装置
US9405891B1 (en) User authentication
US20240095336A1 (en) Generating token value for enabling a non-application channel to perform operation
WO2017166264A1 (en) Apparatuses and methods for preboot voice authentication

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