KR20150094548A - 원격 액세스, 원격 디지털 서명을 위한 방법 및 시스템 - Google Patents

원격 액세스, 원격 디지털 서명을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20150094548A
KR20150094548A KR1020150020230A KR20150020230A KR20150094548A KR 20150094548 A KR20150094548 A KR 20150094548A KR 1020150020230 A KR1020150020230 A KR 1020150020230A KR 20150020230 A KR20150020230 A KR 20150020230A KR 20150094548 A KR20150094548 A KR 20150094548A
Authority
KR
South Korea
Prior art keywords
digital certificate
sdp
pki
security
user device
Prior art date
Application number
KR1020150020230A
Other languages
English (en)
Inventor
찰스 블레어
엘킨 플로레즈
데이비드 아난
라이언 펑
후쌈 마흐구브
Original Assignee
아이엠에스 헬스 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아이엠에스 헬스 인코포레이티드 filed Critical 아이엠에스 헬스 인코포레이티드
Publication of KR20150094548A publication Critical patent/KR20150094548A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)

Abstract

문서를 디지털식 유효성 검증하는 시스템 및 방법으로서, 그 방법은, 최종-사용자로부터의 보안 정보를 보안 개발 플랫폼(SDP)에 의해 수신하는 단계(상기 SDP는 보안 SDP 메모리에 결합된 SDP 프로세서를 포함함); 보안 정보에 기반하여 사용자 디바이스와 보안 토큰을 교환하는 단계; 디지털 인증서에 대한 요청을 사용자 디바이스로부터 수신하는 단계; 공개/비밀 키 쌍을 관리 및 저장하는 단계; 디지털 인증서에 대한 요청을 PKI 서비스 프로세서에 송신하는 단계; 디지털 인증서에 대한 요청 내의 정보가 옳으면, 디지털 인증서를 생성하는 단계; 및 PKI 서비스 프로세서로부터 디지털 인증서를 수신하는 단계; 및 디지털 인증서를 보안 SDP 메모리에 저장하는 단계를 포함하되, 보안 SDP 메모리는 사용자 디바이스에 의해 직접 액세스 가능하지 않고, SDP 프로세서는 디지털 인증서와 연관된 비밀 키의 사용에 의한 서명 발생을 요청하도록 구성되고, SDP 프로세서는 디지털 인증서의 사용에 의한 유효성 검증을 요청하도록 구성된다.

Description

