KR20140043068A - 애플리케이션 증명을 위한 시스템 및 방법 - Google Patents

애플리케이션 증명을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20140043068A
KR20140043068A KR1020137024800A KR20137024800A KR20140043068A KR 20140043068 A KR20140043068 A KR 20140043068A KR 1020137024800 A KR1020137024800 A KR 1020137024800A KR 20137024800 A KR20137024800 A KR 20137024800A KR 20140043068 A KR20140043068 A KR 20140043068A
Authority
KR
South Korea
Prior art keywords
application
attestation
server
peer
user
Prior art date
Application number
KR1020137024800A
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=46653839&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20140043068(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 타세라, 아이엔씨. filed Critical 타세라, 아이엔씨.
Publication of KR20140043068A publication Critical patent/KR20140043068A/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

계장화된 기계 또는 타겟 애플리케이션을 구비한 플랫폼이 개시된다. 증명 서비스는 내성 기반의 유도된 보안 컨텍스트 그리고 검사된 런타임 로컬 실행을 기술하는 복수의 속성 값 주장들 중 적어도 하나를 구비한 애플리케이션 선언 그리고 연관된 이름을 가지는 애플리케이션 아티팩트를 생성할 수 있을 것이다. 상기 애플리케이션 선언들은 상기 계장화된 타겟 플랫폼 상에서 동작하는 애플리케이션의 문맥상 신뢰성의 레벨을 거의 실시간으로 나타낼 수 있을 것이다. 런타임 프로세스 그리고 네트워크 모니터는 타겟 애플리케이션의 로컬 런타임 실행 컨텍스트를 조사할 수 있을 것이며, 그리고 신원 공급자는 상기 타겟 애플리케이션의 증명에 대한 웹 서비스들 질의를 기반으로 하여 상기 웹 애플리케이션에게 사용자를 인증시킬 수 있을 것이다. 물리적인 또는 논리적인 위임 서비스는 인증된 사용자의 상기 타겟 애플리케이션으로의 액세스를, 상기 증명 서비스에 의해서 발행된 멀티-팩터 애플리케이션 증명 그리고 동적인 애플리케이션 선언을 기반으로 하여 제어할 수 있을 것이다.

Description

애플리케이션 증명을 위한 시스템 및 방법{System and method for application attestation}
본 발명은 2011년 2월 17일에 출원된 "SYSTEM AND METHOD FOR APPLICATION ATTESTATION" 제목의 미국 임시 출원 No. 61/443,854에 대한 우선권의 이익을 주장하며, 상기 출원은 그 전체가 참조로 편입된다.
본 출원의 개시는 데이터 센터 시각화에 관한 것이며, 더욱 상세하게는, 런타임에 애플리케이션들의 증명을 제공하는 시스템 및 방법에 관련된다.
컴퓨팅에서의 한 가지 근래의 경향은, 예를 들면, 기업 소프트웨어가 더 이상 소비자의 소유가 아니며, 대신에 서드 파티에 의해서 정보 기술 하부구조가 제공될 수 있으며 그리고 소프트웨어 애플리케이션들은 서비스 요청들에 따라 판매될 수 있는 클라우드 컴퓨팅으로 향한 경향이다.
본 발명은 클라우드 컴퓨팅 환경에서 애플리케이션 증명을 위한 시스템 및 방법을 제공하려고 한다.
본 발명의 개시된 기술은 또한 하나 또는 그 이상의 애플리케이션들을 발견하고 그리고/또는 복수의 주장들 (또는 선언들)을 사용하여 또는 기반으로 하여 런타임에서 계장화된 (instrumented) 타겟 플랫폼 상의 애플리케이션들에 대해 증명을 하는 방법, 장치 및/또는 시스템으로서 구현될 수 있을 것이다.
본 발명의 개시된 기술은 또한 복수의 팩터들을 기반으로 하여 동적 애플리케이션 발견, 확인, 모니터링 및/또는 증명을 이용하여 클라우드 컴퓨팅 환경에서 시야, 제어, 및/또는 컴플라이언스 (compliance)를 가능하게 하는 복수의 서비스들을 위한 방법, 장치, 및/또는 시스템으로서 구현될 수 있을 것이다.
본 발명의 개시된 기술은 또한, 예를 들면, 네트워크 패킷들에서 헤더 캡슐화와 연관된 토폴로지 기반의 좌표들 대신에, 컨텍스트-인식 (context-aware) 비즈니스 로직을 기반으로 제공된 보안 제어 및/또는 애플리케이션들의 동적인 주장을 기반으로 하는 사용자-대-애플리케이션 연결들을 설립하기 위한 추가의 방법, 장치 및/또는 시스템으로서 구체화될 수 있을 것이다.
본 발명의 개시된 기술은 애플리케이션의 동적 주장을 기반으로 하는 인증 단계 동안에, 설립된 연결에서의 데이터 교환 및/또는 사용자-대-애플리케이션 트랜잭션들을 위임하기 위한 추가의 방법, 장치 및/또는 시스템으로서 또한 구현될 수 있을 것이다.
본 발명의 개시된 기술은 런타임 모니터가 상기 계장화된 타겟 플랫폼 상에서 동작하는 웹 애플리케이션 및 비-웹 애플리케이션 (예를 들면, 모든 웹 및 비-웹 애플리케이션들)을 검사하기 위한 추가의 방법, 장치 및/또는 시스템으로서 또한 구현될 수 있을 것이다. 상기 시스템은 증명 서버를 이용하고 그리고 애플리케이션 아티팩트들을 생성하고 그리고/또는 애플리케이션 선언들 또는 클레임 (claim)들을 발행하도록 구성된 증명 서비스 (또는 브로커)를 포함할 수 있을 것이다. 상기 애플리케이션 아티팩트는 식별된 애플리케이션 인스턴스를 (예를 들면, 런타임에서, 세계적으로, 유일하게, 불명확하게 그리고/또는 시간-민감 방식으로, 예를 들면, 특정된 또는 미리 정해진 수명을 가진 애플리케이션 아티팩트를 이용하여) 계장화된 플랫폼 (개인용 디지털 보조장치 (Personal Digital Assistant (PDA)), 타블렛 컴퓨팅 기기, iPhone™, iPod™, iPad™, Google Inc.로부터의 안드로이드 오퍼레이팅 시스템 (OS)를 동작시키는 기기, Microsoft Windows Mobile OS를 실행하는 기기, Microsoft Windows Phone OS를 실행하는 기기, Symbian OS를 실행하는 기기, Hewlett Packard, Inc.로부터의 webOS를 실행하는 기기, 모바일 전화기, BlackBerry 기기, 스마트폰, 핸드 헬드 컴퓨터, 넷북 컴퓨터, 팜탑 컴퓨터, 랩탑 컴퓨터, 울트라-모바일 PC, 휴대용 게이밍 시스템, 게이밍 콘솔, 또는 컴퓨터를 구비한 다른 유사한 유형의 컴퓨팅 기기, 마이크로프로세서를 포함하지만 그것들로 한정되지 않는다) 상에 나타낼 수 있을 것이다. 상기 애플리케이션 선언들은 검사된 런타임 실행 컨텍스트 그리고/또는 인텔리전스 기반의 보안 컨텍스트에 관한 적어도 하나의 선언 (또는 클레임)을 포함할 수 있을 것이다.
상기 런타임 모니터는 로컬 주장 프로세스를 이용한 이후에 상기 애플리케이션의 실행 컨텍스트를 검사하도록 구성될 수 있을 것이다. 각각의 개별 애플리케이션의 실행 컨텍스트는 연관된 파일들, 프로세스들, 그리고/또는 네트워크 사건들 (예를 들면, 소켓 이벤트들)을 포함할 수 있을 것이다. 상기 시스템은 컴퓨팅 플랫폼 (예를 들면, 상기 계장화된 타겟 플랫폼) 상의 타겟 애플리케이션의 보안 컨텍스트 그리고 그 애플리케이션의 증명에 대한 요청을 기반으로 하여 웹 또는 비-웹 애플리케이션들 (예를 들면, 클라이언트-서버 애플리케이션 또는 피어-대-피어 애플리케이션)에 사용자를 인증하도록 구성된 임의 유형의 신원 공급자를 포함할 수 있을 것이다.
본 발명의 개시된 기술은 또한 하나 또는 그 이상의 발행된 (예를 들면, 상기 증명 서비스 또는 다른 엔티티에 의해서 발행된) 애플리케이션 선언들에 응답하여, 상기 계장화된 타겟 플랫폼 상의 타겟 애플리케이션으로의 상기 인증된 사용자의 물리적인 액세스를 제어하기 위한 네트워크 액세스 집행자 (network access enforcer)를 포함하는 방법, 장치 그리고/또는 시스템으로서 구현될 수 있을 것이다.
본 발명의 개시된 기술은 또한 하나 또는 그 이상의 발행된 (예를 들면, 상기 증명 서비스에 의해서 발행된) 애플리케이션 선언들에 응답하여, 상기 계장화된 타겟 플랫폼 상의 타겟 애플리케이션과의 트랜잭션들을 시작하기 위해서 상기 인증된 사용자의 위임 (authorization)을 제어하기 위한 신원 공급자 (identity provider)를 포함하는 다른 방법, 장치 및/또는 시스템으로서 구현될 수 있을 것이다.
본 발명의 개시된 기술은 동작하는 애플리케이션 인스턴스 (예를 들면, 사용자 프로그램 또는 서비스 프로그램)를 위해서 등록된 이름 (예를 들면, 등록된 세계적으로 유일한 보안 주된 이름)을 적어도 포함하는 애플리케이션 아티팩트를 구비하여 또한 구체화될 수 있을 것이다. 상기 증명 서비스는 상기 계장화된 타겟 플랫폼 상에서 동작하는 애플리케이션 인스턴스의 런타임 로컬 실행 컨텍스트를 기반으로 하여 아티팩트를 생성하도록 구성될 수 있을 것이다.
본 발명의 개시된 기술은 또한 다음의 것들 중 적어도 하나를 포함할 수 있을 하나 또는 그 이상의 애플리케이션 선언들 또는 클레임들로 구체화될 수 있을 것이다: (1) 상기 동작 애플리케이션 인스턴스에 대해서 등록된 이름 (예를 들면, 등록된 세계적으로 유일한 보안의 주된 이름; (2) 디지털로 사인된 증명서; (3) 타임스탬프 생성 그리고/또는 수정; (4) 복수의 합작 서비스들로부터의 보안 컨텍스의 주장들; (5) 액티브 리스닝 그리고/또는 (예를 들면, 잘 알려진 그리고/또는 일시적인) 개방 네트워크 포트들의 목록; (6) 상기 애플리케이션에 의해 사용된 네트워크 주소들; (7) 제품 공표자; (8) 제품 버전; 및/또는 (9) 다른 런타임 로컬 실행 컨텍스트 정보.
본 발명의 개시된 기술은 또한 하나 또는 그 이상의 애플리케이션 선언들 그또는 클레임들로 또한 구현될 수 있을 것이며, 이는 하나 또는 그 이상의 동작 애플리케이션들의 내성적 보안 컨텍스트에 관한 속성 값 주장들을 포함할 수 있을 것이다. 상기 내성적 보안 컨텍스트는 복수의 합작 서비스들 중 하나 (예를 들면, 임의의 하나)로부터 수신될 수 있을 것이다.
본 발명의 개시된 기술은 또한 복수의 합작 서비스들로 구현될 수 있을 것이며, 이는: (1) 애플리케이션 화이트리스팅 서비스들 (예를 들면, 임의 애플리케이션 화이트리스팅 서비스들); (2) 취약성 평가 서비스; (3) 패치 관리 서비스; (4) 앤티-바이러스 서비스; (5) 예측적인 그리고 행동에 관한 분석 엔진; (6) 조정 (orchestration) 서비스; (7) 네트워크 침입 탐지 및 방지 서비스; (8) 개방 흐름 스위치 제어기; 및/또는 (9) 악성코드 (malware) 분석 시스템을 포함할 수 있을 것이다.
본 발명의 개시된 기술은: (1) 단일의 사인-온 서비스 또는 중개된 인증 서비스를 포함할 수 있는 신원 공급자; (2) 네트워크 액세스 집행자로 또한 구체화될 수 있을 것이며, 상기 네트워크 액세스 집행자는, 예를 들면, 네트워크 방화벽들, 부하 균형자들, 및/또는 VPN 게이트웨이를 포함할 수 있으며, 그리고 애플리케이션 선언들 또는 클레임을 기반으로 하는 액세스를 제어하기 위해서 정책 집행 포인트로서 구성될 수 있을 것이다.
본 발명의 개시된 기술은 웹 애플리케이션 (예를 들면, 컨테이너 요소 내의 서블릿 (servlet))의 인증을 평가하기 위한 방법, 장치 및/또는 시스템으로서 또한 구현될 수 있을 것이다. 상기 방법은 웹 애플리케이션에 대한 런타임 애플리케이션 아티팩트를 증명 서버로부터 요청하고 그리고 애플리케이션 안티팩트를 기반으로 하여 상기 증명 서비스로부터 애플리케이션 선언을 요청하는 단계를 포함할 수 있다. 상기 방법은 상기 계장화된 타겟 플랫폼 상의 웹 애플리케이션에 대한 컨텍스트 (예를 들면, 내적 기반의 보안 컨텍스트)를 예를 들면 상기 증명 서비스에 의해서 복수의 합작 서비스들로부터 요청하는 단계를 더 포함할 수 있을 것이다. 상기 방법은 상기 계장화된 타겟 플랫폼 그리고 증명 서비스를 제공하는 서버 사이에 통신 채널 (예를 들면, 안전한 통신 채널)을 설립하는 단계, 그리고 상기 웹 애플리케이션의 적어도 하나의 컴포넌트에 대응하는 애플리케이션 선언을 생성하는 단계를 또한 포함할 수 있을 것이다. 상기 방법은 부모/자녀 연관 및/또는 로더 종속성 (loader dependency)을 기반으로 하여 애플리케이션 컴포넌트들에 관한 진술을 생성하고 그리고 그 애플리케이션 진술을 신원 공급자에게 전송하는 단계를 포함할 수 있을 것이다. 상기 방법은 수동적인 웹 클라이언트 또는 브라우저에 포함될 그리고 랜더링될 상기 웹 애플리케이션의 멀티-팰터 신뢰 메트릭을 생성하는 단계를 더 포함할 수 있을 것이다.
본 발명의 개시된 기술은 또한 비-웹 클라이언트-서버 애플리케이션 그리고/또는 피어-대-피어 애플리케이션의 인증을 평가하기 위한 다른 방법, 장치 및/또는 시스템으로서 구현될 수 있을 것이다. 상기 방법은, 예를 들면, 런타임 모니터에 의해서, 상기 애플리케이션에 대해 증명 서비스로부터 애플리케이션 아티팩트를 요청하는 단계 그리고, 예를 들면, 네트워크 액세스 집행자(들)에 의해서 상기 증명 서비스로부터 애플리케이션 선언을 요청하는 단계를 포함할 수 있을 것이다. 상기 방법은 상기 계장화된 타겟 플랫폼 상의 애플리케이션을 위한 컨텍스트 (예를 들면, 내성 기반의 보안 컨텍스트)를 복수의 합작 서비스들로부터 상기 증명 서비스에 의해서 요청하는 단계를 더 포함할 수 있을 것이다. 상기 방법은 상기 계장화된 타겟 플랫폼 상의 애플리케이션의 실행 컨텍스트 내에서의 변경 (예를 들면, 임의의 변경)의 통지 또는 그 변경으로의 예약을 요청하는 단계를 또한 포함할 수 있을 것이다. 상기 방법은 복수의 신원 공급자 및/또는 네트워크 액세스 집행자들에 의한 예약 요청 중 적어도 하나를 기반으로 하여 상기 애플리케이션에 관한 (관련된) 하나 또는 그 이상의 애플리케이션 선언들 또는 클레임들을 생성하고 그리고 발표하는 단계를 추가적으로 포함할 수 있을 것이다. 상기 방법은 물리적인 또는 논리적인 액세스 제어 결정을 위해 상기 애플리케이션의 멀티-팩터 신뢰 메트릭을 수신하고 또는 생성하고, 그리고 발표하는 단계를 더 포함할 수 있을 것이다.
본 발명의 개시된 기술은 또한 트랜잭션 또는 데이터 교환 (예를 들면, 임의의 트랜잭션 또는 데이터 교환)을 시작하기 이전에 피어들의 인증을 평가하기 위한 클라이언트-서버 및/또는 피어-대-피어 애플리케이션용의 방법, 장치 및/도는 시스템으로서 또한 구현될 수 있을 것이다. 상기 방법은 각 애플리케이션에 대해 상기 증명 서비스 (또는 증명 서버)로부터 애플리케이션 아티팩트를 요청할 수 있을 클라이언트-서버 애플리케이션 그리고/또는 피어-투-피어 애플리케이션을 포함할 수 있을 것이며, 그리고 아티팩트 교환을 기반으로 하여 하나 또는 그 이상의 애플리케이션 선언들을 각 피어 애플리케이션에 대해 상기 증명 서비스로부터 더 요청할 수 있을 것이다. 상기 방법은 상기 증명 서비스에 의해, 복수의 합작 서비스들로부터 상기 계장화된 타겟 플랫폼들 상의 이 애플리케이션들을 위한 컨텍스트 (예를 들며, 내성 기반의 보안 컨텍스트)를 요청하는 단계를 더 포함할 수 있을 것이다. 상기 방법은 상기 발행된 애플리케이션 아티팩트들을 상기 애플리케이션들 사이에서 안전하게 교환하는 것, 그리고 (상기 증명 서비스와 교환된 아티팩트들의 백-채널 검증과 같은) 검증 프로세스를 더 포함할 수 있을 것이다. 이 방법은 하나 또는 그 이상의 애플리케이션 선언들을 상기 교환된 애플리케이션 아티팩트를 기반으로 하여 (또는 응답하여) 상기 증명 서비스로부터 요청하는 단계, 그리고 상기 애플리케이션 선언들을 수신한 것에 응답하여 상기 피어 애플리케이션들에 의해, 또는 하나 또는 그 이상의 애플리케이션 선언들을 수신하는 네트워크 액세스 집행자(들)에 의해서, 상기 트랜잭션 내 다른 또는 각 애플리케이션의 인증을 결정하는 단계를 더 포함할 수 있을 것이다.
본 발명의 개시된 기술은 클라우드 컴퓨팅 하부구조에서 사설의 그리고/또는 공개의 가상 데이터 센터들에서 호스팅되는 실행 또는 동작 (예를 들면, 모두 동작하는) 애플리케이션들의 증명 정보, 속성 그리고/또는 신원을 실시간으로 또는 거의 실시간으로 (예를 들면, 문턱 구간 내에) 디스플레이하고 그리고 계속해서 업데이트하기 위한 방법, 장치 및/또는 시스템으로서 또한 구현될 수 있을 것이다. 상기 방법은 하나 또는 그 이상의 분류 기반의 신뢰 매트릭들 그리고 액티브 리스닝 그리고/또는 복수의 계장화된 타겟 플랫폼들 상으로 할당된 (예를 들면, 잘 알려진 그리고 일시적인) 개방 네트워크 포트들을 디스플레이하는 단계를 포함할 수 있을 것이다.
본 발명의 개시된 기술은 사용자 인증 방법, 사용 역할, 계장화된 타겟 플랫폼 상에서 동작하는 동적으로 발견된 그리고 증명된 애플리케이션을 기반으로 하는 액세스 제어 정책들을 가입 기반의 애플리케이션 선언들을 경유하여 증명 서비스로부터 설립하기 위한 방법, 장치 및/또는 시스템으로서 또한 구현될 수 있을 것이다. 상기 방법은 네트워크 구성 (예를 들면, IP 주소, MAC 주소, VLAN 식별자들, 그리고/또는 서브넷 주소들)에서의 네트워크 토폴로지 기반의 물리적인 제한들로부터 비즈니스 로직 (역할 기반의 액세스 제어들, 인증 요구사항들, 그리고/또는 비즈니스 애플리케이션들의 라인)을 분리하는 단계를 또한 포함할 수 있을 것이며 그리고 정책 문법 내에 컨텍스트-인식 논리적 속성들 (사용자 신원 그리고/또는 애플리케이션 신원)을 포함할 수 있을 것이다. 상기 방법은 분류 기반의 동적인 신뢰 매트릭들 [이는 위임 결정들을 위해서 사용된 애플리케이션 선언에 포함될 수 있다]을 레버리지 (leverage)할 수 있을 액세스 제어 규칙들을 설립하는 단계를 더 포함할 수 있을 것이다.
본 발명의 효과는 본 명세서의 해당되는 부분들에서 개별적으로 명시되어 있다.
본 발명은 아래의 상세한 설명을 첨부된 도면들과 연결하여 읽으면 최선으로 이해된다. 공통의 관습에 따라, 상기 도면들의 다양한 특징들/요소들은 크기에 맞추어서 그려진 것이 아닐 수 있다. 공통의 참조번호들은 유사한 특징들/요소들을 나타낸다. 다음의 그림들이 도면에 포함된다.
도 1은 다양한 예시적인 실시예들에 따른 예시적인 시스템/구조를 도시한 개략적인 도면이다.
도 2는 다양한 예시적인 실시예들에 따른 클라우드 컴퓨팅 환경에서 애플리케이션들을 모니터링하고 증명하는 방법을 도시한 개략적인 도면이다.
도 3은 다양한 예시적인 실시예들에 따른 클라우드 컴퓨팅 환경에서 애플리케이션들을 모니터링하고 증명하는 다른 방법을 도시한 개략적인 도면이다.
도 4는 다양한 예시적인 실시예들에 따른 클라우드 컴퓨팅 환경에서 애플리케이션들을 모니터링하고 증명하는 추가의 방법을 도시한 개략적인 도면이다.
도 5는 다양한 예시적인 실시예들에 따른 단순 인증 및 보안 계층 (Simple Authentication and Security Layer (SASL)) 기능의 클라이언트 및 서버 애플리케이션을 모니터링하고 증명하는 방법을 도시한 개략적인 도면이다.
도 6은 다양한 예시적인 실시예들에 따른 인테그리티 대시보드 (integrity dashboard)를 포함하는 예시적인 보안 관리 콘솔을 도시하는 개략적인 도면이다.
도 7은 다양한 예시적인 실시예들에 따른 인증 대시보드를 포함하는 예시적인 정책 관리 콘솔을 도시하는 개략적인 도면이다.
도 8은 본원에서 개시된 기술의 다양한 예시적인 실시예들에 따른 방법을 도시한 흐름도이다.
도 9는 본원에서 개시된 기술의 다양한 예시적인 실시예들에 따른 방법을 도시한 흐름도이다.
도 10은 본원에서 개시된 기술의 다양한 예시적인 실시예들에 따른 방법을 도시한 흐름도이다.
도 11은 본원에서 개시된 기술의 다양한 예시적인 실시예들에 따른 방법을 도시한 흐름도이다.
도 12는 본원에서 개시된 기술의 다양한 예시적인 실시예들에 따른 방법을 도시한 흐름도이다.
도 13은 본원에서 개시된 기술의 다양한 예시적인 실시예들에 따른 방법을 도시한 흐름도이다.
도 14는 실시예들이 실행될 수 있는 예시의 컴퓨터 시스템의 도면이다.
비록 본 발명이 여기에서는 특정 실시예들을 참조하여 도시되고 설명되지만, 본 발명은 보여진 상세한 내용들로 한정되는 것으로 의도된 것이 아니다. 오히려, 청구범위의 범위 및 등가물의 범위 내의 상세한 내용 내에서 그리고 본 발명의 범위에서 벗어나지 않으면서 다양한 수정들을 할 수 있을 것이다.
많은 기업들은 다양한 이유들로 IT 하부구조 (infrastructure)들에서 클라우드 컴퓨팅 환경들로 이동하며 (이 환경에서, 예를 들면, 서드 파티들은 공유 컴퓨팅 자원들을 제공할 수 있을 것이며 그리고 그 자원들 상에서 동작하는 (running) 애플리케이션들은 복수의 소비자들에게 서비스들로서 요청된다), 상기 다양한 이유들은 다음을 포함한다: 많은 가운데에서 (1) 증가된 컴퓨팅 네트워크; (2) 증가된 저장 용량, 그리고/또는 (3) 증가된 네트워크 대역폭. 기업 애플리케이션들 그리고 절대적으로 필요한 (mission critical) 애플리케이션들은 클라우드에서 실행될 수 있을 것이다. 알맞은 시스템 및 애플리케이션 보안이 없으면, 클라우드는 이런 애플리케이션들과 타협하여 많은 재정적인 손실들을 초래할 수 있다. 그런 애플리케이션들이 이 서드 파티들에 의해서 제어될 수 있을 때에조차 데이터 기밀성, 데이터 완전 그리고 데이터 가용성은 클라우드 컴퓨팅 환경에서 유지될 수 있다. 예를 들면, 기업들은 자체적으로 관리된 사내 (self-managed on-premise) 데이터 센터들로부터 서비스-공급자 관리된 아웃소싱 가상 데이터 센터들 (예를 들면, 클라우드 컴퓨팅 환경들)로 이동하고 있다. 클라우드는 전통적인 정보 기술 시스템들 그리고 애플리케이션들이 이 서비스-공급자들 관리된 아웃소싱 가상 데이터 센터들로부터 투명하게 실행하는 것을 가능하게 한다. 더 새로운 기술들이 나타남에 따라, 클라우드 하부구조는 기업 운영들에 투명하고 그리고 크기조절 가능하게 진화할 수 있을 것이다. 그런 환경들에서의 보안은 최근의 도전일 수 있다.
특정 예시적인 실시예들에서, 지원자들은 (예를 들면, 단일 팩터 또는 다중-팩터 증명을 경유하여) 증명 프로세스를 이용하여 네트워크 상으로 등록하거나 또는 애플리케이션들을 인증함으로써 안전해질 수 있을 것이다. 다중-팩터 (factor) 프로세스에서, 애플리케이션들은 적어도 두 개의 팩터들을 기반으로 하여 자격이 주어질 수 있을 것이다. 첫 번째 팩터는 무엇보다도 (1) 애플리케이션 지문으로서 그 애플리케이션의 해시 (hash), (2) 그 애플리케이션에 의해서 호출되는 다른 애플리케이션/프로세스들, (3) 그 애플리케이션이 사용하는 포트들, (4) 그 애플리케이션에 의한 컴퓨팅, 저장, 그리고 네트워크 자원들, 그리고/또는 (5) 그 애플리케이션을 실행시키는 플랫폼과 같은 상기 애플리케이션의 하나 또는 그 이상의 속성들 (예를 들면, 상기 애플리케이션의 런 타임 인스턴스)을 확인할 것이다. 그런 정보는 현재의 실행 환경 내 (예를 들면, 그 애플리케이션을 실행시키는 컴퓨팅 플랫폼에서) 로컬로 이용 가능할 수 있을 것이다. 두 번째 팩터는 상기 애플리케이션의 상기 속성들을 기반으로 하여 상기 애플리케이션에 관해서 알려진 것을 운영 환경에 외부인 보안 인텔리전스 (예를 들면, 상기 애플리케이션을 동작시키는 컴퓨팅 플랫폼과는 분리된 서드 파트 (예를 들면, 신뢰성있는 서드 파티))로부터 확인할 수 있을 것이다.
자체적으로 관리되고 그리고 사내에 있는 기업 데이터 센터들에서 호스팅되는 애플리케이션들이 비밀/공개 클라우드들 내 아웃소싱 서비스 제공자 관리 가상 데이터 센터들로 점차적으로 이동되고 있을 것이다. 이 이동으로부터 가시적이며 직접적인 제어의 손실이 있을 수 있다. 다양한 예시적인 실시예들은 가시성을 증가시키고 그리고 상기 아웃소싱 서비스 제공자 관리 가상 데이터 센터들에서의 애플리케이션들의 실행을 증명하는 것을 가능하게 하기 위해서 프로세싱 중인 애플리케이션들을 모니터하기 위한 기계류를 포함한다. 웹 그리고 멀티-티어 (multi-tier) 애플리케이션들이 클라우드 내에서 급격히 늘면서, 서드 파티 증명 기관들에 의해서 발행된 증명서들을 기반으로 하는 보안 접속성이 보안 및 승낙을 위해서 불충분할 수 있을 것이며, 이는 수많은 웹-기반의 위협들이 신뢰받는 웹 사이트들로부터 기원하기 때문이다.
일반적으로, 액세스 제어 메커니즘들은 논리적인 속성들 그리고 동적인 로컬 실행 컨텍스트 및/또는 (예를 들면, 로컬 실행 컨텍스트 그리고 보안 인텔리전스 둘 모두를 기반으로 하는) 전체론적인 보안 컨텍스트가 아니라 정적인 컨텍스트 및 물리적인 제한들을 기반으로 한다. 사용자-대-애플리케이션 묶음들 (binding)을 기반으로 하는, 비즈니스 논리의 작동적인 요소로서의, 물리적인 그리고 논리적인 액세스 제어들 그리고 가상되된 그리고 유동적인 네트워크 내의 논리적인 속성들은 서비스 모듈로서 (활용 기반의 하부구조, 플랫폼 그리고/또는 소프트웨어용의) 클라우드 컴퓨팅 환경에서 사용될 수 있을 것이며, 그래서 보유자들 사이에서 결정론적인 기밀성을 가지는 멀티-테넌트 (multi-tenant, 다중소유) 또는 공유된 자원들을 위해서 실용적이고 그리고/또는 기준화 (scale)하도록 한다.
상기 액세스 제어 메커니즘은 계장화된 (instrumented) 타겟 (호스팅) 컴퓨팅 플랫폼, 특정 애플리케이션의 런타임 베이스를 기반으로 하는 정책 선언 (예를 들면, 문법), 물리적인 제한들 또는 실행 방법들에 독립적인 일시적인 그리고 환경적인 컨텍스트, 상호 작용하는 (interactive) 사용자들에게 통지하기 위한 증명 브로커 (서비스 또는 서버), 네트워크 액세스 집행자들 그리고 신원 제공자들을 포함할 수 있을 것이다.
싱글-사인-온 (single-sign-on (SSO)) 메커니즘들 그리고 멀티-티어 (multi-tier) 애플리케이션들 (예를 들면, 웹, 애플리케이션들, 데이터베이스 티어들)의 합류는 아웃소싱 멀티-테넌트 클라우드 서비스 하부구조에서의 비-준수의 더 높은 위험들을 가져올 수 있을 것이다. 신뢰성 있는 증명 방법들이 없으면, 사용자의 신임장들을 구현하고 그리고 위임하는 것은 서비스 간 트랜잭션들이 암시적인 신뢰를 기초로 할 수 있을 클라우드 내부(intra-cloud) 및 클라우드 간 (inter-cloud) 컴퓨팅 환경들 둘 모두에 대해서, 예를 들면, 서비스들의 멀티-홉 이행 (transitive) 체인에서의 심각한 보안 위협들을 제기할 수 있을 것이다.
도 1은 다양한 실시예들에 따른 예시적인 네트워크 (150)를 도시하는 개략적인 도면이다.
도 1을 참조하면, 상기 예시적인 네트워크 (150)는 컴퓨팅 플랫폼 (또는 계장화된 타겟 플랫폼) (100) 상에서 실행되고 있거나 또는 동작하고 있을 웹-기반의 애플리케이션 (103) 또는 비-웹-기반 애플리케이션 (104)을 발견하고 그리고 식별할 수 있을 런타임 모니터 (102), 동작하는 애플리케이션의 신원을 입증하기 위한 요청을 수신할 수 있으며 그리고 상기 동작하는 애플리케이션의 컨텍스트 (예를 들면, 보안 컨텍스트 그리고/또는 내성 (introspection) 기반의 보안 컨텍스트)를 요청하기 위해서 하나 또는 그 이상의 협동 서비스들 (110)에게 질의할 수 있을 증명 브로커 (108)를 포함할 수 있을 것이다. 상기 애플리케이션은, 예를 들면, 애플리케이션이 사용하기에 적절한 보장 또는 증명을 원할 수 있을 능동의 또는 수동의 클라이언트 애플리케이션 (116)을 경유하여 사용자 (또는 최종 사용자) (115)에 의해서 동작될 수 있을 액세스 요청자 (114) (예를 들면, 다른 컴퓨팅 플랫폼)에 의해 사용될 용도로 정해진 애플리케이션일 수 있다.
상기 증명 브로커 (109) (또는 상기 합작 서비스 (110))는 상기 동작하는 타겟 애플리케이션에 관한 주장들을 포함할 수 있을 선언들 또는 리포트들 (117)을 생성하도록 구성될 수 있으며, 그리고 그 선언들 또는 보고들 (117)을 상기 요청자, 상기 서드 파티, 그리고/또는 최종 사용자에게 전달할 수 있을 것이다. 상기 플랫폼 (100)은 예를 들면 임의의 컴퓨팅 기기 (101) 그리고/또는 가상 플랫폼을 포함할 수 있을 것이다 (예를 들어, 여러 가지 중에서도 컴퓨터, 마이크로프로세서, 개인용 디지털 보조장치 (PAD), 스마트폰, 노트북 컴퓨터, 그리고/또는 하드웨어 상에서 동작하는 가상 서버). 상기 컴퓨팅 기기는, 예를 들면, 운영 시스템 소프트웨어, 애플리케이션들, 그리고 런타임 모니터 소프트웨어와 같은 컴퓨팅 플랫폼 소프트웨어를 실행하기 위한 마이크로프로세서 (130) 그리고 데이터, 메타데이터, 그리고 소프트웨어 저장을 위한 메모리 (140)를 포함할 수 있을 것이다.
상기 증명 브로커 (109)는 (예를 들면, 상기 계장화된 플랫폼 (100) 상에서 동작하는 상기 발견된 또는 식별된 애플리케이션들의 상태의 기록을 유지할 수 있을) 애플리케이션 아티팩트들 (107)을 상기 계장화된 플랫폼 (100) 상에서 동작하는 발견된 또는 식별된 애플리케이션들을 위해서 상기 런타임 모니터 (102)로 발행할 수 있을 것이다. 상기 런타임 모니터 (102)는 상기 애플리케이션들의 애플리케이션 실행 컨텍스트 (105)를 기술하기 위해서 속성 값 주장들 (예를 들면, 각 개별의 동작 애플리케이션 (running application)과 연관된 하나 또는 그 이상의 속성 값들에 관련된 주장 (assertion)들)을 생성하기 위해 상기 애플리케이션 아티팩트들 (107)을 이용할 수 있을 것이다.
예를 들면, 상기 증명 서비스 또는 장치는: (1) 런타임에서 애플리케이션의 속성들을 표시하는 런타임 실행 컨텍스트 (105), 그리고 그 애플리케이션에 관한 보안 정보를 제공하는 보안 컨텍스트 (111)를 컴퓨팅 플랫폼 (101)으로부터 원격으로 수신하고; (2) 상기 수신한 런타임 실행 컨텍스트 (105) 및 상기 수신한 보안 컨텍스트 (111)를 기반으로 하여 상기 애플리케이션과 연관된 보안 위험들을 나타내는 리포트 (117)를 증명 결과로서 생성하고; 그리고/또는 (3) 상기 애플리케이션과 연관된 증명 결과를 송신하기 위한 프로세싱 유닛 (135) 그리고 그 생성된 리포트를 저장하기 위한 메모리 (145)를 포함할 수 있을 것이다.
두 번째 예로서, 상기 런타임 모니터 또는 모니터링 장치는, (1) 런타임에서 상기 애플리케이션의 속성을 표시하는 런타임 실행 컨텍스트 (105)를 생성하고; (2) 상기 런타임 실행 컨텍스트 (105)를 상기 증명 서비스 또는 서버 (109)로 송신하고; (3) 런타임 실행 컨텍스트 (105)에 이어지는 변경들을 추적하기 위한 애플리케이션 아티팩트 (107)를 수신하고; 그리고/또는 (5) 변경을 표시하는 애플리케이션의 속성들에 응답하여, 애플리케이션 아티팩트 (107)를 이용하여 상기 런타임 실행 컨텍스트 (105)를 업데이트된 실행 컨텍스트로서 업데이트하고 송신하기 위한 프로세싱 유닛 (130) (예를 들면, 상기 컴퓨팅 플랫폼 (101)과 공유된 프로세서 또는 개별적인 프로세서); 그리고 상기 애플리케이션 아티팩트 (107)를 저장하기 위한 메모리 (140)를 포함할 수 있을 것이다.
상기 애플리케이션 아티팩트는 이전의 주장들을 포함할 수 있을 것이며 또는 상기 애플리케이션을 상기 이전의 주장들에 연관시키는 식별자를 제공할 수 있을 것이다. 상기 애플리케이션 실행 컨텍스트 (105)는 상기 타겟 애플리케이션의 기준 (base) (또는 정적인 (static)), 일시적인 (또는 동적인 (dynamic)) 그리고/또는 환경적인 모습들 또는 속성들을 적어도 포함할 수 있을 것이다. 요청자 (예를 들면, 네트워크 방화벽, 부하 균형자 (load balancer), VPN 게이트웨이, 그리고/또는 보안 토크 서비스 (Security Token Service (STS)), 단일 사인 온 (Single Sign On (SSO)) 솔루션과 같은 신원 공급자 (112)와 같은 네트워크 액세스 집행자 (113))는 상기 증명 브로커 (109)로부터의 애플리케이션 주장들 또는 리포트들 (117)에 대해 서명 (subscribe)할 수 있을 것이다.
어떤 예시적인 실시예들에서, 상기 계장화된 플랫폼 (100) 상에서 상기 애플리케이션 실행 컨텍스트 (105)를 위한 속성 값 주장들을 상기 런타인 모니터 (102)에 의해 생성하는 것은, 예를 들면, 상기 동작하는 타겟 애플리케이션 (103 또는 104)의 로딩된 (예를 들면, 모든 로딩된 그리고/또는 프로세스 중인) 컴포넌트들에 대한 파일 해시 요약들 그리고/또는 파일 속성들 (예를 들면, 파일 크기, 발행자 상세 사항들, 타임스탬프들 생성 및/또는 수정, 디지털 서명들, 그리고 제품 버전들)의 수집을 포함한다. 상기 애플리케이션 실행 컨텍스트 (105)는 부모-자녀 프로세스 연합들 (parent-child process associations) 및/또는 로더 종속성들 (loader dependencies), 액티브 리스닝 (active listening)에 관한 정보 그리고/또는 잘 알려지거나 또는 일시적인 (ephemeral) 개방 네트워크 포트들을 포함할 수 있을 것이다. 상기 애플리케이션 실행 컨텍스트 (105)는 실행 가능한 파일 이진수들을 또한 포함할 수 있을 것이다. 상기 런타임 모니터 (102)는 상기 수집을 생성하고 그리고 디지털로-서명된 리포트로 애플리케이션 실행 컨텍스트 통보에서 상기 증명 브로커 (109)로 보고할 수 있을 것이다.
어떤 예시적인 실시예들에서, 합작 서비스들 (110)을 이용하는 상기 타겟 계장화된 플랫폼 (100) 상의 동작 타겟 애플리케이션 (103)의 평가의 (또는 평가를 기반으로 하는) 결과로서, 상기 증명 브로커 (109)는 애플리케이션 선언 통지 (118)를 경유하여 애플리케이션 선언들 또는 리포트들 (117)을 발생할 수 있을 것이다. 상기 발행된 애플리케이션 선언들 또는 보고들 (117)은 디지털-사인될 수 있을 것이며, 또는 상기 애플리케이션 인스턴스의 이름 (예를 들면, 상기 애플리케이션 인스턴스의 글로벌하게 유일한 보안의 주된 이름 또는 다른 애플리케이션 식별자)을 그것의 애플리케이션 식별자로서 포함할 수 있을 것이다. 상기 애플리케이션 인스턴스는 사용자 프로그램 또는 서비스 프로그램일 수 있다. 그런 이름의 하나의 예는 "service/hostname@realm" 일 수 있다.
상기 애플리케이션 선언들 또는 리포트들 (117)은 상기 계장화된 플랫폼 (100) 상에서 상기 런타임 실행 컨텍스트 (105) 및 애플리케이션 보안 컨텍스트 (111)를 기계 식별자로서 기술할 수 있을 속성 값 주장들을 포함할 수 있을 것이다. 상기 애플리케이션 식별자는 서비스 디렉토리 내의 등록된 서비스 주된 이름 또는 발행자 지정 제품 이름일 수 있다. 상기 기계 식별자는 무엇보다도 IPv4/IPv6 주소, 디렉토리 네트워크 서비스들 (directory network services (DNS)) 호스트이름, MAC 주소, 시리얼 번호 (예를 들면, IT 또는 제조자 발행 시리얼 번호), RFID, 그리고/또는 다른 기기 식별자들일 수 있다. 상기 증명 브로커 (109)는 요청자들 (112, 113 또는 114)로, 하나 또는 그 이상의 평가들 (예를 들면, 상기 타겟 애플리케이션에 대한 애플리케이션 신뢰 평가들)을 포함할 수 있을, 신뢰 메트릭 (metric)을 제공할 수 있을 것이다
상기 신뢰 메트릭은, 예를 들면, 다음의 것들을 기초로 하여 분류될 수 있을 것이다: (1) 상기 애플리케이션의 취약성, (2) 상기 애플리케이션의 컴플라이언스 (compliance), (3) 상기 애플리케이션의 참고용의 완전성, 그리고/또는 (4) 상기 타겟 애플리케이션의 패치 레벨. 이 평가들은 하나 또는 그 이상의 상기 복수의 합작 서비스들 (110)과의 통신 또는 인터액션들을 기반으로 하여 상기 증명 브로커 (109)에 의해서 결정될 수 있을 것이다. 상기 신뢰 메트릭들 (metrics)은 각 분류에 대한 값 그리고/또는 전체적인 값을 포함할 수 있을 것이며, 이 값은 분류 또는 평균에 의해서 가중된다. 상기 가중은 사용자 입력에 기초하여 미리 정해지거나, 미리 세팅되거나 또는 결정될 수 있을 것이다. 상기 신뢰 메트릭들은 하나 또는 그 이상의 상기 합작 서비스들 (110)의 평가의 숫자 표현일 수 있다.
어떤 예시적인 실시예들에서, 상기 애플리케이션 선언들 또는 리포트들 (117)은 아이콘 또는 다른 표시자 (웹 페이지 상에서 시각적이거나 또는 오디오 표시자 중의 어느 하나, 예를 들면, 웹 페이지 바닥에 있는 아이콘)를 렌더링하기 위해서 수동적인 클라이언트 (116) (예를 들면, 웹 브라우저)에 의해서 사용될 수 있을 것이다. 상기 표시자는 사용자 (115)로의 상기 웹 애플리케이션의 인증의 표시자일 수 있다. 예를 들면, 상기 사용자 (115)는 액세스된 웹 애플리케이션을 위해 상기 증명 브로커에 의해서 발행된 웹 애플리케이션 특정 정보를 보기 위해서 증명 아이콘 상에 클릭할 수 있을 것이다. 상기 증명 브로커 (109)는 그런 증명 서비스를 제공하는 서드 파티 독립적인 그리고 신뢰받는 엔티티일 수 있다. 상기 사용자 (115)는 상기 증명 브로커 (109)에 의해 제공된 상기 애플리케이션 증명이 현재의 것이라는 것을 (예를 들면, 상기 애플리케이션 증명의 수명이 만기가 되지 않았다는 것을) 확인시킬 수 있을 것이다.
상기 사용자 (115) 또는 액세스 요청자 (114) (예를 들면, 상기 사용자의 컴퓨팅 플랫폼)는 상기 증명 브로커 (109)로부터 상기 애플리케이션 선언들 또는 리포트들 (또는 주장들) (117)이 상기 애플리케이션 선언들 (117) 내 타임스탬프들 그리고/또는 메시지 시퀀스를 기반으로 하여 상기 액세스된 웹 애플리케이션의 최근에 (예를 들면, 가장 최근에) 검증된 문맥상 (contextual) 증명을 나타내는 것이라는 것을 확인시킬 수 있을 것이다. 상기 주장들이 가장 최근에 검증된 문맥상 증명이라는 것을 판별하는 것은 복수의 합작 서비스들 (110) 중 하나 또는 그 이상을 경유하여 수집된 통합 정보를 기반으로 할 수 있을 것이다.
상기 애플리케이션 선언들 또는 보고들 (117)은 하나 또는 그 이상의 네트워크 액세스 집행자들 (113) (예를 들면, 네트워크 방화벽들, 부하 균형자 (load balancer)들, VPN 게이트웨이들), 하나 또는 그 이상의 신원 공급자들 (112) (예를 들면, STS 그리고/또는 SSO 서비스들) 그리고/또는 액티브 (active) 클라이언트들 (116) (예를 들면, 단순 인증 및 보안 계층 (Simple Authentication and Security Layer (SASL)이 가능한 클라이언트-서버 그리고/또는 피어-대-피어 애플리케이션들)에 의해서 수신될 수 있을 것이며 그리고 상기 계장화된 플랫폼 (100) 상의 타겟 애플리케이션 (103)에 관한 레버리지 문맥상 (leverage contextual) 정보로 번역될 것이다.
상기 런타임 모니터 (102)는 상기 계장화된 플랫폼 (100)의 오퍼레이팅 시스템 9120) 상의 애플리케이션들의 프로세스 시작 (예를 들면, 모든 프로세스들이 시작함), 프로세서 종료 (예를 들면, 모든 프로세스 종결) 그리고 네트워크 중요 사건들 (예를 들면, 소켓 이벤트들)을 발견하고, 확인하고 그리고 추적할 수 있을 것이다. 동작하는 애플리케이션의 로컬 실행 컨텍스트는 런타임에서 결정될 수 있을 것이며 그리고 통신 채널 (106)을 통한 증명 브로커 서비스 (109)로의 속성 값 주장들로서 보고될 수 있을 것이다.
특정의 예시적인 실시예에서, 상기 통신 채널 (106)은 보안 통신 채널일 수 있으며 그리고/또는 상기 통신 채널은 알려진 암호/해독 방법들을 경유하여 보안이 될 수 있을 것이다. 상기 증명 브로커 (109)는 상기 계장화된 플랫폼 (100) 상에서 동작하는 애플리케이션을 위해서 하나 또는 그 이상의 상기 복수의 합작 서비스들 (110)로부터 내성 (introspection) 기반의 보안 컨텍스트 (예를 들면, 다양한 내성 방법들을 이용하여 시간 기간에 걸쳐서 샘플링된 측정치들 및 이력 상태 정보를 기반으로 하는 평가들 그리고 행동적인 또는 예측적인 분석들)를 요청할 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 합작 서비스들 (110)은 상기 타겟 애플리케이션 및 플랫폼 (100)을 시간에 딱 맞추어서 (just-in-time) 검사하는 것 (예를 들면, 평가 스캔 (assessment scan))을 수행할 수 있을 것이다. 상기 합작 서비스 (110)는, 예를 들면, IT 서비스 관리 스케줄을 기반으로 하여 가장 최근의 검사 리포트를 룩업하고 그리고 그 애플리케이션 실행 컨텍스트 (105)에 속한 요청된 증명들을 상기 요청자들 (112, 113 또는 114)이나 상기 사용자 (115)에게 돌려줄 수 있을 것이다.
상기 증명 브로커 (109)는 상기 동작하는 애플리케이션들 (103 또는 104)을 위해서 애플리케이션 아티팩트 (107)를 생성하고 그리고 상기 애플리케이션들을 위한 이후의 실행 컨텍스트 변경 통지들 (207) (도 2 참조)용의 레퍼런스로서 상기 런타임 모니터 (102)에게 돌려줄 수 있을 것이다. 상기 동작하는 애플리케이션의 로컬 실행 컨텍스트 (105)에서의 변경들 (예를 들면, 임의의 변경들)은, 변경된 로컬 실행 컨텍스트를 구비한 타겟 애플리케이션의 증명을 위해 상기 애플리케이션 선언들 또는 리포트들 (117)을 재발행하기 위해서, 상기 증명 브로커 (109) (예를 들면, 상기 런타임 모니터 (102)에 의한 상기 증명 브로커 (109)로의 통신)와의 인터액션을 촉발시킬 수 있을 것이다. 예를 들면, 상기 타겟 애플리케이션의 해시 (hash)가 변하거나 또는 상기 타겟 애플리케이션 변경들의 파일 크기가 변할 때에, 업데이트된 증명이 상기 런타임 모니터 (102)에 의해서 개시되고 그리고 상기 증명 브로커 (109)에 의해서 제공될 수 있을 것이다. 상기 증명 브로커 (109)는 상기 변경된 타겟 애플리케이션과 연관된 업데이트된 애플리케이션 선언 또는 리포트 (118)를 판별하기 위해서 하나 또는 그 이상의 상기 합작 서비스들 (110)에게 질의할 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 증명 브로커 (109)는 상이한 분류를 기반으로 하여, 복수의 값들의 신뢰 메트릭들 또는 타겟 애플리케이션의 인증에 관한 신뢰 (또는 위험)를 나타내는 단일의 신뢰 값을 제공할 수 있을 것이다. 다른 예시적인 실시예들에서, 상기 증명 브로커 (109)는 상기 신뢰 메트릭들 그리고 표준 포맷의 다른 정보를 제공하여, 상기 요청자들 (112, 113 그리고/또는 114) 또는 런타임 모니터 (102)가 상기 다른 정보의 다양한 속성들을 분석할 수 있도록 한다. 예를 들면, 상기 런타임 모니터 (102)는 애플리케이션 증명 정책들을 저장하거나 또는 그 증명 정책에 액세스할 수 있을 것이며 그리고 상기 타겟 애플리케이션이 상기 요청자에 의한 사용에 대해서 인증되었는가의 여부를 판별하기 위해서 논리적 실행 컨텍스트 그리고 애플리케이션 선언 또는 리포트 (117)를 상기 증명 정책들과 비교할 수 있을 것이다. 상기 신원 공급자 (112)는 사용자 (예를 들면, 인터액티브한 사용자) (115)에 로그인하기 위해서 중개된 (brokered) 인증 의식들을 수행하기 위해서, 예를 들면, 웹 애플리케이션 (103)으로부터 웹 리다이렉트 (redirect)를 수신할 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 웹 애플리케이션 (103)은 애플리케이션 아티팩트 요청 (106)을 경유하여 상기 증명 브로커 (109)로부터 애플리케이션 아티팩트 (107)를 요청할 수 있을 것이다. 상기 웹 애플리케이션 (103)은 상기 수신한 애플리케이션 아티팩트 (107)를 상기 신원 공급자 (112)로의 웹 다이렉트에 포함할 수 있을 것이다. 상기 신원 공급자 (112)는, 상기 웹 애플리케이션 (103)의 인증을 확인하기 위해서 상기 수신한 애플리케이션 아티팩트 (107)가 상기 증명 브로커 (109)에 의해서 발생되었던 것을 확인하기 위해서, 백-채널 질의 (118)를 수행할 수 있을 것이다. 상기 신원 공급자 (122)는 그러면 그 웹 애플리케이션 (103)에 대한 애플리케이션 선언들 또는 리포트들 (117)을 수신할 수 있을 것이다. 애플리케이션 증명의 시각적인, 청각적인 또는 프로그램적인 표시는 상기 액세스 요청자 (114)에게 또는 상기 액세스 요청자 (114)를 경유하여 상기 사용자에게 제공될 수 있을 것이다.
상기 인터액티브 사용자 (115) 또는 요청자 (114)는, 예를 들면, 로그인 양식 위의 아이콘 또는 시각적인 표시자의 형상인 애플리케이션 인증의 시각적인 또는 청각적인 증명을 수신할 수 있을 것이다. 상기 증명은 상기 웹 애플리케이션 (103)과의 어떤 트랜잭션과 같이 진행하기 이전에 수락되거나 또는 거절될 수 있을 것이며 또는 상기 사용자 (115)나 요청자 (114)에 의해서 거절되지 않으면, 상기 증명은 미리 정해진 또는 사용자가 특정한 시간 기간 후에 자동적으로 수락될 수 있다.
네트워크 액세스 집행자 (113)는 애플리케이션 선언들 또는 리포트들 (117)을 위해서 상기 증명 브로커 (109)에 동의할 수 있을 것이며 그리고 복수의 타겟 기계들 또는 플랫폼들 (100) 상에 복수의 타겟 애플리케이션들 (103 또는 104)를 발견할 수 있을 것이다. 상기 증명 브로커 (109)와 상기 네트워크 액세스 집행자 (113) 사이의 통신들을 위한 통신 프로토콜은, 예를 들면, (1) SOAP (Simple Object Access Protocol); (2) REST (Representational State Transfer); 또는 (3) 메타데이터 액세스 포인트 (Metadata Access Points (IF-MAP)) 규격용의 신뢰 컴퓨팅 그룹 (Trusted Computing Group (TCG)의 인터페이스와 같은 임의의 표준들 기반의 프토토콜 및 메시지 교환 데이터 구조들 또는 방식들일 수 있다.
상기 증명 브로커 (109)는 물리적인 액세스 제어들 (예를 들면, 타겟 애플리케이션으로의 액세스를 물리적으로 가능하게 하기 위한 또는 그 타겟 애플리케이션으로의 액세스를 차단하기 위한 제어들)을 적용하기 위해서 상기 네트워크 액세스 집행자 (113) 용으로 실시간 또는 거의 실-시간인 애플리케이션 선언들 또는 리포트들 (117)을 구비한 통지들을 발표 (publish)할 수 있을 것이다. 상기 네트워크 액세스 집행자 (113)에 의한 물리적 액세스를 가능하게 하고 또는 불가능하게 하는 것을 결정하는 것은 애플리케이션 선언들 또는 보고들 (117)에서 (예를 들면, 트랜스포트 레이어에서의) 속성 값 주장들을 기반으로 할 수 있을 것이다. 상기 속성 값 주장들은 상기 타겟 애플리케이션들 (103 또는 104)에 할당된, 예를 들면, 정적인 (예를 들면, 잘 알려진) 그리고/또는 동적인 (예를 들면, 일시적인) 네트워크 포트들을 포함할 수 있을 것이다.
액티브 클라이언트 애플리케이션 (116) 그리고/또는 서버 애플리케이션 (104) (예를 들면, SASL (Simple Authentication and Security layer) 프로토콜을 이용함)은 상기 수신한 애플리케이션 선언들 또는 리포트들 (117)을 상호 증명 핸드셰이크 (mutual attestation handshake)를 위해서 계획에 따라서 요청하고 그리고/또는 사용할 수 있을 것이다. 예를 들면, SASL 프로토콜을 사용하여 그런 상호 증명 핸드셰이크는, 증명서들을 소유한 것을 증명하는 것을 포함한 인증 핸드셰이크를 개시하기 이전에, 무결성 교환 프로파일에 의해서 정의될 수 있을 것이다.
도 2는 다양한 예시적인 실시예들에 따른 클라우드 컴퓨팅 환경에서 애플리케이션들을 모니터링하고 증명하는 방법을 도시한 개략적인 도면이다.
도 2를 참조하면, 예시적인 네트워크 (250)는 런타임 모니터 (201), 계장화된 타겟 플랫폼 (200), 증명 브로커 (202), 메타데이터 데이터베이스 (210), 그리고/또는 복수의 합작 서비스들 (203)을 포함할 수 있을 것이다.
상기 런타임 모니터 (201)는 상기 계장화된 타겟 플랫폼 (200) 상 애플리케이션들의 런타임 실행을 발견하고, 검사하고, 확인하며 그리고/또는 증명할 수 있을 것이다. 상기 증명 브로커 (202)는 등록된 애플리케이션 인스턴스들 (204)용의 수신한 애플리케이션 실행 컨텍스트 (또는 애플리케이션 실행 컨텍스트 변경 통지) (207)를 기반으로 하여 애플리케이션 아티팩트들 (206)을 발행할 수 있을 것이다. 상기 런타임 모니터 (201), 또는 액세스 요청자 (114) 또는 사용자 (115)로부터의 요청에 응답하여, 상기 증명 브로커 (또는 증명 서버) (202)는 상기 복수의 합작 서비스들 (또는 합작 서버들) (203) 중 하나 또는 그 이상의 질의 (205)를 개시할 수 있을 것이다. 상기 질의 (205)는 상기 타겟 애플리케이션을 위한 보안 컨텍스트 (예를 들면, 내성 기반의 보안 컨텍스트)를 검색하는 것을 포함할 수 있다.
특정의 예시적인 실시예들에서, 직접적으로 또는 상기 증명 브로커 (202)를 경유하여 상기 런타임 모니터 (201)로부터 수신한 애플리케이션 실행 컨텍스트를 기반으로 하여, 상기 계장화된 타겟 플랫폼 (200) 상에서 동작하는 애플리케이션들은 확인을 위해서 하나 또는 그 이상의 합작 서비스들 (203)을 이용하여 검증될 수 있을 것이다.
상기 런타임 모니터 (201)는 애플리케이션 사건 (예를 들면, 프로세스 및/또는 소켓 이벤트들)에 대해 계장화된 타겟 플랫폼 (200) 상에서 프로세스들의 실행 컨텍스트를 검사할 수 있을 것이다. 애플리케이션 프로세스 시작을 탐지한 것에 응답하여 또는 탐지한 이후에, 런타임 애플리케이션 실행 컨텍스트 (예를 들면, 메타데이터)가 생성될 수 있을 것이다. 상기 메타데이터는 다음을 포함할 수 있을 것이다: (1) 파일 해시 (hash) 요약, (2) 동작하는 타겟 애플리케이션의 로딩된 컴포넌트들에 대한 파일 속성 (예를 들면, 파일 크기, 공표자 상세한 내용들, 생성 및/또는 수정 타임스탬프들, 디지털 서명, 그리고/또는 제품 버전), (3) 부모-자녀 프로세스 연합들, (4) 로더 종속성들, 그리고/또는 (5) 액티브 리스닝에 관한 정보 그리고/또는 잘 알려지거나 또는 일시적인 (ephemeral) 개방 네트워크 포트들; 그리고/또는 실행가능한 파일 이진수들. 상기 동작하는 애플리케이션은 상기 증명 브로커 (202)에 상기 생성된 애플리케이션 실행 컨텍스트를 제공함으로써 등록 (204)될 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 증명 브로커 (202)는 상기 계장화된 타겟 플랫폼 (200) 상의 동작 애플리케이션의 인증을 상기 질의 (205)를 이용해서 확인할 수 있을 것이다. 상기 런타임 모니터 (201)로부터 수십된 메타데이터를 포함할 수 있을 상기 질의 (205)는 상기 증명 브로커 (202)로부터 송신되고 그리고 하나 또는 그 이상의 합작 서비스들 (203)에 의해서 수신된다. 상기 질의 (205)는 상기 계장화된 플랫폼 (200) 상에서 상기 타겟 애플리케이션을 동작시키는 것과 연관된 위험 (또는 신뢰)의 레벨을 표시할 수 있을 상기 동작 애플리케이션에 대한 보안 컨텍스트를 요청할 수 있을 것이다.
상기 증명 브로커 (202)는 시간에 민감하고 그리고 세계적으로 (globally) 유일할 수 있을 동적으로 변하는 애플리케이션 아티팩트 (206)를 생성할 수 있을 것이다. 상기 애플리케이션 아티팩트 (206)는 상기 수신한 애플리케이션 실행 컨텍스트를 기반으로 할 수 있을 것이며 그리고 상기 증명 브로커 (202)는 그 생성된 애플리케이션 아티팩트를 상기 런타임 모니터 (201)로 반환할 수 있을 것이다. 상기 런타임 모니터 (201)는, 예를 들면, 능동 리스닝 그리고 개방 네트워크 포트들 (예를 들면, 잘 알려진 그리고 일시적인) 그리고/또는 상기 애플리케이션의 종결들을 포함하는 상태 변경들에 대해 상기 동작 애플리케이션들 각각을 검사할 수 있을 것이다. 이 검사들은, 예를 들면, OSI (open systems interconnection) 스택의 트랜스포트 레이어에서 발생할 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 실행 컨텍스트에 관련된 요소들과 같은다른 유형의 상태 변경들이 검사될 수 있을 것이다. 어떤 문맥상 (상태) 변경들은 애플리케이션 실행 컨텍스트 변경 통지 (207)에 의해서 상기 런타임 모니터 (201)로부터 상기 증명 브로커 (202)로 실시간으로 또는 거의 실시간으로 통보될 수 있을 것이다. 상기 증명 브로커 (202)는 불변의 그리고/또는 잠깐의 상태 정보 (예를 들면, 메타데이터를 포함함)를, 복수의 계장화된 타겟 플랫폼들 (200) 중 하나 또는 그 이상의 플랫폼 상의 등록된 애플리케이션들 (예를 들면, 각각이 등록된 동작 애플리케이션)을 위해서, 로컬 데이터베이스 또는 예를 들면 IF-MAP 서버와 같은 원격 저장소 (210)에 저장할 수 있을 것이다.
도 3은 다양한 예시적인 실시예들에 따른 클라우드 컴퓨팅 환경에서 애플리케이션들을 모니터링하고 증명하는 다른 방법을 도시한 개략적인 도면이다.
도 3을 참조하면, 예시적인 네트워크 (350)는 인터액티브 사용자 (300), 계장화된 타겟 플랫폼 (301), 웹 애플리케이션 (302), 신원 공급자 (303), 증명 브로커 (304) 그리고 합작 서비스들 (305)을 포함한다. 상기 웹 애플리케이션 (302)은 상기 웹 애플리케이션 (302)의 멀티-팩터 증명을 위해서 상기 증명 브로커 (304)와 상호 대화 (interact)한다. 동작 흐름은, 예를 들면, 제어 경로에서 중간 노드 요소에 관한 인증 제어를 위한 세션의 포스트-커넥트 (post-connect) 단계에서 적용하기 위한 메커니즘을 가능하게 할 수 있을 것이다.
상기 인터액티브 사용자 (300)는 네트워크 (350)를 통해 물리적인 연결을 설립할 수 있을 것이며 그리고 애플리케이션 액세스 요청 (306)이 상기 계장화된 타겟 플랫폼 (301) 상에서 호스팅된 (hosted) 웹 애플리케이션 (302)과의 트랜잭션을 시작하거나 개시하는 것을 시작하도록 한다.
특정의 예시적인 실시예들에서, 상기 웹 애플리케이션 (302)은 런타임 애플리케이션 실행 컨텍스트 (예를 들면, 메타데이터)를 생성할 수 있으며 그리고 상기 런타임 애플리케이션 실행 컨텍스트의 생성된 메타데이터를 송신함으로써 상기 증명 브로커 (304)로의 질의 (307)를 자동적으로 개시하게 할 수 있을, (예를 들면, 웹 서블릿 (servlet) 또는 다른 프로세싱 요소와 같은) 코드 요소를 실행시킬 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 증명 브로커 (304)는 수신한 메타데이터의 검증 질의 (311)를 하나 또는 그 이상의 합작 서비스들 (305)로 (예를 들면, 실시간으로 또는 거의 실시간으로) 송신하고 그리고 그 질의받은 합작 서비스들 (305)로부터 애플리케이션 보안 컨텍스트 (312)를 수신함으로써 상기 계장화된 타겟 플랫폼 (301) 상에서 상기 동작하는 웹 애플리케이션 (302)의 인증을 검증할 수 있다. 상기 증명 브로커 (304)는 애플리케이션 아티팩트 (308)를 생성하고 그리고 그 애플리케이션 아티팩트를 상기 웹 애플리케이션 (302)으로 송신할 수 있을 것이다.
상기 웹 애플리케이션 (302)은 상기 수신한 애플리케이션 아티팩트 (309)를, 그 애플리케이션 아티팩트 (309)를 검증하기 위해 상기 증명 브로커 (304)와 함께 백-채널 통신 (310)을 사용할 수 있을 상기 신원 공급자 (303)에게로의 (예를 들면, 보안 주장 마크업 언어 (SAML 또는 다른 공통 형상의 마크업)인) 주장 (assertion)으로서 포함할 수 있다.
특정의 예시적인 실시예들에서, 상기 증명 브로커 (또는 주장 서버) (304)는 상기 동작하는 애플리케이션의 내성 (introspection) 기반의 보안 컨텍스틀 합작 서비스 (305)에게 요청할 수 있다.
다양한 예시적인 실시예들에서, 상기 신원 공급자 (303)는 연관된 도메인 (예를 들면, 영역 (realm))에서 인터액티브 사용자 (300)와의 직접 인터액티브 인증 시퀀스를 개시할 수 있을 것이다. 상기 사용자 (300)에게 디스플레이된 로그인 양식 (또는 웹 페이지)은 애플리케이션 증명 (313)을 포함할 수 있다. 상기 애플리케이션 증명 (313)은 액세스된 웹 애플리케이션을 위한 증명 아이콘을 포함하는 어떤 지각할 수 있는 표시자일 수 있다. 예를 들면, 상기 증명 아이콘은, 예를 들면, 신원 (identity), 제품 버전, 공표자 (publisher), 수정 타임스탬프 (modification timestamp), 그리고/또는 신뢰 메트릭들과 같은 상기 웹 애플리케이션 (302)에 관한 정보를 포함할 수 있을 것이다. 상기 사용자 (300)는 신뢰 메트릭들 정보를 포함하는 상기 정보를 상기 트랜젝션을 계속하기 위해서 (예를 들면, 상기 동작하는 타겟 애플리케이션을 사용하기 위해서) 받아들일 수 있는가의 여부를 결정할 수 있을 것이며 그리고 상기 사용자 (300)를 인증하기 위해서 증명서들의 소유 입증 (314)을 상기 신원 공급자 (303)에게 제공할 수 있을 것이다.
비록 사용자 인증이 상기 동작 애플리케이션을 사용하기 위해서 상기 트랜잭션을 계속하는가의 여부를 결정한 이후에 발생하는 것으로 개시되었지만, 사용자 인증은 로그인 프로세스의 어느 단계에서도 발생할 수 있을 것이며 그리고 상기 동작 애플리케이션을 사용하는 것의 여부를 그렇게 결정하는 것 이전에 발생할 수 있을 것이라는 것이 예상된다.
특정의 예시적인 실시예들에서, 상기 신뢰 메트릭들과 연관된 값들은 공통의 스케일로 (예를 들면, 1 내지 10의 스케일로) 제공될 수 있을 것이며 그리고 타겟 애플리케이션을 사용하는 것에 대한 낮은 위험을 나타내기 위한 초록, 타겟 애플리케이션을 사용하는 것에 대한 중간 위험을 나타내기 위한 노랑, 그리고 타겟 애플리케이션을 사용하는 것에 대한 높은 위험을 나타내기 위한 빨강과 같은 공통의 시각적인 방식으로 사용자 (300)에게 제시될 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 신원 제공자 (303)는 상기 웹 애플리케이션 (302)과의 데이터 교환을 처리하기 위해서, 상기 웹 애플리케이션 (302)으로의 액세스가 상기 인증된 사용자 (300)에 대해서 승인될 수 있는가의 여부를 상기 증명 브로커 (304)에 대해서 설정된 승인 프로파일을 기반으로 하여 결정하기 위해서 상기 증명 브로커 (304)에게 질의할 수 있을 것이다.
다양한 예시적인 실시예들에서, 상기 신원 공급자 (303)는 표준 기반의 인증, 속성 그리고/또는 권한 선언들 또는 리포트들을 상기 웹 애플리케이션 (302)에게 반환할 수 있을 것이다. 상기 웹 애플리케이션 (302)은 상기 계장화된 플랫폼 (301) 상의 상기 타겟 애플리케이션을 위해 상기 사용자 (300)에게로의 액세스를 선택적으로 승인할 수 있을 것이며 또는 상기 계장화된 플랫폼 (301) 상의 상기 타겟 애플리케이션으로의 상기 사용자 (300)에 의한 액세스를 상기 증명 브로커 (304)로부터 수신한 애플리케이션 선언들 또는 리포트들 (316)을 기반으로 하여 그리고 미리-설립된 또는 시스템 관리 설립된 액세스 또는 증명 정책들을 기반으로 하여 선택적으로 차단할 수 있을 것이다.
상기 애플리케이션 선언들 또는 리포트들 (316)은, 예를 들면, 사용자의 신원, 패스워드, PIN, 스마트카드와 같은 하나 또는 그 이상의 인증 팩터들, 그리고 사용자 디렉토리 (예를 들면, 액티브 디렉토리 (Active Directory))에서의 전에 존재한 역할, 역할 기반의 관리 시스템 (예를 들면, 오라클 또는 SAP) 그리고/또는 관계 데이터베이스 (예를 들면, MS-SQL, MySQL, 또는 Oracle DB)에 관한 정보를 포함할 수 있다. 액세스는 복수의 팩터들을 기반으로 하여 또한 승인되거나 또는 거절 (차단)될 수 있다.
예를 들면, 상기 신원 공급자 (303)는 승인된 사용자 (300)에게로의 액세스를 특정 분류 (예를 들면, 승낙)에 대한 신뢰 메트릭들에서의 관심의 레벨 (예를 들면, 높다)을 기반으로 하여 거절할 수 있을 것이다. 상기 신뢰 메트릭들의 분류에 대한 관심의 레벨은 상기 증명 브로커 (304)를 위해서 공급된 사용자-대-애플리케이션 정책 묶음들로 표현될 수 있을 것이다. 상기 증명 브로커 (304)에서의 또는 상기 증명 브로커 외부에 있는 정책 결정 로직의 출력은 상기 웹 애플리케이션 (302)으로 하나 또는 그 이상의 애플리케이션 선어들 또는 리포트들로서 반환될 수 있을 것이다.
상기 신원 공급자 (303)는 패스워드들을 관리하기 위해 신원 저장들 (또는 캐시들)을 사용할 수 있을 중간의 싱글 사인-온 (single sign-on (SSO)) 엔티티 (또는 기능)를 나타낼 수 있으며 그리고 그 사용자 (300)를 대신하여 인증 의식들을 수행할 수 있을 것이다. 상기 인증은 상기 사용자 (300)에게 투명하도록 수행될 수 있을 것이다.
도 4는 다양한 예시적인 실시예들에 따른 클라우드 컴퓨팅 환경에서 애플리케이션들을 모니터링하고 증명하는 추가의 방법을 도시한 개략적인 도면이다.
도 4를 참조하면, 예시적인 네트워크 (450)는 계장화된 타겟 플랫폼 (400), 런타임 모니터 (401), 증명 브로커 (402), 합작 서비스들 (403), 인터액티브 사용자 (404), 그리고/또는 네트워크 액세스 집행자 (405)를 포함한다. 상기 사용자 (404)는 네트워크 (450)를 통해서 물리적인 연결을 설립할 수 있을 것이며 그리고 애플리케이션 액세스 요청 (411)이 상기 계장화된 타겟 플랫폼 (401) 상에서 호스팅된 (hosted) 웹 애플리케이션과의 트랜잭션을 시작하거나 개시하는 것을 시작하도록 한다.
상기 계장화된 타겟 플랫폼 (400) 상에서 동작하는 애플리케이션들은 애플리케이션 실행 컨텍스트 그리고 상태 변경들을 위해서 상기 런타임 모니터 (401)에 의해서 검사될 수 있을 것이다. 동작 흐름은 세션 (예를 들면, 인터넷 프로토콜 (IP) 세션 또는 비-IP 세션)의 연결 설립 단계 동안에 또는 그 단계에서 데이터 경로 내 중간의 시스템 또는 장치에서의 승인 제어들을 적용하기 위한 예시적인 메커니즘일 수 있다.
상기 런타임 모니터 (401)는 애플리케이션 사건들 (예를 들면, 프로세스 그리고/또는 소켓 이벤트들)에 대해 상기 계장화된 타겟 플랫폼 (400)을 검사할 수 있을 것이다. 상기 런-타임 모니터 (401)에 의해서 애플리케이션 프로세스 시작을 탐지한 것에 응답하여, 상기 런타임 모니터는 런타임 애플리케이션 실행 컨텍스트 (예를 들면, 메타데이터)를 생성할 수 있으며, 이는, 예를 들면, 상기 동작하는 타겟 애플리케이션의 로딩된 컴포넌트들에 대한 파일 속성들 그리고/또는 파일 해시 요약들을 포함할 수 있을 것이다. 상기 동작하는 타겟 애플리케이션은 상기 런타임 모니터 (401)에 의해서 상기 증명 브로커 (402)와 함께 시작 통지 (406)를 경유하여 등록될 수 있을 것이며 그리고 상기 런타임 애플리케이션 실행 컨텍스트 (예를 들면, 이것은 메타데이터를 포함할 수 있을 것이다)는 상기 런타임 모니터 (401)에 의해서 상기 증명 브로커 (402)로 애플리케이션 실행 컨텍스트 변경 통지 (408)를 경유하여 송신될 수 있을 것이다. 특정의 예시적인 실시예들에서, 상기 통지들 (406 그리고 408)은 함께 발생할 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 증명 브로커 (402)는, 상기 수신한 메타데이터를 하나 또는 그 이상의 합작 서비스들 (403)과 실시간 또는 거의 실시간 교환 (409)하는 것 그리고 상기 교환된 메타데이터를 기반으로 하여 상기 애플리케이션 보안 컨텍스트 (410)를 반환하는 것과 함께, 상기 계장화된 타겟 플랫폼 (400) 상의 상기 동작하는 애플리케이션의 인증을 검증할 수 있을 것이다. 상기 증명 브로커 (402)는, 실행 가능한 파일 이진수의 정적인, 동적인 그리고/또는 가상의 실행 분석을, 예를 들면, 악성코드 (malware) 분석 시스템에 의해서 수행하기 위해서 하나 또는 그 이상의 합작 서비스들 (403) 상에 또한 요청할 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 증명 브로커 (402)는 계장화된 타겟 플랫폼 (400)을, 하나 또는 그 이상의 합작 서비스들 (403)에 의해서 수행된 요청된 분석에 응답하여 수동의 또는 자동화된 방법들을 이용하여 치료할 수 있을 것이다.
상기 증명 브로커 (402)는 동적인 애플리케이션 아티팩트들 (700) (예를 들면, 그것들은 세계적으로 유일할 수 있을 것이며 그리고 시간-민감 (time-sensitive)할 수 있을 것이다)을 생성할 수 있을 것이며 그리고 그 애플리케이션 아티팩트 (407)를 상기 런타임 모니터 (401)로 발행할 수 있을 것이다. 상기 런타임 모니터 (401)는
상기 계장화된 타겟 플랫폼 (400) 상의 동작 애플리케이션들을, 예를 들면, 액티브 리스닝 그리고/또는 개방 네트워크 포트들 (예를 들면, OSI 스택의 트랜스포트 레이어에서), 그리고 애플리케이션들의 종결들을 포함하는 문맥상 (상태) 변경들에 대해서 검사할 수 있을 것이다
특정의 예시적인 실시예들에서, 실행 컨텍스트에 관련된 요소들과 같은 다른 유형의 상태 변경들이 검사될 수 있을 것이다. 문맥상의 (또는 상태) 변경들 (408) (예를 들면, 임의의 문맥상 변경들)은 상기 증명 브로커 (402)로 실시간으로 또는 거의 실시간으로 통지될 수 있을 것이다. 상기 증명 브로커 (402)는 복수의 계장화된 타겟 플랫폼들 (400) 상의 등록된 동작 애플리케이션들을 위해서 로컬 데이터베이스 또는 원격 저장소 (210) (도 2 참조)에 영구적인 그리고 일시적인 상태 정보를 저장할 수 있을 것이다.
네트워크 액세스 집행자 (405)는 복수의 계장화된 타겟 플랫폼들 (400) 상의 동작 애플리케이션들 (예를 들면, 동작하는 모든 애플리케이션들)용의 애플리케이션 선언들 또는 리포트들 (예를 들면, 주장들)의 통지들 (예를 들면, 공표들)을 위한 웹 서비스 프로토콜 인터페이스 (412:413)를 통한 웹 서비스로서 상기 증명 브로커 (402)에 등록하거나 또는 가입할 수 있을 것이다. 상기 증명 브로커 (402)는 최신의 애플리케이션 선언들 또는 리포트들 (413)을 복수의 가입자들 (405) 또는 사용자들 (404)에게 실시간으로 또는 거의 실시간으로 공표할 수 있을 것이다. 상기 애플리케잇녀 선언들 또는 리포트들은 (1) 등록된 이름과 같은 애플리케이션 식별자 (예를 들면, 세계적으로 유일한 서비스의 주된 이름), (2) 기계 식별자, (3) 제품 식별자, (4) 제품 버전, (5) 능동 리스닝 그리고/또는 개방 네트워크 포트들, (6) 상기 타겟 애플리케이션이 사용하는 네트워크 주소들, 그리고/또는 (7) 하나 또는 그 이상의 합작 서비스들 (403)에 의해서 수행된 보안 컨텍스트 증명들 (410)을 기반으로 하는 신뢰 메트릭들을 포함할 수 있을 것이다. 상기 신뢰 메트릭들은 다음의 것들을 기반으로 할 수 있다: (1) 상기 합작 서비스들 (403) 중 하나에 의해 수행된 최근의 (예를 들면, 가장 최근의) 보안 컨텍스트 증명들, (2) 상이한 합작 서비스들 (403)로부터의 상관된 데이터, 그리고/또는 (3) 각 보안 컨텍스트 증명과 연관된 가중된 평균들.
동적인 멀티-팩터 애플리케이션 증명을 기반으로 하여 위임 제어들을 그리고 로컬 실행 컨텍스트 (408) 및 엑세스된 보안 컨텍스트 (410)를 기반으로 하여 실시간 (또는 거의 실시간) 신뢰 메트릭들을 결정하기 위해서, 상기 네트워크 액세스 집행자 (405)는 상기 증명 브로커 (402)를 위해서 구성된 사용자 특정 애플리케이션 묶음들에 대해 상기 증명 브로커 (402)에게 질의할 수 있을 것이다. 예를 들면, 가상의 또는 물리적인 네트워크 방화벽 설비와 같은 상기 네트워크 액세스 집행자 (405)는 상기 증명 브로커 (402)를 위해서 제공된 사용자-대-애플리케이션 정책 묶음들로 표현된 특정 분류 (예를 들면, 패치 레벨)에 대한 신뢰 메트릭들에서의 염려의 레벨 ("high")을 기반으로 하여 (예를 들면, "high", "medium" 그리고 "low"의 세 개의 레벨 순위 시스템으로부터임), 인증된 사용자로의 액세스를 거부할 수 있을 것이다. 비록, 세 개의 레벨 순위 시스템이 예시되었지만, 더 많은 또는 더 적은 레벨들을 갖춘 순위 시스템들이 가능하다는 것이 예상된다.
도 5는 다양한 예시적인 실시예들에 따른 단순 인증 및 보안 계층 (Simple Authentication and Security Layer (SASL)) 기능의 클라이언트 및 서버 애플리케이션을 모니터링하고 증명하는 방법을 도시한 개략적인 도면이다.
도 5를 참조하면, 예시적인 네트워크 (550)는 클라이언트 애플리케이션 (500), 서버 애플리케이션 (501), 증명 브로커 (502), 합작 서비스 (503), 그리고/또는 애플리케이션 프로그래밍 인터페이스 (API) 라이브러리 (516)를 포함할 수 있다.
비록 단순 인증 및 보안 계층 (Simple Authentication and Security Layer (SASL))이 예시되었지만, 상기 클라이언트 애플리케이션 (500) 그리고 상기 서버 애플리케이션 (501)의 기능들을 제공하기 위해서 클라이언트-서버 그리고 피터-투-피어 애플리케이션들, 또는 네트워크 보안 프로토콜들, 예를 들면, IPSec 인증 인터넷 프로토콜 (Authenticated Internet Protocol (AuthIP)) 또는 인터넷 키 교환 (Internet Key Exchange (IKE)) 사이의 어떤 애플리케이션 레이어 프로토콜도 확대되고 그리고/또는 사용될 수 있을 것이라는 것이 예견된다.
특정의 예시적인 실시예들에서, 상기 클라이언트 애플리케이션 (501) 그리고 상기 서버 애플리케이션 (501)은 상기 API 라이브러리 (516) (예를 들면, Trust-as-a-Service (TAAS) API 라이브러리)에 정적으로 또는 동적으로 링크될 수 있을 것이다. 상기 API 라이브러리 (516)는 구현의 상세한 것들을 더 높은 레벨의 애플리케이션들에게 감출 수 있을 증명 서비스들 또는 브로커 (502)와 메시지들 (예를 들면, 불명료한 그리고/또는 안전한 메시지들)을 교환하기 위한 애플리케이션들용의 프로시저 호출들의 집합을 구현할 수 있을 것이다.
비록 하나의 예시적인 실시예가 API 라이브러리 (516)에 대해서 도시되었지만, 어떤 애플리케이션 프레임워크도 상기 API 라이브러리 (516)에 의해서 제공된 프로시저 호출들의 집합을 구현하기 위해서 확대될 수 있을 것이라는 것이 예견된다.
상기 서버 애플리케이션 (501)은 런타임 서버 애플리케이션 실행 컨텍스트 (504)를 송신할 수 있을 것이며, 서버 애플리케이션 아티팩트 (505)를 요청할 수 있을 것이며, 그리고 상기 서버 애플리케이션 아티팩트 (505)를 상기 증명 서비스 (502) (예를 들면, 상기 증명 브로커 또는 상기 증명 서버)로부터 수신할 수 있을 것이다. 상기 애플리케이션 실행 컨텍스트 (504)는 부모-자녀 프로세스 연관들 및 로더 종속성들 (loader dependencies)을 포함하는, 상기 동작 서버 애플리케이션 (501)의 컴포넌트들의 파일 속성들 및 파일 해시 요약들을 포함할 수 있을 것이다.
상기 클라이언트 애플리케이션 (500)은 상기 서버 애플리케이션 (501)으로의 네트워크 연결을 설립하고 그리고 인증을 위해서 프로파일 교환을 개시할 수 있을 것이다.
인증 교환을 완료한 이후에 (예를 들면, 상기 클라이언트 애플리케이션 (500)과 연관된 사용자를 인증한 이후에), 상기 클라이언트 애플리케이션 (500)은 런타임 클라이언트 애플리케이션 컨텍스트 (506)을 송신할 수 있을 것이며 그리고 상기 증명 브로커 또는 서비스 또는 서버 (502)로부터 클라이언트 애플리케이션 아티팩트 (507)를 요청할 수 있을 것이다. 상기 클라이언트 애플리케이션 실행 컨텍스트 (506)는 부모-자녀 프로세스 연관들 및 로더 종속성들 (loader dependencies)을 포함하는, 상기 동작 클라이언트 애플리케이션 (500)의 컴포넌트들의 파일 속성들 및 파일 해시 요약들을 포함할 수 있을 것이다. 클라이언트 애플리케이션 아티팩트 (507)를 수신한 것에 응답하여 또는 수신한 이후에, 상기 클라이언트 애플리케이션 (500)은 상기 수신한 애플리케이션 아티팩트 (참조번호 508로 표시됨)를 상기 서브 애플리케이션 (501)으로 전송할 수 있을 것이다. 상기 서버 애플리케이션 (501)은 클라이언트 아티팩트 인증 (509)을 위해서 상기 수신한 클라이언트 애플리케이션 아티팩트 (507)를 상기 증명 서버 (502)로 송신할 수 있을 것이며 그리고 상기 클라이언트 애플리케이션 (500) 용의 클라이언트 애플리케이션 선언들 또는 리포트들 (511)을 요청할 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 증명 브로커 (502)는 상기 클라이언트 애플리케이션 (500) 용의 내성 기반의 보안 컨텍스트 (510)를 위한 하나 또는 그 이상의 합작 서비스들 (503)로부터의 요청들을 개시할 수 있을 것이다. 상기 요청받은 합작 서비스들 (503)은 상기 클라이언트 애플리케이션 보안 컨텍스트 (510)를 수집하고 그리고 생성할 수 있을 것이며 그리고 그 클라이언트 애플리케이션 보안 컨텍스트 (510)를 상기 증명 브로커 (502)에게 송신할 수 있을 것이다. 상기 클라이언트 애플리케이션 선언 또는 리포트 (511)는 상기 증명 브로커 (502)에 의해서 상기 클라이언트 애플리케이션 보안 컨텍스트 (510)로부터 생성될 수 있을 것이며 그리고 상기 클라이언트 애플리케이션 (500)용의 인텔리전스 기반의 보안 컨텍스트 (510) 그리고 상기 런타임 실행 컨텍스트 (504)에 관한 주장들을 포함할 수 있을 것이다. 상기 증명 서버 (502)로부터 상기 클라이언트 애플리케이션 선언 또는 리포트 (511)를 수신한 것에 응답하여, 상기 서버 애플리케이션 (501)은 상기 클라이언트 애플리케이션 (500)의 증명이 적절한 것인지의 여부를 판별할 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 신뢰 메트릭들은 상기 클라이언트 애플리케이션 선언들 또는 리포트들 (511)에 포함될 수 있을 것이며 그리고 상기 클라이언트 애플리케이션 (500)과의 데이터 교환들을 실행하는가의 여부를 결정하기 위해서, 예를 들면, 상기 서버 애플리케이션 (501)에 의해서 분석될 수 있을 것이다.
상기 클라이언트 애플리케이션 선언들 (511)을 수신하고 그리고 상기 클라이언트 애플리케이션 (500)과의 데이터 교환들을 실행하는가의 여부를 결정한 때에 또는 그 이후에, 상기 서버 애플리케이션 (501)은 상기 수신한 서버 애플리케이션 아티팩트 (참조번호 512로 표시됨)를 상기 클라이언트 애플리케이션 (500)으로 전송할 수 있을 것이다. 상기 클라이언트 애플리케이션 (500)은 그 수신한 서버 애플리케이션 아티팩트 (512)를 상기 서버 아티팩트 (513)의 검증을 위해서 상기 증명 서버 (502)로 송신할 수 있을 것이며 그리고 그 서버 애플리케이션 (501)에 대해 애플리케이션 선언 또는 리포트 (515)를 요청할 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 주장 브로커 (502)는 상기 서버 애플리케이션 (501) 용의 내성 (introspection) 기반의 보안 컨텍스트 (514)에 대한 요청 (519)을 하나 또는 그 이상의 상기 합작 서비스들 (503)로부터 개시할 수 있을 것이다. 상기 요청받은 합작 서비스들 (503)은 성기 서버 애플리케이션 보안 컨텍스트 (514)를 수집하고 그리고 생성할 수 있을 것이며 그리고 그 서버 애플리케이션 보안 컨텍스트 (514)를 상기 주장 브로커 (502)로 송신할 수 있을 것이다. 상기 주장 브로커 (502)에 의해서 생상된 상기 서버 애플리케이션 선언 또는 리포트 (515)는 상기 서버 애플리케이션 (501) 용의 인텔리전스 기반의 보안 컨텍스트 그리고 런타임 실행 컨텍스트에 관한 주장들을 포함할 수 있을 것이다. 상기 서버 애플리케이션 주장 또는 리포트 (515)를 수신한 것에 응답하여 또는 수신한 이후에, 상기 클라이언트 애플리케이션 (500)은 상기 서버 애플리케이션 (501)의 증명이 적절한가의 여부를 판별할 수 있을 것이다. 특정의 예시적인 실시예들에서, 상기 서버 애플리케이션 선언 내에 포함된 상기 신뢰 메트릭들은 상기 서버 애플리케이션 (501)과의 데이터 교환들을 수행하는가의 여부를 결정하기 위해서, 예를 들면, 상기 클라이언트 애플리케이션에 의해서 분석될 수 있을 것이다.
비록 상기 애플리케이션 선언들에 포함된 신뢰 메트릭들이 상기 요청하는 애플리케이션에 의해서 분석될 수 있을 것이지만, 특정의 예시적인 실시예들에서, API 라이브러리 (516)는 신뢰 메트릭들을 기반으로 하여 상기 분류들을 정규화하기 위해서 표준의 그리고/또는 커스텀의 접속할 수 있는 (pluggable) 필터들을 제공할 수 있을 것이며, 그래서 표준의 등급별 스케일 (rating scale)이 각 요청 애플리케이션으로 제공될 수 있도록 하며 그리고 그 요청 애플리케이션은 위험 문턱값 (threshold)을 초과하는 특정 등급을 가진 애플리케이션으로의 액세스를 거절하고 그리고/또는 상기 위험 문턱값과 같거나 또는 초과하지 않는 특정 등급을 가진 애플리케이션으로의 액세스를 허락하기 위한 세팅들을 미리 결정할 수 있을 것이다. 특정의 예시적인 실시예들에서, 상기 위험 문턱값에 있는 또는 근방에 있는 애플리케이션은 추가적인 합작 서비스들 (503)을 기반으로 하는 또는 그런 액세스를 허락하거나 또는 거부하는 시스템 관리자 입력의 사용을 기반으로 하는 추가의 분석 동안에는 임시로 액세스가 거부될 수 있을 것이다.
도 6은 본 발명의 다양한 예시적인 실시예들에 따른 인테그리티 대시보드 (integrity dashboard) (600)를 포함하는 예시적인 보안 관리 콘솔 (650)을 도시하는 개략적인 도면이다.
도 6을 참조하면, 상기 예시적인 보안 관리 콘솔 (650)은 상기 인테그리티 대시보드 또는 디스플레이 윈도우 (600)를 시각적으로 디스플레이할 수 있을 것이다. 상기 인테그리티 대시보드 또는 디스플레이 윈도우 (600)는 대시보드 시계 (601), 발견된 그리고 확인된 애플리케이션들 (602), 서비스 영역들 (Service Realm) (603), 계장화된 타겟 플랫폼들 (604), 제품 벤더 (Vendor)들 (605), 제품 버전 (Version)들 (606), 액티브 네트워크 서비스 포트들 (Ports) (607), 그리고 신뢰 메트릭들 (Metrics) (608)을 포함하는 정보 필드들을 포함할 수 있다.
상기 정보 필드들은 실시간으로 또는 거의 실시간으로 디스플레이되고 그리고/또는 업데이트될 수 있을 것이다. 예를 들면, 상기 계장화된 타겟 플랫폼 (604) 상에서 동작하는 상기 확인된 그리고 증명된 애플리케이션 (602), 그 애플리케이션에 대한 서비스 영역들 (Service Realm) (603), 제품 벤더 (Vendor)들 (605), 제품 버전 (Version)들 (606), 현재의 분류 기반의 신뢰 메트릭들 (Metrics) (608) 및 현재의 액티브 네트워크 서비스 포트들 (Ports) (607)은 상기 대시보드 시계 (601)에 의해서 표시된 것과 같이 거의 실시간으로 인테그리트 대시보드 (600) 상에 디스플레이될 수 있을 것이다. 상기 대시보드 (600)는 원근법적인 모습들을 위한 필터들을 생성하기 위해 관리자 제어들 (도시되지 않음)을 포함하고, 그리고 정의된 복수의 기준을 기반으로 하여 보안 경보들을 발행하고 그리고/또는 동료 리포팅 서비스들 (companion reporting services)을 제공할 수 있을 것이다.
비록 상기 인테그리티 대시보드가 특정 정보 필드들을 가지고 그리고 특정한 배치로 도시되었지만, 다른 정보 필드들 그리고 배치들이 가능하다는 것이 예견된다. 예를 들면, 상기 애플리케이션 선언들 또는 보고들에 포함된 추가적인 속성들 또는 네트워크 관리 시스템들로부터 이용 가능한 다른 네트워크 관리 정보 역시 디스플레이될 수 있을 것이다.
도 7은 본 발명의 다양한 예시적인 실시예들에 따른 인증 대시보드를 포함하는 예시적인 정책 관리 콘솔을 도시하는 개략적인 도면이다.
도 7을 참조하면, 상기 위임 대시보드 (authorization dashboard) 또는 제어 윈도우 (700)는 예를 들면 클라우드 클라이언트 (또는 소유자 (tenant)) (701)에 의해서 제공되고 그리고 해부되는 정보 필드들을 포함할 수 있을 것이며 그리고 사용자들 (Users) (702), 역할들 (Roles) (703), 인증 영역들 (Authentication Realms) (704), 인증 유형 (Authentication Types) (705), 계장화된 (instrumented) 서비스 호스트들 (Service Hosts) (또는 타겟 플랫폼들) (706), 서비스 영역들 (Service Realms) (707), 확인된 그리고 증명된 애플리케이션들 (708), 제품 버전들 (Versions) (709) 그리고/또는 제품 벤더들 (Vendors) (710)을 포함할 수 있을 것이다.
각 클라우드 클라이언트 (701)용의 상기 위임 대시보드 (700)는 사용자들 (Users) (702), 복수의 사용자들, 역할들 (Roles) (703) 또는 복수의 역할들 그리고 인증된 애플리케이션 인스턴스 (707:708) 용의 정책 (또는 규칙 세트)을 한정하기 위한 복수의 정책 컴포넌트들 (또는 규칙들)을 포함할 수 있을 것이다. 상기 대시보드 (700)는 원근적인 모습들을 위한 필터들을 생성하고, 그리고 복수의 정의된 기준을 기반으로 하여 보안 경보들을 발행하고 그리고/또는 동료 리포팅 서비스들을 제공하기 위한 관리 제어들 (도시되지 않음)을 포함할 수 있을 것이다. 상기 필터들은, 예를 들면, 런타임 액세스 제어 결정을 위한 인증 유형 (또는 인증 방법) (705)에 의한 인증된 사용자를 필터링하는 것을 가능하게 할 수 있을 것이다. 상기 도시된 위임 대시보드 (700)의 각 행은 상기 클라우드 클라이언트 (701) 용의 시스템 관리자에 의해서 생성된 정책의 선언을 나타낼 수 있을 (또는 대응할 수 있을) 정보 필드들 (예를 들면, 콘텐츠)을 포함한다.
특정의 예시적인 실시예들에서, 상이한 호스팅 영역들을 가로지르는 서비스들의 연합은 디스플레이되어, 하나의 인증 도메인 (또는 영역)에서 인증된 사용자가 상이한 타겟 서비스 도메인 (또는 영역)에서 호스팅된 애플리케이션으로의 정책 기반의 액세스를 제공받을 수 있도록 할 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 증명 브로커 (102)는, 예를 들면, 복수의 호스팅 영역들을 가로질러 애플리케이션 아티팩트들 그리고 애플리케이션 선언들에 대한 요청들을 서비스하도록 구성될 수 있을 것이다.
비록 상기 인테그리티 및 위임 대시보드가 특정 정보 필드들을 갖추고 그리고 특별한 배치인 것으로 도시되지만, 다른 정보 필드들 그리고 배치들이 가능하며 그리고 이 대시보드들은 상이한 원근적인 모습을 생성하기 위해서 상기 정보 필드들 중 어느 하나를 이용하여 분석될 수 있을 것이라는 것이 예견된다.
인증 대시보드 (또는 콘솔)을 이용하여 상기 클라우드 클라이언트의 시스템 관리자에 의해서 생성된 액세스 제어 정책들은 증명된 동작 애플리케이션 인스턴스에 속한 런타임 컨텍스트-인식 (context-aware) 논리적인 속성들을 기반으로 할 수 있을 것이며, 그래서 상기 증명에 대한 문맥적인 정보가 상기 런타임 논리적 실행 컨텍스트 그리고 내성적인 보안 컨텍스트를 포함할 수 있도록 한다. 어떤 물리적인 제한도 존재하지 않으며, 이 경우 규칙들은 네트워크 위상 기하학 (topology) 기반의 정적인 속성들을 필요로 할 수 있을 것이며, 이 속성들은 IPv4/IPv6 주소, 포트 번호, MAC 주소들, 네트워크 식별자, 서브넷, VLAN 식별자, 또는 상기 것들의 조합 또는 변형들 중 적어도 하나를 포함한다.
비록 다양한 실시예들이 클라우드 환경에서 컨텍스트-인식 정책들을 생성하는 면에서 설명되었지만, 그것들로 제한되는 것은 아니다. 상기 방법들은, 예를 들면, 임의 개수의 컴퓨터 시스템들 사이에서 안전한 트랜잭션들을 유지하면서 그 컴퓨터 시스템들 사이에서 실행될 수 있을 것이다.
도 8은 본원에서 개시된 기술의 다양한 예시적인 실시예들에 따른 방법을 도시한 흐름도이다.
도 8을 참조하면, 상기 방법 (800)은 증명 서버 (109)를 이용하여 컴퓨팅 플랫폼 (101) 상에서 실행하는 런타임에 애플리케이션을 위한 증명 서비스 또는 브로커 (109)를 제공할 수 있을 것이다. 블록 810에서, 컴퓨팅 플랫폼 (101)에서 멀리 떨어진 상기 증명 서버 (109)는 다음을 수신한다: (1) 런타임에서 애플리케이션의 속성을 표시하는 런타임 실행 컨텍스트 (105), 그리고 (2) 상기 애플리케이션에 관한 보안 정보를 제공하는 보안 컨텍스트 (111). 블록 820에서, 상기 증명 서버 (109)는 상기 수신한 런타임 실행 컨텍스트 (105) 그리고 상기 수신한 보안 컨텍스트 (111)을 기반으로 하여 상기 애플리케이션과 연관된 보안 위험들을 나타내는 리포트 (117)를 증명 결과로서 생성한다. 블록 830에서, 상기 증명 서버 (109)는 상기 애플리케이션과 연관된 상기 증명 결과들을 송신한다.
특정의 예시적인 실시예들에서, 블록 830에서, 상기 증명 서버 (109)는, 하나 또는 그 이상의 애플리케이션들 (103, 104)과 연관된 증명 결과를 기반으로 하여, 계장화된 플랫폼 (100) 상에서의 동작들을 개시하기 위해서 (예를 들면, 상기 계장화된 플랫폼을 다시 상을 만들거나 (reimage), 스냅샷을 찍거나 또는 격리하기 위해서) 자동화된 치료 요청 요청을 합작 서비스 (110) (예를 들면, 조정 서비스)로 또한 송신한다.
특정의 예시적인 실시예들에서, 상기 증명 서버 (109)는 애플리케이션 아티팩트 (108)를 다음의 실행 컨텍스트 (105)에서의 변경에 대한 레퍼런스로서 생성하고 그리고 그 생성된 애플리케이션 아티팩트 (108)를 송신하여, 상기 런타임 실행 컨텍스트 (105)로의 다음의 변경들이 상기 생성된 애플리케이션 아티팩트 (108)를 기반으로 하여 추적되도록 한다.
특정의 예시적인 실시예들에서, 상기 증명 결과들 그리고 상기 애플리케이션 아티팩드 (108)는 디지털로 사인될 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 수신한 보안 컨텍스트 (111)는 내성적인 (introspective) 보안 컨텍스트일 수 있으며 그리고 상기 증명 서버 (109)는 상기 수신한 런타임 실행 컨텍스트 (105) 그리고 상기 수신한 내성적 보안 컨텍스트 (111)에 속한 하나 또는 그 이상의 보안 주장들 (assertions)을 생성할 수 있을 것이다.
특정의 예시적인 실시예들에서, 사용자의 상기 애플리케이션과의 트랜잭션은 상기 증명 결과들에 따라 인증 규칙들의 세트를 적용함으로써 제어될 수 있을 것이다. 이런 그리고 다른 예시적인 실시예들에서, 상기 애플리케이션으로의 사용자의 네트워크 액세스는 인증된 규칙들의 집합 그리고 상기 증명 결과들을 기반으로 하여 제어될 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 증명 결과들 내의 신뢰 메트릭들은 제공되어 상이한 분류들에 의한 보안 위험의 레벨을 나타낼 수 있으며, 그래서 사용자의 상기 애플리케이션과의 트랜잭션 상의 제한이 상기 주장 결과들 내 상기 신뢰 메트릭들에 의해서 표시된 보안 위험의 레벨을 기반으로 하여 적용될 수 있도록 할 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 사용자의 트랜잭션 상의 상기 제한은 상기 사용자의 라우팅 결정들 그리고 대안의 컴퓨터 플랫폼으로 상기 사용자의 방향을 다시 정하는 애플리케이션을 포함할 수 있을 것이다.
도 9는 다양한 예시적인 실시예들에 따른 방법 (900)을 예시하는 흐름도이다.
도 9를 참조하면, 상기 방법 (900)은 런타임 모니터 (102)를 이용하여 컴퓨팅 플랫폼 (101) 상에서 실행하는 런타임에서 애플리케이션을 위한 증명 서비스를 제공할 수 있다. 블록 910에서, 컴퓨팅 플랫폼 (101)에서 상기 런타임 모니터 (102)는 런타임에서 상기 애플리케이션의 속성을 표시하는 런타임 실행 컨텍스트 (105)를 생성한다. 블록 920에서, 상기 런타임 모니터 (102)는 그 런타임 실행 컨텍스트 9105)를 상기 증명 서버 (109)로 송신한다. 블록 930에서, 상기 런타임 모니터는 상기 런타임 실행 컨텍스트 (105)로의 이어지는 변경들을 추적하기 위한 애플리케이션 아티팩트 (107)를 수신한다. 블록 940에서, 상기 런타임 모니터 (102)는 변경을 표시하는 애플리케이션의 속성들에 응답하여, 애플리케이션 아티팩트 (107)를 이용하여 런타임 실행 아티팩트 (105)를 업데이트하고 그리고 송신한다.
특정의 예시적인 실시예들에서, 상기 런타임 실행 컨텍스트 (105) 생성은 상기 컴퓨팅 플랫폼 (101) 상에서의 동작 애플리케이션 프로세스들을 검사하고 그리고 적어도 로컬 런타임 실행 컨텍스트를 포함하는 메타데이터를 생성하는 런타임 모니터 (102)를 포함할 수 있을 것이다.
도 10은 다양한 예시적인 실시예들에 따른 방법 (1000)을 예시하는 흐름도이다.
도 10을 참조하면, 상기 방법 (1000)은 증명 서버 (502)를 이용하여 런타임에서 제1 및 제2의 상호 관련이 있는 애플리케이션들 (500, 501)에 대한 상호 증명을 제공한다. 제1 애플리케이션 (500)은 제1 컴퓨팅 플랫폼 (530) 상에서 동작할 수 있으며 그리고 제2 애플리케이션 (501)은 제2 컴퓨팅 플랫폼 (531) 상에서 동작할 수 있다. 블록 1010에서, 상기 제1 및 제2 컴퓨팅 플랫폼들 (530 및 531)으로부터 멀리 떨어진 증명 서버 (502)는 런타임에서 상기 제1 애플리케이션 (500)의 속성을 표시하는 제1 애플리케이션 (500)의 제1 런타임 실행 컨텍스트 (506) 그리고 런타임에서 제2 애플리케이션 (501)의 속성을 표시하는 제2 애플리케이션 (501)의 제2 런타임 실행 컨텍스트 (504)를 수신한다. 블록 1020에서, 상기 증명 서버 (502)는: (1) 수신한 제1 런타임 실행 컨텍스트 (506)를 기반으로 하여 상기 제1 애플리케이션과 연관된 보안 위험들을 표시하는 제1 리포트 (515)를 제1 증명 결과로서; 그리고 (2) 상기 수신한 제2 런타임 실행 컨텍스트 (504)를 기반으로 하여 제2 애플리케이션 (501)과 연관된 보안 위험들을 표시하는 제2 리포트 (511)를 제2 증명 결과로서 생성한다. 블록 1030에서, 상기 증명 서버 (502)는 상기 제1 애플리케이션 (500)과 연관된 제1 증명 결과를 제2 컴퓨팅 플랫폼 (531)으로 그리고 제2 애플리케이션 (501)과 연관된 제2 증명 결과를 제1 컴퓨팅 플랫폼 (530)으로, 상호 증명을 위해서 송신한다.
특정의 예시적인 실시예들에서, 웹 브라우저는 아이콘을 렌더링하여, 상기 제1 증명 결과가 송신되었으며 그리고 사용자가 그 아이콘을 선택한 것에 응답한 것임을 표시하며, 그리고 웹 브라우저를 경유하여 액세스된 웹 애플리케이션인 제1 애플리케이션에 관한 증명 결과를 렌더링할 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 증명 서버 (502)는 제1 애플리케이션 아티팩트 (507)를 상기 제1 애플리케이션 (500)의 이어지는 실행 컨텍스트에서의 변화들에 대한 레퍼런스로서 생성하며 그리고 제1 애플리케이션 아티팩트 (505)를 상기 제2 애플리케이션 (501)의 이어지는 실행 컨텍스트에서의 변화들에 대한 레퍼런스로서 생성하며; 그리고 그 생성된 애플리케이션 아티팩트들 (507, 505)을 송신하여, 상기 제1 및 제2 런타임 실행 컨텍스트들 (506 및 504)에 이어지는 변경들이 상기 생성된 제1 및 제2 애플리케이션 아티팩트들 (507, 508)을 기반으로 하여 각각 상기 제1 및 제2 상호 관련된 애플리케이션들 (500, 501)에서 추적될 수 있도록 한다.
특정의 예시적인 실시예들에서, 요청자에 의한, 예를 들면, 사용자 (115)로의 액세스는 상기 제1 증명 결과들을 기반으로 하여 그리고 상기 제2 증명 결과들과는 독립적으로 제어될 수 있다.
도 11은 다양한 예시적인 실시예들에 따른 동작 애플리케이션의 증명을 제공하는 방법을 예시하는 흐름도이다.
도 11을 참조하면, 참조번호 1100의 방법은 동작 애플리케이션 (예를 들면, 웹 애플리케이션 또는 비-웹 애플리케이션)을 제공한다. 블록 1110에서, 상기 증명 서버 (402)는 동작 (running) 애플리케이션의 컨텍스트 변경 통지 (408)를 위해 복수의 가입자들 (412) 또는 사용자들 (300)에 대한 가입들을 등록한다. 블록 1120에서, 상기 증명 서비스 또는 서버 (402)는 상기 동작 (running) 런닝 애플리케이션에 관한 주장 (assertion)들을 생성한다. 블록 1130에서, 상기 증명 서비스 또는 서버 (402)는 컨텍스트 변경 통지 (408)를 수신한 것에 응답하여 상기 동작 애플리케이션의 주장들을 상기 복수의 가입자들 (412) 또는 사용자들 (300)에게 송신한다. 상기 주장들은 상기 동작 (running) 애플리케이션의 보안 위험의 레벨을 표시하는 신뢰 메트릭들을 적어도 포함한다.
도 12는 다양한 예시적인 실시예들에 따른 방법 (1200)을 예시하는 흐름도이다.
도 12를 참조하면, 상기 방법 (1200)은 증명 서버를 이용하여 클라이언트-서버 또는 피어-대-피어 트랜잭션들에서의 애플리케이션들의 상호 증명을 제공할 수 있을 것이다. 블록 1210에서, 상기 증명 서버 (502)는 (1) 클라이언트-서버 트랜잭션에서 클라이언트 (530)와 연관된 런타임 실행 컨텍스트 (506)에서의 변경을 추적하기 위한 제1 애플리케이션 아티팩트 (570), 그리고 (2) 클라이언트-서버 트랜잭션에서 서버 (531)와 연관된 제2 애플리케이션 아티팩트 (505)를 생성한다. 블록 1220에서, 상기 증명 서버 (502)는 제1 애플리케이션 아티팩트 (507)를 상기 클라언트 (530)로 송신하고 그리고 제2 애플리케이션 아티팩트 (505)를 상기 서버 (531)로 송신한다, 블록 1230에서, 제1 애플리케이션 아티팩트 (507)와 제2 애플리케이션 아티팩트 (505)는 교환되어, 상기 클라이언트 (530)와 상기 서버 (531) 각각이 클라이언트 서버 트랜잭션들에 대해서는 상기 클라이언트 (530) 및 상기 서버 (531)와 연관된 런타임 실행 컨텍스트들 (506, 504)에서의 변경들을 상호 추적하기 위해 제1 애플리케이션 아티팩트 (507) 및 제2 애플리케이션 아티팩트 (505)를 구비하도록 한다.
비록 클라이언트와 서버 사이에서의 클라이언트-서버 트랜잭션이 보이지만, 상호 증명은 피어-대-피어 환경 내 제1 피어와 제2 피어 사이에서 또는 제1, 제2 및/또는 추가의 피어들 사이에서 증명 서버에 의해서 제공될 수 있을 것이라는 것이 예견된다 .
도 13은 다양한 예시적인 실시예들에 따른 방법 (1300)을 예시하는 흐름도이다.
도 13을 참조하면, 상기 방법 (1300)은 증명 서버를 이용하여 클라이언트-서버 또는 피어-대-피어 트랜잭션들에서의 애플리케이션들의 상호 증명을 제공할 수 있을 것이다. 블록 1310에서, 상기 증명 서버 (502)는 제1 애플리케이션 아티팩트 (507)를 생성하고 송신한다. 블록 1320에서, 상기 증명 서버 (502)는 클라이언트 서버 트랜잭션에서 상기 증명 서버 (502)에 의해서 클라이언트 (530)로 송신된 제1 애플리케이션 아티팩트 (507)를 클라이언트-서버 트랜잭션에서의 서버 (531)로부터 수신하고 확인한다. 블록 1330에서, 상기 증명 서버 (502)는 클라이언트-서버 트랜잭션들에서 사용된 서로 관계가 있는 애플리케이션들 (500, 501)에 관하여 애플리케이션 선언들 (511, 515)을 생성하고 그리고 상기 클라이언트 (530) 및 상기 서버 (531)로 송신한다. 예를 들면, 상기 애플리케이션 선언들 (511, 515)을 상기 클라이언트 (530) 및 상기 서버 (531)로 송신하는 것은: 상기 증명 서버 (502)에 의해서 (1) 상기 서로 관계가 있는 애플리케이션들 (500:501)의 클라인트 애플리케이션 (500)에 관한 애플리케이션 선언 (511)을 클라이언트-서버 트랜잭션의 서버 (531)로 그리고 상기 서로 관계가 있는 애플리케이션들 (500:501)의 서버 애플리케이션 (501)에 관한 애플리케이션 선언 (515)은 상기 클라이언트-서버 트랜잭션에서의 클라이언트 (530)로 송신하는 것을 포함한다.
특정의 예시적인 실시예들에서, 상기 증명 서버 (502)는 제2 애플리케이션 아티팩트 (505)를 생성하고 그리고 송신할 수 있을 것이며, 상기 클라이언트 서버 트랜잭션에서의 클라이언트 (530)로부터 상기 제2 애플리케이션 아티팩트 (505)를 수신할 수 있을 것이며 그리고 상기 증명 서버 (502)에 의해 클라이언트 서버 트랜잭션에서의 서버 (531)로 송신된 상기 제2 애플리케이션 아티팩트 (505)를 확인할 수 있을 것이다.
특정의 예시적인 실시예들에서, 런타임에서 애플리케이션들을 위한 증명 서비스들을 제공하는 방법은 다음의 단계들 중 하나 또는 그 이상을 포함할 수 있을 것이다: 계장화된 타겟 플랫폼에 의해 타겟 사용자 또는 서비스 프로그램을 호스트하는 단계; 애플리케이션 증명 서비스에 의해서, (1) 세계적으로 유일하고, 불명료한, 시간-민감한 애플리케이션 아티팩트; 및 (2) 검사 기반의 런타임 로컬 실행 컨텍스트 및 내성 기반의 보안 컨텍스트에 속한 복수의 주장들을 포함하는 적어도 하나의 애플리케이션 선언을 생성하는 단계; 런타임 모니터에 의해서, 상기 계장화된 타겟 플랫폼 상에서 동작하는 애플리케이션 프로세스들을 검사하는 단계; 상기 런타임 모니터에 의해서, 적어도 상기 런타임 로컬 실행 컨텍스트를 포함하는 메타데이터를 생서하는 단계; 신원 공급자에 의해서 사용자를 웹 애플리케이션에 인증시키는 단계; 웹 서비스 요청을 기반으로 상기 웹 애플리케이션의 내성의 보안 컨텍스트 및 로컬 실행의 증명을 제공하는 단계; 네트워크 액세스 집행자에 의해서 가입 기반의 애플리케이션 증명 서비스를 이용하여, 인증된 사용자의 타겟 애플리케이션으로의 액세스를 제어하는 단계; 그리고/또는 합작 서비스에 의해서, 상기 계장화된 타겟 플랫폼 상에서 동작하는 상기 타겟 애플리케이션을 위해 상기 내성 기반의 보안 컨텍스트를 제공하는 단계.
특정의 예시적인 실시예들에서, 동작하는 웹 애플리케이션 또는 웹 서블릿 (servlet) 의 인증의 증명을 제공하는 방법은 다음의 단계들 중 하나 또는 그 이상을 포함할 수 있을 것이다: 웹 애플리케이션 또는 서블릿 인스턴스를 동작하는 애플리케이션 아티팩트에게 요청하는 단계; 상기 웹 서버와 상기 증명 서버 사이에 안전한 채널을 설립하는 단계; 상기 웹 애플리케이션 또는 서블릿 인스턴스의 실행 컨텍스트에 대응하는 적어도 하나의 해시 파일 요약을 생성하는 단계; 상기 웹 애플리케이션 또는 서블릿 인스턴스의 상기 실행 컨텍스트 또는 적어도 하나의 요소에 대응하는 적어도 하나의 속성을 결정하는 단계; 신원 공급자에게 애플리케이션 리포트를 송신하는 단계; 수신한 보안 컨텍스트 그리고 수신한 로컬 실행 컨텍스트를 기반으로 하여 주장들을 생성하는 단계; 상기 리포트 내 신뢰 메트릭들을 상기 신원 공급자에게 전송하는 단계; 및/또는 상기 동작하는 웹 애플리케이션 또는 웹 서블릿의 증명을 웹 브라우저에 의한 렌더링용의 디지털 아이콘으로서 제공하는 단계.
특정의 예시적인 실시예들에서, 상기 증명은 (1) 사용자와의 설립된 연결에서의 어떤 데이터 교환을 시작; 그리고/또는 (2) 사용자와의 네트워크 연결을 설립하기 이전에 제공될 수 있을 것이다.
특정의 예시적인 실시예들에서, 액세스될 웹 애플리케이션에 관한 증명 정보를 렌더링하는 것은 사용자 입력에 응답한 것일 수 있다.
특정의 예시적인 실시예들에서, 자체-관리되며 그리고 사내 (on-premise)에서 또는 아웃소싱 서비스 제공자 관리되는 하부구조 상에서 호스팅되는 동작 애플리케이션들을 지속적으로 모니터링하기 위한 시스템은 다음의 것들 중 하나 또는 그 이상을 포함할 수 있을 것이다: 타겟 사용자 또는 서비스 프로그램을 호스팅하기 위한 계장화된 타겟 플랫폼; 검사 기반의 런타임 로컬 실행 컨텍스트 그리고 내성 기반의 보안 컨텍스트에 속한 복수의 주장들을 포함하는 애플리케이션 선언들 그리고 세계적으로 유일하고, 불명료하며, 그리고 시간-민감한 애플리케이션 아티팩트를 생성하기 위한 애플리케이션 증명 서비스; 상기 계장화된 타겟 플랫폼 상 동작 애플리케이션 프로세스들을 발견하고, 식별하며 그리고 검사하기 위한 그리고 적어도 상기 런타임 로컬 실행 컨텍스트를 포함하는 메타데이터를 생성하기 위한 런타임 모니터; 상기 계장화된 타겟 플랫폼 상에서 동작하는 타겟 애플리케이션을 위해 내성의 보안 컨텍스트를 제공하기 위한 합작 서비스; 그리고/또는 그래픽 사용자 인터페이스. 이 인터페이스는: (1) 상기 주장 서비스의 메타데이터 저장소로부터 동적인 주장들을 요청하고 수신하기 위한 것이며, 상기 동적인 주장들은 상기 계장화된 타겟 플랫폼들 상에서 동작하는 애플리케이션 인스턴스들의 내성의 보안 컨텍스트 로컬 실행 컨텍스트에 속하며; (2) 상기 동적인 주장들을 시스템 관리자에게 계속해서 디스플레이하기 위한 것이며; 그리고 상기 동적인 주장들 그리고 미리 정해진 기준을 기반으로 하여 경보들을 제공하고 없애기 위한 것이다.
특정의 예시적인 실시예들에서, 상기 네트워크 액세스 집행자는 상기 맥락적인 주장들을 분석하고 그리고 인증된 사용자가 상기 증명된 애플리케이션 인스턴스에 허락되었는가 또는 거절되었는가의 여부를 판별하기 위해서 상기 증명 서비스로부터의 동적인 애플리케이션 선언들을 청약하고 그리고 수신할 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 그래픽 사용자 인터페이스는 클라이언트 특정 대시보드 또는 포탈 상의 계장화된 타겟 플랫폼 상에서 동작하는 애플리케이션들을 디스플레이할 수 있을 것이며, 그리고 각 연관된 애플리케이션 실행 컨텍스트에 대해서 다음 중 적어도 하나를 제시할 수 있을 것이다: (1) 서비스 호스트이름; (2) 서비스 영역; (3) 서비스 주요 이름; (4) 제품 버전; (5) 제픔 벤더; (6) 하나 또는 그 이상의 분류들 기반의 신뢰 메트릭들; 또는 (7) 액티브 네트워크 서비스 포트.
특정의 예시적인 실시예들에서, 상기 신원 공급자는 상기 맥락적인 주장들을 분석하기 위해서 그리고 인증된 사용자가 설립된 연결 내 증명된 애플리케이션 인스턴스와 데이터 교환들을 처리하는 것을 허락받았는가 또는 거절되었는가의 여부를 판별하기 위해서 상기 증명 서버로부터 동적인 애플리케이션 선언들에 대해 질의할 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 네트워크 액세스 집행자는, 인증된 사용자가 증명된 애플리케이션 인스턴스로의 네트워크 액세스를 허락받았는가 또는 거절되었는가의 여부를 판별하기 위해서, 가입을 기반으로 하여 상기 증명 서비스로부터 수신한 동적인 애플리케이션 선언들 내에 포함된 분류 기반의 신뢰 메트릭들을 분석할 수 있을 것이다.
특정의 예시적인 실시예들에서, 상기 신원 공급자는, 인증된 사용자가 설립된 연결에서 증명된 애플리케이션 인스턴스와의 데이터 교환들을 처리하는 것을 허락받았는가 또는 거절되었는가의 여부를 판별하기 위해서, 가입을 기반으로 하여 상기 증명 서비스로부터 수신한 동적인 애플리케이션 선언들 내에 포함된 분류 기반의 신뢰 메트릭들을 분석할 수 있을 것이다.
특정의 예시적인 실시예들에서, 자체-관리되며 그리고 사내 (on-premise)에서 또는 아웃소싱 서비스 제공자 관리되는 하부구조들 상에서 호스팅되는 증명된 동작 애플리케이션과 인증된 사용자들 사이에서의 데이터 교환 트랜잭션들 또는 네트워크 연결들을 위한 컨텍스트-인식 정책들을 생성하기 위한 방법은 다음의 단계들 중 하나 또는 그 이상을 포함할 수 있을 것이다: 계장화된 타겟 플랫폼에 의해서 타겟 사용자 또는 서비스 프로그램을 호스트하는 단계; 애플리케이션 증명 서비스에 의해서, 세계적으로 유일하고, 불명확하며, 그리고 시간-민감한 애플리케이션 아티팩트 그리고 검사 기반의 런타임 로컬 실행 컨텍스트 그리고 내성 기반의 보안 컨텍스트에 속한 복수의 주장들을 포함하는 애플리케이션 선언들을 생성하는 단계; 런타임 모니터에 의해서, 상기 계장화된 타겟 플랫폼 상에서 동작하는 애플리케이션 프로세스들을 발견하고, 확인하며 그리고 검사하고, 런타임 모니터에 의해서, 적어도 상기 런타임 로컬 실행 컨텍스트를 포함하는 메타데이터를 생성하는 단계; 신원 공급자에 의해서, 웹 애플리케이션의 내성의 보안 컨텍스트 및 로컬 실행의 증명을 제공하기 위해서 사용자를 웹 애플리케이션 기반의 웹 서비스들 요청에 인증시키는 단계; 네트워크 액세스 집행자에 의해서, 가입 기반의 애플리케이션 증명 서비스를 이용하여 인증된 사용자의 타겟 애플리케이션으로의 액세스를 제어하는 단계; 합작 서비스에 의해서, 상기 계장화된 타겟 플랫폼 상에서 동작하는 타겟 애플리케이션을 위해 내성의 보안 컨텍스트를 제공하는 단계; 그리고/또는 그래픽 사용자 인터페이스를 이용하여, 사용자 디렉토리 또는 데이터베이스 내 구별되는 이름에 의해서 주석이 달린 사용자들 그리고 등록된 세계적으로 유일한 보안의 주된 이름에 의해 주석이 달린 애플리케이션을 위한 엑세스 제어 규칙들을 생성하는 단계.
특정의 예시적인 실시예들에서, 컨텍스트-인식 액세스 제어 정책들은 생성되어, 동적인 분류 기반의 신뢰 메트릭들을 기초로 하여 인증들 용으로 받아들일 수 있는 문턱값들 (thresholds)을 규정하도록 한다.
비록 예시적인 실시예들이 컴퓨터 기기 또는 계장화된 플랫폼의 면에서 설명되었지만, 도 14에서 예시된 컴퓨터 시스템 (1400)과 같은 마이크로프로세서/범용 컴퓨터들 상에서의 소프트웨어로 구현될 수 있을 것이라는 것이 예견된다. 다양한 실시예들에서, 다양한 컴포넌트들의 하나 또는 그 이상의 기능들은 컴퓨터 시스템 (1400)과 같은 컴퓨팅 기기를 제어하는 소프트웨어로 구현될 수 있을 것이며, 이는 아래에서 도 14를 참조하여 설명된다.
도 1 내지 도 13에서 보여진 본 발명의 모습들, 그리고 그것들의 임의 부분(들) 또는 기능(들)은 하드웨어, 소프트웨어 모듈들, 펌웨어, 저장된 명령어들을 구비한 비-일시적 컴퓨터 독출가능 매체, 또는 그것들의 결합을 이용하여 구현될 수 있을 것이며 그리고 하나 또는 그 이상의 컴퓨터 시스템들이나 다른 프로세싱 시스템들로 구현될 수 있을 것이다.
도 14는 본 발명의 실시예들 또는 그것들의 일부가 컴퓨터-독출가능 코드로서 구현될 수 있을 일 예의 컴퓨터 시스템 (1400)을 도시한다. 예를 들면, 도 1 내지 도 5의 네트워크 시스템들 (150, 250, 340, 450 그리고 550)은 하드웨어, 소프트웨어 모듈들, 펌웨어, 저장된 명령어들을 구비한 비-일시적 컴퓨터 독출가능 매체, 또는 그것들의 결합을 이용하여 구현될 수 있을 것이며 그리고 하나 또는 그 이상의 컴퓨터 시스템들이나 다른 프로세싱 시스템들로 구현될 수 있을 것이다. 하드웨어, 소프트웨어, 또는 그런 것의 어떤 결합은 도 1 내지 도 5에서의 네트워크 시스템을 구현하기 위해서 사용된 모듈들 및 컴포넌트들 중 어떤 것을 구현할 수 있을 것이다.
프로그램 가능한 로직이 사용되며, 그런 로직은 상업적으로 이용 가능한 프로세싱 플랫폼 또는 특수 목적의 기기 상에서 실행될 수 있을 것이다. 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자는 상기 개시된 주제가, 멀티-코어 멀티프로세서 시스템들, 미니컴퓨터들, 메인프레임 컴퓨터들, 분산된 기능들과 링크되거나 클러스터된 컴퓨터들 그리고 사실상 어떤 기기로 내장될 수 있을 내장된 또는 소형의 컴퓨터들을 포함하는 다양한 컴퓨터 시스템 구성들을 이용하여 실행될 수 있다는 것을 인정할 수 있을 것이다.
예를 들면, 상기 설명된 실시예들을 구현하기 위해서 적어도 하나의 프로세서 기기 그리고 메모리가 사용될 수 있을 것이다. 프로세서 기기는 단일의 프로세서, 복수의 프로세서들, 또는 그것들의 결합일 수 있다. 프로세서 기기는 하나 또는 그 이상의 프로세서 "코어들"을 구비할 수 있을 것이다.
본 발명의 다양한 실시예들이 이 예시의 컴퓨터 시스템 (1400)의 면에서 설명된다. 이 설명을 읽은 후에, 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자에게는, 다른 컴퓨터 시스템들 그리고/또는 컴퓨터 구조들을 사용하여 어떻게 본 발명을 구현하는가는 명백해질 것이다. 비록 동작들이 연속하는 프로세스로서 설명될 수 있을 것이지만, 그 동작들 중의 몇몇은 실제로는 병렬로, 동시에, 그리고/또는 분산된 환경에서 실행될 수 있으며, 그리고 단일 또는 다중-프로세서 기계들에 의해서 액세스되기 위해 프로그램 코드가 로컬에서 또는 원격으로 저장될 수 있다. 추가로, 몇몇의 실시예들에서, 동작들의 순서는 개시된 주제의 사상으로부터 벗어나지 않으면서 재배치될 수 있을 것이다.
프로세서 기기 (1404)는 특수 목적 또는 범용 프로세서 기기일 수 있다. 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자가 인정할 것처럼, 또한 프로세서 기기 (1404)는 단독으로 동작하는 시스템과 같은 멀티-코어/멀티프로세서 시스템 내의 또는 클러스터 또는 서버 팜 (farm)에서 동작하는 컴퓨팅 기기들의 클러스터 내의 단일의 프로세서일 수 있다. 프로세서 기기 (1404)는 통신 하부구조 (1406), 예를 들면, 버스, 메시지 큐, 네트워크, 또는 멀티-코어 메시지-패싱 방식에 연결된다.
컴퓨터 시스템 (1400)은 메인 메모리 (1408), 예를 들면, 랜덤 액세스 메모리 (RAM)를 또한 포함하며, 그리고 2차 메모리 (1410)를 또한 포함할 수 있을 것이다. 2차 메모리 (1410)는, 예를 들면, 하드 디스크 드라이브 (1412), 탈부착 가능한 저장 드라이브 (1414)를 포함할 수 있을 것이다. 탈부착 가능한 (removable) 저장 드라이브 (1414)는 플로피 디스크 드라이브, 자기 테입 드라이브, 광학 디스크 드라이브, 플래시 메모리 등을 포함할 수 있다.
상기 탈부착 가능한 저장 드라이브 (1414)는 탈부착 가능 저장 유닛 (1418)로부터 데이터를 읽고 그리고/또는 데이터를 쓴다. 탈부착 가능 저장 유닛 (1418)은 플로피 디스크, 자기 테입, 광학 디스크 등을 포함할 수 있을 것이며, 이는 탈부착 가능 저장 드라이브 (1414)에 의해 읽혀지고 써진다. 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자가 인정할 것처럼, 탈부착 가능 저장 유닛 (1418)은 컴퓨터 소프트웨어 그리고/또는 데이터를 저장하는 비-일시적 컴퓨터 사용가능 저장 매체를 포함한다.
대안의 구현들에서, 2차 메모리 (1410)는 컴퓨터 프로그램들이나 다른 명령어들이 컴퓨터 시스템 (1400)으로 로딩되는 것을 허용하기 위한 다른 유사한 수단을 포함할 수 있을 것이다. 그런 수단은, 예를 들면, 탈부착 가능 저장 유닛 (1422) 그리고 인터페이스 (1420)를 포함할 수 있다. 그런 수단의 예들은 프로그램 카트리지 및 카트리지 인터페이스 (비디오 게임 기기들에서 발견되는 것과 같음), (EPROM, 또는 PROM과 같은) 탈부착 가능한 메모리 칩들 및 연관된 소켓들, 그리고 다른 탈부착 가능 저장 유닛들 (1422) 및 소프트웨어와 데이터가 상기 탈부착 가능 저장 유닛들 (1422)로부터 컴퓨터 시스템 (1400)으로 전달되는 것을 허용하는 인터페이스 (1420)를 포함할 수 있다.
컴퓨터 시스템 (1400)은 통신 인터페이스 (1424)를 또한 포함할 수 있다. 통신 인터페이스 (1424)는 소프트웨어 및 데이터가 컴퓨터 시스템 (1400)과 외부 기기들 사이에서 전달되는 것을 허용한다. 통신 인터페이스 (1424)는 모뎀, (이더넷 카드와 같은) 네트워크 인터페이스, 통신 포트, PCMCIA 슬롯 및 카드 등을 포함할 수 있다. 통신 인터페이스 (1424)를 경유하여 전달된 소프트웨어 및 데이터는 신호들의 형상일 수 있으며, 이는 전자, 전자기, 광학, 또는 통신 인터페이스 (1424)에 의해서 수신될 수 있는 다른 신호들일 수 있다. 이 신호들은 통신 경로 (1426)를 통해서 통신 인터페이스 (1424)로 제공될 수 있다. 통신 경로 (1426)는 신호들을 운반하고 그리고 와이어 또는 케이블, 광섬유, 전화선, 셀룰러 전화 링크, RF 링크 또는 다른 통신 채널들을 이용하여 구현될 수 있을 것이다.
이 문서에서, "컴퓨터 프로그램 매체", "비-일시적인 컴퓨터 독출가능 매체", 그리고 "컴퓨터 사용 가능 매체"의 용어들은 탈부착 가능 저장 유닛 (1418), 탈부착 가능한 저장 유닛 (1422), 그리고 하드디스크 드라이브 내에 설치된 하드 디스크와 같은 매체를 일반적으로 언급하기 위해서 사용된다. 통신 경로 (1426)를 통해 운반된 신호들은 여기에서 설명된 로직을 또한 구현할 수 있다. 컴퓨터 프로그램 매체 그리고 컴퓨터 사용가능 매체는 메인 메모리 (1408) 및 2차 메모리 (1410)와 같은 메모리들로, 메모리 반도체들 (예를 들면, DRAM들 등)일 수 있는 메모리들을 또한 언급할 수 있다. 이 컴퓨터 프로그램 제품들은 소프트웨어를 컴퓨터 시스템 (1400)으로 공급하기 위한 수단이다.
컴퓨터 프로그램들 (컴퓨터 제어 로직으로도 불린다)은 메인 메모리 (1408) 그리고/또는 2차 메모리 (1410)에 저장된다. 컴퓨터 프로그램들은 통신 인터페이스 (1410)를 통해서 또한 수신될 수 있다. 그런 컴퓨터 프로그램들은 실행되면 컴퓨터 시스템 (1400)이 여기에서 설명된 본 발명을 구현하는 것을 가능하게 한다. 특히, 상기 컴퓨터 프로그램들은 실행되면 프로세서 기기 (1404)가 도 8 내지 도13의 흐름도들 (800, 900, 1000, 1100, 1200 그리고 1300)에 의해서 도시된 방법들에서의 단계들과 같은 상기 설명된 본 발명의 프로세스들을 구현하는 것을 가능하게 한다. 따라서, 그런 컴퓨터 프로그램들은 상기 컴퓨터 시스템 (1400)의 제어기들을 의미한다. 본 발명이 소프트웨어를 이용하여 구현될 때에, 그 소프트웨어는 컴퓨터 프로그램 제품 내에 저장될 수 있을 것이며 그리고 탈부착 가능 저장 드라이브 (1414), 인터페이스 (1420), 그리고 하드디스크 드라이브 (1412), 또는 통신 인터페이스 (1424)를 이용하여 컴퓨터 시스템 (1400)으로 로딩될 수 있을 것이다.
또한 본 발명의 실시예들은 컴퓨터 사용가능 매체 상에 저장된 소프트웨어를 포함하는 컴퓨터 프로그램 제품에 관한 것일 수 있다. 그런 소프트웨어는 하나 또는 그 이상의 데이터 프로세싱 기기에서 실행되면 데이터 프로세싱 기기(들)로 하여금 여기에서 설명된 것처럼 동작하도록 한다. 본 발명의 실시예들은 임의의 컴퓨터 사용가능 또는 독출가능 매체를 채택한다. 컴퓨터 사용가능 매체들의 예들은 1차 저장 기기들 (예를 들면, 임의 유형의 랜덤 액세스 메모리), 2차 저장 기기들 (예를 들면, 하드 드라이브들, 플로피 디스크들, CD ROM들, ZIP 디스크들, 테입들, 자기 저장 기기들, 그리고 광학 저장 기기들, MEMS, 나노기술 저장 기기 등), 그리고 통신 매체들 (예를 들면, 유선 그리고 무선 통신 네트워크들, 로컬 영역 네트워크들, 광역 네트워크들, 인트라넷들 등)을 포함하지만, 그것들로 제한되지는 않는다.
발명의 상세한 설명 섹션은 청구항들을 해석하기 위해서 사용될 의도이지만, 과제의 해결 수단과 요약은 그렇지 않다는 것이 이해될 것이다. 과제의 해결 수단 및 요약 섹션들은 본 발명자(들)가 숙고한 본 발명의 모든 예시적인 실시예들의 하나 또는 그 이상을 제시한 것이며 모두를 제시한 것은 아니며, 그래서, 본 발명 그리고 첨부된 청구항들을 어떤 식으로라도 제한하려고 의도된 것이 아니다.
본 발명의 실시예들은 특정된 기능들 그리고 그것들의 관계들의 구현을 도시하는 기능적인 빌딩 블록들의 도움을 받아 위에서 설명되었다. 이 기능적인 빌딩 블록들의 경계들은 설명의 편의를 위해서 임의적으로 정의되었다. 상기 특정된 기능들 그리고 그 기능들의 관계들이 적절하게 수행되는 한은 대안의 경계들이 정의될 수 있다.
특정된 실시예들의 전술한 설명은 본 발명의 일반적인 속성을 그렇게 완전히 드러낼 것이며, 그래서 다른 자들은 본 발명의 일반적인 개념으로부터 벗어나지 않으면서도 본 발명이 속한 기술 분야에서의 지식을 적용함으로써 다양한 응용들을 위해서 과도한 노력 없이 그런 특정 실시예들을 쉽게 수정하고 그리고/또는 적응시킬 수 있다. 그러므로, 그런 적응들 및 수정들은 여기에서 제시된 교시 및 안내를 기반으로 하여, 상기 개시된 실시예들의 등가물의 범위 및 의미 내에 존재하는 것으로 의도된다. 여기에서 제시된 어구 및 용어는 설명의 목적을 위한 것이며 한정하려는 것이 아니며, 그래서 본 명세서의 용어 및 어구는 상기 교시 및 안내를 고려한 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자에 의해서 해석되어야만 한다는 것을 이해해야 한다.
비록 본 발명이 특정 실시예들을 참조하여 여기에서 예시되고 설명되었지만, 본 발명은 보여진 상세한 내용들로 한정될 것으로 의도된 것이 아니다. 오히려, 다양한 수정들이 본 발명의 범위로부터 벗어나지 않으면서 청구항들의 등가물의 범위 및 구역 내에 있는 상세한 내용에서 만들어질 수 있을 것이다.

Claims (26)

  1. 증명 서버를 이용하여 컴퓨팅 플랫폼 상에서 런타임 실행에서 애플리케이션을 위한 증명 (attestation) 서비스를 제공하는 방법으로서:
    상기 컴퓨팅 플랫폼으로부터 멀리 떨어진 상기 증명 서버에 의해서:
    런타임에서 상기 애플리케이션의 속성들을 표시하는 런타임 실행 컨텍스트 (context); 및
    상기 애플리케이션에 관한 보안 정보를 제공하는 보안 컨텍스트를 수신하는 단계;
    상기 수신한 런타임 실행 컨텍스트 그리고 상기 수신한 보안 컨텍스트를 기반으로 하여 상기 애플리케이션과 연관된 보안 위험들을 표시하는 리포트를 상기 증명 서버에 의해서 증명 결과로서 생성하는 단계; 및
    상기 애플리케이션과 연관된 상기 증명 결과를 상기 증명 서버에 의해서 송신하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    애플리케이션 아티팩트 (artifact)를 이후의 (subsequent) 실행 컨텍스트에서의 변경들에 대한 레퍼런스로서 상기 증명 서버에 의해서 생성하는 단계; 및
    상기 생성된 아티팩트를 송신하여, 상기 생성된 애플리케이션 아티팩트를 기반으로 하여 런타임 실행 컨텍스트로의 이후의 변경들이 추적되도록 하는 단계;를 더 포함하는, 방법.
  3. 제2항에 있어서,
    상기 증명 결과들 및 상기 애플리케이션 아티팩트를 디지털로 서명하는 (signing) 단계를 더 포함하는, 방법.
  4. 제1항에 있어서,
    상기 수신한 보안 컨텍스트는 내성적 (introspective) 보안 컨텍스트인, 방법.
  5. 제1항에 있어서,
    상기 애플리케이션과 연관된 보안 위험들을 표시하는 상기 리포트를 생성하는 것은 상기 수신한 런타임 실행 컨텍스트 및 상기 수신한 내성적 보안 컨텍스트에 속한 하나 이상의 보안 주장 (assertion)들을 상기 증명 서버에 의해서 생성하는 것을 포함하는, 방법.
  6. 제1항에 있어서,
    복수의 합작 (collaboration) 서비스들을 이용하여 상기 애플리케이션을 인증하는 단계를 더 포함하는, 방법.
  7. 제1항에 있어서,
    상기 증명 결과들에 따라 인증 규칙들의 세트를 적용함으로써 사용자의 상기 애플리케이션과의 트랜잭션을 제어하는 단계를 더 포함하는, 방법.
  8. 제1항에 있어서,
    상기 증명 결과들에 따라 인증 규칙들의 세트를 적용함으로써 상기 애플리케이션으로의 사용자의 네트워크 액세스를 제어하는 단계를 더 포함하는, 방법.
  9. 제1항에 있어서,
    상이한 분류들에 의한 보안 위험의 레벨을 표시하는 상기 증명 결과들 내에 신뢰 메트릭 (metric)들을 제공하는 단계를 더 포함하여,
    상기 애플리케이션과의 사용자의 트랜잭션 상의 제한이 상기 증명 결과들 내 상기 신뢰 메트릭들에 의해서 표시된 보안 위험의 레벨을 기반으로 하여 적용되도록 하는, 방법.
  10. 제9항에 있어서,
    상기 사용자의 트랜잭션 상의 제한의 적용은 상기 애플리케이션으로의 상기 사용자의 네트워크 액세스 상에 상기 제한을 적용하는 것을 포함하는, 방법.
  11. 제1항에 있어서,
    상기 사용자의 트랜잭션 상에 상기 제한을 적용하는 것은
    사용자의 라우팅 결정들 및 방향 재설정을 대안의 컴퓨터 플랫폼으로 적용하는 것을 포함하는, 방법.
  12. 제1항에 있어서,
    네트워크 액세스 집행자에 의해, 상기 증명 결과를 기반으로 하여 상기 애플리케이션으로의 사용자 액세스를 제어하는 단계를 더 포함하는 방법.
  13. 저장된 명령어들을 구비한 비-일시적인 컴퓨터 독출가능 매체로서,
    상기 명령어들은 컴퓨터 기기에 의해서 실행되면, 상기 컴퓨팅 기기로 하여금 증명 서버를 이용하여 클라이언트-서버 트랜잭션 또는 피어-대-피어 트랜잭션에서 애플리케이션들의 상호 증명을 제공하기 위한 동작들을 수행하도록 하며,
    상기 동작들은:
    상기 증명 서버에 의해서 제1 애플리케이션 아티팩트를 생성하고 송신하며;
    클라이언트-서버 트랜잭션에서의 클라이언트로 또는 피어-대-피어 트랜잭션에서는 제2 피어로 상기 증명 서버에 의해서 송신된 제1 애플리케이션 아티팩트를, 상기 클라이언트-서버 트랜잭션에서는 서버로부터 또는 상기 피어-대-피어 트랜잭션에서는 제1 피어로부터 상기 증명 서버에 의해서 수신하고 그리고 확인하며;
    상기 클라이언트-서버 트랜잭션에서 또는 상기 피어-대-피어 트랜잭션에서 사용된 서로 관계가 있는 애플리케이션들에 관한 애플리케이션 선언들 (statements)을 생성하여 상기 클라이언트 및 상기 서버로 또는 상기 제1 피어 및 제2 피어로 송신하는 것을 포함하는, 컴퓨터 독출가능 매체.
  14. 제13항에 있어서,
    상기 동작들은:
    상기 증명 서버에 의해서 제2 애플리케이션 아티팩트를 생성하고 송신하며;
    클라이언트-서버 트랙잭션에서는 서버로 또는 피어-대-피어 트랜잭션에서는 제1 피어로 상기 증명 서버에 의해서 송신된 제2 애플리케이션 아티팩트를, 클라이언트-서버 트랜잭션에서는 클라언트로부터 또는 피어-대-피어 트랜잭션에는 제2 피어로부터 상기 증명 서버에 의해서 수신하고 그리고 확인하는 것을 더 포함하는, 컴퓨터 독출가능 매체.
  15. 제14항에 있어서,
    상기 애플리케이션 선언들을 상기 클라이언트 및 상기 서버로 또는 상기 제1 피어 및 제2 피어로 송신하는 것은 다음의 동작들:
    상기 증명 서버에 의해서:
    상기 서로 관계가 있는 애플리케이션들의 클라이언트 애플리케이션에 관한 애플리케이션 선언을 상기 클라이언트-서버 트랜잭션의 서버로 그리고 상기 서로 관계가 있는 애플리케이션들의 서버 애플리케이션에 관한 애플리케이션 선언을 상기 클라이언트-서버 트랜잭션의 클라이언트로 송신하고; 또는
    상기 서로 관계가 있는 애플리케이션들의 제1 피어 애플리케이션에 관한 애플리케이션 선언을 상기 피어-대-피어 트랜잭션의 제2 피어로 그리고 상기 서로 관계가 있는 애플리케이션들의 제2 피어 애플리케이션에 관한 애플리케이션 선언을 상기 피어-대-피어 트랜잭션의 제1 피어로 송신하며; 그리고
    상기 송신된 애플리케이션 선언들에 적어도 부분적으로 기초하여 연관된 애플리케이션들과의 데이터 교환들을 처리하는가의 여부를 결정하는 것을,
    포함하는, 컴퓨터 독출가능 매체.
  16. 제15항에 있어서,
    상기 애플리케이션 선언들을 생성하는 것은:
    상기 애플리케이션 선언들에 신뢰 매트릭들 그리고 문맥상 (contextual) 주장들을 포함시키는 것을 포함하며; 그리고
    상기 연관된 애플리케이션들과 데이터 교환들을 처리하는가의 여부를 결정하는 것은:
    각 신뢰 메트릭들을 규칙들의 세트와 비교하고; 그리고
    그 비교를 기반으로 하여 데이터 교환을 처리하는가의 여부를 결정하는 것을 포함하는, 컴퓨터 독출가능 매체.
  17. 동작하는 웹 애플리케이션 또는 웹 서블릿 (servlet)의 인증의 증명을 증명 서버를 이용하여 제공하는 방법으로서:
    동작하는 웹 애플리케이션이나 웹 서블릿 인스턴스 (instance)를 위한 애플리케이션 아티팩트를 요청하는 단계;
    상기 웹 서버와 상기 증명 서버 사이의 안전한 채널을 설립하는 단계;
    상기 웹 애플리케이션 또는 웹 서블릿 인스턴스의 실행 컨텍스트에 대응하는 적어도 하나의 해시 (hash) 파일 요약을 생성하는 단계;
    상기 웹 애플리케이션 또는 웹 서블릿 인스턴스의 적어도 하나의 요소 또는 실행 컨텍스트에 대응하는 적어도 하나의 파일 속성을 결정하는 단계;
    애플리케이션 리포트를 신원 공급자 (identity provider)에게 송신하는 단계;
    수신한 보안 컨텍스트 그리고 수신한 로컬 실행 컨텍스트를 기반으로 주장들을 생성하는 단계;
    상기 보고 내 신뢰 메트릭들을 상기 신원 공급자에게 전송하는 단계; 및
    상기 웹 애플리케이션 또는 웹 서블릿의 증명을 웹 브라우저에 의한 렌더링용의 디지털 아이콘으로서 제공하는 단계를 포함하는, 방법.
  18. 제17항에 있어서,
    상기 증명은, 사용자와 설립된 연결에서 어떤 데이터 교환도 시작하기 이전에 제공되는, 방법.
  19. 제17항에 있어서,
    상기 증명은 사용자와의 네트워크 연결을 설립하기 이전에 제공되는, 방법.
  20. 제19항에 있어서,
    사용자 입력에 응답하여 액세스될 웹 애플리케이션에 관한 증명 정보를 렌더링하는 단계를 더 포함하는, 방법.
  21. 자체적으로 관리되고 사내 (on-premise)에서 호스팅되거나 또는 아웃소싱 서비스 제공자 괸리 하부구조 상에서 호스팅되는 동작 애플리케이션들을 계속해서 모니터링하기 위한 시스템으로서,
    타겟 사용자 또는 서비스 프로그램을 호스팅하기 위한 계장화된 (instrumented) 타겟 플랫폼;
    [세계적으로 (globally) 유일한, 불명확한, 그리고 시간-민감한 애플리케이션 아티팩트 그리고 검사 (inspection) 기반의 런타임 로컬 실행 컨텍스트 그리고 내성 (introspection) 기반의 보안 컨텍스트에 속한 복수의 주장들을 포함하는 애플리케이션 선언들을 생성하고; 그리고
    상기 계장화된 타겟 플랫폼을 치료하며, 이 경우 상기 치료는, 상기 계장화된 타겟 플랫폼을 다시 상을 만들거나 (reimage), 스냅샷을 찍거나 또는 격리하는 것 중 하나 이상을 포함하는] 것을 위한, 애플리케이션 증명 서비스;
    상기 계장화된 타겟 플랫폼 상의 동작 애플리케이션 프로세스들을 발견하고 (discover), 식별하고 그리고 검사하기 위한 그리고 상기 런타임 로컬 실행 컨텍스트를 적어도 포함하는 메타데이터를 생성하기 위한 런타임 모니터;
    [상기 계장화된 타겟 플랫폼 상에서 동작하는 타겟 애플리케이션을 위한 내성적 (introspected) 보안 컨텍스트를 제공하고; 그리고
    상기 계장화된 타겟 플랫폼 상에서 동작하는 상기 타겟 애플리케이션을 위한 실행 가능한 파일 이진수들을 분석]하도록 구성된 합작 서비스 (collaboration service); 그리고
    [상기 증명 서비스의 메타데이터 저장소로부터 동적인 주장들을 요청하고 수신하도록 구성되며, 상기 동적인 주장들은 상기 계장화된 플랫폼들 상의 동작 애플리케이션 인스턴스의 상기 내적인 보안 컨텍스트 로컬 실행 컨텍스트에 속하며;
    상기 동적 주장들은 시스템 관리자에게 계속해서 디스플레이하도록 구성되며; 그리고
    상기 동적인 주장들 그리고 미리 정의된 기준을 기반으로 하여 경보들을 제공하고 그리고 없애도록 구성된] 그래픽 사용자 인터페이스를 포함하는, 시스템.
  22. 제21항에 있어서,
    네트워크 액세스 집행자는, 상기 문맥상 주장들을 분석하고 그리고 인증된 사용자가 증명된 애플리케이션 인스턴스로의 액세스가 허가되는지 또는 거부되는지의 여부를 판별하기 위해서, 증명 서비스로부터 동적인 애플리케이션 선언들을 청약하고 그리고 수신하는, 시스템.
  23. 제21항에 있어서,
    상기 그래픽 사용자 인터페이스는 클라이언트 특정 대시보드 또는 포탈 상의 계장화된 타겟 플랫폼 상에서 동작하는 애플리케이션들을 디스플레이하며, 그리고 각 연관된 애플리케이션 실행 컨텍스트에 대해서:
    서비스 호스트이름;
    서비스 영역;
    서비스 주요 이름;
    제품 버전;
    제픔 벤더;
    하나 이상의 분류들 기반의 신뢰 메트릭들;
    액티브 네트워크 서비스 포트; 또는
    실행가능한 파일 이진수들
    중 적어도 하나를 제시하는, 시스템.
  24. 제21항에 있어서,
    상기 맥락적인 주장들을 분석하기 위해서 그리고 인증된 사용자가 설립된 연결 내 증명된 애플리케이션 인스턴스와 데이터 교환들을 처리하는 것을 허락받았는가 또는 거절되었는가의 여부를 판별하기 위해서 상기 증명 서버로부터 동적인 애플리케이션 선언들에 대해 질의하는 신원 공급자를 더 포함하는, 시스템.
  25. 제21항에 있어서,
    인증된 사용자가 증명된 애플리케이션 인스턴스로의 네트워크 액세스를 허락받았는가 또는 거절되었는가의 여부를 판별하기 위해서, 가입을 기반으로 하여 증명 서비스로부터 수신한 동적인 애플리케이션 선언들 내에 포함된 분류들 기반의 신뢰 메트릭들을 분석하는 네트워크 액세스 집행자를 더 포함하는, 시스템.
  26. 제21항에 있어서,
    신원 공급자는 인증된 사용자가 설립된 연결에서 증명된 애플리케이션 인스턴스와의 데이터 교환들을 처리하는 것을 허락받았는가 또는 거절되었는가의 여부를 판별하기 위해서, 가입을 기반으로 하여 증명 서비스로부터 수신한 동적인 애플리케이션 선언들 내에 포함된 분류 기반의 신뢰 메트릭들을 분석하는, 시스템.
KR1020137024800A 2011-02-17 2012-02-17 애플리케이션 증명을 위한 시스템 및 방법 KR20140043068A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161443854P 2011-02-17 2011-02-17
US61/443,854 2011-02-17
PCT/US2012/025551 WO2012112833A2 (en) 2011-02-17 2012-02-17 System and method for application attestation

Publications (1)

Publication Number Publication Date
KR20140043068A true KR20140043068A (ko) 2014-04-08

Family

ID=46653839

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137024800A KR20140043068A (ko) 2011-02-17 2012-02-17 애플리케이션 증명을 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US8327441B2 (ko)
EP (1) EP2676220A4 (ko)
JP (2) JP5961638B2 (ko)
KR (1) KR20140043068A (ko)
IL (1) IL228003A (ko)
WO (1) WO2012112833A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170059451A (ko) * 2014-09-25 2017-05-30 오라클 인터내셔날 코포레이션 멀티테넌트 어플리케이션 서버 환경에서 파티션 식별자들의 결정을 위한 시스템 및 방법
US10958664B2 (en) 2017-09-22 2021-03-23 Samsung Electronics Co., Ltd. Method of performing integrity verification between client and server and encryption security protocol-based communication method of supporting integrity verification between client and server

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7508946B2 (en) * 2001-06-27 2009-03-24 Sony Corporation Integrated circuit device, information processing apparatus, memory management method for information storage device, mobile terminal apparatus, semiconductor integrated circuit device, and communication method using mobile terminal apparatus
US7877409B2 (en) * 2005-12-29 2011-01-25 Nextlabs, Inc. Preventing conflicts of interests between two or more groups using applications
US8407757B2 (en) * 2008-01-04 2013-03-26 International Business Machines Corporation Specifying and enforcing run-time policies for application processes being executed on a computer
US9087196B2 (en) * 2010-12-24 2015-07-21 Intel Corporation Secure application attestation using dynamic measurement kernels
US20120272103A1 (en) * 2011-04-21 2012-10-25 Microsoft Corporation Software operability service
US9418216B2 (en) * 2011-07-21 2016-08-16 Microsoft Technology Licensing, Llc Cloud service authentication
US9800688B2 (en) 2011-09-12 2017-10-24 Microsoft Technology Licensing, Llc Platform-enabled proximity service
US9117076B2 (en) 2012-03-14 2015-08-25 Wintermute, Llc System and method for detecting potential threats by monitoring user and system behavior associated with computer and network activity
US8918387B1 (en) 2012-04-04 2014-12-23 Symantec Corporation Systems and methods for classifying applications configured for cloud-based platforms
US9223961B1 (en) * 2012-04-04 2015-12-29 Symantec Corporation Systems and methods for performing security analyses of applications configured for cloud-based platforms
US9092616B2 (en) 2012-05-01 2015-07-28 Taasera, Inc. Systems and methods for threat identification and remediation
CA2874489A1 (en) 2012-05-09 2013-11-14 SunStone Information Defense Inc. Methods and apparatus for identifying and removing malicious applications
US9053307B1 (en) 2012-07-23 2015-06-09 Amazon Technologies, Inc. Behavior based identity system
US8745718B1 (en) * 2012-08-20 2014-06-03 Jericho Systems Corporation Delivery of authentication information to a RESTful service using token validation scheme
US9197498B2 (en) 2012-08-31 2015-11-24 Cisco Technology, Inc. Method for automatically applying access control policies based on device types of networked computing devices
CN103685151B (zh) * 2012-09-03 2018-05-22 腾讯科技(深圳)有限公司 账号单点登录保护方法及装置
CN104620278B (zh) * 2012-09-12 2017-12-22 英派尔科技开发有限公司 用于保证而不显露基础结构的复合认证
US8769651B2 (en) * 2012-09-19 2014-07-01 Secureauth Corporation Mobile multifactor single-sign-on authentication
US9253185B2 (en) 2012-12-12 2016-02-02 Nokia Technologies Oy Cloud centric application trust validation
US10356204B2 (en) * 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers
US8850517B2 (en) * 2013-01-15 2014-09-30 Taasera, Inc. Runtime risk detection based on user, application, and system action sequence correlation
US10333801B2 (en) 2013-03-14 2019-06-25 Amazon Technologies, Inc. Inventory service for distributed infrastructure
US9473355B2 (en) 2013-03-14 2016-10-18 Amazon Technologies, Inc. Inferring application inventory
US11816465B2 (en) 2013-03-15 2023-11-14 Ei Electronics Llc Devices, systems and methods for tracking and upgrading firmware in intelligent electronic devices
US9858247B2 (en) 2013-05-20 2018-01-02 Microsoft Technology Licensing, Llc Runtime resolution of content references
US9456302B2 (en) 2013-06-03 2016-09-27 Temeda Llc Geospatial asset tracking systems, methods and apparatus for acquiring, manipulating and presenting telematic metadata
US9811447B2 (en) 2013-06-20 2017-11-07 Entit Software Llc Generating a fingerprint representing a response of an application to a simulation of a fault of an external service
US9454565B1 (en) * 2013-06-25 2016-09-27 Amazon Technologies, Inc. Identifying relationships between applications
US10269029B1 (en) 2013-06-25 2019-04-23 Amazon Technologies, Inc. Application monetization based on application and lifestyle fingerprinting
US9262470B1 (en) 2013-06-25 2016-02-16 Amazon Technologies, Inc. Application recommendations based on application and lifestyle fingerprinting
US9921827B1 (en) 2013-06-25 2018-03-20 Amazon Technologies, Inc. Developing versions of applications based on application fingerprinting
US9547835B2 (en) * 2013-08-20 2017-01-17 International Business Machines Corporation Modularly managed service platform
US9117077B2 (en) 2013-09-27 2015-08-25 Bitdefender IPR Management Ltd. Systems and methods for using a reputation indicator to facilitate malware scanning
US10880110B2 (en) 2013-10-22 2020-12-29 Nokia Technologies Oy Apparatus and method for identifying objects using social links
EP3085007B1 (en) 2013-12-20 2023-03-15 Nokia Technologies Oy Push-based trust model for public cloud applications
CN105900059B (zh) 2014-01-21 2019-06-07 甲骨文国际公司 用于在应用服务器、云或其它环境中支持多租户的系统和方法
WO2015171517A1 (en) * 2014-05-06 2015-11-12 Okta, Inc. Facilitating single sign-on to software applications
US11734396B2 (en) 2014-06-17 2023-08-22 El Electronics Llc Security through layers in an intelligent electronic device
US10380575B2 (en) * 2014-06-26 2019-08-13 Capital One Services, Llc Systems and methods for transaction pre authentication
US9390258B2 (en) * 2014-07-16 2016-07-12 General Electric Company Systems and methods for verifying the authenticity of an application during execution
CN104158659B (zh) * 2014-07-21 2015-11-11 小米科技有限责任公司 防伪验证方法、装置和系统
EP3202081A4 (en) * 2014-09-30 2018-05-30 Hewlett-Packard Enterprise Development LP Metrics authorization based on a certificate
US10225245B2 (en) * 2014-11-18 2019-03-05 Auth0, Inc. Identity infrastructure as a service
US10193700B2 (en) 2015-02-27 2019-01-29 Samsung Electronics Co., Ltd. Trust-zone-based end-to-end security
US20160253664A1 (en) * 2015-02-27 2016-09-01 Samsung Electronics Co., Ltd Attestation by proxy
EP3262582B1 (en) 2015-02-27 2021-03-17 Samsung Electronics Co., Ltd. Electronic device providing electronic payment function and operating method thereof
US9921941B2 (en) * 2015-04-10 2018-03-20 Siemens Aktiengesellschaft Verification and validation of third party PLC code
US10685130B2 (en) * 2015-04-21 2020-06-16 Sequitur Labs Inc. System and methods for context-aware and situation-aware secure, policy-based access control for computing devices
US10356068B2 (en) 2015-07-14 2019-07-16 Avocado Systems Inc. Security key generator module for security sensitive applications
WO2017023365A1 (en) * 2015-07-31 2017-02-09 Good Technology Holdings Limited Managing access to resources
US10354070B2 (en) 2015-08-22 2019-07-16 Avocado Systems Inc. Thread level access control to socket descriptors and end-to-end thread level policies for thread protection
US9875373B2 (en) * 2015-09-28 2018-01-23 International Business Machines Corporation Prioritization of users during disaster recovery
US9531745B1 (en) * 2015-11-20 2016-12-27 International Business Machines Corporation Crowd-sourced security analysis
US10402555B2 (en) 2015-12-17 2019-09-03 Google Llc Browser attestation challenge and response system
US10958435B2 (en) 2015-12-21 2021-03-23 Electro Industries/ Gauge Tech Providing security in an intelligent electronic device
US9977888B2 (en) * 2015-12-22 2018-05-22 Intel Corporation Privacy protected input-output port control
CN105357002A (zh) * 2015-12-29 2016-02-24 武汉大学 基于云存储生物特征认证的敏感信息安全外包方法
CN105678273B (zh) * 2016-01-14 2019-07-23 上海大学 射频指纹识别技术瞬态信号的起始点检测算法
RU2707718C1 (ru) * 2016-02-04 2019-11-28 Телефонактиеболагет Л М Эрикссон (Пабл) Миграция актора
CN107133520B (zh) * 2016-02-26 2021-05-14 华为技术有限公司 云计算平台的可信度量方法和装置
US10671721B1 (en) 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10601863B1 (en) 2016-03-25 2020-03-24 Fireeye, Inc. System and method for managing sensor enrollment
US10785255B1 (en) 2016-03-25 2020-09-22 Fireeye, Inc. Cluster configuration within a scalable malware detection system
US10476906B1 (en) 2016-03-25 2019-11-12 Fireeye, Inc. System and method for managing formation and modification of a cluster within a malware detection system
US10552413B2 (en) 2016-05-09 2020-02-04 Sap Se Database workload capture and replay
US11838271B2 (en) * 2016-05-18 2023-12-05 Zscaler, Inc. Providing users secure access to business-to-business (B2B) applications
US10176331B2 (en) 2016-06-10 2019-01-08 Microsoft Technology Licensing, Llc Enhanced metadata to authentically report the provenance of a file
US10298702B2 (en) 2016-07-05 2019-05-21 Sap Se Parallelized replay of captured database workload
US10534910B1 (en) * 2016-10-04 2020-01-14 Hewlett-Packard Development Company, L.P. Using threat model to monitor host execution
US10341321B2 (en) 2016-10-17 2019-07-02 Mocana Corporation System and method for policy based adaptive application capability management and device attestation
US10666443B2 (en) * 2016-10-18 2020-05-26 Red Hat, Inc. Continued verification and monitoring of application code in containerized execution environment
US10484429B1 (en) * 2016-10-26 2019-11-19 Amazon Technologies, Inc. Automated sensitive information and data storage compliance verification
US10237293B2 (en) 2016-10-27 2019-03-19 Bitdefender IPR Management Ltd. Dynamic reputation indicator for optimizing computer security operations
US10482034B2 (en) * 2016-11-29 2019-11-19 Microsoft Technology Licensing, Llc Remote attestation model for secure memory applications
US10592528B2 (en) 2017-02-27 2020-03-17 Sap Se Workload capture and replay for replicated database systems
US10075440B1 (en) 2017-05-17 2018-09-11 International Business Machines Corporation Multi-party secure global attestation
CN107329742B (zh) * 2017-06-14 2021-01-29 北京小米移动软件有限公司 软件开发工具包调用方法及装置
US10470040B2 (en) 2017-08-27 2019-11-05 Okta, Inc. Secure single sign-on to software applications
US11367323B1 (en) 2018-01-16 2022-06-21 Secureauth Corporation System and method for secure pair and unpair processing using a dynamic level of assurance (LOA) score
CN108319670A (zh) * 2018-01-23 2018-07-24 湖南大学 基于云计算的可验证的动态排名搜索方法
US11754997B2 (en) 2018-02-17 2023-09-12 Ei Electronics Llc Devices, systems and methods for predicting future consumption values of load(s) in power distribution systems
US11686594B2 (en) * 2018-02-17 2023-06-27 Ei Electronics Llc Devices, systems and methods for a cloud-based meter management system
US11734704B2 (en) 2018-02-17 2023-08-22 Ei Electronics Llc Devices, systems and methods for the collection of meter data in a common, globally accessible, group of servers, to provide simpler configuration, collection, viewing, and analysis of the meter data
US11050748B2 (en) * 2018-03-13 2021-06-29 Cyberark Software Ltd. Web-based authentication for non-web clients
US10698892B2 (en) 2018-04-10 2020-06-30 Sap Se Order-independent multi-record hash generation and data filtering
US11108805B2 (en) * 2018-06-27 2021-08-31 Amazon Technologies, Inc. Automated packetless network reachability analysis
US10965676B2 (en) * 2018-10-02 2021-03-30 Ca, Inc. Peer authentication by source devices
US11165827B2 (en) 2018-10-30 2021-11-02 International Business Machines Corporation Suspending communication to/from non-compliant servers through a firewall
GB2578628B (en) * 2018-11-01 2021-09-15 Trustonic Ltd Device attestation techniques
US11381404B2 (en) * 2018-11-09 2022-07-05 Microsoft Technology Licensing, Llc Trusted platform module attestation flow over simple authentication and security layer with multiple symmetric key identification
WO2020117549A1 (en) 2018-12-06 2020-06-11 Mocana Corporation System and method for zero touch provisioning of iot devices
US10951605B2 (en) * 2019-02-20 2021-03-16 Xage Security, Inc. Centrally managing data for distributed identity-based firewalling
US10642715B1 (en) * 2019-02-21 2020-05-05 Cyberark Software Ltd. Dynamic authorization of requested actions using adaptive context-based matching
US10931661B2 (en) * 2019-03-05 2021-02-23 Centripetal Networks Methods and systems for certificate filtering
CN111866044A (zh) * 2019-04-29 2020-10-30 华为技术有限公司 数据采集方法、装置、设备及计算机可读存储介质
US11863589B2 (en) 2019-06-07 2024-01-02 Ei Electronics Llc Enterprise security in meters
US11096059B1 (en) 2019-08-04 2021-08-17 Acceptto Corporation System and method for secure touchless authentication of user paired device, behavior and identity
US11962624B2 (en) 2019-09-27 2024-04-16 International Business Machines Corporation Metadata driven selection of entitlements in an identity governance system
US10951606B1 (en) * 2019-12-04 2021-03-16 Acceptto Corporation Continuous authentication through orchestration and risk calculation post-authorization system and method
US11709752B2 (en) 2020-04-02 2023-07-25 Sap Se Pause and resume in database system workload capture and replay
US11615012B2 (en) 2020-04-03 2023-03-28 Sap Se Preprocessing in database system workload capture and replay
IL274165B2 (en) 2020-04-23 2023-08-01 Google Llc An application for maintaining privacy and detecting device errors
US20210377018A1 (en) * 2020-05-29 2021-12-02 Electric Power Research Institute, Inc. Secure remote access to industrial control systems using hardware based authentication
US11329998B1 (en) 2020-08-31 2022-05-10 Secureauth Corporation Identification (ID) proofing and risk engine integration system and method
US11651111B2 (en) 2020-09-25 2023-05-16 Intel Corporation Enabling secure state-clean during configuration of partial reconfiguration bitstreams on FPGA
US11689537B2 (en) * 2020-10-21 2023-06-27 Okta, Inc. Providing flexible service access using identity provider
US11363080B1 (en) * 2021-01-21 2022-06-14 Dell Products L.P. Managed intelligent discovery and mesh connectivity orchestration for collaboration solutions

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6091835A (en) * 1994-08-31 2000-07-18 Penop Limited Method and system for transcribing electronic affirmations
US6990579B1 (en) * 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US6996710B1 (en) * 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US6760441B1 (en) * 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US7013481B1 (en) * 2000-03-31 2006-03-14 Intel Corporation Attestation key memory device and bus
US6507904B1 (en) * 2000-03-31 2003-01-14 Intel Corporation Executing isolated mode instructions in a secure system running in privilege rings
US7194634B2 (en) * 2000-03-31 2007-03-20 Intel Corporation Attestation key memory device and bus
JP2001350532A (ja) * 2000-06-06 2001-12-21 Masuo Yoshimoto アプリケーション流通方式
US7194759B1 (en) * 2000-09-15 2007-03-20 International Business Machines Corporation Used trusted co-servers to enhance security of web interaction
US7793111B1 (en) * 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
JP2002300155A (ja) * 2001-03-30 2002-10-11 Tokyo Electric Power Co Inc:The 相互認証方法及び相互認証システム
US8910241B2 (en) 2002-04-25 2014-12-09 Citrix Systems, Inc. Computer security system
US7634807B2 (en) * 2003-08-08 2009-12-15 Nokia Corporation System and method to establish and maintain conditional trust by stating signal of distrust
US7797544B2 (en) * 2003-12-11 2010-09-14 Microsoft Corporation Attesting to establish trust between computer entities
US20050132031A1 (en) * 2003-12-12 2005-06-16 Reiner Sailer Method and system for measuring status and state of remotely executing programs
US7587607B2 (en) * 2003-12-22 2009-09-08 Intel Corporation Attesting to platform configuration
US7984304B1 (en) * 2004-03-02 2011-07-19 Vmware, Inc. Dynamic verification of validity of executable code
JP4601979B2 (ja) * 2004-03-22 2010-12-22 エヌ・ティ・ティ・コムウェア株式会社 証明書相互認証システム、及び証明書相互認証方法
US20050221766A1 (en) * 2004-03-31 2005-10-06 Brizek John P Method and apparatus to perform dynamic attestation
US20050278253A1 (en) * 2004-06-15 2005-12-15 Microsoft Corporation Verifying human interaction to a computer entity by way of a trusted component on a computing device or the like
US20050289072A1 (en) 2004-06-29 2005-12-29 Vinay Sabharwal System for automatic, secure and large scale software license management over any computer network
US20060005009A1 (en) * 2004-06-30 2006-01-05 International Business Machines Corporation Method, system and program product for verifying an attribute of a computing device
US7953980B2 (en) * 2005-06-30 2011-05-31 Intel Corporation Signed manifest for run-time verification of software program identity and integrity
JP2007097439A (ja) * 2005-09-30 2007-04-19 Kirin Beverage Corp 安定化したデンプン及び/又は脂質含有ポタージュスープ及びその製造方法
US20110179477A1 (en) * 2005-12-09 2011-07-21 Harris Corporation System including property-based weighted trust score application tokens for access control and related methods
US8375122B2 (en) 2005-12-15 2013-02-12 International Business Machines Corporation Web service information management in service-oriented architecture applications
US20070185856A1 (en) * 2006-01-23 2007-08-09 American Express Travel Related Services Company, Inc. System and method for managing attestations
US7574479B2 (en) * 2006-01-24 2009-08-11 Novell, Inc. Techniques for attesting to content
US20100229242A1 (en) * 2006-02-21 2010-09-09 Nec Corporation Program execution control system, program execution control method and computer program for program execution control
GB0603781D0 (en) * 2006-02-24 2006-04-05 Nokia Corp Application verification
US7904278B2 (en) * 2006-05-02 2011-03-08 The Johns Hopkins University Methods and system for program execution integrity measurement
WO2008004525A1 (fr) * 2006-07-03 2008-01-10 Panasonic Corporation Dispositif de traitement d'informations, dispositif d'enregistrement d'informations, système de traitement d'informations, procédé de mise à jour de programme, programme, et circuit intégré
KR100823738B1 (ko) * 2006-09-29 2008-04-21 한국전자통신연구원 컴퓨팅 플랫폼의 설정 정보를 은닉하면서 무결성 보증을제공하는 방법
KR100843081B1 (ko) * 2006-12-06 2008-07-02 삼성전자주식회사 보안 제공 시스템 및 방법
US8572400B2 (en) * 2007-03-26 2013-10-29 Intel Corporation Enhanced digital right management framework
US8875272B2 (en) * 2007-05-15 2014-10-28 International Business Machines Corporation Firewall for controlling connections between a client machine and a network
US20090094584A1 (en) * 2007-10-04 2009-04-09 International Business Machines Corporation Non-intrusive asset monitoring framework for runtime configuration of deployable software assets
US20090204964A1 (en) * 2007-10-12 2009-08-13 Foley Peter F Distributed trusted virtualization platform
US8516539B2 (en) 2007-11-09 2013-08-20 Citrix Systems, Inc System and method for inferring access policies from access event records
US8990910B2 (en) 2007-11-13 2015-03-24 Citrix Systems, Inc. System and method using globally unique identities
US8364973B2 (en) * 2007-12-31 2013-01-29 Intel Corporation Dynamic generation of integrity manifest for run-time verification of software program
US8474037B2 (en) * 2008-01-07 2013-06-25 Intel Corporation Stateless attestation system
US9240945B2 (en) 2008-03-19 2016-01-19 Citrix Systems, Inc. Access, priority and bandwidth management based on application identity
US8943575B2 (en) 2008-04-30 2015-01-27 Citrix Systems, Inc. Method and system for policy simulation
US8108536B1 (en) * 2008-06-30 2012-01-31 Symantec Corporation Systems and methods for determining the trustworthiness of a server in a streaming environment
WO2010041467A2 (en) * 2008-10-10 2010-04-15 Panasonic Corporation USING TRANSIENT PCRs TO REALISE TRUST IN APPLICATION SPACE OF A SECURE PROCESSING SYSTEM
US8990573B2 (en) 2008-11-10 2015-03-24 Citrix Systems, Inc. System and method for using variable security tag location in network communications
US8738932B2 (en) * 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
US8776245B2 (en) * 2009-12-23 2014-07-08 Intel Corporation Executing trusted applications with reduced trusted computing base
US8528069B2 (en) * 2010-09-30 2013-09-03 Microsoft Corporation Trustworthy device claims for enterprise applications
US20120131334A1 (en) * 2010-11-18 2012-05-24 International Business Machines Corporation Method for Attesting a Plurality of Data Processing Systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170059451A (ko) * 2014-09-25 2017-05-30 오라클 인터내셔날 코포레이션 멀티테넌트 어플리케이션 서버 환경에서 파티션 식별자들의 결정을 위한 시스템 및 방법
US10958664B2 (en) 2017-09-22 2021-03-23 Samsung Electronics Co., Ltd. Method of performing integrity verification between client and server and encryption security protocol-based communication method of supporting integrity verification between client and server

Also Published As

Publication number Publication date
WO2012112833A2 (en) 2012-08-23
JP2014505960A (ja) 2014-03-06
US8327441B2 (en) 2012-12-04
EP2676220A4 (en) 2018-01-03
EP2676220A2 (en) 2013-12-25
IL228003A0 (en) 2013-09-30
JP2016129037A (ja) 2016-07-14
IL228003A (en) 2016-06-30
US20120216244A1 (en) 2012-08-23
JP5961638B2 (ja) 2016-08-02
WO2012112833A3 (en) 2012-11-08

Similar Documents

Publication Publication Date Title
US8327441B2 (en) System and method for application attestation
US11949656B2 (en) Network traffic inspection
US10958662B1 (en) Access proxy platform
US11109229B2 (en) Security for network computing environment using centralized security system
US10083290B2 (en) Hardware-based device authentication
US10581820B2 (en) Key generation and rollover
US10530578B2 (en) Key store service
US11457040B1 (en) Reverse TCP/IP stack
US20190036916A1 (en) Trusted container
US10812462B2 (en) Session management for mobile devices
US20170026401A1 (en) System and method for threat visualization and risk correlation of connected software applications
WO2012091810A1 (en) System including property-based weighted trust score application tokens for access control and related methods
US10637829B2 (en) Passport-controlled firewall
US20230362142A1 (en) Network action classification and analysis using widely distributed and selectively attributed sensor nodes and cloud-based processing
US20230308459A1 (en) Authentication attack detection and mitigation with embedded authentication and delegation
Chikhale et al. Security analysis of SDN cloud applications
US20240214350A1 (en) Network traffic inspection
US11924241B1 (en) Real-time mitigative security architecture
Chifor et al. IoT Cloud Security Design Patterns
Zhang Secure and Practical Splitting of IoT Device Functionalities
Viñals Designing Interaction Framework for Multi-Admin Edge Infrastructures

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid