KR20160135207A - 지속적 북마클릿 인가 기법 - Google Patents

지속적 북마클릿 인가 기법 Download PDF

Info

Publication number
KR20160135207A
KR20160135207A KR1020167025591A KR20167025591A KR20160135207A KR 20160135207 A KR20160135207 A KR 20160135207A KR 1020167025591 A KR1020167025591 A KR 1020167025591A KR 20167025591 A KR20167025591 A KR 20167025591A KR 20160135207 A KR20160135207 A KR 20160135207A
Authority
KR
South Korea
Prior art keywords
bookmarklet
user
user interface
identifier
activation
Prior art date
Application number
KR1020167025591A
Other languages
English (en)
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 KR20160135207A publication Critical patent/KR20160135207A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • G06F17/30893
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F17/30899
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

브라우저 애플리케이션은 하나 이상의 북마클릿을 제공할 수 있고 또는 북마클릿이 사용자 동작 시에 브라우저로 임포트될 수 있다. 북마클릿의 첫 번째 활성화시에, 사용자가 인증될 수 있고 북마클릿이 그 사용자와 클라이언트 장치에 대해 인가될 수 있다. 북마클릿 식별자를 사용하면, 북마클릿 기능이 무기한으로, 지정된 기간 동안, 랜덤한 기간 동안, 또는 지정된 사용 횟수만큼 재인가없이 동일 클라이언트 장치 상에서 지속될 수 있어 북마클릿을 통해 사용자 자원에 액세스하려고 시도할 수 있는 멀웨어에 대한 보호를 향상시킬 수 있다.

Description

