KR20120014180A - 특권 서명을 이용한 보안 웹 브라우징 환경을 생성하기 위한 방법 및 장치 - Google Patents

특권 서명을 이용한 보안 웹 브라우징 환경을 생성하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20120014180A
KR20120014180A KR1020117028227A KR20117028227A KR20120014180A KR 20120014180 A KR20120014180 A KR 20120014180A KR 1020117028227 A KR1020117028227 A KR 1020117028227A KR 20117028227 A KR20117028227 A KR 20117028227A KR 20120014180 A KR20120014180 A KR 20120014180A
Authority
KR
South Korea
Prior art keywords
server
script
access
trusted
certificate
Prior art date
Application number
KR1020117028227A
Other languages
English (en)
Other versions
KR101331316B1 (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 KR20120014180A publication Critical patent/KR20120014180A/ko
Application granted granted Critical
Publication of KR101331316B1 publication Critical patent/KR101331316B1/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs

Abstract

디바이스들 및 방법들은, 디지털 인증서들 및 디지털 서명들을 이용하여, 모바일 디바이스들과 같은 컴퓨팅 디바이스들로 하여금, 컴퓨팅 디바이스 상의 리소스에 액세스하려고 시도하는 서버를 신뢰할 수 있게 한다. 서버는, 정보를 포함하는 신뢰된 제 3 자에 의해 발행된 디지털 인증서를 컴퓨팅 디바이스에 제시할 수도 있어서, 컴퓨팅 디바이스가, 서버가 신뢰되어야 하는 어떤 리소스들에 액세스할지를 결정할 수 있게 할 수 있다. 컴퓨팅 디바이스는, 서버를 본질적으로 신뢰된 기관과 링크할 수도 있는 디지털 인증서들의 체인을 검사함으로써, 디지털 인증서가 신뢰된 제 3 자에 의해 발행된 것으로 결정할 수 있다.

Description

특권 서명을 이용한 보안 웹 브라우징 환경을 생성하기 위한 방법 및 장치{METHOD AND APPARATUS TO CREATE A SECURE WEB BROWSING ENVIRONMENT WITH PRIVILEGE SIGNING}
본 발명은 일반적으로 컴퓨터 네트워크 통신에 관한 것으로, 더욱 상세하게는 웹 브라우징 디지털 인증서에 관한 것이다.
이머징 인터넷 기술들은 통신 디바이스들과 서버 기반 애플리케이션들 사이에서의 증가된 통합을 보증한다. 클라이언트-서버 애플리케이션은 다수의 이점들을 갖고 있으며, 점점 대중화되고 있다. 이러한 애플리케이션들은 대다수의 애플리케이션 데이터가 하나의 서버 위치에 존재하는 것을 허용하여, 데이터 보안성을 증가시키고, 불필요한 중복 데이터 사본들을 제거한다. 유사하게, 다수의 애플리케이션 프로그래밍 코드 및 데이터 파일들이, 애플리케이션 개발자들에 의해 더 쉽게 유지되는 하나의 위치에 존재할 수 있다. 또한, 엄격한 프로세싱 태스크들이 서버측에서 발생하도록 클라이언트-서버 애플리케이션들이 설계될 수 있고, 그 서버측은, 강인한 애플리케이션들이, 더 작고 덜 강력한 디바이스들, 이를테면, 랩탑 컴퓨터들 및 모바일 핸드셋들 상에 존재하는 것을 허용한다.
클라이언트-서버 기술들은, HTML 에 내장된 JavaScript 에서 예를 들면, 모바일 코드를 포함하도록 진화되고 있다. 클라이언트측 실행 환경 내에서의 모바일 코드에 이용가능한 기능성의 부족에 의해 웹 기반 애플리케이션들의 능력들이 현재 제한된다. JavaScript 와 같은 언어들이 고급 클라이언트측 기능성을 허용하도록 설계될 수 있지만, 이러한 구현은 보안성 관점에서 이상적이지 않다. 보안성이 중요하지 않은 환경에서, 서버 기반 애플리케이션들은, 위치에 기초하여 콘텐츠를 커스터마이즈하고, 원격 파일들을 클라이언트 파일들과 동기화하며, 데스크탑 기능성을 서버 기반 기능들과 링크한다. 그러나, 일반적으로, 인터넷 사용자들은, 웹사이트들이 클라이언트 상의 다양한 리소스들에 액세스하는 것을 허용할지 여부에 관해 현명한 결정을 할 만큼 지적이지 않다. 이것은 웹사이트들로부터 악의적 코드를 차단하도록 설계된 막대한 수의 제품들에 의해 증명된다. 따라서, 서버 기반 스크립팅의 기능성에서의 어떠한 진보는 득보다 해를 끼칠 수도 있다.
다양한 실시형태에서, 모바일 디바이스가 웹 서버가 그 모바일 디바이스 상의 다양한 리소스에 액세스하는 것을 허용해야 하는지 여부를 결정하는 것을 허용하는데 디지털 인증서들 및 디지털 서명들을 이용한다. 디지털 인증서들은, 모바일 디바이스들 및 모바일 디바이스 사용자들이, 웹 서버의 아이덴티티 뿐만 아니라, 서버가 특정 리소스에 액세스하는 것이 신뢰되는지 여부를 아는 것을 허용한다. 모바일 디바이스들은, 제시된 디지털 인증서의 발행자를 검사함으로써 웹 서버의 신뢰도를 확립하거나 스크립트들을 다운로드할 수 있고, 본질적으로 신뢰된 기관에 대한 디지털 인증서들의 체인을 통해 신뢰도를 추적할 수 있다.
여기에 포함되어 본 명세서의 일부를 구성하는 첨부된 도면들은, 본 발명의 예시적인 실시형태들을 예시하고, 전술한 일반적 설명 및 후술하는 상세한 설명과 함께 본 발명의 특징들을 설명하도록 기능한다.
도 1 은 무선 셀룰러 네트워크의 시스템 블록도이다.
도 2 는 스크립트의 신뢰도를 결정하기에 적합한 일 실시형태 방법의 프로세스 흐름도이다.
도 3a 는 문서를 디지털 서명 또는 검증하기에 적합한 일 실시형태 방법의 프로세스 흐름도이다.
도 3b 는 디지털 인증서들을 검증하기에 적합한 일 실시형태 방법의 프로세스 흐름도이다.
도 3c 는 문서를 디지털 서명 또는 검증하기에 적합한 일 대안적인 실시형태 방법의 프로세스 흐름도이다.
도 4a 및 도 4b 는 신뢰된 브라우징 환경을 확립하기 위한 실시형태들의 메시지 흐름도들이다.
도 5 는 신뢰된 브라우징 환경을 확립하기에 적합한 일 실시형태 방법의 프로세스 흐름도이다.
도 6 은 신뢰된 브라우징 환경을 확립하기 위한 일 실시형태의 메시지 흐름도이다.
도 7 은 다양한 실시형태에 이용하기에 적합한 일 예시적인 모바일 디바이스의 회로 블록도이다.
도 8 은 다양한 실시형태에 이용하기에 적합한 일 예시적인 개인용 컴퓨터의 회로 블록도이다.
다양한 실시형태를 첨부된 도면들을 참조하여 상세히 기술한다. 가능한 경우, 동일한 참조번호는 도면 전체에 걸쳐 동일하거나 유사한 부분을 참조하도록 사용된다. 특정한 예들 및 구현들은 예시적 목적으로 참조되며 본 발명 또는 청구항의 범위를 제한하려는 의도가 아니다.
여기에 사용된 바와 같이, "모바일 핸드셋", "핸드셋", "모바일 디바이스" 및 "핸드헬드 디바이스" 라는 용어들은, 셀룰러 전화기, 개인 휴대 정보 단말기 (PDA), 팜탑 컴퓨터, 무선 전자 메일 수신기 및 셀룰러 전화 수신기 (예를 들어, Blackberry 및 Treo 디바이스), 멀티미디어 인터넷 가능 셀룰러 전화기 (예를 들어, iPhone), 및 프로그래밍가능 프로세서와 메모리 그리고 무선 네트워크에 연결하기 위한 능력을 포함하는 유사한 개인용 전자 디바이스 중 임의의 하나 또는 전부를 지칭한다. 또한, 이 용어들은, 개인용 컴퓨터 상에서 또한 구현될 수도 있는 다양한 실시형태의 설명에서 사용되는 경우, 랩탑 컴퓨터 또는 데스크탑 컴퓨터와 같은 개인용 컴퓨터를 포함할 수도 있다. 다양한 실시형태가 이러한 네트워크의 셀 타워 (cell tower) 를 포함하는 셀룰러 전화 네트워크 시스템을 지칭하지만, 본 발명 및 청구항의 범위는, 예를 들어, LAN, WAN 및 인터넷과 같은 유선 네트워크 뿐만 아니라, WiFi, WiMax, 및 다른 무선 데이터 네트워크 통신 기술을 포함하는, 분산된 무선 통신 셀을 포함한 임의의 통신 시스템을 포함한다.
여기에 사용된 바와 같이, "스크립트" 라는 용어는, 실행 컴퓨터 프로그램을 제어하도록 설계된, JavaScript 또는 Perl 과 같은 종래의 스크립팅 언어로 기입된 컴퓨터 프로그램, 및 운영 시스템 또는 런타임 환경 상에서 직접 실행하기 위해 컴파일되는 C++ 또는 Java 와 같은 독립형 언어로 기입된 컴퓨터 프로그램 양쪽 모두를 포함하는 임의의 또는 모든 컴퓨터 프로그램을 지칭한다.
여기에 사용된 바와 같이, "브라우저" 및 "웹 브라우저" 라는 용어들은, Internet Explorer 및 Firefox 와 같은 브라우저, Perl 인터프리터와 같은 프로그래밍 언어 런타임 환경 및 무선에 대한 바이너리 런타임 환경 (BREW) 뿐만 아니라, 빌트인된 스크립트-실행 능력을 가진 운영 시스템을 포함하는, 스크립트 또는 코드를 실행하는 것이 가능한 임의의 런타임 환경을 지칭한다.
여기에 사용된 바와 같이, "클라이언트" 및 "서버" 라는 용어들은, 컴퓨터 프로그램을 실행하는 것이 가능한 프로세서 및 인터넷 연결 또는 컴퓨터 프로그램과 같은 컴퓨터 프로그램을 실행하는 다른 디바이스와 통신하는 수단을 가진, 모바일 핸드셋 또는 개인용 컴퓨터와 같은 디바이스를 지칭하거나, 또는 인터넷 연결과 같이 다른 운영 시스템 상에서 실행하는 컴퓨터 프로그램과 통신하기 위한 링크를 포함하는, 웹 브라우저 또는 운영 시스템과 같은 컴퓨터 프로그램을 지칭한다. "클라이언트" 및 "서버" 라는 용어들은 사실상 기술적 (descriptive) 인 것이며, 본 발명 또는 청구항의 범위를 제한하려는 의도가 아니다.
종종, 모바일 핸드셋 및 개인용 컴퓨터는 웹사이트로부터 다운로드된 코드를 실행할 수 있는 웹 브라우저 또는 유사한 타입의 프로그램을 갖는다. 브라우저는, 관련 플러그인 및 확장과 함께, 모바일 핸드셋과 웹사이트 사이의 게이트웨이로서 기능한다. 웹사이트는 스크립트를 모바일 핸드셋에 제시할 수도 있지만, 브라우저는 스크립트를 실행하는 프로그램이다. 예를 들어, 웹 기반 이메일 프로그램이 이메일을 핸드셋 호와 상관시키기 위해 모바일 핸드셋의 호 이력 (call history) 으로의 액세스를 요청하는 경우, 그 웹 기반 이메일 프로그램은 브라우저가 http 요청을 통해 호의 리스트를 웹사이트에 전송하도록 요청하는 스크립트를 생성할 수도 있다. 브라우저는 모바일 핸드셋의 운영 시스템에 요청을 전송하고, 그 운영 시스템은 리스트를 컴파일하고 그 리스트를 브라우저에 전달한다.
물론, 모든 웹사이트가 호 이력 또는 모바일 디바이스 또는 개인용 컴퓨터 상에 상주하는 다른 타입의 개인적이고 민감한 데이터에 액세스하는 것이 허용되어야 하는 것은 아니다. "해커", 악의적 웹사이트 및 인터넷의 다른 악용에 대한 문제가 널리 공지되어 있다. 이러한 공격으로부터 개인용 컴퓨터를 방어하기 위해, 다수의 방화벽 프로그램이 상업적으로 입수가능하고, 신뢰되지 않은 웹사이트로의 액세스를 거부하기 위해 광범위하게 사용된다. 모바일 전화기와 같은 모바일 디바이스에서, 웹사이트는 디바이스의 운영 시스템 소프트웨어의 일부로서의 시스템 및 개인용 데이터에 액세스하는 것이 일반적으로 차단된다. 이들 방법이 인터넷을 통해 달리 제공될 수 있는 일부 매우 유용한 애플리케이션 및 서비스를 방해할지라도, 이러한 조치가 비신뢰된 사이트에 의한 공격으로부터 모바일 디바이스를 보호할 필요가 있다.
다양한 실시형태는 웹사이트와 모바일 핸드셋 사이에서 신뢰를 확립하기 위한 방법들을 제공한다. 다양한 실시형태는, 모바일 핸드셋으로 하여금, 웹사이트에서의 신뢰 또는 웹사이트로부터 발행된 스크립트에서의 신뢰 중 어느 하나의 신뢰를 확인할 수 있게 하는 인증 기관에 의해 공개된 디지털 인증서를 이용한다. 인증 기관은, 디지털 인증서에 의해 증명되는 바와 같이, 또 다른 엔티티가 신뢰되는지를 검증할 수 있는 신뢰된 엔티티이다. 이것은 "신뢰 체인" 또는 "신뢰 체이닝 (trust chaining)" 으로서 공지되어 있다. 신뢰 체인은 신뢰된 엔티티로부터 유래해야 한다. 본질적으로 신뢰된 엔티티들은 루트 기관들이라고 지칭된다. 종종, 운영 시스템은 다양한 루트 기관의 디지털 인증서들인, 루트 인증서들의 세트 또는 "루트 세트" 를 유지한다.
다양한 실시형태는, 예를 들어, 셀룰러 데이터 통신 링크들을 채용한 무선 네트워크를 포함한, 다양한 유선 및 무선 네트워크들에서 채용될 수도 있다. 예로서, 도 1 은 모바일 핸드셋들 (28) 및 개인용 컴퓨터들 (29) 과 같은 일부 통신 디바이스들이 웹 서버들로부터 다운로드된 스크립트들을 실행하기 위한 부가적 능력을 갖는 셀룰러 네트워크 및 인터넷 (24) 을 포함하는 통신 네트워크 (10) 의 블록도를 도시한 것이다.
이 예시적인 네트워크 (10) 에서, 기지국 (16) 은, MSC (mobile switching center; 18) 와 같은, 네트워크를 동작시키는데 요구되는 엘리먼트들을 포함하는 셀룰러 네트워크의 일부이다. 동작 중에서, MSC (18) 는, 모바일 핸드셋 (28) 이 호들을 형성 및 수신하는 경우, 기지국 (16) 을 통해 호들 및 메시지들을 모바일 핸드셋 (28) 으로 라우팅하고 모바일 핸드셋 (28) 으로부터의 호들 및 메시지들을 라우팅하는 것이 가능하다. 또한, MSC (18) 는 모바일 핸드셋 (28) 이 호 내에 포함되는 경우 전화 지상선 트렁크들 (미도시) 에 대한 연결을 제공한다.
또한, MSC 는 인터넷 (24) 에 커플링된 서버 게이트웨이 (22) 에 커플링될 수도 있다. 서버 게이트웨이 (22) 를 통해, 모바일 핸드셋 (28) 이 인터넷을 통해 웹 서버들 (26 및 27) 과 통신할 수도 있다. 또한, 개인용 컴퓨터들 (29) 은, 이를테면, 인터넷 서비스 제공자에 의해 제공되는 종래의 인터넷 액세스 방법들을 이용하여 인터넷을 통해 웹 서버들 (26 및 27) 과 통신할 수도 있다. FTP (file transfer protocol), HTTP (hypertext transfer protocol), 및 HTTPS (hypertext transfer protocol over secure socket layers) 를 이용하여 이러한 통신물들이 전송될 수도 있다. 그 통신물들은 HTML (hypertext markup language), 이미지 파일들, 및 자바스크립트와 같은 언어들에 있어서의 클라이언트측 스크립트들을 포함한, 다양한 타입의 파일들로 이루어질 수도 있다. 부가적으로, 이러한 메시지들은 디지털 인증서들 및 서명 키들과 같은 다양한 보안 방식들에 관한 필드들을 포함할 수도 있다. 부가적으로, 이 예시적인 네트워크 (10) 는, 디지털 인증서들 및 공개 및 개인 키들을 이 예시적인 네트워크 내의 웹 서버들 (26 및 27) 과 같은 웹 서버들에 발행하기 위한 능력을 포함하는, 인증 기관으로서 동작하도록 구성된 웹 서버인 인증 기관 (certificate authority; CA) 서버 (23) 를 포함한다. 또한, CA 서버 (23) 는 셀룰러 네트워크를 통해 모바일 헨드셋들 (28) 과 통신하여 그들의 루트 인증서들의 세트를 현재 상태로 유지시킬 수도 있다.
클라이언트측 스크립트가 컴퓨터 상의 다양한 리소스들 또는 데이터에 안전하게 액세스하는 것을 허용하기 위해, 모바일 핸드셋 (28) 또는 개인용 컴퓨터 (29) 상에서 동작하는 웹 브라우저는, 이러한 리소스들 또는 데이터로의 스크립트 액세스를 승인하는 단계들을 실행하기 전에 특정 조치를 취하도록 프로그래밍 또는 구성될 수도 있다. 이러한 조치의 일 예의 오버뷰가 도 2 에 예시되어 있고, 도 2 는 모바일 핸드셋 상에서 실행될 수도 있는 단계들을 도시한 것이다. 스크립트가 특권화된 리소스, 데이터 또는 방법에 액세스하려고 시도하는 경우 프로세스가 트리거될 수도 있다 (단계 40). 특권화된 방법의 일 예는, 웹 기반 이메일 프로그램으로부터 수신된 모바일 디바이스의 호 이력에 액세스하기 위한 요청, 또는 모바일 디바이스의 GPS 좌표에 액세스하기 위한 웹 기반 매핑 프로그램에 의한 시도를 포함한다. 특권화된 리소스로의 액세스를 승인하기 전에, 브라우저는 리소스에 액세스하려고 시도하고 있는 특정 스크립트가 신뢰되거나 그렇지 않으면 악의적이지 않은지를 검증하도록 구성될 수도 있다. 이 오버뷰 방법은 이러한 검증에 대한 대안적인 방법들을 제공한다.
먼저, 모바일 핸드셋은 전적으로 신뢰되는 스크립트에 의해 액세스 시도가 이루어지는지를 결정할 수 있다 (테스트 42). 파일이 "신뢰" 되는지 여부는 다수의 방법들로 결정될 수 있다. 일부 이러한 방법들은, 후술되는 바와 같이, 인증 기관들에 의해 발행된 디지털 인증서들의 이용을 포함한다. 스크립트가 전적으로 신뢰되는 경우 (즉, 테스트 42 = "예"), 브라우저는 스크립트를 실행할 수 있다 (단계 44). 코드가 자주 변경되지 않는 경우, 스크립트의 직접 소스에 관계없이, 코드를 전적으로 신뢰하는 것이 유용하다. 예를 들어, 웹 기반 게임이 전적으로 신뢰될 수 있는 경우, 그 게임이 하나의 위치에서 개발될 수도 있고, 신뢰되는 것으로 지정된 후에 다양한 웹사이트들로 분배될 수도 있다. 그 후에, 그 게임이 상주하는 서버가 모바일 핸드셋에 알려지지 않았거나 그렇지 않으면 신뢰할 수 없더라도, 게임이 수신측 브라우저에 의해 신뢰될 수 있다. 코드가 신뢰되는 것으로 마킹되고 신뢰 인증서 내에 포함될 때 스크립트가 신뢰되는 정도 (즉, 게임이 카메라와 같은 리소스에 액세스할 수 있거나 모바일 핸드셋으로부터의 파일이 원격 서버에 전송될 수 있는지 여부) 가 결정될 수도 있어서, 모바일 디바이스가 스크립트가 액세스할 수 있는 특정 리소스들 및 특권화된 방법들을 결정할 수 있게 한다.
스크립트가 전적으로 신뢰되지 않으면 (즉, 테스트 42 = "아니오"), 브라우저는 대안적인 방법을 통해 신뢰를 결정할 수도 있다. 브라우저는, 코드가 제공된 서버가 신뢰되는지 (테스트 46) 를 결정할 수도 있고, 그렇다면 액세스를 허용할 수도 있다 (단계 44). 서버가 신뢰되지 않으면 (즉, 테스트 46 = "아니오"), 브라우저는 스크립트가 안전하지 않은 것으로 결정할 수도 있고, 보호받는 방법으로의 액세스를 거부할 수도 있다 (단계 50). 그러나, 서버가 신뢰되기 때문에, 브라우저는 스크립트를 항상 단독으로 실행하지는 않을 수도 있다. 그 대신에, 브라우저는 또한, 서버가 특정 방법 또는 리소스에 관련하여 신뢰되는지를 검증할 수도 있다 (테스트 48). 서버가 특정 방법 또는 리소스에 대해 신뢰되지 않는 경우 (즉, 테스트 48 = "아니오"), 브라우저는 그 방법으로의 액세스를 거부할 수도 있다 (단계 50). 서버가 특정 방법 또는 리소스에 대해 신뢰되는 경우 (즉, 단계 48 = "예"), 브라우저는 리소스로의 액세스를 허용할 수도 있다 (단계 44).
리소스로의 액세스에 대해 요청이 이루어질 때, 스크립트가 제한된 리소스로의 액세스를 승인받을 수 있는지 여부를 결정하는 실시형태들에서, 도 2 에 예시된 흐름도가 구현될 수도 있다. "런 타임" 또는 실시형태 실행 중이라고 지칭될 수도 있는 이러한 실시형태는 다양한 이점 및 단점을 갖는다. 또한, 다양한 이점 및 단점을 가진 대안적인 실시형태는, 스크립트가 실행되기 전에, 스크립트가 요청하는 리소스들을 결정하기 위한 것이다. 이러한 "로드 타임 (load time)" 또는 실시형태 실행 이전을 구현하기 위해, 웹 브라우저는, 실행 전에 디지털 인증서들을 검사할 수도 있고, 요청될 수도 있는 리소스들의 리스트를 생성할 수도 있다. 추가의 대안적인 실시형태에서, 잠재적으로 보호받는 리소스들로의 액세스를 요청하는 스크립트들은 스크립트의 리마크 섹션 (remark section) 내에 요청된 리소스들을 표시할 수도 있다. 이러한 실시형태에서, 액세스될 수도 있는 보호받는 리소스들을 결정하기 위해 스크립트가 실행하기 전에 스크립트의 리마크 섹션이 판독될 수 있다. 모바일 디바이스 또는 웹 브라우저가 스크립트가 요청하는 리소스들의 리스트를 일단 갖는다면, "배치 (batch)" 에서의 스크립트의 신뢰 상태 및 퍼미션 (permission) 세트의 체크를 수행할 수 있고, 스크립트가 그의 퍼미션 세트 이상으로 리소스를 요청하는 경우에 그 스크립트를 실행하는 것을 방지한다.
상술된 바와 같이, 다양한 실시형태는, 브라우저로 하여금, 웹사이트가 신뢰되는지를 디지털 서명들을 이용하여 결정할 수 있게 한다. 디지털 서명들이 작용하는 방법의 오버뷰가 도 3a 에 도시되어 있고, 도 3a 는 하나 이상의 서버들 (23, 26) 및 개인용 컴퓨터 또는 모바일 디바이스 (28) 상에서 실행하는 소프트웨어 명령들로 구현될 수도 있는 단계들을 도시한 것이다. 인증 기관 (CA) 서버 (23) 는, 웹 서버 (26) 가 문서에 디지털 서명하는데 이용할 수도 있는 암호화 키 쌍을 생성할 수도 있다 (단계 70). 컴퓨터 분야에 널리 공지되어 있는 바와 같이, 암호화 키들은, 통상적으로 소수 (prime number) 들인 큰 정수들이다. 널리 공지된 RSA 와 같은 특정 암호화 알고리즘들은, 암호화 및 암호해독을 위해 상이한 키들을 이용하고, 동시에 그 키들은 키 쌍이라고 공지되어 있다. 공개 키/개인 키 쌍은, 종종 암호해독 키인 공개 키가 공개되거나 문서들 내에 포함되는 한편, 종종 암호화 키인 개인 키는 사적인 것을 유지하는 키 쌍이다. 공개 키에 의해 성공적으로 암호해독될 수 있는 컴퓨터 데이터의 임의의 파일 또는 시퀀스는 개인 키에 의해 암호화어야만 한다. 따라서, 웹 서버 (26) 가 개인 키를 아는 유일한 엔티티인 경우, 웹 서버 (26) 의 아이덴티티가 검증될 수 있다. 그러나, 이러한 아이덴티티 검증 방법은 검증가능한 공개 키를 요구한다. 클라이언트 애플리케이션이 공개 키의 값에 대해 잘못 판단하는 경우, 그 애플리케이션을 속여 악의적 엔티티를 신뢰하게 할 수 있다. 디지털 인증서는, 클라이언트 애플리케이션이 공개 키를 검증하는데 이용할 수 있는 도구이다. CA 서버 (23) 는 웹 서버 (26) 의 명칭 및 URL 과 같은 정보 뿐만 아니라 웹 서버 (26) 의 실제 공개 키를 포함하는 인증서를 생성할 수도 있고, 그 자신의 개인 키 (즉, 웹 서버 (26) 의 개인 키가 아님) 를 이용하여 인증서를 암호화함으로써 인증서에 "서명" 할 수도 있다 (단계 71).
웹 서버 (26) 는 자바스크립트 파일과 같은 문서에 서명하는 프로세스를, MD2 와 같은 해시 기법을 이용하여 그 문서의 핑거프린트 (fingerprint) 를 계산함으로써 시작한다 (단계 72). 문서 핑거프린트가 일단 생성되었으면, 웹 서버 (26) 는 개인 키를 암호화 키로서 이용하여 핑거프린트를 암호화함으로써 핑거프린트에 "서명" 할 수도 있다 (단계 74). 그 후에, 웹 서버 (26) 는 오리지널 문서를 서명된 핑거프린트 및 디지털 인증서와 함께 모바일 핸드셋 (28) 에 송신할 수도 있다 (단계 76).
문서들이 모바일 핸드셋 (28) 에 의해 수신되고 (단계 77), 모바일 핸드셋 (28) 이 메모리에 저장된 그의 루트 세트로부터 CA 서버 (23) 의 공개 키를 결정할 수 있다. 상술된 바와 같이, 루트 세트는, 모바일 핸드셋 (28) 이 본질적으로 신뢰할 수도 있는 (즉, 모바일 핸드셋 (28) 이 그것의 루트 세트 내의 모든 인증서들이 인증된 것으로 가정할 수도 있는) 인증서들의 세트이다. CA 서버 (23) 의 공개 키를 암호해독 키로서 이용하여, 모바일 핸드셋이 디지털 인증서를 암호해독하여 웹 서버 (26) 의 공개 키를 검증할 수도 있다 (단계 79). 웹 서버 (26) 의 공개 키를 암호해독 키로서 이용하여, 모바일 핸드셋 (28) 이 서명된 핑거프린트를 암호해독하여 오리지널 핑거프린트를 발견할 수도 있다 (단계 80). 또한, 모바일 핸드셋이 동일한 해시 기법 (예를 들어, MD2) 을 이용하여 문서의 핑거프린트를 계산할 수도 있다 (단계 82). 그 후에, 모바일 핸드셋이 동일성을 위해 2개의 핑거프린트들을 비교할 수도 있다 (단계 84). 모바일 핸드셋에 의해 계산된 핑거프린트가 암호해독된 핑거프린트와 동일하면, 모바일 디바이스는, 그 문서가 CA 서버 (23) 에 의해 신뢰된 소스로부터 온 것이고, 그 문서가 웹 서버 (26) 의 제어를 떠났기 때문에 변경되지 않았다는 것임을 확신한다. 따라서, 계산된 문서 핑거프린트 및 암호해독된 문서 핑거프린트가 동일한 경우 (테스트 86), 문서가 신뢰되지만, 그렇지 않으면, 문서가 신뢰되지 않는다.
본질적으로 신뢰된 인증 기관 ("루트 기관") 이외의 소스들에 의해 인증서들이 발행되는 것을 허용하는 것 또는 "신뢰 체이닝" 함에 있어서 상업적 및/또는 기술적 이익이 존재할 수도 있다. 이러한 상황에서, 모바일 핸드셋들은, 새로운 인증 기관의 인증서를 루트 세트에 부가함으로써 새로운 인증 기관을 본질적으로 신뢰하거나, 또는 새로운 인증 기관이 루트 기관에 의해 신뢰되는지를 검증하기 위한 일부 단계들을 수행할 필요가 있다. 이 태스크를 달성하는 방법의 일 예가 도 3b 에 예시되어 있고, 도 3b 는 모바일 핸드셋 또는 개인용 컴퓨터 상에서 실행될 수도 있는 단계들을 도시한 것이다.
제시된 인증서의 신뢰도를 검증하려고 시도하고 있는 모바일 핸드셋은, 인증서가 루트 기관에 의해 서명된 것인지를 결정하기 위해 인증서를 검사함으로써 시작할 수도 있다 (테스트 54). 통상적으로, 제시된 인증서는 널리 공지된 ITU-T X.509 와 같은 프로토콜 표준에 따르고, 그 프로토콜 표준은 서명 기관의 아이덴티티에 관련된 데이터를 포함한다. 모바일 핸드셋은 서명 기관의 아이덴티티를 루트 세트 내의 인증서들의 세트와 비교할 수도 있다. 매칭이 존재하면 (즉, 테스트 54 = "예"), 모바일 핸드셋은 제시된 인증서가 신뢰할 수 있는 것으로 가정할 수도 있다 (단계 56). 모바일 핸드셋이 루트 기관에 의해 서명된 것으로서 현재 인증서를 인지하지 않는 경우, (일부 루트 인증서들이 자기 서명되는 것과 대립된 것으로서) 인증서가 또 다른 서버에 의해 서명되었는지를 결정할 수도 있다 (테스트 58). 현재 인증서가 또 다른 기관에 의해 서명되지 않았다면 (즉, 테스트 58 = "아니오"), 모바일 핸드셋은 인증서가 신뢰할 수 없는 것으로 결정할 수도 있다 (단계 60). 그러나, 현재 인증서가 또 다른 기관에 의해 서명되었다면 (즉, 테스트 58 = "예"), 모바일 핸드셋은 그 기관의 인증서를 검색할 수도 있다 (단계 64). 인증서들의 체인이 모두 함께 제시될 수도 있고, 또는 인증서에 제공되는 요구에 따라 인증 기관으로부터 검색될 수도 있다. 모바일 핸드셋이 새로운 인증서를 일단 위치시켰으면 (즉, 단계 64), 모바일 핸드셋은 새로운 인증서에 대해 유사한 단계들을 반복함으로써 그 인증서가 신뢰되는지를 결정할 수 있다. 대부분의 경우, 모바일 핸드셋이 결국에는 인증서들이 본질적으로 신뢰된 기관으로부터 체이닝된 것인지 체이닝되지 않은 것인지를 결정한다.
다양한 실시형태는 더 정확한 신뢰도를 생성하기 위해 퍼미션들의 시스템을 채용할 수도 있다. 예를 들어, 모바일 핸드셋에 대한 웹사이트 전체 액세스를 허용하는 것은, 일부 용도에 대해서는 신뢰될 수 있더라도, 이상적이지 않을 수도 있다. 대안적으로, 일부 인증 기관들은, 다른 리소스들을 제외한 일부 리소스들에 대해 신뢰도를 승인할 자격이 있을 수도 있다. 이러한 타입의 정보는 인증 기관들에 의해 발행되는 디지털 인증서들에 내장될 수 있다. 디지털 인증서들이 웹사이트의 URL 및 그 URL 이 등록된 엔티티의 명칭과 같은 정보를 포함하는 것은 당업계에 널리 공지된 것이다. 사실상, 디지털 인증서들은 임의의 타입의 컴퓨터 판독가능 데이터를 보유할 수 있고, 그 데이터는 바이너리, 텍스트, 또는 어떤 다른 것일 수 있다. 일부 실시형태에서, 인증 기관들은 퍼미션들을 전달하기 위해 명확한 명칭공간에서의 일련의 고유 식별자들을 이용할 수도 있다. 이러한 리스팅된 퍼미션들은, 서버가 액세스를 위한 퍼미션을 승인받은 리소스들의 카테고리들 또는 모바일 핸드셋 리소스들의 리스트를 포함할 수도 있다. 예를 들어, 웹 브라우저는 신뢰 체인 내의 각각의 인증서가 "지리적 좌표를 승인한다" 라는 명백한 어구 또는 동등의 디지털 코드 또는 심볼을 포함하는 경우에만 모바일 핸드셋의 지리적 좌표로의 웹사이트 액세스를 승인할 수도 있다. 또한, 인증 기관들은, 문서들에 서명하는 것에는 유효하지만 또 다른 인증서를 발행하는 것에는 유효하지 않은 인증서들을 발행하는 것이 가능하고, 이는 신뢰 체인에서의 가능한 링크들의 수를 제한하는 효과를 갖는다. 이러한 실시형태에서, 웹 브라우저는, 서버에 발행된 디지털 인증서에 기초하여, 이를테면, 인증서에 포함된 퍼미션들의 리스트를 판독함으로써, 요청된 리소스에 액세스하기 위한 퍼미션을 서버가 승인받았는지 여부를 결정할 수 있다. 따라서, 웹 브라우저 또는 모바일 디바이스는, "인증 기관을 승인한다" 라는 어구 또는 동등의 디지털 코드 또는 심볼이 결여된 인증서의 엔티티에 의해 서명된 인증서를 신뢰하지 않을 수도 있다.
디지털 인증서들을 포함한 퍼미션 방식들 이외에도, 사용자들은 웹사이트들에 대한 특정 퍼미션들을 명백히 승인할 수도 있다. 예를 들어, 사용자는 웹사이트가 신뢰된 기관에 의해 증명되지 않은 리소스로의 액세스를 요청하는 웹 애플리케이션을 실행하기를 원할 수도 있다. 이러한 웹사이트는 루트 기관들 또는 그 루트 기관들의 파생물들 중 어느 것과도 협력하는 것을 방지하는 비즈니스 장치들을 갖는 널리 공지된 상업적 웹사이트일 수도 있다. 대안적으로, 그 웹사이트는 사용자가 개인적으로 개발한 웹사이트일 수도 있다. 사용자는 URL 에 기초하여 웹사이트들에 대한 리소스들 또는 리소스들의 그룹들을 명백히 승인할 수도 있다. 이 옵션은 보안성 관점에서 단점들을 가질 수도 있지만, 특히 총명한 사용자들의 경우에는, 그 단점들을 극복한 상업적 이점들을 또한 가질 수도 있다.
추가의 실시형태에서, 스크립트 그 자체, 또는 스크립트에 첨부된 데이터는, 스크립트에 승인된 퍼미션들을 제한하는 정보를 포함할 수도 있다. 이 실시형태에서, 스크립트 또는 스크립트에 첨부된 데이터는, 서버에 발행된 디지털 인증서에서 서버가 액세스를 위한 퍼미션을 승인받은 것보다 더 적게 리소스들로의 액세스를 제한할 수도 있다.
상술된 일부 보안 기법들을 이용함으로써, 웹 브라우징 환경이 보안화될 수 있다. 이러한 환경을 가능하게 하는 통신이 도 4a 에 예시되어 있고, 도 4a 는 다양한 시스템 간에서 발생할 수도 있는 특정 통신들을 도시한 타이밍도이다. 신뢰 체인을 용이하게 하기 위해, CA 서버 (23) 는 인증서들의 루트 세트를 모바일 핸드셋 (28) 에 전송할 수도 있다 (메시지들 105). 이러한 루트 세트 인증서들의 통신물이 임의의 시간에 송신될 수도 있고, 통상적으로는 모바일 디바이스들에 제공되는 일반 서비스들의 일부로서 주기적으로 업데이트된다. 또한, CA 서버 (23) 는 웹 서버 (26) 에 전송된 키 쌍 및 인증서를 생성할 수도 있다 (메시지들 110). 이들 준비가 되어 있는 보안 도구들을 이용하여, 모바일 핸드셋 (28) 은 웹 서버 (26) 에 의해 호스팅된 웹사이트에 옵션적으로 브라우징할 수 있고 디바이스와 서버 사이의 보안 연결을 개방할 수 있다 (옵션적 메시지들 115). 대안적으로, 모바일 핸드셋 (28) 은 서버 (26) 와 통신하기 위해 TLS (Transport Layer Security) 와 같은 보안 연결을 이용할 수 있고, DNS (Domain Name System) 인프라스트럭처에 단순히 의존할 수 있다. 그 후에, 모바일 핸드셋 (28) 은 웹 서버 (26) 로부터 웹 페이지를 요청할 수도 있다 (메시지 120). 웹 서버 (26) 는 모바일 핸드셋 (28) 이 실행하기 위한 서명된 코드를 이용하여 그 요청에 응답할 수도 있다 (메시지 125). 도 3a 와 관련하여 상술된 디지털 서명 방법과 유사한 방식으로 코드가 웹 서버 (26) 에 의해 서명될 수도 있고, 또는 HTTP 요청을 통해 코드가 CA 서버 (23) 에 전송될 수도 있어, 그 코드가 CA 서버 (23) 에 의해 서명되고 HTTP 응답을 통해 웹 서버 (26) 에 반환될 수도 있다. 모바일 핸드셋 (28) 의 사용자가 웹사이트를 계속 브라우징함에 따라 이 프로세스가 반복될 수도 있다 (메시지들 120 및 125). 모바일 핸드셋 (28) 이 (도 3a 와 관련하여 상술된 바와 같이) 코드에 제공된 디지털 서명을 검증하는 경우, 모바일 핸드셋 (28) 은 특권화된 리소스, 데이터 또는 방법으로의 스크립트 액세스를 제공할 수도 있어, 그 후에 이러한 기밀 데이터 중 일부 또는 전부를 서버 (26) 에 송신할 수도 있다 (메시지 127). 이러한 기밀 데이터를 이용하여, 서버 (26) 는 그 후에, 기밀 정보에 기초하거나 기밀 정보에 응답하거나 그렇지 않으면 기밀 정보에 특정되는 웹 페이지, 데이터 또는 스크립트를 제공할 수도 있다 (메시지 129). 예를 들어, 메시지 127 에서의 서버 (26) 에 제공되는 요청된 데이터가 모바일 디바이스 (28) 의 GPS 좌표인 경우, 서버 (26) 는 근처의 상점들의 로컬 맵 또는 전화 번호들과 같은, 디바이스의 위치에 특정된 웹페이지를 제공할 수도 있다.
대안적인 실시형태에서, 모바일 디바이스 (28) 는 또 다른 서버로부터 웹페이지를 수신하는 것과 개별적으로 서명 기관으로부터 디지털 서명을 요청 및 수신할 수도 있다. 이 실시형태는 도 3c 및 도 4b 에 예시되어 있다. 도 3c 를 참조하면, 프로세스가 도 3a 와 관련하여 상술된 것과 유사하게 진행하고, 모바일 디바이스가 오리지널 웹 애플리케이션 제공자의 서버 또는 서명 기관 (23) 에 개별적인 http 요청을 전송하여, 웹 페이지에 대한 디지털 서명을 요청하고 이에 응답하여 그 서명을 수신하는 것이 부가된다 (단계 78). 서명 기관 (23) 에서, 디지털 서명에 대한 요청이 수신되고 (단계 88), 이에 응답하여, 서명 기관 (23) 이 서버의 메모리에 저장될 수도 있는 디지털 서명을 반환한다 (단계 89). 이 부가적인 단계가 서명 기관에 대한 서명 요청으로서 도 4b 에 도시된 메시지 흐름도에 예시되어 있고 (메시지 130), 서명을 모바일 디바이스에 다시 송신하는 것이 후속된다 (메시지 132).
모바일 핸드셋 및 웹 서버가 상호작용할 수도 있는 방법의 더 상세한 예시가 도 5 에 도시되어 있고, 도 5 는 서버 (26) 및 모바일 디바이스 (28) 또는 개인용 컴퓨터 상에서 실행되는 소프트웨어 명령들로 구현될 수 있는 단계들을 도시한 것이다. 모바일 핸드셋 (28) 의 사용자가 웹 서버 (26) 로부터 웹 페이지를 요청할 수 있다 (단계 136). 널리 공지된 셀룰러 데이터 네트워크 방법들을 이용하여 그리고 인터넷을 통해 이 요청이 송신될 수도 있다. 이에 응답하여, 웹 서버 (26) 가, 이를테면, PHP 인터프리터를 이용하는 공지된 방식으로 코드를 생성할 수도 있다 (단계 138). 웹 서버 (26) 는, 도 3a 와 관련하여 더 완전히 상술된 방법들을 이용하여, 이러한 동적으로 생성된 코드에 서명할 수도 있다 (단계 140). 그 후에, 웹 서버는, 이를테면, 공지된 인터넷 및 셀룰러 데이터 네트워크 방법들을 이용함으로써, 서명된 코드를 모바일 디바이스에 다시 송신할 수 있다. 모바일 디바이스가 서명된 코드를 일단 수신하면, 코드를 실행하는 것을 시작할 수도 있다 (단계 145). 코드가 특정 파일과 같은 제한된 리소스로의 액세스를 요청하는 경우 (단계 150), 모바일 핸드셋 (28) 은 그 리소스에 액세스하기 위해 코드가 신뢰되는지를 검증하기 위해 스크립트의 실행을 일시정지시킬 수도 있다 (단계 155). 도 3a 와 관련하여 상술된 방법들을 이용하여 이러한 검증이 수행된다. 모바일 핸드셋이 코드가 신뢰할 수 있는 것으로 결정하는 경우, 액세스를 승인할 수도 있다 (단계 157).
대안적인 실시형태에서, 루트 키들과 마찬가지로, 서버에 대한 디지털 인증서가 클라이언트 (즉, 모바일 디바이스) 에서 미리 구성될 수 있다. 따라서, 이 실시형태에서, 디지털 인증서가 모바일 핸드셋 메모리 내에서 이미 이용가능할 수도 있기 때문에, 상술된 디지털 인증서를 수신하는 단계는 옵션적이다. 이러한 상황들에서, 애플리케이션을 검증 및 실행하는 프로세스는, 서버로부터 실행을 위한 스크립트를 수신하는 모바일 디바이스, 스크립트가 획득된 서버가 (메모리에 이미 존재할 수도 있거나 개별적으로 제공될 수도 있는) 디지털 인증서에 명명되어 있는지를 검증하는 모바일 디바이스, 인증서의 콘텐츠에 따라 퍼미션들이 서버에 승인되었는지를 결정하는 모바일 디바이스, 및 스크립트로 하여금, 관련 퍼미션이 스크립트가 획득된 서버에 승인된 경우에만, 보호받는 리소스에 액세스할 수 있게 하는 모바일 디바이스를 포함한다.
여기에 기술된 강인한 보안 조치들을 이용하지 않는 웹 브라우징 환경은, 스크립트들을 스크립트가 유래되었던 특정 서버 이외의 서로들로부터 유래한 스크립트들과 통합시키는 것을 금지함으로써, 스크립트 기능성을 제한하는 것을 선택할 수도 있다. 예를 들어, 웹 페이지는 메뉴 시스템을 생성하기 위한 자바스크립트의 스크립트를 포함할 수도 있다. 웹사이트 메뉴 시스템이 뉴스 웹사이트들 또는 기상 웹사이트들로의 링크들을 갖는 것이 유용할 수도 있다. 그러나, Firefox 및 Internet Explorer 와 같은 웹 브라우저들은, 메뉴 스크립트가 뉴스 서버와 통신하는 것을 허용하지 않을 수도 있다. 신뢰된 웹 브라우징 환경에서, 이러한 금지는 쉽게 해제될 수 있다. 스크립트가 제 2 서버에 접촉하는 것을 허용하는 모바일 핸드셋의 일 예가 도 6 에 도시되어 있고, 도 6 은 시스템들 간에서 발생할 수도 있는 통신들을 도시한 것이다. 모바일 핸드셋 (28) 은 웹 서버 (26) 상의 웹사이트를 탐색할 수도 있고, 그 시스템들은 보안 연결을 확립할 수도 있다 (메시지들 115). 모바일 핸드셋 (28) 이 웹 서버 (26) 로부터 웹 페이지를 요청할 수도 있다 (메시지 120). 웹 서버 (26) 는 모바일 핸드셋 (28) 이 실행하기 위한 서명된 코드를 이용하여 그 요청에 응답할 수도 있다 (메시지 125). 웹 서버 (26) 로부터의 코드를 실행하는 것에 응답하여, 모바일 핸드셋은 또 다른 웹 서버 (27) 로부터 스크립트를 요청하여 현재 메뉴 스크립트의 기능성을 확장시킬 수도 있다 (메시지 121). 웹 서버 (27) 는 코드를 생성하고 그 코드에 서명하며, 서명된 코드를 모바일 핸드셋 (28) 에 전송한다 (메시지 126). 종래의 웹 브라우저에서, 그 웹 브라우저는 웹 브라우저로부터의 스크립트의 실행을 방해할 수도 있고, 또는 기존의 문서와 상호작용하는 능력을 제한할 수도 있다.
예를 들어, 셀룰러 전화기, 셀룰러 전화기를 갖는 개인 휴대 정보 단말기 (PDA), 모바일 전자 메일 수신기, 모바일 웹 액세스 디바이스, 및 무선 네트워크에 연결하는 추후에 개발될 수도 있는 다른 프로세서 탑재 디바이스와 같은 다양한 모바일 핸드셋들 중 어느 것에도 상술된 실시형태들이 구현될 수도 있다. 통상적으로, 이러한 모바일 핸드셋들은 도 7 에 예시된 컴포넌트들을 공통적으로 갖는다. 예를 들어, 모바일 핸드셋 (170) 은 내부 메모리 (172) 및 디스플레이 (173) 에 커플링된 프로세서 (171) 를 포함할 수도 있다. 부가적으로, 모바일 핸드셋 (170) 은 프로세서 (171) 에 커플링된 셀룰러 전화 트랜시버 (175) 및/또는 무선 데이터 링크에 연결된 전자기 방사선을 송수신하기 위한 안테나 (174) 를 갖는다. 일부 구현에서, 셀룰러 전화 통신에 이용되는 트랜시버 (175) 와 프로세서 (171) 및 메모리 (172) 의 일부가 무선 데이터 링크를 통해 데이터 인터페이스를 제공하기 때문에, 공중 인터페이스라고 지칭된다.
프로세서 (171) 는, 상술된 다양한 실시형태의 기능들을 포함하는 다양한 기능들을 수행하기 위한 소프트웨어 명령들 (애플리케이션들) 에 의해 구성될 수 있는 임의의 프로그래밍가능 마이크로프로세서, 마이크로컴퓨터 또는 다중 프로세서 칩 또는 칩들일 수도 있다. 일부 모바일 핸드셋들에서, 다수의 프로세서들 (171) 은, 이를테면, 무선 통신 기능들에 전용된 하나의 프로세서 및 다른 애플리케이션들을 동작시키는 것에 전용된 하나의 프로세서가 제공될 수도 있다. 통상적으로, 소프트웨어 애플리케이션들이 프로세서 (171) 에 액세스 및 로딩되기 전에 내부 메모리 (172) 에 저장될 수도 있다. 일부 모바일 핸드셋들에서, 프로세서 (171) 는 애플리케이션 소프트웨어 명령들을 저장하기에 충분한 내부 메모리를 포함할 수도 있다. 이 설명의 목적으로, 메모리라는 용어는, 내부 메모리 (172) 및 프로세서 (171) 그 자체 내의 메모리를 포함하여, 프로세서 (171) 에 의해 액세스가능한 모든 메모리를 지칭한다. 사용자 데이터 파일들은 통상적으로 메모리 (172) 에 저장된다. 다수의 모바일 핸드셋들에서, 메모리 (172) 는 플래시 메모리와 같은 휘발성 또는 비휘발성 메모리, 또는 그 양자의 혼합물일 수도 있다. 통상적으로, 모바일 핸드셋들은 사용자 입력들을 수신하기 위해 키 패드 (176) 또는 미니어처 키보드 및 메뉴 선택 버튼들 또는 로커 스위치들 (177) 을 포함한다.
또한, 상술된 실시형태들은 다양한 컴퓨팅 디바이스들 중 임의의 컴퓨팅 디바이스, 이를테면, 예를 들어, 도 8 에 예시된 개인용 컴퓨터 (29) 상에서 구현될 수도 있다. 통상적으로, 이러한 개인용 컴퓨터 (29) 는 컴퓨터 하우징 (160), 휘발성 메모리 (162) 에 커플링된 프로세서 (161), 디스크 드라이브 (163) 와 같은 대용량 비휘발성 메모리를 포함한다. 또한, 컴퓨터 (29) 는 프로세서 (161) 에 커플링된 플로피 디스크 드라이브 (164) 및 콤팩트 디스크 (CD) 드라이브 (165) 를 포함할 수도 있다. 통상적으로, 컴퓨터 (29) 는 또한 키보드 (166) 와 같은 사용자 입력 디바이스 및 디스플레이 (137) 를 포함한다. 또한, 컴퓨터 (29) 는 USB (universal serial bus) 포트 (미도시) 와 같은, 프로세서 (161) 에 커플링된 외부 메모리 디바이스들을 수용하기 위한 다수의 커넥터 포트들 뿐만 아니라, 프로세서 (161) 를 네트워크에 커플링하기 위한 네트워크 연결 회로들 (미도시) 을 포함할 수도 있다. 랩탑 구성에서, 컴퓨터 하우징 (160) 은 키보드 (166) 및 디스플레이 (137) 를 포함한다.
하나 이상의 예시적인 실시형태들에서, 기술된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되면, 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령 또는 코드로서 저장되거나 송신될 수도 있다. 컴퓨터 판독가능 매체는 일 장소로부터 또 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체 및 컴퓨터 저장 매체 양자를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수도 있다. 제한하지 않는 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 저장 디바이스, 자기 디스크 저장 디바이스 또는 다른 자기 저장 디바이스, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 반송하거나 저장하기 위해 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 문맥이 컴퓨터 판독가능한 매체를 적절하게 칭한다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 트위스트 페어 (twisted pair), 디지털 가입자 라인 (DSL), 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신된다면, 이러한 동축 케이블, 광섬유 케이블, 트위스트 페어, DSL, 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다. 여기에 사용된 바와 같은 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, DVD (digital versatile disc), 플로피 디스크 및 블루-레이 디스크를 포함하며, 여기서 디스크 (disk) 는 통상 데이터를 자기적으로 재생하는 한편 디스크 (disc) 는 레이저를 이용하여 광학적으로 데이터를 재생한다. 상기의 조합들도 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
개시된 실시형태들의 이전의 설명은 당업자로 하여금 본 발명을 제작 또는 이용할 수 있게 하기 위해 제공된다. 이들 실시형태들에 대한 다양한 변형이 당업자에게 쉽게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 사상 또는 범위로부터 벗어남 없이 다른 실시형태들에 적용될 수도 있다. 따라서, 본 발명은 여기에 나타낸 실시형태들로 제한되는 것으로 의도되지 않고 여기에 개시된 원리들 및 신규의 특징들과 부합하는 최광의 범위를 부여하려는 것이다.

Claims (64)

  1. 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법으로서,
    상기 모바일 디바이스 상에서 실행하기 위한 스크립트를 서버로부터 수신하는 단계;
    상기 서버에 발행된 디지털 인증서를 수신하는 단계;
    상기 디지털 인증서를 검증하고, 상기 디지털 인증서가 생성된 이래로 상기 스크립트가 변경되지 않았다는 것을 확인하는 단계; 및
    상기 스크립트로 하여금, 상기 스크립트를 검증하는데 이용된 상기 디지털 인증서에서 식별되는 리소스에 액세스할 수 있게 하는 단계를 포함하는, 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법.
  2. 제 1 항에 있어서,
    상기 스크립트의 암호화된 제 1 핑거프린트를 포함하는 상기 스크립트에 대한 디지털 서명을 수신하는 단계를 더 포함하고,
    상기 디지털 인증서를 검증하고, 상기 스크립트가 변경되지 않았다는 것을 확인하는 단계는,
    신뢰된 제 3 자에 의해 상기 디지털 인증서가 상기 서버에 발행된 것으로 결정하는 단계;
    상기 디지털 인증서로부터 상기 서버의 공개 키를 결정하는 단계;
    상기 서버의 공개 키를 이용하여 상기 암호화된 제 1 핑거프린트를 암호해독하는 단계;
    상기 스크립트의 제 2 핑거프린트를 생성하는 단계; 및
    상기 제 1 핑거프린트의 값을 상기 제 2 핑거프린트의 값과 비교하는 단계를 포함하는, 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법.
  3. 제 1 항에 있어서,
    상기 리소스 또는 상기 리소스를 포함하는 리소스들의 클래스로의 서버 액세스를 신뢰된 제 3 자가 승인하였는지를 상기 디지털 인증서로부터 검증함으로써, 상기 스크립트가 상기 리소스로의 액세스를 승인받아야 하는지 여부를 결정하는 단계를 더 포함하는, 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법.
  4. 제 1 항에 있어서,
    상기 서버로부터 서비스를 요청하는 단계를 더 포함하고,
    상기 수신된 스크립트는, 상기 서비스에 대한 상기 요청에 응답하여, 상기 서버에서 생성된, 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법.
  5. 제 2 항에 있어서,
    상기 신뢰된 제 3 자에 의해 상기 디지털 인증서가 상기 서버에 발행된 것으로 결정하는 단계는, 본질적으로 신뢰된 인증 기관에 의해 상기 디지털 인증서가 상기 서버에 발행된 것으로 결정하는 단계를 포함하는, 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법.
  6. 제 2 항에 있어서,
    상기 신뢰된 제 3 자에 의해 상기 디지털 인증서가 상기 서버에 발행된 것으로 결정하는 단계는, 디지털 인증서들의 체인에 의해 본질적으로 신뢰된 인증 기관에 링크된 인증 기관에 의해 상기 디지털 인증서가 상기 서버에 발행된 것으로 결정하는 단계를 포함하는, 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법.
  7. 제 1 항에 있어서,
    상기 서버로부터 상기 스크립트에 대한 디지털 서명을 요청하는 단계; 및
    상기 디지털 서명에 대한 상기 요청에 응답하여 상기 스크립트에 대한 상기 디지털 서명을 수신하는 단계를 더 포함하는, 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법.
  8. 제 1 항에 있어서,
    신뢰된 제 3 자로부터 상기 스크립트에 대한 디지털 서명을 요청하는 단계; 및
    상기 디지털 서명에 대한 상기 요청에 응답하여 상기 스크립트에 대한 상기 디지털 서명을 수신하는 단계를 더 포함하는, 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법.
  9. 제 1 항에 있어서,
    상기 서버에 발행된 상기 디지털 인증서에 기초하여, 상기 서버가 요청된 상기 리소스에 액세스하기 위한 퍼미션 (permission) 을 승인받았는지 여부를 결정하는 단계; 및
    상기 스크립트로 하여금, 상기 서버가 요청된 상기 리소스에 액세스하기 위한 퍼미션을 승인받은 경우에만, 상기 리소스들에 액세스할 수 있게 하는 단계를 더 포함하는, 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법.
  10. 제 1 항에 있어서,
    상기 서버로부터 상기 서버에 대한 디지털 서명을 요청하는 단계;
    상기 서버에 대한 상기 디지털 서명을 수신하는 단계;
    상기 서버에 대한 상기 디지털 서명으로부터, 상기 서버가 요청된 상기 리소스로의 액세스를 갖는지 여부를 결정하는 단계; 및
    상기 스크립트로 하여금, 상기 서버가 요청된 상기 리소스로의 액세스를 갖는 경우에만, 상기 리소스들에 액세스할 수 있게 하는 단계를 더 포함하는, 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법.
  11. 제 1 항에 있어서,
    신뢰된 제 3 자로부터 상기 서버에 대한 디지털 서명을 요청하는 단계;
    상기 서버에 대한 상기 디지털 서명을 수신하는 단계;
    상기 서버에 대한 상기 디지털 서명으로부터, 상기 서버가 요청된 상기 리소스로의 액세스를 갖는지 여부를 결정하는 단계; 및
    상기 스크립트로 하여금, 상기 서버가 요청된 상기 리소스로의 액세스를 갖는 경우에만, 상기 리소스들에 액세스할 수 있게 하는 단계를 더 포함하는, 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법.
  12. 제 1 항에 있어서,
    상기 스크립트가 요청된 상기 리소스로의 액세스를 갖는지 여부를 결정하는 단계; 및
    상기 스크립트로 하여금, 상기 스크립트가 요청된 상기 리소스로의 액세스를 갖는 경우에만, 상기 리소스들에 액세스할 수 있게 하는 단계를 더 포함하는, 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법.
  13. 제 1 항에 있어서,
    상기 스크립트 내의 정보에 기초하여, 상기 스크립트에 승인된 퍼미션들을 제한하는 단계; 및
    상기 스크립트로 하여금, 요청된 상기 리소스가 상기 제한된 퍼미션들 내에 포함되는 경우에만, 요청된 상기 리소스에 액세스할 수 있게 하는 단계를 더 포함하는, 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법.
  14. 제 1 항에 있어서,
    서버 또는 서버 콘텐츠를 신뢰되는 것으로 지정한 사용자 입력을 수신하는 단계;
    상기 스크립트가 서버로부터 수신되었는지 또는 상기 스크립트가 상기 사용자 입력에 의해 신뢰되는 것으로 지정된 서버 콘텐츠인지를 결정하는 단계; 및
    상기 스크립트로 하여금, 상기 스크립트가 서버로부터 수신된 경우 또는 상기 스크립트가 상기 사용자 입력에 의해 신뢰되는 것으로 지정된 서버 콘텐츠인 경우, 상기 리소스에 액세스할 수 있게 하는 단계를 더 포함하는, 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법.
  15. 프로세서;
    상기 프로세서에 커플링된 트랜시버; 및
    상기 프로세서에 커플링된 메모리를 포함하고,
    상기 프로세서는,
    모바일 디바이스 상에서 실행하기 위한 스크립트를 서버로부터 수신하는 단계;
    상기 서버에 발행된 디지털 인증서를 수신하는 단계;
    상기 디지털 인증서를 검증하고, 상기 디지털 인증서가 생성된 이래로 상기 스크립트가 변경되지 않았다는 것을 확인하는 단계; 및
    상기 스크립트로 하여금, 상기 디지털 인증서가 검증되고 상기 스크립트가 변경되지 않은 경우에만, 리소스에 액세스할 수 있게 하는 단계
    를 포함하는 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 모바일 디바이스.
  16. 제 15 항에 있어서,
    상기 프로세서는,
    상기 스크립트에 대한 디지털 서명을 상기 스크립트의 암호화된 제 1 핑거프린트의 형태로 수신하는 단계; 및
    신뢰된 제 3 자에 의해 상기 디지털 인증서가 상기 서버에 발행된 것으로 결정하는 단계; 상기 디지털 인증서로부터 상기 서버의 공개 키를 결정하는 단계; 상기 서버의 공개 키를 이용하여 상기 암호화된 제 1 핑거프린트를 암호해독하는 단계; 상기 스크립트의 제 2 핑거프린트를 생성하는 단계; 및 상기 제 1 핑거프린트의 값을 상기 제 2 핑거프린트의 값과 비교하는 단계를 포함하는 단계들을 수행함으로써, 상기 디지털 인증서를 검증하고, 상기 디지털 인증서가 생성된 이래로 상기 스크립트가 변경되지 않았다는 것을 확인하는 단계
    를 포함하는 추가 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 모바일 디바이스.
  17. 제 15 항에 있어서,
    상기 프로세서는, 상기 리소스 또는 상기 리소스를 포함하는 리소스들의 클래스로의 서버 액세스를 신뢰된 제 3 자가 승인하였는지를 상기 디지털 인증서로부터 검증함으로써, 상기 스크립트가 상기 리소스로의 액세스를 승인받아야 하는지 여부를 결정하는 단계를 포함하는 추가 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 모바일 디바이스.
  18. 제 15 항에 있어서,
    상기 프로세서는, 상기 서버로부터 서비스를 요청하는 단계를 포함하는 추가 단계들을 수행하기 위한 소프트웨어 명령들로 구성되고,
    상기 수신된 스크립트는, 상기 서비스에 대한 상기 요청에 응답하여, 상기 서버에서 생성된, 모바일 디바이스.
  19. 제 16 항에 있어서,
    상기 프로세서는, 본질적으로 신뢰된 인증 기관에 의해 상기 디지털 인증서가 상기 서버에 발행된 것으로 결정하는 단계를 포함하는 추가 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 모바일 디바이스.
  20. 제 16 항에 있어서,
    상기 프로세서는, 디지털 인증서들의 체인에 의해 본질적으로 신뢰된 인증 기관에 링크된 인증 기관에 의해 상기 디지털 인증서가 상기 서버에 발행된 것으로 결정하는 단계를 포함하는 추가 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 모바일 디바이스.
  21. 제 15 항에 있어서,
    상기 프로세서는,
    상기 서버로부터 상기 스크립트에 대한 디지털 서명을 요청하는 단계; 및
    상기 디지털 서명에 대한 상기 요청에 응답하여 상기 스크립트에 대한 상기 디지털 서명을 수신하는 단계
    를 포함하는 추가 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 모바일 디바이스.
  22. 제 15 항에 있어서,
    상기 프로세서는,
    신뢰된 제 3 자로부터 상기 스크립트에 대한 디지털 서명을 요청하는 단계; 및
    상기 디지털 서명에 대한 상기 요청에 응답하여 상기 스크립트에 대한 상기 디지털 서명을 수신하는 단계
    를 포함하는 추가 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 모바일 디바이스.
  23. 제 15 항에 있어서,
    상기 프로세서는,
    상기 서버에 발행된 상기 디지털 인증서에 기초하여, 상기 서버가 요청된 상기 리소스에 액세스하기 위한 퍼미션을 승인받았는지 여부를 결정하는 단계; 및
    상기 스크립트로 하여금, 상기 서버가 요청된 상기 리소스에 액세스하기 위한 퍼미션을 승인받은 경우에만, 상기 리소스들에 액세스할 수 있게 하는 단계
    를 포함하는 추가 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 모바일 디바이스.
  24. 제 15 항에 있어서,
    상기 프로세서는,
    상기 서버로부터 상기 서버에 대한 디지털 서명을 요청하는 단계;
    상기 서버에 대한 상기 디지털 서명을 수신하는 단계;
    상기 서버에 대한 상기 디지털 서명으로부터, 상기 서버가 요청된 상기 리소스로의 액세스를 갖는지 여부를 결정하는 단계; 및
    상기 스크립트로 하여금, 상기 서버가 요청된 상기 리소스로의 액세스를 갖는 경우에만, 상기 리소스들에 액세스할 수 있게 하는 단계
    를 포함하는 추가 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 모바일 디바이스.
  25. 제 15 항에 있어서,
    상기 프로세서는,
    신뢰된 제 3 자로부터 상기 서버에 대한 디지털 서명을 요청하는 단계;
    상기 서버에 대한 상기 디지털 서명을 수신하는 단계;
    상기 서버에 대한 상기 디지털 서명으로부터, 상기 서버가 요청된 상기 리소스로의 액세스를 갖는지 여부를 결정하는 단계; 및
    상기 스크립트로 하여금, 상기 서버가 요청된 상기 리소스로의 액세스를 갖는 경우에만, 상기 리소스들에 액세스할 수 있게 하는 단계
    를 포함하는 추가 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 모바일 디바이스.
  26. 제 15 항에 있어서,
    상기 프로세서는,
    상기 스크립트가 요청된 상기 리소스로의 액세스를 갖는지 여부를 결정하는 단계; 및
    상기 스크립트로 하여금, 상기 스크립트가 요청된 상기 리소스로의 액세스를 갖는 경우에만, 상기 리소스들에 액세스할 수 있게 하는 단계
    를 포함하는 추가 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 모바일 디바이스.
  27. 제 15 항에 있어서,
    상기 프로세서는,
    상기 스크립트 내의 정보에 기초하여, 상기 스크립트에 승인된 퍼미션들을 제한하는 단계; 및
    상기 스크립트로 하여금, 요청된 상기 리소스가 상기 제한된 퍼미션들 내에 포함되는 경우에만, 요청된 상기 리소스에 액세스할 수 있게 하는 단계
    를 포함하는 추가 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 모바일 디바이스.
  28. 제 15 항에 있어서,
    상기 프로세서는,
    서버 또는 서버 콘텐츠를 신뢰되는 것으로 지정한 사용자 입력을 수신하는 단계;
    상기 스크립트가 서버로부터 수신되었는지 또는 상기 스크립트가 상기 사용자 입력에 의해 신뢰되는 것으로 지정된 서버 콘텐츠인지를 결정하는 단계; 및
    상기 스크립트로 하여금, 상기 스크립트가 서버로부터 수신된 경우 또는 상기 스크립트가 상기 사용자 입력에 의해 신뢰되는 것으로 지정된 서버 콘텐츠인 경우, 상기 리소스에 액세스할 수 있게 하는 단계
    를 포함하는 추가 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 모바일 디바이스.
  29. 프로세서로 하여금,
    모바일 디바이스 상에서 실행하기 위한 스크립트를 서버로부터 수신하는 단계;
    상기 서버에 발행된 디지털 인증서를 수신하는 단계;
    상기 디지털 인증서를 검증하고, 상기 디지털 인증서가 생성된 이래로 상기 스크립트가 변경되지 않았다는 것을 확인하는 단계; 및
    상기 스크립트로 하여금, 상기 디지털 인증서가 검증되고 상기 스크립트가 변경되지 않은 경우에만, 리소스에 액세스할 수 있게 하는 단계
    를 포함하는 단계들을 수행하게 하도록 구성된 프로세서 실행가능 소프트웨어 명령들이 저장된, 유형의 저장 매체.
  30. 제 29 항에 있어서,
    상기 저장된 프로세서 실행가능 소프트웨어 명령들은 또한,
    프로세서로 하여금,
    상기 스크립트에 대한 디지털 서명을 상기 스크립트의 암호화된 제 1 핑거프린트의 형태로 수신하는 단계; 및
    신뢰된 제 3 자에 의해 상기 디지털 인증서가 상기 서버에 발행된 것으로 결정하는 단계; 상기 디지털 인증서로부터 상기 서버의 공개 키를 결정하는 단계; 상기 서버의 공개 키를 이용하여 상기 암호화된 제 1 핑거프린트를 암호해독하는 단계; 상기 스크립트의 제 2 핑거프린트를 생성하는 단계; 및 상기 제 1 핑거프린트의 값을 상기 제 2 핑거프린트의 값과 비교하는 단계를 포함하는 단계들을 수행함으로써, 상기 디지털 인증서를 검증하고, 상기 디지털 인증서가 생성된 이래로 상기 스크립트가 변경되지 않았다는 것을 확인하는 단계
    를 포함하는 단계들을 수행하게 하도록 구성되는, 유형의 저장 매체.
  31. 제 29 항에 있어서,
    상기 저장된 프로세서 실행가능 소프트웨어 명령들은 또한,
    프로세서로 하여금,
    상기 리소스 또는 상기 리소스를 포함하는 리소스들의 클래스로의 서버 액세스를 신뢰된 제 3 자가 승인하였는지를 상기 디지털 인증서로부터 검증함으로써, 상기 스크립트가 상기 리소스로의 액세스를 승인받아야 하는지 여부를 결정하는 단계
    를 포함하는 단계들을 수행하게 하도록 구성되는, 유형의 저장 매체.
  32. 제 29 항에 있어서,
    상기 저장된 프로세서 실행가능 소프트웨어 명령들은 또한,
    프로세서로 하여금,
    상기 서버로부터 서비스를 요청하는 단계
    를 포함하는 단계들을 수행하게 하도록 구성되고,
    상기 수신된 스크립트는, 상기 서비스에 대한 상기 요청에 응답하여, 상기 서버에서 생성된, 유형의 저장 매체.
  33. 제 30 항에 있어서,
    상기 저장된 프로세서 실행가능 소프트웨어 명령들은 또한,
    프로세서로 하여금,
    본질적으로 신뢰된 인증 기관에 의해 상기 디지털 인증서가 상기 서버에 발행된 것으로 결정하는 단계
    를 포함하는 단계들을 수행하게 하도록 구성되는, 유형의 저장 매체.
  34. 제 30 항에 있어서,
    상기 저장된 프로세서 실행가능 소프트웨어 명령들은 또한,
    프로세서로 하여금,
    디지털 인증서들의 체인에 의해 본질적으로 신뢰된 인증 기관에 링크된 인증 기관에 의해 상기 디지털 인증서가 상기 서버에 발행된 것으로 결정하는 단계
    를 포함하는 단계들을 수행하게 하도록 구성되는, 유형의 저장 매체.
  35. 제 29 항에 있어서,
    상기 저장된 프로세서 실행가능 소프트웨어 명령들은 또한,
    프로세서로 하여금,
    상기 서버로부터 상기 스크립트에 대한 디지털 서명을 요청하는 단계; 및
    상기 디지털 서명에 대한 상기 요청에 응답하여 상기 스크립트에 대한 상기 디지털 서명을 수신하는 단계
    를 포함하는 단계들을 수행하게 하도록 구성되는, 유형의 저장 매체.
  36. 제 29 항에 있어서,
    상기 저장된 프로세서 실행가능 소프트웨어 명령들은 또한,
    프로세서로 하여금,
    신뢰된 제 3 자로부터 상기 스크립트에 대한 디지털 서명을 요청하는 단계; 및
    상기 스크립트에 대한 상기 디지털 서명을 수신하는 단계
    를 포함하는 단계들을 수행하게 하도록 구성되는, 유형의 저장 매체.
  37. 제 29 항에 있어서,
    상기 저장된 프로세서 실행가능 소프트웨어 명령들은 또한,
    프로세서로 하여금,
    상기 서버에 발행된 상기 디지털 인증서에 기초하여, 상기 서버가 요청된 상기 리소스에 액세스하기 위한 퍼미션을 승인받았는지 여부를 결정하는 단계; 및
    상기 스크립트로 하여금, 상기 서버가 요청된 상기 리소스에 액세스하기 위한 퍼미션을 승인받은 경우에만, 상기 리소스들에 액세스할 수 있게 하는 단계
    를 포함하는 단계들을 수행하게 하도록 구성되는, 유형의 저장 매체.
  38. 제 29 항에 있어서,
    상기 저장된 프로세서 실행가능 소프트웨어 명령들은 또한,
    프로세서로 하여금,
    상기 서버로부터 상기 서버에 대한 디지털 서명을 요청하는 단계;
    상기 서버에 대한 상기 디지털 서명을 수신하는 단계;
    상기 서버에 대한 상기 디지털 서명으로부터, 상기 서버가 요청된 상기 리소스로의 액세스를 갖는지 여부를 결정하는 단계; 및
    상기 스크립트로 하여금, 상기 서버가 요청된 상기 리소스로의 액세스를 갖는 경우에만, 상기 리소스들에 액세스할 수 있게 하는 단계
    를 포함하는 단계들을 수행하게 하도록 구성되는, 유형의 저장 매체.
  39. 제 29 항에 있어서,
    상기 저장된 프로세서 실행가능 소프트웨어 명령들은 또한,
    프로세서로 하여금,
    신뢰된 제 3 자로부터 상기 서버에 대한 디지털 서명을 요청하는 단계;
    상기 서버에 대한 상기 디지털 서명을 수신하는 단계;
    상기 서버에 대한 상기 디지털 서명으로부터, 상기 서버가 요청된 상기 리소스로의 액세스를 갖는지 여부를 결정하는 단계; 및
    상기 스크립트로 하여금, 상기 서버가 요청된 상기 리소스로의 액세스를 갖는 경우에만, 상기 리소스들에 액세스할 수 있게 하는 단계
    를 포함하는 단계들을 수행하게 하도록 구성되는, 유형의 저장 매체.
  40. 제 29 항에 있어서,
    상기 저장된 프로세서 실행가능 소프트웨어 명령들은 또한,
    프로세서로 하여금,
    상기 스크립트가 요청된 상기 리소스로의 액세스를 갖는지 여부를 결정하는 단계; 및
    상기 스크립트로 하여금, 상기 스크립트가 요청된 상기 리소스로의 액세스를 갖는 경우에만, 상기 리소스들에 액세스할 수 있게 하는 단계
    를 포함하는 단계들을 수행하게 하도록 구성되는, 유형의 저장 매체.
  41. 제 29 항에 있어서,
    상기 저장된 프로세서 실행가능 소프트웨어 명령들은 또한,
    프로세서로 하여금,
    상기 스크립트 내의 정보에 기초하여, 상기 스크립트에 승인된 퍼미션들을 제한하는 단계; 및
    상기 스크립트로 하여금, 요청된 상기 리소스가 상기 제한된 퍼미션들 내에 포함되는 경우에만, 요청된 상기 리소스에 액세스할 수 있게 하는 단계
    를 포함하는 단계들을 수행하게 하도록 구성되는, 유형의 저장 매체.
  42. 제 29 항에 있어서,
    상기 저장된 프로세서 실행가능 소프트웨어 명령들은 또한,
    프로세서로 하여금,
    서버 또는 서버 콘텐츠를 신뢰되는 것으로 지정한 사용자 입력을 수신하는 단계;
    상기 스크립트가 서버로부터 수신되었는지 또는 상기 스크립트가 상기 사용자 입력에 의해 신뢰되는 것으로 지정된 서버 콘텐츠인지를 결정하는 단계; 및
    상기 스크립트로 하여금, 상기 스크립트가 서버로부터 수신된 경우 또는 상기 스크립트가 상기 사용자 입력에 의해 신뢰되는 것으로 지정된 서버 콘텐츠인 경우, 상기 리소스에 액세스할 수 있게 하는 단계
    를 포함하는 단계들을 수행하게 하도록 구성되는, 유형의 저장 매체.
  43. 모바일 디바이스 상에서 실행하기 위한 스크립트를 서버로부터 수신하는 수단;
    상기 서버에 발행된 디지털 인증서를 수신하는 수단;
    상기 디지털 인증서를 검증하고, 상기 디지털 인증서가 생성된 이래로 상기 스크립트가 변경되지 않았다는 것을 확인하는 수단; 및
    상기 스크립트로 하여금, 상기 디지털 인증서가 검증되고 상기 스크립트가 변경되지 않은 경우에만, 리소스에 액세스할 수 있게 하는 수단을 포함하는, 모바일 디바이스.
  44. 제 43 항에 있어서,
    상기 스크립트에 대한 디지털 서명을 상기 스크립트의 암호화된 제 1 핑거프린트의 형태로 수신하는 수단을 더 포함하고,
    상기 디지털 인증서를 검증하고, 상기 스크립트가 변경되지 않았다는 것을 확인하는 수단은,
    신뢰된 제 3 자에 의해 상기 디지털 인증서가 상기 서버에 발행된 것으로 결정하는 수단;
    상기 디지털 인증서로부터 상기 서버의 공개 키를 결정하는 수단;
    상기 서버의 공개 키를 이용하여 상기 암호화된 제 1 핑거프린트를 암호해독하는 수단;
    상기 스크립트의 제 2 핑거프린트를 생성하는 수단; 및
    상기 제 1 핑거프린트의 값을 상기 제 2 핑거프린트의 값과 비교하는 수단을 포함하는, 모바일 디바이스.
  45. 제 43 항에 있어서,
    상기 리소스 또는 상기 리소스를 포함하는 리소스들의 클래스로의 서버 액세스를 신뢰된 제 3 자가 승인하였는지를 상기 디지털 인증서로부터 검증함으로써, 상기 스크립트가 상기 리소스로의 액세스를 승인받아야 하는지 여부를 결정하는 수단을 더 포함하는, 모바일 디바이스.
  46. 제 43 항에 있어서,
    상기 서버로부터 서비스를 요청하는 수단을 더 포함하고,
    상기 수신된 스크립트는, 상기 서비스에 대한 상기 요청에 응답하여, 상기 서버에서 생성된, 모바일 디바이스.
  47. 제 45 항에 있어서,
    상기 신뢰된 제 3 자에 의해 상기 디지털 인증서가 상기 서버에 발행된 것으로 결정하는 수단은, 본질적으로 신뢰된 인증 기관에 의해 상기 디지털 인증서가 상기 서버에 발행된 것으로 결정하는 수단을 포함하는, 모바일 디바이스.
  48. 제 45 항에 있어서,
    상기 신뢰된 제 3 자에 의해 상기 디지털 인증서가 상기 서버에 발행된 것으로 결정하는 수단은, 디지털 인증서들의 체인에 의해 본질적으로 신뢰된 인증 기관에 링크된 인증 기관에 의해 상기 디지털 인증서가 상기 서버에 발행된 것으로 결정하는 수단을 포함하는, 모바일 디바이스.
  49. 제 44 항에 있어서,
    상기 서버로부터 상기 스크립트에 대한 디지털 서명을 요청하는 수단; 및
    상기 디지털 서명을 수신하는 수단을 더 포함하는, 모바일 디바이스.
  50. 제 44 항에 있어서,
    신뢰된 제 3 자로부터 상기 스크립트에 대한 디지털 서명을 요청하는 수단; 및
    상기 디지털 서명을 수신하는 수단을 더 포함하는, 모바일 디바이스.
  51. 제 44 항에 있어서,
    상기 서버에 발행된 상기 디지털 인증서에 기초하여, 상기 서버가 요청된 상기 리소스에 액세스하기 위한 퍼미션을 승인받았는지 여부를 결정하는 수단; 및
    상기 스크립트로 하여금, 상기 서버가 요청된 상기 리소스에 액세스하기 위한 퍼미션을 승인받은 경우에만, 상기 리소스들에 액세스할 수 있게 하는 수단을 더 포함하는, 모바일 디바이스.
  52. 제 44 항에 있어서,
    상기 서버로부터 상기 서버에 대한 디지털 서명을 요청하는 수단;
    상기 서버에 대한 상기 디지털 서명을 수신하는 수단;
    상기 서버에 대한 상기 디지털 서명으로부터, 상기 서버가 요청된 상기 리소스로의 액세스를 갖는지 여부를 결정하는 수단; 및
    상기 스크립트로 하여금, 상기 서버가 요청된 상기 리소스로의 액세스를 갖는 경우에만, 상기 리소스들에 액세스할 수 있게 하는 수단을 더 포함하는, 모바일 디바이스.
  53. 제 44 항에 있어서,
    신뢰된 제 3 자로부터 상기 서버에 대한 디지털 서명을 요청하는 수단;
    상기 서버에 대한 상기 디지털 서명을 수신하는 수단;
    상기 서버에 대한 상기 디지털 서명으로부터, 상기 서버가 요청된 상기 리소스로의 액세스를 갖는지 여부를 결정하는 수단; 및
    상기 스크립트로 하여금, 상기 서버가 요청된 상기 리소스로의 액세스를 갖는 경우에만, 상기 리소스들에 액세스할 수 있게 하는 수단을 더 포함하는, 모바일 디바이스.
  54. 제 44 항에 있어서,
    상기 스크립트가 요청된 상기 리소스로의 액세스를 갖는지 여부를 결정하는 수단; 및
    상기 스크립트로 하여금, 상기 스크립트가 요청된 상기 리소스로의 액세스를 갖는 경우에만, 상기 리소스들에 액세스할 수 있게 하는 수단을 더 포함하는, 모바일 디바이스.
  55. 제 44 항에 있어서,
    상기 스크립트 내의 정보에 기초하여, 상기 스크립트에 승인된 퍼미션들을 제한하는 수단; 및
    상기 스크립트로 하여금, 요청된 상기 리소스가 상기 제한된 퍼미션들 내에 포함되는 경우에만, 요청된 상기 리소스에 액세스할 수 있게 하는 수단을 더 포함하는, 모바일 디바이스.
  56. 제 44 항에 있어서,
    서버 또는 서버 콘텐츠를 신뢰되는 것으로 지정한 사용자 입력을 수신하는 수단;
    상기 스크립트가 서버로부터 수신되었는지 또는 상기 스크립트가 상기 사용자 입력에 의해 신뢰되는 것으로 지정된 서버 콘텐츠인지를 결정하는 수단; 및
    상기 스크립트로 하여금, 상기 스크립트가 서버로부터 수신된 경우 또는 상기 스크립트가 상기 사용자 입력에 의해 신뢰되는 것으로 지정된 서버 콘텐츠인 경우, 상기 리소스에 액세스할 수 있게 하는 수단을 더 포함하는, 모바일 디바이스.
  57. 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법으로서,
    상기 모바일 디바이스 상에서 실행하기 위한 스크립트를 서버로부터 수신하는 단계;
    상기 스크립트가 획득된 상기 서버가 인증서에 명명되어 있는지를 검증하는 단계;
    상기 인증서의 콘텐츠에 따라 퍼미션들이 상기 서버에 승인되었는지를 결정하는 단계; 및
    상기 스크립트로 하여금, 관련 퍼미션이 상기 스크립트가 획득된 상기 서버에 승인된 경우에만, 보호받는 리소스에 액세스할 수 있게 하는 단계를 포함하는, 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법.
  58. 제 57 항에 있어서,
    상기 서버가 명명된 상기 인증서는, 상기 모바일 디바이스에서 미리 구성되는, 모바일 디바이스 상에서 클라이언트-서버 애플리케이션을 실행하는 방법.
  59. 프로세서;
    상기 프로세서에 커플링된 트랜시버; 및
    상기 프로세서에 커플링된 메모리를 포함하고,
    상기 프로세서는,
    모바일 디바이스 상에서 실행하기 위한 스크립트를 서버로부터 수신하는 단계;
    상기 스크립트가 획득된 상기 서버가 인증서에 명명되어 있는지를 검증하는 단계;
    상기 인증서의 콘텐츠에 따라 퍼미션들이 상기 서버에 승인되었는지를 결정하는 단계; 및
    상기 스크립트로 하여금, 관련 퍼미션이 상기 스크립트가 획득된 상기 서버에 승인된 경우에만, 보호받는 리소스에 액세스할 수 있게 하는 단계
    를 포함하는 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 모바일 디바이스.
  60. 제 59 항에 있어서,
    상기 서버가 명명된 상기 인증서는, 상기 모바일 디바이스에서 미리 구성되는, 모바일 디바이스.
  61. 프로세서로 하여금,
    모바일 디바이스 상에서 실행하기 위한 스크립트를 서버로부터 수신하는 단계;
    상기 스크립트가 획득된 상기 서버가 인증서에 명명되어 있는지를 검증하는 단계;
    상기 인증서의 콘텐츠에 따라 퍼미션들이 상기 서버에 승인되었는지를 결정하는 단계; 및
    상기 스크립트로 하여금, 관련 퍼미션이 상기 스크립트가 획득된 상기 서버에 승인된 경우에만, 보호받는 리소스에 액세스할 수 있게 하는 단계
    를 포함하는 단계들을 수행하게 하도록 구성된 프로세서 실행가능 소프트웨어 명령들이 저장된, 유형의 저장 매체.
  62. 제 61 항에 있어서,
    상기 서버가 명명된 상기 인증서는, 상기 모바일 디바이스에서 미리 구성되는, 유형의 저장 매체.
  63. 모바일 디바이스 상에서 실행하기 위한 스크립트를 서버로부터 수신하는 수단;
    상기 스크립트가 획득된 상기 서버가 인증서에 명명되어 있는지를 검증하는 수단;
    상기 인증서의 콘텐츠에 따라 퍼미션들이 상기 서버에 승인되었는지를 결정하는 수단; 및
    상기 스크립트로 하여금, 관련 퍼미션이 상기 스크립트가 획득된 상기 서버에 승인된 경우에만, 보호받는 리소스에 액세스할 수 있게 하는 수단을 포함하는, 모바일 디바이스.
  64. 제 63 항에 있어서,
    상기 서버가 명명된 상기 인증서는, 상기 모바일 디바이스에서 미리 구성되는, 모바일 디바이스.
KR1020117028227A 2009-04-27 2010-04-26 특권 서명을 이용한 보안 웹 브라우징 환경을 생성하기 위한 방법 및 장치 KR101331316B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/430,750 US8788809B2 (en) 2009-04-27 2009-04-27 Method and apparatus to create a secure web-browsing environment with privilege signing
US12/430,750 2009-04-27
PCT/US2010/032422 WO2010126834A1 (en) 2009-04-27 2010-04-26 Method and apparatus to create a secure web browsing environment with privilege signing

Publications (2)

Publication Number Publication Date
KR20120014180A true KR20120014180A (ko) 2012-02-16
KR101331316B1 KR101331316B1 (ko) 2013-12-30

Family

ID=42306752

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117028227A KR101331316B1 (ko) 2009-04-27 2010-04-26 특권 서명을 이용한 보안 웹 브라우징 환경을 생성하기 위한 방법 및 장치

Country Status (7)

Country Link
US (1) US8788809B2 (ko)
EP (1) EP2425370B1 (ko)
JP (1) JP5599870B2 (ko)
KR (1) KR101331316B1 (ko)
CN (1) CN102414690B (ko)
ES (1) ES2554229T3 (ko)
WO (1) WO2010126834A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101677051B1 (ko) * 2016-09-05 2016-11-17 이형근 보안 웹브라우저 동작 방법

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398949A (zh) * 2007-09-24 2009-04-01 深圳富泰宏精密工业有限公司 指纹识别门禁系统及方法
US10157280B2 (en) * 2009-09-23 2018-12-18 F5 Networks, Inc. System and method for identifying security breach attempts of a website
JP5509110B2 (ja) * 2011-01-25 2014-06-04 株式会社日本レジストリサービス Webサイト作成システム
KR101270444B1 (ko) * 2011-05-16 2013-06-03 라온시큐어(주) 클라이언트에서 서버 제공 스크립트 실행 방법
CN102244659A (zh) * 2011-06-30 2011-11-16 成都市华为赛门铁克科技有限公司 安全策略脚本执行方法、装置以及安全策略系统
CN103246830B (zh) * 2013-04-28 2016-04-13 小米科技有限责任公司 客户端脚本的加密处理方法及装置和解密处理方法及装置
US9722801B2 (en) * 2013-09-30 2017-08-01 Juniper Networks, Inc. Detecting and preventing man-in-the-middle attacks on an encrypted connection
CN104683297A (zh) * 2013-11-26 2015-06-03 中兴通讯股份有限公司 一种资源访问的方法及装置、服务器及终端
US9280679B2 (en) 2013-12-31 2016-03-08 Google Inc. Tiered application permissions
US9256755B2 (en) 2013-12-31 2016-02-09 Google Inc. Notification of application permissions
US10708256B1 (en) * 2015-10-13 2020-07-07 Amazon Technologies, Inc. Identification of trusted certificates
US10778683B2 (en) 2016-01-29 2020-09-15 Docusign, Inc. Cloud-based coordination of customer premise service appliances
US9747378B1 (en) * 2016-08-09 2017-08-29 Afilias Plc Linked web presence pages associated with a top level domain
US11496438B1 (en) 2017-02-07 2022-11-08 F5, Inc. Methods for improved network security using asymmetric traffic delivery and devices thereof
US10791119B1 (en) 2017-03-14 2020-09-29 F5 Networks, Inc. Methods for temporal password injection and devices thereof
US10931662B1 (en) 2017-04-10 2021-02-23 F5 Networks, Inc. Methods for ephemeral authentication screening and devices thereof
US10819526B2 (en) * 2018-02-19 2020-10-27 Microsoft Technology Licensing, Llc Identity-based certificate authority system architecture
US11658995B1 (en) 2018-03-20 2023-05-23 F5, Inc. Methods for dynamically mitigating network attacks and devices thereof
US10931675B2 (en) * 2018-04-10 2021-02-23 Microsoft Technology Licensing, Llc Local API access authorization
US10971242B2 (en) 2019-09-11 2021-04-06 International Business Machines Corporation Sequential error capture during memory test
US10998075B2 (en) * 2019-09-11 2021-05-04 International Business Machines Corporation Built-in self-test for bit-write enabled memory arrays
CN114282222B (zh) * 2021-12-16 2023-03-24 上海健交科技服务有限责任公司 一种可信脚本加载及执行方法和装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5629980A (en) * 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
US6212635B1 (en) * 1997-07-18 2001-04-03 David C. Reardon Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place
US6308266B1 (en) * 1998-03-04 2001-10-23 Microsoft Corporation System and method for enabling different grades of cryptography strength in a product
US6477563B1 (en) * 1998-04-13 2002-11-05 Kabushiki Kaisha Toshiba Agent system and information processing method for same
US7174457B1 (en) * 1999-03-10 2007-02-06 Microsoft Corporation System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party
US6349338B1 (en) 1999-03-02 2002-02-19 International Business Machines Corporation Trust negotiation in a client/server data processing network using automatic incremental credential disclosure
US6223291B1 (en) * 1999-03-26 2001-04-24 Motorola, Inc. Secure wireless electronic-commerce system with digital product certificates and digital license certificates
EP1113361A1 (en) 2000-01-03 2001-07-04 Wimba.Com S.A. Process of communication between an applet and a local agent using a socket communication channel
US7185364B2 (en) * 2001-03-21 2007-02-27 Oracle International Corporation Access system interface
US7287274B1 (en) 2001-10-04 2007-10-23 Perot Systems Corporation Method and system for providing security to a client server operating a browser
US7444678B2 (en) * 2003-10-28 2008-10-28 Aol Llc Securing resources from untrusted scripts behind firewalls
US7509497B2 (en) * 2004-06-23 2009-03-24 Microsoft Corporation System and method for providing security to an application
JP2006040146A (ja) 2004-07-29 2006-02-09 Nippon Telegr & Teleph Corp <Ntt> ファイル実行システムとその方法
CN1633065B (zh) 2004-12-28 2010-05-12 华中师范大学 带内容监控的网络数字图书安全分发系统和方法
US8090939B2 (en) * 2005-10-21 2012-01-03 Hewlett-Packard Development Company, L.P. Digital certificate that indicates a parameter of an associated cryptographic token
US7725928B2 (en) * 2005-12-02 2010-05-25 Palo Alto Research Center Incorporated System and method for establishing temporary and permanent credentials for secure online commerce
US7624440B2 (en) * 2006-08-01 2009-11-24 Emt Llc Systems and methods for securely providing and/or accessing information
US8429734B2 (en) 2007-07-31 2013-04-23 Symantec Corporation Method for detecting DNS redirects or fraudulent local certificates for SSL sites in pharming/phishing schemes by remote validation and using a credential manager and recorded certificate attributes
CN101252623B (zh) * 2008-03-28 2011-05-04 胡祥银 一种嵌入式平台的网络应用浏览系统及方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101677051B1 (ko) * 2016-09-05 2016-11-17 이형근 보안 웹브라우저 동작 방법
WO2018043832A1 (ko) * 2016-09-05 2018-03-08 이형근 보안 웹브라우저 동작 방법

Also Published As

Publication number Publication date
US20100275014A1 (en) 2010-10-28
CN102414690A (zh) 2012-04-11
EP2425370B1 (en) 2015-08-26
KR101331316B1 (ko) 2013-12-30
EP2425370A1 (en) 2012-03-07
CN102414690B (zh) 2016-04-27
JP5599870B2 (ja) 2014-10-01
ES2554229T3 (es) 2015-12-17
WO2010126834A1 (en) 2010-11-04
US8788809B2 (en) 2014-07-22
JP2012524950A (ja) 2012-10-18

Similar Documents

Publication Publication Date Title
KR101331316B1 (ko) 특권 서명을 이용한 보안 웹 브라우징 환경을 생성하기 위한 방법 및 장치
Naik et al. Securing digital identities in the cloud by selecting an apposite Federated Identity Management from SAML, OAuth and OpenID Connect
KR101434769B1 (ko) 신뢰적인 연합 아이덴티티 관리 및 데이터 액세스 인가를 위한 방법 및 장치
EP2854365B1 (en) Detecting and preventing man-in-the-middle attacks on an encrypted connection
US8713644B2 (en) System and method for providing security in browser-based access to smart cards
KR101482564B1 (ko) 신뢰성있는 인증 및 로그온을 위한 방법 및 장치
KR20120004536A (ko) 코드 및 데이터 서명을 개선하기 위한 방법 및 장치
CA2829233C (en) Method and system for hypertext transfer protocol digest authentication
CN109495268B (zh) 一种二维码认证方法、装置及计算机可读存储介质
Alaca et al. Comparative analysis and framework evaluating web single sign-on systems
Yang et al. Breaking and fixing mobile app authentication with OAuth2. 0-based protocols
Singh et al. OAuth 2.0: Architectural design augmentation for mitigation of common security vulnerabilities
Naik et al. Choice of suitable identity and access management standards for mobile computing and communication
Chaturvedi Comparison of different authentication techniques and steps to implement robust JWT authentication
Ferdous et al. Portable personal identity provider in mobile phones
Kim et al. Secure user authentication based on the trusted platform for mobile devices
US11977620B2 (en) Attestation of application identity for inter-app communications
Srinivas et al. FIDO UAF architectural overview
US20230239324A1 (en) Securing web browsing on a managed user device
US20230275927A1 (en) Securing web browsing on a managed user device
KR101943166B1 (ko) 동적모듈, 동적모듈의 인증 및 무결성 보장방법
Angelogianni et al. How many FIDO protocols are needed? Analysing the technology, security and compliance
Talkington et al. Why Protocols Fail to Transition to Mobile Domains
Χριστινάκης Auditing and extending security features of OAuth 2.0 framework
CN115190483A (zh) 一种访问网络的方法及装置

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: 20161028

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 7