원격 액세스, 원격 디지털 서명을 위한 방법 및 시스템{SYSTEM AND METHOD FOR REMOTE ACCESS, REMOTE DIGITAL SIGNATURE}
본 발명은 일반적으로는 디지털식 서명된 문서에 관한 것으로, 구체적으로는, 디지털 서비스 환경에서 자동화된 원격 크리덴셜 액세스 및 사용을 위한 방법 및 시스템에 관한 것이다.
모바일 헬스("mHealth")는 모바일 폰, 환자 감시 디바이스, 개인정보단말기(personal digital assistant: PDA)들, 및 다른 무선 디바이스와 같은 모바일 디바이스에 의해 지원되는 의료 및 공중 보건 실무에 대한 용어이다. 엠헬스(mHealth)는 음성 및 단문 메시징 서비스(short messaging service: SMS)와 더불어 3G 시스템, 전역 측위 시스템(global positioning system: GPS) 및 블루투스 기술과 같은 더 복잡한 기능성의 사용을 관여시킨다.
전형적으로는 인터넷 사용에 최적화되어 있는 스마트폰의 고급 컴퓨팅 능력은 개개인이 어느 때라도 어느 곳에서든 정보 및 진찰(의료 관리와 관련된 것을 포함)에 액세스할 수 있음을 의미한다. 스마트폰은 또한 이동 중 센서로부터 정보를 포착할 수 있는 능력 및 GPS 및 카메라 기능의 부가와 같이 랩톱을 통하여 이용가능하지 않은 기능성을 제공한다.
모바일 애플리케이션(또는 모바일 앱)은 스마트폰, 태블릿 컴퓨터 및 다른 모바일 디바이스 상에서 실행하도록 설계된 소프트웨어 애플리케이션이다. 일부 모바일 앱은 건강 관리 정보를 소비자에게 전하도록, 또는 소비자로부터 건강 상태 정보를 모으거나 건강 관리 제공자에게 보내도록 사용된다. 건강 관리에 있어서 개발되어 온 모든 모바일 앱이 소비자에게 널리 이용가능한 것은 아니다. 최고급 의료 앱 중 일부는 반드시 일반 소비자를 겨냥하여 설계되어 있지는 않다. 일부 모바일 앱은 건강 관리 실무자용으로 설계되었고, 다른 일부는 환자를 위한 것이지만 처방을 필요로 하고, 다른 일부는 단지 작은 일부의 환자만을 위해 의도된다. 일부 모바일 앱은 미국 식품의약국(FDA)에 의한 승인을 필요로 한다. 모바일 앱은 또한 그것이 기저 운영 체제로, 예를 들어, 안드로이드로부터 윈도우즈 또는 iOS로 이식되었으면 퍼스널 컴퓨터(PC)와 같은 다른 플랫폼 상에서 실행할 수 있을 수 있다. 여기에서 사용되는 바와 같이, 용어 "모바일 앱"은 PC(예를 들어, 데스크톱, 타워, 랩톱, 넷북 등) 또는 다른 범용 소비자 컴퓨팅 디바이스 상에서 실행하는 애플리케이션을 포함할 수 있으며, 서술된 이점을 이동성이 제공하지 않는 한 또는 사용의 맥락에 의해 다르게 명확히 제한되지 않는 한 모바일 디바이스로 국한되는 것은 아니다.
어떤 환자 정보는 법(예를 들어, 미국 건강 정보 양도 및 책임에 관한 법(HIPAA))에 의해 보호되고 환자 프라이버시를 유지하는 방식으로 취급되어야 한다. 그러한 정보는 보호된 건강 정보(protected health information: PHI)라고 칭한다. PHI에 관하여는, 모바일 앱에 입력된 데이터가 어떻게 사용되는지의 의식 및 투명성이 둘 다 존재하고 있음과, PHI 데이터의 사용에 대해 환자 동의가 획득되어 있음이 중요하다. 건강 관리 모바일 앱이 PHI를 수집, 저장 그리고/또는 송신하면, 그것은 HIPAA 및 당해 지역의 어떠한 다른 적용가능한 법 또는 규칙도 완전히 준수하여 그렇게 하는 것이 필수적이다. 전자 건강 기록(Electronic Health Record: EHR) 또는 개인 건강 기록(Personal Health Record: PHR)에 접속하려고 의도되는, 사용자가 모바일 디바이스와 EHR/PHR 간 환자 정보를 보내고 검색 가능하게 하는, 어떠한 모바일 앱이라도 보안 방식으로 그렇게 해야 하고 관여된 모든 이해관계인은 들어 있는 PHI 데이터를 보호하기 위한 그들의 관리 역할을 수락하여야 한다.
암호화는 통신의 프라이버시를 보장하기 위한 표준 툴이다. 다양한 암호화 기법이 보호된 정보를 보안하는데 상업적으로 이용가능하며, 예를 들어, 2001년 11월 26일 연방 정보 처리 표준 간행물 197로서 미국 표준 기술 연구소(NIST)에 의해 반포된 고급 암호화 표준(Advanced Encryption Standard: AES)이 있다. AES는, 동일한 암호 키가 인코딩에도 그리고 디코딩에도 사용되게 되도록, 대칭형 암호화 기법이다. AES 기법 그 자체는 AES 카운터 모드, AES 암호 블록 체인(cipher block chaining: CBC) + 암호 텍스트 스틸(cipher text stealing: CTS), RSA 등과 같이 다수의 변종에 존재한다. AES의 일부 변종은 RFC(Request for Comment) 3962, 2005년 2월, "Advanced Encryption Standard (AES) Encryption for Kerberos 5", 및 여기에 인용된 참조 문헌에 설명되어 있을 수 있다.
관용적 필기 서명은 문서의 진정성을 나타내도록 또는 문서 내 서술에의 동의를 나타내도록 사용될 수 있는 인간에 의해-발생된 표지이다. 디지털 서명은 디지털 메시지 또는 문서의 진정성을 증명하기 위한 수학적 기법이다. 유효한 디지털 서명은, 기지의 송신자가 그 메시지를 생성하여서, 송신자가 그 메시지를 보냈음을 부인할 수 없음(즉, 인증 및 부인 방지를 보장) 및 그 메시지가 전송 중 바뀌지 않았음(즉, 무결성을 보장)을 믿을 이유를 수신자에게 준다. 디지털 서명은 소프트웨어 배포에, 금융 트랜잭션에, 그리고 다른 경우로는 위조 또는 부당 변경을 검출하는 것이 중요한 경우에 흔히 사용된다. 디지털 서명의 생성 및 사용은 흔히 암호화를 관여시킨다.
공개 및 비밀 암호화 키의 관리가 디지털 서명 및/또는 암호화와 일체이다. 디지털 인증서는 공개 키를 아이디, 예를 들어, 사람 또는 조직의 명칭, 그들 주소 등과 결속하도록 디지털 서명을 사용하는 전자 문서이다. 인증서는 공개 키가 개인에 속함을 검증하도록 사용될 수 있다. 공개-키 기반구조(public-key infrastructure: PKI)는 디지털 인증서를 생성, 관리, 배포, 사용, 저장 및 폐기하는데 필요한 하드웨어, 소프트웨어, 사람, 정책 및 프로시저의 세트이다. PKI는, 예를 들어, Barkan의 미국 특허 제5,864,667호에 설명된 바와 같이 당업계에 알려져 있다.
PKI는 인증 기관(certificate authority: CA)에 의해 각각의 사용자 아이디와 공개 키를 결속한다. 사용자 아이디는 각각의 CA 도메인 내에서 고유하여야 한다. 제3자 유효성 검증 기관(validation authority: VA)은 CA를 대신하여 이러한 정보를 제공할 수 있다. 결속은 결속의 보증 레벨에 의존하여 인간의 감독 하에 또는 CA에서의 소프트웨어에 의해 수행될 수 있는 등록 및 발행 프로세스를 통해 확립된다. 이러한 결속을 보증하는 PKI 역할은 소위 등록 기관(registration authority: RA)으로서, 공개 키가 부인 방지를 보장하는 방식으로 그것이 배정되는 개인에 결속됨을 보장한다.
모바일 앱을 갖는 분산 환경에서 PKI 서비스 사용에 대한 결점은 PKI 서비스의 이용에 요구되는 많은 난관이 존재한다는 것이다. 모바일 앱 사용자는 보통은 시작시키도록 소정 기술적 지식 또는 보안 지식을 갖고 있어야 한다. 모바일 앱 사용자는 비대칭형 키(예를 들어, 공개 및 비밀 키)를 관리하는 것, 키를 보안 저장하는 것 및 키를 국부적으로 보안 변경하는 것에 대한 일부 지식을 갖고 있을 필요가 있다. 모바일 앱 사용자는 통상 PKI 프로세스, 예를 들어, 어떻게 시작하고 무엇을 할지로 힘든 시간을 갖는다. 모바일 앱 사용자는 보통은 보안 전문가가 아니지만 그들은 PKI 크리덴셜(credential) 또는 키를 관리하도록 요구받는다. 일부 모바일 앱 사용자는 다수의 디바이스에 대하여 PKI 크리덴셜 및 인증서 요청을 관리하고 있을 수 있고, 다양한 디바이스 및 그들 PKI 크리덴셜의 상태를 추적하는 것이 어렵다고 여길 수 있다.
기지의 솔루션은, 사용자가 PKI 키-쌍을 수동으로 생성하고 그 후 그것들을 수동으로 관리하여야 하게 되도록, 수동 방식으로 PKI 관리 및 프로세스를 다루어 왔다. 이것은 통상 그러한 프로시저에 정통하지 않은 모바일 앱 사용자에게는 매우 힘들다. PKI 키-쌍이 적절히 관리되지 않으면, 보안은 제대로 발휘되지 않을 수 있다.
다른 기지의 솔루션은 스마트 카드, 커먼 액세스 카드(Common Access Card: CAC), 및 최종-사용자의 PKI 크리덴셜을 보안 수용하도록 사용되는 특수 구성된 디바이스와 같은 보안 구성요소를 채용하여 왔다. 그러한 솔루션에 대해, 사용자는 PKI 서비스를 이용하기 위하여 부가적 디바이스 및 카드를 휴대하여야 한다. 현재의 상업적 관례는 또한 PKI 크리덴셜 및 서비스를 관리할 개발자 및 최종-사용자를 위한 온라인 서비스, 제품 및 툴킷을 포함한다. 이들 경우에 있어서, PKI 관리를 위한 수동 프로세스는 여전히 사용되고 있다.
그래서, 필요한 것은 부가적 디바이스를 사용하는 결점 없이 PKI 관리의 더 자동화된 프로세스이다.
일 실시예에 있어서, 문서를 디지털식 유효성 검증하는 방법은: 최종-사용자로부터의 보안 정보를 보안 개발 플랫폼(secure development platform: SDP)에 의해 수신하는 단계(상기 SDP는 보안 SDP 메모리에 결합된 SDP 프로세서를 포함함); 보안 정보에 기반하여 사용자 디바이스와 보안 토큰을 교환하는 단계; 디지털 인증서에 대한 요청을 사용자 디바이스로부터, 수신하는 단계; 사용자 PKI 키-쌍을 발생시키고 그것을 SDP 보안 키 스토어에 저장하는 단계; 디지털 인증서에 대한 요청을 PKI 서비스 프로세서에 송신하는 단계; 디지털 인증서에 대한 요청 내의 정보가 옳으면: 디지털 인증서를 생성하는 단계; PKI 서비스 프로세서로부터 디지털 인증서를 수신하는 단계; 및 디지털 인증서를 보안 SDP 메모리에 저장하는 단계를 포함하되, 보안 SDP 메모리는 사용자 디바이스에 의해 직접 액세스 가능하지 않고, SDP 프로세서는 디지털 인증서의 사용에 의한 유효성 검증을 요청하도록 구성된다.
일부 실시예에 있어서, 상기 방법은, 디지털식 서명할 문서를 사용자 디바이스로부터 수신하는 단계; 사용자 디바이스와 관련된 디지털 인증서를 유효성 검증하라는 요청을 PKI 서비스 프로세서에 송신하는 단계; 디지털 인증서의 유효성의 표시를 PKI 서비스 프로세서로부터 수신하는 단계; 및 표시가 유효한 디지털 인증서를 나타내면, 디지털 인증서에 기반하여 문서에 디지털식 서명하는 단계를 더 포함할 수 있다.
일부 실시예에 있어서, 상기 방법은, 유효성 검증할 문서 및 디지털 인증서를 사용자 디바이스로부터 수신하는 단계; 디지털 인증서를 PKI 서비스 프로세서에 제공하는 단계; 디지털 인증서의 유효성의 표시를 PKI 서비스 프로세서로부터 수신하는 단계; 및 표시가 유효한 디지털 인증서를 나타내면, 문서의 유효성의 표시를 사용자 디바이스에 제공하는 단계를 더 포함할 수 있다.
일 실시예에 있어서, 문서를 디지털식 유효성 검증하는 시스템은, 보안 SDP 메모리에 그리고 수신기에 결합된 SDP 프로세서를 포함하는 보안 개발 플랫폼(SDP)(상기 수신기는 최종-사용자로부터 보안 정보를 수신하도록 구성됨); 보안 정보에 기반하여 사용자 디바이스와 보안 토큰을 교환하도록; 그리고 디지털 인증서에 대한 요청을 사용자 디바이스로부터 수신하도록 구성된 통신 인터페이스; 디지털 인증서에 대한 요청 PKI 서비스 프로세서에 송신하도록 구성된 송신기; 및 PKI 서비스 프로세서로부터 디지털 인증서를 수신하도록 구성된 수신기를 포함하되, 보안 SDP 메모리에 저장된 디지털 인증서는 사용자 디바이스에 의해 직접 액세스 가능하지 않다.
일부 실시예에 있어서, 상기 시스템은, 유효성 검증할 문서 및 디지털 인증서를 송신하도록 구성된 송신기(상기 디지털 인증서는 PKI 서비스 프로세서에 의해 유효성 검증됨); 및 디지털 인증서의 유효성의 표시를 PKI 서비스 프로세서로부터 수신하도록 구성된 수신기를 더 포함하되, SDP는 유효성의 표시를 사용자 디바이스에 제공한다.
일부 실시예에 있어서, 상기 시스템은, 디지털 인증서를 PKI 서비스 프로세서에 송신하도록 구성된 송신기; 및 디지털 인증서의 유효성의 표시를 PKI 서비스 프로세서로부터 수신하도록 구성된 수신기를 더 포함하되, SDP는 유효성의 표시에 기반하여 문서에 디지털식 서명한다.
전술한 내용은 본 발명의 일부 태양의 이해를 제공하기 위한 그 개시의 실시예의 단순화된 개요이다. 이 개요는 본 발명 및 그 다양한 실시예의 광범위한 개관도 총망라한 개관도 아니다. 그것은 본 발명의 핵심 또는 중대 구성요소를 식별하려는 것도 아니고 본 발명의 범위를 상술하려는 것도 아니며, 본 발명의 선택된 개념을 아래에 제시되는 더 상세한 설명으로의 도입으로서 단순화된 형태로 제시하려는 것이다. 인식될 바와 같이, 위에서 제시되거나 또는 아래에서 상세히 설명되는 특징 중 하나 이상을 이용하여, 단독으로 또는 조합하여, 본 발명의 다른 실시예가 가능하다.
본 발명의 상기 및 더 추가적 특징 및 이점은, 특히 다양한 도면에서 유사한 참조 숫자가 유사한 컴포넌트를 지명하도록 이용되는 수반 도면과 함께 취해질 때, 그 실시예의 이하의 상세한 설명을 고려하여 분명하게 될 것이다.
도 1은 본 발명의 일 실시예에 따른 모바일 통신 네트워크를 묘사하는 블록 선도;
도 2a는 본 발명의 일 실시예에 따른 모바일 디바이스를 묘사하는 시스템 레벨 블록 선도;
도 2b는 본 발명의 일 실시예에 따른 최종-사용자 비-모바일 디바이스를 묘사하는 시스템 레벨 블록 선도;
도 3은 본 발명의 일 실시예에 따라 PKI 및 디지털 인증서를 지원하는 시스템 및 방법을 묘사하는 블록 선도;
도 4는 본 발명의 일 실시예에 따라 디지털 인증서를 생성하는 시스템 및 방법을 묘사하는 블록 선도;
도 5는 본 발명의 일 실시예에 따라 디지털 인증서로 문서에 서명하는 시스템 및 방법을 묘사하는 블록 선도; 및
도 6은 본 발명의 일 실시예에 따라 디지털 인증서의 사용에 의해 서명된 문서를 유효성 검증하는 시스템 및 방법을 묘사하는 블록 선도.
여기에서 사용되는 제목은 단지 편성 목적일 뿐이고 청구범위 또는 설명의 범위를 제한하도록 사용됨을 의미하지는 않는다. 본 출원의 곳곳에서 사용되는 바와 같이, 단어 "할 수 있다"는 의무적 의미(즉, 필수를 의미)보다는 허용적 의미(즉, 잠재성을 가짐을 의미)로 사용된다. 유사하게, 단어 "포함한다", "포함하는" 및 "포함하고 있다"는 포함함을 의미하지만 그에 국한되는 것은 아니다. 이해를 용이하게 하기 위하여, 도면에 공통인 유사한 구성요소를 지명하도록, 가능한 경우, 유사한 참조 숫자가 사용되었다. 도면 중 옵션 부분은, 사용 맥락이 달리 나타내지 않는 한, 파선 또는 점선을 사용하여 예시될 수 있다.
본 발명은 전형적 디지털 정보 시스템과 함께 아래에 예시될 것이다. 예를 들어 서버(들) 및/또는 데이터베이스(들)를 사용하는 시스템과 사용에 잘 맞기는 하지만, 본 발명은 시스템 구성요소의 구성 또는 시스템의 어떠한 특정 유형과의 사용에도 국한되는 것은 아니다. 당업자는 개시된 기술이 결정을 제어하거나 정보에 액세스하도록 전송가능 허가를 제공하는 것이 바람직한 어떠한 시스템 또는 프로세스에서라도 사용될 수 있음을 인식할 것이다.
본 발명의 전형적 시스템 및 방법은 또한 소프트웨어, 모듈 및 연관된 하드웨어와 관련하여 설명될 것이다. 그렇지만, 본 발명을 쓸데없이 모호하게 하는 것을 회피하기 위하여, 이하의 설명은 블록 선도 형태로 도시되거나, 주지되거나 그렇지 않으면 요약될 수 있는 주지의 구조, 컴포넌트 및 디바이스를 생략한다.
이하의 설명에 있어서는, 수많은 특정 상세가 여기에 설명되는 실시예 또는 다른 예들의 철저한 이해를 제공하기 위해 제시된다. 일부 경우에 있어서, 주지의 방법, 프로시저, 컴포넌트 및 회로는 이하의 설명을 모호하게 하지 않도록 상세하게 설명되지는 않았다. 더욱, 개시되는 예들은 단지 예시적 목적을 위한 것이며, 개시된 예들을 대신하여 또는 그와 조합하여 다른 예들이 채용될 수 있다. 또한, 여기에 제시되는 예들은, 같은 효과의 다른 예들이 가능하고 마찬가지이므로, 본 발명의 실시예의 범위를 제한하는 것으로 해석되어서는 안 되는 것에 유념해야 한다.
여기서 사용되는 바와 같이, 용어 "모듈"은 일반적으로는 단계, 프로세스 또는 컴포넌트의 논리적 시퀀스 또는 연관을 지칭한다. 예를 들어, 소프트웨어 모듈은 컴퓨터 프로그램 내 연관된 루틴 또는 서브루틴 세트를 포함할 수 있다. 대안으로, 모듈은 실질적으로 자체-포함된 하드웨어 디바이스를 포함할 수 있다. 모듈은 또한 어떠한 소프트웨어 또는 하드웨어 구현과도 무관한 논리적 프로세스 세트를 포함할 수 있다.
여기서 사용되는 바와 같이, 용어 "송신기"는 일반적으로는 신호를 송신할 수 있는 어떠한 디바이스, 회로 또는 장치라도 포함할 수 있다. 여기서 사용되는 바와 같이, 용어 "수신기"는 일반적으로는 신호를 수신할 수 있는 어떠한 디바이스, 회로 또는 장치라도 포함할 수 있다. 여기서 사용되는 바와 같이, 용어 "트랜시버"는 일반적으로는 신호를 송신 및 수신할 수 있는 어떠한 디바이스, 회로 또는 장치라도 포함할 수 있다. 여기서 사용되는 바와 같이, 용어 "신호"는 전기 신호, 라디오 신호, 광학 신호, 음향 신호 등 중 하나 이상을 포함할 수 있다.
여기서 사용되는 바와 같은 용어 "컴퓨터-판독가능 매체"는 명령어를 저장하고 그리고/또는 실행을 위해 프로세서에 제공하는데 참여하는 어떠한 유형적 저장 및/또는 전송 매체라도 지칭한다. 그러한 매체는, 국한되는 것은 아니지만, 비-휘발성 매체, 휘발성 매체 및 전송 매체를 포함하여 여러 형태를 취할 수 있다. 비-휘발성 매체는, 예를 들어, NVRAM 또는 자기 또는 광학 디스크를 포함한다. 휘발성 매체는 메인 메모리와 같이 동적 메모리를 포함한다. 컴퓨터-판독가능 매체의 흔한 형태는, 예를 들어, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 또는 어느 다른 자기 매체, 자기-광학 매체, CD-ROM, 어느 다른 광학 매체, 펀치 카드, 페이퍼 테이프, 홀 패턴을 갖는 어느 다른 물리적 매체, RAM, PROM, EPROM, 플래시-EPROM, 메모리 카드 같은 고상 매체, 어느 다른 메모리 칩 또는 카트리지, 이후 설명되는 바와 같은 반송파, 또는 컴퓨터가 읽어낼 수 있는 어느 다른 매체를 포함한다. 이메일에의 디지털 파일 첨부 또는 다른 자체-포함된 정보 아카이브 또는 아카이브 세트는 유형적 저장 매체와 등가의 배포 매체로 생각된다. 컴퓨터-판독가능 매체가 데이터베이스로서 구성될 때, 데이터베이스는 관계형, 계층형, 객체-지향형 등과 같이 어떠한 유형의 데이터베이스라도 될 수 있다고 이해되는 것이다. 따라서, 그 개시는, 본 발명의 소프트웨어 구현이 저장되는, 유형적 저장 매체 또는 배포 매체 및 종래 기술-인식된 균등물 및 후계 매체를 포함한다고 생각된다.
본 발명에 따른 실시예는 정보 보안을 용이하게 하는 디지털 프로세스 및/또는 시스템을 제공할 수 있다.
본 발명에 따른 실시예는 보안 모바일 애플리케이션 개발 플랫폼의 보안 도메인 내에서 PKI 개시 연산, 키 관리 연산, X.509 인증서 관리 및 사용 관리 연산을 수행함으로써 기지의 기술을 개선한다. 그러한 보안 개발 플랫폼을 사용하여, 사용자는 보안 개발 플랫폼 내에서 비대칭형 키의 생성 및 저장을 요청할 수 있다. 사용자는 건강 또는 PHI 데이터에 서명하고 유효성 검증하는 것을 포함하여 PKI 연산을 이용할 수 있다. 보안 개발 플랫폼은 보안 데이터 스토어를 갖는 보안 모바일 컨테이너를 포함할 수 있다. 보안 개발 플랫폼은 소프트웨어 개발자가 보안 환경에서의 소프트웨어 애플리케이션을 개발 가능하게 한다. 보안 환경은 PHI 데이터, PKI 연산, 디지털 인증서 등과 같은 민감 정보로의 액세스뿐만 아니라 외부 위협으로부터의 해방을 포함할 수 있다. 추후에, 소프트웨어 애플리케이션이 완성되어 사용을 위해 발행된 후에, 보안 개발 플랫폼은 최종 사용자가, 공개/비밀 키 쌍 및 다른 크리덴셜 등의 관리를 통하여, 정보 보안을 관리할 필요 없이, 그 소프트웨어 애플리케이션을 사용 가능하게 할 수 있다. 보안 개발 플랫폼은 네트워킹 스택의 응용 레벨에서 데이터 및 데이터로의 액세스를 보호함으로써 동작한다.
보안 모바일 데이터 스토어는 사용자 PIN 인증 시 사용자에 의해 액세스될 수 있다. 보안 모바일 데이터 스토어는 사용자 PIN을 포함하는 여러 인자로부터 유도되는 유도된 대칭형 키에 의해 보호된다. 보안 개발 플랫폼은 세션마다 컨텐트 및 데이터의 이중-인증식 암호화(dual-authentication and encryption)를 위한 통합형 보안을 포함할 수 있다. 데이터 암호화에 사용되는 대칭형 키는 세션마다 변경되고, 그로써 IMS 보안 서버와 모바일 디바이스 간 데이터의 보안 전송을 보장하도록 돕는다.
보안 개발 플랫폼은 각각의 사용자에 대해 고유한 크리덴셜을 생성할 수 있어서, 각각의 사용자는 특정 PKI 키-쌍(예를 들어, 공개 및 비밀 키)에 결속되게 된다. PKI 키-쌍은 사용자마다 독립적으로 보안 개발 플랫폼에 의해 관리된다. 보안 개발 플랫폼의 하나의 이점은 고유한 크리덴셜이 사용자마다 제공되어, 그로써 무단 사용의 가능성을 줄인다는 것이다. 또 다른 이점은 데이터 암호화 키 또는 대칭형 키가 세션 기반(즉, 단명)이다는 것이다. 세션-기반 키는 키가 여전히 사용 중인 시간 동안 키가 깨질 수 있는 가능성을 줄인다. 또 다른 이점은 이중-인증-암호화된 세션이 사용되어, 그로써 하나의 키가 제대로 발휘되지 않더라도 세션을 보호한다는 것이다. 또 다른 이점은 보안 데이터 저장소가 모바일 컨테이너 및 서버 컨테이너에 제공되어, 그로써 보안 개발 플랫폼 또는 모바일 단말 상에서 실행 중인 다른 프로세스로부터 보안 데이터 저장소를 격리시켜 사용이 용이한 PKI 시스템을 가능하게 하도록 돕는다는 것이다. 보안 개발 플랫폼은 PHI 데이터 보안 관리와 관련한 부가적 서비스로서 통합형 PKI를 제공할 수 있다.
보안 개발 플랫폼은 사용자에 대한 PKI 크리덴셜 및 서비스를 중앙에서 관리할 수 있다. 사용자는 PKI 프로세스를 사용하기 위해 PKI 전문가, 보안 전문가 또는 기술 전문가이어야 할 필요가 없을 것이다. 보안은 통합형이고 사용자는 보안 전문가일 필요도 PKI 컴포넌트를 관리할 필요도 없다.
본 발명에 따른 실시예는 사용자의 PKI 사용을 단순화하기 위하여 보안 토큰 및 일회용 비밀번호(OTP) 시스템을 사용할 수 있다. 사용자는 그들의 PKI 사용을 관리하기 위해 어떠한 특정 또는 상세한 PKI 지식도 필요로 하지 않는다. PKI 프로토콜도 사용자의 모바일 디바이스 상에 구현될 필요가 없다.
본 발명에 따른 실시예는 자동화된 PKI 프로세스를 사용하고, PKI 키-쌍(공개/비밀 키 쌍)의 자동화된 관리를 제공한다. 사용 및 자동화된 관리는 서버 측에서 PKI 키-쌍의 키 발생, 관리, 저장 및/또는 사용을 포함하여, 그리하여 사용자를 이러한 큰 부담으로부터 해방시킨다. 사용자의 모바일 디바이스가 (예를 들어, 디바이스 분실 또는 디바이스 업그레이드 때문에) 교체될 필요가 있으면, 그때 그 디바이스를 교체하는 프로세스는 모바일 디바이스 또는 다른 지원되는 컴퓨팅 디바이스 상에서 PKI 키-쌍을 관리할 필요 없이 단순화된다.
본 발명에 따른 실시예는 모바일 디바이스에서의 사용자가 보안 개발 플랫폼에 의해 수행되는 PKI 키-쌍 연산에 원격 및 보안 액세스 가능하게 한다. 예를 들어, 실시예는, 보안 개발 플랫폼이 원격 서버(즉, 모바일 플랫폼을 위한 공개 PKI 키-쌍의 발행인)의 기능으로 역할하도록, 모바일 디바이스가 PKI 연산을 보안 개발 플랫폼에 위임할 수 있게 한다. 더욱, 실시예는, 모바일 플랫폼과 보안 개발 플랫폼 또는 다른 원격 컴퓨팅 플랫폼 간 신뢰된 문서가 교환될 수 있도록, 디지털 서명 발생 및 유효성 검증을 지원할 수 있다.
본 발명에 따른 실시예는 건강 및 다른 애프리케이션에 확장형 PKI 서비스를 제공한다. 그러한 실시예는 PHI 또는 다른 보호된 정보를, 오토메이트 블루 버튼 이니셔티브(Automate Blue Button Initiative: ABBI)(즉, 환자가 그들 자신의 개인 건강 기록을 온라인으로 보고 다운로드 가능하게 하는 시스템), 미국 정부(예를 들어, 재향군인회(VA), 국방부(DoD), 보건후생부(HHS)), 금융 회사(예를 들어, 은행, 종합증권사)와 같은, 그러한 정보의 사용자 또는 발생자와 교환하는데 유용할 수 있다.
본 발명에 따른 실시예는 모바일 플랫폼, 데스크톱 퍼스널 컴퓨터 등과 같이 충분한 능력의 실질적으로 어떠한 사용자 디바이스에라도 보편적 지원을 제공한다. 실시예는 단일, 폐쇄형 디바이스의 전유 아키텍처에 매이지 않는다. 그러한 보편적 지원에 의해, 실시예는, 모바일 디바이스 사용자가 본 발명에 따른 실시예를 실시할 때 그들의 기존 모바일 디바이스를 계속 사용할 수 있게 되도록, 각자 지참 디바이스(bring-your-own-device: BYOD) 지원을 제공한다.
본 발명에 따른 실시예는 사용자의 모바일 디바이스로부터 보안 개발 플랫폼 크리덴셜/키 서버로 PKI 연산을 이동시킴으로써 상기 이점을 적어도 일부 제공 및 달성한다. 크리덴셜 서버 상에서 크리덴셜 연산을 호스팅하는 것은 여러 이점을 제공한다. 우선, 크리덴셜 서버의 사용은 사용자가 키 발생, 서명, 암호화 등과 같은 연산을 수행하기가 더 용이하게 하도록 허용한다.
크리덴셜 서버를 사용하는 또 다른 이점은 크리덴셜 서버가 디바이스 상에서보다는 서버에서 비밀 키에 대한 보안의 강건한 저장 설비를 제공할 수 있다는 것이다. 모든 비밀 키는, 반드시 저장되어 있지는 않고 대신 여러 다른 소스로부터 유도될 수 있는 멀티-패스 키를 사용하여 보안되고 잠겨질 것이다. 이것은, 사용자의 모바일 디바이스 상에 비밀 키의 분산된 저장에 비해, 악성 공격에 대항하여 개선된 보안을 제공할 수 있다. 크리덴셜 서버의 전문적으로-관리되는 보안의 비용은 모든 모바일 사용자 간 분산되어, 그리하여 개개의 사용자에 대한 비용을 잠재적으로 줄일 수 있다.
크리덴셜 서버를 사용하는 또 다른 이점은, 더 높은 품질의 난수 발생기, 예를 들어, 2001년 5월 25일 발행된 연방 정보 처리 표준(FIPS) 간행물 140-2(FIPS PUB 140-2)의 "Security Requirements for Cryptographic Modules"에 따라 유효성 검증된 난수 발생기의 사용에 의해, 더 양호한 품질의 공개/비밀 키 쌍 발생을 제공할 수 있다는 것이다. 난수는 흔히 암호 함수 또는 연산을 초기화하는 시드 값으로서 사용된다. 그래서, 통계적 의미에서 더 균등 난수인 시드 값은 추측이 더 힘들 것이고 그리하여 난수 발생기 시퀀스 전체를 예측하는 것이 더 힘들 것이다.
크리덴셜 서버를 사용하는 또 다른 이점은 크리덴셜 서버가 서버 상에 더 양호한 품질의 보안 스토어, 예를 들어, 하드웨어 보안 모듈(hardware security module: HSM) 또는 데이터 보안을 제공하는 다른 전용 및/또는 하드웨어-기반 장치를 제공할 수 있다는 것이다.
크리덴셜 서버를 사용하는 또 다른 이점은 크리덴셜 서버가 소정 조건 하에 크리덴셜 서버로부터 모바일 디바이스로 토큰 복원 서비스를 제공할 수 있다는 것이다. 예를 들어, 토큰 복원 서비스는 사용자가 그 또는 그녀의 모바일 디바이스를 분실하면 그때, 또는 사용자가 새로운 모바일 디바이스를 구입하면 등의 경우에 사용될 수 있다. 모바일 디바이스 상에보다는 크리덴셜 서버 상에 크리덴셜을 저장함으로써, 비밀 키는 사용자의 모바일 디바이스에보다는 사용자와 연관될 수 있다. 이러한 토큰 복원 서비스가 없이는, 사용자가 그 또는 그녀의 디바이스를 분실 또는 변경하면, 비밀 키는 분실될 것이고 인증서는 인증서 폐기 리스트(certificate revocation list: CRL)에 추가되어야 할 것이다. CRL은 폐기된 인증서의 리스트(또는 인증서의 일련 번호의 리스트)이고, 그래서, 폐기된 인증서를 제시하는 엔티티는 더 이상 신뢰되지 않아야 한다. 관용적으로는, 사용자가 그들의 모바일 디바이스를 분실 또는 교체하면, 새로운 공개/비밀 키-쌍이 발생되어야 하고, 그 공개 키에 의존하는 새로운 인증서가 생성 및 배포되어야 한다.
크리덴셜 서버를 사용하는 또 다른 이점은 크리덴셜 서버가 일회용 비밀번호(one-time password: OTP)를 사용하여 서버와 디바이스 간 모든 트랜잭션에 대해 양방향(bilateral)(즉, 2-방향) 인증식 암호화 통신 채널(authenticated and encrypted communication channel)을 제공할 수 있다는 것이다.
크리덴셜 서버를 사용하는 또 다른 이점은 크리덴셜 서버가 폭넓은 각종 원격 디바이스 및 모바일 디바이스(예를 들어, 자바 2 마이크로 에디션(J2ME), 블랙베리, 안드로이드, 애플 등과 호환가능한 디바이스)/PC/내장 프로세서 등을 사용하여 OTP 능력이 가능하게 될 수 있는 사용자에게 PKI 서비스를 제공할 수 있다는 것이다. OTP 능력은 PKI 가입 및 등록 프로세스에 대해 일차적 사용자 인증을 제공하도록 사용될 수 있다.
본 발명에 따른 실시예는, 디지털 토큰 및 OTP 액세스 기법의 사용에 의해, 모바일 앱을 사용하여 PKI 프로세스로의 원격 액세스를 제공한다. 그렇게 하는 것은 권한 있는 최종-사용자만이 그들의 비밀 PKI 정보로의 액세스를 가짐을 보장한다. 싱크 프로토콜이 상호 인증 및 엔드-투-엔드 메시지 암호화를 제공하도록 사용될 수 있다. 디지털 토큰 및/또는 OTP 기술은, 사용자 PKI 크리덴셜을 관리하기 위하여, 사용자에 대해 고유한 암호화 키를 유도하도록 사용될 수 있다. 실시예는 또한 사용자가 모바일 앱 프로그램을 사용 중일 때 PKI 프로세스를 위한 보안 엔트리 포인트를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따라 민감 정보에 액세스, 유효성 검증 및 디지털식 서명하기 위한 시스템을 예시하고 있다. 여기에서 설명되는 실시예는 2 당사자: 이 경우에서는 모바일 디바이스 사용자와 신뢰된 도메인 내 크리덴셜 서버 간 디지털 PKI(또는 PKI에 기반하는 디지털 인증서)를 발생 및 사용하기 위한 시스템에 관한 것이다. 모바일 폰은 PHI와 같은 민감 정보로의 액세스의 관리를 위해 크리덴셜 서버에 접속하기에 충분한 통신 능력을 갖는다.
여러 모바일 디바이스(20)가 셀룰러 통신을 통하여 셀룰러 기지국(24)과 무선 통신하고 있는 것으로 도시되어 있다. 셀룰러 기지국(24)은, 하나 이상의 셀룰러 통신 사업자(도시되지 않음)에 의해 운영되는 여러 중간 서버를 통하여, 인터넷(28)과 같은 대규모 공중 네트워크를 통한 통신을 가능하게 한다. 도 1은 인터넷(28)과 통신 연락하고 있는 여러 비-모바일 컴퓨팅 디바이스(21)를 더 예시하고 있다. 트랜잭션 서버(32)가 또한 인터넷(28)과 통신하고 있을 수 있다. 트랜잭션 서버(32)는 또한 사설 네트워크를 통하여 유효성 검증 서버(36)와 통신하고 있을 수 있다. 부가적으로, 트랜잭션 서버(32)는 금융 기관(40)과 같은 민감 정보의 하나 이상의 레포지토리와 통신하고 있을 수 있고, 여기서 모바일 디바이스(20) 및/또는 비-모바일 컴퓨팅 디바이스(21)의 사용자는 사업 또는 건강 관리와 같이 어떤 종류의 관계를 가질 수 있다.
본 발명에 따른 실시예는 도 1에 예시된 모바일 디바이스(20) 및/또는 비-모바일 컴퓨팅 디바이스(21)의 유형에 국한되지 않는다. 실시예들은 PC, 맥북, 태블릿 컴퓨터, 씬 클라이언트를 포함하는 실질적으로 어떠한 유형의 입/출력 디바이스 또는 단말, 또는 네트워크를 통하여 액세스 가능한 실질적으로 어떠한 다른 유형의 컴퓨팅 디바이스와도 사용될 수 있다.
도 1에 도시된 바와 같은 구성요소의 구성은 단지 예시의 목적일 뿐이며 구성요소의 어떠한 특정 배열로라도 본 발명의 실시예를 제한하는 것으로 해석되어서는 아니됨이 강조되어야 한다.
서버는 프로세싱 유닛(CPU), 마이크로프로세서, 또는 소프트웨어를 실행하는 다른 유형의 디지털 데이터 프로세서 또는 주문형 반도체(ASIC)와 더불어 그러한 구성요소의 다양한 일부 또는 조합을 포함하는 소프트웨어-제어되는 시스템일 수 있다. 메모리는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 또는 이들의 조합 및 다른 유형의 전자 메모리 디바이스를 포함할 수 있다. 본 발명의 실시예는 소프트웨어, 하드웨어(국한되는 것은 아니지만, 로직 회로 등), 또는 그 조합으로서 구현될 수 있다.
도 2a를 참조하면, 모바일 디바이스(20)의 여러 컴포넌트가 도시되어 있다. 예시된 바와 같이, 이러한 실시예에 있어서, 모바일 디바이스(20)는 기본 기능을 갖는 전형적 모바일 폰이다. 모바일 디바이스(20)는 사용자로부터의 입력을 수신하기 위한 입력 인터페이스(60)를 갖고, 디스플레이(64)가 정보를 사용자에게 시각적으로 제시하기 위해 제공된다. 모바일 디바이스(20)는 또한, 모바일 디바이스(20) 상에서 실행되는 여러 애플리케이션 및 데이터와 함께, 모바일 디바이스(20)의 주 기능성을 제어하는 운영 체제를 저장하기 위한 메모리(68)를 포함한다. 프로세서(72)는 운영 체제 및 애플리케이션을 실행한다. SIM 카드(76)는 애플리케이션 및 데이터를 저장하기 위한 부가적 메모리를 제공하고, 그것들을 실행하기 위한 마이크로프로세서를 갖고 있다. 부가적으로, SIM 카드(76)는 모바일 디바이스(20)의 식별을 가능하게 하는 고유 하드웨어 식별 코드를 갖고 있다. 설치될 때, SIM 카드(76)는 모바일 디바이스(20)의 일부를 형성한다. 다른 유형의 모바일 디바이스는 SIM 카드(76) 대신에 등가의 기능성을 제공하는 암호화된 디바이스 메모리를 가질 수 있다. 통신 인터페이스(80)는 음성 및 데이터용 셀룰러 네트워크와의 통신을 가능하게 한다.
도 2b를 참조하면, 비-모바일 컴퓨팅 디바이스(21)의 여러 컴포넌트가 도시되어 있다. 예시된 바와 같이, 이러한 실시예에 있어서, 비-모바일 디바이스(21)는 기본 기능을 갖는 전형적 데스크톱 또는 타워 컴퓨터이다. 비-모바일 디바이스(21)는 사용자로부터의 입력을 수신하기 위한 사용자 입력 인터페이스(251)(예를 들어, 키보드, 터치스크린 및/또는 마이크로폰)를 갖고, 사용자 출력 인터페이스(253)가 정보를 사용자에게 시각적으로 또는 청각적으로 제시하기 위해 제공된다. 비-모바일 디바이스(21)는 또한, 비-모바일 디바이스(21) 상에서 실행되는 여러 애플리케이션 및 데이터와 함께, 비-모바일 디바이스(21)의 주 기능성을 제어하는 운영 체제를 저장하기 위한 메모리(255)를 포함한다. 프로세서(257)는 운영 체제 및 애플리케이션을 실행한다. 비-모바일 디바이스(21)는 비-모바일 디바이스(21)의 식별을 가능하게 하는 고유 하드웨어 식별 코드를 가질 수 있다(예를 들어, 맥(MAC) 주소). 메모리(255)의 적어도 일부는 암호화될 수 있다. 통신 인터페이스(259)는, 예를 들어, 이더넷 또는 와이-파이 인터페이스에 의해 LAN 또는 인터넷(28)과의 통신을 가능하게 한다.
도 3은 본 발명에 따른 시스템 및 프로세스의 일 실시예(300)를 추상적 하이 레벨로 예시하고 있다. 실시예(300)는, PKI 지원 아키텍처 및 그것을 사용하기 위한 방법을 제공하기 위하여, 공개/비밀 키-쌍 및 공개 키를 포함하는 디지털 인증서를 관리할 때 유용할 수 있다. 실시예(300)는 최종-사용자(301)에 대한 머신 인터페이스를 포함한다. 머신 인터페이스는 관용적 고정-위치 컴퓨터(또는 단말기)(303) 및/또는 모바일 디바이스(305)를 포함할 수 있다. 도 1에 예시된 모바일 디바이스(20) 및/또는 비-모바일 컴퓨팅 디바이스(21)가 단말기(303) 및/또는 모바일 디바이스(305)로서 사용가능할 수 있다. 모바일 디바이스(305)는, 존재하는 경우에, 보안 모바일 컨테이너 앱과 같은 모바일 앱(307)을 포함할 수 있다. 보안 모바일 컨테이너 앱은, 존재하는 경우에, 그 안에 저장된 민감 정보의 비밀 유지 및 무결성을 제공하고 그리고 실시예(300)에 의해 사용되는 최종-사용자 크리덴셜의 보호를 제공하기 위하여 하나 이상의 보안된 데이터 스토어를 더 포함하거나 그와 통신 연락하고 있을 수 있다.
실시예(300)는 고정 단말기(303) 및/또는 모바일 디바이스(305)가 보안 서비스 서버(311)와 인터페이싱하기 위해 PKI 클라이언트로서 사용될 수 있는 클라이언트/서버 방식으로 동작할 수 있다. 보안 서비스 서버(311)는 고객 등록 애플리케이션(313), 크리덴셜 서버 애플리케이션/보안 개발 플랫폼(SDP)(317)(크리덴셜 서버(317) 또는 SDP(317)라고도 지칭됨) 및/또는 신뢰된 제3자 PKI/CA 애플리케이션(315)과 같이 하나 이상의 서버-측 애플리케이션을 포함할 수 있다. 서버-측 애플리케이션 중 하나 이상은 보안 서비스 서버(311)의 일부분으로서든 보안 서비스 서버(311)의 외부에든 위치하고 있을 수 있는 일차적 인증 서비스(321)와 통신 연락하고 있을 수 있다. 인증서 유효성 검증 서버(36)(도 1 참조)가 보안 서비스 서버(311)로서 사용가능할 수 있다.
서버-측 애플리케이션은 발행 매니저, 인증 모듈, 프로비저닝 모듈, 보안 메시징 서비스(SMS) 매니저 모듈 등과 같은 하나 이상의 서버-레벨 서비스를 실행하도록 적응되어 있는 보안 개발 플랫폼/크리덴셜 서버(SDP)(317)와 인터페이싱할 수 있다. SDP(317)는 엠헬스 애플리케이션의 개발을 위한 보안 개발 플랫폼(즉, 무단 침입으로부터의 보안)을 제공할 수 있다. SDP(317)는 엠헬스 애플리케이션의 최종 사용자가 PKI 정보, 디지털 인증서 등을 관리할 필요 없이 그리고 보안하여 그러한 애플리케이션을 사용할 수 있게 되도록 보안 사용 플랫폼을 더 제공할 수 있다. 비밀번호, 일회용 비밀번호, 인증서, 보안 소켓 계층(secure sockets layer: SSL) 정보, 및/또는 전송 레벨 보안(transmission level security: TLS) 정보와 같은 민감 정보는 SDP(317)에게는 액세스 가능한 보안 메모리에 저장될 수 있다. 보안 개발 플랫폼(317)은 그 안에 저장된 민감 정보의 비밀 유지 및 무결성을 제공하고 그리고 보안 서비스 서버(311)에 의해 사용되는 크리덴셜의 보호를 제공하기 위하여 하나 이상의 보안된 데이터 스토어를 더 포함하거나 그와 통신 연락하고 있을 수 있다. 보안 개발 플랫폼/크리덴셜 서버(317)는 민감 정보로의 게이트키퍼 또는 데이터 액세스 컨트롤러로서 동작할 수 있다. 관리책임자 인터페이스(319)는 관리책임자가 SDP(317)를 구성하고 그렇지 않으면 관리할 수 있게 하기 위해 제공될 수 있다.
실시예(300)의 동작에 있어서, 최종 사용자(301)는 보안 링크 및 관용적 고정-위치 컴퓨터(또는 단말기)(303)와 같은 머신 인터페이스 중 하나의 사용에 의해 시스템에 최초 로그인을 시도함으로써 시작할 수 있다. 단말기(303) 및 보안 서비스 서버(311)는 등록 정보, 계정 코드, (OTP를 포함하는) 비밀번호, 및 SSL/TLS를 지원할 보안 정보 등과 같은 크리덴셜을 교환할 수 있다.
다음에, 고객 등록 애플리케이션(313)은 단말기(303)로부터 등록 요청을 수신할 수 있다. 그때 고객 등록 애플리케이션(313)은 각각의 사용자에 대해 그들의 아이디를 확인해 주기 위하여 사용자 등록 요청을 관리하고, 특정 사용자 활성화 코드를 반환하고 그리고 일차적 인증을 요청하기 위해 보안 개발 플랫폼/크리덴셜 서버(317) 상에서 실행 중인 서버-레벨 서비스 및/또는 다른 서버-측 애플리케이션과 인터페이싱할 수 있다. 고객 등록 애플리케이션(313)은 보안 개발 플랫폼(317)에 유효한 사용자를 등록하도록 이러한 정보를 사용할 수 있다.
다음에, 소정 추후 시점에서, 최종 사용자(301)는 보안 모바일 컨테이너 앱과 같은 모바일 앱(307)을 통하여 비밀 유지 정보에 액세스하려고 시도할 수 있다. 모바일 앱은 디지털 인증서가 발생되는 요청, 디지털 서명 또는 디지털 서명의 유효성 검증 요청, 인증 요청 또는 유사 메시지를 보안 서비스 서버(311)에 송신할 수 있다. 보안 서비스 서버(311)는 보안 모바일 컨테이너 애플리케이션이 최종 사용자(301)로부터의 요청을 프로세싱하기 위해 충분한 보안 정보 및/또는 수권으로 응답할 수 있다. 보안 서비스 서버(311)로부터의 정보는 일회용 비밀번호, 보안 인증된 세션, SSL 정보, TLS 정보 등을 포함할 수 있다.
도 4는, 도 3의 실시예(300)와 유사하지만 다른 추상화 레벨에서, 본 발명에 따른 시스템 및 프로세스의 일 실시예(400)를 추상적 하이 레벨로 예시하고 있다. 실시예(400)는 공개/비밀 키-쌍 및 공개 키를 포함하는 디지털 인증서를 관리할 때 유용할 수 있다. 유사한-번호의 구성요소가 도 3에 또한 예시되어 있을 수 있다. 실시예(400)는 PKI 서비스(415)와 통신 연락하고 있는 사용자 디바이스(303)를 포함한다. PKI 서비스(415)는 디지털 인증서를 발생 및 유효성 검증하는 레지스트라로서 역할한다. PKI 서비스(415)는 고객 등록 애플리케이션(313) 및/또는 신뢰된 제3자 PKI/CA 애플리케이션(315)과 같이 하나 이상의 서버-측 애플리케이션의 기능성을 포함할 수 있다. 일부 실시예에 있어서 PKI 서비스(415)는 보안 개발 플랫폼(317)과 논리적으로 통합될 수 있는 반면, 다른 실시예에 있어서 PKI 서비스(415)는 보안 개발 플랫폼(317)으로부터 물리적으로 원격이지만 그와 통신 연락하고 있을 수 있다. 통신 연락은 인터넷(28)(도 1 참조) 또는 LAN과 같은 네트워크(도 4에는 예시되지 않음)를 통해서일 수 있다. 실시예(400)는 또 다른 사용자 디바이스(305)(사용자 디바이스(303)와 동일할 수도 있고 그렇지 않을 수도 있음)를 더 포함할 수 있다. 사용자 디바이스(305)는 보안 개발 플랫폼(317) 및 보안 데이터 스토어(407)와 통신 연락하고 있을 수 있다. 보안 개발 플랫폼(317)은 키 저장소(447)와 통신 연락하고 있을 수 있다. 키 저장소는 민감 정보를 저장하도록 사용되는 보호된 메모리이다. 키 저장소는, 저장된 데이터의 암호화, 방화벽과 같은 액세스 제어의 사용 등과 같이, 민감 정보를 저장하도록 당업계에 알려져 있는 기술을 사용할 수 있다. 키 저장소(447)는 보안 개발 플랫폼(317)과는 물리적으로 별개이지만 통신 연락하고 있을 수 있다. 대안으로, 키 저장소(447)의 적어도 일부는 보안 개발 플랫폼(317) 내 메모리의 적어도 일부로서 구현될 수 있다.
키 저장소(447)는 보안 개발 플랫폼(317)에게는 액세스 가능하지만 사용자 디바이스(305) 및 PKI 서비스(415)에 의해서 직접 액세스 가능하지는 않은 메모리를 제공한다. 예를 들어, 사용자 디바이스(305) 및 PKI 서비스(415)에게 직접 액세스 가능하지는 않음으로써, 키 저장소(447)는 사용자 디바이스(305) 및 PKI 서비스(415)의 일부분이 아니고, 사용자 디바이스(305) 및 PKI 서비스(415)에 의해 관리되지 않으며, 사용자 디바이스(305) 및 PKI 서비스(415) 상에서 실행 중인 프로세스에 의해 액세스되지 않는다. 그렇지만, 사용자 디바이스(305)가 키 저장소(447)에 저장된 정보를 사용할 필요가 있으면, 그때 보안 개발 플랫폼(317)과 같은 또 다른 디바이스 상에서 실행 중인 프로세스는 키 저장소(447)에 액세스하여 사용자 디바이스(305)에 대한 요청을 수행하고 그 결과를 다시 사용자 디바이스(305)에 통신할 수 있다.
디지털 인증서를 생성하기 위한 실시예(400)에 따른 프로세스는 우선 사용자 디바이스(303)가 메시지(451)를 PKI 서비스(415)에 송신하는 것을 포함할 수 있다. 메시지(451)는 사용자 디바이스(303) 및/또는 사용자 디바이스(305)의 사용자와 관련 있는 등록 정보를 포함할 수 있다. 메시지(451)의 등록 정보는 사용자 디바이스(303) 및/또는 사용자 디바이스(305)에 대한 PKI 및 인증서 정보를 관리할 수 있도록 PKI 서비스(415)를 최초 셋업하는데 사용될 수 있다.
다음에, PKI 서비스(415)는, SDP(317)가 사용자 디바이스(303) 및/또는 사용자 디바이스(305)에 대한 PKI 키-쌍 및 인증서를 관리 가능으로 되어 있음을 사용자 디바이스(303) 및/또는 사용자 디바이스(305)에 확인해 주는, 활성화 코드 메시지를 포함하는 메시지(452)를 다시 사용자 디바이스(303) 및/또는 사용자 디바이스(305)에 보낼 수 있다. 참조의 용이함을 위하여, 사용자 디바이스(303) 및/또는 사용자 디바이스(305)는, 사용자 디바이스(303)와 사용자 디바이스(305) 간 구별이 명확히 의도되지 않는 한, 이후에는 일괄하여 사용자 디바이스(305)라고 지칭될 것이다.
다음에, 사용자 디바이스(305) 및 보안 개발 플랫폼(317)은 프로비전 토큰에 대한 사용자 디바이스(305)로부터의 요청을 포함하는 메시지 교환(453)에 관여할 수 있다. 응답하여, 프로비전 토큰은 보안 개발 플랫폼(317)에 의해 발생되어 다시 사용자 디바이스(305)에 보내진다. 프로비전 토큰 및 크리덴셜은 사용자 디바이스(305)에 의해 수신되고 차례로 메시지(454)를 통하여 보안 키 데이터 스토어(407)에 저장을 위해 보내진다. 보안 키 데이터 스토어(407)는 보호된 메모리를 포함할 수 있고, 사용자 디바이스(305) 내 메모리의 일부로서 구현될 수 있다.
다음에, 소정 추후 시점에서, 사용자 디바이스(305)는 디지털 인증서 및 대응하는 PKI 키-쌍(공개/비밀 키 쌍)을 생성하기 위하여 메시지(455)를 보안 개발 플랫폼(317)에 보낸다. 보안 개발 플랫폼(317)은 공개/비밀 키 쌍을 생성하고 차례로 디지털 인증서의 발생을 요청하는 메시지(457)를 발생시킬 것이다. 메시지(457)는 PKI 서비스(415)에 보내진다. 대략 동시에, 보안 개발 플랫폼(317)은 메시지(456)를 발생시키고 사용자 디바이스(305)에 대한 PKI 키-쌍의 비밀 키를 저장하기 위해 키 저장소(447)에 메시지(456)를 보낼 수 있다.
PKI 서비스(415)가 보안 개발 플랫폼(317)으로부터 메시지(457)를 수신한 후에, PKI 서비스(415)는 메시지(457) 내 정보를 사용하여 디지털 인증서를 생성할 수 있다. 정보가 유효하면, 그때 PKI 서비스(415)는 메시지(457) 내 공개 키로 디지털 인증서를 발생시킬 수 있다. 디지털 인증서는 메시지(458)의 사용에 의해 보안 개발 플랫폼(317)에 PKI 서비스(415)에 의해 보내진다. 그 후 수신된 인증서는 보안 개발 플랫폼(317)에 의한 장래 사용을 위해 보안 저장되기 위하여 키 저장소(447)에 메시지(459)의 사용에 의해 보내진다.
위에서 설명된 실시예(400)의 메시지 교환의 종결시, SDP(317)에 의해 보유된 디지털 인증서 및 비밀 키는 사용자 디바이스(305)에 의한 사용에 준비되어 있다. 예를 들어, 사용자 디바이스(305) 상에서 실행 중인 건강-관련 모바일 앱은 이제 비밀 키 및 디지털 인증서의 사용에 의해 민감 정보에 액세스, 서명 및/또는 유효성 검증할 수 있다.
도 5는 본 발명에 따른 시스템 및 프로세스의 일 실시예(500)를 추상적 하이 레벨로 예시하고 있다. 실시예(500)는 비밀 키 디지털 인증서의 사용에 의해 문서에 보안 서명하기 위한 보안, PKI 지원 아키텍처에서 유용할 수 있다. 유사한-번호의 구성요소가 도 3 내지 도 4에 또한 예시되어 있을 수 있다.
실시예(500)는 보안 개발 플랫폼(317)에 통신 결합되는 사용자 디바이스(305)를 포함한다. 보안 개발 플랫폼(317)은 차례로 PKI 서비스(415)에 그리고 키 저장소(447)에 통신 결합되어 있다. 실시예(400)에서와 같이, 키 저장소(447)는 보안 개발 플랫폼(317)과는 물리적으로 별개이지만 통신 연락하고 있을 수 있다. 대안으로, 키 저장소(447)의 적어도 일부는 보안 개발 플랫폼(317) 내 메모리의 적어도 일부로서 구현될 수 있다.
실시예(500)에 따른 프로세스는 우선 사용자 디바이스(305)가 메시지(501)를 보안 개발 플랫폼(317)에 송신하는 것을 포함할 수 있다. 메시지(501)는 디지털식 서명될 문서를, 그것이 서명되게 하라는 요청과 함께, 포함할 수 있다.
다음에, 보안 개발 플랫폼(317)은 메시지(502)를 PKI 서비스(415)에 보낼 수 있다. 메시지(502)는 사용자 디바이스(305) 및/또는 사용자 디바이스(305)의 사용자와 관련 있는 디지털 인증서를 유효성 검증하라는 요청을 포함하고, 유효성 검증되도록 할 디지털 인증서를 포함할 수 있다.
다음에, PKI 서비스(415)가 디지털 인증서가 유효한지 여부를 결정할 수 있은 후에, PKI 서비스(415)는 디지털 인증서가 유효한지 여부의 표시를 갖는 메시지(503)를 보안 개발 플랫폼(317)에 보낼 수 있다.
다음에, 디지털 인증서가 유효하다고 알게 되었으면, 그 후 보안 개발 플랫폼(317)은 서명된 문서를 사용자 디바이스(305)에 제공하기 위해 메시지(504)를 사용자 디바이스(305)에 보낼 수 있으며, 그 문서는 보안 키 저장소(447) 내 사용자 디바이스(305) 또는 사용자 디바이스(305)의 사용자와 연관된 디지털 인증서 비밀 키에 의해 디지털식 서명되어 있다. 도 5에 예시된 실시예의 실시 동안 어느 시점에서라도, 보안 개발 플랫폼(317)은 문서를 디지털식 서명하도록 보안 개발 플랫폼(317)에 의해 필요로 되는 데이터를 읽고/쓰기 위하여 키 저장소(447)와 인터페이싱할 수 있다.
도 6은 본 발명에 따른 시스템 및 프로세스의 일 실시예(600)를 추상적 하이 레벨로 예시하고 있다. 실시예(600)는 디지털 인증서에서 배포된 공개 키의 사용에 의해 문서 서명을 유효성 검증하기 위한 보안, PKI 지원 아키텍처에서 유용할 수 있다. 유사한-번호의 구성요소가 도 3 내지 도 5에 또한 예시되어 있을 수 있다.
실시예(600)는 보안 개발 플랫폼(317)에 통신 결합되는 사용자 디바이스(305)를 포함한다. 보안 개발 플랫폼(317)은 차례로 PKI 서비스(415)에 그리고 키 저장소(447)에 통신 결합되어 있다. 실시예(400)에서와 같이, 키 저장소(447)는 보안 개발 플랫폼(317)과는 물리적으로 별개이지만 통신 연락하고 있을 수 있다. 대안으로, 키 저장소(447)의 적어도 일부는 보안 개발 플랫폼(317) 내 메모리의 적어도 일부로서 구현될 수 있다.
실시예(600)에 따른 프로세스는 우선 사용자 디바이스(305)가 메시지(601)를 보안 개발 플랫폼(317)에 송신하는 것을 포함할 수 있다. 메시지(601)는 문서를 유효성 검증하라는 요청을 포함할 수 있다. 일부 실시예에 있어서, 메시지(601)는 문서 자체를 포함할 수 있다. 다른 실시예에 있어서, 메시지(601)는 유효성 검증되도록 할 문서의 특성을 포함할 수 있으며, 그 특성은, 실시예(600)에 의해 유지되는 보안 및/또는 인증서 정보와 함께, 문서가 유효한지 여부를 결정하기에 충분하다.
다음에, 보안 개발 플랫폼(317)은 메시지(602)를 PKI 서비스(415)에 보낼 수 있다. 메시지(602)는 디지털 인증서 및 인증서 체인을 유효성 검증하라는 요청을 포함한다.
다음에, PKI 서비스(415)가 디지털 인증서가 유효한지 여부를 결정할 수 있은 후에, PKI 서비스(415)는 디지털 인증서가 유효한지 여부의 표시를 갖는 메시지(603)를 보안 개발 플랫폼(317)에 보낼 수 있다. 보안 개발 플랫폼(317)은 이러한 정보를 디지털 인증서 공개 키 및 사용자 디바이스(305)로부터 수신된 문서를 유효성 검증하는데 필요로 될 수 있는 어느 다른 정보와 함께 사용한다.
다음에, 보안 개발 플랫폼(317)은 유효성 검증 결과를 사용자 디바이스(305)에 제공하기 위해 메시지(604)를 사용자 디바이스(305)에 보낼 수 있다. 문서가 유효하면, 그 후 사용자 디바이스(305) 및 그 사용자는 그 문서로의 액세스 및 그에 대한 제어가 가능하게 된다. 문서가 유효하지 않으면, 그 후 사용자 디바이스(305) 및 그 사용자는 그 문서로의 액세스도 그에 대한 제어도 허용되지 않는다.
도 6에 예시된 실시예의 실시 동안 어느 시점에서라도, 보안 개발 플랫폼(317)은 보안 개발 플랫폼(317)에 의해 필요로 되는 데이터를 읽고/쓰기 위하여 키 저장소(447)와 인터페이싱할 수 있다.
본 발명의 실시예는 하나 이상의 메모리에 결합된 하나 이상의 프로세싱 유닛을 갖는 시스템을 포함한다. 하나 이상의 메모리는, 하나 이상의 프로세싱 유닛에 의해 실행될 때, 적어도 도 3 및 도 4 및 관련문에서를 포함하여 여기서 설명된 실시예의 실시를 가능하게 하는 소프트웨어를 저장하도록 구성될 수 있다.
개시된 방법은 각종 컴퓨터 또는 워크스테이션 플랫폼 상에서 사용될 수 있는 이식가능한 소스 코드를 제공하는 객체 또는 객체-지향 소프트웨어 개발 환경을 사용함으로써 등 소프트웨어로 쉽게 구현될 수 있다. 대안으로, 개시된 시스템은 표준 논리 회로 또는 VLSI 설계를 사용함으로써 등 부분적으로 또는 완전히 하드웨어로 구현될 수 있다. 본 발명의 다양한 실시예에 따라 시스템을 구현하도록 소프트웨어가 사용될 수 있는지 하드웨어가 사용될 수 있는지는 시스템의 속도 또는 효율 요건, 특정 기능 및 이용 중인 특정 소프트웨어 또는 하드웨어 시스템과 같은 다양한 고려사항에 의존할 수 있다.
전술한 것은 본 발명의 실시예에 관한 것이지만, 본 발명의 다른 그리고 추가적 실시예가 그 기본 범위로부터 벗어남이 없이 고안될 수 있다. 여기서 설명된 다양한 실시예가, 여기에 포함된 범위로부터 벗어남이 없이, 설명된 어느 다른 실시예와도 조합하여 이용될 수 있다고 이해된다. 더욱, 전술한 설명은 본 발명을 개시된 바로 그 형태로 제한하거나 총망라한 것으로 의도되는 것은 아니다. 수정 및 변형은 위 교시에 비추어 가능하거나 본 발명의 실시로부터 취득될 수 있다. 소정 대표적 실시예는 리스트 아이템이 실시예를 대표함 및 리스트가 추가적 실시예를 배제하는 폐쇄형 리스트를 표현하려는 의도가 아님을 나타내는 자구를 포함하는 개방-단 리스트의 사용에 의해 식별될 수 있다. 그러한 자구는 "예를 들어", "등", "와 같은", "예컨대", "기타 등등", "따위" 등 및 주변 맥락으로부터 분명하게 될 바와 같은 다른 자구를 포함할 수 있다.
본 출원의 설명에서 사용된 구성요소, 동작 또는 명령어는 본 발명에 중대하거나 필수적인 것으로, 그처럼 명시적으로 설명되지 않는 한, 그렇게 해석되어서는 안 된다. 또한, 여기서 사용되는 바와 같이, 부정 관사는 하나 이상의 아이템을 포함하려는 의도이다. 하나의 아이템만이 의도되는 경우, 용어 "하나" 또는 유사한 언어가 사용된다. 더욱, 여기서 사용되는 바와 같이, 복수의 아이템 및/또는 복수의 아이템 카테고리의 열거가 뒤따르는 용어 "중 어느 하나"는 아이템 및/또는 아이템 카테고리 "중 어느 하나", "중 어느 조합", "중 어느 다수" 및/또는 "중 다수의 어느 조합"을, 개별적으로 또는 다른 아이템 및/또는 다른 아이템 카테고리와 함께, 포함하려는 의도이다.
더욱, 청구범위는 설명된 순서 또는 구성요소로 한정되는 것으로, 그 효과로 서술되지 않는 한, 그렇게 읽혀서는 안 된다. 부가적으로, 어느 청구항에서 용어 "수단"의 사용은 35 U.S.C. §112, ¶6을 들려는 의도이고, 단어 "수단"이 없는 어느 청구항도 그렇게 의도되지 않는다.