지속적 북마클릿 인가 기법{PERSISTENT BOOKMARKLET AUTHORIZATION}
북마클릿은 브라우저의 기능을 확장하기 위해 하나 이상의 스크립트를 포함하는 웹 브라우저에 저장된 북마크이다. 예를 들어, 북마클릿은, 사용자가 페이지 상의 텍스트를 선택하고, 북마클릿을 클릭하고, 선택된 검색어에 대한 검색 엔진 결과 페이지를 제시받을 수 있게 할 수 있다.
북마클릿은 웹 브라우저 내의 북마크의 URL 또는 웹 페이지 상의 하이퍼링크로서 저장된 겸손한 스크립트(unobtrusive script)이다. 통상의 북마클릿은 브라우저나 웹 페이지에 원 클릭(one-click) 기능을 추가하도록 설계된다. 북마클릿은 클릭되면 검색 쿼리, 이미지 추출, 텍스트 추출 등과 같은 여러가지 기능 중 하나의 기능을 수행할 수 있다. 북마클릿의 일례로는 클리퍼(clipper)가 있는데, 이것은 일반적으로 웹 브라우저에서 실행되어 웹 브라우저에 의해 디스플레이된 웹 페이지로부터 콘텐츠를 클립핑할 수 있게 하는 툴이다. 이런 맥락에서, 클리핑은, 나중에 웹 사이트 상에 있지 않거나 심지어 오프라인 상태일 때에도 액세스(예컨대, 읽기, 주석달기, 수집하기)할 수 있도록, 콘텐츠의 저장을 용이하게 하기 위해 웹 페이지로부터 HTML(hypertext markup language), 텍스트 및/또는 그래픽 요소를 추출하거나 또는 캡처하는 것을 지칭한다.
웹 클리퍼는 특정한 데스티네이션 애플리케이션(destination application)이나 저장부와 연관될 수 있다. 웹 클리퍼의 기능은 흔히 데스티네이션 애플리케이션의 개발자에 의해 웹 브라우저에 대한 플러그인(plug-in) 또는 애드온(add-on)으로서 제공될 수 있다. 사용자는 웹 페이지의 콘텐츠를 클라이언트 애플리케이션에 의해 호스트되는 문서에 쉽게 삽입할 수 있다.
본 개요는 후속하여 발명의 상세한 설명 부분에서 설명되는 개념들 중 선택된 것들을 단순화된 형태로 소개하고자 제공되는 것이다. 본 개요는 청구항의 청구대상의 핵심적인 특징이나 필수적인 특징들을 밝히고자 함이 아니며, 청구항의 청구대상의 범위를 결정하는 데 도움이 되고자 함도 아니다.
실시예들은 제1 활성화 시에 사용자의 인가 및 북마클릿의 인가를 통한 북마클릿의 지속(persistence)에 관한 것이다. 일부 실시예에 따르면, 브라우저 또는 클라이언트 장치 상의 이와 유사한 애플리케이션을 통해 제공된 북마클릿은 처음으로 그것을 활성화하는 사용자의 인증을 트리거할 수 있다. 하나 이상의 기법을 통해 사용자 인증이 이루어지면, 북마클릿이 인가되어 그 기능이 이용가능해질 수 있다. 북마클릿 식별자는 브라우저의 동일 인스턴스를 통해 또는 동일한 장치 상의 상이한 인스턴스를 통해 재인가없이 북마클릿 기능을 지속하도록 사용될 수 있다.
이들 및 다른 특징들과 이점들은 후술하는 상세한 설명을 읽고 관련 도면을 검토하면 명확할 것이다. 전술한 일반적인 설명과 후술하는 상세한 설명은 모두 설명을 위한 것이며 청구된 특징을 한정하는 것은 아니다.
도 1은 북마클릿을 활성화하고 인가하는 버튼과 같은 북마클릿 컨트롤을 갖는 브라우저 애플리케이션을 도시한 것이다.
도 2는 브라우저 애플리케이션 사용자 인터페이스 상의 북마클릿 버튼을 통해 사용자의 인증 후에 북마클릿을 인가하는 예를 도시한 도시한 것이다.
도 3은 브라우저 애플리케이션 사용자 인터페이스 상의 디스플레이된 콘텐츠의 일부분의 선택을 통해 사용자의 인증 후에 북마클릿을 인가하는 예를 도시한 것이다.
도 4는 실시예들에 따른 시스템이 구현될 수 있는 네트워킹된 환경이다.
도 5는 실시예들이 구현될 수 있는 예시적인 컴퓨팅 운영 환경의 블록도이다.
도 6은 실시예들에 따른, 사용자 인증 및 북마클릿 인가를 통해 북마클릿을 지속하는 프로세스의 논리적 흐름도이다.
위에서 간단히 기술한 바와 같이, 브라우저 애플리케이션은 하나 이상의 북마클릿을 제공할 수 있고 또는 북마클릿이 사용자 동작 시에 브라우저로 임포트될 수 있다. 북마클릿의 첫 번째 활성화시에, 사용자가 인증될 수 있고 북마클릿이 그 사용자와 클라이언트 장치에 대해 인가될 수 있다. 북마클릿 식별자를 사용하면, 북마클릿 기능이 무기한으로, 지정된 기간 동안, 랜덤한 기간 동안, 또는 지정된 사용 횟수만큼 재인가없이 동일 클라이언트 장치 상에서 지속될 수 있어 북마클릿을 통해 사용자 자원에 액세스하려고 시도할 수 있는 멀웨어에 대한 보호를 향상시킬 수 있다.
다음의 상세한 설명에서는, 본 명세서의 일부를 이루는 첨부 도면을 참조하는데, 이들 도면은 특정한 실시예 또는 예로서 제시한다. 이들 특징은 조합할 수도 있고 다른 특징을 이용할 수도 있으며, 본 발명의 사상 또는 범주로부터 벗어나지 않으면서 구조 변경을 이룰 수도 있다. 그러므로, 다음의 상세한 설명은 제한적인 의미로 받아들여서는 안 되며, 본 발명의 범위는 첨부한 청구범위 및 그 균등물에 의해 규정된다.
실시예들은 컴퓨팅 장치의 운영 체제 상에서 실행하는 애플리케이션 프로그램과 함께 실행되는 프로그램 모듈의 일반적인 맥락에서 설명할 것이지만, 당업자는 이들 특징이 다른 프로그램 모듈과 함께 구현될 수도 있음을 알 수 있을 것이다.
일반적으로, 프로그램 모듈은 루틴, 프로그램, 컴포넌트, 데이터 구조 및 특정한 작업을 수행하거나 특정한 추상 데이터 유형을 구현하는 다른 유형의 구조를 포함한다. 또한, 당업자는 실시예들이, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능 가전, 미니컴퓨터, 메인프레임 컴퓨터 및 이에 상당하는 컴퓨팅 장치를 포함하는 다른 컴퓨터 시스템 구성으로 실시될 수 있음을 알 수 있을 것이다. 실시예들은 또한 통신망을 통해 연결되는 원격 처리 장치에 의해 작업이 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치할 수 있다.
실시예들은 컴퓨터로 구현된 프로세스(방법), 컴퓨팅 시스템, 또는 컴퓨터 프로그램 제품이나 컴퓨터 판독가능 매체와 같은 제품으로서 구현될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독가능하며 컴퓨터나 컴퓨팅 시스템으로 하여금 예시적인 프로세스를 수행하게 하는 명령어를 포함하는 컴퓨터 프로그램을 인코딩하는 컴퓨터 저장 매체일 수 있다. 컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 메모리 장치이다. 컴퓨터 판독가능 저장 매체는, 예컨대, 휘발성 컴퓨터 메모리, 비휘발성 메모리, 하드 드라이브 및 플래시 드라이브 중 하나 이상을 통해 구현될 수 있다.
본 명세서에서, "플랫폼"이란 용어는 북마클릿을 지속적으로 인가하기 위한 소프트웨어 및 하드웨어 컴포넌트의 조합일 수 있다. 플랫폼의 예로는, 복수의 서버에 걸쳐 실행되는 호스트된 서비스, 단일 컴퓨팅 장치에서 실행되는 애플리케이션, 및 이에 상당하는 시스템을 들 수 있다. "서버"라는 용어는 일반적으로 네트워킹된 환경에서 통상적으로 하나 이상의 소프트웨어 프로그램을 실행하는 컴퓨팅 장치를 지칭한다. 그러나, 서버는, 네트워크 상에서 서버로서 보여지는 하나 이상의 컴퓨팅 장치에서 실행되는 가상 서버(소프트웨어 프로그램)로서 구현될 수도 있다. 이들 기술과 실시예에 대한 보다 자세한 사항은 이하에서 설명할 것이다.
도 1은 일부 실시예에 따른, 북마클릿을 활성화하고 인가하는 버튼과 같은 북마클릿 컨트롤을 갖는 브라우저 애플리케이션을 도시한 것이다. 다이어그램(100)은 태블릿 장치 및 브라우저 애플리케이션을 지속적 북마클릿 인가에 대한 예시적인 환경으로서 보여주지만, 실시예들은 임의의 컴퓨팅 환경 및 북마클릿 기능의 사용을 허용하는 임의의 클라이언트 애플리케이션으로 구현될 수 있다.
일부 실시예에 따르면, 클라이언트 장치(104)에서 실행되는 브라우저(108)가 서버(106)와 같은 서드 파티 제공자로부터 콘텐츠를 수신할 수 있다. 서버(106)는, 문서, 웹 페이지, 비디오, 오디오, 및 클라이언트 장치에서 실행되는 하나 이상의 애플리케이션 또는 다른 서버에 의해 제공된 서비스가 소비하는 이와 유사한 미디어와 같은 콘텐츠를 제공할 수 있다. 예시적인 시나리오에서, 클라이언트 장치(104)에서 디스플레이된 웹 페이지는 텍스트, 그래픽, 오디오 및/또는 비디오 콘텐츠를 포함할 수 있다.
여러 기능 중에서도 검색을 수행하는 것, 번역을 제공하는 것, 맵핑 기능, 콘텐츠 캡처와 같은 디스플레이된 콘텐츠와 연관된 특정 기능을 허용하는 다양한 북마클릿이 제공될 수 있다. 북마클릿은 브라우저 상의 버튼(112)과 같은 특정한 컨트롤 또는 드롭다운 메뉴, 특정 동작의 실행(예컨대, 디스플레이된 콘텐츠의 일부분의 선택) 등과 같은 다른 방법을 통해 활성화될 수 있다.
예시적인 시나리오에서, 사용자(102)는 브라우저(108)에 의해 디스플레이된 콘텐츠(110)의 일부분을 선택할 수 있다. 콘텐츠(110)의 일부분은 북마클릿("클리퍼(clipper)"라고도 함)에 의해 클립으로서 캡처되어 저장되고 다양한 목적을 위해 사용될 수 있다. 북마클릿이 브라우저(108)에 의해 렌더링된 콘텐츠(110)의 부분을 캡처함에 따라 콘텐츠(110)의 부분과 연관된 실행가능 콘텐츠가 또한 캡처될 수 있다. 브라우저에 의해 디스플레이된 콘텐츠가 다양한 소스에서 나올 수 있으므로 실행가능 콘텐츠는 악의적 스크립트의 실행과 연관된 보안 리스크를 나타낼 수 있다.
실시예들은 북마클릿에 의해 악의적 콘텐츠의 캡처 및 실행을 막을 수 있다. 예컨대 쿠키로서 저장된 북마클릿 식별자가 사용자를 인증하고 북마클릿을 인가하는 조합 프로세스에서 사용되어, 북마클릿이 재인가 없이 동일한 클라이언트 장치에서 반복적으로 사용될 수 있다.
실시예들은 북마클릿 식별자를 통한 북마클릿의 인가 및 인증 스킴에 한정되지 않는다. 본 명세서에 기술된 원리를 이용하여 지속적으로 북마클릿을 인가하기 위한 다른 메커니즘을 사용할 수도 있다. 이와 달리 북마클릿을 인가하기 위해 쿠키 기반 메커니즘이 사용될 수도 있다. 쿠키는 신뢰할 수 있는 사용자 계정 데이터 저장부 내의 저장된 사용자 계정에 대해 검정되는 사용자 계정과 연관될 수 있다. 쿠키는 북마클릿을 인가하고 동일한 클라이언트 장치에서의 지속적 사용을 허가하는데 사용될 수 있다.
도 2는 본 명세서에 기술된 일부 실시예에 따른, 브라우저 애플리케이션 사용자 인터페이스 상의 북마클릿 버튼을 통해 사용자의 인증 후에 북마클릿을 인가하는 예를 도시한 도시한 것이다.
다이어그램(200)에 도시된 바와 같이, 브라우저 애플리케이션(202)은 버튼(204)과 같은 전용 컨트롤을 통해 활성화될 수 있는 하나 이상의 북마클릿을 제공할 수 있다. 북마클릿은 저장 또는 소비할 콘텐츠 부분의 캡처와 같은 디스플레이된 콘텐츠(206)와 연관된 다양한 기능을 제공할 수 있다. 콘텐츠의 일부분과 함께 북마클릿에 의해 캡처될 수 있는 악의적 실행파일과 연관된 보안 문제를 방지하기 위해, 북마클릿은 북마클릿 식별자를 사용하여 사용자 인증 및 북마클릿 인가 프로세스를 통해 지속적으로 인가될 수 있다.
다이어그램(200)에 도시된 바와 같이, 사용자는 디스플레이된 콘텐츠(206)와 연관된 동작을 수행하기 위해 버튼(204)을 통해 북마클릿을 활성화할 수 있다. 이것이 북마클릿의 첫 번째 활성화이면, 인증 사용자 인터페이스(208)가 사용자 인증을 위해 사용자에게 디스플레이될 수 있다. 사용자가 자신을 인증하면, 북마클릿 식별자가 생성되거나 또는 로컬 저장소에서 검색되고 프로세스의 다음 단계로 진행하는데, 여기서 북마클릿을 활성화하려는 사용자 의도를 확인하기 위해 인증 사용자 인터페이스(210)가 디스플레이될 수 있다. 사용자가 긍정적으로 응답하면, 예컨대, 쿠키(212) 형태의 북마클릿 식별자를 사용하여 북마클릿의 인가를 지속할 수 있다. 따라서, 첫 번째 사용 후에, 사용자는 브라우저 애플리케이션(202)의 동일한 인스턴스 또는 다른 인스턴스에서 이 북마클릿을 활성화하고 반복적으로 사용할 수 있다.
북마클릿의 인가의 지속성은 멀웨어에 대한 추가적인 보안을 제공하기 위해 무한하거나, 지정한 기간 동안이거나, 랜덤한 기간 동안이거나, 또는 사용 횟수 동안일 수 있다. 일부 실시예에 따르면, 사용자의 인증은 사용자 이름, 패스워드, 생체 식별자, 보안 토큰, 및 사용자를 인증하기 위한 이와 유사한 것들을 포함하는 사용자 크리덴셜의 캡처와 같은 많은 형태를 취할 수 있다. 신뢰할 수 있는 사용자 계정 데이터 저장부 내의 저장된 사용자 크리덴셜(또는 계정)에 대해 사용자를 검증하는 것에 응답하여, 사용자 계정은 북마클릿을 인가하기 위한 북마클릿 식별자와 연관될 수 있다. 일부 예에서, 북마클릿은 콘텐츠 내에 잠재적으로 매립된 악의적인 스크립트의 실행을 방지하기 위해 프레임의 렌더링을 허용하지 않는 릴레이 페이지(relay page) 내에서 처리될 수 있다.
북마클릿 식별자는 북마클릿의 스크립트 코드 내에 변수로서 저장될 수 있다. 북마클릿은 비밀(secret)로서 저장될 수 있다. 북마클릿 식별자는 콘텐츠를 호스트하는 서드 파티 제공자로부터 비밀로서 저장될 수 있다.
일부 예에서, 북마클릿이 인가된 상태가 없다고 판정되면, 사용자(제1 사용자)를 인증하기 위해 인증 사용자 인터페이스(UI)가 프리젠트될 수 있다. 인가 후에, 북마클릿의 인가 상태는 식별자(예컨대, 쿠키(212))에 기초하여 판정될 수 있고 북마클릿은 브라우저 애플리케이션(202)에 의해 활성화되도록 허용될 수 있다.
북마클릿을 인가하는데 사용된 사용자 계정 및 북마클릿 식별자는, 예컨대, 신뢰할 수 있는 클라우드 저장부에 저장될 수 있다. 또는, 북마클릿 및 사용자 정보는 브라우저 애플리케이션 내의 쿠키로서 저장될 수 있다.
도 3은 본 명세서에 기술된 일부 실시예에 따른, 브라우저 애플리케이션 사용자 인터페이스 상의 디스플레이된 콘텐츠의 일부분의 선택을 통해 사용자의 인증 후에 콘텐츠 관련 북마클릿을 인가하는 예를 도시한 것이다.
다이어그램(300)은 도 2에서 논의한 프로세스와 유사한 북마클릿의 인가를 도시한 것이다. 다이어그램(300)에 도시된 예시적인 시나리오는 웹 페이지 상의 선택된 콘텐츠를 캡처하고 캡처된 콘텐츠의 저장 또는 기타 사용을 가능하게 할 수 있는 클리퍼 북마클릿을 포함할 수 있다. 브라우저(302) 상의 전용 컨트롤에 의해 활성화되는 대신에, 북마클릿은 디스플레이된 콘텐츠(306)의 일부분의 선택(314) 검출 시에 디스플레이될 수 있는 동작들의 메뉴(316)를 통해 활성화될 수 있다. 동작들의 메뉴(316) 상의 선택가능한 아이템들 중 하나는 클리퍼 활성화(318)일 수 있다.
클리퍼 활성화(318)의 선택 시에, 사용자 인증 사용자 인터페이스(308)가 디스플레이될 수 있다. 사용자의 인증 후에, 인가 사용자 인터페이스(310)가 디스플레이되고, 예컨대, 브라우저(302)에서 저장된 쿠키의 형태의 숫자 또는 문자숫자일 수 있는 클리퍼 식별자를 통해 클리퍼의 인가가 지속될 수 있다. 클리퍼 식별자는 활성화시에 생성될 수도 있고, 사전에 할당된 식별자가 사용될 수도 있다. 후자의 경우에, 식별자는 신뢰할 수 있는 서드 파티, 콘텐츠 제공자, 또는 북마클릿 (클리퍼) 소스에 의해 생성될 수 있다.
도 1 내지 3에 도시된 예시적인 애플리케이션, 장치, 및 모듈은 단지 예시를 위해 제공된 것이다. 실시예들은 예시적인 다이어그램에 도시된 북마클릿의 지속 인가에 제한되지 않고, 본 명세서에 기술된 원리를 이용하는 다른 엔진, 클라이언트 애플리케이션, 서비스 제공자, 및 모듈을 사용하여 구현될 수도 있다.
도 4는 실시예들에 따른 시스템이 구현될 수 있는 네트워킹된 환경이다. 로컬로 설치된 애플리케이션에 더하여, 하나 이상의 서버(406) 또는 개별 서버(408)를 통해 실행되는 소프트웨어를 통해 구현될 수 있는 호스트된 애플리케이션 및 서비스와 함께 브라우저 애플리케이션이 이용될 수 있다. 호스트된 서비스 또는 애플리케이션은 네트워크(410)를 통해 핸드헬드 컴퓨터, 데스크탑 컴퓨터(401), 랩탑 컴퓨터(402), 스마트 폰(403), 태블릿 컴퓨터(또는 슬레이트), ('클라이언트 장치')와 같은 개별 컴퓨팅 장치 상의 클라이언트 애플리케이션과 통신하고 사용자에게 프리젠트된 사용자 인터페이스를 제어할 수 있다.
클라이언트 장치(401-403)는 호스트된 서비스 또는 애플리케이션에 의해 제공된 기능에 액세스하는데 사용된다. 하나 이상의 서버(406) 또는 서버(408)는 북마클릿을 지속적으로 인가하는데 사용될 수 있다. 관련 데이터는 하나 이상의 데이터 저장소(예컨대, 데이터 저장소(409))에 저장될 수 있는데, 이는 서버(406) 또는 데이터베이스 서버(414)에 의해 관리될 수 있다.
네트워크(410)는 서버, 클라이언트, 인터넷 서비스 제공자 및 통신 매체의 임의의 토폴로지를 포함할 수 있다. 실시예들에 따른 시스템은 정적 또는 동적 토폴로지를 가질 수 있다. 네트워크(410)는 기업 네트워크와 같은 보안 네트워크, 무선 개방 네트워크와 같은 비보안 네트워크(unsecure network), 또는 인터넷을 포함할 수 있다. 네트워크(410)는 또한 PSTN(Public Switched Telephone Network) 또는 셀룰러 네트워크와 같은 다른 네트워크를 통해 통신을 조정할 수도 있다. 네트워크(410)는 본 명세서에 기술된 노드들 사이의 통신을 제공한다. 예컨대, 네트워크(410)는 음향, RF, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함할 수 있다.
지속적인 방식으로 북마클릿을 인가하기 위해 컴퓨팅 장치, 애플리케이션, 데이터 소스, 및 데이터 분산 시스템의 많은 다른 구성이 이용될 수 있다. 또한, 도 4에 논의된 네트워킹된 환경은 단지 예를 들기 위한 것이다. 실시예들은 예시적인 애플리케이션, 모듈, 또는 프로세스에 한정되지 않는다.
도 5 및 관련 논의는 실시예들이 구현될 수 있는 적절한 컴퓨팅 환경에 대한 간략한 일반적인 설명을 제공하기 위한 것이다. 도 5를 참고하면, 컴퓨팅 장치(500)와 같은, 실시예들에 따른 애플리케이션에 대한 예시적인 컴퓨팅 동작 환경의 블록도가 도시되어 있다. 기본 구성에서, 컴퓨팅 장치(500)는 도 1 내지 3과 관련하여 논의한 예시적인 장치와 같은 정지(stationary), 모바일 또는 다른 형태의 임의의 터치 및/또는 제스처 이용가능한 장치일 수 있고 적어도 하나의 프로세싱 유닛(502) 및 시스템 메모리(504)를 포함할 수 있다. 컴퓨팅 장치(500)는 또한 프로그램 실행에 협업하는 복수의 프로세싱 유닛을 포함할 수 있다. 컴퓨팅 장치의 정확한 구성 및 유형에 따라서, 시스템 메모리(504)는 휘발성(예컨대, RAM), 비휘발성(예컨대, ROM, 플래시 메모리 등) 또는 이 둘의 일부 조합일 수 있다. 시스템 메모리(504)는 통상적으로, 워싱턴 레드몬드에 위치한 마이크로소프트사의 WINDOWS®, WINDOWS MOBILE® 또는 WINDOWS PHONE® 운영 체제와 같은 플랫폼의 운영을 제어하는데 적합한 운영 체제(506)를 포함한다. 시스템 메모리(504)는 또한 애플리케이션(522) 및 북마클릿 모듈(524)과 같은 하나 이상의 소프트웨어 애플리케이션을 포함할 수 있다.
북마클릿 모듈(524)(스크립트)은 운영 체제(506) 또는 애플리케이션(522)과 함께 동작하여 애플리케이션(522)(예컨대, 브라우저 애플리케이션)에 의해 전달된 콘텐츠와 연관된 북마클릿 기능을 제공할 수 있다. 북마클릿은 첫 번째 활성화 시에 사용자의 인증을 통해 인가될 수 있고 동일한 머신에서 재인가없이 사용되도록 허용될 수 있다. 이 기본 구성은 도 5에 점선(508) 내의 컴포넌트들로 도시되어 있다.
컴퓨팅 장치(500)는 부가적인 특징 또는 기능을 가질 수 있다. 예를 들어, 컴퓨팅 장치(500)는 또한, 예컨대 자기 디스크, 광 디스크, 또는 테이프와 같은 부가적인 데이터 저장 장치(착탈식 및/또는 비착탈식)를 포함할 수 있다. 이러한 부가적인 저장부는 도 5에 착탈식 저장부(509) 및 비착탈식 저장부(510)로 도시되어 있다. 컴퓨터 판독 가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 기타 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체를 포함할 수 있다. 시스템 메모리(504), 착탈식 저장부(509) 및 비착탈식 저장부(510)는 모두 컴퓨터 판독가능 저장 매체의 예들이다. 컴퓨터 판독가능 저장 매체는, RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광학 저장부, 자기 카세트, 자기 테이프, 자기 디스크 저장부 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨팅 시스템(500)에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있지만, 이들로 한정되지는 않는다. 임의의 그러한 컴퓨터 판독가능 저장 매체는 컴퓨팅 장치(500)의 일부일 수 있다. 컴퓨팅 장치(500)는 또한 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치, 제스처를 검출하기 위한 광학 캡처 장치 등과 같은 입력 장치(512)를 가질 수 있다. 디스플레이, 스피커, 프린터 및 다른 유형의 출력 장치와 같은 출력 장치(514)가 포함될 수도 있다. 이들 장치는 모두 당해 기술분야에 공지되어 있으므로 여기서 길게 논의할 필요는 없을 것이다.
컴퓨팅 장치(500)는 장치가, 예컨대 분산 컴퓨팅 환경에서의 유선 또는 무선 네트워크, 위성 링크, 셀룰러 링크 및 이와 유사한 메커니즘을 통해 다른 장치(518)와 통신할 수 있게 하는 통신 연결부(516)를 포함할 수 있다. 다른 장치(518)는 통신 애플리케이션을 실행하는 컴퓨터 장치, 기타 디렉토리 또는 정책 서버 및 이와 유사한 장치를 포함할 수 있다. 통신 연결부(516)는 통신 매체의 일례이다. 통신 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 임의의 정보 전달 매체를 포함한 다른 전송 메커니즘과 같은 변조된 데이터 신호 내의 다른 데이터를 포함할 수 있다. "변조된 데이터 신호"란 용어는 정보를 신호 내에 인코딩하는 것과 같은 방식으로 설정 또는 변경된 하나 이상의 특징을 갖는 신호를 의미한다. 예를 들어, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향, RF, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함한다.
예시적인 구현예들은 또한 방법을 포함한다. 이들 방법은 본 명세서에 기술된 구조를 포함하는 임의의 수의 방법으로 구현될 수 있다. 한가지 그러한 방법은 본 명세서에 기술된 유형의 장치의 기계 동작에 의한 것이다.
다른 선택적 방법은 방법의 개별 동작들 중 하나 이상이 수행되고 하나 이상의 인간 조작자가 그 일부를 수행하는 것이다. 이들 인간 조작자는 서로 협업할 필요가 없고, 각자가 프로그램의 일부를 수행하는 머신과 협업하기만 하면 된다.
도 6은 실시예들에 따른, 북마클릿을 지속적으로 인가하는 프로세스의 논리적 흐름도이다. 프로세스(600)는 브라우저 애플리케이션 또는 운영 체제의 일부로서 구현될 수 있다.
프로세스(600)는 "북마클릿 기능에 대한 활성화 요청 수신" 동작(610)에서 시작하며, 여기서, 예컨대 전용 컨트롤의 활성화 또는 디스플레이된 콘텐츠의 일부분의 선택을 통해 북마클릿이 처음으로 활성화될 수 있다.
동작(610) 다음에 "사용자 인증" 동작(620)이 이어지며, 여기서 다양한 방법으로 사용자가 인증될 수 있다. 인증은 북마클릿 식별자와 연관될 수 있다.
동작(620) 다음에 "북마클릿 ID로 북마클릿 인가" 동작(630)이 이어지며, 여기서 컴퓨팅 장치의 인가된 사용자에 대해 북마클릿이 인가되고 북마클릿 기능 사용이 허용된다.
동작(630) 다음에 "북마클릿 ID를 사용하여 지속할 북마클릿 기능 허용" 동작(640)이 이어지며, 여기서 북마클릿의 인가가 지속될 수 있다.
북마클릿이 (동일 머신 상의)브라우저의 동일한 인스턴스 또는 상이한 인스턴스에서 무기한적으로, 지정한 기간 동안, 랜덤하게 선택된 기간 동안, 또는 지정된 사용 횟수 동안 사용될 수 있도록 북마클릿의 인가가 지속될 수 있다.
프로세스(600)에 포함된 동작은 예를 들기 위한 것이다. 실시예들에 따른, 북마클릿의 지속적인 인가는 보다 적거나 또는 추가적인 단계를 갖는 유사한 프로세스에 의해 본 명세서에 기술한 원리를 사용하는 동작들과 다른 순서로 구현될 수도 있다.
이상의 설명, 예들 및 데이터는 실시예들의 구성의 사용 및 제조의 완벽한 설명을 제공한다. 첨부된 청구항들에 정의된 청구대상은 구조적인 특징 및/또는 방법적 동작에 특유한 언어로 청구대상이 기술되어 있지만, 반드시 전술한 특정한 특징이나 동작으로 제한되지는 않음을 이해해야 한다. 오히려, 전술한 특정한 특징 및 동작은 청구항 및 실시예들을 구현하는 예시적인 형태로서 개시되어 있다.

