KR20160089472A - 자동 플레이스홀더 파인더-필러 - Google Patents
자동 플레이스홀더 파인더-필러 Download PDFInfo
- Publication number
- KR20160089472A KR20160089472A KR1020167016769A KR20167016769A KR20160089472A KR 20160089472 A KR20160089472 A KR 20160089472A KR 1020167016769 A KR1020167016769 A KR 1020167016769A KR 20167016769 A KR20167016769 A KR 20167016769A KR 20160089472 A KR20160089472 A KR 20160089472A
- Authority
- KR
- South Korea
- Prior art keywords
- instructions
- request
- browser
- response
- server
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/41—User authentication where a single sign-on provides access to a plurality of computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
- H04L63/0435—Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
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)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
Abstract
침입이거나 이미 내장된 제 3 자 공격에 대해 비밀 정보의 보안을 보호하면서, 사용자가 통상적으로 제어가 불가능한 환경에 암호 및 관련 정보를 보안 주입하는 것을 허용하는 iOS 기반 시스템 및 모바일 디바이스에 대한 방법 및 프로세스가 개시된다. 방법 및 프로세스는 비밀을 주입하기 위한 옵션을 갖지 않는 디바이스 상의 코드에 비밀을 주입하는 것을 허용하는 원격 서버와 보안 통신하는 로컬 설치된 프록시를 이용한다. 적어도 하나의 실시예에서, 이것은 네트워크 훅을 사용하고 주입된 구성요소, 프록시 및 애플리케이션 사이의 데이터 흐름을 제어함으로써 수행된다. 크리덴셜을 누설하거나 공격자 탐색을 최소화하지 않으면서, 사용자가 어떤 크리덴셜이 사용되는지를 제어할 수 있음이 고려된다.
Description
관련 출원에 대한 상호 참조
본 출원은 2014년 1월 24일에 출원된 "자동 플레이스홀더 파인더-필러" 라는 명칭의 미국 가출원 제 61/931,247 호의 우선권을 주장하며, 그 전체 내용은 본 명세서에서 참조로써 인용된다.
본 명세서에 설명된 실시예는 전반적으로 모바일 디바이스의 사용에 관한 것으로, 특히 보안 및 비밀 정보를 보호하는 환경에 비밀 정보를 안전하게 주입하는 방법 및 프로세스에 관한 것이다.
다수의 모바일 디바이스 애플리케이션은 애플리케이션 및 이와 연관된 데이터에 액세스하도록 사용자 이름과 암호 및 가능하게는 구문론적 및 의미론적 깊이 및 폭이 큰 정보를 요구한다. 또한, 사용자는 그들이 사용하고 있는 모바일 디바이스와 독립적으로 액세스를 사용하기를 원한다. 그들의 애플리케이션, 이와 연관된 데이터 및 그들의 다양한 계정에 액세스하도록 인증된 사용자의 경우에, 그들은 보통 액세스 필드 및 이들 필드에 필요한 비밀 데이터에 대한 명명 규칙에 대해 실질적으로 유사한 식별 방안을 채택하려고 한다. 사용자는 또한 흔히 이에 관한 키 정보를 제 3 자 액세스가능 리스트에 저장하고, 그들의 디바이스에 상주하는 가능한 공격자 또는 악성 소프트웨어에 그들의 크리덴셜을 누설하기 쉽다. 점점 더 많은 웹사이트 및 모바일 애플리케이션은 애플리케이션 및 연관된 사용자 및/또는 애플리케이션 데이터 중 하나 또는 다른 부분에 대한 액세스를 허용하기 전에 정보 및 상호작용 계층뿐만 아니라 강한 사용자 이름 및 암호를 사용하도록 요구하고 있다. 이는 액세스 및 검색을 안전하게 하지만 사용자를 불편하게 한다.
Das 등의 미국 특허 제 8,438,635 호는 단일 사인온 서비스에 의해 생성된 토큰 로그온 크리덴셜을 수락하지 않는 클라우드 기반 시스템에 자동으로 로그인하는 메커니즘을 개시한다. 일 실시예에서, Das는 자동으로 생성되고 지속되는 일회용 암호를 개시한다. 생성된 암호는 다른 서비스에 접속하기 위해 및 웹-ID 제공자에 의해 생성된 토큰을 수락하지 않는 클라우드 기반 시스템에 자동으로 로그인하는 데 사용된다. 이 메커니즘은 윈도우®, 리눅스 액티베이팅 및 iOS 액티베이팅 운영 시스템과 같은 운영 시스템과 함께 사용될 수 있는 것으로 고려된다. (윈도우는 마이크로소프트의 등록 상표이고; 리눅스는 리눅스 토발즈의 등록 상표이며; IOS는 운영 시스템에 대해 애플에 의해 라이센싱된 시스코 테트놀러지의 등록 상표이다.)
Ayed의 미국 특허 제 8,595,810 호는 멀티팩터 인증, 지능형 자동 로그인, 단일 사인온, 근접 로그아웃, 프로액티브 손실 방지 및 랩핑 기능을 이용한 실시간 사건 통지를 사용하여 기존의 애플리케이션 상의 액세스 보안을 자동으로 업데이트하는 방법을 개시한다.
Buckler의 미국 특허 제 8,370,933 호는 DHCP 서버로의 감염된 DNS 서버 어드레스의 삽입을 검출하는 컴퓨터로 구현된 방법을 개시하며, 이 방법은 1) DHCP 서버에 의해 제공된 DNS 서버 어드레스를 식별하는 단계와, 2) DHCP 서버에 의해 제공된 DNS 서버 어드레스가 DHCP 서버에 의해 제공된 이전 DNS 서버 어드레스와 상이하다고 결정하는 단계와, 3) 이전 DNS 서버 어드레스와 상이한 DNS 서버 어드레스에 적어도 일부분 기인하여, DHCP 서버에 의해 제공된 DNS 서버 어드레스에 배치된 DNS 서버가 잠재적인 보안 위험을 나타낸다고 결정하는 단계와, 4) 잠재적인 보안 위험을 제거하려고 할 때 보안 동작을 수행하는 단계를 포함할 수 있다.
Givoly의 미국 특허 제 7,818,440 호는 네트워크를 통해 통신된 디지털 자산을 모니터링하기 위해 제공되는 시스템, 방법 및 컴퓨터 프로그램 제품을 개시한다. 초기에, 제 1 당사자와 복수의 다른 당사자 사이에서 통신된 패킷은 수동으로 검색된다. 그러한 패킷은 공동으로 디지털 자산과 연관된 데이터의 적어도 일부를 포함한다. 그 결과, 검색된 패킷에 기초하여, 제 1 당사자와 연관된 적어도 하나의 양상과 디지털 자산과 연관된 적어도 하나의 양상이 식별된다.
적절히 인증되면 합법적인 사용자가 애플리케이션 및 데이터에 끊김 없이 액세스할 수 있음을 보장하면서 바람직하지 않은 침입, 공격, 악성 소프트웨어 및 데이터 조작에 대해 보호하기 위해, 사용자에게 안전하고 편리한 모바일 디바이스로의 커스텀 코드 주입 기술이 바람직할 것이다.
이 배경 정보는 출원인이 본 발명에 관련될 수 있다고 여기는 정보로서 제공된다. 어떠한 허가도 반드시 전술한 정보가 본 발명에 대해 종래 기술을 구성한다고 의도되는 것은 아니며, 그러하게 해석되어서도 안 된다.
도 1은 일 실시예에 따라 iOS 프록시 기반 애플리케이션의 설치 절차를 도시하는 흐름도이다.
도 2는 일 실시예에 따라 스크립트 주입 및 사용 프로세스를 도시하는 흐름도이다.
도 3은 일 실시예에 따라 요청 및 스크립트 주입 프로세스를 도시하는 흐름도이다.
도 4는 일 실시예에 따라 로그인 프로세스를 도시하는 흐름도이다.
도 5는 일 실시예에 따라 폼 필링 프로세스(form filling process)에 대한 기술을 도시하는 흐름도이다.
도 6은 일 실시예에 따라 여기에 설명된 기술과 함께 사용할 컴퓨팅 디바이스를 도시하는 도면이다.
도 7은 다른 실시예에 따라 여기에 설명된 기술과 함께 사용할 컴퓨팅 디바이스를 도시하는 블록도이다.
도 8은 일 실시예에 따라 프로그램가능 디바이스의 네트워크를 도시하는 도면이다.
도 2는 일 실시예에 따라 스크립트 주입 및 사용 프로세스를 도시하는 흐름도이다.
도 3은 일 실시예에 따라 요청 및 스크립트 주입 프로세스를 도시하는 흐름도이다.
도 4는 일 실시예에 따라 로그인 프로세스를 도시하는 흐름도이다.
도 5는 일 실시예에 따라 폼 필링 프로세스(form filling process)에 대한 기술을 도시하는 흐름도이다.
도 6은 일 실시예에 따라 여기에 설명된 기술과 함께 사용할 컴퓨팅 디바이스를 도시하는 도면이다.
도 7은 다른 실시예에 따라 여기에 설명된 기술과 함께 사용할 컴퓨팅 디바이스를 도시하는 블록도이다.
도 8은 일 실시예에 따라 프로그램가능 디바이스의 네트워크를 도시하는 도면이다.
후속 기술에서, 설명을 위해, 본 발명의 완전한 이해를 제공하도록 다수의 특정 세부사항이 제시된다. 그러나, 당업자에게 본 발명이 이들 특정 세부사항 없이도 실시될 수 있음은 자명할 것이다. 다른 경우에, 구조체 및 디바이스는 본 발명을 불명료하게 하지 않도록 블록도 형태로 도시된다. 아래 첨자 또는 접미사가 없는 숫자에 대한 참조는 참조된 숫자에 대응하는 아래 첨자 및 접미사의 모든 경우를 참조하도록 이해된다. 또한, 이 개시내용에 사용된 언어는 주로 가독성 및 교육 목적을 위해 선택되었고, 본 발명의 청구 대상을 기술하거나 제한하고 그러한 본 발명의 청구 대상을 결정하는 데 필요한 청구범위에 의지하도록 선택되지 않을 수도 있다. 명세서에서 언급된 "일 실시예" 또는 "실시예"는 실시예와 관련하여 설명된 특정 피쳐, 구조체, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함됨을 의미하고, 다수 언급된 "일 실시예" 또는 "실시예"가 반드시 동일할 실시예 모두를 지칭하는 것으로 이해되어서는 안 된다.
본 명세서에서 사용된 바와 같이, "컴퓨터 시스템"이라는 용어는 단일 컴퓨터 또는 컴퓨터 시스템 상에서 또는 컴퓨터 시스템에 의해 수행되는 것으로 설명된 기능을 수행하도록 함께 작동하는 복수의 컴퓨터를 지칭할 수 있다.
본 명세서에서 사용된 바와 같이, "프로그램가능 디바이스"라는 용어는 단일 프로그램가능 디바이스 또는 프로그램가능 디바이스 상에서 또는 프로그램가능 디바이스에 의해 수행되는 것으로 설명된 기능을 수행하도록 함께 작동하는 복수의 프로그램가능 디바이스를 지칭할 수 있다. 유사하게, "머신 판독가능 매체"는 단일 물리적 매체 또는 머신 판독가능 매체 상에 저장되는 것으로 설명된 요소를 함께 저장할 수 있는 복수의 매체를 지칭할 수 있다.
본 명세서에서 사용된 바와 같이, "애플리케이션"이라는 용어는, 프로그램이 독립적인 소프트웨어이든지 다른 프로그램의 구성요소이거나 다른 프로그램에 의해 포함되든지, 임의의 실행가능 소프트웨어 프로그램을 지칭한다.
본 명세서에서 사용된 바와 같이, "자산"이라는 용어는 태스크 리스트를 완성하는 데 사용될 수 있는 임의의 데이터를 지칭한다. 자산은 사용자 크리덴셜, 사용 통계치 및 개인 정보를 포함할 수 있지만 이것으로 제한되지 않는 것으로 고려된다.
본 명세서에서 사용된 바와 같이, "크립토 키"라는 용어는 암호화 알고리즘 또는 다른 암호 프로세스 내에서 사용되는 일련의 비트, 평문에서 암호문으로의 변환 또는 반대로 암호문에서 평문으로의 변환을 지칭하며, 이는 당업자에게 쉽게 이해될 것이다.
본 명세서에서 사용된 바와 같이, "더미 스트링"이라는 용어는 유효 플레이스홀더, 즉, 특히 실제 크립토 키에 대한 유효 스트링으로서 사용될 수 있는 일련의 비트를 지칭한다.
본 명세서에서 사용된 바와 같이, "키 생성기"이라는 용어는 전형적으로 크립토 키를 생성하는 데 사용될 수 있는 난수 생성기를 지칭한다.
본 명세서에서 사용된 바와 같이, "변경된 자바스크립트"라는 용어는 스크립트 생성기의 출 력을 지칭한다. 설명은 자바스크립트® 스크립팅 언어를 사용하는 구현의 관점에서 기록되지만, 본 발명은 그러하게 제한되지 않으며 임의의 바람직한 스크립팅 언어로 구현될 수 있다. (자바스크립트는 오라클 아메리카사의 등록 상표이다.)
본 명세서에서 사용된 바와 같이, "원탭"이라는 용어는 터치 스크린 상의 활성 영역의 단일 터치를 지칭한다.
본 명세서에서 사용된 바와 같이, "스크립트 생성기"라는 용어는 원하는 위치에 세션 키를 삽입하고 표준 스크립트를 선택하는 소프트웨어를 지칭한다.
본 명세서에서 사용된 바와 같이, "세션 키"라는 용어는 디바이스 또는 네트워크 상의 활성 세션의 제한된 시구간의 지속기간에 사용되는 암호화 키를 지칭한다.
본 명세서에서 사용된 바와 같이, "VPN"이라는 용어는 가상 사설 네트워크 서비스, 및 연관된 세팅 또는 파라미터를 지칭한다.
이하의 설명 다수가 IOS 운영 시스템 기반 모바일 디바이스 상의 구현의 관점에서 기록되지만, 본 발명은 그러하게 제한되지 않으며, 임의의 바람직한 운영 시스템 환경에서 구현될 수 있다.
다양한 실시예는 iOS 디바이스에 대한 새롭고 안전한 폼 필링 기술을 제공한다. 이 기술은 임의의 브라우저 페이지 기반 요청 및 디바이스 응답을 보호하면서 iOS 디바이스 상에 iOS 애플리케이션 및 프록시를 설치하고 프록시를 디바이스 및 브라우저에 연결하도록 진행한다. 그 다음에, 사용자 제어 하에서, 애플리케이션은 사용자 이름, 암호 및 관련된 비밀 정보를 자동으로 채움으로써 실행되는 액션을 선택한다.
적어도 하나의 실시예에서, 로컬 프록시는 브라우저에 스크립트를 주입하기 위해 수립된다. 로컬 프록시가 다운로드되고, 구성 프로파일이 획득되고 설치되며, 내부 가상 사설 네트워크 서비스가 활성화되고, 로컬 프록시는 내부 가상 사설 네트워크 서비스를 통해 수립된다. 로컬 프록시는 그 다음에 실행될 수 있다.
다른 실시예에서, 로컬 프록시가 수립되고 로컬 프록시와 브라우저 사이에 접속이 이루어진다. 접속은 원격 서버와 로컬 프록시 사이에도 이루어진다. 원격 서버는 서버 프록시를 수립하기 위해 시뮬레이션된다. 브라우저와 서버 프록시 중 적어도 하나로부터 요청이 수신되고, 그 요청은 원격 서버로 전달된다. 원격 서버로부터 브라우저로 전달된 서버 응답을 수신할 때, 서버 응답에 기초하여 서버 응답을 버퍼링하는 포지티브 스크립트 주입 응답이 브라우저로부터 수신된다. 주입된 스크립트가 생성되고 브라우저에 의한 사용을 위해 브라우저로 전달된다.
실시예는 비밀을 주입하기 위한 옵션을 갖지 않는 iOS 디바이스 상의 코드로의 그 비밀 주입을 허용한다. 이는 네트워크 훅을 사용하고 주입된 구성요소, 프록시 및 애플리케이션 사이의 데이터 흐름을 제어함으로써 수행될 수 있다. 이는 사용자로 하여금 크리덴셜을 누설하거나 공격자 탐색을 최소화하지 않으면서 어떤 크리덴셜이 사용되는지 제어하게 한다.
도 1은 환경이 어떻게 설정되는지를 도시하는, iOS 프록시 기반 애플리케이션의 일 실시예에 따른 설치 절차를 도시하는 흐름도이다. 블록(110)에서, 애플리케이션은 전형적으로 원탭 로그인에 의해 호출된다. 블록(120)에서, 로그인은 애플리케이션에 대응하는 구성 프로파일 URL로 방향 변경된다. 구성 프로파일(180)은 iOS 디바이스에 대한 정보(186)뿐만 아니라, 커스텀 인증 권한(182) 및 VPN 세팅(184)도 포함할 수 있다.
블록(130)에서, 구성 프로파일(180)은 iOS 디바이스 상에 설치되고, 그 다음에 블록(140)에서 로그인이 실제 애플리케이션으로 방향 변경되어 애플리케이션을 개시한다. 블록(150)에서 애플리케이션은 내부 iOS VPN 서비스를 활성화한다. 블록(160)에서 VPN 서비스는 로컬 프록시를 활성화하고, 그 다음에 블록(170)에서 로그인 프록시를 활성화한다.
도 2는 일 실시예에 따른 스트립트 주입 및 사용 기술(200)을 도시하는 흐름도이다. 도시된 바와 같이, MITM(man-in-the-middle) 프록시가 설정되고 주입을 위해 스크립트가 준비된다. 결정 기술은 주입을 트리거할지 여부를 결정하는 데 사용된다.
스크립트 생성 단계(210)는 키 생성기(212)를 사용하여 세션 키(214)를 생성한다. 그 다음에 세션 키(214)는 스크립트 생성기(216)에 의해 사용되어 커스텀 스크립트(220)를 생성한다. 블록(230)에서, 스크립트가 브라우저에 대한 버퍼링 응답으로 주입된다.
블록(240)에서 주입 프로세스가 발생한다. 블록(242)에서, 주입 프로세스는 응답의 바디를 대기한다. 블록(244)에서, 바디의 종단이 배치되고, 그 다음에 블록(246)에서 바디의 종단을 나타내었던 </body> 태그 앞에 스크립트가 주입된다.
블록(230)의 끝에서, 웹 페이지는 iOS 디바이스(186) 상의 암호 관리 애플리케이션과 통신하는 데 사용되는 주입된 자바스크립트 코드를 포함한다.
제어의 기본 흐름은 다음과 같다:
블록(250)에서 암호 관리 애플리케이션은 로컬 HTTP 프록시를 설정하고 접속을 대기한다. 브라우저가 접속되고 사용자가 웹 페이지로 네비게이팅되면, 블록(260)에서 서버와 SSL(Secure Sockets Layer) 핸드쉐이크가 수행되어 웹 페이지를 제공하여, 블록(170)에서 원격 서버의 아이덴티티의 시뮬레이션이 MITM 프록시를 설정하게 한다. 브라우저는 이제 웹 페이지에 대한 요청을 수신할 준비가 되어 있다.
블록(270)에서 HTTP 요청을 수신하면, 블록(272)에서 요청이 판독되고 서버로 중계된다. 이는 블록(280)에 도시된 바와 같이 스푸핑 인증서 생성을 포함한다. 이 인증서 생성 프로세스에서, 커스텀 인증 권한(284) 및 타깃 호스트네임의 공통 이름을 사용하는 생성된 인증서가 SSL 핸드쉐이크에 대한 서명을 생성하는 데 사용되어, MITM 프롯시를 설정하도록 원격 서버의 아이덴티티를 시뮬레이션한다. 블록(270)에서 브라우저는 이제 HTTP 요청을 수신할 준비가 되어 있다. 블록(272)에서, HTTP 요청은 클라이언트로부터 판독되고 서버로 중계된다.
블록(290)은 일 실시예에 따라 응답에 스크립트를 주입하는지 여부를 결정하는 하이잭(hijack) 결정 프로세스를 도시한다. 블록(292)에서, 프록시는 서버로부터 응답을 대기한다. 블록(294)에서, 응답의 콘텍스트 타입이 text/html이면, 하이잭 결정 프로세스는 하이잭이 요구됨을 나타내고, 블록(296)에서, 콘텍스트 타입이 text/html이 아니면, 어떠한 하이잭도 수행되지 않는다. 하이잭(스크립트 삽입)이 수행되어야 하면, 전술한 바와 같이 스크립트 주입을 허용하도록 서버로부터의 응답이 중계되고 버퍼링된다. 블록(274)에서, 응답을 하이잭하고 블록(210)에서 생성된 스크립트를 주입하도록 결정되면, 블록(278)에서, 전술한 바와 같이 HTTP 응답이 중계되고, 응답은 버퍼링되며, 스크립트가 주입된다. 어떠한 하이잭도 요구되지 않으면, 블록(276)에서 응답의 바이트 대 바이트 중계가 수행되어, 블록(270)으로 응답을 전달한다.
도 3은 이상의 도 2에 도시된 요청 및 스크립트 주입 프로세스에 대한 데이터 흐름을 도시하는 흐름도이다. 도 3 내지 도 5는 브라우저(310), 프록시를 제공하는 애플리케이션(320) 및 원격 웹 서버(330) 사이의 상세한 데이터 흐름을 도시한다. (원격 웹 서버(330)는, 단일 원격 웹 서버(330)만 필요하더라도, 데이터 흐름을 명확히 하기 위해 도 3에 두 번 도시된다.)
블록(340)에서 웹 페이지로 네비게이팅하라는 사용자의 결정시에, 브라우저는 프록시(320)로의 접속을 개시하고, 블록(345)에서 타깃 서버에 접속하기 위한 요청을 전달한다. 도 3에 도시된 예에서, 접속은 SSL을 사용한 보안 접속이지만, 비보안 접속에 유사한 기술이 사용될 수 있다. 블록(345)에서 프록시가 웹 브라우저(310)와 SSL 서버 모드의 SSL 핸드쉐이크를 수행하는 동안, 블록(350)에서, iOS 디바이스(186)는 SSL 클라이언트로서 원격 웹 서버(330)와 SSL 핸드쉐이크를 개시한다.
브라우저(310)는 프록시(320)에 HTTP 로그인(335)을 제공하며, 프록시는 원격 서버(330)로의 전달을 위해 iOS 디바이스(186)에 로그인(355)을 중계한다. 원격 서버(330)는 주입 프로세스(200)의 성능에 대해 프록시(320)로 전달되는 응답(360)으로 응답한다. 그 다음에 변경된 응답(360)이 브라우저(310)로 다시 전달되고 블록(370)에서 웹 페이지가 표시된다.
도 4는 로그인 폼 검출 및 보안 자산 데이터 흐름에 대한 기술(400)을 도시하는 흐름도이다. 웹 페이지(410)가 브라우저(310)에서 로딩을 끝낸 후에, 블록(420)에서 도 2의 스크립트 주입 프로세스에 의해 주입된 스크립트는 페이지가 로그인 폼을 포함하는지 여부를 판정한다. 다수의 HTTP 요청이 페이지(410)에 대해(예컨대, 이미지, 스타일-시트 등에 대해) 이루어질 수 있지만, 이 판정은 현재 로딩되는 HTML 페이지(410) 상에서 이루어진다.
웹 페이지(410) 상에 로그인 폼이 존재하면, 블록(430)에서 요청은 자산에 대해 이루어지고, 로그인 폼이 존재하지 않으면 로그인은 포기된다.
블록(430-440)은 도 2에 도시된 스크립트 생성 프로세스에서 생성된 연관된 대칭 크립토키(214)를 가진 대칭 암호화 알고리즘을 사용하는 HTTP 요청의 암호화를 도시한다. 그러한 암호화 알고리즘의 예시적인 실시예는 AES CCM 모드이지만, 임의의 유형의 대칭 암호화가 사용될 수 있다.
블록(450)에서 요청을 복호화하는 데 세션 키(214)를 사용하는 프록시(320)에 암호화된 요청이 제공된다. 도 4에서, 브라우저(310)와 애플리케이션/프록시(320) 사이의 통신은 웹 페이지(410)와 애플리케이션(320) 사이의 비동기식 자바스크립트 및 XML(AJAX)를 사용한다. 원하는 대로 다른 기술이 사용될 수 있다. REST API(Representational State Transfer Application Programming Interface)(460)는 이 프로세스에 대해 프록시(320)에 의해 사용될 수 있다. REST API는 제한된 수의 동작을 가지며 그 자신의 고유한 리소스 표시자를 구비한 리소스를 가진 표준 방안이다.
도 5는 일 실시예에 따른 보안 폼 필링 프로세스(500)를 도시하는 흐름도이다. 이 예에서, 제 1 응답은 사용자가 선택하도록 프롬프트될 계정의 리스트를 포함한다. 응답은 블록(505)에서 복호화되고, 그 다음에 블록(510)에서 브라우저는 계정을 표시하고 사용자에게 하나를 선택하도록 요청한다. 블록(515)에서, 사용자는 웹 페이지 내부에 오버레이로서 제시될 수 있는, 예컨대, 그 계정과 연관된 영역을 클릭하거나 터치함으로써 계정을 선택한다. 사용자가 로그인한다고 결정하면, 블록(520)에서 로그인 요청은 암호화되고 로그인 요청은 애플리케이션(320)으로 전달된다. 일 실시예에서, 요청은 동일한 대칭 크립토키(214)로 암호화된다. 요청은 계정에 대한 사용자의 선택을 나타낸다.
이 예에서 암호화된 응답은 AJAX를 통해 프록시(320)로 제공되고, 프록시는 블록(525)에서 REST API를 사용하여 응답을 복호화한다. 이 요청에 대한 응답은 암호에 대한 플레이스홀더로서 동작하는 더미 스트링(530)을 포함한다. 이 스트링(530)은 프록시에 의해 암호화되고(블록 535), 브라우저(540)에 의해 복호화되며, 전술한 기술을 사용하여 블록(545)에서 적절한 HTML 입력으로 주입되고, 그 다음에 블록(550)에서 폼이 자동으로 제출된다. 이 제출은 브라우저로 하여금 사용자 이름 및 더미 스트링을 포함하는 새로운 HTTP 요청을 하게 하며, 더미 스트링은 암호에 대한 임시 대체물이다. 그 다음에 블록(550)에서 더미 스트링은 로그인 요청이 서버(330)로 전달됨에 따라 직접 네트워크 스트림에서 실시간으로 사용자의 암호로 대체된다.
그 다음에 서버(330)는 로그인 응답(560)을 제공하며, 이 로그인 응답은 iOS 디바이스(186)를 통해 프록시(320)로 전달된 후 브라우저(310)로 전달된다. 그 다음에 블록(565)에서 사용자는 액티비티 또는 액티비티들로 리턴한다.
전술한 기술은 iOS 디바이스(186) 상에서 수행될 필요는 없지만, 클라우드 기반인 VPN 서버에 의해 제공될 수 있으며, 전술한 스크립트 주입을 위해 로컬 애플리케이션 프록시(320)와 상호작용할 수 있다. 그러한 실시예에서, VPN 서버는 세션 키 또는 웹페이지로 주입될 자산들 중 임의의 자산에 대한 액세스를 갖지 않을 수도 있다. VPN 서버는 원한다면 캐리어 인프라구조로 통합될 수 있다.
이제 도 6을 참조하면, 블록도는 일 실시예에 따라 CRD(510) 또는 DWD(520)에 사용될 수 있는 프로그램가능 디바이스(600)를 도시한다. 도 6에 도시된 프로그램가능 디바이스(600)는 제 1 프로세싱 요소(670) 및 제 2 프로세싱 요소(680)를 포함하는 멀티프로세서 프로그램가능 디바이스(600)이다. 2 개의 프로세싱 요소(670 및 680)가 도시되지만, 프로그램가능 디바이스(600)의 실시예는 그러한 프로세싱 요소를 하나만 포함할 수도 있다.
프로그램가능 디바이스(600)는 제 1 프로세싱 요소(670)와 제 2 프로세싱 요소(680)가 포인트 투 포인트 상호접속(650)을 통해 연결되는 포인트 투 포인트 상호접속 시스템으로서 도시된다. 도 6에 도시된 상호접속의 일부 또는 전부는 포인트 투 포인트 상호접속보다는 멀티 드롭 버스(multi-drop bus)로서 구현될 수 있다.
도 6에 도시된 바와 같이, 프로세싱 요소(670 및 680)의 각각은 제 1 프로세서 코어 및 제 2 프로세서 코어(즉, 프로세서 코어(674a 및 674b) 및 프로세서 코어(684a 및 684b))를 포함하는 멀티코어 프로세서일 수 있다. 그러한 코어(674a, 674b, 684a, 684b)는 도 1 내지 도 4와 관련하여 전술한 것과 유사한 방식으로 인스트럭션을 실행하도록 구성될 수 있다. 그러나, 다른 실시예는 원한다면 단일 코어 프로세서인 프로세싱 요소를 사용할 수 있다. 다수의 프로세싱 요소(670, 680)를 가진 실시예에서, 각각의 프로세싱 요소는 원한다면 상이한 개수의 코어를 사용하여 구현될 수 있다.
각각의 프로세싱 요소(670, 680)는 적어도 하나의 공유 캐시(646)를 포함할 수 있다. 공유 캐시(646a, 646b)는 각각 코어(674a, 674b 및 684a, 684b)와 같은 프로세싱 요소의 하나 이상의 구성요소에 의해 이용되는 데이터(예컨대, 인스트럭션)를 저장할 수 있다. 예컨대, 공유 캐시는 프로세싱 요소(670, 680)의 구성요소에 의한 고속의 액세스를 위해 메모리(634)에 저장된 데이터를 국부적으로 캐시할 수 있다. 하나 이상의 실시예에서, 공유 캐시(646a, 646b)는 하나 이상의 중간 레벨 캐시, 예컨대, 레벨 2(L2), 레벨 3(L3), 레벨 4(L4) 또는 캐시의 다른 레벨, 마지막 레벨 캐시(LLC) 또는 이들의 조합을 포함할 수 있다.
도 6은 도면의 명확성을 위해 2 개의 프로세싱 요소(670, 680)를 가진 프로그램가능 디바이스를 도시하지만, 본 발명의 범위는 그러하게 제한되지 않으며 임의의 개수의 프로세싱 요소가 존재할 수 있다. 이와 달리, 하나 이상의 프로세싱 요소(670, 680)는 프로세서와는 다른 요소, 예컨대, 그래픽 프로세싱 유닛(GPU), 디지털 신호 프로세싱(DSP) 유닛, 필드 프로그램가능 게이트 어레이, 또는 임의의 다른 프로그램가능 프로세싱 요소일 수 있다. 프로세싱 요소(680)는 프로세싱 요소(670)에 대해 이종 또는 비대칭일 수 있다. 구조, 미세구조, 열, 전력 소비 특성 등을 포함하는 장점의 측정 범위에 관하여 프로세싱 요소(670, 680) 간에 여러 가지 차이점이 존재할 수 있다. 이 차이점들은 프로세싱 요소(670, 680)를 그들 간의 배대칭성 및 이종성으로서 효율적으로 나타낼 수 있다. 일부 실시예에서, 다양한 프로세싱 요소(670, 680)는 동일한 다이 패키지 내에 존재할 수 있다.
제 1 프로세싱 요소(670)는 메모리 제어기 로직(MC)(672) 및 포인트 투 포인트(P-P) 인터페이스(676 및 678)를 더 포함할 수 있다. 유사하게, 제 2 프로세싱 요소(680)는 MC(682) 및 P-P 인터페이스(686 및 688)를 더 포함할 수 있다. 도 6에 도시된 바와 같이, MC(672 및 682)는 프로세싱 요소(670, 680)를 각각의 프로세서에 국부적으로 부착되는 메인 메모리의 일부일 수 있는 각각의 메모리, 즉, 메모리(632) 및 메모리(634)에 연결한다. MC 로직(672 및 682)은 프로세싱 요소(670, 680)에 집적되는 것으로 도시되지만, 일부 실시예에서 MC 로직은 내부에 집적되는 것이 아니라 프로세싱 요소(670, 680) 외부에 있는 이산 로직일 수 있다.
프로세싱 요소(670)와 프로세싱 요소(680)는 각각 P-P 인터페이스(676 및 686) 및 P-P 상호접속부(652 및 654)를 통해 I/O 서브 시스템(690)에 연결될 수 있다. 도 6에 도시된 바와 같이, I/O 서브시스템(690)은 P-P 인터페이스(694 및 698)를 포함한다. 또한, I/O 서브시스템(690)은 고성능 그래픽 엔진(638)과 I/O 서브시스템(690)을 연결하기 위한 인터페이스(692)를 포함한다. 일 실시예에서, 버스(639)는 그래픽 엔진(638)을 I/O 서브시스템(690)에 연결하는 데 사용될 수 있다. 이와 달리, 포인트 투 포인트 상호접속부(639)는 이들 구성요소를 연결할 수 있다.
차례로, I/O 서브시스템(690)은 인터페이스(696)를 통해 제 1 링크(616)에 연결될 수 있다. 일 실시예에서, 제 1 링크(616)는 PCI(Peripheral Component Interconnect) 버스, 또는 PCI 익스프레스 버스 또는 다른 I/O 상호접속 버스와 같은 버스일 수 있지만, 본 발명의 범위는 이것으로 제한되지 않는다.
도 6에 도시된 바와 같이, 다양한 I/O 디바이스(614)는 제 1 링크(616)를 제 2 링크(610)에 연결할 수 있는 브릿지(618)와 함께 제 1 링크(616)에 연결될 수 있다. 일 실시예에서, 제 2 링크(610)는 로우 핀 카운트(low pin count: LPC) 버스일 수 있다. 일 실시예에서, 예컨대, 키보드/마우스(612), 통신 디바이스(들)(626)(차례로 컴퓨터 네트워크(603)와 통신할 수 있음), 및 코드(630)를 포함할 수 있는 다른 대용량 저장 디바이스 또는 디스크 드라이브와 같은 데이터 저장 유닛(628)을 포함하는 다양한 디바이스가 제 2 링크(610)에 연결될 수 있다. 코드(630)는 전술한 기술 중 하나 이상의 실시예를 수행하는 인스트럭션을 포함할 수 있다. 또한, 오디오 I/O(624)가 제 2 버스(610)에 연결될 수 있다.
다른 실시예가 고려될 수 있음에 유의해야 한다. 예컨대, 도 6의 포인트 투 포인트 구조 대신에, 시스템은 멀티 드롭 버스 또는 다른 통신 토폴로지를 구현할 수 있다. 링크(616 및 610)는 도 6의 버스로서 도시되지만, 임의의 원하는 유형의 링크가 사용될 수 있다. 또한, 도 6의 요소는 이와 다르게 도 6에 도시된 것보다 많거나 적은 집적 칩을 사용하여 분할될 수 있다. 예컨대, 구성요소는 네트워킹된(LAN, 기업 네트워크, 인터넷 및/또는 클라우드 내에 분산된) 컴퓨팅 디바이스(실제 또는 가상) 또는 230 기능을 공동으로 수행하는 마이크로컨트롤러로서 구현될 수 있다.
이제 도 7을 참조하면, 블록도는 다른 실시예에 따른 프로그램가능 디바이스(700)를 도시한다. 도 7의 다른 양상을 불명료하게 하지 않도록 도 6의 특정 양상은 도 7로부터 생략되었다.
도 9는 프로세싱 요소(770, 780)가 집적 메모리 및/또는 I/O 제어 로직("CL")(772 및 782)을 각각 포함할 수 있음을 도시한다. 일부 실시예에서, CL(772, 782)은 도 6과 관련하여 전술한 바와 같은 메모리 제어 로직(MC)을 포함할 수 있다. 또한, CL(772 및 782)은 I/O 제어 로직도 포함할 수 있다. 도 7은 메모리(732, 734)가 CL(772, 782)에 연결될 수 있는 것뿐만 아니라 I/O 디바이스(744)가 제어 로직(772, 782)에 연결될 수도 있는 것도 도시한다. 레거시 I/O 디바이스(715)는 인터페이스(796)에 의해 I/O 서브시스템(790)에 연결될 수 있다. 각각의 프로세싱 요소(770, 780)는 프로세서 코어(774A, 774B, 784A 및 784B)로서 도 7에 도시된 다수의 프로세서 코어를 포함할 수 있다. 도 7에 도시된 바와 같이, I/O 서브시스템(790)은 상호접속부(752 및 754)와 함께 프로세싱 요소(770 및 780)의 P-P 인터페이스(776 및 786)에 접속하는 P-P 인터페이스(794 및 798)를 포함한다. 프로세싱 요소(770 및 780)는 또한 상호접속부(750) 및 인터페이스(778 및 788) 각각에 의해 상호접속될 수 있다.
도 6 및 도 7에 도시된 프로그램가능 디바이스는 본 명세서에서 논의된 다양한 실시예를 구현하는 데 이용될 수 있는 프로그램가능 디바이스의 실시예의 개략적 예시이다. 도 6 및 도 7에 도시된 프로그램가능 디바이스의 다양한 구성요소는 SoC 구조 내에 결합될 수 있다.
이제 도 8을 참조하면, 전술한 기술이 구현될 수 있는 예시적인 인프라구조(800)가 개략적으로 도시된다. 인프라구조(800)는 컴퓨터 네트워크(802)를 포함한다. 컴퓨터 네트워크(802)는 현재 이용가능한 다수의 상이한 유형의 컴퓨터 네트워크, 예컨대, 인터넷, 협동 네트워크, 또는 LAN을 포함할 수 있다. 이들 네트워크의 각각은 유선 또는 무선 프로그램가능 디바이스를 포함할 수 있고 임의의 수의 네트워크 프로토콜(예컨대, TCP/IP)을 사용하여 동작할 수 있다. 네트워크(802)는 게이트웨이 및 라우터(808로 표시됨), 엔드 유저 컴퓨터(806) 및 컴퓨터 서버(804)에 접속될 수 있다. 인프라구조(800)는 또한 모바일 통신 디바이스와 함께 사용할 셀룰러 네트워크(803)를 포함한다. 모바일 셀룰러 네트워크는 모바일 폰 및 다수의 다른 유형의 디바이스를 지원한다. 인프라구조(800) 내의 모바일 디바이스는 모바일 폰(810), 랩톱(812) 및 태블릿(814)으로서 도시된다. 모바일 폰(810)과 같은 모바일 디바이스는 모바일 디바이스가 이동함에 따라 하나 이상의 모바일 제공자 네트워크와 상호작용할 수 있으며, 전형적으로 셀룰러 네트워크(803)에 접속하기 위해 복수의 모바일 네트워크 타워(도시 생략)와 상호작용한다. 도 8에서 셀룰러 네트워크로서 지칭되지만, 모바일 디바이스는 무선 액세스 포인트 및 라우터(808)와 같은 다수의 비 셀룰러 디바이스 뿐만 아니라 2 개 이상의 제공자 네트워크의 타워와 상호작용할 수 있다. 또한, 모바일 디바이스(810, 812 및 814)는 원하는 서비스를 위해 컴퓨터(804 및 806)와 같은 비 모바일 디바이스와 상호작용할 수 있다.
후속 예는 추가 실시예에 속한다.
예 1은 브라우저에 의한 요청에 응답하여 로컬 프록시를 다운로드하는 단계와, 구성 프로파일을 획득하고 설치하는 단계와, 내부 가상 사설 네트워크 서비스를 활성화하는 단계와, 내부 가상 사설 네트워크 서비스를 통해 로컬 프록시를 수립하는 단계와, 로컬 프록시를 구동하는 단계를 포함하는 방법이다.
예 2에서, 예 1의 청구 대상은 요청은 HTTP 요청인 것을 선택적으로 포함할 수 있다.
예 3에서, 예 1 또는 예 2의 청구 대상은 로컬 프록시는 원격 가상 사설 네트워크 서버와 상호작용하는 것을 선택적으로 포함할 수 있다.
예 4는 인스트럭션이 저장된 머신 판독가능 매체로서, 인스트럭션은, 실행되는 경우, 머신으로 하여금, 로컬 프록시 및 로컬 프록시와 브라우저 사이의 접속을 수립하게 하는 인스트럭션과, 원격 서버와 로컬 프록시 사이의 접속을 수립하게 하는 인스트럭션과, 서버 프록시를 수립하도록 원격 서버를 시뮬레이션하게 하는 인스트럭션과, 브라우저와 서버 프록시 중 적어도 하나로부터 요청을 수신하고 요청을 원격 서버로 전송하게 하는 인스트럭션과, 원격 서버에서 브라우저로 전송된 서버 응답을 수신하게 하는 인스트럭션과, 브라우저로부터 포지티브 스크립트 주입 응답을 수신하게 하는 인스트럭션 - 포지티브 스크립트 주입 응답은 서버 응답에 기초함- 과, 서버 응답을 버퍼링하게 하는 인스트럭션과, 주입된 스크립트를 생성하게 하는 인스트럭션과, 주입된 스크립트를 브라우저로 전송하게 하는 인스트럭션을 포함한다.
예 5에서, 예 4의 청구 대상은, 실행되는 경우 머신으로 하여금 주입된 스크립트를 브라우저로 전송하게 하는 인스트럭션은, 실행되는 경우 머신으로 하여금, 주입된 스크립트로 버퍼링된 서버 응답을 변경하여 변경된 서버 응답을 생성하게 하는 인스트럭션과, 변경된 서버 응답을 브라우저로 전송하게 하는 인스트럭션을 포함하는 것을 선택적으로 포함할 수 있다.
예 6에서, 예 4 또는 예 5의 청구 대상은, 인스트럭션은, 실행되는 경우 머신으로 하여금 브라우저 상에 변경된 웹 페이지를 렌더링하게 하는 인스트럭션을 더 포함하는 것을 선택적으로 포함할 수 있다.
예 7에서, 예 4의 청구 대상은, 인스트럭션은, 실행되는 경우 머신으로 하여금, 로딩된 웹 페이지 내에 로그인 폼의 프레즌스를 수립하게 하는 인스트럭션과, 자산 요청을 생성하게 하는 인스트럭션과, 대칭 알고리즘으로 자산 요청을 암호화하게 하는 인스트럭션과, 자산 요청을 원격 서버로 전송하게 하는 인스트럭션과, 원격 서버로부터 자산 요청 응답을 수신하게 하는 인스트럭션 - 자산 요청 응답은 요청된 자산을 포함함 - 과, 대칭 알고리즘으로 자산 요청 응답을 복호화하게 하는 인스트럭션과, 로컬 프록시와 브라우저 중 적어도 하나로 요청된 자산을 전송하게 하는 인스트럭션을 더 포함하는 것을 선택적으로 포함할 수 있다.
예 8에서, 예 7의 청구 대상은, 실행되는 경우 머신으로 하여금 주입된 스크립트를 생성하게 하는 인스트럭션은, 실행되는 경우 머신으로 하여금 크립토키를 보안 생성하게 하는 인스트럭션을 포함하고, 대칭 알고리즘은 보안된 크립토키를 사용하여 자산 요청을 암호화하고 자산 요청 응답을 복호화하는 것을 선택적으로 포함할 수 있다.
예 9에서, 예 7의 청구 대상은, 실행되는 경우 머신으로 하여금 로딩된 웹 페이지 내에 로그인 폼의 프레즌스를 수립하게 하는 인스트럭션은, 실행되는 경우 머신으로 하여금, 브라우저로 계정 선택 폼을 전송하게 하는 인스트럭션 - 계정 선택 폼은 적어도 하나의 계정 선택을 포함함 - 과, 계정 선택 요청을 생성하게 하는 인스트럭션 - 계정 선택 요청은 적어도 하나의 계정 선택 중 하나를 포함함 - 과, 브라우저로부터 계정 선택 요청을 수신하게 하는 인스트럭션을 포함하는 것을 선택적으로 포함할 수 있다.
예 10에서, 예 7의 청구 대상은 계정 선택 요청은 암호화되는 것을 선택적으로 포함할 수 있다.
예 11에서, 예 10의 청구 대상은, 계정 선택 요청은 대칭 암호화 알고리즘을 사용하여 암호화되는 것을 선택적으로 포함할 수 있다.
예 12에서, 예 10의 청구 대상은, 인스트럭션은, 실행되는 경우 머신으로 하여금, 계정 선택 응답을 생성하게 하는 인스트럭션 - 계정 선택 응답은 더미 스트링을 포함함 - 과, 계정 선택 응답을 브라우저로 전송하게 하는 인스트럭션과, 로딩된 웹 페이지 내의 웹페이지 입력 필드로 더미 스트링을 주입하게 하는 인스트럭션과, 브라우저로부터 제 2 요청을 수신하게 하는 인스트럭션 - 제 2 요청은 더미 스트링을 포함함 - 과, 더미 스트링을 암호로 실시간으로 대체하게 하는 인스트럭션 - 암호는 원격 서버로부터 검색됨 - 을 더 포함하는 것을 선택적으로 포함할 수 있다.
예 13은 프로그램가능 디바이스이며, 프로세서와, 인스트럭션이 저장된 메모리를 포함하되, 인스트럭션은, 실행되는 경우, 프로세서로 하여금, 로컬 프록시 및 로컬 프록시와 브라우저 사이의 접속을 수립하게 하고, 원격 서버와 로컬 프록시 사이의 접속을 수립하게 하고, 서버 프록시를 수립하도록 원격 서버를 시뮬레이션하게 하고, 브라우저와 서버 프록시 중 적어도 하나로부터 요청을 수신하고 요청을 원격 서버로 전송하게 하고, 원격 서버에서 브라우저로 전송된 서버 응답을 수신하게 하고, 브라우저로부터 포지티브 스크립트 주입 응답을 수신 - 포지티브 스크립트 주입 응답은 서버 응답에 기초함 - 하게 하고, 서버 응답을 버퍼링하게 하고, 주입된 스크립트를 생성하게 하고, 주입된 스크립트를 브라우저로 전송하게 한다.
예 14에서, 예 13의 청구 대상은, 실행되는 경우 프로세서로 하여금 주입된 스크립트를 브라우저로 전송하게 하는 인스트럭션은, 실행되는 경우 프로세서로 하여금, 주입된 스크립트로 버퍼링된 서버 응답을 변경하여 변경된 서버 응답을 생성하게 하는 인스트럭션과, 변경된 서버 응답을 브라우저로 전송하게 하는 인스트럭션을 포함하는 것을 선택적으로 포함할 수 있다.
예 15에서, 예 13 또는 예 14의 청구 대상은, 인스트럭션은, 실행되는 경우 프로세서로 하여금 브라우저 상에 변경된 웹 페이지를 렌더링하게 하는 인스트럭션을 더 포함하는 것을 선택적으로 포함할 수 있다.
예 16에서, 예 13 또는 예 14의 청구 대상은, 인스트럭션은, 실행되는 경우 프로세서로 하여금, 로딩된 웹 페이지 내에 로그인 폼의 프레즌스를 수립하게 하는 인스트럭션과, 자산 요청을 생성하게 하는 인스트럭션과, 대칭 알고리즘으로 자산 요청을 암호화하게 하는 인스트럭션과, 자산 요청을 원격 서버로 전송하게 하는 인스트럭션과, 원격 서버로부터 자산 요청 응답을 수신하게 하는 인스트럭션 - 자산 요청 응답은 요청된 자산을 포함함 - 과, 대칭 알고리즘으로 자산 요청 응답을 복호화하게 하는 인스트럭션과, 로컬 프록시와 브라우저 중 적어도 하나로 요청된 자산을 전송하게 하는 인스트럭션을 더 포함하는 것을 선택적으로 포함할 수 있다.
예 17에서, 예 16의 청구 대상은, 실행되는 경우 프로세서로 하여금 주입된 스크립트를 생성하게 하는 인스트럭션은, 실행되는 경우 프로세서로 하여금 크립토키를 보안 생성하게 하는 인스트럭션을 포함하고, 대칭 알고리즘은 보안된 크립토키를 사용하여 자산 요청을 암호화하고 자산 요청 응답을 복호화하는 것을 선택적으로 포함할 수 있다.
예 18에서, 예 16의 청구 대상은, 실행되는 경우 프로세서로 하여금 로딩된 웹 페이지 내에 로그인 폼의 프레즌스를 수립하게 하는 인스트럭션은, 실행되는 경우 프로세서로 하여금, 브라우저로 계정 선택 폼을 전송하게 하는 인스트럭션 - 계정 선택 폼은 적어도 하나의 계정 선택을 포함함 - 과, 계정 선택 요청을 생성하게 하는 인스트럭션 - 계정 선택 요청은 적어도 하나의 계정 선택 중 하나를 포함함 - 과, 브라우저로부터 계정 선택 요청을 수신하게 하는 인스트럭션을 포함하는 것을 선택적으로 포함할 수 있다.
예 19에서, 예 18의 청구 대상은, 계정 선택 요청은 암호화되는 것을 선택적으로 포함할 수 있다.
예 20에서, 예 19의 청구 대상은, 계정 선택 요청은 대칭 암호화 알고리즘을 사용하여 암호화되는 것을 선택적으로 포함할 수 있다.
예 21에서, 예 19의 청구 대상은, 인스트럭션은, 실행되는 경우 프로세서로 하여금, 계정 선택 응답을 생성하게 하는 인스트럭션 - 계정 선택 응답은 더미 스트링을 포함함 - 과, 계정 선택 응답을 브라우저로 전송하게 하는 인스트럭션과, 로딩된 웹 페이지 내의 웹페이지 입력 필드로 더미 스트링을 주입하게 하는 인스트럭션과, 브라우저로부터 제 2 요청을 수신하게 하는 인스트럭션 - 제 2 요청은 더미 스트링을 포함함 - 과, 더미 스트링을 암호로 실시간으로 대체하게 하는 인스트럭션 - 암호는 원격 서버로부터 검색됨 - 을 더 포함하는 것을 선택적으로 포함할 수 있다.
예 22는 프로그램가능 디바이스이며, 프로세서와, 인스트럭션이 저장된 메모리를 포함하되, 인스트럭션은, 실행되는 경우, 프로세서로 하여금, 로컬 프록시 및 로컬 프록시와 브라우저 사이의 접속을 수립하게 하고, 원격 서버와 로컬 프록시 사이의 접속을 수립하게 하고, 서버 프록시를 수립하도록 원격 서버를 시뮬레이션하게 하고, 브라우저와 서버 프록시 중 적어도 하나로부터 요청을 수신하고 요청을 원격 서버로 전송하게 하고, 원격 서버에서 브라우저로 전송된 서버 응답을 수신하게 하고, 브라우저로부터 포지티브 스크립트 주입 응답을 수신 - 포지티브 스크립트 주입 응답은 서버 응답에 기초함 - 하게 하고, 서버 응답을 버퍼링하게 하고, 주입된 스크립트를 생성하게 하고, 주입된 스크립트로 버퍼링된 서버 응답을 변경하여 변경된 서버 응답을 생성하게 하며, 변경된 서버 응답을 브라우저로 전송하게 한다.
예 23에서, 예 22의 청구 대상은, 인스트럭션은, 실행되는 경우 프로세서로 하여금, 로딩된 웹 페이지 내에 로그인 폼의 프레즌스를 수립하게 하는 인스트럭션과, 자산 요청을 생성하게 하는 인스트럭션과, 대칭 알고리즘으로 자산 요청을 암호화하게 하는 인스트럭션과, 자산 요청을 원격 서버로 전송하게 하는 인스트럭션과, 원격 서버로부터 자산 요청 응답을 수신하게 하는 인스트럭션 - 자산 요청 응답은 요청된 자산을 포함함 - 과, 대칭 알고리즘으로 자산 요청 응답을 복호화하게 하는 인스트럭션과, 로컬 프록시와 브라우저 중 적어도 하나로 요청된 자산을 전송하게 하는 인스트럭션을 더 포함하는 것을 선택적으로 포함할 수 있다.
예 24에서, 예 22 또는 예 23의 청구 대상은, 인스트럭션은, 실행되는 경우 프로세서로 하여금, 계정 선택 응답을 생성하게 하는 인스트럭션 - 계정 선택 응답은 더미 스트링을 포함함 - 과, 계정 선택 응답을 브라우저로 전송하게 하는 인스트럭션과, 로딩된 웹 페이지 내의 웹페이지 입력 필드로 더미 스트링을 주입하게 하는 인스트럭션과, 브라우저로부터 제 2 요청을 수신하게 하는 인스트럭션 - 제 2 요청은 더미 스트링을 포함함 - 과, 더미 스트링을 암호로 실시간으로 대체하게 하는 인스트럭션 - 암호는 원격 서버로부터 검색됨 - 을 더 포함하는 것을 선택적으로 포함할 수 있다.
예 25에서, 예 23의 청구 대상은, 실행되는 경우 프로세서로 하여금 주입된 스크립트를 생성하게 하는 인스트럭션은, 실행되는 경우 프로세서로 하여금 크립토키를 보안 생성하게 하는 인스트럭션을 포함하고, 대칭 알고리즘은 보안된 크립토키를 사용하여 자산 요청을 암호화하고 자산 요청 응답을 복호화하는 것을 선택적으로 포함할 수 있다.
예 26에서, 예 23의 청구 대상은, 실행되는 경우 프로세서로 하여금 로딩된 웹 페이지 내에 로그인 폼의 프레즌스를 수립하게 하는 인스트럭션은, 실행되는 경우 프로세서로 하여금, 브라우저로 계정 선택 폼을 전송하게 하는 인스트럭션 - 계정 선택 폼은 적어도 하나의 계정 선택을 포함함 - 과, 계정 선택 요청을 생성하게 하는 인스트럭션 - 계정 선택 요청은 적어도 하나의 계정 선택 중 하나를 포함함 - 과, 브라우저로부터 계정 선택 요청을 수신하게 하는 인스트럭션을 포함하는 것을 선택적으로 포함할 수 있다.
예 27은 프로그램가능 디바이스이며, 프로세서와, 프로세서와 결합되며 인스트럭션이 저장된 메모리를 포함하되, 인스트럭션은 실행되는 경우 프로세서로 하여금 브라우저에 의한 요청에 응답하여 로컬 프록시를 다운로드하게 하는 인스트럭션과, 구성 프로파일을 획득하고 설치하게 하는 인스트럭션과, 내부 가상 사설 네트워크 서비스를 활성화하게 하는 인스트럭션과, 내부 가상 사설 네트워크 서비스를 통해 상기 로컬 프록시를 수립하게 하는 인스트럭션과, 로컬 프록시를 구동하게 하는 인스트럭션을 포함한다.
예 28에서, 예 27의 청구 대상은 요청은 HTTP 요청인 것을 선택적으로 포함할 수 있다.
예 29에서, 예 27 또는 예 28의 청구 대상은 로컬 프록시는 원격 가상 사설 네트워크 서버와 상호작용하는 것을 선택적으로 포함할 수 있다.
이상의 설명은 예시적이고 비제한적이도록 의도됨을 이해해야 한다. 예컨대, 전술한 실시예는 서로 결합하여 사용될 수 있다. 이상의 설명을 검토할 때 다수의 다른 실시예가 당업자에게 자명할 것이다. 그러므로 본 발명의 범위는 첨부된 청구범위를 참조하여 그러한 청구범위가 권리를 갖는 전범위와 함께 결정되어야 한다.
Claims (21)
- 브라우저에 의한 요청에 응답하여 로컬 프록시를 다운로드하는 단계와,
구성 프로파일을 획득하고 설치하는 단계와,
내부 가상 사설 네트워크 서비스를 활성화하는 단계와,
상기 내부 가상 사설 네트워크 서비스를 통해 상기 로컬 프록시를 수립하는 단계와,
상기 로컬 프록시를 구동하는 단계를 포함하는
방법.
- 제 1 항에 있어서,
상기 요청은 HTTP 요청인
방법.
- 제 1 항 또는 제 2 항에 있어서,
상기 로컬 프록시는 원격 가상 사설 네트워크 서버와 상호작용하는
방법.
- 인스트럭션이 저장된 머신 판독가능 매체로서,
상기 인스트럭션은, 실행되는 경우, 머신으로 하여금,
로컬 프록시 및 상기 로컬 프록시와 브라우저 사이의 접속을 수립하게 하는 인스트럭션과,
원격 서버와 상기 로컬 프록시 사이의 접속을 수립하게 하는 인스트럭션과,
서버 프록시를 수립하도록 상기 원격 서버를 시뮬레이션하게 하는 인스트럭션과,
상기 브라우저와 상기 서버 프록시 중 적어도 하나로부터 요청을 수신하고 상기 요청을 상기 원격 서버로 전송하게 하는 인스트럭션과,
상기 원격 서버에서 상기 브라우저로 전송된 서버 응답을 수신하게 하는 인스트럭션과,
상기 브라우저로부터 포지티브 스크립트 주입 응답을 수신하게 하는 인스트럭션 -상기 포지티브 스크립트 주입 응답은 상기 서버 응답에 기초함- 과,
상기 서버 응답을 버퍼링하게 하는 인스트럭션과,
주입된 스크립트를 생성하게 하는 인스트럭션과,
상기 주입된 스크립트를 상기 브라우저로 전송하게 하는 인스트럭션을 포함하는
머신 판독가능 매체.
- 제 4 항에 있어서,
실행되는 경우 상기 머신으로 하여금 상기 주입된 스크립트를 상기 브라우저로 전송하게 하는 인스트럭션은,
실행되는 경우 상기 머신으로 하여금,
상기 주입된 스크립트로 상기 버퍼링된 서버 응답을 변경하여 변경된 서버 응답을 생성하게 하는 인스트럭션과,
상기 변경된 서버 응답을 상기 브라우저로 전송하게 하는 인스트럭션을 포함하는
머신 판독가능 매체.
- 제 4 항 또는 제 5 항에 있어서,
상기 인스트럭션은, 실행되는 경우 상기 머신으로 하여금 상기 브라우저 상에 변경된 웹 페이지를 렌더링하게 하는 인스트럭션을 더 포함하는
머신 판독가능 매체.
- 제 4 항에 있어서,
상기 인스트럭션은, 실행되는 경우 상기 머신으로 하여금,
로딩된 웹 페이지 내에 로그인 폼의 프레즌스를 수립하게 하는 인스트럭션과,
자산 요청을 생성하게 하는 인스트럭션과,
대칭 알고리즘으로 상기 자산 요청을 암호화하게 하는 인스트럭션과,
상기 자산 요청을 상기 원격 서버로 전송하게 하는 인스트럭션과,
상기 원격 서버로부터 자산 요청 응답을 수신하게 하는 인스트럭션 -상기 자산 요청 응답은 요청된 자산을 포함함- 과,
상기 대칭 알고리즘으로 상기 자산 요청 응답을 복호화하게 하는 인스트럭션과,
상기 로컬 프록시와 상기 브라우저 중 적어도 하나로 상기 요청된 자산을 전송하게 하는 인스트럭션을 더 포함하는
머신 판독가능 매체.
- 제 7 항에 있어서,
실행되는 경우 상기 머신으로 하여금 주입된 스크립트를 생성하게 하는 인스트럭션은, 실행되는 경우 상기 머신으로 하여금 크립토키를 보안 생성하게 하는 인스트럭션을 포함하고,
상기 대칭 알고리즘은 상기 보안된 크립토키를 사용하여 상기 자산 요청을 암호화하고 상기 자산 요청 응답을 복호화하는
머신 판독가능 매체.
- 제 7 항에 있어서,
실행되는 경우 상기 머신으로 하여금 로딩된 웹 페이지 내에 로그인 폼의 프레즌스를 수립하게 하는 인스트럭션은,
실행되는 경우 상기 머신으로 하여금,
상기 브라우저로 계정 선택 폼을 전송하게 하는 인스트럭션 - 상기 계정 선택 폼은 적어도 하나의 계정 선택을 포함함 - 과,
계정 선택 요청을 생성하게 하는 인스트럭션 - 상기 계정 선택 요청은 상기 적어도 하나의 계정 선택 중 하나를 포함함 - 과,
상기 브라우저로부터 계정 선택 요청을 수신하게 하는 인스트럭션을 포함하는
머신 판독가능 매체.
- 제 9 항에 있어서,
상기 계정 선택 요청은 암호화되는
머신 판독가능 매체.
- 제 10 항에 있어서,
상기 계정 선택 요청은 대칭 암호화 알고리즘을 사용하여 암호화되는
머신 판독가능 매체.
- 제 10 항에 있어서,
상기 인스트럭션은, 실행되는 경우 상기 머신으로 하여금,
계정 선택 응답을 생성하게 하는 인스트럭션 - 상기 계정 선택 응답은 더미 스트링(a dummy string)을 포함함 - 과,
상기 계정 선택 응답을 상기 브라우저로 전송하게 하는 인스트럭션과,
상기 로딩된 웹 페이지 내의 웹페이지 입력 필드로 상기 더미 스트링을 주입하게 하는 인스트럭션과,
상기 브라우저로부터 제 2 요청을 수신하게 하는 인스트럭션 - 상기 제 2 요청은 상기 더미 스트링을 포함함 - 과,
상기 더미 스트링을 암호로 실시간으로 대체하게 하는 인스트럭션 - 상기 암호는 상기 원격 서버로부터 검색됨 - 을 더 포함하는
머신 판독가능 매체.
- 프로그램가능 디바이스로서,
프로세서와,
인스트럭션이 저장된 메모리를 포함하되,
상기 인스트럭션은, 실행되는 경우, 상기 프로세서로 하여금,
로컬 프록시 및 상기 로컬 프록시와 브라우저 사이의 접속을 수립하게 하는 인스트럭션과,
원격 서버와 상기 로컬 프록시 사이의 접속을 수립하게 하는 인스트럭션과,
서버 프록시를 수립하도록 상기 원격 서버를 시뮬레이션하게 하는 인스트럭션과,
상기 브라우저와 상기 서버 프록시 중 적어도 하나로부터 요청을 수신하고 상기 요청을 상기 원격 서버로 전송하게 하는 인스트럭션과,
상기 원격 서버에서 상기 브라우저로 전송된 서버 응답을 수신하게 하는 인스트럭션과,
상기 브라우저로부터 포지티브 스크립트 주입 응답을 수신하게 하는 인스트럭션 - 상기 포지티브 스크립트 주입 응답은 상기 서버 응답에 기초함 - 과,
상기 서버 응답을 버퍼링하게 하는 인스트럭션과,
주입된 스크립트를 생성하게 하는 인스트럭션과,
상기 주입된 스크립트를 상기 브라우저로 전송하게 하는 인스트럭션을 포함하는
프로그램가능 디바이스.
- 제 13 항에 있어서,
실행되는 경우 상기 프로세서로 하여금 상기 주입된 스크립트를 상기 브라우저로 전송하게 하는 인스트럭션은,
실행되는 경우 상기 프로세서로 하여금,
상기 주입된 스크립트로 상기 버퍼링된 서버 응답을 변경하여 변경된 서버 응답을 생성하게 하는 인스트럭션과,
상기 변경된 서버 응답을 상기 브라우저로 전송하게 하는 인스트럭션을 포함하는
프로그램가능 디바이스.
- 제 13 항 또는 제 14 항에 있어서,
상기 인스트럭션은, 실행되는 경우 상기 프로세서로 하여금 상기 브라우저 상에 변경된 웹 페이지를 렌더링하게 하는 인스트럭션을 더 포함하는
프로그램가능 디바이스.
- 제 13 항 또는 제 14 항에 있어서,
상기 인스트럭션은, 실행되는 경우 상기 프로세서로 하여금,
로딩된 웹 페이지 내에 로그인 폼의 프레즌스를 수립하게 하는 인스트럭션과,
자산 요청을 생성하게 하는 인스트럭션과,
대칭 알고리즘으로 상기 자산 요청을 암호화하게 하는 인스트럭션과,
상기 자산 요청을 상기 원격 서버로 전송하게 하는 인스트럭션과,
상기 원격 서버로부터 자산 요청 응답을 수신하게 하는 인스트럭션 -상기 자산 요청 응답은 요청된 자산을 포함함- 과,
상기 대칭 알고리즘으로 상기 자산 요청 응답을 복호화하게 하는 인스트럭션과,
상기 로컬 프록시와 상기 브라우저 중 적어도 하나로 상기 요청된 자산을 전송하게 하는 인스트럭션을 더 포함하는
프로그램가능 디바이스.
- 제 16 항에 있어서,
실행되는 경우 상기 프로세서로 하여금 주입된 스크립트를 생성하게 하는 인스트럭션은, 실행되는 경우 상기 프로세서로 하여금 크립토키를 보안 생성하게 하는 인스트럭션을 포함하고,
상기 대칭 알고리즘은 상기 보안된 크립토키를 사용하여 상기 자산 요청을 암호화하고 상기 자산 요청 응답을 복호화하는
프로그램가능 디바이스.
- 제 16 항에 있어서,
실행되는 경우 상기 프로세서로 하여금 로딩된 웹 페이지 내에 로그인 폼의 프레즌스를 수립하게 하는 인스트럭션은,
실행되는 경우 상기 프로세서로 하여금,
상기 브라우저로 계정 선택 폼을 전송하게 하는 인스트럭션 - 상기 계정 선택 폼은 적어도 하나의 계정 선택을 포함함 - 과,
계정 선택 요청을 생성하게 하는 인스트럭션 - 상기 계정 선택 요청은 상기 적어도 하나의 계정 선택 중 하나를 포함함 - 과,
상기 브라우저로부터 계정 선택 요청을 수신하게 하는 인스트럭션을 포함하는
프로그램가능 디바이스.
- 제 18 항에 있어서,
상기 계정 선택 요청은 암호화되는
프로그램가능 디바이스.
- 제 19 항에 있어서,
상기 계정 선택 요청은 대칭 암호화 알고리즘을 사용하여 암호화되는
프로그램가능 디바이스.
- 제 19 항에 있어서,
상기 인스트럭션은, 실행되는 경우 상기 프로세서로 하여금,
계정 선택 응답을 생성하게 하는 인스트럭션 - 상기 계정 선택 응답은 더미 스트링을 포함함 - 과,
상기 계정 선택 응답을 상기 브라우저로 전송하게 하는 인스트럭션과,
상기 로딩된 웹 페이지 내의 웹페이지 입력 필드로 상기 더미 스트링을 주입하게 하는 인스트럭션과,
상기 브라우저로부터 제 2 요청을 수신하게 하는 인스트럭션 - 상기 제 2 요청은 상기 더미 스트링을 포함함 - 과,
상기 더미 스트링을 암호로 실시간으로 대체하게 하는 인스트럭션 - 상기 암호는 상기 원격 서버로부터 검색됨 - 을 더 포함하는
프로그램가능 디바이스.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461931247P | 2014-01-24 | 2014-01-24 | |
US61/931,247 | 2014-01-24 | ||
PCT/US2014/072147 WO2015112301A1 (en) | 2014-01-24 | 2014-12-23 | Automatic placeholder finder-filler |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160089472A true KR20160089472A (ko) | 2016-07-27 |
KR101882115B1 KR101882115B1 (ko) | 2018-07-25 |
Family
ID=53681828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167016769A KR101882115B1 (ko) | 2014-01-24 | 2014-12-23 | 자동 플레이스홀더 파인더-필러 |
Country Status (6)
Country | Link |
---|---|
US (3) | US10291585B2 (ko) |
EP (2) | EP3731458A1 (ko) |
JP (3) | JP6216458B2 (ko) |
KR (1) | KR101882115B1 (ko) |
CN (1) | CN105874742B (ko) |
WO (1) | WO2015112301A1 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3731458A1 (en) | 2014-01-24 | 2020-10-28 | McAfee, LLC | Automatic placeholder finder-filler |
RU2638710C1 (ru) | 2016-10-10 | 2017-12-15 | Акционерное общество "Лаборатория Касперского" | Способы обнаружения вредоносных элементов веб-страниц |
CN106713335B (zh) * | 2016-12-30 | 2020-10-30 | 山石网科通信技术股份有限公司 | 恶意软件的识别方法及装置 |
CN107733847B (zh) * | 2017-07-25 | 2020-06-09 | 深圳壹账通智能科技有限公司 | 平台登录网站方法、装置、计算机设备以及可读存储介质 |
US11283763B2 (en) | 2018-12-28 | 2022-03-22 | Mcafee, Llc | On-device dynamic safe browsing |
US11405237B2 (en) | 2019-03-29 | 2022-08-02 | Mcafee, Llc | Unencrypted client-only virtual private network |
US11362999B2 (en) * | 2019-03-29 | 2022-06-14 | Mcafee, Llc | Client-only virtual private network |
CN111046368B (zh) * | 2019-12-30 | 2023-04-21 | 重庆长安汽车股份有限公司 | 基于人脸识别登录智能汽车云平台的方法 |
US11356415B2 (en) * | 2020-03-09 | 2022-06-07 | Arbor Networks, Inc. | Filter for suspicious network activity attempting to mimic a web browser |
US11880451B2 (en) * | 2021-01-29 | 2024-01-23 | Blackberry Limited | Secured code package for browser plugin |
CN113076550B (zh) * | 2021-04-16 | 2022-10-18 | 顶象科技有限公司 | 脚本文本的更新方法、脚本文本的加密方法及装置 |
US20230306476A1 (en) * | 2022-03-08 | 2023-09-28 | Topmarq, Inc. | Systems and methods for valuing an item |
US12047469B1 (en) * | 2023-05-31 | 2024-07-23 | Microsoft Technology Licensing, Llc | Inserting and replacing placeholders in resource code |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060031407A1 (en) * | 2002-12-13 | 2006-02-09 | Steve Dispensa | System and method for remote network access |
US7383339B1 (en) * | 2002-07-31 | 2008-06-03 | Aol Llc, A Delaware Limited Liability Company | Local proxy server for establishing device controls |
KR20090048655A (ko) * | 2006-08-22 | 2009-05-14 | 인터디지탈 테크날러지 코포레이션 | 애플리케이션 및 인터넷 기반 서비스들에 신뢰성있는 싱글 사인온 액세스를 제공하는 방법 및 장치 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6266681B1 (en) * | 1997-04-08 | 2001-07-24 | Network Commerce Inc. | Method and system for inserting code to conditionally incorporate a user interface component in an HTML document |
US7496670B1 (en) | 1997-11-20 | 2009-02-24 | Amdocs (Israel) Ltd. | Digital asset monitoring system and method |
US20020062342A1 (en) * | 2000-11-22 | 2002-05-23 | Sidles Charles S. | Method and system for completing forms on wide area networks such as the internet |
US7216173B2 (en) * | 2001-06-12 | 2007-05-08 | Varian Medical Systems Technologies, Inc. | Virtual private network software system |
TW550467B (en) * | 2002-04-15 | 2003-09-01 | Htc Corp | Method and electronic device allowing an HTML document to access local system resource |
US20040158746A1 (en) * | 2003-02-07 | 2004-08-12 | Limin Hu | Automatic log-in processing and password management system for multiple target web sites |
US20050183003A1 (en) * | 2004-02-17 | 2005-08-18 | Checkpoint Software Technologies Ltd. | Automatic proxy form filing |
US20050273849A1 (en) | 2004-03-11 | 2005-12-08 | Aep Networks | Network access using secure tunnel |
EP1763776B1 (en) | 2004-05-21 | 2019-07-31 | Oracle International Corporation | Service oriented architecture |
US20060248575A1 (en) | 2005-05-02 | 2006-11-02 | Zachary Levow | Divided encryption connections to provide network traffic security |
JP4353487B2 (ja) | 2006-05-30 | 2009-10-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ローカル・プロキシにより通信情報を共有する方法 |
US8255696B2 (en) | 2007-05-01 | 2012-08-28 | Microsoft Corporation | One-time password access to password-protected accounts |
US9098481B2 (en) * | 2007-06-15 | 2015-08-04 | Microsoft Technology Licensing, Llc | Increasing accuracy in determining purpose of fields in forms |
US8281147B2 (en) * | 2007-06-21 | 2012-10-02 | Microsoft Corporation | Image based shared secret proxy for secure password entry |
US8359319B2 (en) | 2007-08-27 | 2013-01-22 | Sudhir Pendse | Tool for personalized search |
US20130304637A1 (en) * | 2007-10-02 | 2013-11-14 | American Express Travel Related Services Company, Inc. | Fraud control integrated form filling tool |
US20090172824A1 (en) * | 2007-12-28 | 2009-07-02 | Marcovision Corporation | Corruption of swarm downloads in a decentralized network employing advanced intelligent corruption handling |
US8910272B2 (en) * | 2008-02-28 | 2014-12-09 | Hob Gmbh & Co. Kg | Computer communication system for communication via public networks |
WO2011002785A1 (en) * | 2009-06-29 | 2011-01-06 | Fiberlink Communications Corporation | Universal connections data collection |
US8370933B1 (en) | 2009-11-24 | 2013-02-05 | Symantec Corporation | Systems and methods for detecting the insertion of poisoned DNS server addresses into DHCP servers |
US8453225B2 (en) * | 2009-12-23 | 2013-05-28 | Citrix Systems, Inc. | Systems and methods for intercepting and automatically filling in forms by the appliance for single-sign on |
US8813167B2 (en) | 2010-12-30 | 2014-08-19 | Apple Inc. | Dynamic device configuration using predicates |
US9210127B2 (en) | 2011-06-15 | 2015-12-08 | Mcafee, Inc. | System and method for limiting data leakage |
EP2541861A1 (en) | 2011-06-30 | 2013-01-02 | British Telecommunications Public Limited Company | Server security systems and related aspects |
US8438635B2 (en) | 2011-09-15 | 2013-05-07 | Microsoft Corporation | Single sign-on for remote desktops |
US9083703B2 (en) * | 2012-03-29 | 2015-07-14 | Lockheed Martin Corporation | Mobile enterprise smartcard authentication |
US9094413B2 (en) * | 2012-08-27 | 2015-07-28 | Vmware, Inc. | Configuration profile validation on iOS Using SSL and redirect |
US8595810B1 (en) | 2013-01-13 | 2013-11-26 | Mourad Ben Ayed | Method for automatically updating application access security |
US9787686B2 (en) * | 2013-04-12 | 2017-10-10 | Airwatch Llc | On-demand security policy activation |
EP3047628B1 (en) * | 2013-09-20 | 2018-08-29 | Oracle International Corporation | Web-based single sign-on with form-fill proxy application |
EP3731458A1 (en) | 2014-01-24 | 2020-10-28 | McAfee, LLC | Automatic placeholder finder-filler |
US9613204B2 (en) * | 2014-12-23 | 2017-04-04 | Document Storage Systems, Inc. | Computer readable storage media for legacy integration and methods and systems for utilizing same |
-
2014
- 2014-12-23 EP EP20181263.3A patent/EP3731458A1/en not_active Withdrawn
- 2014-12-23 WO PCT/US2014/072147 patent/WO2015112301A1/en active Application Filing
- 2014-12-23 CN CN201480071045.6A patent/CN105874742B/zh active Active
- 2014-12-23 KR KR1020167016769A patent/KR101882115B1/ko active IP Right Grant
- 2014-12-23 EP EP14880190.5A patent/EP3097658B1/en active Active
- 2014-12-23 JP JP2016535707A patent/JP6216458B2/ja active Active
- 2014-12-23 US US15/108,230 patent/US10291585B2/en active Active
-
2017
- 2017-09-22 JP JP2017182159A patent/JP6449399B2/ja active Active
-
2018
- 2018-12-05 JP JP2018228011A patent/JP6591650B2/ja active Active
-
2019
- 2019-04-26 US US16/396,350 patent/US10666622B2/en active Active
-
2020
- 2020-04-29 US US16/862,191 patent/US11349814B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383339B1 (en) * | 2002-07-31 | 2008-06-03 | Aol Llc, A Delaware Limited Liability Company | Local proxy server for establishing device controls |
US20060031407A1 (en) * | 2002-12-13 | 2006-02-09 | Steve Dispensa | System and method for remote network access |
KR20090048655A (ko) * | 2006-08-22 | 2009-05-14 | 인터디지탈 테크날러지 코포레이션 | 애플리케이션 및 인터넷 기반 서비스들에 신뢰성있는 싱글 사인온 액세스를 제공하는 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
US11349814B2 (en) | 2022-05-31 |
CN105874742A (zh) | 2016-08-17 |
CN105874742B (zh) | 2019-11-08 |
EP3097658A1 (en) | 2016-11-30 |
US10666622B2 (en) | 2020-05-26 |
EP3097658B1 (en) | 2020-07-01 |
WO2015112301A1 (en) | 2015-07-30 |
JP2017224357A (ja) | 2017-12-21 |
US20200259798A1 (en) | 2020-08-13 |
US10291585B2 (en) | 2019-05-14 |
EP3731458A1 (en) | 2020-10-28 |
JP6449399B2 (ja) | 2019-01-09 |
EP3097658A4 (en) | 2017-07-26 |
JP6216458B2 (ja) | 2017-10-18 |
KR101882115B1 (ko) | 2018-07-25 |
JP6591650B2 (ja) | 2019-10-16 |
JP2017503249A (ja) | 2017-01-26 |
US20190253394A1 (en) | 2019-08-15 |
US20160330173A1 (en) | 2016-11-10 |
JP2019046496A (ja) | 2019-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11349814B2 (en) | Automatic placeholder finder-filler | |
US20210004453A1 (en) | Device-specific authentication credentials | |
JP6687641B2 (ja) | サーバまたは他の装置からのエントロピーに基づくクライアント装置の認証 | |
CA2912608C (en) | Selectively performing man in the middle decryption | |
JP6358549B2 (ja) | セッション共有によるセッションの自動ログインおよびログアウト | |
CN105993146B (zh) | 用于与客户端设备建立安全会话的方法和装置 | |
TWI439103B (zh) | 網路資源之單一登入以及安全存取的政策導向憑證授權 | |
CN103428221B (zh) | 对移动应用的安全登录方法、系统和装置 | |
WO2017053577A1 (en) | Remote authentication and passwordless password reset | |
US20130019092A1 (en) | System to Embed Enhanced Security / Privacy Functions Into a User Client | |
Burgers et al. | Prevent session hijacking by binding the session to the cryptographic network credentials | |
JP6438256B2 (ja) | 端末装置、認証サーバ、認証システム、認証方法及び認証プログラム | |
Hoffmann et al. | SMARTPROXY: secure smartphone-assisted login on compromised machines | |
Martineau et al. | SecurePass: Guarding sensitive information from untrusted machines | |
Jammalamadaka et al. | SIdeCAR: Secure Identity Consent and Authentication Responder |
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 |