KR102062026B1 - 서비스로서 디바이스들을 제공하는 방법 - Google Patents

서비스로서 디바이스들을 제공하는 방법 Download PDF

Info

Publication number
KR102062026B1
KR102062026B1 KR1020187021259A KR20187021259A KR102062026B1 KR 102062026 B1 KR102062026 B1 KR 102062026B1 KR 1020187021259 A KR1020187021259 A KR 1020187021259A KR 20187021259 A KR20187021259 A KR 20187021259A KR 102062026 B1 KR102062026 B1 KR 102062026B1
Authority
KR
South Korea
Prior art keywords
network
customer
hsm
hardware security
request
Prior art date
Application number
KR1020187021259A
Other languages
English (en)
Other versions
KR20180086523A (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 KR20180086523A publication Critical patent/KR20180086523A/ko
Application granted granted Critical
Publication of KR102062026B1 publication Critical patent/KR102062026B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • H04L41/0809Plug-and-play configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

하드웨어 보안 모듈들과 같은 디바이스들이 서비스로서 제공된다. 컴퓨팅 리소스 제공자의 고객은 컴퓨팅 리소스 제공자에 의해 호스팅된 고객의 네트워크로의 디바이스의 부가를 요청할 수 있다. 컴퓨팅 리소스 제공자는 고객의 디바이스들이, 디바이스가 고객 자신의 네트워크에 있는 것처럼 디바이스와 통신할 수 있도록 컴퓨팅 리소스들의 세트를 재구성한다.

Description

서비스로서 디바이스들을 제공하는 방법{PROVIDING DEVICES AS A SERVICE}
관련 출원들에 대한 상호-참조
본 출원은 "서비스로서 디바이스들을 제공하는 방법"이라는 제목의, 2013년 3월 14일에 출원된, 미국 특허 출원 번호 제13/830,114호에 대한 우선권을 주장하며, 그 내용들은 여기에 전체적으로 참조로서 통합된다.
분산 컴퓨터 시스템들은 다수의 유형들의 서비스들을 제공하는 점점 더 효과적인 방식들을 제공한다. 그러나, 분산 컴퓨터 시스템들의 복잡도 및 편재성이 증가함에 따라, 데이터 보안을 유지하는 것은 점점 도전적이게 된다. 적어도 그것들이 발견한 것만큼 빠르게 보안 취약성들을 처리하기 위한 계속적인 투쟁이 있다. 이러한 투쟁은 컴퓨터 시스템들 및 그것들의 사용이 진화하는 속도 및 스테이크들이 증가하는 레이트에 의해 악화된다. 동시에, 많은 콘텍스트들에서, 데이터의 보안은 매우 중요하다. 많은 사람들, 예를 들면 비교적 적은 상황들에서를 제외하고 사적으로 유지되도록 의도되는 데이터를 가진 회사들을 신뢰한다. 보안 침입들은, 결과적으로 신뢰의 손실로부터 조직의 동작들에 대한 해로운 효과들을 가지며 보안 침입에 의해 야기된 시스템 고장으로 인한 일을 할 수 없음에 호의를 가질 수 있다.
수년에 걸쳐, 많은 전략들이 데이터 보안에 대한 점차 증가하는 위협들을 처리하기 위해 개발되어 왔다. 예를 들면, 데이터 암호화는 데이터에 대한 허가되지 않은 액세스를 방지하는 효과적인 방식을 제공할 수 있다. 그 결과, 복잡한 디바이스들이 암호 키들과 같은, 암호 정보를 안전하게 저장하기 위해 개발되어 왔다. 이러한 디바이스들은 종종 다양한 목적들을 위해 잘 수행하지만, 디바이스들을 다양한 기반시설 전략들로 통합하는 것은 많은 도전들을 보여줄 수 있다. 뿐만 아니라, 이러한 디바이스들은 종종 상당한 투자를 요구하며, 이것은 많은 조직들에 대한 장애물일 수 있다.
본 개시에 따른 다양한 실시예들이 도면들을 참조하여 설명될 것이다;
도 1은 본 개시의 다양한 실시예들이 실시될 수 있는 환경의 예시적인 예를 도시한다;
도 2는 적어도 하나의 실시예에 따라 하드웨어 보안 모듈들이 서비스로서 제공될 수 있는 환경의 예시적인 예를 도시한다;
도 3은 적어도 하나의 실시예에 따라 서비스로서 하드웨어 보안 모듈의 사용을 제공하는 방식을 예시한 다이어그램의 예시적인 예를 도시한다;
도 4는 적어도 하나의 실시예에 따라 하드웨어 보안 모듈이 서비스로서 제공될 수 있는 방식을 예시한 다이어그램의 예시적인 예를 도시한다;
도 5는 적어도 하나의 실시예에 따라 하드웨어 보안 모듈들이 이중화를 제공받을 수 있는 방식의 예시적인 예를 도시한다;
도 6은 적어도 하나의 실시예에 따라 하드웨어 보안 모듈에 대한 요청을 프로세싱하기 위한 프로세스의 예시적인 예를 도시한다;
도 7은 적어도 하나의 실시예에 따라 하드웨어 보안 모듈의 사용을 제공하는 서비스를 이용하기 위한 프로세스의 예시적인 예를 도시한다; 그리고
도 8은 다양한 실시예들이 구현될 수 있는 환경을 예시한다.
다음의 설명에서, 다양한 실시예들이 설명될 것이다. 설명의 목적들을 위해, 특정 구성들 및 상세들이 실시예들에 대한 철저한 이해를 제공하기 위해 제시된다. 그러나, 실시예들은 특정 상세들 없이 실시될 수 있다는 것이 이 기술분야의 숙련자에게 또한 명백할 것이다. 더욱이, 잘-알려진 특징들은 설명되는 실시예를 모호하게 하지 않도록 생략되거나 또는 간소화될 수 있다.
본 개시의 실시예들은 서비스로서 디바이스들의 사용을 제공하는 것에 관한 것이다. 몇몇 예들에서, 디바이스들은 그 예들이 이하에 설명되는, 고객들에 의해 원격으로 관리되며 동작되는 다양한 컴퓨팅 리소스들을 원격으로 호스팅하는 컴퓨팅 리소스 제공자에 의해 고객에게 서비스로서 제공된 하드웨어 보안 모듈들(hardware security modules; HSM들)이다. 컴퓨팅 리소스 제공자의 고객은 컴퓨팅 리소스 제공자에 의해 호스팅된 가상 근거리 네트워크(VLAN)와 같은, 사설 네트워크를 유지하기 위해 컴퓨팅 리소스의 서비스들을 이용할 수 있다. VLAN은 예를 들면, 컴퓨팅 리소스 제공자에 의해 동작된 기반시설에 의해 지원될 수 있다.
인터넷 프로토콜 보안(IPsec) 터널을 통한 가상 사설 네트워크 연결과 같은, 보안 연결은 고객의 부지 내에서 호스팅되는 네트워크에 원격으로 호스팅된 네트워크를 연결할 수 있다. 원격으로 호스팅된 네트워크로 및 그로부터의 트래픽은, 고객의 사내 네트워크에서의 디바이스들의 관점으로부터, 원격으로 호스팅된 네트워크에서의 디바이스들과의 통신이, 원격으로 호스팅된 네트워크의 디바이스들이 고객의 사내 네트워크에 위치되는 것처럼 발생하도록 컴퓨팅 리소스 제공자에 의해 관리될 수 있다. 예를 들면, 원격으로-호스팅된 네트워크에서의 디바이스들로의 통신들은 고객에 의해 관리된 네트워크 어드레스들의 공간에서의 어드레스들로(예로서, 고객에 의해 관리된 네트워크의 서브넷에서의 네트워크 어드레스들로) 고객 디바이스들에 의해 어드레싱될 수 있다. 컴퓨팅 리소스 제공자는 네트워크 통신들을 그 자신의 네트워크를 통해 그것들의 적절한 목적지들로 라우팅하기 위해, 네트워크 어드레스 변환(network address translation; NAT)과 같은, 다양한 기술들을 사용할 수 있다.
본 개시의 다양한 실시예들에서, 고객들은 원격으로 호스팅된 네트워크들을 관리할 목적으로 컴퓨팅 리소스 제공자와 상호 작용할 수 있다(예로서, 컴퓨팅 리소스 제공자에 의해 동작된 적절한 시스템들을 통해). 고객은, 예를 들면, 하나 이상의 디바이스들을 원격으로 호스팅된 네트워크에 부가하기 위해, 원격으로 호스팅된 네트워크로부터 하나 이상의 디바이스들을 제거하기 위해, 원격으로 호스팅된 네트워크의 네트워크 토폴로지를 재구성하기 위해, 및 다른 목적들을 위해 전자 요청을 컴퓨팅 리소스 제공자에 제출할 수 있다. 요청들은 예를 들면, 다양한 웹 서비스들 기술들을 이용할 수 있는 적절히 구성된 애플리케이션 프로그래밍 인터페이스(API) 호출들을 통해, 발생할 수 있다. 컴퓨팅 리소스 제공자는 요청을 프로세싱하며, 적절하다면, 요청된 대로 고객의 네트워크를 재구성할 수 있다.
몇몇 실시예들에서, 고객들은 하나 이상의 HSM들을 원격으로 호스팅된 네트워크에 부가할 목적으로 컴퓨팅 리소스 제공자와 상호 작용할 수 있다. 고객의 네트워크에 부가될 HSM에 대한 요청을 프로세싱하기 위해, 컴퓨팅 리소스 제공자는 이용 가능한 HSM들의 세트로부터 적절한 HSM을 선택하며 HSM이 고객에게 할당되면서 다른 고객들을 위해 사용되는 것을 방지하기 위해 데이터 저장소에서 고객으로의 HSM의 할당을 표시하는 것에 의해서와 같이 고객에 HSM을 할당할 수 있다. 컴퓨팅 리소스 제공자는 VLAN과 같은, HSM을 위한 네트워크(서비스 네트워크)를 셋 업하며 고객의 원격으로 호스팅된 네트워크에서의 서비스 네트워크에 네트워크 인터페이스를 부가할 수 있다. 서비스 네트워크에 대한 네트워크 인터페이스는 HSM이 고객 자신의 네트워크에 있는 것처럼 고객이 HSM에 전달할 수 있도록 고객의 IP 공간에서 어드레스를 가질 수 있다. 고객은 고객의 사내 네트워크, 사외 네트워크 또는 양쪽 모두에서 하나 이상의 HSM 클라이언트들을 구성할 수 있다. 이러한 프로세스는, 이용 가능성을 증가시키기 위해 또는 지연 시간(latency)을 감소시키기 위해서와 같은, 다수의 HSM들의 고객 사용을 제공하기 위해 반복될 수 있다.
다양한 기술들이 강화된 데이터 보안을 고객들에게 제공하기 위해 이용될 수 있다. 예를 들면, 몇몇 예들에서, HSM은 적어도 두 개의 관리 인터페이스들을 가진다. 제 1 관리 인터페이스는 HSM 상에 저장된 임의의 암호 정보를 영구적으로(즉, 되돌릴 수 없게) 삭제하는 것과 같은, 다양한 관리 기능들을 수행하기 위해 컴퓨팅 리소스 제공자에 의해 사용될 수 있다. 제 1 관리 인터페이스를 통해 이용 가능한 또 다른 관리 기능은, 몇몇 실시예들에서, 제 2 관리 인터페이스로의 액세스를 가진 계정을 생성하는 것이다. 제 1 관리 인터페이스를 액세스할 수 있는 계정은 암호 정보를 영구적으로 삭제하기 위한 능력과 같은, 제 2 관리 인터페이스를 액세스할 수 있는 하나 이상의 계정들과 몇몇 특권들을 공유할 수 있다. 제 1 관리 인터페이스를 액세스할 수 있는 계정은, 그러나 몇몇 상이한 액세스 권한들을 가질 수 있다. 예를 들면, 몇몇 실시예들에서, 제 1 관리 인터페이스는 HSM에 의해 저장된 암호 정보를 액세스할 수 없다. 제 2 관리 인터페이스는, 그러나, 보안 책임자 계정들을 생성하기 위한 능력과 같은, 부가적인 관리 능력들을 가질 수 있다. 보안 책임자 계정은 HSM의 파티션들을 생성 및/또는 삭제하고, 클라이언트들을 생성하며, HSM이 암호 동작들을 수행하게 하기 위한 능력을 가질 수 있다.
컴퓨팅 리소스 제공자가 HSM에 저장된 고객의 암호 정보에 대한 액세스를 갖지 않는 고객을 확인하기 위해, 컴퓨팅 리소스 제공자는 HSM의 암호 정보를 액세스할 수 있는 제어를 고객에게 제공하는 방식으로 HSM에 고객 액세스를 제공할 수 있다. 예를 들면, 컴퓨팅 리소스 제공자는 제 2 관리 인터페이스를 액세스할 수 있는 계정을 생성하기 위해 제 1 관리 인터페이스를 사용할 수 있다. 생성된 계정에 대한 크리덴셜들은 크리덴셜들을 변경하기 위해(예로서, 패스워드를 변경하기 위해) 크리덴셜들을 사용할 수 있는 고객에게 제공될 수 있으며, 그에 의해 컴퓨팅 리소스 제공자로부터 제 2 관리 인터페이스로의 액세스를 제거할 수 있다. 고객은 그 후 컴퓨팅 리소스 제공자가 HSM에 의해 저장된 암호 정보를 액세스할 수 없는 신뢰도를 갖고 HSM을 추가로 구성하기 위해 제 2 관리 인터페이스를 사용할 수 있다. 부가적인 상세들 및 특징들이 이하에서 보다 상세히 논의된다.
도 1은 본 개시의 다양한 실시예들이 실시될 수 있는 환경(100)의 예시적인 예를 도시한다. 이 예에서, 환경(100)은 컴퓨팅 리소스 제공자(102) 및 컴퓨팅 리소스 제공자의 고객(104)을 포함한다. 컴퓨팅 리소스 제공자(104)는 한 명 이상의 고객들 대신에 다양한 컴퓨팅 리소스들을 호스팅하는 조직일 수 있다. 예를 들면, 컴퓨팅 리소스 제공자는 하드웨어 서버들, 데이터 저장 디바이스들, 네트워크 디바이스들, 여기에 논의된 다른 디바이스들 및 서버 랙들, 네트워킹 케이블들 등과 같은 다른 장비와 같은, 다양한 컴퓨팅 하드웨어 리소스들을 호스팅하기 위해 사용되는 하나 이상의 설비들을 동작시킬 수 있다. 컴퓨팅 리소스 하드웨어는 하나 이상의 서비스들을 동작시키기 위해 그것의 컴퓨팅 하드웨어 리소스들을 이용할 수 있다. 이러한 서비스들은 컴퓨팅 리소스 제공자의 고객들로 하여금 물리적 장비에 투자하기 위한 고객들의 요구를 감소시키거나 또는 심지어 제거하면서 고객의 동작들을 지원하도록 컴퓨팅 리소스들을 원격으로 관리할 수 있게 하는 서비스들을 포함할 수 있다. 예시적인 서비스들은, 이에 제한되지 않지만, 다양한 데이터 저장 서비스들(오브젝트-기반 데이터 저장 서비스들, 기록 보존 데이터 저장 서비스들, 데이터베이스 서비스들 등), 프로그램 실행 서비스들 및 다른 서비스들을 포함한다. 서비스들은 웹사이트를 운영하는 것, 조직을 지원하는 기업 시스템들을 운영하는 것, 분산 계산 및/또는 다른 활동들과 같은, 매우 다양한 활동들을 지원하기 위해 고객들에 의해 사용될 수 있다.
상기 주지된 바와 같이, 컴퓨팅 리소스 제공자는 서비스로서 하나 이상의 하드웨어 보안 모듈들(HSM들)의 사용을 고객들에게 제공하기 위해 그것의 컴퓨팅 하드웨어 리소스들을 사용할 수 있다. HSM은 허가되지 않은 개시로부터 정보(예로서, 암호 키들)를 보호하기 위해 및 보호된 정보를 사용하여 동작들을 수행하기 위해 전용되는 하드웨어 디바이스(예로서, 하드웨어 기기)이다. HSM은 플러그-인 카드(컴퓨팅 디바이스의 회로로 플러깅하도록 구성된) 또는 컴퓨팅 디바이스에 연결될 수 있거나 또는 네트워크를 통해 액세스 가능할 수 있는 외부 TCP/IP 보안 디바이스와 같은, 다양한 방식들로 구현될 수 있다. HSM은 암호화, 복호화, 또는 전자 서명 생성과 같은, 하나 이상의 유형들의 암호 동작을 수행하기 위해 HSM에 의해 사용되는 암호 키들을 저장할 수 있다. HSM은 탬퍼링 및 버스 프로빙을 방지하기 위해 하나 이상의 보안 암호프로세서 칩들을 이용할 수 있다. 또한, HSM은 하나 이상의 보안 표준들을 따르도록 구성될 수 있다. 몇몇 예들에서, HSM들은 여기에 참조로서 통합되는, 연방 정보 프로세싱 표준(FIPS) 공보 140-2의 보안 레벨(예로서, 레벨 1, 레벨 2, 레벨 3, 또는 레벨 4)과 같은, 미국 표준 기술 연구소(NIST)의 FIPS들 중 하나 이상을 따르도록 구성된다.
본 개시는 예시적인 예들을 제공할 때 HSM들을 사용하지만, 본 개시의 기술들은 일반적으로 보안 모듈들(또한 "암호 모듈들"로서 불리우는)에 또한 적용 가능하다는 것이 주의되어야 한다. 예를 들면, 많은 보안 모듈들(예로서, HSM들)은 특수화된 암호프로세서들 및/또는 다른 하드웨어를 이용하지만, 상기 특징들 중 하나 이상은 소프트웨어를 사용하여 구현될 수 있다. 예를 들면, 보안 모듈은 종종 상업적 HSM들에서 발견된 특수 하드웨어 대신에 상품 하드웨어 및 적절하게 구성된 소프트웨어를 사용하여 FIPS 공보 140-2의 하나 이상의 레벨들을 따르도록 제작될 수 있다.
도 1에 예시된 환경(100)에서, 컴퓨팅 리소스 제공자(102)는 고객(104) 대신에 제공자-호스팅 고객 네트워크(106)를 호스팅한다. 제공자-호스팅 고객 네트워크(106)는 고객(104)에 의해 관리된 컴퓨팅 디바이스들의 네트워크일 수 있다. 제공자-호스팅 고객 네트워크(106)는, 또한 컴퓨팅 리소스 제공자(104)의 다른 고객들을 위한 가상 디바이스들 및/또는 가상 네트워크들(도시되지 않음)을 구현할 수 있는, 컴퓨팅 리소스 제공자(104)의 디바이스들의 물리적 네트워크에 의해 구현된 가상 네트워크일 수 있다. 적절한 제공자-호스팅 고객 네트워크들은 종종 가상 사설 클라우드들(virtual private cloud들; VPCs)로서 불리운다. 일반적으로, 제공자-호스팅 고객 네트워크는 컴퓨팅 리소스 제공자(102)에 대한 적절하게 구성된 애플리케이션 프로그래밍 인터페이스(API) 호출들을 통해 고객에 의해 정의 가능하고, 구성 가능하며 및/또는 그 외 관리 가능할 수 있다. 제공자-호스팅 고객 네트워크는, 예를 들면, 고객이 그 자신의 데이터센터에서 동작할 수 있는 종래의 네트워크와 매우 비슷한 가상 네트워크 토폴로지를 갖도록 고객(104)에 의해 구성될 수 있다. 컴퓨팅 리소스 제공자(102)는 또한 서로로부터 분리되도록 제공자-호스팅 고객 네트워크들을 구현할 수 있다. 예를 들면, 고객의 제공자-호스팅 고객 네트워크는 이러한 액세스를 허용하도록 네트워크를 구성한 고객 없이 네트워크에서의 디바이스들이 컴퓨팅 리소스 제공자의 다른 고객들에게 통신적으로 또는 그 외 액세스 가능하지 않도록 구현될 수 있다.
주지된 바와 같이, 고객(104)은 다양한 방식들로 제공자-호스팅 고객 네트워크를 구성할 수 있다. 고객은, 예를 들면, 고객 자신의 IP 어드레스 범위(컴퓨팅 리소스 제공자(102)에 의해 할당된 IP 어드레스들을 사용하는 대신에)로부터 디바이스들에 IP 어드레스들을 할당하고, 하나 이상의 서브넷들을 생성하고, 라우팅 테이블들을 구성하고, 네트워크 게이트웨이들을 구성하며 및/또는 그 외 네트워크를 구성할 수 있다. 고객이 그 자신의 IP 어드레스 공간으로부터 IP 어드레스들을 할당하는 인스턴스들에서, 컴퓨팅 리소스 제공자는 컴퓨팅 리소스 제공자에 의해 호스팅된 다양한 디바이스들 중에서 네트워크 트래픽을 관리하기 위해 네트워크 어드레스 변환(NAT) 기술들을 이용할 수 있다. 예를 들면, 컴퓨팅 리소스 제공자는 컴퓨팅 리소스 제공자에 의해 관린된 다양한 디바이스들 중에서 송신을 위해 컴퓨팅 리소스 제공자(102)에 의해 관리된 IP 어드레스들로 어드레싱된 패킷들에 고객(104)의 IP 어드레스들로 어드레싱된 패킷들을 랩핑할 수 있다. 고객 IP 공간으로부터 어드레싱된 IP 어드레스를 가진 고객 디바이스로의 전달 시, 컴퓨팅 리소스 제공자는 패킷들을 언랩핑할 수 있다.
서브넷 구성 및 관리에 대하여, 다수의 배열들이 고객들에 의해 이용될 수 있다. 예를 들면, 고객(104)은 인터넷으로의 액세스를 갖는 웹서버들에 대한 공개용 서브넷을 생성할 수 있다. 고객은 어떤 인터넷 액세스도 갖지 않는 백엔드 시스템들에 대한 사설-용 서브넷을 생성할 수 있다. 고객은 각각의 서브넷에서 디바이스들로의 액세스를 제어하도록 돕기 위해, 방화벽들 및 네트워크 액세스 제어 리스트들을 포함하여, 보안의 다수의 층들을 레버리징할 수 있다.
부가적으로, 도 1에 예시된 바와 같이, 고객은 그 자신의 자체-호스팅 고객 네트워크(108)를 가질 수 있다. 자체-호스팅 고객 네트워크는 고객(104) 자신의 하드웨어를 사용하여 호스팅된 네트워크(물리적, 가상, 또는 물리적 및 가상의 조합)일 수 있다. 도 1에 예시된 바와 같이, 자체-호스팅 고객 네트워크(108) 및 제공자-호스팅 고객 네트워크(106)는, 보안 통신을 위한 다른 메커니즘들이 사용될 수 있지만, 인터넷 프로토콜 보안(IPsec) 터널 또는 직접 연결과 같은, 보안 채널(110)을 통해 서로 통신한다. 일 예에서, 보안 채널(110)은 IPsec과 같은, 적절한 보안 프로토콜을 사용한 가상 사설 네트워크(VPN) 연결이다. 이러한 방식으로, 보안 채널(110)은 양쪽 네트워크들 모두의 리소스들이 단일 설비의 하드웨어 리소스들을 사용하여 같은 장소에 배치된 것처럼 제공자-호스팅 고객 네트워크(106)를 갖고 고객(104)의 자체-호스팅 고객 네트워크(108)를 효과적으로 확대시킨다.
그러나, 도 1에 예시된 환경(100)의 특정한 구성은 예시의 목적을 위한 것이며 다른 구성들이 또한 본 개시의 범위 내에 있는 것으로서 고려된다는 것이 주의되어야 한다. 예를 들면, 여기에 설명된 기술들을 이용하는 환경들이 반드시 보안 채널을 통해 제공자-호스팅 고객 네트워크에 연결된 자체-호스팅 고객 네트워크를 포함하도록 요구하는 것은 아니다. 고객은, 예를 들면, 임의의 자체-호스팅 고객 네트워크들로부터 분리된 제공자-호스팅 고객 네트워크를 유지할 수 있다. 또한, 도 1에 예시된 것보다 적거나 또는 많은 수의 네트워크들이 본 개시의 다양한 실시예들을 이용하는 환경들에 포함될 수 있다. 뿐만 아니라, 고객-컴퓨팅 리소스 제공자 관계는 예시를 목적으로 본 개시 전체에 걸쳐 광범위하게 사용되지만, 본 개시의 범위는 이러한 관계들을 이용하는 환경들에 제한되지 않는다. 여기에 설명된 다양한 기술들은, 예를 들면, 하나의 엔티티가 하나 이상의 디바이스들(예로서, HSM들)의 사용을 하나 이상의 다른 엔티티들에 제공할 수 있게 하기 위해 사용될 수 있다. 뿐만 아니라, 서비스를 제공하는 엔티티 및 서비스를 소비하는 엔티티는 동일한 엔티티의 서브-엔티티들일 수 있다. 예를 들면, 컴퓨팅 리소스 제공자는 컴퓨팅 리소스 제공자의 서브-엔티티(예로서, 고객들에게 또 다른 유형의 서비스를 제공하는 비즈니스 유닛)에 HSM의 사용을 제공하기 위해 여기에 설명된 기술들을 이용할 수 있다.
상기 주지된 바와 같이, 본 개시의 실시예들은 제공자-호스팅 고객 네트워크들의 일부가 되도록 HSM들을 원격으로 요청하며 이를 구성하기 위한 능력을 고객들에게 제공한다. 예시된 바와 같이, 고객(104)은 컴퓨팅 리소스 제공자(102)에 요청(도면에서 "HSM 요청"으로서 라벨링된)을 제출할 수 있다. 고객은, 예를 들면, API 호출들을 프로세싱하도록 구성된 하나 이상의 시스템들을 포함할 수 있는 컴퓨팅 리소스 제공자에 적절히 구성된 API 호출을 송신할 수 있다. 컴퓨팅 리소스 제공자는 컴퓨팅 리소스 제공자의 컴퓨팅 리소스들이 요청에 응답하여, 하나 이상의 HSM들(112)로 하여금 논리적으로 제공자-호스팅 고객 네트워크의 일부가 되게 하는 작업 흐름을 개시할 수 있다. 다시 말해서, 컴퓨팅 리소스 제공자는 HSM이 고객 자신의 네트워크에 있는 것처럼 고객이 HSM(112)과 통신할 수 있도록 적절한 컴퓨팅 리소스들을 구성할 수 있다. 예를 들면, HSM(112)에 대한 요청들은 고객 자신의 IP 공간의 일부인 HSM에 대한 IP 어드레스(예로서, 고객이 소유하거나 또는 제어하는 공인 IP 어드레스 또는 고객의 사설 IP 어드레스)로 어드레싱될 수 있다.
도 2는 서비스로서 하나 이상의 HSM들의 사용을 제공하기 위해 사용될 수 있는 환경(200)의 예시적인 예를 도시한다. 도 2에 예시된 바와 같이, 환경(200)은 고객 논리 네트워크(202) 및 가상 컴퓨터 시스템(VCS) 서비스 기판(204)을 포함하며, 이것은 서비스로서 제공되는 가상 컴퓨터 시스템들을 구현하기 위해 사용되는 네트워크를 형성한 디바이스들의 모음일 수 있다. 예를 들면, VCS 서비스 기판(204)은 각각 가상 서버들과 같은, 하나 이상의 가상 컴퓨터 시스템들을 구현하도록 구성 가능한/구성되는 하나 이상의 하드웨어 서버 디바이스들을 포함할 수 있다. VCS 서비스 기판(204)은 또한 VCS 기판(204)의 디바이스들로/로부터/내에서 통신들을 가능하게 하는 스위치들, 라우터들, 및/또는 다른 디바이스들과 같은, VCS 서비스를 가능하게 하는 다른 디바이스들을 포함할 수 있다.
고객 논리 네트워크(202)는 도 1과 관련되어 상기 설명된 바와 같이, 하나 이상의 자체-호스팅 고객 네트워크들 및 하나 이상의 제공자-호스팅 고객 네트워크들을 포함한 네트워크일 수 있다. 예시된 바와 같이, 고객 논리 네트워크는 컴퓨팅 리소스 제공자에 의해 호스팅된 리소스들(예로서, VCS 서비스 기판(204) 및 고객 논리 네트워크(202) 양쪽 모두 내에 도시된 리소스들) 및 컴퓨팅 리소스 제공자의 고객에 의해 호스팅된 리소스들(예로서, 고객 논리 네트워크(202) 내에 있지만 VCS 서비스 기판(204)의 밖에서 도시된 리소스들)을 포함한다. 예를 들면, 도 2에 예시된 바와 같이, 고객 논리 네트워크(202)는 고객 구내 네트워크(206)(예로서, 자체-호스팅 고객 네트워크) 및 고객 가상 네트워크(VN)(208)(예로서, 제공자-호스팅 고객 네트워크)를 포함한다. 고객 구내 네트워크(206) 및 고객 VN(208)은 가상 근거리 네트워크들(VLANs)일 수 있으며, 이것은 각각의 보다 큰 네트워크들의 상호 분리된 논리적 분할들일 수 있다.
고객 구내 네트워크(206) 및 고객 VN(208)은 단일 네트워크로서 동작하도록 구성될 수 있다. 예를 들면, 예시된 바와 같이, 고객 구내 네트워크(206) 및 고객 VN(208)은 데이터가 두 개의 네트워크들 사이에서 안전하게 흐를 수 있도록 구성될 수 있다. 예를 들면, 고객 구내 네트워크(206) 및 고객 VN(208) 사이에서의 직접 연결이 이용될 수 있다. 또 다른 예에서, 고객 구내 네트워크(206) 및 고객 VN(208)은 가상 사설 네트워크(VPN) 연결에 의해(예로서, IPsec을 통해) 연결된다. 고객 논리 네트워크(202)는 또한 사내 가상 게이트웨이(VGW) 및 VCS 서비스 기판(204)에 의해 구현되는 VGW(사외 VGW)와 같은, 그것의 동작을 가능하게 하는 다양한 디바이스들을 포함할 수 있다. 사내 VGW 및 사외 VGW는 고객의 구내 상에서의 디바이스들 및 컴퓨팅 리소스 제공자의 거내 디바이스들 상에서의 디바이스들 사이에서의 통신을 가능하게 하도록 구성된 게이트웨이 디바이스들일 수 있다. VGW 및 VGW는 각각 예를 들면, 하나의 통신 프로토콜 내지 또 다른 통신 프로토콜 사이에서 변환하도록 및/또는 통신들이 고객의 디바이스들 및 컴퓨팅 리소스 제공자 사이에서 가능하도록 임의의 다른 동작들을 수행하도록 구성될 수 있다. 몇몇 예들에서, 사내 VGW 및 사외 VGW는 IPsec 터널 또는 직접 연결과 같은, 보안 채널을 통해 통신한다. 또한 예시된 바와 같이, 고객 네트워크는 하나 이상의 고객 원격 개인 식별 번호(PIN) 엔트리 디바이스들(RPEDs)(214)을 포함할 수 있다. 고객 RPED(214)는 실시예에서, 구체적으로 하나 이상의 HSM들을 갖고 인증을 목적으로 구성된 디바이스이다. 고객 RPED(214)는, 예를 들면, 고객이 특정한 유형의 HSM을 요청한다면, 고객이 요청된 특정한 유형의 HSM에 대한 고객 RPED(214)를 구매하며 고객 RPED(214)를 고객 논리 네트워크(206)에 부가할 수 있도록 제조사 특정적일 수 있다. 고객 RPED들(214)은 탬퍼 방지일 수 있으며 키 로깅 및 다른 보안 침입들을 방지하기 위해 다른 보안 특징들을 포함할 수 있다. 고객의 운영자(예로서, 허가된 사용자)는 대응하는 HSM(또는 HSM들의 세트)에 의해 저장된 정보에 대한 액세스를 얻기 위해 패스워드를 입력하도록 RPED(214)를 이용할 수 있다.
도 2에 예시된 바와 같이, 고객 논리 네트워크(202)는 고객 사내 HSM(216)을 포함할 수 있다. 고객 사내 HSM은 정보(예로서, 암호 키들)를 안전하게 저장하며 안전하게 저장된 정보를 갖고 암호 동작들을 수행할 목적으로 고객에 의해 호스팅된 HSM일 수 있다. 따라서, 고객 논리 네트워크(202)는, 고객 구내 네트워크(206)의 일부로서, 사내 HSM에(및, 아마도, 이하에 논의되는 바와 같이, 하나 이상의 사외 HSM들에) 요청들을 제출하도록 구성된 디바이스들(또는 디바이스들 상에 로딩된 프로그래밍 모듈들과 같은, 디바이스들의 구성요소들)인 하나 이상의 사내 HSM 클라이언트들(218)을 포함할 수 있다. 몇몇 예들에서, 사내 HSM 클라이언트들(218) 및 고객 논리 네트워크(202)는 각각의 고객 HSM 클라이언트가 사외 HSM 기기(이하에 설명되는 바와 같이)에 요청들을 제출할 수 있도록 총괄하여 구성된다. 이러한 요청들(및 요청들에 대한 응답들)은 상기 논의된 바와 같이, 보안 채널(예로서, IPsec 터널)을 통해, 사내 VGW(210) 및 사외 VGW를 통해 라우팅될 수 있다.
고객 논리 네트워크(202)는 또한, 고객 VN(208)의 일부로서, 고객에 의해 호스팅되지 않지만, 컴퓨팅 리소스 제공자에 의해 호스팅될 수 있는, 하나 이상의 디바이스들을 포함할 수 있다. 예를 들면, 도 2는 컴퓨팅 리소스 제공자에 의해 호스팅되는 사외 고객 HSM 클라이언트들(220)을 포함한 고객 논리 네트워크(202)를 도시한다. 이러한 특정한 예에서, 사외 고객 HSM 클라이언트들(220)은 VCS 서비스 기판(204)에 의해 구현된다(예로서, VCS 서비스 기판의 물리적 서버들에 의해 구현된 가상 컴퓨터 시스템들로서). 사외 고객 HSM 클라이언트들(220)은 상기 설명된, 사내 HSM 클라이언트(218)와 같은, HSM(예로서, 이하에 설명된, 사내 고객 HSM(216) 또는 고객 사외 HSM)과 통신하도록 구성된 디바이스들(예로서, 가상 컴퓨터 시스템들)일 수 있다. 예시된 바와 같이, 고객 VGW(212)는 또한 이 예에서 VCS 서비스 기판(204)에 의해 구현된다.
실시예에서, VCS 기판은 컴퓨팅 리소스 제공자로 하여금 특히, 고객의 관점으로부터, 고객의 서브넷의 IP 어드레스로 어드레싱되는 HSM 기기로의 통신을 가능하게 함으로써, 서비스로서 HSM의 사용을 제공할 수 있게 하는 고객 논리 네트워크(202)의 밖에 있는 디바이스들의 모음을 구현한다. 예를 들면, 실시예에서, VCS 서비스 기판은 서비스 VN(222)을 포함하며, 이것은 HSM 서비스 VCS 네트워크 어드레스 변환 프록시(NAT 인스턴스(224)) 및 서비스 VN 배스천(bastion)(226)을 포함하는 VLAN일 수 있다. NAT 인스턴스(224)는 이하에 보다 상세히 설명되는 바와 같이, HSM 기기 및 고객 VN(208)에서의 서브넷 사이에서 네트워크 어드레스 변환(NAT)을 수행하도록 구성되는 디바이스(예로서, VCS 서비스 기판에 의해 구현된 가상 컴퓨터 시스템)일 수 있다. 간단히, NAT 인스턴스에 의해 수행된 NAT는 고객으로 하여금, 컴퓨팅 리소스 제공자가 그 자신의 IP 공간의 IP 어드레스들을 사용하여 이러한 통신들을 라우팅할 수 있는 동안, 고객의 IP 공간의 IP 어드레스로의 통신들을 어드레싱할 수 있게 한다.
서비스 VN 배스천(226)은 인터넷 게이트웨이를 갖고 공인 서브넷에서 구성되는 디바이스(예로서, VCS 서비스 기판에 의해 구현된 가상 컴퓨터 시스템)일 수 있다. 서비스 VN 배스천(226)은 HSM 기기를 모니터링하는 것과 관련되어 메시지들을 수신하도록 구성될 수 있다. VN 배스천(226)은, 예를 들면, 모니터링 시스템, 로깅 기록 보관 서비스들, 및 컴퓨팅 리소스 제공자의 다양한 다른 서비스들(예로서, 모니터링 데이터를 저장하기 위한 데이터 저장 서비스 및/또는 큐 서비스)의 사용과 같은 메트릭스 시스템들로부터 메시지들을 수신할 수 있다. VN 배스천(226)은 또한 단지 컴퓨팅 리소스 제공자 방화벽들로부터의 특정한 연결들(예로서, 보안 셸(SSH) 연결들)만을 허용하는 적절한 보안 제어들을 갖고 구성될 수 있다. 서비스 VN 배스천 및 NAT 인스턴스(224) 사이에서의 방화벽들은 서비스 VN 배스천(226) 및 NAT 인스턴스(224) 사이에서의 SSH 연결들과 같은, 바람직하지 않은 연결들을 방지하도록 구성될 수 있다.
예시된 바와 같이, 서비스 VN 배스천(226)은 서비스 VN 통합 게이트웨이(IGW)(228)를 통한 인터넷을 통해 데이터 저장 서비스(230) 및 HSM 관리 및 모니터링 서비스(232)와 같은, 다양한 서비스들로 전달한다. HSM 관리 및 모니터링 서비스(232)는 서비스로서 제공된 HSM들의 다양한 관리 및 모니터링을 수행하도록 구성된 시스템일 수 있다. HSM 관리 및 모니터링 서비스(232)는 네트워크 시간 프로토콜(NTP) 서버, 모니터링 서브-서비스, 및 HSM 서비스 진단 및 관리 서브-서비스와 같은 다양한 구성요소들을 포함할 수 있다. 데이터 저장 서비스(230)는 다른 서비스들에 의한 소비 및/또는 기록 보관 이유들로, 서비스 VN IGW(228)을 통해 서비스로 전송된 데이터, 뿐만 아니라 다른 시스템들에 의해 다른 방식들로 제공된 다른 데이터를 저장하는 서비스일 수 있다. 모니터링 서브-서비스는 서비스 VN 배스천(226)으로부터 데이터를 소비하며, 적용 가능하다면, 고장들 및/또는 다른 이벤트들을 검출하는 서비스일 수 있다. HSM 서비스 진단 및 관리 서브-서비스는 진단 정보를 제공하기 위해 서비스 VN 배스천(226) 및/또는 모니터링 서브-서비스로부터 데이터를 소비하며 상기 데이터에 대한 분석을 수행하도록 및 관리 기능들(예로서, HSM 서비스 및/또는 다른 관리 기능들을 지원하는 고장난 디바이스들의 재공급을 야기하는)을 수행하도록 구성될 수 있다.
상기 주지된 바와 같이, 고객 논리 네트워크(202)는 몇몇 예들에서, 물리적 HSM의 추상적 개념인, HSM 기기와 통신하는 디바이스들을 포함한다. 따라서, 도 2에 예시된 바와 같이, 다양한 실시예들에서, 환경(200)은 컴퓨팅 리소스 제공자(CRP) HSM(238)을 포함한다. CRP HSM(238)은, 고객 HSM(216)과 마찬가지로, 물리적 HSM 디바이스일 수 있다. 예시적인 물리적 HSM 디바이스는, 다른 모델들이 본 개시의 범위 내에 있는 것으로 고려되지만, SafeNet, Inc.에 의한 Luna SA HSM이다. CRP HSM(238)은, 실시예에서, 배타적으로 단일 고객에 할당된다. 이러한 방식으로, 서비스로서 제공된 다른 컴퓨팅 리소스들과 달리, 다른 고객들은 디바이스를 이용하지 않는다(CRP HSM(238)이 할당되는 고객에 의해 허가되지 않는다면). 예시된 바와 같이, CRP HSM(238)은 네트워크 트래픽이 서비스 VN을 통해 고객 VN(208) 및 CRP HSM(238) 사이에서 라우팅될 수 있도록 서비스 VN(222)에 통신적으로 연결된다. 도 2에 도시된 예에서, CRP HSM(238)은 VCS 서비스 오버레이 디바이스(240)를 통해 서비스 VN(222)과 통신하도록 구성된다. CRP HSM(238)은, VCS 서비스 기판(204)에 연결된 물리적 하드웨어 디바이스로서, 서비스 VN(222)의 밖에 있기 때문에, VCS 서비스 오버레이 디바이스(240)는 CRP HSM(238)으로부터의 트래픽이 서비스 VN(222)을 통해 고객 VN(208)으로, 및 그 반대로 이동할 수 있게 하기 위해, 적절하게 네트워크 어드레스 변환을 이용할 수 있다.
예시적인 실시예에서, CRP HSM(238)은 CRP HSM(238)으로부터 서비스 VN(222)을 포함하는 오버레이 네트워크로의 직접 연결(DX)로 트래픽을 라우팅하도록 구성되는 HSM 랙의 상부(top of rack; ToR) 스위치에 연결된다. 예를 들면, CRP HSM(238)은 서비스 VN(222) 및 CRP HSM(238) 사이에서 네트워크 트래픽을 라우팅하도록 구성된 DX 라우터를 통해 서비스 VN(222)에 연결할 수 있다. DX 라우터는 VCS 서비스 오버레이 디바이스(240)로/로부터 트래픽을 라우팅할 수 있다. 마찬가지로, DX 라우터는 패킷들이 그것들의 적절한 목적지(예로서, CRP HSM(238)에 요청을 송신한 적절한 고객 HSM 클라이언트)에 적절하게 제공되도록 CRP HSM(238)으로부터(HSM 서비스 TOR 스위치를 통해 수신된) 패킷들을 라우팅할 수 있다.
요약하면, 컴퓨팅 리소스 제공자는 물리적 CRP HSM(238)을 호스팅한다. 다양한 기술들이 컴퓨팅 리소스 제공자의 고객으로 하여금 CRP HSM(238)이 고객 자신의 데이터 센터에 있는 것처럼 CRP HSM(238)을 사용하도록 허용하기 위해 이용될 수 있다. 예시적인 실시예에서, CRP HSM(238)은 컴퓨팅 리소스 제공자의 서버 랙에 있으며 이더넷 연결과 같은, 적절한 물리적 연결에 의해 ToR 스위치(예로서, 동일한 랙에서의 ToR 스위칭)에 연결된다. ToR 스위치는 DX 라우터로의 물리적 연결을 가지며, 이것은 CRP HSM(238) 및 VCS 서비스 오버레이 디바이스로/로부터 네트워크 트래픽을 라우팅하도록 구성된다. VCS 서비스 오버레이 디바이스(240)는, 몇몇 예들에서, 사설 VLAN(서비스 VN(222))을 통해 고객 VGW(212)로/로부터 트래픽을 라우팅하도록 구성된다. NAT 인스턴스(224)는 서비스 VN(222) 및 고객 VN(208)의 상이한 인터페이스들에 걸쳐 패킷들을 라우팅하기 위해 네트워크 어드레스 변환을 사용한다.
컴퓨팅 리소스 제공자의 고객은 고객의 관점으로부터, 도 2에 예시된 예시적인 네트워크 토폴로지에 대하여 HSM 기기이지만, 서비스 VN(222)을 통해 NAT 인스턴스(224)와 상이한 IP 어드레스를 갖는 CRP HSM으로 요청들을 라우팅하도록 구성되는, NAT 인스턴스(224)의 인터페이스인 IP 어드레스에 요청들을 송신함으로써 CRP HSM(238)에 요청들을 제출할 수 있다. 유사하게, CRP HSM(238)이 요청에 대한 응답을 생성할 때(예로서, 하나 이상의 암호 동작을 수행함으로써 및/또는 그에 응답하여, 하나 이상의 암호 동작들의 수행의 결과들을 제공함으로써), 응답은 라우팅이 정확하게 수행될 수 있게 하기 위해 및 고객 디바이스들의 관점으로부터, 응답으로 하여금 응답이 고객 자신의 네트워크에서 비롯된 것처럼 발생 어드레스를 가질 수 있게 하기 위해 수행되는 네트워크 어드레스 변환을 갖고 적절한 HSM 클라이언트(예로서, 사외 고객 HSM 클라이언트(220) 또는 사내 고객 HSM 클라이언트(218))로 라우팅된다.
VCS 서비스 기판의 컴퓨팅 리소스들 및 HSM들과 같은, 컴퓨팅 리소스 제공자의 리소스들을 관리하도록 구성된 컴퓨팅 디바이스들의 네트워크일 수 있는, CRP 관리 시스템(242)이 또한 도 2에 예시된다. CRP 관리 시스템(242)은, 실시예에서, 리소스들의 관리와 관련되어 다양한 동작들을 수행하도록 구성된다. 예를 들면, CRP 관리 시스템은 고객들이 네트워크(예로서, 인터넷)를 통해 요청들을 제출할 수 있게 하는 애플리케이션 프로그래밍 인터페이스(API)를 제공한다. 몇몇 예들에서, CRP 관리 시스템(242)은 웹 서비스 요청들의 형태로 API 호출들을 수신하도록 구성된 하나 이상의 웹 서버들(이하에서 보다 상세히 설명된 바와 같은)을 포함한다. 웹 서버들은, 웹 서비스 요청의 수신 시, 요청을 이행하기 위해 하나 이상의 작업 흐름들을 실행함으로써 요청을 프로세싱하도록 구성된 CRP 관리 시스템(242)의 서브시스템에 요청을 송신(예로서, 요청을 포워딩하거나 또는 웹 서비스 요청에 적어도 부분적으로 기초하여 생성된 새로운 요청을 송신하는)하도록 구성될 수 있다. 예시적인 요청들은 가상 컴퓨터 시스템들을 프로비전하거나 또는 디프로비전하기 위해, VN을 생성하기 위해, VN을 재구성하기 위한 요청들, 하나 이상의 HSM들을 VN에 부가하기 위한 요청들, 저장 디바이스들(데이터 저장 서비스(도시되지 않음)를 위한)을 프로비전하기 위한 요청들 등을 포함한다. CRP 관리 시스템은, 실시예에서, 또한 요청들을 프로세싱하며 요청 프로세싱과 관련되어 부가적인 동작들(예로서, 인증)을 수행하도록 구성된다. 요청을 프로세싱하는 것은 CRP 관리 시스템(242)에 의해 관리된 작업 흐름을 프로세싱하는 것을 포함할 수 있다. 작업 흐름은 대응하는 요청을 프로세싱하기 위해 수행될 동작들의 세트를 포함할 수 있다. 예를 들면, 가상 컴퓨터 시스템을 프로비전하기 위한 동작들은 가상 컴퓨터 시스템을 구현하기 위해 하드웨어 리소스(예로서, 하드웨어 서버)를 선택하는 것, 선택된 하드웨어 리소스로 기계 이미지를 로딩하는 것, 네트워크 라우팅을 재구성하는 것, 및/또는 다른 동작들과 같은 동작들을 포함할 수 있다.
상기 논의된 바와 같이, 여기에 설명된 다양한 기술들은 고객이 원격으로-호스팅된 HSM을 포함하도록 네트워크를 구성하는 것을 허용한다. 도 3은 이것이 행해질 수 있는 하나의 방식의 예시적인 예를 도시한다. 도 3은, 특히, 컴퓨팅 리소스 제공자의 고객으로 하여금 서비스로서 HSM의 사용의 컴퓨팅 리소스 제공자의 공급을 이용할 수 있게 하기 위한 환경(300)의 예시적인 예를 도시한다. 도 3에 예시된 바와 같이, 환경은 고객 VN(302) 및 HSM 서비스 VN(304)을 포함하며, 이것은 각각 상기 설명된 고객 VN(208) 및 서비스 VN(222)일 수 있다.
고객 VN(302)의 컴퓨팅 리소스들은 하나 이상의 데이터 구역들에서 호스팅된 컴퓨팅 리소스들을 포함할 수 있다. 데이터 구역은 또 다른 데이터 구역의 컴퓨팅 리소스들의 또 다른 세트로부터 분리되는 컴퓨팅 리소스들의 세트를 포함할 수 있다. 데이터 구역들은 하나 이상의 컴퓨팅 리소스들의 작동 불가를 야기하는 이벤트들에서, 하나의 데이터 구역이 하나 이상의 다른 데이터 구역들에서 논리적으로 독립적인 컴퓨팅 리소스들의 조작성에 적은 영향을 주거나 또는 어떤 영향도 주지 않도록 결함 허용의 목적을 위해 엔지니어링될 수 있다. 예시적인 예로서, 제 1 데이터 센터에서 호스팅된 컴퓨팅 리소스들의 세트는 제 1 데이터 구역을 포함할 수 있으며 제 2 데이터 센터에서 호스팅된 컴퓨팅 리소스들의 또 다른 세트는 제 2 데이터 구역을 포함할 수 있다. 제 1 데이터 구역의 하나 이상의 컴퓨팅 리소스들의 작동 불가를 야기하는 제 1 데이터 센터에서의 정전은 제 2 데이터 구역의 컴퓨팅 리소스들에 대한 전력의 손실을 야기하지 않을 것이다. 따라서, 정전은, 예를 들면, 제 2 데이터 구역의 컴퓨팅 리소스가 제 1 데이터 구역의 동작 가능하지 않은 컴퓨팅 리소스(예로서, 가상 서버)의 클라이언트가 아니라면 제 2 데이터 구역의 컴퓨팅 리소스들의 조작성에 영향을 주지 않을 것이다.
데이터 구역들은 다양한 방식들로 구현될 수 있다. 예를 들면, 데이터 구역은 지리적 영역에서 클러스터링되며 서로 간에 직접 통신 연결들을 갖는 데이터 센터 또는 데이터 센터들의 모음에 의해 구현될 수 있다. 또 다른 예로서, 데이터 구역들은 각각 상이한 전력 발생기에 의해 공급되는 데이터 센터의 상이한 룸들에 의해 구현될 수 있다. 일반적으로, 데이터 구역들은 하나 이상의 다른 데이터 구역들에서 발생하는 이벤트들(전력 손실, 화재, 지진, 운영자 에러 등)에 대하여 하나의 데이터 구역의 결함 허용을 증가시키는 임의의 방식으로 구현될 수 있다. 컴퓨팅 리소스 제공자(또는 일반적으로, 임의의 엔티티)는 감소된 지연 시간과 같은, 보다 큰 결함 허용, 장애 극복 옵션들 및 다른 이득들을 제공하기 위해 다수의 데이터 구역들을 동작시킬 수 있다. 컴퓨팅 리소스 제공자는, 예를 들면, 성능 및 결함 허용을 위한 다수의 옵션들을 고객들에게 제공하기 위해 세계 전체에 걸쳐 다수의 데이터 구역들을 동작시킬 수 있다.
따라서, 도 3에 예시된 바와 같이, 고객 VN(302)은 데이터 구역(306)에서 리소스들을 포함한다. 단일 데이터 구역(306)이 예시되지만, 이하에서 보다 상세히 논의되는 바와 같이, 고객 VN(302)은 다수의 데이터 구역들로부터의 컴퓨팅 리소스들을 포함할 수 있다. 고객(302)의 서브넷(VN 서브넷(308))은, 이 예에서, 데이터 구역(306)의 리소스들을 사용하여 구현된다. 클래스리스 도메인-간 라우팅(classless inter-domain routing; CIDR) 표기법을 사용하여, VN 서브넷은 이 인스턴스에서, IP 어드레스의 예시적인 예, 10.0.0.0/16을 사용한다. 예시의 목적을 위해, IP 어드레스들은 인터넷 프로토콜 버전 4(IPv4) IP 어드레스들로서 예시적으로 제공한다는 것이 주의되어야 한다. 그러나, 이에 제한되지 않지만, 인터넷 프로토콜 버전 6(IPv6) 어드레스들을 포함한 상이한 어드레싱 방법들이 다양한 실시예들에서 사용될 수 있다.
VN 서브넷(308)은, 이 예에서, 10.0.0.0/16 범위에서 고객의 IP 어드레스들을 갖는 다양한 디바이스들(310)(예를 들면, 가상 컴퓨터 시스템들 또는 가상 저장 디바이스들일 수 있는)을 포함한다. 고객 VN(302)의 VN 서브넷(308)은 또한 고객 서비스 게이트웨이(고객 SG(212))를 포함하며, 이것은 가상 네트워크 인터페이스(VNI)(314)를 갖고 구성된 게이트웨이 디바이스일 수 있다. VNI(314)는, 예시된 바와 같이, 10.0.0.201의 IP 어드레스를 가진다.
고객 VN(302)과 마찬가지로, HSM 서비스 VN(304)은 데이터 구역(316)의 컴퓨팅 리소스들을 사용하여 구현될 수 있으며, 이것은 고객 VN(302)의 데이터 구역(306)과 동일한 데이터 구역일 수 있거나 또는 데이터 구역(306)과 상이할 수 있다. 데이터 구역(316)의 컴퓨팅 리소스들은 이 예에서, 192.168.0.0/24의 IP 어드레스 공간을 갖는 VN 서브넷(318)을 구현하기 위해 사용된다. VN 서브넷(218)은 NAT 인스턴스(322)(상기 설명된 바와 같이, NAT 인스턴스일 수 있는) 및 VNI(324)를 포함하는 서비스 SG(320)를 포함한다. VNI(324)는, 예시적인 예로서, VN 서브넷(318)의 IP 공간에서의 IP 어드레스를 가지며, 상기 어드레스는 192.168.0.55이다.
또한, 도 3에 예시된 바와 같이, 환경(300)은 이 예에서, 10.10.0.3의 IP 어드레스를 갖는 물리적 HSM 기기(326)를 포함한다. HSM 기기는 VNI(324)에 직접 연결될 수 있으며 NAT 인스턴스는 적절한 네트워크 어드레스 변환을 수행하도록 구성될 수 있다.
실시예에서, NAT 인스턴스(322)는 네트워크 어드레스 변환을 수행한다. 예를 들면, 고객 지향 VNI(314)로부터의 네트워크 트래픽은 HSM 기기(326)의 IP 어드레스인, 10.10.0.3으로 포워딩될 수 있다. NAT 인스턴스(322)는 네트워크 트래픽의 목적지 IP 어드레스를 10.10.0.3으로 변경하기 위해 네트워크 어드레스 변환을 수행할 수 있다. HSM 기기(326)로부터 리턴된 트래픽이 동일한 NAT 인스턴스에 도달함을 보장하기 위해(예로서, 다수의 NAT 인스턴스들이 사용된다면), NAT 인스턴스(322)는 또한 그 자신의 내부로-향하는 IP 어드레스인, 192.168.0.55로 소스 IP 어드레스를 변경할 수 있다. 네트워크 트래픽은 HSM에서 동일한 디바이스로 리턴하기 때문에, NAT 인스턴스는 트래픽이 정확한 목적지에 도달함을 보장할 수 있다. 예를 들면, NAT 인스턴스(322)는 HSM 기기(326)에서 NAT 인스턴스(322)로의 트래픽을 적절한 고객 디바이스(예로서, 원래 HSM에 요청을 제출한 디바이스)로 포워딩하도록 프로그램될 수 있어서, NAT를 적절하게 수행한다.
이러한 방식으로, HSM 기기(326)의 관점으로부터, 클라이언트 트래픽은 NAT 인스턴스의 IP 어드레스인, 192.168.0.55로부터 비롯된다. 뿐만 아니라, HSM 기기(326)는 고객 VN(302)의 특성들을 식별하는 임의의 정보(예로서, IP 어드레스들)가 없을 수 있다. 고객 디바이스(310)의 관점으로부터, VNI(314)의 IP 어드레스(10.0.0.201)는 HSM 기기(326)의 IP 어드레스인 것처럼 보인다. 예를 들면, 고객 디바이스(310)는 하나 이상의 암호 동작들을 수행하기 위한 요청을 10.0.0.201에 송신하고, 10.0.0.201로부터 응답을 수신할 수 있는 반면, 상이한 IP 어드레스를 가진 디바이스(즉, HSM 기기(326))는 실제로 요청된 암호 동작들을 수행한다.
본 개시의 다양한 실시예들은 컴퓨팅 리소스 제공자가 다양한 보안 문제를 처리하면서 서비스로서 HSM의 사용을 제공하도록 허용한다. 예를 들면, 컴퓨팅 리소스 제공자의 몇몇 고객들은 컴퓨팅 리소스 제공자가 고객 대신에 HSM에 의해 저장된 임의의 암호 정보(예로서, 고객에 의해 사용된 키들)로의 액세스가 없음을 주장할 수 있다. 도 4는 이것이 성취될 수 있는 예시적인 방식을 예시한 다이어그램(400)을 도시한다. 그러나, 도 4에 예시되며 여기에 논의된 프로세스들은 사실상 예시적이며 HSM에 의해 저장된 정보로의 액세스를 보유한 컴퓨팅 리소스 제공자 없이 서비스로서 HSM을 제공하는 다른 방법들이 사용될 수 있다는 것이 주의되어야 한다. 예를 들면, 상이한 HSM 제조사들은 컴퓨팅 리소스 제공자가 HSM 상에 저장된 민감한 고객 정보를 액세스할 수 없음을 보장하기 위해 상이한 방식들로 사용될 수 있는 상이한 프로세스들 및/또는 인터페이스들을 이용할 수 있다.
특히, 도 4에서의 다이어그램(400)은, 상기 설명된 바와 같이, 컴퓨팅 리소스 제공자의 고객에 의해 요청된 HSM 기기일 수 있으며 컴퓨팅 리소스 제공자에 의해 호스팅되는, HSM 기기(402)를 도시한다. HSM 기기(402)는 HSM 관리 인터페이스(406) 및 암호 정보를 물리적으로 및 안전하게 포함하는 HSM 기기(도 4에서 "물리적 HSM(404)"으로서 라벨링된)의 일 부분을 포함하는 논리 컨테이너일 수 있다. 실시예에서, HSM 기기(402)는 액세스 가능성에 의해 정의된 구성요소들을 포함하는 기기로 고려될 수 있다. 예를 들면, 실시예에서, HSM 기기(402)는 특정한 관리 역할들을 가진 것들에 의해 액세스 가능한 관리 인터페이스를 포함한다. 이 예에서, 역할들은 CRP 관리자(408) 및 고객 관리자(410)를 포함한다. 관리 인터페이스(406)로의 액세스는 적절한 인증을 요구할 수 있으며(예로서, 크리덴셜들의 프리젠테이션을 통해) 액세스의 양은 특정한 역할에 의존할 수 있다. 뿐만 아니라, 관리 인터페이스(406)로의 액세스는 예를 들면, SSH를 통해, 보안 연결을 요구할 수 있다. 실시예에서, 인증된 CRP HSM 관리자(408)는 HSM 기기(402)에 대해, 하나 이상의 고객 HSM 관리자들(410)을 생성하기 위한 능력을 가질 수 있다. CRP HSM 관리자에 의해 수행될 수 있는 다른 동작들은, 다양한 실시예들에서, 정책들의 생성 및 관리, 네트워크 셋업, 로깅, 및/또는 다른 관리 활동들을 포함한다.
고객 HSM 관리자(410)는 HSM 기기(402)로, HSM 초기화(InitializeHSM) 명령어를 제출하는 것에 의해서와 같은, HSM 기기(402)의 초기화와 같은, 다양한 관리 활동들을 수행하기 위해 HSM 관리 인터페이스와 상호 작용하기 위한 능력을 가질 수 있다. HSM의 초기화는 하나 이상의 보안 책임자(SO) 역할들의 생성을 야기할 수 있다. 인증된 보안 책임자(고객 보안 책임자(412)로서 라벨링된)는 클라이언트들(대응하는 파티션과 관련되어 HSM으로의 요청들의 제출을 위해 충분한 액세스 권한들을 가진 디바이스들의 세트)을 생성하는, 파티션들을 생성하는 것에 의해서와 같은, HSM의 구성을 관리하고, 클라이언트들을 파티션들에 할당하는(즉, 각각의 클라이언트가 어떤 파티션(들)을 액세스할 수 있는지를 정의하는) 등을 하기 위한 능력을 가질 수 있다. 클라이언트의 생성은 클라이언트가 HSM을 이용하기 위해 허가됨을 표시하는 엔트리를 HSM 기기의 데이터 저장소에서 업데이트하는 것을 포함할 수 있다. 클라이언트(또는 또 다른 운영자)를 생성한 SO는 HSM의 이용을 가능하게 하기 위해 적절한 소프트웨어를 갖고 클라이언트 디바이스를 구성할 수 있다. 다시 말해서, 디바이스가 HSM 기기(402)를 이용할 수 있게 하는 것은 HSM의 클라이언트로서 동작하는 디바이스 및 HSM 기기(402) 양쪽 모두의 적절한 구성을 포함할 수 있다.
HSM 기기(402)는 단지 HSM 관리자(410)에 의해 생성된 고객 HSM 관리자(410) 및 보안 책임자(412) 계정들만이 HSM에 의해 저장된 암호 정보에 대한 액세스를 갖도록 구성될 수 있다. 또 다른 방식으로 서술하면, HSM 기기(402)는 CRP HSM 관리자 역할이 HSM 기기(402)에 의해 저장된 암호 자료로의 액세스가 없도록 구성될 수 있다. 이러한 방식으로, 컴퓨팅 리소스 제공자는 고객 HSM 관리자(410) 계정을 생성하기 위해 CRP HSM 관리자(408)의 역할을 사용할 수 있다. 크리덴셜들(예로서, 로그인 및 패스워드)은 고객의 허가된 사람에게 제공될 수 있으며 허가된 사람은 로그인 및 패스워드를 변경할 수 있으며, 그에 의해 컴퓨팅 리소스 제공자가 임의의 후속하여 생성된 논리적 파티션들에 대한 액세스가 없게 한다. 따라서, 컴퓨팅 리소스 제공자는 몇몇 관리 특권들(예로서, 고객과의 비즈니스 관계의 종료 후 암호 자료를 안전하게 삭제하기 위해 및 새로운 고객 HSM 관리자 계정을 생성하기 위해)을 보유할 수 있지만, 컴퓨팅 리소스 제공자는 일단 고객이 고객 HSM 관리자(410) 계정의 로그인 크리덴셜들을 변경한다면 안전하게 저장된 암호 자료로의 액세스가 없다.
본 개시의 다양한 실시예들은 또한 컴퓨팅 리소스 제공자의 고객들이 HSM이 요구될 때 동작적인 가능성을 증가시키는 방식으로 및/또는 성능(예로서, 지연 시간)을 개선하는 방식으로 컴퓨팅 리소스 제공자의 HSM들을 이용하도록 허용한다. 도 5는, 따라서 이러한 기술적 이점들이 달성될 수 있는 환경(500)의 예시적인 예를 도시한다. 도 5의 예에서, 고객 VN(504)의 VN 서브넷(502)은 상기 설명된 바와 같이, 적어도 그 일부가 컴퓨팅 리소스 제공자에 의해 호스팅될 수 있는, 다양한 컴퓨팅 리소스들을 포함할 수 있다. 예를 들면, 도 5에 예시된 바와 같이, 환경(500)의 VN 서브넷(502)은 하나 이상의 HSM 클라이언트들(506)을 포함한다. 서비스 게이트웨이와 통신하는 대신에, 도 3과 관련되어 상기 논의된 바와 같이, 도 5에서, HSM 클라이언트들(504)은 로드 밸런서(508)와 통신한다. 로드 밸런서(508)는 HSM 클라리언트들(506)로부터 요청들을 분배하기 위해, 하나 이상의 로드 밸런싱 기술들(예로서, 라운드 로빈 및 그것의 변형들)을 이용하도록 구성되는 디바이스(예로서, 가상 컴퓨터 시스템 서비스에 의해 제공된 가상 컴퓨터 시스템)일 수 있다. 이 예에서, 로드 밸런서(508)는 상기 설명된 바와 같은, 복수의 물리적 HSM 기기들(510) 중 하나로의 통신을 용이하게 하도록 구성된다. 그러나, 로드 밸런서(508)의 능력들은 HSM 클라이언트들 중 하나 이상으로 통합될 수 있다는 것이 주의되어야 한다. 예를 들면, 하나 이상의 클라이언트들은 로드 밸런싱 기능들을 수행하는 로드 밸런싱 애플리케이션, 또는 일반적으로 반드시 정보를 중복하여 저장하는 것은 아닌 다수의 HSM들과 통신하기 위한 능력을 가질 수 있다.
예를 들면, 로드 밸런서(506)는 도 3과 관련되어 상기 설명된 바와 같이, VN 서브넷(502)의 대응하는 서비스 게이트웨이 및 가상 네트워크 인터페이스(SG/VNI(512))를 통해 및 서비스 VN 서브넷(516)의 서비스 게이트웨이, NAT 디바이스, 및 VNI(SG/NAT/VNI(514))를 통해 트래픽을 HSM 클라이언트(504)에서 HSM 기기(508)로 라우팅할 수 있다. 따라서, 이러한 방식으로, 고객 VN(504)의 VN 서브넷(502)의 관점으로부터(특히, 로드 밸런서(508)의 관점으로부터), HSM 기기(510)로의 통신들은 SG/VNI(512)의 대응하는 서비스 게이트웨이로 향해진다. 따라서, HSM에 요청을 제출하기 위해 HSM 클라이언트(506)에 대해, 클라이언트 디바이스(506)는 요청을 적절한 HSM 기기(510)로 포워딩할 수 있는, 로드 밸런서(508)의 IP 어드레스로 요청을 어드레싱하고, 임의의 응답들을 수신하며, 응답들을 요청기에 포워딩할 수 있다.
이러한 방식으로, HSM들의 높은 이용 가능성이 고객 관점으로부터 간단한 구성을 유지하면서 달성된다. 뿐만 아니라, 도 5에 예시된 기술들 및 그것의 변형들은 다수의 기술적 이점들을 제공하기 위해 사용될 수 있다. 예를 들면, 도 5에 예시된 바와 같이, 각각의 HSM 기기는 상이한 데이터 구역(518)에 존재할 수 있다. 상이한 데이터 구역들은 결함 허용 및/또는 보다 낮은 지연 시간(HSM 클라이언트들이 상이한 데이터 구역들 가운데 분배될 때와 같은)을 제공하기 위해 사용될 수 있다.
여기에 설명된 모든 환경들과 마찬가지로, 변형들은 본 개시의 범위 내에 있는 것으로 고려된다. 예를 들면, 환경(500)의 SG/VNI 구성요소들은, 몇몇 실시예들에서, 상이한 HSM들이 상이한 목적들을 위해 사용될 때(예로서, 각각이 상이한 키 공간을 저장하는, 다수의 HSM들이 사용될 때)와 같이, 로드 밸런서의 뒤에 자리 잡을 필요는 없다. 또한, 도면들에 예시된 것들 외에 부가적인 특징들이 본 개시의 범위 내에 있는 것으로 고려된다. 예를 들면, 다수의 HSM들이 중복을 위해 사용되는 환경들에서, 보안 방법들은 HSM들에 의해 중복하여 저장된 정보를 동기화하기 위해 사용될 수 있다. 예를 들면, 공개 키 암호 기법은 하나의 HSM에서 또 다른 것으로 정보를 안전하게 전달하기 위해 사용될 수 있다. HSM은 또 다른 HSM에 의해 사용된 공개-비밀 키 쌍의 공개 키를 사용하여 정보를 암호화할 수 있다. 암호화된 정보는 공개-비밀 키 쌍의 비밀 키를 사용하여 복호화되도록 네트워크를 통해 다른 HSM에 전달될 수 있다.
상기 논의된 바와 같이, 본 개시의 다양한 실시예들은 가상 리소스 제공자의 고개들이, 컴퓨팅 리소스 제공자가 HSM을 호스팅하지만 고객들이 고객 자신의 데이터 센터들에 있는 것처럼 HSM들을 이용할 수 있도록 HSM들을 가상 네트워크들에 부가하도록 허용한다. 도 6은 적어도 하나의 실시예에 따라 HSM에 대한 요청을 프로세싱하기 위한 프로세스(600)의 예시적인 예를 도시한다. 프로세스(600)는 도 2와 관련되어 상기 논의된 CRP 관리 시스템 또는 컴퓨팅 리소스 제공자에 제출된 요청들의 프로세싱에 수반된 임의의 시스템과 같은, 임의의 적절한 시스템에 의해 수행될 수 있다. 실시예에서, 프로세스(600)는 HSM에 대한 요청을 고객으로부터(예로서, 고객 컴퓨팅 디바이스로부터) 수신하는 단계(602)를 포함하며, 여기에서 요청은 HSM에 대한 파라미터들의 세트를 포함한다. 요청은, 예를 들면, HSM 파라미터들을 인코딩하는 API 파라미터들을 가진 API 호출일 수 있다. 그러나, 도 6은 요청의 부분으로서 포함되는 파라미터들을 도시하지만, HSM에 대한 파라미터들은 요청으로부터 별개로 제공될 수 있다는 것이 주의되어야 한다. 예시적인 파라미터들은 컴퓨팅 리소스 제공자에 의해 호스팅된 고객의 VN의 식별자, 컴퓨팅 리소스 제공자에 의해 호스팅된 고객의 VN의 서브넷의 식별자, HSM에 대한 모델 식별자(고객이 다수의 HSM 모델들로부터 선택하기 위한 능력을 제공받는 실시예들에서), IP 어드레스 공간, IP 어드레스 유형(예로서, IPv4 또는 IPv6), 통지 모드(예로서, 이메일 어드레스, 메시지 큐 식별자 또는 통지들을 위해 사용된 다른 식별자) 및/또는 다른 관련 정보를 포함한다. 또한, HSM 파라미터들은 식별된 고객 VN에 위치될 네트워크 인터페이스에 적용하기 위해 하나 이상의 방화벽 파라미터들을 특정할 수 있다. 일반적으로, 파라미터들은 컴퓨팅 리소스 제공자로 하여금 컴퓨팅 리소스 제공자에 의해 호스팅된 고객의 VN과 HSM을 통합할 수 있게 하는 컴퓨팅 리소스 제공자 정보를 제공한다.
요청의 수신(602) 시, 프로세스(600)는 적절한 HSM 디바이스(예로서, HSM 파라미터들과 일치하는 모델 번호를 가진 디바이스)를 부착한 서비스 VN(222)과 같은, 서비스 VN을 생성하는 단계(604)를 포함할 수 있다. 서비스 VN을 생성하는 단계(604)는 서비스 VN을 포함하는 하나 이상의 컴퓨팅 리소스들을 프로비저닝하는 것 및/또는 구성하는 것을 포함할 수 있다. 서비스 VN은 도 2와 관련되어 상기 논의된 것들과 같은, 구성요소들을 포함할 수 있다. 뿐만 아니라, 서비스 VN은 공인 및 사설 서브넷을 갖고 VLAN으로서 생성될 수 있으며, 공인 서브넷은 모니터링 및 진단들을 위해 사용되며 사설 서브넷은 고객 VN과의 통신을 위해 사용된다. 서비스는 서비스 VN이 고객 VN의 IP 범위와 중첩하지 않는 IP 범위를 갖는다는 것을 보장하기 위해 생성될 수 있다.
서비스 VN을 생성하는 단계(604)는 다양한 실시예들에 따라 다양한 방식들로 수행될 수 있다는 것이 주의되어야 한다. 예를 들면, 몇몇 실시예들에서, 컴퓨팅 리소스 제공자는 프로세싱될 때 서비스 VN을 이용할 HSM에 대한 요청의 수신 이전에 서비스 VN을 프로비저닝하며 준비한다. 이러한 실시예들에서, 서비스 VN을 생성하는 것은 요청에서 특정된 고객 VN과 통합하기 위해 기존의 리소스들을 재구성하는 것을 포함할 수 있다. 다시 말해서, 컴퓨팅 리소스 제공자는 요청의 수신 이전에 서비스 VN을 생성하기 위한 몇몇 동작들을 수행할 수 있다. 또한, 서비스 VN을 생성하는 것(604)은 고객이 서비스 VN을 통해 통신할 HSM 디바이스를 구성하는 것과 같은, 부가적인 동작들을 포함할 수 있다. HSM 디바이스의 구성은 다양한 HSM 제조사들 및 모델들에 따라 달라질 수 있는 다양한 방식들로 수행될 수 있다. 일반적으로, HSM 디바이스를 구성하는 것은 고객을 위한 HSM으로서 HSM 디바이스의 동작을 가능하게 하고 및/또는 용이하게 하는 임의의 동작들을 취하는 것을 포함할 수 있다.
서비스 VN의 생성(604) 시, 프로세스(600)는 서비스 팀 관리 시스템으로부터 이것들로의 통신을 제한하기 위해 서비스에 대한 액세스 제어 리스트(access control list; ACL)를 변경하는 단계(606)를 포함할 수 있다. 이러한 방식으로, 서비스 VN은 다양한 불필요한 통신들로부터 분리되지만, 이러한 중재가 필요하게 된다면 컴퓨팅 리소스 제공자에 의한 중재를 허용한다. 서비스 VN에 대한 방화벽은 그 후 서비스 인스턴스들(예로서, 서비스 VN의 부분이 되기 위한 가상 컴퓨터 시스템들)을 론칭할 때 사용하기 위해 생성될 수 있다(608). 하나 이상의 서비스 인스턴스들은 그 후 생성된 방화벽을 참조하는, 서비스 VN에서 론칭될 수 있다(610). 서비스 인스턴스들은 도 2와 관련되어 상기 설명된, NAT 인스턴스(224) 및 서비스 VN 배스천(226)과 같은, 서비스 VN의 내부에서 동작하는 가상 컴퓨터 시스템들일 수 있다. 서비스 인스턴스를 론칭하는 것은 상기 설명된 바와 같이, 서비스 인스턴스들에 대한 프로비저닝 작업 흐름을 프로세싱하는 것을 포함할 수 있다. 뿐만 아니라, 이전에 주지된 바와 같이, 인스턴스들은 상이한 시간에 론칭되며 간단히 재구성될 수 있다. 이러한 방식으로, 요청의 수신(602) 및 HSM이 고객에 의한 사용을 위해 이용 가능할 때 사이에서의 시간은 감소될 수 있다. 서비스 인스턴스를 론칭하는 것은 또한 소프트웨어를 로딩하는 것 및/또는 인스턴스가 서비스 VN에서 기능할 수 있게 하도록 구성될 필요가 있는 임의의 설정들을 구성하는 것과 같은, 재구성 동작들을 포함할 수 있다.
도 6에 예시된 바와 같이, 프로세스(600)는 고객의 가상 네트워크, 예로서 HSM 파라미터들에서 특정된 고객 VN에서 네트워크 인터페이스를 생성하는 단계(612)를 포함한다. 상기 논의된 바와 같이, 네트워크 인터페이스는 컴퓨팅 리소스 제공자에 의해 생성되며 호스팅된 VNI일 수 있다. 실시예에서, 네트워크 인터페이스를 생성하는 것은 고객의 적절한 서브넷(예로서, HSM 파라미터들에 의해 특정된 서브넷)에서 네트워크 인터페이스를 생성하기 위해 계정 위장을 사용하는 것을 포함할 수 있다. 네트워크 인터페이스를 생성하는 것(612)은 HSM 서비스에 대응하는 설명을 네트워크 인터페이스에 주는 것과 같은, 다른 동작들을 또한 포함할 수 있다. 설명은, 예를 들면, HSM 또는 네트워크 인터페이스가 HSM에 연결하기 위한 것임을 식별할 수 있다. 이러한 방식으로, 고객은 고객이 컴퓨팅 리소스 제공자에 의해 호스팅된 그것의 가상 네트워크에서 가질 수 있는 임의의 다른 네트워크 인터페이스들로부터 생성된(612) 네트워크 인터페이스를 구별할 수 있다(예로서, 컴퓨팅 리소스 제공자에 의해 호스팅된 고객 디바이스들의 물품 목록에서). 네트워크 인터페이스를 생성하는 것에 포함된 다른 동작들은 네트워크 인터페이스에 사설 IP 어드레스를 할당하는 것 및 임의의 보안 설정들(예로서, 고객이 컴퓨팅 리소스 제공자 관점으로부터 네트워크 인터페이스를 관리하기 위한 능력을 손실을 야기할 수 있는 네트워크 인터페이스의 방화벽을 변경하는 것을 방지하기 위해)을 구성하는 것을 포함할 수 있다.
실시예에서, 프로세스(600)는 적절한 서비스 인스턴스(예로서, 도 2와 관련되어 상기 논의된 NAT 인스턴스(224))에 생성된(612) 네트워크 인터페이스를 부착하는 단계(614)를 포함한다. 생성된 서비스 인스턴스에 생성된(604) 네트워크 인터페이스를 부착하는 것은 네트워크 인터페이스로의 통신들이 서비스 가상 네트워크로 및 그 역으로 진행하도록 허용하기 위해 서비스 가상 네트워크 및 네트워크 인터페이스 양쪽 모두에서 임의의 설정들을 구성하는 것을 포함할 수 있다. 예를 들면, 고객 VN이 분리될 수 있기 때문에, 계정 위장은 고객 VN이 서비스 인스턴스와 통신하도록 허용하기 위해 고객 VN에 대한 설정들을 변경하기 위해 사용될 수 있다. 일단 네트워크 인터페이스가 서비스 인스턴스에 부착된다면, 프로세스(600)는 HSM의 이용 가능성을 고객에게 통지하는 것을 포함할 수 있다. 통지는 전자 메일, 인스턴트 메시지, 통지 큐에 통지 메시지를 넣는 것에 의해 및/또는 다른 방식들로와 같은, 다양한 실시예들에 따른 다양한 방식들로 발생할 수 있다. 뿐만 아니라, 통지가 발생하는 방식은 요청과 관련되어 수신된 HSM 파라미터들에서 특정될 수 있다.
도 7은 컴퓨팅 리소스 제공자에 의해 서비스로서 제공된 HSM을 이용하기 위해 고객에 의해 수행될 수 있는 프로세스(700)의 예시적인 예를 도시한다. 프로세스(700)는 운영자의 제어하에 있는 고객의 컴퓨팅 디바이스와 같은, 임의의 적절한 시스템에 의해 수행될 수 있다. 실시예에서, 프로세스(700)는 서비스로서 HSM의 사용을 제공하는 컴퓨팅 리소스 제공자를 갖고 원격으로 호스팅된 가상 네트워크(예로서, 원격으로 호스팅된 VLAN)를 생성하는 것을 포함한다. 원격으로 호스팅된 가상 네트워크는 다양한 실시예들에 따른 다양한 방식들로 생성될 수 있다. 예를 들면, 몇몇 실시예에서, 적절하게 구성된 API 호출들은 하나 이상의 컴퓨팅 리소스들(예로서, 가상 컴퓨터 시스템들)을 프로비저닝하고, VN에 대한 적절한 파라미터들(예로서, IP 어드레스 범위)을 제공하고, 원격으로 호스팅된 VN 및 사내 네트워크 사이에서 가상 사설 네트워크(VPN)를 공급하는 등을 하기 위해 컴퓨팅 리소스 제공자의 관리 시스템에 대해 이루어질 수 있다. 일반적으로, 원격으로 호스팅된 고객 VN이 생성될 수 있는 임의의 방식이 사용될 수 있다.
일단 생성되면, 원격으로 호스팅된 가상 네트워크는 원격으로 호스팅된 HSM으로의 연결을 위해 구성될 수 있다(704). 원격으로 호스팅된 가상 네트워크를 구성하는 것(704)은 예를 들면, 컴퓨팅 리소스 제공자의 관리 시스템으로 API 호출들을 제출함으로써 수행될 수 있다. 원격으로 호스팅된 가상 네트워크를 구성하는 것(704)은 컴퓨팅 리소스 제공자가 원격으로 호스팅된 가상 네트워크의 내부에 네트워크 인터페이스를 생성할 수 있게 하기 위해 적절한 액세스 허가들을 설정하는 것을 포함할 수 있다. 예를 들면, 적절한 API 호출들은 컴퓨팅 리소스 제공자가 네트워크 인터페이스를 생성하며 접속하도록 허용하는 새로운 역할을 생성하기 위해 이루어질 수 있다. 역할은 가상 네트워크를 액세스할 수 있는 제 3 자 역할일 수 있다. 정책은 컴퓨팅 리소스 제공자가 네트워크 인터페이스를 생성하도록 허용하는 역할을 위해 생성될 수 있다. 역할에 대한 정보는 컴퓨팅 리소스 제공자에게 제공될 수 있으며, 이것은 네트워크 인터페이스를 생성하며 그 후 추가 지시들을 고객에게 전송하기 위해 상기 정보를 사용할 수 있다.
예시된 바와 같이, 프로세스(700)는 원격으로 호스팅된 HSM에 대한 요청을 컴퓨팅 리소스 제공자에 제출하는 것을 포함한다. 요청은 상기 설명된 바와 같이, HSM 파라미터들을 갖고 적절하게 구성된 API 호출일 수 있다. 컴퓨팅 리소스 제공자는 그 후 HSM에 대한 네트워크 어드레스 및 크리덴셜들을 제공할 수 있다. 네트워크 어드레스는 고객의 가상 네트워크에서 생성된 네트워크 인터페이스와 같은, HSM의 관리 인터페이스가 액세스될 수 있는 네트워크 어드레스일 수 있다. 따라서, 프로세스(700)는 원격으로 호스팅된 HSM 기기에 대한 네트워크 어드레스 및 크리덴셜들을 획득하는 단계(708)를 포함한다.
HSM 기기에 대한 네트워크 어드레스 및 크리덴셜들을 갖고, 프로세스(700)는 원격으로 호스팅된 HSM을 초기화하는 것 및 구성하는 것(710)을 포함할 수 있다. 원격으로 호스팅된 HSM을 초기화 및 구성하는 것(710)은 SSH를 통해(또는 또 다른 적절한 방식으로) HSM에 연결하는 것 및 하나 이상의 동작들을 수행하는 것을 포함할 수 있다. 동작들은 HSM에 의해 저장된 정보를 액세스하기 위한 컴퓨팅 리소스 제공자의 능력을 제한하도록 크리덴셜들을 변경하는 것(예로서, 패스워드를 변경하는 것)을 포함할 수 있다. 다른 동작들은 HSM에 대한 시간 구역, 시스템 날짜 및 시간을 설정하는 것, 모니터링을 가능하게 하기 위해 HSM 구성에 syslog 엔드포인트를 부가하는 것, 단순 네트워크 관리 프로토콜(SNMP) 및 syslog 구성을 컴퓨팅 리소스 제공자에 의해 프로비저닝되는 기존의 설정들에 부가하는 것을 포함할 수 있다. 또한, HSM을 초기화하며 구성하는 것(710)은 상기 설명된 바와 같이, HSM 상에서의 임의의 키들 및/또는 암호 도메인들을 영구적으로(즉, 되돌릴 수 없게) 삭제하기 위해 HSM 파티션을 재초기화하는 것 및 다른 HSM들과 통신하기 위해 HSM에 대한 공개/비밀 키 쌍을 생성하는 것을 포함할 수 있다. 공개/비밀 키 쌍을 생성하는 것은 공개/비밀 키 전자 서명 기법을 사용하여 HSM과의 통신을 가능하게 하기 위해 하나 이상의 HSM 클라이언트들에 제공될 수 있는 공개 키로부터 증명서를 생성하는 것을 포함할 수 있다. 공개/비밀 키 쌍을 생성하는 것은 HSM으로 하여금 공개/비밀 키 쌍 및 증명서를 생성하게 하기 위해 HSM에 명령어를 송신하는 것을 포함할 수 있다. 상기 외에, 원격으로 호스팅된 HSM을 초기화하며 구성하는 것(710)은 HSM에서(즉, 클라이언트들이 HSM을 사용하기 위해 허가받은 HSM에 대해 특정하는), 상기 논의된 바와 같이, 하나 이상의 HSM 클라이언트들을 생성하는 것을 포함할 수 있다.
예시된 바와 같이, 프로세스(700)는 하나 이상의 HSM 클라이언트들은 HSM을 이용할 수 있도록 하나 이상의 HSM 클라이언트들을 구성하는 단계(712)를 포함한다. 예를 들면, 실시예에서, HSM 클라이언트를 구성하는 것은, 상기 설명된 바와 같이, 공개/비밀 키 쌍으로부터의 공개 키로부터 증명서를 생성하는, HSM 클라이언트에 대한 공개/비밀 키 쌍을 생성하는 것을 포함할 수 있다. 이러한 증명서는 HSM이 검증을 위해 HSM 클라이언트에 제공된 전자 서명들을 생성하기 위해 공개 키를 사용할 수 있게 하기 위해 HSM(예로서, 대응하는 사설 키를 사용하여 HSM에 의한 복호화를 위해 HSM의 공개 키를 사용하여 증명서를 암호화함으로써)에 제공될 수 있다. 다른 동작들은 HSM에 HSM 클라이언트(들)를 등록하는 것 및 HSM 클라이언트(들)를 HSM의 하나 이상의 파티션들에 할당하는 것을 포함할 수 있다.
여기에 설명된 모든 프로세스들과 마찬가지로, 프로세스의 변형들은 본 개시의 범위 내에 있는 것으로 고려된다. 예를 들면, 예시된 동작들은 반드시 제공된 순서로 수행될 필요는 없다. 또한, 부가적인 동작들은, 다양한 환경들로 HSM들을 통합하기 위해서와 같은, 다양한 목적들을 위해 포함될 수 있다. 예를 들면, 다수의 동작들은 다수의 HSM들 및 고객 VN들에 대해 완료될 수 있다. 다수의 HSM들은 HSM 이용 가능성을 증가시키고, 성능을 증가시키며, 총 동작 실패의 기회를 감소시키기 위해 설정될 수 있다(예로서, HSM이 동작 가능하지 않게 된다면 장애 극복을 위한 옵션들을 제공함으로써). 또한, 고객들은 그것들 자신의 사내 HSM들을 호스팅할 수 있다. 본 개시의 다양한 실시예들은 예를 들면, 고객이 사내 HSM을 이용할 수 있고, 사내 HSM이 실패한다면, 원격으로-호스팅된 HSM을 사용할 수 있도록 하나 이상의 원격으로 호스팅된 HSM들과 하나 이상의 사내 HSM들을 동기화하는 것을 포함할 수 있다. 뿐만 아니라, 고객이 컴퓨팅 리소스 제공자와의 비즈니스 관계를 종료하기 위해 선택한다면, 고객은 HSM들에 저장된 정보(예로서, 암호 키들)의 사본을 그 자신의 HSM에 유지할 것이다.
또한, 본 개시의 다양한 실시예들은 일단 고객에 의해 더 이상 요구되지 않는다면 HSM의 재-사용을 허용한다. 예를 들면, 몇몇 실시예들에서, 고객은 서비스로서 HSM의 사용을 종료하기 전에 고객에 의해 사용된 임의의 원격으로 호스팅된 HSM들에 저장된 암호 키들을 되돌릴 수 없게 삭제하기 위해 컴퓨팅 리소스 제공자에 의해 요구된다(예로서, 계약에 의해). 악성 부채(예로서, 고객이, 아마도 파산으로 인해 지불하지 않거나 또는 지불할 수 없는)의 경우에, 컴퓨팅 리소스 제공자는 고객에 의해(예로서, 네트워크로부터 HSM을 연결 해제하고, 전원 공급 장치 등을 언플러깅하는 등에 의해) 사용된 임의의 원격으로-호스팅된 HSM들에 대한 원격 액세스일 수 있으며 고객이 HSM으로의 액세스를 회복하기 위해 기회를 제공받는 시간 기간 동안 HSM에 대한 정보를 여전히 유지할 수 있다(예로서, 빚을 갚거나 또는 그 외 액세스를 배열함으로써). 시간 기간의 경과 후, 컴퓨팅 리소스 제공자는 HSM(들)으로 하여금 HSM(들)에 의해 저장된 임의의 암호 정보를 되돌릴 수 없게 삭제하게 하기 위해 임의의 적용 가능한 HSM들에 명령어를 송신하도록 그것의 관리 액세스를 사용할 수 있다. 이러한 점에서, 컴퓨팅 리소스 제공자는 상기 설명된 방식으로와 같이, 다른 고객들을 서비스하기 위해 임의의 회수된 HSM들을 이용할 수 있다.
다수의 다양한 변형들이 본 개시의 범위 내에 있는 것으로 고려된다. 예를 들면, 상기 주지된 바와 같이, 컴퓨팅 리소스 제공자는 고객들에 의한 사용을 위해 다수의 유형들의 서비스들을 제공할 수 있다. 본 개시의 다양한 실시예들은 HSM들이 이들 서비스들의 사용과 관련되어 사용될 수 있도록 서비스들과의 고객 논리 네트워크의 통합을 포함한다. 예시적인 예로서, 도 2를 참조하면, 고객은 컴퓨팅 리소스 제공자(또는 또 다른 컴퓨팅 리소스 제공자)에 의해 공급된 데이터 저장 서비스와 통신하도록 그것의 고객 VN을 구성할 수 있다. 고객 VN의 하나 이상의 가상 컴퓨터 시스템들은, 예를 들면, 인터넷을 통해 통신하며 데이터 저장 서비스의 웹 서비스 인터페이스를 사용하도록 구성될 수 있다. 데이터 저장 서비스에 의해 저장된 데이터 저장 오브젝트들에 대한 허가들은 예를 들면, 데이터 오브젝트들로의 액세스를 제한할 수 있으며, 따라서 오브젝트들은 단지 고객 VN으로부터만 액세스 가능하다. 본 개시의 다양한 실시예들은 예를 들면, 서버-측 암호화를 허용하기 위해 데이터 저장 서비스와의 통합을 허용한다. 고객 VN은 데이터 저장 서비스의 서버가 암호화될 데이터를 HSM에 제출할 수 있도록 구성될 수 있다. 서버는 HSM에 평문을 제공할 수 있으며 HSM은 적절한 키(예로서, 서버에 의해 특정되거나 또는 디폴트로 특정된 식별자를 가진 키)를 사용하여 생성된 암호문을 리턴할 수 있다. 평문은 데이터 오브젝트를 암호화하기 위해 서버에 의해 사용된 키일 수 있으며 서버는 암호화된 데이터 오브젝트를 갖고 암호화된 키를 저장할 수 있다. 유사하게, 서버는 복호화를 위해 암호화된 키를 HSM에 제공할 수 있으며 HSM은 키를 복호화하고, 데이터 오브젝트를 복호화할 때 서버에 의한 사용을 위해 복호화된 키를 제공할 수 있다. 다른 변형들이 또한 본 개시의 범위 내에 있는 것으로 고려된다.
본 개시의 실시예들은 다음의 조항들을 고려하여 설명될 수 있다:
1. 컴퓨터-구현 방법에 있어서,
실행 가능한 지시들을 갖고 구성된 하나 이상의 컴퓨터 시스템들의 제어 하에서,
컴퓨팅 리소스 제공자의 고객으로부터, 상기 컴퓨팅 리소스 제공자에 의해 호스팅되며 상기 고객에 의해 원격으로 관리되는 고객 네트워크에 하드웨어 보안 모듈을 부가하기 위한 요청을 수신하는 단계;
상기 요청을 수신한 결과로서, 상기 컴퓨팅 리소스 제공자의 복수의 이용 가능한 하드웨어 보안 모듈들로부터 하드웨어 보안 모듈을 선택하는 단계;
상기 고객 네트워크에서, 상기 고객에 할당된 상기 선택된 하드웨어 보안 모듈과 통신하는 또 다른 네트워크로의 네트워크 인터페이스를 생성하는 단계; 및
상기 네트워크 인터페이스로 어드레싱된 상기 고객 네트워크를 통한 요청들이 상기 선택된 하드웨어 보안 모듈에 제공되도록 상기 네트워크 인터페이스 및 다른 네트워크를 구성하는 단계를 포함하는, 컴퓨터-구현 방법.
2. 조항 1에 있어서,
상기 고객 네트워크는 상기 고객에 의해 정의된 대응하는 네트워크 어드레스들을 할당한 하나 이상의 디바이스들을 더 포함하며;
상기 고객 네트워크는 가상 사설 네트워크 연결에 의해 상기 고객에 의해 호스팅된 사내 네트워크에 연결되는, 컴퓨터-구현 방법.
3. 조항 1 또는 조항 2에 있어서, 상기 네트워크 인터페이스는 상기 고객에 의해 정의된 네트워크 어드레스들의 세트에서의 네트워크 어드레스를 더 포함하는, 컴퓨터-구현 방법.
4. 조항 1 내지 조항 3에 있어서,
상기 고객의 디바이스로부터, 상기 인터페이스의 네트워크 어드레스로 어드레싱된 통신을 수신하는 단계; 및
상기 통신의 네트워크 어드레스를, 네트워크 트래픽을 상기 하드웨어 보안 모듈로 라우팅하기 위해 상기 컴퓨팅 리소스 제공자에 의해 이용되는 상기 선택된 하드웨어 보안 모듈의 어드레스로 변환하는 단계를 더 포함하는, 컴퓨터-구현 방법.
5. 조항 1 내지 조항 4에 있어서,
디바이스 관리 권한들을 갖고 제 2 관리 계정을 생성하기 위해 상기 하드웨어 보안 모듈의 제 1 관리 계정을 사용하는 단계;
상기 고객이 크리덴셜을 변경할 수 있게 하기 위해 상기 제 2 관리 계정을 위한 상기 크리덴셜을 제공하며, 그에 의해 상기 컴퓨팅 리소스 제공자로부터 상기 제 2 계정에 대한 액세스를 취소하는 단계를 더 포함하는, 컴퓨터-구현 방법.
6. 조항 1 내지 조항 5에 있어서,
상기 고객 네트워크에서, 상기 고객에 할당된 제 2 선택된 하드웨어 보안 모듈과 통신하는 제 2 네트워크로의 제 2 네트워크 인터페이스를 생성하는 단계; 및
상기 제 2 네트워크 인터페이스로 어드레싱된 상기 고객 네트워크를 통한 요청들이 상기 제 2 선택된 하드웨어 모안 모듈에 제공되도록 상기 제 2 네트워크 인터페이스 및 다른 네트워크를 구성하는 단계를 더 포함하는, 컴퓨터-구현 방법.
7. 컴퓨터-구현 방법에 있어서,
실행 가능한 지시들을 갖고 구성된 하나 이상의 컴퓨터 시스템들의 제어 하에서,
엔티티로부터, 디바이스를 네트워크에 부가하기 위한 요청을 수신하는 단계;
상기 요청을 이행하기 위해 사용 가능한 이용 가능한 디바이스들의 세트로부터, 디바이스를 선택하는 단계;
엔티티에 의한 배타적 사용에 상기 선택된 디바이스를 할당하는 단계; 및
상기 네트워크가 상기 네트워크 인터페이스 및 상기 디바이스를 연결하는 또 다른 네트워크로의 네트워크 인터페이스를 포함하도록 및 상기 네트워크 인터페이스로 어드레싱된 네트워크 트래픽이 상기 다른 네트워크를 통해 상기 선택된 디바이스로 포워딩되도록 컴퓨팅 리소스들의 세트를 재구성하는 단계를 포함하는, 컴퓨터-구현 방법.
8. 조항 7에 있어서, 상기 디바이스는 하드웨어 보안 모듈인, 컴퓨터-구현 방법.
9. 조항 7 또는 조항 8에 있어서,
상기 엔티티는 컴퓨팅 리소스 제공자의 고객을 더 포함하며;
상기 네트워크는 상기 컴퓨팅 리소스 제공자에 의해 호스팅되며 상기 고객에 의해 관리되는, 컴퓨터-구현 방법.
10. 조항 7 내지 조항 9에 있어서, 상기 네트워크는 상기 엔티티에 의해 정의된 네트워크 어드레스들을 갖는 디바이스들을 더 포함하는, 컴퓨터-구현 방법.
11. 조항 7 내지 조항 10에 있어서,
상기 네트워크는 상기 엔티티와 상이한 조직에 의해 호스팅되며;
상기 네트워크 인터페이스는 상기 엔티티의 사설 네트워크 어드레스인 네트워크 어드레스를 더 포함하는, 컴퓨터-구현 방법.
12. 조항 7 내지 조항 11에 있어서, 상기 요청은 상기 요청을 이행하기 위한 파라미터들을 갖는 것에 대한 애플리케이션 프로그래밍 인터페이스 호출을 더 포함하는, 컴퓨터-구현 방법.
13. 시스템에 있어서,
네트워크를 구현하는 컴퓨팅 리소스들의 세트;
요청들을 수신하도록 구성된 웹 서버;
관리 서브시스템으로서:
대응하는 세트의 네트워크 어드레스들을 가진 네트워크로 보안 모듈을 부가하기 위한 요청을 상기 웹 서버로부터 수신하며;
상기 요청을 수신한 결과로서, 상기 네트워크에서의 하나 이상의 디바이스들이 상기 세트의 네트워크 어드레스들로부터의 네트워크 어드레스를 가진 상기 보안 모듈로 통신들을 어드레싱함으로써 상기 보안 모듈과 통신할 수 있도록 적어도 상기 컴퓨팅 리소스들의 세트의 서브세트를 구성하도록 구성된, 상기 관리 서브시스템을 포함하는, 시스템.
14. 조항 13에 있어서, 상기 컴퓨팅 리소스들의 세트의 서브세트를 구성하는 것은:
네트워크 인터페이스가 상기 네트워크 어드레스를 더 포함하도록 상기 네트워크에 상기 네트워크 인터페이스를 부가하는 것을 포함하며,
상기 컴퓨팅 리소스들의 세트에 의해 구현된 또 다른 네트워크를 통해 상기 네트워크 인터페이스를 상기 보안 모듈에 연결하는 것을 더 포함하는, 시스템.
15. 조항 13 또는 조항 14에 있어서, 상기 네트워크 및 상기 다른 네트워크는 가상 근거리 네트워크들을 더 포함하는, 시스템.
16. 조항 13 내지 조항 15에 있어서, 상기 보안 모듈은 하드웨어 보안 모듈을 더 포함하는, 시스템.
17. 조항 13 내지 조항 16에 있어서,
상기 컴퓨팅 리소스들의 세트는 컴퓨팅 리소스 제공자에 의해 호스팅되며;
상기 요청은 상기 컴퓨팅 리소스 제공자의 고객으로부터의 웹 서비스 호출을 더 포함하는, 시스템.
18. 조항 13 내지 조항 17에 있어서,
상기 컴퓨팅 리소스들의 세트는 컴퓨팅 리소스 제공자에 의해 호스팅되고;
상기 컴퓨팅 리소스들의 세트를 구성한 후의 시간에서, 상기 보안 모듈은 상기 컴퓨팅 리소스 제공자에 액세스 가능하지 않은 방식으로, 상기 컴퓨팅 리소스 제공자의 고객에 대한 암호 정보를 저장하는, 시스템.
19. 컴퓨터 시스템의 하나 이상의 프로세서들에 의해 실행될 때, 지시들을 총괄하여 저장한 하나 이상의 컴퓨터-판독 가능한 저장 미디어에 있어서,
상기 지시들은 상기 컴퓨터 시스템으로 하여금:
네트워크에 보안 모듈을 부가하기 위한 요청을 수신하게 하는 것으로서, 상기 네트워크는 제 3 자 엔티티 대신에 호스팅되며 대응하는 세트의 네트워크 어드레스들을 갖는, 상기 수신하게 하기;
상기 요청을 수신한 결과로서, 상기 보안 모듈로의 상기 통신들이 상기 대응하는 세트의 네트워크 어드레스들로부터의 네트워크 어드레스를 사용하여 어드레싱 가능하도록 컴퓨팅 리소스들의 세트의 컴퓨팅 리소스들의 재구성을 야기하게 하는, 하나 이상의 컴퓨터-판독 가능한 저장 미디어.
20. 조항 19에 있어서, 상기 컴퓨팅 리소스들의 재구성을 야기하게 하는 것은 상기 보안 모듈에 상기 네트워크를 연결하는 네트워크로의 네트워크 인터페이스가 상기 네트워크의 부분이 되게 하는 것을 더 포함하는, 하나 이상의 컴퓨터-판독 가능한 저장 미디어.
21. 조항 19 또는 조항 20에 있어서, 상기 보안 모듈은 하드웨어 보안 모듈을 더 포함하는, 하나 이상의 컴퓨터-판독 가능한 저장 미디어.
22. 조항 19 내지 조항 21에 있어서, 상기 컴퓨팅 리소스들의 재구성을 야기하게 하는 것은 상기 제 3 자 엔티티에 의한 배타적 사용으로의 상기 보안 모듈의 할당을 야기하게 하는 것을 더 포함하는, 하나 이상의 컴퓨터-판독 가능한 저장 미디어.
23. 조항 19 내지 조항 22에 있어서,
상기 보안 모듈은 상기 네트워크 어드레스들의 세트의 밖에 있는 네트워크 어드레스를 더 포함하며;
상기 컴퓨팅 리소스들의 재구성을 야기하게 하는 것은 상기 네트워크 및 상기 보안 모듈 사이에서의 통신들을 가능하게 하도록 네트워크 어드레스들을 변환하는 네트워크 어드레스 변환 디바이스에 상기 네트워크를 연결하는 것을 더 포함하는, 하나 이상의 컴퓨터-판독 가능한 저장 미디어.
24. 조항 19 내지 조항 23에 있어서, 상기 대응하는 세트의 네트워크 어드레스들은 사설 인터넷 프로토콜 어드레스들을 더 포함하는, 하나 이상의 컴퓨터-판독 가능한 저장 미디어.
도 8은 다양한 실시예들에 따른 양상들을 구현하기 위한 예시적인 환경(800)의 양상들을 예시한다. 이해될 바와 같이, 웹-기반 환경이 설명의 목적들을 위해 사용되지만, 상이한 환경들이 다양한 실시예들을 구현하기 위해, 적절하게 사용될 수 있다. 환경은 전자 클라이언트 디바이스(802)를 포함하며, 이것은 적절한 네트워크(804)를 통해 요청들, 메시지들 또는 정보를 전송 및 수신하고 정보를 디바이스의 사용자로 다시 전달하도록 동작 가능한 임의의 적절한 디바이스를 포함할 수 있다. 이러한 클라이언트 디바이스들의 예들은 개인용 컴퓨터들, 셀 전화들, 핸드헬드 메시징 디바이스들, 랩탑 컴퓨터들, 태블릿 컴퓨터들, 셋-탑 박스들, 개인용 데이터 보조기들, 내장된 컴퓨터 시스템들, 전자 책 판독기들 등을 포함한다. 네트워크는 인트라넷, 인터넷, 셀룰러 네트워크, 근거리 네트워크 또는 임의의 이러한 네트워크 또는 그것의 조합을 포함하여, 임의의 적절한 네트워크를 포함할 수 있다. 이러한 시스템을 위해 사용된 구성요소들은 네트워크의 유형 및/또는 선택된 환경에 적어도 부분적으로 의존할 수 있다. 이러한 네트워크를 통해 통신하기 위한 프로토콜들 및 구성요소들은 잘 알려져 있으며 여기에서 상세히 논의되지 않을 것이다. 네트워크를 통한 통신은 유선 또는 무선 연결들 및 그것의 조합들에 의해 가능해질 수 있다. 이 예에서, 네트워크는, 다른 네트워크들을 위해, 유사한 목적을 서비스하는 대안적인 디바이스가 이 기술분야의 숙련자에게 명백할 바와 같이 사용될 수 있지만, 환경이 요청들을 수신하며 그것에 응답하여 콘텐트를 서비스하기 위한 웹 서버(806)를 포함하므로, 인터넷을 포함한다.
예시된 환경은 적어도 하나의 애플리케이션 서버(808) 및 데이터 저장소(810)를 포함한다. 적절한 데이터 저장소로부터 데이터를 획득하는 것과 같은 태스크들을 수행하기 위해 상호 작용할 수 있는, 여러 개의 애플리케이션 서버들, 층들, 또는 연쇄되거나 또는 그 외 구성될 수 있는, 다른 요소들, 프로세스들 또는 구성요소들이 있을 수 있다는 것이 이해되어야 한다. 여기에 사용된 바와 같이, 서버들은 하드웨어 디바이스들 또는 가상 컴퓨터 시스템들과 같은, 다양한 방식들로 구현될 수 있다. 몇몇 콘텍스트들에서, 서버들은 컴퓨터 시스템상에서 실행되는 프로그래밍 모듈을 나타낼 수 있다. 여기에 사용된 바와 같이, 용어("데이터 저장소")는 임의의 표준, 분산 또는 클러스터링 환경에서, 임의의 조합 및 수의 데이터 서버들, 데이터베이스들, 데이터 저장 디바이스들 및 데이터 저장 미디어를 포함할 수 있는, 데이터를 저장하고, 액세스하며 검색할 수 있는 임의의 디바이스 또는 디바이스들의 조합을 나타낸다. 애플리케이션 서버는, 애플리케이션을 위한 데이터 액세스 및 비즈니스 로직의 일부(심지어 대다수)를 핸들링하는, 클라이언트 디바이스에 대한 하나 이상의 애플리케이션들의 양상들을 실행하기 위해 요구된 대로 데이터 저장소와 통합하기 위한 임의의 적절한 하드웨어 및 소프트웨어를 포함할 수 있다. 애플리케이션 서버는 데이터 저장소와 협력하여 액세스 제어 서비스들을 제공할 수 있으며, 이 예에서 하이퍼텍스트 마크업 언어("HTML"), 확장 가능한 마크업 언어("XML") 또는 또 다른 적절한 구조화 언어의 형태로 웹 서버에 의해 사용자에게 서비스될 수 있는, 사용자에게 전송될 텍스트, 그래픽들, 오디오 및/또는 비디오와 같은 콘텐트를 생성할 수 있다. 모든 요청들 및 응답들의 핸들링, 뿐만 아니라 클라이언트 디바이스(802) 및 애플리케이션 서버(808) 사이에서의 콘텐트의 전달은 웹 서버에 의해 핸들링될 수 있다. 여기에 논의된 구조화 코드가 여기에서의 다른 곳에 논의된 바와 같이 임의의 적절한 디바이스 또는 호스트 기계 상에서 실행될 수 있기 때문에, 웹 및 애플리케이션 서버들은 요구되지 않으며 단지 예시적인 구성요소들임이 이해되어야 한다. 뿐만 아니라, 단일 디바이스에 의해 수행되는 것으로서 여기에 설명된 동작들은, 문맥으로부터 달리 명확하지 않다면, 분산 시스템을 형성할 수 있는, 다수의 디바이스들에 의해 총괄하여 수행될 수 있다.
데이터 저장소(810)는 본 개시의 특정한 양상에 관한 데이터를 저장하기 위한 여러 개의 별개의 데이터 테이블들, 데이터베이스들 또는 다른 데이터 저장 메커니즘들 및 미디어를 포함할 수 있다. 예를 들면, 예시된 데이터 저장소는 제작 데이터(812) 및 사용자 정보(816)를 저장하기 위한 메커니즘들을 포함할 수 있으며, 이것은 제작 측을 위한 콘텐트를 서비스하기 위해 사용될 수 있다. 데이터 저장소는 또한 로그 데이터(814)를 저장하기 위한 메커니즘을 포함하는 것으로 도시되며, 이것은 보고, 분석, 또는 다른 이러한 목적들을 위해 사용될 수 있다. 페이지 이미지 정보에 대해서 및 권한 정보를 액세스하기 위해서와 같은, 데이터 저장소에 저장될 필요가 있을 수 있는 많은 다른 양상들이 있을 수 있으며, 이것은 적절하게 상기 열거된 메커니즘들 중 임의의 것에 또는 데이터 저장소(810)에서의 부가적인 메커니즘들에 저장될 수 있다는 것이 이해되어야 한다. 데이터 저장소(810)는 그것과 연관된 로직을 통해, 애플리케이션 서버(808)로부터 지시들을 수신하며 그것에 응답하여 데이터를 획득하고, 업데이트하거나 또는 그 외 프로세싱하도록 동작 가능하다. 일 예에서, 사용자는, 사용자에 의해 동작된 디바이스를 통해, 특정한 유형의 아이템에 대한 탐색 요청을 제출할 수 있다. 이 경우에, 데이터 저장소는 사용자의 아이덴티티를 검증하기 위해 사용자 정보를 액세스할 수 있으며 상기 유형의 아이템들에 대한 정보를 획득하기 위해 카탈로그 상세 정보를 액세스할 수 있다. 정보는 그 후 사용자가 사용자 디바이스(802) 상에서 브라우저를 통해 볼 수 있는 웹 페이지 상에 나열한 결과들에서와 같이, 사용자에게 리턴될 수 있다. 관심 있는 특정 아이템에 대한 정보는 브라우저의 전용 페이지 또는 윈도우에서 보여질 수 있다. 그러나, 본 개시의 실시예들은 반드시 웹 페이지들의 콘텍스트에 제한되는 것은 아니며, 보다 일반적으로 프로세싱 요청들에 일반적으로 적용 가능할 수 있으며, 여기에서 요청들은 반드시 콘텐트에 대한 요청들인 것은 아님이 주의되어야 한다.
각각의 서버는 통상적으로 상기 서버의 일반적인 관리 및 동작을 위한 실행 가능한 프로그램 지시들을 제공하는 운영 시스템을 포함할 것이며 통상적으로 서버의 프로세서에 의해 실행될 때, 서버가 그것의 의도된 기능들을 수행하도록 허용하는 지시들을 저장한 컴퓨터-판독 가능한 저장 매체(예로서, 하드 디스크, 랜덤 액세스 메모리, 판독 전용 메모리 등)를 포함할 것이다. 운영 시스템에 대한 적절한 구현들 및 서버들의 일반적인 기능이 알려져 있거나 또는 상업적으로 이용 가능하며 특히 여기에서의 개시를 고려하여, 이 기술분야의 숙련자들에 의해 쉽게 구현된다.
일 실시예에서 환경은 하나 이상의 컴퓨터 네트워크들 또는 직접 연결들을 사용하여, 통신 링크들을 통해 상호 연결되는 여러 개의 컴퓨터 시스템들 및 구성요소들을 이용하는 분산 컴퓨팅 환경이다. 그러나, 이러한 시스템은 도 8에 예시된 것보다 적거나 또는 많은 수의 구성요소들을 가진 시스템에서 동일하게 잘 동작할 수 있다는 것이 이 기술분야의 숙련자들에 의해 이해될 것이다. 따라서, 도 8에서의 시스템(800)의 묘사는 개시의 범위를 제한하는 것이 아니라 사실상 예시적인 것으로 취해져야 한다.
다양한 실시예들이 또한, 몇몇 경우들에서 다수의 애플리케이션들 중 임의의 것을 동작시키기 위해 사용될 수 있는 하나 이상의 사용자 컴퓨터들, 컴퓨팅 디바이스들 또는 프로세싱 디바이스들을 포함할 수 있는, 매우 다양한 동작 환경들에서 구현될 수 있다. 사용자 또는 클라이언트 디바이스들은, 표준 운영 시스템을 실행하는 데스크탑, 랩탑, 또는 태블릿 컴퓨터들, 뿐만 아니라 모바일 소프트웨어를 실행하며 다수의 네트워킹 및 메시징 프로토콜들을 지원할 수 있는 셀룰러, 무선 및 핸드헬드 디바이스들과 같은, 다수의 범용 개인용 컴퓨터들 중 임의의 것을 포함할 수 있다. 이러한 시스템은 또한 다양한 상업적으로-이용 가능한 운영 시스템들 및 개발 및 데이터베이스 관리와 같은 목적들을 위한 다른 알려진 애플리케이션들 중 임의의 것을 실행하는 다수의 워크스테이션들을 포함할 수 있다. 이들 디바이스들은 또한 더미 단말기들, 씬-클라이언트들, 게이밍 시스템들 및 네트워크를 통해 통신할 수 있는 다른 디바이스들과 같은, 다른 전자 디바이스들을 포함할 수 있다.
본 개시의 다양한 실시예들은 송신 제어 프로토콜/인터넷 프로토콜("TCP/IP"), 개방 시스템 상호 연결("OSI") 모델의 다양한 층들에서 동작하는 프로토콜들, 파일 전송 프로토콜("FTP"), 범용 플러그 앤 플레이("UpnP"), 네트워크 파일 시스템("NFS"), 공통 인터넷 파일 시스템("CIFS") 및 애플토크와 같은, 다양한 상업적으로-이용 가능한 프로토콜들을 사용하여 통신들을 지원하기 위해 이 기술분야의 숙련자들에게 잘 알려질 적어도 하나의 네트워크를 이용한다. 네트워크는, 예를 들면, 근거리 네트워크, 광역 네트워크, 가상 사설 네트워크, 인터넷, 인트라넷, 엑스트라넷, 공중 스위칭 전화 네트워크, 적외선 네트워크, 무선 네트워크 및 그것의 임의의 조합일 수 있다.
웹 서버를 이용하는 실시예들에서, 웹 서버는, 하이퍼텍스트 전송 프로토콜("HTTP") 서버들, FTP 서버들, 공통 게이트웨이 인터페이스("CGI") 서버들, 데이터 서버들, 자바 서버들 및 비즈니스 애플리케이션 서버들을 포함하여, 다양한 서버 또는 미드-티어 애플리케이션들 중 임의의 것을 실행할 수 있다. 서버(들)는 또한 자바®, C, C# 또는 C++와 같은 임의의 프로그래밍 언어, 또는 Perl, Python 또는 TCL과 같은, 임의의 스크립팅 언어, 뿐만 아니라 그것의 조합들로 기록된 하나 이상의 스크립트들 또는 프로그램들로서 구현될 수 있는 하나 이상의 웹 애플리케이션들을 실행하는 것에 의해서와 같은, 사용자 디바이스들로부터의 요청들에 응답하여 프로그램들 또는 스크립트들을 실행할 수 있을 것이다. 서버(들)는 또한 오라클®, 마이크로소프트®, 사이베이스® 및 IBM®으로부터 상업적으로 이용 가능한 것들을 제한 없이 포함하는, 데이터베이스 서버들을 포함할 수 있다.
환경은 상기 논의된 바와 같이 다양한 데이터 저장소들 및 다른 메모리 및 저장 미디어를 포함할 수 있다. 이것들은 컴퓨터들 중 하나 이상에 국소적(및/또는 그것에 존재하는)이거나 또는 네트워크에 걸쳐 컴퓨터들 중 임의의 것 또는 모두로부터 원격인 저장 매체상에서와 같은, 다양한 위치들에 존재할 수 있다. 특정한 세트의 실시예들에서, 정보는 이 기술분야의 숙련자들에게 잘 알려진 저장-영역 네트워크("SAN")에 존재할 수 있다. 유사하게, 컴퓨터들, 서버들 또는 다른 네트워크 디바이스들에 기인한 기능들을 수행하기 위한 임의의 필요한 파일들이 적절하게, 국소적으로 및/또는 원격에 저장될 수 있다. 시스템이 컴퓨터화된 디바이스들을 포함하는 경우에, 각각의 이러한 디바이스는 버스를 통해 전기적으로 결합될 수 있는 하드웨어 요소들을 포함할 수 있으며, 상기 요소들은 예를 들면, 적어도 하나의 중앙 프로세싱 유닛("CPU" 또는 "프로세서"), 적어도 하나의 입력 디바이스(예로서, 마우스, 키보드, 제어기, 터치 스크린 또는 키패드) 및 적어도 하나의 출력 디바이스(예로서, 디스플레이 디바이스, 프린터 또는 스피커)를 포함한다. 이러한 시스템은 또한 디스크 드라이브들, 광학 저장 디바이스들 및 랜덤 액세스 메모리("RAM") 또는 판독-전용 메모리("ROM")와 같은 고체-상태 저장 디바이스들, 뿐만 아니라 착탈 가능한 미디어 디바이스들, 메모리 카드들, 플래시 카드들 등과 같은, 하나 이상의 저장 디바이스들을 포함할 수 있다.
이러한 디바이스들은 또한 컴퓨터-판독 가능한 저장 미디어 판독기, 통신 디바이스(예로서, 모뎀, 네트워크 카드(무선 또는 유선), 적외선 통신 디바이스 등) 및 상기 설명된 바와 같은 작동 메모리를 포함할 수 있다. 컴퓨터-판독 가능한 저장 미디어 판독기는 컴퓨터-판독 가능한 정보를 일시적으로 및/또는 보다 영구적으로 포함하고, 저장하고, 송신하며 검색하기 위한 저장 미디어뿐만 아니라 원격, 국소적, 고정된 및/또는 착탈 가능한 저장 디바이스들을 표현한, 컴퓨터 판독 가능한 저장 매체와 연결되거나 또는 그것을 수용하도록 구성될 수 있다. 시스템 및 다양한 디바이스들은 또한 통상적으로 클라이언트 애플리케이션 또는 웹 브라우저와 같은, 운영 시스템 및 애플리케이션 프로그램들을 포함하여, 적어도 하나의 작동 메모리 디바이스 내에 위치된 다수의 소프트웨어 애플리케이션들, 모듈들, 서비스들 또는 다른 요소들을 포함할 것이다. 대안적인 실시예들이 상기 설명된 것으로부터 다수의 변형들을 가질 수 있다는 것이 이해되어야 한다. 예를 들면, 맞춤화된 하드웨어가 또한 사용될 수 있으며 및/또는 특정한 요소들이 하드웨어, 소프트웨어(애플릿들과 같은, 휴대용 소프트웨어를 포함하여), 또는 양쪽 모두에서 구현될 수 있다. 뿐만 아니라, 네트워크 입력/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들로의 연결이 이용될 수 있다.
코드, 또는 코드의 부분들을 포함하기 위한 저장 미디어 및 컴퓨터 판독 가능한 미디어는, RAM, ROM, 전기적으로 소거 가능한 프로그램 가능한 판독-전용 메모리("EEPROM"), 플래시 메모리 또는 다른 메모리 기술, 콤팩트 디스크 판독-전용 메모리("CD-ROM"), 디지털 다목적 디스크(DVD) 또는 다른 광학 저장 장치, 자기 카세트들, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 디바이스들 또는 원하는 정보를 저장하기 위해 사용될 수 있으며 시스템 디바이스에 의해 액세스될 수 있는 임의의 다른 매체를 포함하여, 이에 제한되지 않지만, 컴퓨터 판독 가능한 지시들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터와 같은 정보의 저장 및/또는 송신을 위한 임의의 방법 또는 기술에서 구현된 휘발성 및 비-휘발성, 착탈 가능한 및 비-착탈 가능한 미디어와 같은, 저장 미디어 및 통신 미디어를 포함하여, 이 기술분야에 알려지거나 또는 사용된 임의의 적절한 미디어를 포함할 수 있다. 여기에 제공된 개시 및 교시들에 기초하여, 이 기술분야의 숙련자는 다양한 실시예들을 구현하기 위해 다른 방식들 및/또는 방법들을 이해할 것이다.
명세서 및 도면들은, 그에 따라 제한적인 의미보다는 예시적인 것으로 간주된다. 그러나, 다양한 수정들 및 변화들이 청구항들에 제시된 바와 같이 본 발명의 보다 넓은 사상 및 범위로부터 벗어나지 않고 그것에 대해 이루어질 수 있다는 것이 명백할 것이다.
다른 변형들이 본 개시의 사상 내에 있다. 따라서, 개시된 기술들은 다양한 수정들 및 대안적인 구성들에 영향을 받기 쉽지만, 그것의 특정한 예시된 실시예들이 도면들에 도시되며 위에서 상세히 설명되었다. 그러나, 개시된 특정 형태 또는 형태들에 본 발명을 제한하기 위한 의도는 없으며, 그와는 반대로, 의도는 첨부된 청구항들에서 정의된 바와 같이, 본 발명의 사상 및 범위 내에 있는 모든 수정들, 대안적인 구성들 및 등가물들을 커버하는 것임이 이해되어야 한다.
개시된 실시예들을 설명하는 콘텍스트에서(특히 다음의 청구항들의 콘텍스트에서) 용어("a" 및 "an" 및 "the") 및 유사한 지시 대상들은 만일 여기에서 달리 표시되거나 또는 콘텍스트에 의해 명확하게 반박되지 않는다면, 단수형 및 복수형 양쪽 모두를 커버하는 것으로 해석될 것이다. 용어들("포함하는", "갖는", "포함시키는" 및 "내포하는")은 달리 주지되지 않는다면 제약을 두지 않는 용어들(즉, 이에 제한되지 않지만, ~를 포함하는")로서 해석될 것이다. 용어("연결된")는, 수정되지 않으며 물리적 연결들을 나타낼 때, 중재하는 것이 있을지라도, 부분적으로 또는 전체적으로 ~ 내에 포함되며, ~에 부착되거나 또는 함께 결합되는 것으로서 해석될 것이다. 여기에서의 값들의 범위들에 대한 설명은 단지 여기에서 달리 표시되지 않는다면, 범위 내에 있는 각각의 별개의 값을 개별적으로 나타내는 약칭 방법으로서 작용하도록 의도되며 각각의 별개의 값은 그것이 개별적으로 여기에 설명된 것처럼 명세서에 통합된다. 용어("세트"(예로서, "아이템들의 세트") 또는 "서브세트")의 사용은 달리 주지되거나 또는 콘텍스트에 의해 반박되지 않는다면, 하나 이상의 멤버들을 포함한 비공 모음으로서 해석될 것이다. 뿐만 아니라, 달리 주지되거나 또는 콘텍스트에 의해 반박되지 않는다면, 용어(대응하는 세트의 "서브세트")는 대응하는 세트의 적절한 서브세트를 반드시 나타내는 것은 아니지만, 서브세트 및 대응하는 세트는 같을 수 있다.
여기에 설명된 프로세스들의 동작은 여기에서 달리 표시되거나 또는 달리 콘텍스트에 의해 명확하게 반박되지 않는다면 임의의 적절한 순서로 수행될 수 있다. 여기에 설명된 프로세스들(또는 그것의 변형들 및/또는 조합들)은 실행 가능한 지시들을 갖고 구성된 하나 이상의 컴퓨터 시스템들의 제어 하에서 수행될 수 있으며 총괄하여 하나 이상의 프로세서들 상에서 실행하는 코드(예로서, 실행 가능한 지시들, 하나 이상의 컴퓨터 프로그램들 또는 하나 이상의 애플리케이션들)로서, 하드웨어 또는 그것의 조합들에 의해 구현될 수 있다. 코드는 예를 들면, 하나 이상의 프로세서들에 의해 실행 가능한 복수의 지시들을 포함한 컴퓨터 프로그램의 형태로, 컴퓨터-판독 가능한 저장 매체상에 저장될 수 있다. 컴퓨터-판독 가능한 저장 매체는 비-일시적일 수 있다.
임의의 및 모든 예들, 또는 여기에 제공된 대표적인 언어(예로서, "~와 같은")의 사용은 단지 본 발명의 실시예들을 보다 양호하게 예시하도록 의도되며 달리 주장되지 않는다면 본 발명의 범위에 대한 제한을 두지 않는다. 명세서에서의 어떤 언어도 본 발명의 실시에 필수적인 것으로서 임의의 비-주장된 요소를 표시하는 것으로서 해석되지 않아야 한다.
본 발명을 실행하기 위해 발명자들에 알려진 최상의 모드를 포함하여, 본 개시의 바람직한 실시예들이 여기에 설명된다. 이들 바람직한 실시예들의 변형들은 앞서 말한 설명을 판독할 때 이 기술분야의 숙련자들에게 명백해질 것이다. 발명자들은 숙련공들이 이러한 변형들을 적절하게 이용할 것으로 예상하며 발명자들은 본 개시의 실시예들이 여기에 구체적으로 설명된 것과 달리 실시되도록 의도한다. 따라서, 본 개시의 범위는 적용 가능한 법칙에 의해 허용된 바와 같이 여기에 첨부된 청구항들에 설명된 주제의 모든 수정들 및 등가물들을 포함한다. 게다가, 그것의 모든 가능한 변형들에서 상기-설명된 요소들의 임의의 조합은 여기에서 달리 표시되거나 또는 콘텍스트에 의해 달리 명확하게 반박되지 않는다면 본 개시의 범위에 의해 포함된다.
여기에 인용된, 공보들, 특허 출원들 및 특허들을 포함한, 모든 참조 문헌들은 각각의 참조 문헌이 개별적으로 및 구체적으로 참조로서 통합되는 것으로 표시되며 여기에서 전체적으로 설명된 것처럼 동일한 정도로 참조로서 통합된다.

Claims (20)

  1. 컴퓨터 구현 방법에 있어서,
    제 1 네트워크 상에서, 컴퓨팅 리소스 서비스 제공자에 의해 관리되는 복수의 하드웨어 보안 모듈들로부터 하드웨어 보안 모듈에 대한 제 1 요청을 획득하는 단계;
    상기 제 1 요청에 포함된 파라미터들에 적어도 부분적으로 기초하여, 상기 컴퓨팅 리소스 서비스 제공자로 하여금 상기 복수의 하드웨어 보안 모듈들 중 상기 하드웨어 보안 모듈을 제 2 네트워크에 접속시키는 단계; 및
    상기 제 1 네트워크에서의 제 2 요청을 상기 제 2 네트워크의 상기 하드웨어 보안 모듈로 라우팅하는 단계를 포함하는, 컴퓨터 구현 방법.
  2. 제 1 항에 있어서,
    상기 제 1 네트워크는 상기 제 2 네트워크를 구현하는 상기 컴퓨팅 리소스 서비스 제공자의 고객과 연관된 사내 네트워크인, 컴퓨터 구현 방법.
  3. 제 1 항에 있어서,
    상기 제 2 네트워크는, 상기 하드웨어 보안 모듈의 식별 결과로서, 상기 하드웨어 보안 모듈과 연관시키기 위해 가상 네트워크를 구현하는, 컴퓨터 구현 방법.
  4. 제 3 항에 있어서,
    상기 제 1 네트워크 상의 디바이스에 의해, 암호 요청을 발생시키는 단계;
    상기 제 2 네트워크로 하여금, 상기 가상 네트워크를 통해, 상기 암호 요청을 상기 식별된 하드웨어 보안 모듈로 라우팅시키기 위해 상기 암호 요청을 제출하는 단계; 및
    상기 암호 요청의 결과를 상기 디바이스에 라우팅하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  5. 제 1 항에 있어서,
    상기 요청에 포함된 정보는 상기 하드웨어 보안 모듈과 연관된 크리덴셜(credential)을 포함하는, 컴퓨터 구현 방법.
  6. 제 1 항에 있어서,
    상기 제 1 네트워크의 로컬 디바이스(local device)로서 상기 제 1 네트워크 상에 상기 하드웨어 보안 모듈을 제시하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  7. 시스템에 있어서,
    상기 시스템의 하나 이상의 프로세서들에 의해 실행되면, 상기 시스템으로 하여금,
    네트워크의 외부에서, 컴퓨팅 리소스 서비스 제공자에 의해 관리되는 복수의 하드웨어 보안 모듈들로부터 하드웨어 보안 모듈을 위한 제 1 요청을 획득하고;
    상기 제 1 요청에 포함된 파라미터들에 적어도 부분적으로 기초하여, 상기 복수의 하드웨어 보안 모듈들 중 상기 하드웨어 보안 모듈이 상기 네트워크의 내부에 부가되게 하고;
    제 2 요청을 상기 하드웨어 보안 모듈로 라우팅하게 하는 지시들을 저장하는 메모리를 포함하는, 시스템.
  8. 제 7 항에 있어서,
    상기 지시들은, 실행되면, 또한 상기 시스템으로 하여금,
    선택된 하드웨어 보안 모듈과 연관시키기 위해 상기 네트워크의 내부에 가상 네트워크를 부가하게 하고,
    상기 가상 네트워크를 상기 네트워크의 외부에 있는 네트워크 인터페이스와 연관시키고,
    상기 네트워크 인터페이스를 통해 상기 선택된 하드웨어 보안 모듈에 암호 요청들을 라우팅하게 하는, 시스템.
  9. 제 7 항에 있어서,
    상기 요청은 상기 네트워크의 내부를 통해 제공된 애플리케이션 프로그래밍 인터페이스(application programming interface; API)에 대한 애플리케이션 프로그래밍 인터페이스 호출인, 시스템.
  10. 제 7 항에 있어서,
    상기 하드웨어 보안 모듈은 상기 네트워크의 내부에 있는 복수의 하드웨어 보안 모듈들로부터 선택되는, 시스템.
  11. 제 7 항에 있어서,
    상기 제 2 요청은 상기 네트워크의 외부에 있는 상기 보안 모듈에 의해 수행될 암호 동작과 연관되는, 시스템.
  12. 제 7 항에 있어서,
    상기 하드웨어 보안 모듈은, 상기 네트워크의 내부에 있는 임의의 다른 디바이스에 액세스 가능하지 않은 방식으로, 상기 네트워크의 외부에 있는 디바이스 대신에 암호 정보를 저장하는, 시스템.
  13. 지시들이 집합적으로 저장된 하나 이상의 컴퓨터 판독 가능 저장 매체에 있어서,
    상기 지시들은, 컴퓨터 시스템의 하나 이상의 프로세서들에 의해 실행되면, 상기 컴퓨터 시스템으로 하여금, 제 1 네트워크 상에서, 컴퓨팅 리소스 서비스 제공자에 의해 관리되는 복수의 하드웨어 보안 모듈들로부터 하드웨어 보안 모듈에 대한 제 1 요청을 획득하게 하고;
    상기 제 1 요청에 포함된 파라미터들에 적어도 부분적으로 기초하여, 상기 컴퓨팅 리소스 서비스 제공자로 하여금 제 2 네트워크에 접속하기 위해 상기 복수의 하드웨어 보안 모듈들 중 상기 하드웨어 보안 모듈을 식별하게 하고;
    상기 제 1 네트워크에서의 제 2 요청을 상기 제 2 네트워크의 상기 하드웨어 보안 모듈로 라우팅시키는, 하나 이상의 컴퓨터 판독 가능 저장 매체.
  14. 제 13 항에 있어서,
    상기 지시들은, 실행되면, 또한 상기 컴퓨터 시스템으로 하여금, 상기 제 1 네트워크를 상기 하드웨어 보안 모듈에 연결할 수 있게 하는 네트워크 인터페이스를 발생시키는, 하나 이상의 컴퓨터 판독 가능 저장 매체.
  15. 제 13 항에 있어서,
    상기 제 1 네트워크는 상기 제 2 네트워크로부터 떨어져 있는 물리적 네트워크인, 하나 이상의 컴퓨터 판독 가능 저장 매체.
  16. 제 13 항에 있어서,
    상기 제 2 네트워크는 상기 제 1 네트워크에 의한 배타적 사용을 위해 상기 하드웨어 보안 모듈을 식별하는, 하나 이상의 컴퓨터 판독 가능 저장 매체.
  17. 제 13 항에 있어서,
    상기 제 2 네트워크는 컴퓨팅 리소스 제공자에 의해 호스팅되고 상기 제 1 네트워크와 연관된 디바이스에 의해 관리되는, 하나 이상의 컴퓨터 판독 가능 저장 매체.
  18. 제 17 항에 있어서,
    상기 제 2 네트워크는 상기 디바이스에 의해 지정된 네트워크 어드레스를 포함하는, 하나 이상의 컴퓨터 판독 가능 저장 매체.
  19. 제 13 항에 있어서,
    상기 제 2 요청은 상기 제 1 네트워크 상의 제 1 네트워크 어드레스와 상기 하드웨어 보안 모듈의 제 2 네트워크 어드레스 사이에서 네트워크 어드레스 변환을 통해 상기 하드웨어 보안 모듈에 라우팅되는, 하나 이상의 컴퓨터 판독 가능 저장 매체.
  20. 제 13 항에 있어서,
    상기 제 1 요청은 상기 제 2 네트워크를 구현하는 컴퓨팅 리소스 서비스 제공자의 인터페이스에 대한 웹 서비스 호출인, 하나 이상의 컴퓨터 판독 가능 저장 매체.
KR1020187021259A 2013-03-14 2014-03-12 서비스로서 디바이스들을 제공하는 방법 KR102062026B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/830,114 US9426154B2 (en) 2013-03-14 2013-03-14 Providing devices as a service
US13/830,114 2013-03-14
PCT/US2014/024977 WO2014159750A1 (en) 2013-03-14 2014-03-12 Providing devices as a service

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020177014206A Division KR101883146B1 (ko) 2013-03-14 2014-03-12 서비스로서 디바이스들을 제공하는 방법

Publications (2)

Publication Number Publication Date
KR20180086523A KR20180086523A (ko) 2018-07-31
KR102062026B1 true KR102062026B1 (ko) 2020-01-03

Family

ID=51535024

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020187021259A KR102062026B1 (ko) 2013-03-14 2014-03-12 서비스로서 디바이스들을 제공하는 방법
KR1020157028886A KR101742474B1 (ko) 2013-03-14 2014-03-12 서비스로서 디바이스들을 제공하는 방법
KR1020177014206A KR101883146B1 (ko) 2013-03-14 2014-03-12 서비스로서 디바이스들을 제공하는 방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020157028886A KR101742474B1 (ko) 2013-03-14 2014-03-12 서비스로서 디바이스들을 제공하는 방법
KR1020177014206A KR101883146B1 (ko) 2013-03-14 2014-03-12 서비스로서 디바이스들을 제공하는 방법

Country Status (11)

Country Link
US (3) US9426154B2 (ko)
EP (2) EP3367276B1 (ko)
JP (3) JP6158415B2 (ko)
KR (3) KR102062026B1 (ko)
CN (2) CN105210327B (ko)
AU (2) AU2014244523B2 (ko)
BR (1) BR112015023300B1 (ko)
CA (2) CA2906530C (ko)
RU (2) RU2763314C2 (ko)
SG (2) SG10201710561RA (ko)
WO (1) WO2014159750A1 (ko)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9426154B2 (en) 2013-03-14 2016-08-23 Amazon Technologies, Inc. Providing devices as a service
US20150096057A1 (en) * 2013-09-30 2015-04-02 Sonic Ip, Inc. Device Robustness Framework
US9954828B1 (en) * 2014-03-24 2018-04-24 Trend Micro Incorporated Protection of data stored in the cloud
DE102014208853A1 (de) * 2014-05-12 2015-11-12 Robert Bosch Gmbh Verfahren zum Betreiben eines Steuergeräts
US20160149877A1 (en) * 2014-06-05 2016-05-26 Cavium, Inc. Systems and methods for cloud-based web service security management basedon hardware security module
TW201546649A (zh) * 2014-06-05 2015-12-16 Cavium Inc 用於基於硬體安全模組的基於雲端的web服務安全管理的系統和方法
US9571279B2 (en) * 2014-06-05 2017-02-14 Cavium, Inc. Systems and methods for secured backup of hardware security modules for cloud-based web services
US9344455B2 (en) * 2014-07-30 2016-05-17 Motorola Solutions, Inc. Apparatus and method for sharing a hardware security module interface in a collaborative network
EP3234852B1 (en) 2014-12-19 2020-01-15 Private Machines Inc. Systems and methods for using extended hardware security modules
US9609541B2 (en) 2014-12-31 2017-03-28 Motorola Solutions, Inc. Method and apparatus for device collaboration via a hybrid network
US11290486B1 (en) * 2015-12-28 2022-03-29 Amazon Technologies, Inc. Allocating defective computing resources for honeypot services
US10320841B1 (en) 2015-12-28 2019-06-11 Amazon Technologies, Inc. Fraud score heuristic for identifying fradulent requests or sets of requests
US10097581B1 (en) 2015-12-28 2018-10-09 Amazon Technologies, Inc. Honeypot computing services that include simulated computing resources
WO2017171932A1 (en) * 2016-03-28 2017-10-05 Oracle International Corporation Pre-formed instructions for a mobile cloud service
US10404452B2 (en) * 2016-08-19 2019-09-03 Amazon Technologies, Inc. Message service with distributed key caching for server-side encryption
US10305906B1 (en) * 2016-09-13 2019-05-28 Amazon Technologies, Inc. Access heartbeat for a hardware security module
US10798064B1 (en) 2016-11-09 2020-10-06 StratoKey Pty Ltd. Proxy computer system to provide encryption as a service
US10594721B1 (en) 2016-11-09 2020-03-17 StratoKey Pty Ltd. Proxy computer system to provide selective decryption
US10461943B1 (en) * 2016-11-14 2019-10-29 Amazon Technologies, Inc. Transparently scalable virtual hardware security module
US10447668B1 (en) * 2016-11-14 2019-10-15 Amazon Technologies, Inc. Virtual cryptographic module with load balancer and cryptographic module fleet
EP3333750A1 (en) * 2016-12-06 2018-06-13 Safenet Canada Inc. Method to create a trusted pool of devices
CN106790145B (zh) * 2016-12-28 2019-02-12 优刻得科技股份有限公司 一种云端数据托管系统及云端数据托管方法
US10243731B2 (en) 2017-01-27 2019-03-26 Accenture Global Solutions Limited Hardware blockchain acceleration
US11321493B2 (en) 2017-05-31 2022-05-03 Crypto4A Technologies Inc. Hardware security module, and trusted hardware network interconnection device and resources
WO2018236420A1 (en) * 2017-06-20 2018-12-27 Google Llc CLOUD EQUIPMENT SECURITY MODULES FOR CRYPTOGRAPHIC EXTERNALIZATION OPERATIONS
US11012441B2 (en) * 2017-06-30 2021-05-18 Open Text Corporation Hybrid authentication systems and methods
US10685126B2 (en) 2018-01-22 2020-06-16 International Business Machines Corporation Operating a secure storage device with a non-volatile memory
US10909250B2 (en) * 2018-05-02 2021-02-02 Amazon Technologies, Inc. Key management and hardware security integration
CN108989110A (zh) * 2018-07-20 2018-12-11 浪潮电子信息产业股份有限公司 一种vpc网络模型的构建方法及其相关设备
US11222117B2 (en) 2018-09-27 2022-01-11 International Business Machines Corporation HSM self-destruction in a hybrid cloud KMS solution
EP3648430B1 (de) * 2018-11-05 2021-06-02 Wincor Nixdorf International GmbH Hardware-sicherheitsmodul
US10691356B2 (en) 2018-11-26 2020-06-23 International Business Machines Corporation Operating a secure storage device
US11128459B2 (en) * 2018-11-28 2021-09-21 Its, Inc. Mitigating service disruptions in key maintenance
US10936751B1 (en) 2018-12-14 2021-03-02 StratoKey Pty Ltd. Selective anonymization of data maintained by third-party network services
JP7188046B2 (ja) * 2018-12-14 2022-12-13 富士フイルムビジネスイノベーション株式会社 通信システム、通信装置、通信システムプログラム及び通信プログラム
US10812619B2 (en) * 2019-02-19 2020-10-20 Ingram Micro Inc. System and method for bulk user service assignment using CSV
CN110417726B (zh) 2019-05-27 2021-08-24 腾讯科技(深圳)有限公司 一种密钥管理方法及相关设备
US11301845B2 (en) * 2019-08-19 2022-04-12 Anchor Labs, Inc. Cryptoasset custodial system with proof-of-stake blockchain support
US11363021B1 (en) * 2019-09-30 2022-06-14 Amazon Technologies, Inc. Proxy service for two-factor authentication
US11416874B1 (en) 2019-12-26 2022-08-16 StratoKey Pty Ltd. Compliance management system
US11741409B1 (en) 2019-12-26 2023-08-29 StratoKey Pty Ltd. Compliance management system
CN112231336B (zh) * 2020-07-17 2023-07-25 北京百度网讯科技有限公司 识别用户的方法、装置、存储介质及电子设备
CN111800519A (zh) * 2020-09-07 2020-10-20 国网汇通金财(北京)信息科技有限公司 一种通讯系统、方法及装置
RU2744940C1 (ru) * 2020-10-21 2021-03-17 Константин Евгеньевич Самуйлов Способ распределения виртуальных ресурсов оператора связи
US11893550B2 (en) 2021-06-02 2024-02-06 Thales Dis Cpl Usa, Inc. System and method for hosting and remotely provisioning a payment HSM by way of out-of-band management
US11388248B1 (en) 2021-08-18 2022-07-12 StratoKey Pty Ltd. Dynamic domain discovery and proxy configuration
US20230091686A1 (en) * 2021-09-21 2023-03-23 International Business Machines Corporation Digital asset platform with hsm verification

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050036611A1 (en) * 2003-03-31 2005-02-17 Visa U.S.A., Inc. Method and system for secure authentication

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012100A (en) 1997-07-14 2000-01-04 Freegate Corporation System and method of configuring a remotely managed secure network interface
WO2000078004A2 (en) 1999-06-10 2000-12-21 Alcatel Internetworking, Inc. Policy based network architecture
EP1242938A1 (en) * 1999-09-10 2002-09-25 Jackson Brandenburg System and method for facilitating access by sellers to certificate-related and other services
TW552786B (en) 2001-04-30 2003-09-11 Activcard Method and system for remote activation and management of personal security devices
ATE347154T1 (de) 2001-07-16 2006-12-15 Francotyp Postalia Gmbh Sicherheitsmodul für ein kontenverwaltungssystem
US7124183B2 (en) 2001-09-26 2006-10-17 Bell Security Solutions Inc. Method and apparatus for secure distributed managed network information services with redundancy
RU2301498C2 (ru) * 2002-05-17 2007-06-20 Леново(Бейцзин) Лимитед Способ для реализации динамической организации сети и совместного использования ресурсов среди устройств
AU2003242113A1 (en) 2002-05-17 2003-12-02 Legend (Beijing) Limited A method to realize dynamic networking and resource sharing among equipments
JP3656194B2 (ja) 2002-09-13 2005-06-08 日本電信電話株式会社 認証プロトコル処理方法、計算機端末、認証プロトコル処理プログラム、および記録媒体
US7907935B2 (en) * 2003-12-22 2011-03-15 Activcard Ireland, Limited Intelligent remote device
KR100917290B1 (ko) * 2004-06-24 2009-09-11 인텔 코오퍼레이션 신뢰 플랫폼 모듈의 보안 가상화를 위한 방법 및 장치
JP4326443B2 (ja) * 2004-10-08 2009-09-09 フェリカネットワークス株式会社 情報処理装置および情報処理方法、並びにプログラム
CA2493442C (en) 2005-01-20 2014-12-16 Certicom Corp. Method and system of managing and filtering electronic messages using cryptographic techniques
US7535856B2 (en) * 2005-02-19 2009-05-19 Cisco Technology, Inc. Techniques for zero touch provisioning of edge nodes for a virtual private network
US20100165993A1 (en) * 2006-06-09 2010-07-01 Henrik Basilier Operator Managed Virtual Home Network
US8108668B2 (en) * 2006-06-26 2012-01-31 Intel Corporation Associating a multi-context trusted platform module with distributed platforms
JP2008158992A (ja) 2006-12-26 2008-07-10 Fuji Xerox Co Ltd 文書共有システムおよび文書共有方法
KR100942647B1 (ko) * 2007-11-28 2010-02-17 성균관대학교산학협력단 호스트 네임과 방문지 네트워크에서의 리라우팅을 이용한이동성 관리 시스템 및 이동성 관리 방법
US8316442B2 (en) * 2008-01-15 2012-11-20 Microsoft Corporation Preventing secure data from leaving the network perimeter
JP5053179B2 (ja) * 2008-05-30 2012-10-17 株式会社日立製作所 検証サーバ、プログラム及び検証方法
US8630192B2 (en) * 2009-01-28 2014-01-14 Headwater Partners I Llc Verifiable and accurate service usage monitoring for intermediate networking devices
JP5138527B2 (ja) 2008-09-29 2013-02-06 株式会社日立ソリューションズ ポリシーベースのファイルサーバアクセス制御方法及びシステム
US9137209B1 (en) * 2008-12-10 2015-09-15 Amazon Technologies, Inc. Providing local secure network access to remote services
US8230050B1 (en) * 2008-12-10 2012-07-24 Amazon Technologies, Inc. Providing access to configurable private computer networks
US9106540B2 (en) * 2009-03-30 2015-08-11 Amazon Technologies, Inc. Providing logical networking functionality for managed computer networks
US8234377B2 (en) 2009-07-22 2012-07-31 Amazon Technologies, Inc. Dynamically migrating computer networks
US8909928B2 (en) * 2010-06-02 2014-12-09 Vmware, Inc. Securing customer virtual machines in a multi-tenant cloud
RU2453917C1 (ru) 2010-12-30 2012-06-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ для оптимизации выполнения антивирусных задач в локальной сети
US20120179909A1 (en) * 2011-01-06 2012-07-12 Pitney Bowes Inc. Systems and methods for providing individual electronic document secure storage, retrieval and use
US8774213B2 (en) * 2011-03-30 2014-07-08 Amazon Technologies, Inc. Frameworks and interfaces for offload device-based packet processing
EP2691865A4 (en) * 2011-03-30 2016-05-25 Amazon Tech Inc STRUCTURES AND INTERFACES FOR PACKET PROCESSING BASED ON A LOADING DEVICE
US8743885B2 (en) 2011-05-03 2014-06-03 Cisco Technology, Inc. Mobile service routing in a network environment
US20120291024A1 (en) 2011-05-13 2012-11-15 International Business Machines Corporation Virtual Managed Network
US9363327B2 (en) * 2011-06-15 2016-06-07 Juniper Networks, Inc. Network integrated dynamic resource routing
US9274825B2 (en) 2011-08-16 2016-03-01 Microsoft Technology Licensing, Llc Virtualization gateway between virtualized and non-virtualized networks
WO2013101731A1 (en) * 2011-12-29 2013-07-04 Imation Corp. Cloud-based hardware security modules
US9426154B2 (en) 2013-03-14 2016-08-23 Amazon Technologies, Inc. Providing devices as a service

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050036611A1 (en) * 2003-03-31 2005-02-17 Visa U.S.A., Inc. Method and system for secure authentication

Also Published As

Publication number Publication date
CA3040631A1 (en) 2014-10-02
CN105210327A (zh) 2015-12-30
RU2018109505A3 (ko) 2021-07-19
CA2906530A1 (en) 2014-10-02
CA3040631C (en) 2021-08-10
WO2014159750A1 (en) 2014-10-02
CN110011866B (zh) 2021-01-29
RU2018109505A (ru) 2019-02-28
KR20150130493A (ko) 2015-11-23
JP6158415B2 (ja) 2017-07-05
JP2016518648A (ja) 2016-06-23
US20180152448A1 (en) 2018-05-31
BR112015023300A2 (pt) 2017-07-18
RU2015143441A (ru) 2017-04-19
US10362032B2 (en) 2019-07-23
RU2648956C2 (ru) 2018-03-28
US20140282936A1 (en) 2014-09-18
AU2014244523B2 (en) 2017-03-30
CN105210327B (zh) 2019-06-04
EP2973145B1 (en) 2018-01-31
US9426154B2 (en) 2016-08-23
KR20180086523A (ko) 2018-07-31
US20160359853A1 (en) 2016-12-08
KR101742474B1 (ko) 2017-06-02
US10326762B2 (en) 2019-06-18
AU2017204316B2 (en) 2018-11-08
EP2973145A4 (en) 2016-10-12
JP6707114B2 (ja) 2020-06-10
CN110011866A (zh) 2019-07-12
EP3367276B1 (en) 2022-08-31
AU2017204316A1 (en) 2017-07-13
JP6416985B2 (ja) 2018-10-31
SG11201507503UA (en) 2015-10-29
EP3367276A1 (en) 2018-08-29
BR112015023300B1 (pt) 2022-04-19
KR101883146B1 (ko) 2018-08-30
SG10201710561RA (en) 2018-02-27
AU2014244523A1 (en) 2015-10-08
JP2019023908A (ja) 2019-02-14
JP2017152054A (ja) 2017-08-31
EP2973145A1 (en) 2016-01-20
RU2763314C2 (ru) 2021-12-28
KR20170063967A (ko) 2017-06-08
CA2906530C (en) 2019-05-07

Similar Documents

Publication Publication Date Title
US10362032B2 (en) Providing devices as a service
US11627120B2 (en) Dynamic crypto key management for mobility in a cloud environment
JP6539357B2 (ja) ハイブリッドクラウドサービスのためのパスワードの暗号化
US10776489B2 (en) Methods and systems for providing and controlling cryptographic secure communications terminal operable to provide a plurality of desktop environments
JP2021535521A (ja) 仮想デスクトップでのローカルマップアカウント
Missio Custom cloud storage solutions based on Nextcloud: a case study implementation
Udaykumar Design And Deploy Secure Azure Environment

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right