Claims (15)

  1. 컴퓨팅 장치에 의해 적어도 부분적으로 실행되는, 북마클릿(bookmarklet)을 지속적으로 인가하는 방법으로서,
    상기 북마클릿을 호스트하는 브라우저 애플리케이션의 사용자 인터페이스 -상기 사용자 인터페이스는 사용자가 상기 북마클릿의 활성화를 요청할 수 있게 함- 를 통해 하나 이상의 전용 컨트롤을 제공하는 단계와,
    상기 북마클릿에 대한 상기 활성화 요청을 수신하는 단계와,
    상기 사용자에게 제공된 인증 사용자 인터페이스를 통해 상기 요청을 보낸 상기 사용자를 인증하는 단계와,
    상기 인증에 기초하여, 북마클릿 기능이 재인가없이 반복 사용될 수 있게 제공되도록, 상기 사용자에게 제공된 인가 사용자 인터페이스를 통해 상기 북마클릿을 인가하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 북마클릿에 대한 상기 활성화 요청을 수신하는 단계는 상기 북마클릿을 호스트하는 상기 브라우저 애플리케이션의 사용자 인터페이스에서 상기 하나 이상의 전용 컨트롤의 활성화를 검출하는 단계를 포함하는
    방법.
  3. 제1항에 있어서,
    상기 북마클릿에 대한 상기 활성화 요청을 수신하는 단계는
    상기 북마클릿을 호스트하는 상기 브라우저 애플리케이션의 사용자 인터페이스에서 디스플레이된 콘텐츠의 일부분의 선택을 검출하는 단계와,
    상기 북마클릿의 인가 시에 상기 디스플레이된 콘텐츠의 상기 부분의 캡처를 가능하게 하는 단계
    를 포함하는 방법.
  4. 제1항에 있어서,
    북마클릿 식별자를 이용하여 상기 북마클릿의 인가를 지속하는 단계를 더 포함하는
    방법.
  5. 제4항에 있어서,
    상기 북마클릿 식별자를 상기 북마클릿의 스크립트 컴포넌트 내에 변수로서 저장하는 단계를 더 포함하는
    방법.
  6. 제4항에 있어서,
    상기 북마클릿 식별자를 비밀(secret)로서 저장하는 단계를 더 포함하는
    방법.
  7. 제4항에 있어서,
    상기 북마클릿 식별자를 클라우드에 저장하는 단계와,
    상기 북마클릿의 후속 활성화를 위해 상기 저장된 식별자의 검사(look-up)를 가능하게 하는 단계
    를 더 포함하는 방법.
  8. 제1항에 있어서,
    상기 사용자의 인증된 상태를 나타내는 제1 쿠키 및 상기 북마클릿의 인가된 상태를 나타내는 제2 쿠키를 이용하는 단계를 더 포함하는
    방법.
  9. 제1항에 있어서,
    상기 사용자를 인증하는 단계는, 사용자 이름, 패스워드, 생체 식별자, 및 신뢰할 수 있는 사용자 데이터 저장부 내의 저장된 사용자에 대해 상기 사용자를 검증하는 보안 토큰으로 이루어진 집합 중 하나 이상을 포함하는 하나 이상의 사용자 크리덴셜을 캡처하는 단계를 포함하는
    방법.
  10. 제1항에 있어서,
    상기 인증 사용자 인터페이스 및 상기 인가 사용자 인터페이스는 틀에 넣을 수 없는(not frameable)
    방법.
  11. 북마클릿을 지속적으로 인가하는 컴퓨팅 장치로서,
    메모리와,
    상기 메모리에 연결되어 있으며, 하나 이상의 북마클릿을 포함하는 애플리케이션을 실행하는 프로세서
    를 포함하되, 상기 애플리케이션은
    상기 북마클릿을 호스트하는 브라우저 애플리케이션의 사용자 인터페이스 -상기 사용자 인터페이스는 사용자가 상기 북마클릿의 활성화를 요청할 수 있게 함- 를 통해 하나 이상의 전용 컨트롤을 제공하고,
    상기 북마클릿에 대한 상기 활성화 요청을 수신하며,
    상기 사용자에게 제공된 인증 사용자 인터페이스를 통해 상기 요청을 보내는 사용자를 인증하고,
    상기 인증에 기초하여, 북마클릿 기능이 재인가없이 반복 사용될 수 있게 제공되도록, 상기 사용자에게 제공된 인가 사용자 인터페이스를 통해 상기 북마클릿을 인가
    하도록 구성되는 컴퓨팅 장치.
  12. 제11항에 있어서,
    상기 북마클릿의 인가는 상기 애플리케이션의 동일 인스턴스 또는 상기 동일한 컴퓨팅 장치 상의 상기 애플리케이션의 상이한 인스턴스에 대해 지속되는
    컴퓨팅 장치.
  13. 제11항에 있어서,
    인가 시에 북마클릿 식별자가 생성되는
    컴퓨팅 장치.
  14. 제11항에 있어서,
    북마클릿 식별자가 상기 북마클릿과 함께 상기 애플리케이션에 다운로드되는
    컴퓨팅 장치.
  15. 북마클릿을 지속적으로 인가하는 명령어가 저장되어 있는 컴퓨터 판독가능 메모리 장치로서,
    상기 명령어는
    상기 북마클릿을 호스트하는 브라우저 애플리케이션의 사용자 인터페이스 -상기 사용자 인터페이스는 사용자가 상기 북마클릿의 활성화를 요청할 수 있게 함- 를 통해 하나 이상의 전용 컨트롤을 제공하는 것과,
    상기 하나 이상의 전용 컨트롤의 활성화 및 상기 북마클릿을 호스트하는 상기 브라우저 애플리케이션의 상기 사용자 인터페이스 상의 디스플레이된 콘텐츠의 일부분의 선택 중 하나를 선택하는 것에 의해, 상기 북마클릿에 대한 상기 활성화 요청을 수신하는 것과,
    상기 사용자에게 제공된 인증 사용자 인터페이스를 통해 상기 요청을 보내는 상기 사용자를 인증하는 것과,
    상기 인증에 기초하여, 북마클릿 기능이 재인가없이 반복 사용될 수 있게 제공되도록, 상기 사용자에게 제공된 인가 사용자 인터페이스를 통해 상기 북마클릿을 인가하는 것
    을 포함하는 컴퓨터 판독가능 메모리 장치.
