KR20160145481A - 보안 페이지 실행 방법 및 이를 수행하는 단말 - Google Patents

보안 페이지 실행 방법 및 이를 수행하는 단말 Download PDF

Info

Publication number
KR20160145481A
KR20160145481A KR1020160041610A KR20160041610A KR20160145481A KR 20160145481 A KR20160145481 A KR 20160145481A KR 1020160041610 A KR1020160041610 A KR 1020160041610A KR 20160041610 A KR20160041610 A KR 20160041610A KR 20160145481 A KR20160145481 A KR 20160145481A
Authority
KR
South Korea
Prior art keywords
security
page
terminal
browser
security policy
Prior art date
Application number
KR1020160041610A
Other languages
English (en)
Other versions
KR101800280B1 (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 KR20160145481A publication Critical patent/KR20160145481A/ko
Application granted granted Critical
Publication of KR101800280B1 publication Critical patent/KR101800280B1/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72445User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
    • H04M1/72561

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Technology Law (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

보안 페이지에 포함된 보안 스크립트를 실행하여 보안 페이지가 실행된 브라우저가 전용 브라우저가 아닌 경우, 전용 브라우저로 전환하여 보안 페이지를 실행함으로써, 전용 브라우저를 이용하여 상기 보안 페이지에 포함된 보안 스크립트에 따라 보안 정책을 처리할 수 있다.
또한, 단말에 복수의 사용자가 접속한 경우, 복수의 사용자에 대응하는 복수의 세션을 이용하여, 세션 별로 보안 정책을 다르게 적용할 수 있다.

Description

보안 페이지 실행 방법 및 이를 수행하는 단말{METHOD FOR EXECUTING SECURITY PAGE AND TERMINAL PERFORMING THE METHOD}
본 발명은 웹 페이지를 보호하는 것에 관한 것으로, 보다 구체적으로는 웹 페이지를 표시하는 단말이 웹 페이지에 설정된 보안 정책을 처리하는 것에 관한 것이다.
웹 페이지를 표시하는 단말은 웹 페이지의 내용을 보호할 수 있다. 예를 들어, 사용자가 특정 웹 페이지의 텍스트를 복사하고자 할 경우, 단말은 사용자의 텍스트를 복사하는 명령에 대응하지 않음으로써, 웹 페이지를 보호할 수 있다.
iOS 또는 Android와 같은 모바일 운영체제가 설치된 단말은 MDM(Mobile Device Management) 방식 또는 MAM(Mobile Application Management) 방식에 따라 웹 페이지의 내용을 보호할 수 있다. MDM 방식을 따르는 단말은 단말의 기능(예를 들어, 카메라, 웹 페이지가 표시된 화면의 캡쳐, 웹 페이지의 복사, 붙여넣기, 다운로드 등)을 어떤 어플리케이션이 단말에서 실행되고 있는지와 관계없이 차단할 수 있다. MAM 방식을 따르는 단말은 단말의 기능을 특정 어플리케이션이 단말에서 실행되고 있는 경우에만 차단할 수 있다. MDM 방식 및 MAM 방식 중 어느 것도 단말의 기능을 웹 페이지에 따라 다르게 제어할 수 없다.
Windows와 같은 컴퓨터 운영체제가 설치된 단말은 단말의 기능을 웹 페이지에 따라 다르게 제어할 수 있다. 또한, Windows가 설치된 단말은 하나의 단말을 복수의 사용자가 사용할 수 있도록 다중 세션(Multi Session) 기능을 지원한다. 단말은 하나의 세션에 하나의 사용자를 대응할 수 있다. 단말은 단말에 접속한 사용자를 추가로 고려하여, 사용자 및 웹 페이지에 따라 단말의 기능을 서로 다르게 제어할 필요가 있다.
본 발명은 단말의 기능을 웹 페이지에 따라 다르게 제어함으로써, 웹 페이지를 보호할 수 있는 보안 페이지 실행 방법을 제안한다.
본 발명은 단말의 기능을 웹 페이지 및 단말에 접속한 사용자에 따라 다르게 제어함으로써, 웹 페이지를 보호할 수 있는 보안 페이지 실행 방법을 제안한다.
본 발명의 일실시예에 따르면, 단말이 수행하는 보안 페이지 실행 방법에 있어서, 브라우저를 통하여 보안 페이지를 실행하는 단계, 상기 보안 페이지가 실행된 브라우저가 상기 보안 페이지에 포함된 보안 스크립트에 따라 보안 정책을 처리하는 전용 브라우저인지 여부를 판단하는 단계, 상기 보안 페이지가 실행된 브라우저가 전용 브라우저가 아닌 경우, 상기 브라우저를 상기 전용 브라우저로 전환하는 단계, 상기 전환된 전용 브라우저를 이용하여 상기 보안 페이지에 포함된 보안 스크립트에 따라 보안 정책을 처리하는 단계를 포함하는 보안 페이지 실행 방법이 제공된다.
일실시예에 따르면, 상기 단말의 종류에 기초하여, 상기 단말이 상기 실행된 보안 페이지의 보안 정책을 지원하는지 여부를 판단하는 단계, 상기 단말이 보안 정책을 지원하는 경우, 상기 보안 정책을 전용 브라우저에 전달하는 명령을 실행하는 단계, 상기 단말에 전용 브라우저가 설치되었는지 여부를 판단하는 단계를 더 포함하고, 상기 전용 브라우저인지 여부를 판단하는 단계는, 상기 전용 브라우저가 단말에 설치된 경우, 상기 보안 페이지가 실행된 브라우저가 전용 브라우저인지 여부를 판단하는 보안 페이지 실행 방법이 제공된다.
일실시예에 따르면, 상기 전용 브라우저가 설치되지 않은 경우, 상기 보안 스크립트에 기초하여, 상기 전용 브라우저에 대한 설치 페이지로 이동하는 단계를 포함하는 보안 페이지 실행 방법이 제공된다.
일실시예에 따르면, 상기 단말이 상기 보안 정책을 지원하지 않는 경우, 상기 보안 페이지가 실행된 상기 브라우저를 통해 열고자 하는 보안 페이지에 대해 오류 처리를 수행하는 단계를 포함하는 보안 페이지 실행 방법이 제공된다.
일실시예에 따르면, 상기 전용 브라우저가 보안 정책을 처리할 수 없는 경우, 상기 전용 브라우저를 통해 열고자 하는 보안 페이지에 대해 오류 처리를 수행하는 단계를 포함하는 보안 페이지 실행 방법이 제공된다.
일실시예에 따르면, 상기 보안 페이지가 실행된 브라우저를 상기 전용 브라우저로 전환하는 경우, 상기 실행된 보안 페이지의 접속 주소를 상기 전용 브라우저에 전달하는 단계를 더 포함하는 보안 페이지 실행 방법이 제공된다.
일실시예에 따르면, 상기 보안 정책을 처리하는 단계는, 트리 계층 구조에 포함된 노드들을 이용하여 상기 실행된 보안 페이지에 대응하는 보안 정책을 탐색하는 단계를 포함하고, 상기 트리 계층 구조는, 미리 설정된 보안 페이지의 URI(Uniform Resource Identifier)에 따라 생성된 보안 페이지 실행 방법이 제공된다.
일실시예에 따르면, 상기 트리 계층 구조는, 상기 미리 설정된 보안 페이지의 URI를 구분자에 따라 복수의 노드들로 구분함으로써 생성되고, 상기 보안 정책은, 상기 미리 설정된 보안 페이지의 URI에 대응하는 복수의 노드들 각각에 저장되는 보안 페이지 실행 방법이 제공된다.
일실시예에 따르면, 상기 보안 정책을 처리하는 단계는, 상기 전환된 전용 브라우저를 통해 실행된 보안 페이지의 URI를 분할하는 단계를 포함하고, 상기 보안 정책을 탐색하는 단계는, 상기 분할된 URI에 대응하는 노드를 이용하여 하위 계층으로부터 상위 계층으로 상기 트리 계층 구조에 포함된 노드를 탐색함으로써, 상기 실행된 보안 페이지에 대응하는 보안 정책을 탐색하는 보안 페이지 실행 방법이 제공된다.
일실시예에 따르면, 상기 보안 정책은, (i) 상기 실행된 보안 페이지에 대한 사용자의 처리를 통제하는 제어 옵션, (ii) 상기 실행된 보안 페이지를 화면에 표현할 때 상기 실행된 보안 페이지의 내용을 변경하여 표현하는 제어 옵션 및 (iii) 상기 실행된 보안 페이지에 대한 사용자의 작업 내역을 보고하는 제어 옵션 중 적어도 하나를 포함하는 보안 페이지 실행 방법이 제공된다.
본 발명의 일실시예에 따르면, 단말이 수행하는 보안 페이지 실행 방법에 있어서, 세션에서, 브라우저를 통하여 보안 페이지를 실행하는 단계, 상기 브라우저가 실행된 세션이 상기 보안 페이지에 포함된 보안 스크립트에 따른 보안 정책을 지원하는지 여부를 판단하는 단계, 상기 세션이 상기 보안 정책을 지원하는 경우, 상기 브라우저를 이용하여 상기 보안 페이지에 포함된 상기 보안 스크립트에 따라 상기 보안 정책을 처리하는 단계를 포함하는 보안 페이지 실행 방법이 제공된다.
일실시예에 따르면, 상기 단말의 종류에 기초하여, 상기 단말이 상기 실행된 보안 페이지의 상기 보안 정책을 지원하는지 여부를 판단하는 단계, 상기 단말이 상기 보안 정책을 지원하는 경우, 상기 보안 정책을 세션에 따라 보안 정책을 관리하는 프로세스에 전달하는 명령을 실행하는 단계, 상기 단말에 상기 프로세스가 실행되었는지 여부를 판단하는 단계를 더 포함하고, 상기 보안 정책을 지원하는지 여부를 판단하는 단계는, 상기 프로세스가 실행된 경우, 상기 세션이 상기 보안 정책을 지원하는지 여부를 판단하는 보안 페이지 실행 방법이 제공된다.
일실시예에 따르면, 상기 프로세스가 실행되지 않은 경우, 상기 보안 스크립트에 기초하여, 상기 프로세스에 대한 설치 페이지로 이동하는 단계를 포함하는 보안 페이지 실행 방법이 제공된다.
일실시예에 따르면, 상기 단말이 상기 보안 정책을 지원하지 않는 경우, 상기 보안 페이지가 실행된 상기 브라우저를 통해 열고자 하는 보안 페이지에 대해 오류 처리를 수행하는 단계를 포함하는 보안 페이지 실행 방법이 제공된다.
일실시예에 따르면, 상기 판단하는 단계는, 상기 세션이 상기 보안 정책을 지원하는지 여부를 이미지 파일을 이용하여 표시하는 보안 페이지 실행 방법이 제공된다.
일실시예에 따르면, 상기 세션이 상기 보안 정책을 처리할 수 없는 경우, 상기 브라우저를 통해 열고자 하는 보안 페이지에 대해 오류 처리를 수행하는 단계를 포함하는 보안 페이지 실행 방법이 제공된다.
일실시예에 따르면, 상기 보안 정책을 처리하는 단계는, 트리 계층 구조에 포함된 노드들을 이용하여 상기 실행된 보안 페이지에 대응하는 보안 정책을 탐색하는 단계를 포함하고, 상기 트리 계층 구조는, 미리 설정된 보안 페이지의 URI(Uniform Resource Identifier)에 따라 생성된 보안 페이지 실행 방법이 제공된다.
본 발명의 일실시예에 따르면, 단말의 기능을 웹 페이지에 따라 다르게 제어함으로써, 웹 페이지를 효과적으로 보호할 수 있다.
본 발명의 일실시예에 따르면, 단말의 기능을 웹 페이지 및 단말에 접속한 사용자에 따라 다르게 제어함으로써, 단말에 접속한 사용자 별로 웹 페이지를 효과적으로 보호할 수 있다.
도 1a 내지 1b는 단말이 일실시예에 따른 보안 페이지 실행 방법을 수행하여 보안 정책을 처리하는 예시적인 도면이다.
도 2는 단말이 일실시예에 따른 보안 페이지 실행 방법을 수행하는 동작을 도시한 흐름도이다.
도 3은 일실시예에 따른 단말이 보안 정책을 탐색하는 동작을 도시한 예시적인 도면이다.
도 4는 일실시예에 따른 단말이 메모리에 저장한 복수의 보안 정책들을 시각적으로 도시한 도면이다.
도 5는 일실시예에 따른 단말이 단말에 접속된 복수의 사용자에게 보안 페이지를 표시하는 예시적인 도면이다.
도 6a 내지 6b는 일실시예에 따른 단말이 복수의 사용자 각각에 대응하는 서로 다른 보안 정책을 처리하는 동작을 도시한 흐름도이다.
도 7은 일실시예에 따른 단말이 메모리에 세션을 고려하여 저장한 복수의 보안 정책들을 시각적으로 도시한 도면이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
보안 정책은 보안 정책에 대응하는 웹 페이지의 내용을 보호하기 위하여, 사용자의 처리를 통제하거나, 웹 페이지의 내용을 변형하거나 또는 사용자의 작업 내역을 보고하는 동작을 제어할 수 있는 제어 옵션들의 묶음이다. 보안 페이지는 보안 정책이 설정된 웹 페이지를 의미한다. 보안 페이지는 보안 정책과 관련된 스크립트 코드의 집합인 보안 스크립트를 포함할 수 있다. 보안 페이지를 읽는 단말은 보안 스크립트를 실행함으로써, 보안 페이지에 대응하는 보안 정책을 식별할 수 있다.
도 1a 내지 1b는 단말(100)이 일실시예에 따른 보안 페이지 실행 방법을 수행하여 보안 정책을 처리하는 예시적인 도면이다. http://www.a.com/b/c.htm는 보안 페이지인 것으로 가정한다. 사용자는 단말(100)에 설치된 브라우저를 통하여 보안 페이지에 접속할 수 있다. 단말(100)에 설치된 브라우저는 Safari, Chrome, FireFox 등 널리 사용중인 브라우저일 수 있다. 사용자는 접속 주소 http://www.a.com/b/c.htm를 상기 브라우저에 입력하여 보안 페이지로 접속할 수 있다. 보안 페이지는 브라우저를 통하여 단말(100)에서 실행될 수 있다. 단말(100)은 브라우저를 통하여 보안 페이지를 실행할 수 있다.
일실시예에 따르면, 단말(100)은 브라우저를 통하여 보안 페이지에 포함된 보안 스크립트를 실행할 수 있다. 보안 스크립트는 보안 페이지가 실행된 브라우저가 상기 보안 페이지에 포함된 보안 스크립트에 따라 보안 정책을 처리하는 전용 브라우저인지 판단하는 스크립트 코드를 포함할 수 있다. 단말(100)은 전용 브라우저를 통하여 상기 스크립트 코드를 실행함으로써, 보안 페이지에 설정된 보안 정책을 처리할 수 있다.
보안 페이지가 실행된 브라우저가 전용 브라우저가 아닌 일반 브라우저인 경우, 단말(100)은 보안 페이지의 보안 정책을 처리하지 못할 수 있다. 단말(100)이 보안 정책을 처리하지 못할 경우, 보안 페이지의 내용이 보호될 수 없다. 일실시예에 따른 보안 페이지 실행 방법을 수행하는 단말(100)은 보안 페이지의 내용을 보호하기 위하여, 보안 페이지를 일반 브라우저가 아닌 전용 브라우저에서 실행되도록 브라우저를 전환할 수 있다.
일례로, 도 1a를 참고하면, 단말(100)은 일반 브라우저를 통하여 보안 페이지를 실행하는 경우, 보안 페이지를 열 수 없다는 내용의 오류 메시지를 사용자에게 출력할 수 있다. 오류 메시지가 출력된 다음, 단말(100)은 전용 브라우저를 통하여 보안 페이지를 실행할 수 있다.
더 나아가서, 일실시예에 따른 보안 페이지 실행 방법을 수행하는 단말(100)은 보안 페이지의 내용이 일반 브라우저를 통하여 노출되지 않도록 오류 처리를 수행할 수 있다.
도 1a를 참고하면, 단말(100)은 보안 페이지가 일반 브라우저를 통하여 실행되는 경우, 페이지를 열 수 없다는 메시지를 사용자에게 출력할 수 있다. 단말(100)은 보안 정책을 지원하지 않는 경우, 보안 페이지가 실행된 일반 브라우저 또는 보안 브라우저를 통하여 페이지를 열 수 없다는 메시지를 사용자에게 출력할 수 있다. 단말(100)은 보안 정책을 지원하지만 보안 브라우저가 설치되지 않은 경우, 사용자가 보안 브라우저를 설치할 수 있도록 전용 브라우저에 대한 설치 페이지로 이동할 수 있다.
일실시예에 따른 보안 페이지 실행 방법을 수행하는 단말(100)은 보안 페이지가 실행된 브라우저를 전용 브라우저로 전환한 다음, 전용 브라우저를 통하여 보안 페이지를 실행할 수 있다. 도 1b를 참고하면, 단말(100)은 전용 브라우저를 통하여 보안 페이지의 내용을 사용자에게 출력할 수 있다. 따라서, 사용자는 전용 브라우저를 통해서만 보안 페이지의 내용에 접근할 수 있다.
일실시예에 따르면, 단말(100)은 전용 브라우저를 통하여 보안 페이지에 대응하는 보안 정책을 처리할 수 있다. 단말(100)은 전용 브라우저를 이용하여, 상기 보안 페이지에 포함된 보안 스크립트에 따른 보안 정책을 처리할 수 있다. 일실시예에 따르면, 단말(100)은 내부의 메모리에 보안 정책을 저장할 수 있다. 단말(100)은 복수의 보안 페이지에 대응하는 복수의 보안 정책을 트리 계층 구조로 관리할 수 있다. 더 나아가서, 단말(100)은 보안 페이지의 접속 주소를 이용하여 트리 계층 구조를 탐색함으로써, 실행된 보안 페이지에 대응하는 보안 정책을 탐색할 수 있다. 단말(100)은 탐색된 보안 정책에 기초하여, 보안 페이지에 대응하는 보안 정책을 처리할 수 있다.
보안 정책은 하나 이상의 제어 옵션을 포함할 수 있으며, 제어 옵션은 (i) 실행된 보안 페이지에 대한 사용자의 처리를 통제하는 제어 옵션, (ii) 실행된 보안 페이지를 화면에 표현할 때 실행된 보안 페이지의 내용을 변경하여 표현하는 제어 옵션, (iii) 실행된 보안 페이지에 대한 사용자의 작업 내역을 보고하는 제어 옵션 및 (iv) 단말(100)에 설치된 운영 체제의 상태에 따라 실행된 보안 페이지를 출력하는 것을 차단하는 제어 옵션 등으로 구분할 수 있다.
보다 구체적으로, 단말(100)은 (i) 실행된 보안 페이지에 대한 사용자의 처리를 통제하는 제어 옵션을 통하여, 보안 페이지 내용의 복사, 붙여넣기, 보안 페이지가 표시된 화면의 캡쳐, 보안 페이지의 인쇄, 보안 페이지의 소스 보기 등과 같은 사용자의 부적절한 행동을 통제할 수 있다.
예를 들어, 보안 페이지에 대응하는 보안 정책이 화면 캡쳐를 차단하는 제어 옵션을 포함하는 것으로 가정하자. 단말(100)은 사용자가 화면 캡쳐를 시도할 경우, 전용 브라우저를 통하여 화면 캡쳐를 차단할 수 있다. 더 나아가서, 도 1b를 참고하면, 단말(100)은 화면 캡쳐가 불가능하다는 메시지를 출력할 수 있다.
단말(100)은 (ii) 실행된 보안 페이지를 화면에 표현할 때 실행된 보안 페이지의 내용을 변경하여 표현하는 제어 옵션을 통하여 보안 페이지가 표시되는 화면 또는 인쇄물에 워터마크(watermark)를 삽입할 수 있다. 단말(100)은 (iii) 실행된 보안 페이지에 대한 사용자의 작업 내역을 보고하는 제어 옵션을 통하여, 사용자의 부적절한 행동을 서버로 보고할 수 있다. 예를 들어, 단말(100)은 사용자가 USB를 연결한 경우, 이를 서버로 보고할 수 있다.
단말(100)은 (iv) 단말(100)에 설치된 운영 체제의 상태에 따라 실행된 보안 페이지를 출력하는 것을 차단하는 제어 옵션을 통하여, 상기 운영 체제가 보안에 취약한 상태로 판단되는 경우, 단말(100)을 통하여 보안 페이지를 출력하는 것을 차단할 수 있다. 예를 들어, 단말(100)에 설치된 운영 체제가 iOS인 경우, 사용자가 소위 탈옥(jailbreaking)을 이용하여 운영 체제를 변경할 수 있다. 또 다른 예로, 단말(100)에 설치된 운영 체제가 Android인 경우, 사용자는 소위 루팅(rooting)을 이용하여 운영 체제를 변경할 수 있다. 또 다른 예로, 단말(100) 자체가 컴퓨터 시뮬레이션에 따라 생성된 가상 머신(Virtual machine)일 수 있다. 이 경우, 운영 체제의 변경에 따라 보안이 담보되지 못하므로, 단말(100)은 전용 브라우저를 통하여 보안 페이지를 출력하는 것을 차단할 수 있다.
일실시예에 따르면, 단말(100)에 전용 브라우저가 설치되어 있더라도, 전용 브라우저의 버전이 낮은 것 등의 이유로 전용 브라우저가 보안 페이지에 대응하는 보안 정책을 처리하는 것이 불가능할 수 있다. 이 경우, 단말(100)은 전용 브라우저를 통해 열고자 하는 보안 페이지에 대해 오류 처리를 수행할 수 있다. 일례로, 단말(100)은 전용 브라우저를 통하여 페이지를 열 수 없다는 메시지를 사용자에게 출력할 수 있다.
도 2는 단말이 일실시예에 따른 보안 페이지 실행 방법을 수행하는 동작을 도시한 흐름도이다.
도 2를 참고하면, 단계(210)에서, 일실시예에 따른 단말은 보안 페이지를 브라우저를 통하여 보안 페이지를 실행할 수 있다. 단말은 보안 페이지를 실행할 수 있는 브라우저를 포함할 수 있다. 단말은 서버와 통신하여 보안 페이지를 수신할 수 있다. 보안 페이지는 HTML(HyperText Markup Language) 표준을 따를 수 있다. 보안 페이지는 보안 스크립트를 포함할 수 있다.
도 2를 참고하면, 단계(220)에서, 일실시예에 따른 단말은 단말의 종류에 기초하여, 단말이 실행된 보안 페이지의 보안 정책을 지원하는지 여부를 판단할 수 있다. 보다 구체적으로, 단말은 브라우저를 통하여 실행된 보안 페이지에 포함된 보안 스크립트를 실행함으로써 단말이 보안 정책을 지원하는지 여부를 판단할 수 있다. 이를 위하여, 보안 스크립트는 단말의 종류를 식별하는 스크립트 코드를 포함할 수 있다. 단말이 보안 정책을 지원하는 경우, 단말은 단계(230)를 수행할 수 있다.
도 2를 참고하면, 단계(230)에서, 일실시예에 따른 단말은 보안 정책을 전용 브라우저에 전달하는 명령을 실행할 수 있다. 단말은 보안 페이지가 실행된 브라우저를 통하여 상기 보안 정책을 전달하는 명령을 실행할 수 있다. 단말은 보안 정책을 전용 브라우저에 전달하는 명령을 실행함으로써, 단말에 전용 브라우저가 설치되어 있는지 여부뿐만 아니라 전용 브라우저에 보안 정책을 전달하는 동작까지 수행할 수 있다.
보다 구체적으로, 보안 정책을 전달하는 명령은 단말에 설치된 운영 체제에 따라, 표 1의 예시적인 포맷을 따를 수 있다.
운영 체제 포맷
iOS 전용 브라우저://전용 브라우저?open=보안 페이지 URI
Android Intent://전용 브라우저://전용 브라우저?open=보안 페이지 URI
#Intent;<...중략...>;end
표 1을 참고하면, 단말에 설치된 운영 체제가 iOS인 경우, 단말은 애플리케이션간의 프로토콜을 사용하여, 보안 페이지의 접속 주소(일례로, URI)를 전용 브라우저에 전달할 수 있다. 단말에 설치된 운영 체제가 Android인 경우, 단말은 애플리케이션간에 메시지를 전달하는 API(Application Programming Interface)를 사용하여, 보안 페이지의 접속 주소를 전용 브라우저에 전달할 수 있다. 단말은 전용 브라우저를 통하여 수신한 접속 주소에 해당하는 보안 정책을 식별할 수 있다.
도 2를 참고하면, 단계(240)에서, 일실시예에 따른 단말은 단말에 전용 브라우저가 설치되었는지 여부를 판단할 수 있다. 일실시예에 따르면, 단말은 보안 정책을 전용 브라우저에 전달하는 명령의 처리 결과에 따라 전용 브라우저가 설치되었는지 여부를 판단할 수 있다. 상기 명령에 따라 보안 정책을 전용 브라우저에 전달할 수 없을 경우, 단말은 보안 페이지가 실행된 브라우저의 오류 처리 명령을 실행할 수 있다. 보안 페이지가 실행된 브라우저는, 오류 처리 명령에 따라 보안 페이지의 보안 스크립트 중에서 전용 브라우저가 설치되지 않은 경우에 동작하는 스크립트 코드를 실행할 수 있다.
도 2를 참고하면, 단계(241)에서, 일실시예에 따른 단말은 전용 브라우저가 단말에 설치되지 않은 경우, 보안 스크립트에 기초하여, 전용 브라우저에 대한 설치 페이지로 이동할 수 있다. 다시 말하면, 단말은 전용 브라우저를 개시한 웹 사이트 또는 전용 브라우저를 다운로드 할 수 있는 웹 사이트에 접속할 수 있다. 단말은 전용 브라우저를 다운로드할 수 있는 애플리케이션을 실행할 수 있다.
도 2를 참고하면, 단계(250)에서, 일실시예에 따른 단말은 전용 브라우저가 단말에 설치된 경우, 보안 페이지가 실행된 브라우저가 전용 브라우저인지 여부를 판단할 수 있다. 일실시예에 따르면, 보안 페이지는 보안 페이지 자신이 실행되는 브라우저를 확인하는 스크립트 코드를 포함할 수 있다. 단말은 보안 페이지가 실행된 브라우저를 통하여 상기 스크립트 코드를 실행함으로써, 보안 페이지가 실행된 브라우저를 확인할 수 있다. 이로써, 단말은 보안 페이지가 실행된 브라우저가 상기 보안 페이지에 포함된 보안 스크립트에 따라 보안 정책을 처리하는 전용 브라우저인지 여부를 판단할 수 있다.
도 2를 참고하면, 단계(260)에서, 일실시예에 따른 단말은 보안 페이지가 실행된 브라우저가 전용 브라우저가 아닌 일반 브라우저인 경우, 일반 브라우저를 전용 브라우저로 전환할 수 있다. 단말은 전용 브라우저로 전환할 것을 요청하는 메시지를 사용자에게 출력할 수 있다. 단말은 사용자에게 메시지를 출력하지 않고 전용 브라우저로 전환할 수 있다. 단말은 실행된 보안 페이지의 접속 주소를 상기 전용 브라우저에 전달할 수 있다. 단말은 전환을 수행함으로써, 보안 페이지가 일반 브라우저가 아닌 전용 브라우저에서 실행되는 것을 보장할 수 있다.
도 2를 참고하면, 단계(270)에서, 일실시예에 따른 단말은 보안 페이지를 실행하는 전용 브라우저가 보안 페이지에 대응하는 보안 정책을 지원하는지 여부를 확인할 수 있다. 단말은 전용 브라우저를 통하여, 보안 페이지에 대응하는 보안 정책을 획득할 수 있다. 단말은 단계(230)에서 보안 브라우저로 전달된 보안 정책에 기초하여 보안 페이지에 대응하는 보안 정책을 획득할 수 있다. 단말은 표 1의 포맷에 따라 전달된 보안 페이지의 접속 주소에 기초하여, 보안 페이지에 대응하는 보안 정책을 획득할 수 있다.
일실시예에 따르면, 단말은 이전에 보안 페이지를 접속한 경우, 접속하였던 시점에 획득한 보안 정책을 저장할 수 있다. 단말은 저장된 보안 정책들을 탐색하여, 보안 정책을 획득할 수 있다. 단말은 획득된 보안 정책으로부터 전용 브라우저가 보안 정책을 지원하는지 여부를 판단할 수 있다.
도 2를 참고하면, 단계(280)에서, 일실시예에 따른 단말은 전용 브라우저가 보안 페이지에 대응하는 보안 정책을 지원하는 경우, 전용 브라우저를 이용하여 상기 보안 페이지에 포함된 보안 스크립트에 따라 보안 정책을 처리할 수 있다. 예를 들어, 사용자가 보안 페이지의 내용을 복사할 경우, 단말은 보안 스크립트에 포함된 특정 스크립트 코드(예를 들어, 서버에 사용자가 보안 페이지의 내용을 복사 하였음을 통지하는 명령)를 실행할 수 있다.
도 2를 참고하면, 단계(290)에서, 일실시예에 따른 단말은 보안 페이지를 실행할 수 없는 경우에 대응하여 오류 처리를 수행할 수 있다. 단말은 보안 페이지가 실행된 브라우저를 통하여 보안 페이지를 실행할 수 없다는 내용의 메시지를 사용자에게 출력할 수 있다.
단계(290)에서, 단말은 보안 정책을 지원하지 않는 경우(단계(220)), 보안 페이지가 실행된 브라우저를 통해 열고자 하는 보안 페이지에 대해 오류 처리를 수행할 수 있다. 비슷하게, 단말은 전용 브라우저가 보안 정책을 지원하지 않는 경우(단계(270)), 보안 페이지가 실행된 브라우저를 통해 열고자 하는 보안 페이지에 대해 오류 처리를 수행할 수 있다. 단말은 전용 브라우저에 대한 설치 페이지로 이동한 경우(단계(241)), 보안 페이지가 실행된 브라우저를 통해 열고자 하는 보안 페이지에 대해 오류 처리를 수행할 수 있다.
단말은 보안 페이지 실행 방법을 수행함으로써, 보안 페이지를 보안 정책을 처리할 수 있는 전용 브라우저에서만 실행할 수 있다. 즉, 보안 페이지가 전용 브라우저 이외의 일반 브라우저에서 실행되는 경우, 단말은 보안 페이지의 출력을 차단할 뿐만 아니라 전용 브라우저의 설치를 유도할 수 있다. 이로써, 보안 페이지의 내용을 보다 완벽하게 보호할 수 있다. 또한, 보안 페이지 별로 보안 정책을 다르게 설정할 수 있으므로, 보안 페이지의 제작자는 의도에 맞추어 보안 정책을 설정할 수 있다.
도 3은 일실시예에 따른 단말(310)이 보안 정책을 탐색하는 동작을 도시한 예시적인 도면이다. 단말(310)은 일실시예에 따른 보안 페이지 실행 방법을 수행할 수 있다. 단말(310)은 프로세서(311) 및 메모리(314)를 포함할 수 있다. 단말(310)은 프로세서(311)를 통하여 일반 브라우저(312) 또는 보안 브라우저(313)를 실행할 수 있다. 일반 브라우저(312) 또는 보안 브라우저(313)는 프로세서(311)에서 실행될 수 있는 인스트럭션(instruction)의 집합으로, 메모리(314)에 저장될 수 있다. 메모리(314)는 프로세서(311)가 판독할 수 있는 형태로 데이터를 저장하는 어느 저장 매체를 포함할 수 있다. 예를 들어, 메모리(314)는 RAM(Random Access Memory), ROM(Read-Only Memory), HDD(Hard-Disk Drive), SSD(Solid State Drive) 중에서 적어도 하나를 포함할 수 있다.
일실시예에 따른 보안 페이지 실행 방법을 수행하는 단말(310)은 일반 브라우저(312)를 통하여 보안 페이지(330)를 실행할 수 있다. 일례로, 사용자는 단말(310)에 보안 페이지(330)가 저장된 서버(320)의 주소(도 3의 예시를 참고하면, http://www.a.com/b/c.htm)를 입력함으로써, 보안 페이지(330)에 접속할 수 있다. 단말(310)은 보안 페이지(330)를 서버(320)로 요청할 수 있고, 서버(320)는 이에 대응하여 보안 페이지(330)를 단말(310)로 전송할 수 있다.
단말(310)은 보안 페이지(330)에 포함된 보안 스크립트를 일반 브라우저(312)를 통하여 실행할 수 있다. 보안 스크립트는 보안 페이지(330)가 실행되는 브라우저가 보안 정책을 처리할 수 있는 보안 브라우저(313)인지 탐지할 수 있는 스크립트 코드를 포함할 수 있다. 단말(310)은 상기 스크립트 코드를 실행함으로써, 일반 브라우저(312)가 보안 페이지(330)의 보안 정책을 처리할 수 있는지 확인할 수 있다.
보안 페이지(330)가 일반 브라우저(312)에 의해 실행되므로, 단말(310)은 일반 브라우저(312)에서 보안 브라우저(313)로 전환할 수 있다. 도 2에서 설명한 바와 같이, 단말(310)은 보안 페이지(330)의 접속 주소(도 3의 예시를 참고하면, http://www.a.com/b/c.htm)를 보안 브라우저(313)로 전달할 수 있다. 단말(310)은 보안 브라우저(313)로 전달된 보안 페이지(330)의 접속 주소에 기초하여, 메모리(314)에 저장된 보안 정책을 탐색할 수 있다.
도 4는 일실시예에 따른 단말이 메모리에 저장한 복수의 보안 정책들을 시각적으로 도시한 도면이다. 이하에서는 도 3 및 도 4를 참고하여, 도 3의 실시예에 따른 단말(310)이 보안 페이지(330)의 접속 주소에 기초하여, 메모리(314)에 저장된 보안 정책을 탐색하는 동작을 상세히 설명한다.
단말(310)은 보안 페이지(330)를 실행하여 획득한 보안 정책을 메모리(314)에 저장할 수 있다. 메모리(314)에 저장된 보안 정책은 보안 페이지(330)에 다시 접속할 때에 활용될 수 있다. 단말(310)은 서로 다른 보안 페이지(330)에 접속할 수 있으므로, 메모리(314)에 복수의 보안 정책을 효과적으로 저장할 필요가 있다.
도 4를 참고하면, 일실시예에 따른 보안 페이지 실행 방법을 수행하는 단말은 메모리에 트리 계층 구조에 따라 복수의 보안 정책들을 저장할 수 있다. 트리 계층 구조는 복수의 노드를 포함하며, 각각의 노드는 보안 페이지의 접속 주소에 따라 계층 관계를 형성할 수 있다. 단말은 표준화된 접속 주소를 각각의 노드에 저장할 수 있다. 예를 들어, 도 3의 예시에서, 사용자가 서버(320)에 접속하고자 할 경우, http://www.a.com/b/c.htm 뿐만 아니라 http://a.com/b/c.htm 및 a.com/b/c.htm 을 입력하더라도 서버(320)에 접속할 수 있다. 접속 주소를 표준화하지 않을 경우, 동일한 서버(320)에 대해서 서로 다른 노드가 생성될 수 있다.
다시 도 4를 참고하면, 일실시예에 따른 보안 페이지 실행 방법을 수행하는 단말은 서로 다른 접속 주소 표현을 고려하여, 접속 주소를 표준화하여 관리할 수 있다. 도 4를 참고하면, 단말은 http://www.a.com, http://a.com 및 a.com의 다양한 포맷을 고려하여, a.com으로 표준화한 주소를 노드(420)에 저장할 수 있다.
도 4를 참고하면, 단말은 접속 주소를 구분자(‘/’)를 따라 분할하여, 접속 주소로부터 하나 이상의 노드를 생성할 수 있다. 도 3의 예시에서, 단말은 http://www.a.com/b/c.htm의 접속 주소를 분할하여, a.com에 대응하는 노드(420), b에 대응하는 노드(430) 및 c.htm에 대응하는 노드(440)를 생성할 수 있다. 결론적으로, 트리 계층 구조는, 보안 페이지의 URI(Uniform Resource Identifier)에 따라 생성될 수 있다. 또한, 트리 계층 구조는, 보안 페이지의 URI를 구분자에 따라 복수의 노드들로 구분함으로써 생성될 수 있다.
도 4를 참고하면, 메모리에 저장된 노드들 각각은 미리 설정된 보안 페이지(또는 이전에 방문한 보안 페이지)의 URI 및 이에 대응하는 보안 정책을 저장할 수 있다. 노드(420)는 a.com 및 보안 정책 1이 저장되어 있다. 따라서, 단말은 a.com에 접속할 경우, 전용 브라우저를 통하여 보안 정책 1을 실행할 수 있다.
다시 도 3을 참고하면, 단말(310)은 보안 페이지(330)의 접속 주소를 표준화한 다음, 구분자에 따라 분할하여 보안 페이지(330)에 대응하는 보안 정책이 저장된 트리 계층 구조 상의 위치를 결정할 수 있다. 보안 페이지(330)의 접속 주소가 http://www.a.com/b/c.htm이므로, 단말(310)은 보안 페이지(330)에 대응하는 보안 정책이 도 4의 노드(440)에 저장되어 있는 것으로 결정할 수 있다.
도 4를 참고하면, 일실시예에 따른 보안 페이지 실행 방법을 수행하는 단말은 분할된 URI에 대응하는 노드를 이용하여 하위 계층으로부터 상위 계층으로 트리 계층 구조에 포함된 노드를 탐색함으로써, 보안 페이지에 대응하는 보안 정책을 탐색할 수 있다. 도 3의 예시에서, 단말은 노드(440)가 존재하는지 탐색할 수 있다. 노드(440)가 존재하는 경우, 단말은 보안 페이지에 대응하는 보안 정책 3을 메모리로부터 획득할 수 있다. 노드(440)가 존재하지 않는 경우, 단말은 노드(440)의 상위 노드인 노드(430)를 탐색할 수 있다. 노드(430)가 존재하는 경우, 단말은 보안 페이지에 대응하는 보안 정책 2를 메모리로부터 획득할 수 있다. 탐색은 보안 정책을 획득할 때까지 수행될 수 있고, 단말은 최상위 노드인 노드(410) 까지 탐색할 수 있다.
일실시예에 따르면, 특정 노드에 저장된 보안 정책은 하위 노드에 영향을 미칠 수 있다. 이 경우, 노드(440)에 저장된 보안 정책 3뿐만 아니라, 노드(430) 및 노드(420)에 저장된 보안 정책 1 및 보안 정책 2가 동시에 적용될 수 있다. 즉, 단말은 보안 정책 1 내지 3에 기초하여 도 3의 보안 페이지(330)에 대한 보안 정책을 처리할 수 있다. 단말은 트리 계층 구조를 따라 보안 정책들을 저장함으로써, 보안 정책들을 보다 빠르게 탐색할 수 있다. 더 나아가서 단말은 트리 계층 구조에 저장된 보안 정책 및 보안 페이지의 보안 스크립트를 실행하여 획득한 보안 정책을 비교하여, 저장된 보안 정책을 업데이트할 수 있다. 단말은 대응하는 노드를 탐색할 수 없는 경우, 보안 페이지가 실행된 브라우저로부터 전달 받은 보안 정책에 기초하여 새로운 노드를 트리 계층 구조에 생성할 수 있다.
도 5는 일실시예에 따른 단말(510)이 접속된 복수의 사용자에게 보안 페이지를 표시하는 예시적인 도면이다. 일실시예에 따르면, 단말(510)은 복수의 사용자의 접속을 허용할 수 있다. 도 5에서는, 하나의 단말(510)에 두 명의 사용자가 접속한 것으로 가정한다.
단말(510)은 접속한 사용자 별로 세션을 생성하여, 사용자 각각이 실행한 프로세스를 관리할 수 있다. n 명의 사용자가 단말(510)에 접속한 경우, 단말(510)은 사용자 각각에 대응하는 n 개의 세션을 생성할 수 있다. 단말(510)에 설치된 운영 체제는 운영 체제가 실행한 프로세스를 관리하기 위한 세션(운영 체제 세션)을 생성할 수 있다. 따라서, n 명의 사용자가 단말(510)에 접속한 경우, 단말(510)은 최소 n+1 개의 세션을 생성하거나 또는 관리할 수 있다. 도 5를 참고하면, 단말(510)은 최소 세 개의 세션을 생성할 수 있다.
도 5를 참고하면, 단말(510)에 접속한 두 명의 사용자가 동시에 하나의 웹 서버(520)에 접속할 수 있다. 웹 서버(520)가 보안 페이지를 단말(510)로 전송할 경우, 단말(510)은 일실시예에 따른 보안 페이지 실행 방법을 수행할 수 있다. 단말(510)은 접속한 두 명의 사용자에게 서로 다른 보안 정책을 적용할 수 있다. 접속한 사용자에게 서로 다른 보안 정책을 적용하기 위하여, 단말(510)은 사용자에 대응하는 세션 별로 보안 정책을 다르게 관리할 수 있다. 단말(510)은 보안 정책을 세션 별로 저장 및 관리하는 프로세스를 실행할 수 있다. 보안 정책을 세션 별로 저장 및 관리하는 프로세스는 프로세서(511)를 통해 실행되며, 운영 체제 세션에 포함될 수 있다.
예를 들어 도 5를 참고하면, 단말(510)은 제1 사용자가 블랙 리스트로 지정된 사용자인 경우, 제1 사용자에게 표시되는 브라우저(530)를 통하여 보안 페이지가 표시되는 것을 차단할 수 있다. 단말(510)은 제2 사용자가 일반적인 사용자인 경우, 제2 사용자에게 표시되는 브라우저(540)를 통하여 보안 페이지가 표시되는 것을 허용할 수 있다. 이로써, 단말(510)은 서로 다른 사용자에게 서로 다른 보안 정책을 적용할 수 있다. 단말(510)은 보안 정책을 세션 별로 저장 및 관리하는 프로세스를 통하여 사용자 및 보안 페이지에 따라 보안 정책을 저장하거나 또는 분류할 수 있다.
도 6a 내지 6b는 일실시예에 따른 단말이 복수의 사용자 각각에 대응하는 서로 다른 보안 정책을 처리하는 동작을 도시한 흐름도이다. 단말은 보안 페이지를 실행하는 브라우저가 호출할 수 있는 통제 Hook 라이브러리를 메모리에 포함할 수 있다. 통제 Hook 라이브러리는 일실시예에 따른 보안 페이지 실행 방법을 수행할 수 있는 명령을 인스트럭션의 형태로 포함할 수 있다. 이하에서는, 설명의 편의를 위하여 단말이 브라우저를 통하여 보안 페이지를 실행하는 것으로 설명하지만, 일실시예에 따르면, 단말은 브라우저를 통하여 통제 Hook 라이브러리의 명령을 호출함으로써, 일실시예에 따른 보안 페이지 실행 방법을 수행할 수 있다.
도 6a를 참고하면, 단계(610)에서, 일실시예에 따른 단말은 브라우저를 통하여 보안 페이지를 실행할 수 있다. 단말은 접속한 사용자에 대응하는 세션을 통하여 브라우저를 실행할 수 있다. 보안 페이지는 보안 스크립트를 포함하며, 보안 스크립트는 보안 페이지가 실행되는 단말이 보안 페이지에 대응하는 보안 정책을 처리할 수 있는지 확인할 수 있는 스크립트 코드를 포함할 수 있다.
도 6a를 참고하면, 단계(620)에서, 일실시예에 따른 단말은 단말의 종류에 기초하여, 단말이 실행된 보안 페이지의 보안 정책을 지원하는지 여부를 판단할 수 있다. 단말은 브라우저를 통하여 보안 페이지에 포함된 보안 스크립트를 실행할 수 있다. 도 2에서 설명한 바와 유사하게, 단말은 보안 스크립트를 실행함으로써, 단말이 보안 정책을 지원하는 지 여부를 판단할 수 있다. 단말이 보안 정책을 지원하는 경우, 단말은 단계(630)를 수행할 수 있다.
단말은 보안 정책을 세션에 따라 관리하는 프로세스를 실행할 수 있다. 상기 프로세스는 운영 체제 세션을 통하여 실행될 수 있다. 도 6a를 참고하면, 단계(630)에서, 일실시예에 따른 단말은 보안 정책을 상기 프로세스에 전달하는 명령을 실행할 수 있다. 상기 명령은 보안 페이지에 포함된 보안 스크립트에 포함될 수 있다. 단말은 상기 명령을 실행함으로써, 보안 정책을 세션에 따라 관리하는 프로세스의 실행 여부를 확인함과 동시에, 보안 정책을 프로세스로 전달할 수 있다.
일실시예에 따르면, 단말은 소켓 통신을 이용하여 특정 사용자에 대응하는 세션의 보안 정책을 운영 체제 세션에서 실행되는 프로세스로 전달할 수 있다. 이를 위하여, 단말은 표 2의 예시적인 보안 스크립트를 실행할 수 있다.
var tempImage = new Image();
tempImage.onerror = function () {
alert("통신에러 발생");
};
tempImage.onload = function () {
var errCode = parseInt(this.width) - 1;
alert("보안적용 결과 코드 : " + errCode);
};
tempImage.src = "http://127.0.0.1:35353/인코딩된 보안 정책"
이미지 파일은 브라우저의 종류와 상관 없이 송 수신 가능 하며, 크로스 도메인 문제(cross-domain, 보안 등의 이유로 특정 도메인의 웹 페이지가 다른 도메인의 웹 페이지와 통신할 수 없도록 제한하는 것)를 해결할 수 있다. 표 2를 참고하면, 보안 스크립트는 이미지 파일을 요청하는 스크립트 코드를 포함할 수 있다. 보안 스크립트는 단말에 대한 IP 주소 (127.0.0.1) 및 사전에 정의된 보안 정책을 관리하는 프로세스에 할당된 포트 번호(표 2의 예시에서, 35353)를 이용하여, 상기 프로세스에 이미지 파일을 요청하는 스크립트 코드를 포함할 수 있다. 표 2의 포트 번호 35353은 임의로 가정한 것으로, 단말은 상기 프로세스에 다른 포트 번호를 할당할 수 있다.
표 2를 참고하면, 이미지 파일의 URI는 인코딩된 보안 정책을 포함할 수 있다. 단말은 보안 정책을 세션에 따라 관리하는 프로세스를 통하여 인코딩된 보안 정책을 디코딩할 수 있다. 단말은 이미지 파일을 이용하여, 디코딩된 보안 정책에 대응하는 결과를 브라우저로 전달할 수 있다.
단말은 브라우저를 통하여 표 2의 예시적인 보안 스크립트를 실행함으로써, 전달된 이미지 파일로부터 보안 정책에 대응하는 결과를 식별할 수 있다. 또한, 단말은 이미지 파일이 전달되는지 여부에 따라 상기 프로세스가 실행 중인지 판단할 수 있다.
일실시예에 따르면, 단말은 표 3의 예시적인 보안 스크립트를 실행하여 보안 정책을 상기 프로세스로 전달할 수 있다.
var req = new XMLHttpRequest();
req.open('GET', '"http://127.0.0.1:35353/인코딩된 보안 정책"', false);
req.send(null)
if(req.status != 200){
alert("통신에러 발생");
}
else{
var errCode = req.responseText;
alert("보안적용 결과 코드 : " + errCode);
}
표 3을 참고하면, 단말은 XMLHttpRequest 개체를 생성하고, 이를 이용하여 보안 정책을 전달할 수 있다. 표 3을 참고하면, 단말은 표 2와 유사하게 단말에 대한 IP 주소 (127.0.0.1) 및 사전에 정의된 보안 정책을 관리하는 프로세스에 할당된 포트 번호(표 2의 예시에서, 35353)를 이용하여 보안 정책을 전달할 수 있다.
단말은 브라우저를 통하여 표 3의 예시적인 보안 스크립트를 실행함으로써, 전달된 메시지로부터 보안 정책에 대응하는 결과를 식별할 수 있다. 또한, 단말은 메시지가 전달되는지 여부에 따라 상기 프로세스가 실행 중인지 판단할 수 있다.
도 6b는 단말이 단계(630)에서 실행한 명령에 대응하여 수행하는 동작을 도시한 흐름도이다.
도 6b를 참고하면, 단계(631)에서, 일실시예에 따른 단말은 보안 스크립트가 생성한 보안 정책을 수신할 수 있다. 앞서 설명한 바와 같이, 단말은 표 2 또는 표 3의 인코딩된 보안 정책이 기록된 보안 스크립트를 실행하여, 보안 정책을 전달할 수 있다. 단말은 소켓 통신을 이용하여 보안 스크립트에 따른 보안 정책을 세션에 따라 보안 정책을 관리하는 프로세스로 전달할 수 있다. 소켓 통신이 이용되므로, 단말은 보안 페이지가 실행된 브라우저에 특정 포트를 할당하고, 이를 통하여 상기 프로세스에 할당된 포트(표 2 또는 표 3의 예시에서, 35353)로 보안 정책을 전달할 수 있다.
더 나아가서, 단말은 보안 정책을 전달한 소켓의 포트 번호를 확인할 수 있다. 도 6b를 참고하면, 단계(632)에서, 일실시예에 따른 단말은 전체 소켓에 대한 정보를 획득한 다음 이를 탐색할 수 있다. 전체 소켓에 대한 정보는 TCP 테이블을 포함할 수 있다. 획득된 전체 소켓에 대한 정보는 각 소켓과 관련된 프로세스의 ID를 포함할 수 있다. 단말은 전체 소켓에 대한 정보로부터, 보안 정책을 전달한 소켓의 포트 번호에 대응하는 정보를 찾을 수 있다. 해당 정보로부터, 단말은 보안 정책을 전달한 소켓과 관련된 프로세스(즉, 보안 페이지가 실행된 브라우저에 대응하는 프로세스)의 ID를 탐지할 수 있다.
도 6b를 참고하면, 단계(633)에서, 일실시예에 따른 단말은 보안 페이지가 어느 세션의 브라우저에서 실행되었는지 탐지할 수 있다. 단말은 단계(632)에서 탐지한 프로세스 ID를 이용하여, 보안 페이지가 실행된 브라우저에 대응하는 세션의 ID를 획득할 수 있다. 세션은 단말에 접속한 사용자에 대응하므로, 단말은 획득한 세션 ID로부터 보안 페이지가 어느 사용자에의해 실행되었는지 확인할 수 있다.
도 6b를 참고하면, 단계(634)에서, 일실시예에 따른 단말은 보안 탐지한 세션에 따라 수신한 보안 정책을 처리할 수 있다. 단말은 세션별로 보안 페이지에 대응하는 보안 정책을 트리 계층 구조를 이용하여 관리할 수 있다. 단말은 내부의 보안 정책을 트리 계층 구조에 따라 메모리에 저장할 수 있다. 단말은 탐지한 세션 ID 및 보안 페이지의 접속 주소에 기초하여, 트리 계층 구조를 탐색함으로써, 보안 페이지가 실행된 세션 및 보안 페이지에 대응하는 보안 정책을 획득할 수 있다. 더 나아가서, 단말은 단말이 보안 페이지가 실행된 세션 및 보안 페이지에 대응하는 보안 정책을 처리할 수 있는지 확인할 수 있다.
단말은 보안 정책을 처리한 결과를 이미지 파일 또는 메시지의 형태로 보안 페이지가 실행된 브라우저로 반환할 수 있다. 단말은 인코딩된 보안 정책을 디코딩할 수 있고, 보안 정책을 지원할 수 없는 경우, 오류 코드를 이미지 파일 또는 메시지의 형태로 반환할 수 있다. 단말은 단계(631) 내지 단계(634)를 표 4의 예시적인 코드를 실행하여 수행할 수 있다.
// 세션ID 추출
Function int GetSessionIDFromSocket( InSocket ){
int remotePort = GetRemotePortFromSocket( InSocket );
RemotePortTable tableOfRemotePort = GetTcpTable();
for(int i=0; i<tableOfRemotePort.Size(); i++){
if(remotePort == tableOfRemotePort i].RemotePort){
return GetSessionIdFromProcessId( tableOfRemotePort i].OwningProcessId );
}
}
return -1; // fail
}

// 보안정책 추출
Function SecurityPolicy GetSecurityPolicy( InSocket ){
return DecodingSecurityPolicyFromSocket( InSocket );
}
표 4를 참고하면, 단말은 보안 정책을 전달하는데 사용한 소켓에 대한 정보를 InSocket 변수에 저장한다. 단말은 InSocket으로부터 보안 정책을 전달하는데 사용한 소켓의 포트 번호(보안 페이지가 실행된 브라우저에 할당된 포트 번호)를 식별할 수 있고, 전체 소켓에 대한 테이블을 순회하여 소켓의 포트 번호에 대응하는 프로세스 ID를 구할 수 있다.
다시 도 6a를 참고하면, 단계(640)에서, 일실시예에 따른 단말은 보안 정책을 세션에 따라 관리하는 프로세스가 실행되었는지 여부를 판단할 수 있다. 앞서 설명한 바와 같이, 단말은 보안 스크립트를 실행하여, 상기 프로세스가 반환한 이미지 파일 또는 메시지에 따라 상기 프로세스가 실행되었는지 여부를 판단할 수 있다.
상기 프로세스가 실행되지 않은 경우, 단말은 단계(641)를 수행함으로써, 보안 스크립트에 기초하여, 보안 정책을 세션에 따라 관리하는 프로세스에 대한 설치 페이지로 이동할 수 있다.
도 6a를 참고하면, 단계(650)에서, 일실시예에 따른 단말은 브라우저가 실행된 세션이 보안 페이지에 포함된 보안 스크립트에 따른 보안 정책을 지원하는지 여부를 판단할 수 있다. 단말은 이미지 파일 또는 메시지에 따라 보안 정책을 지원하는지 여부를 판단할 수 있다. 메시지를 사용하는 경우, 단말은 메시지로부터 보안 정책의 지원 여부 또는 오류 코드를 식별할 수 있다.
일실시예에 따르면, 단말은 보안 정책을 세션에 따라 관리하는 프로세스가 전달한 이미지 파일을 이용하여 사용자에 대응하는 세션이 보안 정책을 지원하는지 여부를 판단할 수 있다. 예를 들어, 단말은 세션이 보안 정책을 지원하는 경우, 세로 1 픽셀, 가로 1 픽셀 크기의 이미지 파일을 생성할 수 있다. 단말은 세션이 보안 정책을 지원하지 않는 경우, 오류 코드에 대응하는 다른 크기의 이미지 파일을 생성할 수 있다.
단말은 보안 스크립트를 실행하여, 생성된 이미지 파일의 크기를 확인할 수 있고, 이에 따라 세션이 보안 정책을 지원하는지 여부를 판단할 수 있다. 단말은 이미지 파일의 크기뿐만 아니라, 이미지 파일에 포함된 메타 데이터 또는 이미지 파일에 포함된 픽셀의 컬러 데이터를 이용함으로써, 세션이 보안 정책을 지원하는지 여부를 판단할 수 있다.
앞서 설명한 예시에서, 단말은 이미지 파일의 크기가 세로 1 픽셀, 가로 1 픽셀 크기가 아닌 경우, 세션이 보안 정책을 지원하지 않음을 확인할 수 있고, 더 나아가서 오류 코드를 식별할 수 있다. 단말은 브라우저가 실행된 세션이 보안 정책을 지원하는 경우, 단계(660)를 수행할 수 있다.
도 6a를 참고하면, 단계(660)에서, 일실시예에 따른 단말은 브라우저를 이용하여 보안 페이지에 포함된 보안 스크립트에 따라 보안 정책을 처리할 수 있다. 단말은 브라우저를 통하여 통제 Hook 라이브러리의 명령을 호출함으로써, 보안 정책을 처리할 수 있다. 단말은 세션 및 실행된 보안 페이지의 접속 주소에 따른 보안 정책을 획득할 수 있으며, 브라우저를 통하여 보안 정책을 처리할 수 있다. 따라서, 단말은 사용자가 다른 경우, 동일한 보안 페이지를 실행하더라도 각각의 사용자에게 서로 다른 보안 정책을 적용할 수 있다. 단말이 세션 및 보안 페이지의 접속 주소에 따라 보안 정책을 획득하는 동작은 도 7에서 보다 상세히 설명한다.
도 6a를 참고하면, 단계(670)에서, 일실시예에 따른 단말은 보안 페이지를 실행할 수 없는 경우에 대응하여 오류 처리를 수행할 수 있다. 단말은 보안 페이지가 실행된 브라우저를 통하여 보안 페이지를 실행할 수 없다는 내용의 메시지를 사용자에게 출력할 수 있다.
단말은 보안 정책을 지원하지 않는 경우(단계(620)), 보안 페이지가 실행된 브라우저를 통해 열고자 하는 보안 페이지에 대해 오류 처리를 수행할 수 있다. 브라우저가 실행된 세션이 보안 정책을 처리할 수 없는 경우(단계(650)), 단말은 브라우저를 통해 열고자 하는 보안 페이지에 대해 오류 처리를 수행할 수 있다. 단말은 보안 정책을 세션에 따라 관리하는 프로세스에 대한 설치 페이지로 이동한 경우(단계(641)), 브라우저를 통해 열고자 하는 보안 페이지에 대해 오류 처리를 수행할 수 있다.
도 7은 일실시예에 따른 단말이 메모리에 세션을 고려하여 저장한 복수의 보안 정책들을 시각적으로 도시한 도면이다. 단말은 미리 설정된 보안 페이지(또는 이전에 방문한 보안 페이지)의 URI에 따라 트리 계층 구조를 생성할 수 있다. 복수의 노드가 트리 계층 구조에 포함될 수 있으며, 각각의 노드는 보안 페이지의 URI 및 이에 대응하는 보안 정책이 저장될 수 있다.
도 7을 참고하면, 단말은 최상위 노드인 루트 노드(700)의 하위 계층에 세션 별로 노드(710, 720, 730)를 생성함으로써, 세션 별로 보안 정책을 다르게 관리할 수 있다. 도 7을 참고하면, 단말은 세션 1을 통하여 a.com에 접속하는 경우, 노드(711)의 보안 정책 1에 따라 보안 정책을 처리한다. 하지만, 단말은 세션 2를 통하여 a.com에 접속하는 경우, 노드(720)의 보안 정책 7에 따라 보안 정책을 처리한다. 이로써, 단말에 접속된 복수의 사용자가 동일한 보안 페이지를 실행하더라도, 일실시예에 따른 보안 페이지 실행 방법을 수행하는 단말은 복수의 사용자 각각에 서로 다른 보안 정책을 적용할 수 있다.
일실시예에 따른 보안 페이지 실행 방법을 수행하는 단말은 트리 계층 구조를 탐색하여 실행된 보안 페이지에 대응하는 보안 정책을 탐색할 수 있다. 단말은 접속 주소를 구분자에 따라 분할하여 노드를 생성할 수 있다. 예를 들어, 접속 주소가 URI 형식인 경우, 단말은 구분자 ‘/’에 따라 접속 주소를 분할할 수 있다. 단말은 노드를 생성하기 전에 접속 주소를 표준화할 수 있다.
단말은 생성한 노드 및 세션을 고려하여 트리 계층 구조에서 대응하는 노드를 탐색할 수 있다. 단말은 보안 정책을 세션에 따라 관리하는 프로세스를 통하여, 트리 계층 구조를 탐색할 수 있다. 일실시예에 따르면, 단말은 브라우저를 통하여 통제 Hook 라이브러리에 포함된 명령을 실행함으로써, 트리 계층 구조를 탐색할 수 있다.
이하에서는, 세션 1에 대응하는 사용자가 보안 페이지인 http://www.a.com/b/c.htm에 접속한 예시에 따라 보안 정책을 탐색하는 동작을 설명한다. 단말은 브라우저를 통하여 상기 접속 주소를 보안 정책을 세션에 따라 관리하는 프로세스에 전달할 수 있다. 접속 주소는 소켓을 이용하여 상기 프로세스에 전달될 수 있다. 따라서, 단말은 소켓을 탐색하여 브라우저에 대응하는 세션 1을 탐지할 수 있다.
단말은 접속 주소 http://www.a.com/b/c.htm를 구분자에 따라 분할할 수 있다. 단말은 분할된 노드에 기초하여 트리 계층 구조를 탐색할 수 있다. 도 7을 참고하면, 브라우저가 세션 1에서 실행되므로, 단말은 트리 계층 구조에서 세션 1에 대응하는 노드(710)의 하위 노드에 대해서만 탐색을 수행할 수 있다. 결론적으로, 단말은 노드(713)를 탐색함으로써, 보안 정책 3을 보안 페이지에 대응하는 보안 정책으로 처리할 수 있다.
일실시예에 따르면, 특정 노드에 저장된 보안 정책은 하위 노드에 영향을 미칠 수 있다. 이 경우, 앞서 설명한 예에서, 단말은 노드(713)의 보안 정책 3 뿐만 아니라, 노드(711) 및 노드(712)에 저장된 보안 정책 1 내지 2를 보안 페이지에 적용할 수 있다.
도 7을 참고하면, 만약 세션 2에 대응하는 사용자가 http://www.a.com/b/c.htm에 접속한 경우, 단말은 브라우저가 세션 2에서 실행되는 점을 고려하여, 노드(723)를 탐색할 수 있다. 단말은 해당 노드가 존재하지 않는 경우, 상위 노드의 보안 정책을 적용할 수 있다. 즉, 노드(723)가 트리 계층 구조에 존재하지 않는 경우, 단말은 노드(722)를 탐색할 수 있다. 따라서, 단말은 세션 2에 대응하는 사용자에게 노드(722)에 저장된 보안 정책 8을 적용할 수 있다. 상위 노드를 탐색하는 것은 접속 주소에 따라 생성된 최상위 노드인 노드(721)를 탐색할 때까지 수행될 수 있다. 단말은 노드가 존재하지 않을 경우, 노드를 새로 생성하여 보안 페이지 및 세션에 따른 보안 정책을 트리 계층 구조에 저장할 수 있다.
단말은 트리 계층 구조를 따라 세션별로 보안 정책들을 저장함으로써, 보안 정책들을 보다 빠르게 탐색할 수 있다. 더 나아가서 단말은 트리 계층 구조에 저장된 보안 정책 및 보안 페이지의 보안 스크립트를 실행하여 획득한 보안 정책을 비교하여, 저장된 보안 정책을 업데이트할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
310 : 단말
311 : 프로세서
312 : 일반 브라우저
313 : 보안 브라우저
314 : 메모리
320 : 서버
330 : 보안 페이지

Claims (17)

  1. 단말이 수행하는 보안 페이지 실행 방법에 있어서,
    브라우저를 통하여 보안 페이지를 실행하는 단계;
    상기 보안 페이지가 실행된 브라우저가 상기 보안 페이지에 포함된 보안 스크립트에 따라 보안 정책을 처리하는 전용 브라우저인지 여부를 판단하는 단계;
    상기 보안 페이지가 실행된 브라우저가 전용 브라우저가 아닌 경우, 상기 브라우저를 상기 전용 브라우저로 전환하는 단계;
    상기 전환된 전용 브라우저를 이용하여 상기 보안 페이지에 포함된 보안 스크립트에 따라 보안 정책을 처리하는 단계
    를 포함하는 보안 페이지 실행 방법.
  2. 제1항에 있어서,
    상기 단말의 종류에 기초하여, 상기 단말이 상기 실행된 보안 페이지의 보안 정책을 지원하는지 여부를 판단하는 단계;
    상기 단말이 보안 정책을 지원하는 경우, 상기 보안 정책을 전용 브라우저에 전달하는 명령을 실행하는 단계;
    상기 단말에 전용 브라우저가 설치되었는지 여부를 판단하는 단계
    를 더 포함하고,
    상기 전용 브라우저인지 여부를 판단하는 단계는,
    상기 전용 브라우저가 단말에 설치된 경우, 상기 보안 페이지가 실행된 브라우저가 전용 브라우저인지 여부를 판단하는 보안 페이지 실행 방법.
  3. 제2항에 있어서,
    상기 전용 브라우저가 설치되지 않은 경우, 상기 보안 스크립트에 기초하여, 상기 전용 브라우저에 대한 설치 페이지로 이동하는 단계
    를 포함하는 보안 페이지 실행 방법.
  4. 제2항에 있어서,
    상기 단말이 상기 보안 정책을 지원하지 않는 경우, 상기 보안 페이지가 실행된 상기 브라우저를 통해 열고자 하는 보안 페이지에 대해 오류 처리를 수행하는 단계
    를 포함하는 보안 페이지 실행 방법.
  5. 제1항에 있어서,
    상기 전용 브라우저가 보안 정책을 처리할 수 없는 경우, 상기 전용 브라우저를 통해 열고자 하는 보안 페이지에 대해 오류 처리를 수행하는 단계
    를 포함하는 보안 페이지 실행 방법.
  6. 제1항에 있어서,
    상기 보안 페이지가 실행된 브라우저를 상기 전용 브라우저로 전환하는 경우, 상기 실행된 보안 페이지의 접속 주소를 상기 전용 브라우저에 전달하는 단계
    를 더 포함하는 보안 페이지 실행 방법.
  7. 제1항에 있어서,
    상기 보안 정책을 처리하는 단계는,
    트리 계층 구조에 포함된 노드들을 이용하여 상기 실행된 보안 페이지에 대응하는 보안 정책을 탐색하는 단계
    를 포함하고,
    상기 트리 계층 구조는,
    미리 설정된 보안 페이지의 URI(Uniform Resource Identifier)에 따라 생성된 보안 페이지 실행 방법.
  8. 제7항에 있어서,
    상기 트리 계층 구조는,
    상기 미리 설정된 보안 페이지의 URI를 구분자에 따라 복수의 노드들로 구분함으로써 생성되고,
    상기 보안 정책은,
    상기 미리 설정된 보안 페이지의 URI에 대응하는 복수의 노드들 각각에 저장되는 보안 페이지 실행 방법.
  9. 제7항에 있어서,
    상기 보안 정책을 처리하는 단계는,
    상기 전환된 전용 브라우저를 통해 실행된 보안 페이지의 URI를 분할하는 단계;
    를 포함하고,
    상기 보안 정책을 탐색하는 단계는,
    상기 분할된 URI에 대응하는 노드를 이용하여 하위 계층으로부터 상위 계층으로 상기 트리 계층 구조에 포함된 노드를 탐색함으로써, 상기 실행된 보안 페이지에 대응하는 보안 정책을 탐색하는 보안 페이지 실행 방법.
  10. 제1항에 있어서,
    상기 보안 정책은,
    (i) 상기 실행된 보안 페이지에 대한 사용자의 처리를 통제하는 제어 옵션;
    (ii) 상기 실행된 보안 페이지를 화면에 표현할 때 상기 실행된 보안 페이지의 내용을 변경하여 표현하는 제어 옵션; 및
    (iii) 상기 실행된 보안 페이지에 대한 사용자의 작업 내역을 보고하는 제어 옵션
    중 적어도 하나를 포함하는 보안 페이지 실행 방법.
  11. 단말이 수행하는 보안 페이지 실행 방법에 있어서,
    세션에서, 브라우저를 통하여 보안 페이지를 실행하는 단계;
    상기 브라우저가 실행된 세션이 상기 보안 페이지에 포함된 보안 스크립트에 따른 보안 정책을 지원하는지 여부를 판단하는 단계;
    상기 세션이 상기 보안 정책을 지원하는 경우, 상기 브라우저를 이용하여 상기 보안 페이지에 포함된 상기 보안 스크립트에 따라 상기 보안 정책을 처리하는 단계
    를 포함하는 보안 페이지 실행 방법.
  12. 제11항에 있어서,
    상기 단말의 종류에 기초하여, 상기 단말이 상기 실행된 보안 페이지의 상기 보안 정책을 지원하는지 여부를 판단하는 단계;
    상기 단말이 상기 보안 정책을 지원하는 경우, 상기 보안 정책을 세션에 따라 관리하는 프로세스에 전달하는 명령을 실행하는 단계;
    상기 단말에 상기 프로세스가 실행되었는지 여부를 판단하는 단계
    를 더 포함하고,
    상기 보안 정책을 지원하는지 여부를 판단하는 단계는,
    상기 프로세스가 실행된 경우, 상기 세션이 상기 보안 정책을 지원하는지 여부를 판단하는 보안 페이지 실행 방법.
  13. 제12항에 있어서,
    상기 프로세스가 실행되지 않은 경우, 상기 보안 스크립트에 기초하여, 상기 프로세스에 대한 설치 페이지로 이동하는 단계
    를 포함하는 보안 페이지 실행 방법.
  14. 제12항에 있어서,
    상기 단말이 상기 보안 정책을 지원하지 않는 경우, 상기 보안 페이지가 실행된 상기 브라우저를 통해 열고자 하는 보안 페이지에 대해 오류 처리를 수행하는 단계
    를 포함하는 보안 페이지 실행 방법.
  15. 제11항에 있어서,
    상기 판단하는 단계는,
    상기 세션이 상기 보안 정책을 지원하는지 여부를 이미지 파일을 이용하여 표시하는 보안 페이지 실행 방법.
  16. 제11항에 있어서,
    상기 세션이 상기 보안 정책을 처리할 수 없는 경우, 상기 브라우저를 통해 열고자 하는 보안 페이지에 대해 오류 처리를 수행하는 단계
    를 포함하는 보안 페이지 실행 방법.
  17. 제11항에 있어서,
    상기 보안 정책을 처리하는 단계는,
    트리 계층 구조에 포함된 노드들을 이용하여 상기 실행된 보안 페이지에 대응하는 보안 정책을 탐색하는 단계
    를 포함하고,
    상기 트리 계층 구조는,
    미리 설정된 보안 페이지의 URI(Uniform Resource Identifier)에 따라 생성된 보안 페이지 실행 방법.
KR1020160041610A 2015-06-10 2016-04-05 보안 페이지 실행 방법 및 이를 수행하는 단말 KR101800280B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150082056 2015-06-10
KR20150082056 2015-06-10

Publications (2)

Publication Number Publication Date
KR20160145481A true KR20160145481A (ko) 2016-12-20
KR101800280B1 KR101800280B1 (ko) 2017-11-22

Family

ID=57734470

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160041610A KR101800280B1 (ko) 2015-06-10 2016-04-05 보안 페이지 실행 방법 및 이를 수행하는 단말

Country Status (1)

Country Link
KR (1) KR101800280B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200043041A (ko) * 2018-10-17 2020-04-27 (주)지란지교소프트 웹 브라우저 기반 로컬 파일 제어 시스템 및 방법
CN111291379A (zh) * 2019-12-30 2020-06-16 上海上讯信息技术股份有限公司 基于Android的车载系统应用检测方法、装置及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100890421B1 (ko) * 2007-11-06 2009-03-26 주식회사 케이티프리텔 이동 단말에서 서로 다른 형태의 브라우저들을 연동하는방법 및 장치
KR100939106B1 (ko) * 2007-11-09 2010-01-28 주식회사 블루젠 이동식 저장장치에 저장된 데이터의 임의복제 방지 방법 및이에 적합한 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200043041A (ko) * 2018-10-17 2020-04-27 (주)지란지교소프트 웹 브라우저 기반 로컬 파일 제어 시스템 및 방법
CN111291379A (zh) * 2019-12-30 2020-06-16 上海上讯信息技术股份有限公司 基于Android的车载系统应用检测方法、装置及电子设备
CN111291379B (zh) * 2019-12-30 2023-09-26 上海上讯信息技术股份有限公司 基于Android的车载系统应用检测方法、装置及电子设备

Also Published As

Publication number Publication date
KR101800280B1 (ko) 2017-11-22

Similar Documents

Publication Publication Date Title
US20200412793A1 (en) Link file sharing and synchronization
US10599842B2 (en) Deceiving attackers in endpoint systems
US8904279B1 (en) Inhibiting automated extraction of data from network pages
US20140129920A1 (en) Enhanced Document and Event Mirroring for Accessing Internet Content
US20150161277A1 (en) Methods and systems for one browser version to use a rendering engine of another browser version for displaying information
US10067807B2 (en) Information processing apparatus and method of controlling information processing apparatus
US9679147B2 (en) System and method for automated security testing
WO2014121713A1 (zh) 一种网址拦截处理的方法、装置和系统
US9614826B1 (en) Sensitive data protection
US8904492B2 (en) Method of controlling information processing system, computer-readable recording medium storing program for controlling apparatus
EP3734444A1 (en) Window management method
US20210194949A1 (en) Systems and methods for accessing multiple resources via one identifier
KR102015108B1 (ko) 이종 서비스 간 서비스 제공 방법과 사용자 단말 및 웹 서버
CN114629921A (zh) 云平台及其提供的对象存储服务的桶管理方法
KR101800280B1 (ko) 보안 페이지 실행 방법 및 이를 수행하는 단말
US9356932B2 (en) Dynamically applying a control policy to a network
KR101977428B1 (ko) 애플리케이션용 콘텐츠 핸들링 기법
US10263992B2 (en) Method for providing browser using browser processes separated for respective access privileges and apparatus using the same
US10318745B2 (en) Access control system and access control method
WO2020224108A1 (zh) Url拦截转换方法、装置以及计算机设备
JP5665984B2 (ja) クライアント装置、ウェブデータの権限管理方法をコンピュータで行わせるための記録媒体、及び権限管理情報提供装置とその方法
US11729246B2 (en) Apparatus and method for determining types of uniform resource locator
KR101539139B1 (ko) 보안 및 성능 모두를 만족시키기 위한 필터링 방법 및 시스템
KR20090038980A (ko) 네트워크 공유폴더 접근 제어 장치 및 방법
JP6350235B2 (ja) 情報処理装置、情報処理装置制御方法及び情報処理装置制御プログラム

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