Claims (20)

  1. 문서에 디지털식 서명하는 방법으로서,
    보안 개발 플랫폼(secure development platform: SDP)에 의해, 최종-사용자로부터의 보안 정보를 수신하는 단계로서, 상기 SDP는 보안 SDP 메모리에 결합된 SDP 프로세서를 포함하는 것인, 상기 보안 정보를 수신하는 단계;
    상기 보안 정보에 기반하여 사용자 디바이스와 보안 토큰을 교환하는 단계;
    디지털 인증서에 대한 요청을 상기 사용자 디바이스로부터 수신하는 단계;
    상기 디지털 인증서에 대한 요청을 PKI(public-key infrastructure) 서비스 프로세서에 송신하는 단계;
    상기 디지털 인증서에 대한 요청 내의 정보가 옳으면, 상기 디지털 인증서를 생성하는 단계; 및 상기 PKI 서비스 프로세서로부터 상기 디지털 인증서를 수신하는 단계; 및
    상기 디지털 인증서를 상기 보안 SDP 메모리에 저장하는 단계를 포함하되, 상기 보안 SDP 메모리는 상기 사용자 디바이스에 의해 직접 액세스 가능하지 않고, 상기 SDP 프로세서는 상기 디지털 인증서의 사용에 의한 유효성 검증을 요청하도록 구성되는 것인 방법.
  2. 제1항에 있어서,
    디지털식 서명할 문서를 상기 사용자 디바이스로부터 수신하는 단계;
    상기 사용자 디바이스와 관련된 디지털 인증서를 유효성 검증하라는 요청을 상기 PKI 서비스 프로세서에 송신하는 단계;
    상기 디지털 인증서의 유효성의 표시를 상기 PKI 서비스 프로세서로부터 수신하는 단계; 및
    상기 표시가 유효한 디지털 인증서를 나타내면,
    사용자마다 SDP에 의해 발생된 상기 디지털 인증서 비밀 키에 기반하여 상기 문서에 디지털식 서명하는 단계; 및
    서명된 상기 문서를 최종-사용자에게 제공하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서,
    서명할 문서 및 상기 디지털 인증서를 상기 사용자 디바이스로부터 수신하는 단계;
    상기 디지털 인증서를 상기 PKI 서비스 프로세서에 제공하는 단계;
    상기 디지털 인증서의 유효성의 표시를 상기 PKI 서비스 프로세서로부터 수신하는 단계; 및
    상기 표시가 유효한 디지털 인증서를 나타내면, 상기 문서의 유효성의 표시를 상기 사용자 디바이스에 제공하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서, 상기 유효성 검증은 세션마다 변경되는 데이터 전송에 사용되는 대칭형 키의 사용을 포함하는 것인 방법.
  5. 제1항에 있어서, 상기 디지털 인증서는 최종 사용자에 의해 관리되지 않는 것인 방법.
  6. 제1항에 있어서, 상기 SDP는 최종 사용자에 대한 PKI 크리덴셜(credential) 및 서비스를 관리하도록 구성되는 것인 방법.
  7. 제1항에 있어서, 상기 유효성 검증은 이중 인증 프로세스의 사용을 포함하는 것인 방법.
  8. 제1항에 있어서, 상기 SDP는 하나보다 많은 소스로부터 유도되는 멀티-패스 대칭형 키를 사용하도록 구성되는 것인 방법.
  9. 제1항에 있어서, 상기 보안 토큰을 상기 사용자 디바이스에 복원하는 단계를 더 포함하는 방법.
  10. 제1항에 있어서, 상기 SDP는 양방향 인증식 암호화 채널(bilateral authenticated and encrypted channel)을 제공하도록 구성되는 것인 방법.
  11. 문서를 디지털식 유효성 검증하는 시스템으로서,
    보안 SDP 메모리에 그리고 수신기에 결합된 SDP 프로세서를 포함하는 보안 개발 플랫폼(SDP)으로서, 상기 수신기는 최종 사용자로부터 보안 정보를 수신하도록 구성되는 것인, 상기 SDP;
    상기 보안 정보에 기반하여 사용자 디바이스와 보안 토큰을 교환하도록; 그리고 디지털 인증서에 대한 요청을 상기 사용자 디바이스로부터 수신하도록 구성된 통신 인터페이스;
    상기 디지털 인증서에 대한 요청을 상기 PKI 서비스 프로세서에 송신하도록 구성된 송신기; 및
    상기 디지털 인증서에 대한 요청 내의 정보가 상기 디지털 인증서 요청 내의 정보와 일치하면 상기 PKI 서비스 프로세서로부터 상기 디지털 인증서를 수신하도록 구성된 수신기를 포함하되,
    상기 보안 SDP 메모리에 저장된 상기 디지털 인증서는 상기 사용자 디바이스에 의해 직접 액세스 가능하지 않은 것인 시스템.
  12. 제11항에 있어서,
    유효성 검증할 디지털 인증서를 상기 PKI 서비스 프로세서에 송신하도록 구성된 송신기; 및
    상기 디지털 인증서의 유효성의 표시를 상기 PKI 서비스 프로세서로부터 수신하도록 구성된 수신기를 더 포함하되,
    상기 SDP는 상기 유효성의 표시 및 SDP에 의해 발생되어 저장된 PKI 키-쌍에 기반하여 상기 문서에 디지털식 서명하는 것인 시스템.
  13. 제11항에 있어서,
    유효성 검증할 문서 및 디지털 인증서를 송신하도록 구성된 송신기로서, 상기 디지털 인증서는 상기 PKI 서비스 프로세서에 의해 유효성 검증되는 것인 상기 송신기; 및
    상기 디지털 인증서의 유효성의 표시를 상기 PKI 서비스 프로세서로부터 수신하도록 구성된 수신기를 더 포함하되,
    상기 SDP는 상기 문서를 유효성 검증하고 상기 유효성의 표시를 상기 사용자 디바이스에 제공하는 것인 시스템.
  14. 제11항에 있어서, 상기 유효성 검증은 세션마다 변경되는 데이터 전송에 사용되는 대칭형 키의 사용을 포함하는 것인 시스템.
  15. 제11항에 있어서, 상기 디지털 인증서는 최종 사용자에 의해 관리되지 않는 것인 시스템.
  16. 제11항에 있어서, 상기 SDP는 최종 사용자에 대한 PKI 크리덴셜 및 서비스를 관리하도록 구성되는 것인 시스템.
  17. 제11항에 있어서, 상기 유효성 검증은 이중 인증 프로세스의 사용을 포함하는 것인 시스템.
  18. 제11항에 있어서, 상기 SDP는 하나보다 많은 소스로부터 유도되는 멀티-패스 대칭형 키를 사용하도록 구성되는 것인 시스템.
  19. 제11항에 있어서, 상기 보안 토큰을 상기 사용자 디바이스에 복원하도록 구성된 통신 인터페이스를 더 포함하는 시스템.
  20. 제11항에 있어서, 상기 SDP는 양방향 인증식 암호화 채널을 제공하도록 구성되는 것인 시스템.