KR1020167025591A 2014-03-17 2015-03-12 지속적 북마클릿 인가 기법 KR20160135207A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/216,603 2014-03-17
US14/216,603 US20150264025A1 (en) 2014-03-17 2014-03-17 Persistent bookmarklet authorization
PCT/US2015/020052 WO2015142597A1 (en) 2014-03-17 2015-03-12 Persistent bookmarklet authorization

Publications (1)

Publication Number Publication Date
KR20160135207A true KR20160135207A (ko) 2016-11-25

Family

ID=52774574

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167025591A KR20160135207A (ko) 2014-03-17 2015-03-12 지속적 북마클릿 인가 기법

Country Status (10)

Country Link
US (1) US20150264025A1 (ko)
EP (1) EP3120264A1 (ko)
JP (1) JP2017516191A (ko)
KR (1) KR20160135207A (ko)
CN (1) CN106133720A (ko)
AU (1) AU2015231830A1 (ko)
CA (1) CA2939958A1 (ko)
MX (1) MX2016011668A (ko)
RU (1) RU2016136984A (ko)
WO (1) WO2015142597A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108470126B (zh) * 2018-03-19 2020-05-01 腾讯科技(深圳)有限公司 数据处理方法、装置及存储介质
US11113040B2 (en) * 2018-07-18 2021-09-07 Verizon Patent And Licensing Inc. Systems and methods for orchestration and automated input handling of interactions received via a user interface
CN112307443B (zh) * 2020-12-29 2021-03-19 畅捷通信息技术股份有限公司 产品激活方法、装置、系统、存储介质及计算设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438600B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Securely sharing log-in credentials among trusted browser-based applications
US20040059941A1 (en) * 2002-09-19 2004-03-25 Myfamily.Com, Inc. Systems and methods for identifying users and providing access to information in a network environment
US8438382B2 (en) * 2008-08-06 2013-05-07 Symantec Corporation Credential management system and method
US9442783B2 (en) * 2010-06-25 2016-09-13 Salesforce.Com, Inc. Methods and systems for providing security for page framing