KR1020150020230A 2014-02-10 2015-02-10 원격 액세스, 원격 디지털 서명을 위한 방법 및 시스템 KR20150094548A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/176,963 2014-02-10
US14/176,963 US9722794B2 (en) 2014-02-10 2014-02-10 System and method for remote access, remote digital signature

Publications (1)

Publication Number Publication Date
KR20150094548A true KR20150094548A (ko) 2015-08-19

Family

ID=52468890

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150020230A KR20150094548A (ko) 2014-02-10 2015-02-10 원격 액세스, 원격 디지털 서명을 위한 방법 및 시스템

Country Status (5)

Country Link
US (1) US9722794B2 (ko)
EP (1) EP2905925B1 (ko)
JP (1) JP6543040B2 (ko)
KR (1) KR20150094548A (ko)
ES (1) ES2835025T3 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230151785A (ko) 2022-04-26 2023-11-02 김병익 Sdp를 이용한 계정과 서비스별 이중 인증 접근 제어 방법 및 시스템

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9438584B2 (en) * 2014-05-08 2016-09-06 Arris Enterprises, Inc. Provisioning DRM credentials on a client device using an update server
US10193700B2 (en) * 2015-02-27 2019-01-29 Samsung Electronics Co., Ltd. Trust-zone-based end-to-end security
WO2016137277A1 (en) 2015-02-27 2016-09-01 Samsung Electronics Co., Ltd. Electronic device providing electronic payment function and operating method thereof
US9722775B2 (en) * 2015-02-27 2017-08-01 Verizon Patent And Licensing Inc. Network services via trusted execution environment
US10846696B2 (en) 2015-08-24 2020-11-24 Samsung Electronics Co., Ltd. Apparatus and method for trusted execution environment based secure payment transactions
US10699274B2 (en) 2015-08-24 2020-06-30 Samsung Electronics Co., Ltd. Apparatus and method for secure electronic payment
CN105471918B (zh) * 2016-01-13 2018-06-12 中山大学 一种代理重指定验证者签名方法
JP6783527B2 (ja) * 2016-02-24 2020-11-11 日本電信電話株式会社 電子鍵再登録システム、電子鍵再登録方法およびプログラム
US9940480B2 (en) 2016-02-25 2018-04-10 Red Hat, Inc. Securing delegated remote management with digital signature
US10291604B2 (en) 2016-06-03 2019-05-14 Docusign, Inc. Universal access to document transaction platform
DE102017105396A1 (de) * 2017-03-14 2018-09-20 Francotyp-Postalia Gmbh System zum elektronischen Signieren eines Dokuments
US10541818B2 (en) 2017-04-19 2020-01-21 International Business Machines Corporation Decentralized biometric signing of digital contracts
US11240240B1 (en) * 2017-08-09 2022-02-01 Sailpoint Technologies, Inc. Identity defined secure connect
EP3738272A4 (en) * 2018-01-11 2021-09-15 Lg Electronics Inc. CRYPTOGRAPHIC PROCEDURES AND SYSTEMS THAT USE ACTIVATION CODES FOR REVOCATION OF DIGITAL CERTIFICATES
US11030280B2 (en) * 2018-08-01 2021-06-08 Microsoft Technology Licensing, Llc Hardware based identities for software modules
US11190507B2 (en) * 2018-09-27 2021-11-30 Apple Inc. Trusted device establishment
US11269999B2 (en) * 2019-07-01 2022-03-08 At&T Intellectual Property I, L.P. Protecting computing devices from malicious tampering
JP7041650B2 (ja) * 2019-07-31 2022-03-24 株式会社Sbi Bits 秘密鍵を再製するためのシステム
CN113297563B (zh) * 2021-06-18 2023-01-24 海光信息技术股份有限公司 访问片上***特权资源的方法、装置及片上***
WO2023200904A1 (en) * 2022-04-14 2023-10-19 Emory University Devices, systems and methods for securing communication integrity

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743248B2 (en) * 1995-01-17 2010-06-22 Eoriginal, Inc. System and method for a remote access service enabling trust and interoperability when retrieving certificate status from multiple certification authority reporting components
IL113259A (en) 1995-04-05 2001-03-19 Diversinet Corp A device and method for a secure interface for secure communication and data transfer
US6105133A (en) * 1997-03-10 2000-08-15 The Pacid Group Bilateral authentication and encryption system
US6959382B1 (en) * 1999-08-16 2005-10-25 Accela, Inc. Digital signature service
US6871278B1 (en) * 2000-07-06 2005-03-22 Lasercard Corporation Secure transactions with passive storage media
US7050589B2 (en) * 2001-08-17 2006-05-23 Sun Microsystems, Inc. Client controlled data recovery management
US7693285B2 (en) * 2002-03-06 2010-04-06 Entrust, Inc. Secure communication apparatus and method
JP2003304243A (ja) * 2002-04-12 2003-10-24 Mitsubishi Electric Information Systems Corp 電子署名システム
US7484089B1 (en) * 2002-09-06 2009-01-27 Citicorp Developmemt Center, Inc. Method and system for certificate delivery and management
JP4410166B2 (ja) * 2005-07-14 2010-02-03 株式会社リコー 画像形成装置、電子署名生成方法、電子署名生成プログラム及び記録媒体
US7814538B2 (en) * 2005-12-13 2010-10-12 Microsoft Corporation Two-way authentication using a combined code
US7822209B2 (en) * 2006-06-06 2010-10-26 Red Hat, Inc. Methods and systems for key recovery for a token
US20090240936A1 (en) * 2008-03-20 2009-09-24 Mark Lambiase System and method for storing client-side certificate credentials
US8621601B2 (en) * 2008-05-21 2013-12-31 Sandisk Technologies Inc. Systems for authentication for access to software development kit for a peripheral device
US8898457B2 (en) * 2010-02-26 2014-11-25 Red Hat, Inc. Automatically generating a certificate operation request
DE102010028133A1 (de) 2010-04-22 2011-10-27 Bundesdruckerei Gmbh Verfahren zum Lesen eines Attributs aus einem ID-Token
US9137017B2 (en) * 2010-05-28 2015-09-15 Red Hat, Inc. Key recovery mechanism
US9129138B1 (en) * 2010-10-29 2015-09-08 Western Digital Technologies, Inc. Methods and systems for a portable data locker
US9270657B2 (en) * 2011-12-22 2016-02-23 Intel Corporation Activation and monetization of features built into storage subsystems using a trusted connect service back end infrastructure
US9049027B2 (en) 2012-05-17 2015-06-02 Zenerji Llc Non-PKI digital signatures and information notary public in the cloud
US8726342B1 (en) * 2012-10-31 2014-05-13 Oracle International Corporation Keystore access control system
NO335397B1 (no) 2012-11-15 2014-12-08 Maestro Soft As Signaturportering

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230151785A (ko) 2022-04-26 2023-11-02 김병익 Sdp를 이용한 계정과 서비스별 이중 인증 접근 제어 방법 및 시스템