Also Published As

Publication number Publication date
CA2939958A1 (en) 2015-09-24
CN106133720A (zh) 2016-11-16
MX2016011668A (es) 2016-10-31
EP3120264A1 (en) 2017-01-25
RU2016136984A (ru) 2018-03-20
JP2017516191A (ja) 2017-06-15
AU2015231830A1 (en) 2016-09-08
US20150264025A1 (en) 2015-09-17
WO2015142597A1 (en) 2015-09-24

Similar Documents

Publication Publication Date Title
US11658979B2 (en) Systems and methods for efficient and secure temporary anonymous access to media content
JP6367883B2 (ja) ウェブページを通してローカルアプリケーションを制御するシステム及び方法
US10389698B1 (en) Technique for facilitating auto login to a website
US11126749B2 (en) Apparatus and method for securing web application server source code
US20180054432A1 (en) Protection feature for data stored at storage service
US9230238B2 (en) Favorites list sharing
US9015820B1 (en) Cross site request forgery mitigation in multi-domain integrations
US20060294196A1 (en) Method and system for storing a web browser application session cookie from another client application program
US10616209B2 (en) Preventing inter-application message hijacking
KR20210112359A (ko) 브라우저 쿠키 보안
KR20160135207A (ko) 지속적 북마클릿 인가 기법
CN112836186A (zh) 一种页面控制方法及装置
CN107294920B (zh) 一种反向信任登录方法和装置
CN118202350A (zh) 检测并防止跨站点请求伪造缓解特征的不一致使用
US20210006634A1 (en) Secure and private web browsing system and method
AU2013237707A1 (en) Prevention of forgery of web requests to a server
US20150261733A1 (en) Asset collection service through capture of content
Kapiton et al. COMBINED METHOD FOR PROTECTING USER PRIVACY WHEN USING A WEB BROWSER
Gleeson et al. Taking the “Arg” out of Jargon: What We Talk About When We Talk About Coding
Lam et al. Cross-Site Scripting (XSS)