Also Published As

Publication number Publication date
US20150229477A1 (en) 2015-08-13
ES2835025T3 (es) 2021-06-21
JP2015154491A (ja) 2015-08-24
EP2905925A1 (en) 2015-08-12
EP2905925B1 (en) 2020-09-09
JP6543040B2 (ja) 2019-07-10
US9722794B2 (en) 2017-08-01

Similar Documents

Publication Publication Date Title
EP2905925B1 (en) System and method for remote access, Remote digital signature
US11647023B2 (en) Out-of-band authentication to access web-service with indication of physical access to client device
US11558381B2 (en) Out-of-band authentication based on secure channel to trusted execution environment on client device
US11870769B2 (en) System and method for identifying a browser instance in a browser session with a server
Abid et al. NovidChain: Blockchain‐based privacy‐preserving platform for COVID‐19 test/vaccine certificates
US11265319B2 (en) Method and system for associating a unique device identifier with a potential security threat
ES2596308T3 (es) Método y disposición para autenticación segura
JP5852265B2 (ja) 計算装置、コンピュータプログラム及びアクセス許否判定方法
US10523441B2 (en) Authentication of access request of a device and protecting confidential information
US20160330029A1 (en) Authenticator device facilitating file security
US9887993B2 (en) Methods and systems for securing proofs of knowledge for privacy
AU2017354083A1 (en) Verifying an association between a communication device and a user
US10237057B2 (en) Method and system for controlling the exchange of privacy-sensitive information
US10958630B2 (en) System and method for securely exchanging data between devices

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