KR102157453B1 - 신원 검증을 사용하는 암호화 칩 - Google Patents
신원 검증을 사용하는 암호화 칩 Download PDFInfo
- Publication number
- KR102157453B1 KR102157453B1 KR1020197028379A KR20197028379A KR102157453B1 KR 102157453 B1 KR102157453 B1 KR 102157453B1 KR 1020197028379 A KR1020197028379 A KR 1020197028379A KR 20197028379 A KR20197028379 A KR 20197028379A KR 102157453 B1 KR102157453 B1 KR 102157453B1
- Authority
- KR
- South Korea
- Prior art keywords
- encryption
- request
- encryption operation
- client
- identity information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/76—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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/3231—Biological data, e.g. fingerprint, voice or retina
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2143—Clearing memory, e.g. to prevent the data from being stolen
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biodiversity & Conservation Biology (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
신원 검증에 종속되는 암호화 동작을 수행하기 위한, 컴퓨터 저장 매체 상에 인코딩되는 컴퓨터 프로그램을 포함하는 방법, 시스템 및 장치가 본원에서 개시된다. 방법 중 하나는, 암호화 칩에 의해, 클라이언트로부터 요청된 암호화 동작을 수행하라는 요청 - 요청은 클라이언트 신원 정보를 포함하고, 암호화 칩은 암호화 동작을 수행하는 프로세싱 리소스 및 암호화 동작에서 사용되는 키 정보, 및 암호화 동작을 요청하도록 허용되는 클라이언트와 관련되는 신원 정보를 저장하는 스토리지 리소스를 포함함 - 을 수신하는 것; 암호화 칩에 의해, 암호화 동작을 요청하도록 허용되는 클라이언트 중 하나와 클라이언트 신원 정보가 관련된다는 것을 결정하는 것; 및 암호화 칩에 의해, 스토리지 리소스에 저장되어 있는 키 정보에 기초하여 요청된 암호화 동작을 수행하는 것을 포함한다.
Description
본 명세서는 신원 검증(identity verification)에 종속되는 암호화 동작(cryptographic operation)을 수행하는 것에 관한 것이다.
몇몇 컴퓨팅 애플리케이션에서, 암호화(cryptography)는, 관련된 암호화 키(cryptographic key)를 소유하지 않고는 데이터의 원래 값을 획득하도록 해독하기가 터무니없이 어려운 형태로 데이터를 변환하기 위해 사용된다. 암호화 키의 손실은, 그 키로 암호화된 모든 데이터를 복구 불가능하게 만들 수 있다. 또한, 승인되지 않은 당사자에 의해 암호화 키가 학습되면, 그 키로 암호화된 모든 데이터는, 그것이 승인되지 않은 당사자에 의해 판독될 수 있기 때문에, 더 이상 안전하지 않다. 암호화 키가 분실되는 것 또는 손상되는 것을 방지하여, 키의 소유자에 의해 초래될 관련된 경제적 손실의 위험성을 감소시키는 것이 바람직할 것이다.
본 명세서는 신원 검증에 종속되는 암호화 동작을 수행하기 위한 기술을 설명한다. 이들 기술은, 일반적으로, 예를 들면, 저장된 신원 정보에 대해 암호화 동작을 요청하는 클라이언트에 대한 신원 정보를 검증하는 것, 및 검증이 성공하면 요청된 암호화 동작을 수행하는 것을 수반한다. 검증이 실패하면, 요청된 암호화 동작은 수행 및/또는 거부되지 않는다.
본 명세서는 또한, 하나 이상의 프로세서에 커플링되며, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금, 본원에서 제공되는 방법의 실시형태에 따른 동작을 수행하게 하는 명령어가 저장된 하나 이상의 비일시적 컴퓨터 판독 가능한 저장 매체를 제공한다.
본 명세서는 또한, 본원에서 제공되는 방법을 구현하기 위한 시스템을 제공한다. 시스템은 하나 이상의 프로세서, 및 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금, 본원에서 제공되는 방법의 실시형태에 따른 동작을 수행하게 하는 명령어가 저장된, 하나 이상의 프로세서에 커플링되는 컴퓨터 판독 가능한 저장 매체를 포함한다.
본 명세서에 따른 방법은 본원에서 설명되는 양태 및 피쳐의 임의의 조합을 포함할 수도 있다는 것이 인식된다. 즉, 본 명세서에 따른 방법은 본원에서 구체적으로 설명되는 양태 및 피쳐의 조합으로 제한되는 것이 아니라, 제공되는 양태 및 피쳐의 임의의 조합을 또한 포함한다.
본 명세서의 하나 이상의 실시형태의 세부 사항은 첨부하는 도면 및 이하의 설명에서 기술된다. 본 명세서의 다른 피쳐 및 이점은, 상세한 설명 및 도면으로부터, 그리고 청구범위로부터 명백해질 것이다.
도 1은 본 명세서의 실시형태를 실행하기 위해 사용될 수 있는 환경의 예를 예시하는 도면이다.
도 2는 본 명세서의 실시형태를 실행하기 위해 사용될 수 있는 시스템의 예를 예시하는 도면이다.
도 3은 도 2에서 도시되는 시스템의 컴포넌트 사이의 상호 작용을 예시하는 도면이다.
도 4는 본 명세서의 실시형태를 실행하기 위해 사용될 수 있는 환경의 예를 예시하는 도면이다.
도 5는 본 명세서의 실시형태에 따라 실행될 수 있는 프로세스의 예를 묘사한다.
도 6은 본 명세서의 실시형태에 따른 장치의 모듈의 예를 묘사한다.
다양한 도면에서 동일한 참조 번호 및 명칭은 동일한 엘리먼트를 나타낸다.
도 2는 본 명세서의 실시형태를 실행하기 위해 사용될 수 있는 시스템의 예를 예시하는 도면이다.
도 3은 도 2에서 도시되는 시스템의 컴포넌트 사이의 상호 작용을 예시하는 도면이다.
도 4는 본 명세서의 실시형태를 실행하기 위해 사용될 수 있는 환경의 예를 예시하는 도면이다.
도 5는 본 명세서의 실시형태에 따라 실행될 수 있는 프로세스의 예를 묘사한다.
도 6은 본 명세서의 실시형태에 따른 장치의 모듈의 예를 묘사한다.
다양한 도면에서 동일한 참조 번호 및 명칭은 동일한 엘리먼트를 나타낸다.
본 명세서는 암호화 칩(cryptography chip)을 사용하여 암호화 동작을 수행하는 기술을 설명한다. 암호화는 몇몇 컴퓨팅 애플리케이션에서 데이터를, 관련 암호화 키를 소유하지 않고는 데이터의 원래 값을 획득하도록 해독하기가 터무니없이 어려운 형태로 변환하기 위해 사용된다. 예를 들면, 네트워크 상의 모든 당사자가 데이터에 액세스하는 것을 허용하는 퍼블릭 네트워크를 통해 두 개의 컴퓨팅 디바이스가 민감한 데이터를 통신하고자 하는 경우, 전송하는 컴퓨팅 디바이스는, 전송 이전에 데이터를 암호문(ciphertext)으로 암호화할 수 있고, 수신하는 컴퓨팅 디바이스는 암호문을 암호 해제하여 데이터의 원래 값을 복구할 수 있다. 암호화의 예는, 대칭 암호화 및 비대칭 암호화를, 제한 없이, 포함한다.
대칭 암호화는, 암호화(일반 텍스트로부터 암호문을 생성함) 및 암호 해제(암호문으로부터 일반 텍스트를 생성함) 둘 모두에 대해 단일의 키를 사용하는 암호화 프로세스를 가리킨다. 대칭 암호화에서, 동일한 키가 통신의 모든 당사자에게 분배되고, 따라서, 각각의 당사자는 트랜잭션 데이터를 암호화하고 암호 해제할 수 있다.
비대칭 암호화는, 각각이 개인 키(private key) 및 공개 키(public key)를 포함하는 키 쌍을 사용하는데, 개인 키는 특정한 당사자에 의해 비밀로 유지되고, 공개 키는 특정 당사자에 의해 다른 당사자와 자유롭게 공유될 수 있다. 한 당사자는, 특정한 당사자의 공개 키를 사용하여 데이터를 암호화할 수 있고, 그 다음, 암호화된 데이터는 그 특정 당사자의 개인 키를 사용하여 암호 해제될 수 있다. 당사자의 공개 키로 암호화된 데이터는, 오로지 그 당사자의 개인 키를 사용하여 암호 해제될 수 있다. 또한, 개인 키는 공개 키로부터 유도 불가능하여, 공개 키가 자유롭게 공유되는 것을 허용한다.
비대칭 암호화는 디지털 서명을 제공하기 위해 사용되는데, 디지털 서명은, 수신된 데이터가 예상된 전송 측(sending party)으로부터 유래하였고 무단 변경되지 않았다는 것을 수신 측(receiving party)이 확인하는 것을 가능하게 한다. 디지털 서명은 또한, 데이터가 무단 변경되지 않았다는 것(즉, 그것의 값이 변경되지 않았다는 것)을 보장하기 위해 사용될 수 있다. 예를 들면, 제1 당사자는, MD5, SHA-256, 또는 다른 함수와 같은 해시 함수를 사용하여 데이터의 해시를 먼저 계산하는 것에 의해 데이터의 세트에 디지털적으로 서명할 수 있다. 그 다음, 제1 당사자는 자신의 개인 키를 사용하여 해시를 암호화하여 디지털 서명을 생성한다. 그 다음, 제2 당사자는 제1 당사자의 공개 키를 사용하여, 디지털 서명을 암호 해제하고 해시를 복원할 수 있다. 그 다음, 제2 당사자는 동일한 해시 함수를 사용하여 디지털 서명과 관련되는 데이터의 해시를 계산한다. 이 해시가 디지털 서명으로부터의 복원된 해시와 매치하는 경우, 제2 당사자는, 마치, 대응하는 공개 키를 사용하여 암호 해제될 때 데이터에 대한 정확한 해시를 생성하지 않을 상이한 키를 사용하여 디지털 서명이 생성된 것처럼, 제1 당사자가 그의 개인 키를 사용하여 디지털 서명을 서명하여 생성하였다는 것을 알게 된다. 또한, 제2 당사자는, 데이터가 제1 당사자에 의해 서명된 이후 데이터가 변경되지 않았다는 것을 알게 되는데, 그 이유는, 무단 변경하는 당사자가 개인 키를 모르는 상태에서는 암호화된 해시를 데이터의 새로운 값과 매치하게 만들도록 암호화된 해시를 수정할 수 없을 것이기 때문이다.
본 명세서는, 동작을 수행하기 위해 사용되는 키가 손상되는 것 또는 분실되는 것을 방지하도록 구성되는 암호화 칩을 사용하여 암호화 동작을 수행하기 위한 기술을 설명한다. 몇몇 실시형태에서, 암호화 칩은, 키 정보(예를 들면, 하나 이상의 암호화 키) 및 신원 정보를 저장하는 통합 스토리지 리소스를 포함한다. 암호화 칩은 암호화 동작(예를 들면, 데이터를 암호화하는 것, 데이터를 암호 해제하는 것, 디지털 서명 생성/검증하는 것)을 수행하라는 요청을 수신한다. 요청은 동작을 요청하는 유저의 신원 정보를 포함한다. 각각의 요청에 대해, 암호화 칩은, 요청으로부터의 신원 정보를 저장된 신원 정보와 비교하는 것에 기초하여 요청하는 유저의 신원을 검증한다. 요청하는 유저의 신원이 검증되면(예를 들면, 수신된 신원 정보가 저장된 신원 정보와 매치하는 경우), 암호화 칩은 요청된 암호화 동작을 수행한다. 요청하는 유저의 신원이 검증되지 않는 경우(예를 들면, 수신된 신원 정보가 저장된 신원 정보와 매치하지 않는 경우), 암호화 칩은 요청된 암호화 동작을 수행하지 않는다. 비록 본 명세서가 유저의 신원이 검증되는 예를 제공하지만, 본원에서 설명되는 예의 각각에서, 클라이언트도 또한 검증될 수 있다. 클라이언트는, 유저, 컴퓨팅 디바이스, 단체(organization), 또는 다른 타입의 엔티티일 수 있다.
도 1은 본 명세서의 실시형태를 실행하기 위해 사용될 수 있는 환경(100)의 예를 예시하는 도면이다. 도시되는 바와 같이, 환경(100)은 암호화 칩(110)을 포함한다. 암호화 칩(110)은, 프로그램 로직(122), 신원 정보(124), 및 키 정보(126)를 저장하는 스토리지 리소스(120)를 포함한다. 암호화 칩(110)은 또한 프로세싱 리소스(130)를 포함한다.
암호화 칩(110)은, 암호화 동작을 수행하도록 구성되는 컴퓨팅 컴포넌트(예를 들면, 집적 회로)이다. 몇몇 경우에, 암호화 칩(110)은, 묘사된 컴포넌트를 포함하는 집적 회로일 수 있다. 암호화 칩(110)은, 묘사된 컴포넌트가 부착되는 반도체 재료(예컨대 실리콘)로 구성되는 기판을 포함할 수 있다. 몇몇 경우에, 묘사된 컴포넌트는, 컴포넌트 사이에 전기적 연결을 형성하기 위해 전도성 재료의 영역(예를 들면, 와이어 또는 리드)에 의해 연결될 수 있다. 암호화 칩(110)은 또한, 암호화 칩(110)이 다른 컴퓨팅 시스템에 설치되고 다른 컴퓨팅 시스템과 인터페이싱하는 것을 허용하는 연결부(예를 들면, 핀(pin))를 포함할 수 있다.
암호화 칩(110)은 스토리지 리소스(120)를 포함한다. 몇몇 경우에, 스토리지 리소스(120)는, 데이터의 지속적인 저장(즉, 이 경우, 저장된 데이터는, 디바이스가 전력을 공급받지 않는 경우에 손실되지 않음)을 허용하는 전자적 스토리지 디바이스이다. 몇몇 실시형태에서, 스토리지 리소스(120)는, 플래시 메모리 디바이스, 프로그래머블 리드 온리 메모리(programmable read-only memory; PROM) 디바이스, 전기적으로 소거 가능한 프로그래머블 리드 온리 메모리(electrically-erasable programmable read-only memory; EEPROM) 디바이스, 또는 데이터를 지속적으로 저장하며 데이터가 소거 및 재프로그래밍되는 것을 허용하는 다른 타입의 스토리지 디바이스를 포함할 수 있다.
암호화 칩(110)은 또한, 프로세싱 리소스(130)를 포함한다. 몇몇 경우에, 프로세싱 리소스(130)는, 예를 들면, 필드 프로그래머블 게이트 어레이(field-programmable gate array; FPGA), 주문형 집적 회로(application specific integrated circuit; ASIC), 단일의 칩 마이크로 컴퓨터, 마이크로프로세서, 또는 다른 타입의 프로세서와 같은 소프트웨어 명령어를 실행할 수 있는 프로세서이다.
도시되는 바와 같이, 프로그램 로직(122)은 스토리지 리소스(120)에 저장된다. 몇몇 경우에, 프로그램 로직(122)은 프로세싱 리소스(130)에 의해 실행될 소프트웨어 명령어를 포함한다. 프로그램 로직(122)은, 수신된 요청에 관련되는 동작을 수행하도록 실행될 때, 데이터를 검색하기(retrieve) 위해 요청을 파싱하는 것, 요청에서 신원 정보를 검증하는 것, 및 신원 검증이 성공하면 요청된 암호화 동작을 수행하는 것과 같은 암호화된 동작을 수행하도록 동작 가능한 명령어를 포함할 수 있다. 몇몇 경우에, 명령어 그 자체가 어떠한 민감한 정보도 포함하지 않을 수도 있기 때문에, 프로그램 로직(122)은 암호화되지 않은 상태로 저장될 수 있다.
스토리지 리소스(120)는 또한, 암호화 칩(110)을 사용하여 암호화 동작을 수행하도록 허용되는 유저의 신원을 나타내는 신원 정보(124)를 포함한다. 몇몇 경우에, 암호화 칩(110)으로 전송되는 암호화 동작을 수행하라는 요청은 유저 신원 정보를 포함한다. 암호화 칩(110)은, 신원 정보(124)에 기초하여 암호화 동작을 요청하는 유저의 신원을 검증한다. 암호화 칩(110)이 유저의 신원을 검증할 수 있는 경우, 요청된 암호화 동작이 수행된다. 그렇지 않은 경우, 요청된 암호화 동작은 수행되지 않는다. 이 프로세스는 도 2와 관련하여 더 자세히 설명된다.
스토리지 리소스(120)는 또한, 암호화 동작을 수행하기 위해 암호화 칩(110)에 의해 사용되는 하나 이상의 암호화 키를 포함하는 키 정보(126)를 포함한다. 몇몇 경우에, 암호화 키는, 대칭 키, 비대칭 키 쌍의 개인 키, 또는 비밀로 유지되어야 하는 다른 타입의 키일 수 있다. 몇몇 실시형태에서, 키 정보(126)는, 정보를 암호 해제하기 위한 적절한 키 없이는 키 정보(126)가 스토리지 리소스(120)로부터 판독될 수 없도록, 암호화된 형태로 저장될 수 있다. 이 프로세스는 도 2와 관련하여 더 자세히 설명된다.
도 2는 본 명세서의 실시형태를 실행하기 위해 사용될 수 있는 시스템(200)의 예를 예시하는 도면이다. 시스템(200)은, 도 1과 관련하여 상기에서 설명되는 바와 같이 스토리지 리소스(120)에 저장되는 신원 정보(124) 및 키 정보(126)를 포함하는 암호화 칩(110)의 일부를 묘사한다. 시스템(200)은 또한, 인증 모듈(250) 및 암호화 모듈(260)을 포함한다.
도시되는 바와 같이, 시스템(200)은, 암호화 동작을 수행하라는 수신된 요청에 포함되는 신원 정보를 검증하도록 동작 가능한 인증 모듈(250)을 포함한다. 몇몇 경우에, 인증 모듈(250)은, 프로세싱 리소스(130)에 의해 실행되는 프로그램 로직(122)에서 정의되는 소프트웨어 모듈일 수 있다. 몇몇 실시형태에서, 인증 모듈(250)은, 프로세싱 리소스(130)의 추가 프로세서 또는 프로세싱 코어와 같은, 암호화 칩(110)에 포함되는 독립적인 하드웨어 컴포넌트일 수 있다. 인증 모듈(250)은 또한, 인증 프로세스의 수행을 담당하는, 프로세싱 리소스(130)의 논리적 또는 물리적 분할일 수 있다.
도시되는 바와 같이, 시스템(200)은 요청된 암호화 동작을 수행하도록 동작 가능한 암호화 모듈(260)을 포함한다. 몇몇 경우에, 암호화 모듈(260)은, 프로세싱 리소스(130)에 의해 실행되는 프로그램 로직(122)에서 정의되는 소프트웨어 모듈일 수 있다. 몇몇 실시형태에서, 암호화 모듈(260)은, 프로세싱 프로세서(130)의 추가 프로세서 또는 프로세싱 코어와 같은, 암호화 칩(110)에 포함되는 독립적인 하드웨어 컴포넌트일 수 있다. 암호화 모듈(260)은 또한, 인증 프로세스의 수행을 담당하는 프로세싱 리소스(130)의 논리적 또는 물리적 분할일 수 있다.
시스템(200)은 또한 인터페이스(210)를 포함한다. 인터페이스(210)는, 외부 컴포넌트 또는 유저가, 인증 모듈(250) 및 암호화 모듈(260)과 같은 암호화 칩(110) 내의 컴포넌트로 데이터를 전송 및 수신하기 위한 메커니즘을 제공한다. 몇몇 구현예에서, 인터페이스(210)는, 암호화 칩(110)과 그것이 설치되는 시스템 사이의 물리적 인터페이스, 예컨대 암호화 칩(110)과 마더보드와 같은 더 큰 집적 회로 사이의 물리적 핀 연결과 같은 물리적 인터페이스이다. 몇몇 경우에, 인터페이스(210)는, 암호화 칩(110)의 프로세싱 리소스(130)에 의해 실행되는, 또는 암호화 칩이 설치되는 더 큰 시스템에서의 다른 프로세서에 의해 실행되는 프로그램에 애플리케이션 프로그래밍 인터페이스(application programming interface; API)를 제공하는 소프트웨어 계층이다.
동작에서, 220에서, 인증 모듈(250)은 인터페이스(210)를 통해 외부 컴포넌트 또는 프로그램으로부터 암호화 동작을 수행하라는 요청을 수신한다. 각각의 요청은, 요청과 관련되는 유저와 관련되는 신원 정보를 포함한다. 몇몇 경우에, 수신된 신원 정보는, 암호화 동작을 요청하는 유저의 디지털 서명을 포함한다.
몇몇 경우에, 수신된 신원 정보는, 유저와 관련되는 생체 인식(biometric) 또는 다른 식별 정보를 포함할 수 있다. 예를 들면, 암호화 칩(110)은 유저로부터 생체 인식 정보를 수집하기 위한 지문 스캐너 또는 다른 생체 인식 디바이스를 포함할 수 있다. 암호화 동작을 요청하기 위해, 유저는 지문 스캐너를 터치하는데, 지문 스캐너는 유저 지문의 디지털 표현을 생성한다. 몇몇 경우에, 유저는, 예컨대 암호화 칩(110)의 키패드 또는 다른 인터페이스를 통해, 소망되는 암호화 동작을 선택할 수 있다. 소망되는 암호화 동작에 대한 요청은 프로세싱 리소스(130)에 의해 생성될 수 있고, 인터페이스(210)를 통해 인증 모듈(250)로 전달될 수 있다.
인증 모듈(250)은, 저장된 신원 정보(124)에 기초하여 수신된 신원 정보를 검증한다. 신원 정보가 유저의 디지털 서명을 포함하는 경우, 인증 모듈(250)은, 유저의 디지털 서명을 유저와 관련되는 공개 키로 암호 해제하는 것 및 암호 해제된 데이터를 기대 값과 비교하는 것에 의해 서명을 검증할 수 있다(예를 들면, 상기에서 설명되는 해시 검증). 값이 매치하면, 유저의 신원이 검증된다. 값이 매치하지 않으면, 유저의 신원은 검증되지 않는다. 신원 정보가 생체 인식 정보인 경우, 인증 모듈(250)은, 요청에 포함되는 생체 인식 데이터의 디지털 표현을, 신원 정보(124)에 포함되는 저장된 생체 인식 데이터에 비교한다. 수신된 생체 인식 데이터가 저장된 생체 인식 데이터와 매치하면, 유저의 신원은 검증된다. 수신된 생체 인식 데이터가 저장된 생체 인식 데이터와 매치하지 않으면, 유저의 신원은 검증되지 않는다.
몇몇 경우에, 인증 모듈(250)이 유저를 검증하면, 인증 모듈은, (230에서), 신원 정보가 검증되었다는 것을 암호화 모듈(260)에게 나타낸다. 이 표시를 수신하는 것에 응답하여, 암호화 모듈(260)은, 요청된 암호화 동작을 수행하고 인터페이스(210)를 통해 요청자에게 암호화 결과(240)를 반환한다. 몇몇 경우에, 인증 모듈(250)이 유저를 검증할 수 없는 경우, 암호화 모듈(260)은 요청된 암호화 동작을 수행하지 않는다. 몇몇 예에서, 거부는, 인증 모듈(250), 암호화 모듈(260), 또는 다른 컴포넌트에 의해 요청자에게 전송된다.
암호화 모듈(150)에 의해 수행되는 암호화 동작은, 데이터를 암호화하는 것, 데이터를 암호 해제하는 것, 디지털 서명을 생성하는 것, 디지털 서명을 검증하는 것, 또는 다른 암호화 동작을, 제한 없이, 포함할 수 있다. 예를 들면, 암호화 동작을 수행하라는 요청은, 암호 해제 동작이 요청된다는 것을 나타낼 수 있고, 요청하는 유저와 관련되는 암호화 키(예를 들면, 개인 키)를 사용하여 암호 해제될 암호문을 포함할 수 있다. 그러한 경우, 암호화 모듈(150)은, 저장된 키 정보(126)를 사용하여 암호문을 암호 해제하고, 암호화 결과로서 240에서 암호문의 암호 해제된 버전을 반환할 수 있다.
도 3은 도 2에서 도시되는 시스템의 컴포넌트 사이의 상호 작용(300)을 예시하는 도면이다. 305에서, 인터페이스(210)는, 도 2와 관련하여 앞서 논의되는 바와 같이, 유저 신원 정보를 포함하는 요청을 인증 모듈(140)로 전송한다. 310에서, 인증 모듈(140)은, 스토리지 리소스(120)로부터 암호화된 신원 정보(예를 들면, 디지털 서명을 검증하기 위한 암호화 키, 생체 인식 데이터, 등등)를 검색한다. 315에서, 인증 모듈(140)은 스토리지 리소스(120)로부터 검색되는 암호화된 신원 정보를 암호 해제한다. 몇몇 경우에, 검색된 신원 정보를 암호 해제하기 위해 사용되는 키도 또한 스토리지 리소스(120)로부터 검색된다. 키는 또한, 예컨대, 프로세싱 리소스(130) 또는 인증 모듈(140)의 펌웨어에 저장되는 소프트웨어 명령어에 "하드코딩되는(hardcoded)" 것에 의해, 인증 모듈(140) 그 자체에 포함될 수 있다.
320에서, 인증 모듈(140)은, 도 2와 관련하여 앞서 설명되는 바와 같이, 암호 해제된 신원 정보에 기초하여 유저 신원 정보를 검증한다. 325에서, 인증 모듈(140)의 실행은 검증 결과에 기초하여 분기된다. 유저 신원이 검증되지 않은 경우, 인증 모듈(140)은 (330에서) 인터페이스(210)를 통해 요청의 거부를 요청자에게 반환한다. 유저 신원이 검증되면, 인증 모듈(140)은 (335에서) 유저 신원이 검증되었다는 표시를 암호화 모듈(150)로 전송한다.
340에서, 표시를 수신하는 것에 응답하여, 암호화 모듈(150)은 스토리지 리소스(120)로부터 유저와 관련되는 암호화된 암호화 키를 검색한다. 345에서, 암호화 모듈(150)은 암호화 키를 암호 해제한다. 몇몇 경우에, 검색된 신원 정보를 암호 해제하기 위해 사용되는 키도 또한 스토리지 리소스(120)로부터 검색된다. 키는 또한, 예컨대, 프로세싱 리소스(130) 또는 암호화 모듈(150)의 펌웨어에 저장되는 소프트웨어 명령어에 "하드코딩되는" 것에 의해, 암호화 모듈(150) 그 자체에 포함될 수 있다.
또한 345에서, 암호화 모듈(150)은 요청된 암호화 동작을 수행한다. 350에서, 암호화 모듈은 암호화 동작의 결과를 인터페이스(210)를 통해 요청자에게 반환한다.
도 4는 본 명세서의 실시형태를 실행하기 위해 사용될 수 있는 환경(400)의 예를 예시하는 도면이다. 도시되는 바와 같이, 환경(400)은 암호화 칩(110)을 포함하는 신원 정보 카드(410)를 포함한다. 신원 정보 카드(410)는, 컴퓨터(420), 스마트폰(430), 태블릿 디바이스(440), 및 사물 인터넷(internet of things; IOT) 디바이스(450)에 통신 가능하게 커플링된다.
동작에서, 신원 정보 카드(410)는 다양한 디바이스(420, 430, 440 및 450)와 통신한다. 이 통신은, 예를 들면, 근접장 통신(near-field communications; NFC) 프로토콜, BLUETOOTH(블루투스), WIFI(와이파이), 셀룰러 프로토콜, 적외선 통신 프로토콜, 또는 다른 타입의 프로토콜과 같은 유선 또는 무선 통신 프로토콜을 통해 발생할 수 있다. 몇몇 경우에, 통신은, 예를 들면, 전송 레이어 보안(Transport Layer Security; TLS)과 같은 보안 통신 프로토콜을 사용하는 것, 디바이스(420, 430, 440, 450)로 전송되는 데이터 상에 디지털 서명을 제공하는 것, 디바이스(420, 430, 440, 450) 중 하나에 의해 제공되는 디지털 서명을 검증하는 것, 또는 다른 메커니즘을 사용하는 것과 같은, 데이터의 암호화 및/또는 암호 해제를 수반한다. 상기에서 설명되는 바와 같이, 이들 암호화 동작은, 암호화 칩(110)이 요청하는 유저의 신원을 검증할 수 있다면, 신원 정보 카드(410)에 포함되는 암호화 칩(110)에 의해 수행될 것이다.
몇몇 경우에, 신원 정보 카드(410)는, 스마트 카드와 같은, 유저에 의해 휴대되는 휴대용 디바이스일 수 있다. 몇몇 경우에, 상기에서 설명되는 바와 같이, 신원 정보 카드는 생체 인식 센서를 포함할 수 있고, 유저는 생체 인식 센서와 상호 작용하는 것에 의해 신원 정보를 제공할 수 있다. 몇몇 경우에, 신원 정보 카드(410)는 호환 가능한 디바이스에 삽입될 수 있고 자신의 동작을 수행하기 위해 디바이스로부터 전력을 제공받을 수 있다. 그러한 경우에, 디바이스와 신원 정보 카드(410) 사이의 전도성 접촉을 통해 신원 정보 카드(410)와 디바이스 사이에서 데이터가 전송될 수 있다.
도 5는, 신원 검증에 종속되는 암호화 동작을 수행하기 위한 프로세스(500)의 예의 플로우차트이다. 편의상, 프로세스(500)는, 하나 이상의 위치에 위치되며 본 명세서에 따라 적절하게 프로그래밍되는 하나 이상의 컴퓨터의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들면, 적절하게 프로그래밍되는 암호화 칩, 예를 들면, 도 1의 암호화 칩(110) 환경(100)은 프로세스(500)를 수행할 수 있다.
510에서, 클라이언트로부터 요청된 암호화 동작을 수행하라는 요청이 암호화 칩에 의해 수신되는데, 요청은 클라이언트와 관련되는 클라이언트 신원 정보를 포함하고, 암호화 칩은, 암호화 동작을 수행하는 프로세싱 리소스 및 암호화 동작에서 사용되는 키 정보, 및 암호화 동작을 요청하도록 허용되는 클라이언트와 관련되는 신원 정보를 저장하는 스토리지 리소스를 포함하는 하드웨어 컴포넌트이다. 몇몇 경우에, 요청된 암호화 동작은 암호화 동작, 암호 해제 동작, 디지털 서명 검증 동작, 또는 디지털 서명 생성 동작이다. 몇몇 경우에, 암호화 칩은 필드 프로그래머블 게이트 어레이(FPGA), 주문형 집적 회로(ASIC), 또는 마이크로프로세서이다.
520에서, 클라이언트 신원 정보를 스토리지 리소스에 저장되어 있는 신원 정보에 비교하는 것에 기초하여 암호화 동작을 요청하도록 허용되는 클라이언트 중 하나와 클라이언트 신원 정보가 관련된다는 것이 결정된다.
530에서, 암호화 동작을 요청하도록 허용되는 클라이언트 중 하나와 클라이언트 신원 정보가 관련된다는 것을 결정하는 것에 응답하여, 요청된 암호화 동작은 스토리지 리소스에 저장되어 있는 키 정보에 기초하여 수행된다. 몇몇 경우에, 요청은 데이터를 포함하고, 암호화 칩은 데이터에 대해 요청된 암호화 동작을 수행한다. 몇몇 예에서, 암호화 칩은, 암호화 칩이 포함되는 컴퓨터 시스템을 동작시키기 위해 프로세싱 리소스에 의해 실행되는 오퍼레이팅 시스템을 포함한다.
몇몇 경우에, 요청은 제1 요청이고, 요청된 암호화 동작은 제1 요청된 암호화 동작이고, 클라이언트 신원 정보는 제1 클라이언트 신원 정보이며, 프로세스(500)는 제2 클라이언트로부터 제2 요청된 암호화 동작을 수행하라는 제2 요청 - 요청은 제2 클라이언트와 관련되는 제2 클라이언트 신원 정보를 포함함 - 을 수신하는 것; 및 제2 클라이언트 신원 정보를 스토리지 리소스에 저장되어 있는 신원 정보에 비교하는 것에 기초하여 암호화 동작을 요청하도록 허용되는 클라이언트 중 하나와 제2 클라이언트 신원 정보가 관련되지 않는다는 것을 결정하는 것을 포함하되, 암호화 동작을 요청하도록 허용되는 클라이언트 중 하나와 제2 클라이언트 신원 정보가 관련되지 않는다는 것을 결정하는 것에 응답하여, 암호화 칩은 요청된 암호화 동작을 수행하지 않는다.
몇몇 예에서, 프로세스(500)는, 암호화 동작을 요청하도록 허용되는 클라이언트 중 하나와 관련되는 클라이언트 신원 정보를 요청이 포함하지 않는 것에 기초하여 암호화 동작을 수행하라는 하나 이상의 요청이 부당하다(malicious)는 것을 결정하는 것; 및 암호화 동작을 수행하라는 하나 이상의 요청이 부당하다는 것을 결정하는 것에 응답하여, 신원 정보 및 키 정보를 스토리지 리소스로부터 삭제하는(clearing) 것을 포함한다. 몇몇 경우에, 암호화 칩은, 검증될 수 없는 요청이 수신되는 빈도, 요청에 포함되는 클라이언트 신원과 관련되는 패턴(예를 들면, 유효한 신원을 찾으려고 시도하기 위해 공격자가 상이한 신원 값을 순차적으로 시도하고 있다는 것을 나타냄), 특정한 양의 시간에 특정한 클라이언트로부터의 검증되지 않은 요청의 수, 또는 다른 요인을, 제한 없이, 포함하는 다수의 요인에 기초하여, 요청이 부당하다는 것을 결정할 수 있다. 스토리지 리소스로부터 키 정보 및 신원 정보를 지우는 것은, 공격자가 이 정보에 어떠한 수단에 의해서도 액세스할 수 없다는 것을 보장하기 위해 행해진다.
몇몇 실시형태에서, 암호화 칩은 필드 프로그래머블 게이트 어레이(FPGA)이고, 프로세스(500)는 재프로그래밍 정보를 포함하는 암호화 칩을 재프로그래밍하라는 요청을 수신하는 것; 및 요청을 수신하는 것에 응답하여, 스토리지 리소스에 저장되어 있는 정보를 재프로그래밍 정보로 대체하는 것을 포함한다.
도 6은 본 명세서의 실시형태에 따른 장치(600)의 모듈의 예의 도면이다.
장치(600)는, 신원 검증에 종속되는 암호화 동작을 수행하기 위한 암호화 칩의 실시형태의 예일 수 있다. 장치(600)는 상기에서 설명되는 실시형태에 대응할 수 있고, 장치(600)는 다음의 것을 포함한다: 암호화 칩에 의해, 클라이언트로부터 요청된 암호화 동작을 수행하라는 요청을 - 요청은 클라이언트와 관련되는 클라이언트 신원 정보를 포함하고, 암호화 칩은, 암호화 동작을 수행하는 프로세싱 리소스 및 암호화 동작에서 사용되는 키 정보, 및 암호화 동작을 요청하도록 허용되는 클라이언트와 관련되는 신원 정보를 저장하는 스토리지 리소스를 포함하는 하드웨어 컴포넌트임 - 수신하기 위한 수신 모듈(610); 암호화 칩에 의해, 클라이언트 신원 정보를 스토리지 리소스에 저장되어 있는 신원 정보에 비교하는 것에 기초하여 암호화 동작을 요청하도록 허용되는 클라이언트 중 하나와 클라이언트 신원 정보가 관련된다는 것을 결정하기 위한 결정 모듈(620); 및 암호화 칩에 의해, 암호화 동작을 요청하도록 허용되는 클라이언트 중 하나와 클라이언트 신원 정보가 관련된다는 것을 결정하는 것에 응답하여 스토리지 리소스에 저장되어 있는 키 정보에 기초하여 요청된 암호화 동작을 수행하기 위한 수행 모듈(630).
앞선 실시형태에서 예시되는 시스템, 장치, 모듈, 또는 유닛은 컴퓨터 칩 또는 엔티티를 사용하는 것에 의해 구현될 수 있거나, 또는 소정의 기능을 갖는 제품을 사용하는 것에 의해 구현될 수 있다. 통상적인 실시형태 디바이스는 컴퓨터이고, 컴퓨터는, 퍼스널 컴퓨터, 랩탑 컴퓨터, 셀룰러 전화, 카메라 폰, 스마트폰, 개인 휴대형 정보 단말, 미디어 플레이어, 내비게이션 디바이스, 전자 메일 수신 및 전송 디바이스, 게임 콘솔, 태블릿 컴퓨터, 웨어러블 디바이스, 또는 이들 디바이스의 임의의 조합일 수 있다.
장치 내의 각각의 모듈의 기능 및 역할의 실시형태 프로세스에 대해서는, 이전 방법에서 대응하는 단계의 실시형태 프로세스에 대한 참조가 이루어질 수 있다. 세부 사항은 간략화를 위해 여기서는 생략된다.
장치 실시형태가 기본적으로 방법 실시형태에 대응하기 때문에, 관련 부분에 대해서는, 방법 실시형태의 관련 설명에 대한 참조가 이루어질 수 있다. 앞서 설명된 장치 실시형태는 예에 불과하다. 분리된 부분으로서 설명되는 모듈은 물리적으로 분리될 수도 있거나 또는 분리되지 않을 수도 있고, 모듈로서 디스플레이 되는 부분은 물리적 모듈일 수도 있거나 또는 아닐 수도 있고, 하나의 위치에 위치될 수도 있거나, 또는 다수의 네트워크 모듈 상에 분산될 수도 있다. 모듈의 일부 또는 전부는 본 명세서의 솔루션의 목적을 달성하기 위한 실제 요구에 기초하여 선택될 수 있다. 기술 분야에서 통상의 기술을 가진 자는 창의적인 노력 없이 본 출원의 실시형태를 이해하고 구현할 수 있다.
다시 도 6을 참조하면, 그것은, 신원 검증에 종속되는 암호화 동작을 수행하기 위한 암호화 칩의 구조 및 내부 기능 모듈을 예시하는 것으로 해석될 수 있다. 본질적으로 실행 본체는, 전자 디바이스일 수 있으며, 전자 디바이스는 다음의 것을 포함한다: 하나 이상의 프로세서; 및 하나 이상의 프로세서의 실행 가능 명령어를 저장하도록 구성되는 메모리.
본원에서 설명되는 기술은 하나 이상의 기술적 효과를 생성한다. 몇몇 실시형태에서, 기술은, 저장된 암호화 키를 사용하여 요청된 암호화 동작을 수행하기 이전에, 클라이언트의 신원을 검증하는 것에 의해(예를 들면, 디지털 서명을 검증하는 것에 의해) 클라이언트에게 증가된 보안성을 제공한다. 이것은 증가된 보안성을 제공하는데, 그 이유는, 공격자(그의 신원이 검증되지 않을 것임)가 클라이언트의 암호화 키를 사용하여 개인 데이터를 암호 해제하는 것, 클라이언트의 디지털 서명을 위조하는 것에 의해 클라이언트를 흉내내는 것, 또는 다른 유해한 액션(action)을 수행하는 것을 방지하기 때문이다. 몇몇 실시형태에서, 본 기술은 부당한 활동의 검출에 응답하여 저장된 암호화 키를 삭제하는 것에 의해 추가적인 보안성을 제공한다. 이것은, 디바이스의 암호화 기능에 액세스하기 위해 저장된 신원과 매치시키려고 시도하는 많은 수의 신원을 디바이스에 전송하는 것에 의해 공격자가 디바이스에 대해 "무차별 대입(brute force)" 공격을 수행하는 것을 방지한다.
본 주제(subject matter)의 설명되는 실시형태는 하나 이상의 피쳐를, 단독으로 또는 조합하여, 포함할 수 있다. 예를 들면, 제1 실시형태에서, 암호화 칩에 의해, 클라이언트로부터 요청된 암호화 동작을 수행하라는 요청을 - 요청은 클라이언트와 관련되는 클라이언트 신원 정보를 포함하고, 암호화 칩은, 암호화 동작을 수행하는 프로세싱 리소스 및 암호화 동작에서 사용되는 키 정보, 및 암호화 동작을 요청하도록 허용되는 클라이언트와 관련되는 신원 정보를 저장하는 스토리지 리소스를 포함하는 하드웨어 컴포넌트임 - 수신하는 것; 암호화 칩에 의해, 클라이언트 신원 정보를 스토리지 리소스에 저장되어 있는 신원 정보에 비교하는 것에 기초하여 암호화 동작을 요청하도록 허용되는 클라이언트 중 하나와 클라이언트 신원 정보가 관련된다는 것을 결정하는 것; 및 암호화 동작을 요청하도록 허용되는 클라이언트 중 하나와 클라이언트 신원 정보가 관련된다는 것을 결정하는 것에 응답하여, 암호화 칩에 의해, 스토리지 리소스에 저장되어 있는 키 정보에 기초하여 요청된 암호화 동작을 수행하는 것.
전술한 및 다른 설명되는 실시형태 각각은, 옵션 사항으로, 다음의 피쳐 중 하나 이상을 포함할 수 있다:
다음의 피쳐 중 임의의 것과 결합 가능한 제1 피쳐는, 요청된 암호화 동작이 암호화 동작, 암호 해제 동작, 디지털 서명 검증 동작, 또는 디지털 서명 생성 동작이다는 것을 명시한다.
이전의 또는 후속하는 피쳐 중 임의의 것과 결합 가능한 제2 피쳐는, 암호화 칩이 필드 프로그래머블 게이트 어레이(FPGA), 주문형 집적 회로(ASIC), 또는 마이크로프로세서이다는 것을 명시한다.
이전의 또는 후속하는 피쳐 중 임의의 것과 결합 가능한 제3 피쳐는, 요청이 데이터를 포함하되, 암호화 칩은 데이터에 기초하여 요청된 암호화 동작을 수행한다는 것을 명시한다.
이전의 또는 후속하는 피쳐 중 임의의 것과 결합 가능한 제4 피쳐는, 암호화 칩이, 암호화 칩이 포함되는 컴퓨터 시스템을 동작시키기 위해 프로세싱 리소스에 의해 실행되는 오퍼레이팅 시스템을 포함한다는 것을 명시한다.
이전의 또는 후속하는 피쳐 중 임의의 것과 결합 가능한 제5 피쳐는, 요청이 제1 요청이고, 요청된 암호화 동작이 제1 요청된 암호화 동작이고, 클라이언트 신원 정보가 제1 클라이언트 신원 정보이다는 것, 및 방법이, 암호화 칩에 의해, 제2 클라이언트로부터 제2 요청된 암호화 동작을 수행하라는 제2 요청 - 요청은 제2 클라이언트와 관련되는 제2 클라이언트 신원 정보를 포함함 - 을 수신하는 것; 및 암호화 칩에 의해, 제2 클라이언트 신원 정보를 스토리지 리소스에 저장되어 있는 신원 정보에 비교하는 것에 기초하여 암호화 동작을 요청하도록 허용되는 클라이언트 중 하나와 제2 클라이언트 신원 정보가 관련되지 않는다는 것을 결정하는 것을 포함하되, 암호화 동작을 요청하도록 허용되는 클라이언트 중 하나와 제2 클라이언트 신원 정보가 관련되지 않는다는 것을 결정하는 것에 응답하여, 암호화 칩은 요청된 암호화 동작을 수행하지 않는다는 것을 명시한다.
이전의 또는 후속하는 피쳐 중 임의의 것과 결합 가능한 제6 피쳐는, 방법이, 암호화 칩에 의해, 암호화 동작을 요청하도록 허용되는 클라이언트 중 하나와 관련되는 클라이언트 신원 정보를 요청이 포함하지 않는 것에 기초하여 암호화 동작을 수행하라는 하나 이상의 요청이 부당하다는 것을 결정하는 것; 및 암호화 동작을 수행하라는 하나 이상의 요청이 부당하다는 것을 결정하는 것에 응답하여, 암호화 칩에 의해, 스토리지 리소스로부터 신원 정보 및 키 정보를 삭제하는 것을 포함한다는 것을 명시한다.
이전의 또는 후속하는 피쳐 중 임의의 것과 결합 가능한 제7 피쳐는, 암호화 칩이 필드 프로그래머블 게이트 어레이(FPGA)이고, 방법이, 암호화 칩에 의해, 재프로그래밍 정보를 포함하는 암호화 칩을 재프로그래밍하라는 요청을 수신하는 것; 및 요청을 수신하는 것에 응답하여, 암호화 칩에 의해, 스토리지 리소스에 저장되어 있는 정보를 재프로그래밍 정보로 대체하는 것을 포함한다는 것을 명시한다.
본 명세서에서 설명되는 주제의 실시형태 및 액션 및 동작은, 디지털 전자 회로부(circuitry)에서, 유형적으로 구체화된 컴퓨터 소프트웨어 또는 펌웨어에서, 본 명세서에서 개시되는 구조 및 그들의 구조적 등가물을 비롯한, 컴퓨터 하드웨어에서, 또는 그들 중 하나 이상의 조합에서 구현될 수 있다. 본 명세서에서 설명되는 주제의 실시형태는 하나 이상의 컴퓨터 프로그램, 예를 들면, 데이터 프로세싱 장치의 실행에 의해, 또는 데이터 프로세싱 장치의 동작을 제어하기 위해, 컴퓨터 프로그램 캐리어 상에 인코딩되는 하나 이상의 컴퓨터 프로그램, 예를 들면, 컴퓨터 프로그램 명령어의 하나 이상의 모듈로서 구현될 수 있다. 예를 들면, 컴퓨터 프로그램 캐리어는, 인코딩된 또는 저장된 명령어를 갖는 하나 이상의 컴퓨터 판독 가능한 저장 매체를 포함할 수 있다. 캐리어는, 자기, 광 자기 또는 광학 디스크, 솔리드 스테이트 드라이브, 랜덤 액세스 메모리(random access memory; RAM), 리드 온리 메모리(read-only memory; ROM), 또는 다른 타입의 매체와 같은 유형의 비일시적 컴퓨터 판독 가능한 매체일 수도 있다. 대안적으로 또는 추가적으로, 캐리어는 인위적으로 생성되는 전파된 신호, 예를 들면, 데이터 프로세싱 장치에 의한 실행을 위해 적절한 수신기 장치로의 송신을 위해 정보를 인코딩하기 위해 생성되는 머신 생성 전기, 광학, 또는 전자기 신호일 수도 있다. 컴퓨터 저장 매체는, 머신 판독 가능한 스토리지 디바이스, 머신 판독 가능한 스토리지 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 그들의 하나 이상의 조합일 수 있거나 또는 그 일부일 수 있다. 컴퓨터 저장 매체는 전파된 신호가 아니다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 앱, 모듈, 소프트웨어 모듈, 엔진, 스크립트, 또는 코드로 또한 칭해질 수도 있거나 또는 설명될 수도 있는 컴퓨터 프로그램은, 컴파일식 또는 인터프리트식 언어, 또는 선언적 또는 절차적 언어를 비롯한, 임의의 형태의 프로그래밍 언어로 작성될 수 있고; 그것은 독립형 프로그램으로서 또는 모듈, 컴포넌트, 엔진, 서브루틴, 또는 컴퓨팅 환경에서 실행하기에 적절한 다른 유닛으로서 배치될 수 있는 것을 비롯하여, 임의의 형태로 배치될 수 있는데, 환경은 하나 이상의 위치에서 데이터 통신 네트워크에 의해 인터커넥트되는 하나 이상의 컴퓨터를 포함할 수도 있다.
컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수도 있지만, 그러나 대응하지 않아도 된다. 컴퓨터 프로그램은, 다른 프로그램 또는 데이터를 유지하는 파일의 부분에, 예를 들면, 마크업 언어 문서(markup language document)에 저장되는 하나 이상의 스크립트에, 문제가 되는 프로그램에 전용되는 단일의 파일에, 또는 다수의 협력 파일(coordinated file)에, 예를 들면, 코드의 하나 이상의 모듈, 서브 프로그램, 또는 부분을 저장하는 파일에 저장될 수 있다.
컴퓨터 프로그램의 실행을 위한 프로세서는, 예로서, 범용 및 특수 목적 마이크로프로세서, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서 둘 모두를 포함한다. 일반적으로, 프로세서는, 프로세서에 커플링되는 비일시적 컴퓨터 판독 가능한 매체로부터 데이터뿐만 아니라 실행을 위한 컴퓨터 프로그램의 명령어를 수신할 것이다.
용어 "데이터 프로세싱 장치"는, 예로서, 프로그래머블 프로세서, 컴퓨터, 또는 다수의 프로세서 또는 컴퓨터를 비롯한, 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스, 및 머신을 포괄한다. 데이터 프로세싱 장치는 특수 목적의 논리 회로부, 예를 들면, FPGA(필드 프로그래머블 게이트 어레이), ASIC(주문형 집적 회로), 또는 GPU(graphics processing unit; 그래픽 프로세싱 유닛)을 포함할 수 있다. 장치는 또한, 하드웨어 이외에, 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들면, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 오퍼레이팅 시스템, 또는 그들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.
본 명세서에서 설명되는 프로세스 및 로직 플로우는, 입력 데이터에 대해 동작하여 출력을 생성하는 것에 의해 동작을 수행하는 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 컴퓨터 또는 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한, 특수 목적 논리 회로부, 예를 들면, FPGA, ASIC, 또는 GPU에 의해, 또는 특수 목적 논리 회로부 및 하나 이상의 프로그래밍된 컴퓨터의 조합에 의해 수행될 수 있다.
컴퓨터 프로그램의 실행에 적절한 컴퓨터는, 범용 또는 특수 목적 마이크로프로세서 또는 둘 모두, 또는 임의의 다른 종류의 중앙 프로세싱 유닛에 기초할 수 있다. 일반적으로, 중앙 프로세싱 유닛은 리드 온리 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어 및 데이터를 수신할 것이다. 컴퓨터의 엘리먼트는 명령어를 실행하기 위한 중앙 프로세싱 유닛 및 명령어 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스를 포함할 수 있다. 중앙 프로세싱 유닛 및 메모리는 특수 목적 논리 회로부에 의해 보충될 수 있거나, 또는 그 안에 통합될 수 있다.
일반적으로, 컴퓨터는 또한 하나 이상의 대용량 스토리지 디바이스를 포함할 것이거나, 또는 하나 이상의 대용량 스토리지 디바이스로부터 데이터를 수신하도록 또는 하나 이상의 대용량 스토리지 디바이스로 데이터를 전송하도록 동작 가능하게 커플링될 것이다. 스토리지 디바이스는, 예를 들면, 자기, 광 자기 또는 광학 디스크, 또는 솔리드 스테이트 드라이브, 또는 임의의 다른 타입의 비일시적 컴퓨터 판독 가능한 매체일 수 있다. 그러나, 컴퓨터는 그러한 디바이스를 구비하지 않아도 된다. 따라서, 컴퓨터는 로컬에 있는 및/또는 원격에 있는 하나 이상의 스토리지 디바이스, 예컨대 하나 이상의 메모리에 커플링될 수도 있다. 예를 들면, 컴퓨터는, 컴퓨터의 필수 컴포넌트인 하나 이상의 로컬 메모리를 포함할 수 있거나, 또는 컴퓨터는 클라우드 네트워크에 있는 하나 이상의 원격 메모리에 커플링될 수 있다. 또한, 컴퓨터는 다른 디바이스, 예를 들면, 단지 몇몇의 이름을 거론하자면, 이동 전화, 개인 휴대형 정보 단말(personal digital assistant; PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, 전지구 위치 결정 시스템(global positioning system; GPS) 수신기, 또는 휴대용 스토리지 디바이스, 예를 들면, 범용 직렬 버스(USB) 플래시 드라이브에 임베딩될 수 있다.
컴포넌트는, 직접적으로 또는 하나 이상의 중간 컴포넌트를 통해, 예컨대 전기적으로 또는 광학적으로 통신 가능하게 서로 연결되는 것에 의해, 서로에게 "커플링될" 수 있다. 컴포넌트는 또한, 컴포넌트 중 하나가 다른 것 안으로 통합되는 경우에도 서로 커플링될" 수 있다. 예를 들면, 프로세서 안으로 통합되는 스토리지 컴포넌트(예를 들면, L2 캐시 컴포넌트)가 프로세서에 "커플링"된다.
유저와의 상호 작용을 제공하기 위해, 본 명세서에서 설명되는 주제의 실시형태는, 정보를 유저에게 디스플레이하기 위한 디스플레이 디바이스, 예를 들면, LCD(liquid crystal display; 액정 디스플레이) 모니터, 및 유저가 컴퓨터에 입력을 제공할 수 있게 하는 입력 디바이스, 예를 들면, 키보드 및 포인팅 디바이스, 예를 들면, 마우스, 트랙볼 또는 터치패드를 구비하는 컴퓨터 상에서 구현될 수 있거나, 또는 그 컴퓨터와 통신하도록 구성될 수 있다. 유저와의 상호 작용을 제공하기 위해 다른 종류의 디바이스가 또한 사용될 수 있으며; 예를 들면, 유저에게 제공되는 피드백은 임의의 형태의 감각 피드백(sensory feedback), 예를 들면, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백을 사용할 수 있고; 유저로부터의 입력은, 음향, 음성, 또는 촉각 입력을 비롯한, 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 유저에 의해 사용되는 디바이스로 문서를 전송하는 것 및 유저에 의해 사용되는 디바이스로부터 문서를 수신하는 것에 의해; 예를 들면, 웹 브라우저로부터 수신되는 요청에 응답하여 웹 페이지를 유저의 디바이스 상의 웹 브라우저로 전송하는 것에 의해, 또는 유저 디바이스, 예를 들면, 스마트폰 또는 전자적 태블릿 상에서 실행되는 앱과 상호 작용하는 것에 의해, 유저와 상호 작용할 수 있다. 또한, 컴퓨터는, 텍스트 메시지 또는 다른 형태의 메시지를 개인용 디바이스, 예를 들면, 메시징 애플리케이션을 실행하고 있는 스마트폰으로 전송하는 것, 및 응답으로 유저로부터 응답 메시지를 수신하는 것에 의해 유저와 상호 작용할 수 있다.
본 명세서는, 시스템, 장치, 및 컴퓨터 프로그램 컴포넌트와 관련하여, 용어 "하도록 구성되는(configured to)"을 사용한다. 하나 이상의 컴퓨터의 시스템이 특정한 동작 또는 액션을 수행하도록 구성되는 것은, 시스템이, 동작시 시스템으로 하여금 동작 또는 액션을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어, 또는 그들의 조합을 시스템 상에 설치하였다는 것을 의미한다. 하나 이상의 컴퓨터 프로그램이 특정한 동작 또는 액션을 수행하도록 구성되는 것은, 데이터 프로세싱 장치에 의해 실행될 때, 장치로 하여금 동작 또는 액션을 수행하게 하는 명령어를 하나 이상의 프로그램이 포함한다는 것을 의미한다. 특수 목적 논리 회로부가 특정한 동작 또는 액션을 수행하도록 구성되는 것은, 그 회로부가, 동작 또는 액션을 수행하는 전자적 논리를 구비한다는 것을 의미한다.
본 명세서가 많은 특정한 실시형태 세부 사항을 포함하지만, 이들은, 청구범위 그 자체에 의해 정의되는 청구되고 있는 것의 범위에 대한 제한으로서 해석되는 것이 아니라, 오히려, 특정한 실시형태에 고유할 수도 있는 피쳐의 설명으로 해석되어야 한다. 별개의 실시형태의 맥락에서 본 명세서에서 설명되는 소정의 피쳐는 또한, 단일의 실시형태에서 조합하여 실현될 수 있다. 반대로, 단일의 실시형태의 맥락에서 설명되는 다양한 피쳐는 또한, 다수의 실시형태에서 별개로, 또는 임의의 적절한 하위 조합으로 실현될 수 있다. 또한, 비록 피쳐가 소정의 조합에서 작용하는 것으로 상기에서 설명될 수도 있고 심지어 초기에 그와 같이 청구될 수도 있지만, 청구된 조합으로부터의 하나 이상의 피쳐는, 몇몇 경우에, 조합으로부터 제거될 수 있고, 청구항은 부조합 또는 부조합의 변형에 관한 것일 수도 있다.
마찬가지로, 동작이 도면에서 묘사되고 청구범위에서 특정한 순서로 열거되지만, 이것은, 바람직한 결과를 달성하기 위해, 그러한 동작이 도시되는 특정한 순서로 또는 순차적인 순서로 수행되어야 한다는 것, 또는 모든 예시된 동작이 수행되어야 한다는 것을 규정하는 것으로 이해되지 않아야 한다. 소정의 상황에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수도 있다. 또한, 상기에서 설명되는 실시형태에서의 다양한 시스템 모듈 및 컴포넌트의 분리는, 모든 실시형태에서 그러한 분리를 필요로 하는 것으로 이해되어서는 안되며, 설명된 프로그램 컴포넌트 및 시스템은 일반적으로 단일의 소프트웨어 제품에 함께 통합될 수 있거나 또는 다수의 소프트웨어 제품으로 패키징될 수 있다는 것이 이해되어야 한다.
본 주제의 특정 실시형태가 설명되었다. 다른 실시형태는 다음의 청구범위의 범위 내에 있다. 예를 들면, 청구범위에서 열거되는 액션은 상이한 순서로 수행될 수 있으며 여전히 바람직한 결과를 달성할 수 있다. 하나의 예로서, 첨부의 도면에서 묘사되는 프로세스는, 바람직한 결과를 달성하기 위해, 도시되는 특정한 순서, 또는 순차적인 순서를 반드시 필요로 하지는 않는다. 몇몇 경우에, 멀티태스킹 및 병렬 프로세싱이 유리할 수도 있다.
Claims (30)
- 신원 검증(identity verification)에 종속되는 암호화 동작(cryptographic operation)을 수행하기 위한 컴퓨터 구현(computer-implemented) 방법으로서,
암호화 칩에 의해, 클라이언트로부터 요청된 암호화 동작을 수행하라는 요청 - 상기 요청은 상기 클라이언트와 연관되는 클라이언트 신원 정보를 포함하고, 상기 암호화 칩은, 암호화 동작을 수행하는 프로세싱 리소스와, 상기 암호화 동작에서 사용되는 키 정보 및 암호화 동작을 요청하도록 허용되는 클라이언트들과 연관되는 암호화된 신원 정보를 저장하는 스토리지 리소스를 포함하는 하드웨어 컴포넌트임 - 을 수신하는 단계;
상기 암호화 칩에 의해, 상기 암호화 칩의 펌웨어에 저장되는 소프트웨어 명령어들에 포함된 키를 사용하여 상기 암호화된 신원 정보를 암호 해제하는 단계;
상기 암호화 칩에 의해, 상기 클라이언트 신원 정보를 상기 암호화된 신원 정보와 비교하는 것에 기초하여 암호화 동작을 요청하도록 허용되는 상기 클라이언트들 중 하나와 상기 클라이언트 신원 정보가 연관된다는 것을 결정하는 단계; 및
암호화 동작을 요청하도록 허용되는 상기 클라이언트들 중 하나와 상기 클라이언트 신원 정보가 연관된다는 것을 결정하는 것에 응답하여, 상기 암호화 칩에 의해, 상기 스토리지 리소스에 저장되어 있는 상기 키 정보에 기초하여 상기 요청된 암호화 동작을 수행하는 단계
를 포함하는, 신원 검증에 종속되는 암호화 동작을 수행하기 위한 컴퓨터 구현 방법. - 제1항에 있어서,
상기 요청된 암호화 동작은 암호화 동작, 암호 해제 동작, 디지털 서명 검증 동작, 또는 디지털 서명 생성 동작인 것인, 신원 검증에 종속되는 암호화 동작을 수행하기 위한 컴퓨터 구현 방법. - 제1항에 있어서,
상기 암호화 칩은 필드 프로그래머블 게이트 어레이(field-programmable gate array; FPGA), 주문형 집적 회로(application specific integrated circuit; ASIC), 또는 마이크로프로세서인 것인, 신원 검증에 종속되는 암호화 동작을 수행하기 위한 컴퓨터 구현 방법. - 제1항에 있어서,
상기 요청은 데이터를 포함하며, 상기 암호화 칩은 상기 데이터에 대해 상기 요청된 암호화 동작을 수행하는 것인, 신원 검증에 종속되는 암호화 동작을 수행하기 위한 컴퓨터 구현 방법. - 제1항에 있어서,
상기 암호화 칩은, 상기 암호화 칩이 포함되는 컴퓨터 시스템을 동작시키기 위해 상기 프로세싱 리소스에 의해 실행되는 오퍼레이팅 시스템을 포함하는 것인, 신원 검증에 종속되는 암호화 동작을 수행하기 위한 컴퓨터 구현 방법. - 제1항에 있어서,
상기 요청은 제1 요청이고, 상기 요청된 암호화 동작은 제1 요청된 암호화 동작이고, 상기 클라이언트 신원 정보는 제1 클라이언트 신원 정보이며, 상기 방법은:
상기 암호화 칩에 의해, 제2 클라이언트로부터 제2 요청된 암호화 동작을 수행하라는 제2 요청 - 상기 제2 요청은 상기 제2 클라이언트와 연관되는 제2 클라이언트 신원 정보를 포함함 - 을 수신하는 단계; 및
상기 암호화 칩에 의해, 상기 제2 클라이언트 신원 정보를 상기 암호화된 신원 정보와 비교하는 것에 기초하여 암호화 동작을 요청하도록 허용되는 상기 클라이언트들 중 하나와 상기 제2 클라이언트 신원 정보가 연관되지 않는다는 것을 결정하는 단계
를 더 포함하며,
상기 암호화 동작을 요청하도록 허용되는 상기 클라이언트들 중 하나와 상기 제2 클라이언트 신원 정보가 연관되지 않는다는 것을 결정하는 것에 응답하여, 상기 암호화 칩은 상기 제2 요청된 암호화 동작을 수행하지 않는 것인, 신원 검증에 종속되는 암호화 동작을 수행하기 위한 컴퓨터 구현 방법. - 제1항 또는 제2항에 있어서,
상기 암호화 칩에 의해, 암호화 동작을 요청하도록 허용되는 상기 클라이언트들 중 어느 하나와 연관되는 클라이언트 신원 정보를 상기 요청이 포함하지 않는 것에 기초하여 암호화 동작을 수행하라는 하나 이상의 요청이 부당하다(malicious)는 것을 결정하는 단계; 및
암호화 동작을 수행하라는 상기 하나 이상의 요청이 부당하다는 것을 결정하는 것에 응답하여, 상기 암호화 칩에 의해, 상기 스토리지 리소스로부터 상기 암호화된 신원 정보 및 상기 키 정보를 삭제하는(clearing) 단계
를 더 포함하는, 신원 검증에 종속되는 암호화 동작을 수행하기 위한 컴퓨터 구현 방법. - 제1항 또는 제2항에 있어서,
상기 암호화 칩은 필드 프로그래머블 게이트 어레이(FPGA)이고, 상기 방법은:
상기 암호화 칩에 의해, 재프로그래밍 정보를 포함하는 상기 암호화 칩을 재프로그래밍하라는 요청을 수신하는 단계; 및
상기 요청을 수신하는 것에 응답하여, 상기 암호화 칩에 의해, 상기 스토리지 리소스에 저장되어 있는 정보를 상기 재프로그래밍 정보로 대체하는 단계
를 더 포함하는, 신원 검증에 종속되는 암호화 동작을 수행하기 위한 컴퓨터 구현 방법. - 동작들을 수행하도록 컴퓨터 시스템에 의해 실행 가능한 하나 이상의 명령어를 저장하는 비일시적 컴퓨터 판독 가능한 저장 매체로서,
상기 동작들은,
암호화 칩에 의해, 클라이언트로부터 요청된 암호화 동작을 수행하라는 요청 - 상기 요청은 상기 클라이언트와 연관되는 클라이언트 신원 정보를 포함하고, 상기 암호화 칩은, 암호화 동작을 수행하는 프로세싱 리소스와, 상기 암호화 동작에서 사용되는 키 정보 및 암호화 동작을 요청하도록 허용되는 클라이언트들과 연관되는 암호화된 신원 정보를 저장하는 스토리지 리소스를 포함하는 하드웨어 컴포넌트임 - 을 수신하는 동작;
상기 암호화 칩에 의해, 상기 암호화 칩의 펌웨어에 저장되는 소프트웨어 명령어들에 포함된 키를 사용하여 상기 암호화된 신원 정보를 암호 해제하는 동작;
상기 암호화 칩에 의해, 상기 클라이언트 신원 정보를 상기 암호화된 신원 정보와 비교하는 것에 기초하여 암호화 동작을 요청하도록 허용되는 상기 클라이언트들 중 하나와 상기 클라이언트 신원 정보가 연관된다는 것을 결정하는 동작; 및
암호화 동작을 요청하도록 허용되는 상기 클라이언트들 중 하나와 상기 클라이언트 신원 정보가 연관된다는 것을 결정하는 것에 응답하여, 상기 암호화 칩에 의해, 상기 스토리지 리소스에 저장되어 있는 상기 키 정보에 기초하여 상기 요청된 암호화 동작을 수행하는 동작
을 포함하는, 비일시적 컴퓨터 판독 가능한 저장 매체. - 제9항에 있어서,
상기 요청된 암호화 동작은 암호화 동작, 암호 해제 동작, 디지털 서명 검증 동작, 또는 디지털 서명 생성 동작인 것인, 비일시적 컴퓨터 판독 가능한 저장 매체. - 제9항에 있어서,
상기 암호화 칩은 필드 프로그래머블 게이트 어레이(FPGA), 주문형 집적 회로(ASIC), 또는 마이크로프로세서인 것인, 비일시적 컴퓨터 판독 가능한 저장 매체. - 제9항에 있어서,
상기 요청은 데이터를 포함하며, 상기 암호화 칩은 상기 데이터에 대해 상기 요청된 암호화 동작을 수행하는 것인, 비일시적 컴퓨터 판독 가능한 저장 매체. - 제9항에 있어서,
상기 암호화 칩은, 상기 암호화 칩이 포함되는 컴퓨터 시스템을 동작시키기 위해 상기 프로세싱 리소스에 의해 실행되는 오퍼레이팅 시스템을 포함하는 것인, 비일시적 컴퓨터 판독 가능한 저장 매체. - 제9항에 있어서,
상기 요청은 제1 요청이고, 상기 요청된 암호화 동작은 제1 요청된 암호화 동작이고, 상기 클라이언트 신원 정보는 제1 클라이언트 신원 정보이며, 상기 동작들은:
제2 클라이언트로부터 제2 요청된 암호화 동작을 수행하라는 제2 요청 - 상기 제2 요청은 상기 제2 클라이언트와 연관되는 제2 클라이언트 신원 정보를 포함함 - 을 수신하는 동작; 및
상기 제2 클라이언트 신원 정보를 상기 암호화된 신원 정보와 비교하는 것에 기초하여 암호화 동작을 요청하도록 허용되는 상기 클라이언트들 중 하나와 상기 제2 클라이언트 신원 정보가 연관되지 않는다는 것을 결정하는 동작
을 더 포함하며,
상기 암호화 동작을 요청하도록 허용되는 상기 클라이언트들 중 하나와 상기 제2 클라이언트 신원 정보가 연관되지 않는다는 것을 결정하는 것에 응답하여, 상기 제2 요청된 암호화 동작을 수행하지 않는 것인, 비일시적 컴퓨터 판독 가능한 저장 매체. - 제9항에 있어서,
상기 동작들은,
암호화 동작을 요청하도록 허용되는 상기 클라이언트들 중 어느 하나와 연관되는 클라이언트 신원 정보를 상기 요청이 포함하지 않는 것에 기초하여 암호화 동작을 수행하라는 하나 이상의 요청이 부당하다(malicious)는 것을 결정하는 동작; 및
암호화 동작을 수행하라는 상기 하나 이상의 요청이 부당하다는 것을 결정하는 것에 응답하여, 상기 스토리지 리소스로부터 상기 암호화된 신원 정보 및 상기 키 정보를 삭제하는 동작
을 더 포함하는, 비일시적 컴퓨터 판독 가능한 저장 매체. - 제9항에 있어서,
상기 저장 매체는 필드 프로그래머블 게이트 어레이(FPGA)에 프로그래밍된 암호화 칩을 포함하고, 상기 동작들은:
상기 암호화 칩에 의해, 재프로그래밍 정보를 포함하는 상기 암호화 칩을 재프로그래밍하라는 요청을 수신하는 동작; 및
상기 요청을 수신하는 것에 응답하여, 상기 암호화 칩에 의해, 상기 스토리지 리소스에 저장되어 있는 정보를 상기 재프로그래밍 정보로 대체하는 동작
을 더 포함하는, 비일시적 컴퓨터 판독 가능한 저장 매체. - 컴퓨터 구현 시스템(computer-implemented system)에 있어서,
하나 이상의 컴퓨터; 및
상기 하나 이상의 컴퓨터와 상호 운용 가능하게(interoperably) 커플링되며, 상기 하나 이상의 컴퓨터에 의해 실행될 때, 하나 이상의 동작을 수행하는 하나 이상의 명령어를 저장하는 유형의(tangible), 비일시적 머신 판독 가능한 매체를 가지는, 하나 이상의 컴퓨터 메모리 디바이스
를 포함하며,
상기 하나 이상의 동작은,
암호화 칩에 의해, 클라이언트로부터 요청된 암호화 동작을 수행하라는 요청 - 상기 요청은 상기 클라이언트와 연관되는 클라이언트 신원 정보를 포함하고, 상기 암호화 칩은, 암호화 동작을 수행하는 프로세싱 리소스와, 상기 암호화 동작에서 사용되는 키 정보 및 암호화 동작을 요청하도록 허용되는 클라이언트들과 연관되는 암호화된 신원 정보를 저장하는 스토리지 리소스를 포함하는 하드웨어 컴포넌트임 - 을 수신하는 동작;
상기 암호화 칩에 의해, 상기 암호화 칩의 펌웨어에 저장되는 소프트웨어 명령어들에 포함된 키를 사용하여 상기 암호화된 신원 정보를 암호 해제하는 동작;
상기 암호화 칩에 의해, 상기 클라이언트 신원 정보를 상기 암호화된 신원 정보와 비교하는 것에 기초하여 암호화 동작을 요청하도록 허용되는 상기 클라이언트들 중 하나와 상기 클라이언트 신원 정보가 연관된다는 것을 결정하는 동작; 및
암호화 동작을 요청하도록 허용되는 상기 클라이언트들 중 하나와 상기 클라이언트 신원 정보가 연관된다는 것을 결정하는 것에 응답하여, 상기 암호화 칩에 의해, 상기 스토리지 리소스에 저장되어 있는 상기 키 정보에 기초하여 상기 요청된 암호화 동작을 수행하는 동작
을 포함하는 것인, 컴퓨터 구현 시스템. - 제17항에 있어서,
상기 요청된 암호화 동작은 암호화 동작, 암호 해제 동작, 디지털 서명 검증 동작, 또는 디지털 서명 생성 동작인 것인, 컴퓨터 구현 시스템. - 제17항에 있어서,
상기 암호화 칩은 필드 프로그래머블 게이트 어레이(FPGA), 주문형 집적 회로(ASIC), 또는 마이크로프로세서인 것인, 컴퓨터 구현 시스템. - 제17항에 있어서,
상기 요청은 데이터를 포함하며, 상기 암호화 칩은 상기 데이터에 대해 상기 요청된 암호화 동작을 수행하는 것인, 컴퓨터 구현 시스템. - 제17항에 있어서,
상기 암호화 칩은, 상기 암호화 칩이 포함되는 컴퓨터 시스템을 동작시키기 위해 상기 프로세싱 리소스에 의해 실행되는 오퍼레이팅 시스템을 포함하는 것인, 컴퓨터 구현 시스템. - 제17항에 있어서,
상기 요청은 제1 요청이고, 상기 요청된 암호화 동작은 제1 요청된 암호화 동작이고, 상기 클라이언트 신원 정보는 제1 클라이언트 신원 정보이며, 상기 동작들은:
제2 클라이언트로부터 제2 요청된 암호화 동작을 수행하라는 제2 요청 - 상기 제2 요청은 상기 제2 클라이언트와 연관되는 제2 클라이언트 신원 정보를 포함함 - 을 수신하는 동작; 및
상기 제2 클라이언트 신원 정보를 상기 암호화된 신원 정보와 비교하는 것에 기초하여 암호화 동작을 요청하도록 허용되는 상기 클라이언트들 중 하나와 상기 제2 클라이언트 신원 정보가 연관되지 않는다는 것을 결정하는 동작
을 더 포함하며,
상기 암호화 동작을 요청하도록 허용되는 상기 클라이언트들 중 하나와 상기 제2 클라이언트 신원 정보가 연관되지 않는다는 것을 결정하는 것에 응답하여, 상기 제2 요청된 암호화 동작을 수행하지 않는 것인, 컴퓨터 구현 시스템. - 제17항에 있어서,
상기 동작들은,
암호화 동작을 요청하도록 허용되는 상기 클라이언트들 중 어느 하나와 연관되는 클라이언트 신원 정보를 상기 요청이 포함하지 않는 것에 기초하여 암호화 동작을 수행하라는 하나 이상의 요청이 부당하다는 것을 결정하는 동작; 및
암호화 동작을 수행하라는 상기 하나 이상의 요청이 부당하다는 것을 결정하는 것에 응답하여, 상기 스토리지 리소스로부터 상기 암호화된 신원 정보 및 상기 키 정보를 삭제하는 동작
을 더 포함하는, 컴퓨터 구현 시스템. - 제17항에 있어서,
필드 프로그래머블 게이트 어레이(FPGA)에 프로그래밍된 암호화 칩을 포함하고, 상기 동작들은:
상기 암호화 칩에 의해, 재프로그래밍 정보를 포함하는 상기 암호화 칩을 재프로그래밍하라는 요청을 수신하는 동작; 및
상기 요청을 수신하는 것에 응답하여, 상기 암호화 칩에 의해, 상기 스토리지 리소스에 저장되어 있는 정보를 상기 재프로그래밍 정보로 대체하는 동작
을 더 포함하는, 컴퓨터 구현 시스템. - 제1항에 있어서, 상기 클라이언트 신원 정보는 상기 클라이언트와 연관된 생체 인식(biometric) 정보를 포함하는 것인, 신원 검증에 종속되는 암호화 동작을 수행하기 위한 컴퓨터 구현 방법.
- 제25항에 있어서, 상기 클라이언트 신원 정보는 상기 암호화 칩에 포함된 생체 인식 디바이스로부터 수신되는 것인, 신원 검증에 종속되는 암호화 동작을 수행하기 위한 컴퓨터 구현 방법.
- 제1항에 있어서, 상기 소프트웨어 명령어들에 포함된 키는 암호화되고, 상기 암호화 칩에 의해, 상기 암호화된 신원 정보를 암호 해제하는 단계는,
상기 소프트웨어 명령어들에 포함된 상기 암호화된 키를 암호 해제하는 단계
를 포함하는 신원 검증에 종속되는 암호화 동작을 수행하기 위한 컴퓨터 구현 방법. - 제1항에 있어서, 상기 스토리지 리소스는 상기 요청된 암호화 동작을 수행하기 위해 상기 프로세싱 리소스에 의해 실행 가능한 프로그램 로직을 저장하고,
상기 프로그램 로직은 암호화되지 않은 상태로 저장되는 것인, 신원 검증에 종속되는 암호화 동작을 수행하기 위한 컴퓨터 구현 방법. - 제1항에 있어서, 상기 암호화 칩은 물리적 인터페이스를 포함하고, 상기 요청된 암호화 동작을 수행하라는 요청을 수신하는 단계는,
상기 클라이언트로부터 상기 물리적 인터페이스를 통해 원하는 암호화 동작의 선택을 수신하는 단계를 포함하는 것인, 신원 검증에 종속되는 암호화 동작을 수행하기 위한 컴퓨터 구현 방법. - 제29항에 있어서, 상기 클라이언트는 유저이고, 상기 원하는 암호화 동작의 선택을 수신하는 단계는 상기 물리적 인터페이스를 통해 상기 유저에 의한 입력을 수신하는 단계를 포함하는 것인, 신원 검증에 종속되는 암호화 동작을 수행하기 위한 컴퓨터 구현 방법.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/080393 WO2019120324A2 (en) | 2019-03-29 | 2019-03-29 | Cryptography chip with identity verification |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102157453B1 true KR102157453B1 (ko) | 2020-09-18 |
Family
ID=66994198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197028379A KR102157453B1 (ko) | 2019-03-29 | 2019-03-29 | 신원 검증을 사용하는 암호화 칩 |
Country Status (10)
Country | Link |
---|---|
US (1) | US11023620B2 (ko) |
EP (1) | EP3622665B1 (ko) |
JP (1) | JP6756056B2 (ko) |
KR (1) | KR102157453B1 (ko) |
CN (1) | CN111316596B (ko) |
AU (1) | AU2019204724C1 (ko) |
CA (1) | CA3058012C (ko) |
SG (1) | SG11201908938PA (ko) |
TW (1) | TWI724684B (ko) |
WO (1) | WO2019120324A2 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000956A (zh) * | 2020-08-27 | 2020-11-27 | 山东超越数控电子股份有限公司 | 一种基于可信计算机的身份验证方法及*** |
CN112925534A (zh) * | 2021-02-25 | 2021-06-08 | 广东电网有限责任公司电力调度控制中心 | 一种密码芯片嵌入式应用卸载方法及装置 |
CN113408583B (zh) * | 2021-05-18 | 2022-04-29 | 支付宝(杭州)信息技术有限公司 | 一种身份核验方法、装置及设备 |
CN113420309B (zh) * | 2021-07-01 | 2022-05-17 | 广东工业大学 | 基于国密算法的轻量化数据保护*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080192937A1 (en) * | 2007-02-09 | 2008-08-14 | David Carroll Challener | System and Method for Generalized Authentication |
US20170357967A1 (en) * | 2016-06-12 | 2017-12-14 | Apple Inc. | Authentication using a secure circuit |
US20170373844A1 (en) * | 2015-06-05 | 2017-12-28 | Apple Inc. | Secure circuit for encryption key generation |
Family Cites Families (104)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19629856A1 (de) * | 1996-07-24 | 1998-01-29 | Ibm | Verfahren und System zum sicheren Übertragen und Speichern von schützbaren Informationen |
JPH10247906A (ja) | 1997-03-03 | 1998-09-14 | Toshiba Corp | 処理機能付きデバイス装置、情報処理システム、認証方法、認証・暗号化方法及び認証・復号方法 |
ES2245305T3 (es) | 1999-04-22 | 2006-01-01 | Veridicom, Inc. | Autenticacion biometrica de alta seguridad usando pares de encriptacion clave publica/clave privada. |
US8325994B2 (en) | 1999-04-30 | 2012-12-04 | Davida George I | System and method for authenticated and privacy preserving biometric identification systems |
JP2001319164A (ja) | 2000-05-10 | 2001-11-16 | Nec Saitama Ltd | レンタルシステムとそのレンタル方法、及び貸出プログラムを記録した記録媒体 |
FR2819074B1 (fr) * | 2000-12-29 | 2003-02-21 | Dominique Bertrand | Terminal d'affichage, de restitution, de saisie et de traitement de donnees, configurable par ses utilisateurs |
JP2002271320A (ja) | 2001-03-13 | 2002-09-20 | Sony Corp | 情報処理装置及び方法、並びに記憶媒体 |
WO2002103496A2 (en) | 2001-06-18 | 2002-12-27 | Daon Holdings Limited | An electronic data vault providing biometrically protected electronic signatures |
JP4834263B2 (ja) | 2001-09-28 | 2011-12-14 | シャープ株式会社 | カード認証システム、情報記録カードおよびカード認証方法 |
JP4660053B2 (ja) | 2002-05-20 | 2011-03-30 | ソニー株式会社 | 人的特徴照合装置 |
AU2003258067A1 (en) | 2002-08-06 | 2004-02-23 | Privaris, Inc. | Methods for secure enrollment and backup of personal identity credentials into electronic devices |
JP2004104539A (ja) | 2002-09-11 | 2004-04-02 | Renesas Technology Corp | メモリカード |
US20050027991A1 (en) * | 2003-06-23 | 2005-02-03 | Difonzo Joseph | System and method for digital rights management |
EP1642184A1 (en) * | 2003-07-04 | 2006-04-05 | Nokia Corporation | Key storage administration |
US20060149962A1 (en) | 2003-07-11 | 2006-07-06 | Ingrian Networks, Inc. | Network attached encryption |
US8842887B2 (en) | 2004-06-14 | 2014-09-23 | Rodney Beatson | Method and system for combining a PIN and a biometric sample to provide template encryption and a trusted stand-alone computing device |
JP4423478B2 (ja) | 2004-09-07 | 2010-03-03 | 株式会社国際電気通信基礎技術研究所 | 振動提示装置 |
JP2006079181A (ja) | 2004-09-07 | 2006-03-23 | Sony Corp | 生体照合装置 |
US20060059372A1 (en) * | 2004-09-10 | 2006-03-16 | International Business Machines Corporation | Integrated circuit chip for encryption and decryption having a secure mechanism for programming on-chip hardware |
JP4516399B2 (ja) * | 2004-10-08 | 2010-08-04 | フェリカネットワークス株式会社 | 情報処理装置および方法、並びにプログラム |
JP4326443B2 (ja) * | 2004-10-08 | 2009-09-09 | フェリカネットワークス株式会社 | 情報処理装置および情報処理方法、並びにプログラム |
CA2922200A1 (en) | 2004-10-25 | 2006-05-04 | Security First Corp. | Secure data parser method and system |
JP2006221566A (ja) | 2005-02-14 | 2006-08-24 | Dainippon Printing Co Ltd | ネットワークを利用した介護サービス支援システム |
GB2424557A (en) | 2005-03-24 | 2006-09-27 | Sony Uk Ltd | FPGA with hardware decryptor for configuration programme which adds second key to itself before re-encrypting and overwriting itself in memory when run |
US8972743B2 (en) | 2005-05-16 | 2015-03-03 | Hewlett-Packard Development Company, L.P. | Computer security system and method |
JP4936238B2 (ja) | 2005-06-13 | 2012-05-23 | 株式会社トプスシステムズ | セキュリティ管理装置 |
JP2007018301A (ja) | 2005-07-08 | 2007-01-25 | Matsushita Electric Ind Co Ltd | 利用条件処理装置 |
US8615663B2 (en) | 2006-04-17 | 2013-12-24 | Broadcom Corporation | System and method for secure remote biometric authentication |
GB2438452B (en) | 2006-05-24 | 2010-12-15 | Nokia Corp | Portable telecommunications apparatus |
JP4301275B2 (ja) | 2006-09-28 | 2009-07-22 | ソニー株式会社 | 電子機器、および情報処理方法 |
GB2452732A (en) * | 2007-09-12 | 2009-03-18 | Seiko Epson Corp | Smart-card chip with organic conductive surface layer for detecting invasive attack |
CN201126581Y (zh) | 2007-11-12 | 2008-10-01 | 中国长城计算机深圳股份有限公司 | 一种基于uefi的生物身份识别装置 |
CN101436247B (zh) | 2007-11-12 | 2012-04-11 | 中国长城计算机深圳股份有限公司 | 一种基于uefi的生物身份识别方法及*** |
CA2710868A1 (en) * | 2008-01-07 | 2009-07-16 | Security First Corp. | Systems and methods for securing data using multi-factor or keyed dispersal |
US8438385B2 (en) | 2008-03-13 | 2013-05-07 | Fujitsu Limited | Method and apparatus for identity verification |
CN102027480B (zh) | 2008-05-16 | 2014-12-17 | 惠普开发有限公司 | 用于提供***管理命令的***和方法 |
DE102008055076A1 (de) | 2008-12-22 | 2010-07-01 | Robert Bosch Gmbh | Vorrichtung und Verfahren zum Schutz von Daten, Computerprogramm, Computerprogrammprodukt |
US8589696B2 (en) | 2009-05-18 | 2013-11-19 | Mikoh Corporation | Biometric identification method |
EP2323308B1 (en) | 2009-11-12 | 2016-03-23 | Morpho Cards GmbH | A method of assigning a secret to a security token, a method of operating a security token, storage medium and security token |
WO2012122994A1 (en) * | 2011-03-11 | 2012-09-20 | Kreft Heinz | Off-line transfer of electronic tokens between peer-devices |
US9037852B2 (en) | 2011-09-02 | 2015-05-19 | Ivsc Ip Llc | System and method for independent control of for-hire vehicles |
US9327510B2 (en) * | 2011-10-25 | 2016-05-03 | Hewlett-Packard Development Company, L.P. | Verification record for a replaceable supply |
CN103138927B (zh) | 2011-12-01 | 2015-12-16 | 航天信息股份有限公司 | 一种用于指纹认证的加密存储设备中密钥控制方法 |
GB2497553B (en) | 2011-12-13 | 2018-05-16 | Irisguard Inc | Improvements relating to iris cameras |
TW201328280A (zh) | 2011-12-29 | 2013-07-01 | Chunghwa Telecom Co Ltd | 即時通訊身分認證系統與方法 |
CN103200562A (zh) * | 2012-01-10 | 2013-07-10 | 国民技术股份有限公司 | 通信终端锁定方法及通信终端 |
KR20140138271A (ko) | 2012-03-15 | 2014-12-03 | 미코 코포레이션 | 생체 측정 인증 시스템 |
CN102594843A (zh) | 2012-03-22 | 2012-07-18 | 中国农业银行股份有限公司 | 一种身份认证***和方法 |
US9135496B2 (en) | 2012-05-18 | 2015-09-15 | Apple Inc. | Efficient texture comparison |
US9590959B2 (en) | 2013-02-12 | 2017-03-07 | Amazon Technologies, Inc. | Data security service |
US8832465B2 (en) | 2012-09-25 | 2014-09-09 | Apple Inc. | Security enclave processor for a system on a chip |
US8775757B2 (en) | 2012-09-25 | 2014-07-08 | Apple Inc. | Trust zone support in system on a chip having security enclave processor |
EP2720167A1 (en) * | 2012-10-11 | 2014-04-16 | Nagravision S.A. | Method and system for smart card chip personalization |
US10146850B2 (en) | 2012-10-30 | 2018-12-04 | FHOOSH, Inc. | Systems and methods for collecting, classifying, organizing and populating information on electronic forms |
EP2728908B1 (en) | 2012-11-02 | 2017-04-05 | Morpho Cards GmbH | Telecommunications chip card |
US20140237256A1 (en) | 2013-02-17 | 2014-08-21 | Mourad Ben Ayed | Method for securing data using a disposable private key |
US10304044B2 (en) | 2013-06-05 | 2019-05-28 | American Express Travel Related Services Company, Inc. | Multi-factor mobile user authentication |
JP6182371B2 (ja) * | 2013-06-28 | 2017-08-16 | ルネサスエレクトロニクス株式会社 | 半導体集積回路を含むシステム |
US10127378B2 (en) | 2014-10-01 | 2018-11-13 | Kalman Csaba Toth | Systems and methods for registering and acquiring E-credentials using proof-of-existence and digital seals |
US9646150B2 (en) | 2013-10-01 | 2017-05-09 | Kalman Csaba Toth | Electronic identity and credentialing system |
CN104580107B (zh) | 2013-10-24 | 2018-02-06 | 华为技术有限公司 | 恶意攻击检测方法及控制器 |
US9213818B2 (en) | 2014-02-24 | 2015-12-15 | Partnet, Inc. | Anonymous authentication using backup biometric information |
EP3127273B1 (en) | 2014-03-31 | 2020-10-14 | Irdeto B.V. | Cryptographic chip and related methods |
CN105376059B (zh) * | 2014-08-15 | 2019-04-02 | 中国电信股份有限公司 | 基于电子钥匙进行应用签名的方法和*** |
CN105471575B (zh) | 2014-09-05 | 2020-11-03 | 创新先进技术有限公司 | 一种信息加密、解密方法及装置 |
CN104239815A (zh) | 2014-09-19 | 2014-12-24 | 西安凯虹电子科技有限公司 | 基于虹膜识别的电子文档加密解密装置及方法 |
US9953151B2 (en) | 2015-02-03 | 2018-04-24 | Chon Hock LEOW | System and method identifying a user to an associated device |
AU2016235539B2 (en) | 2015-03-20 | 2019-01-24 | Rivetz Corp. | Automated attestation of device integrity using the block chain |
US9875370B2 (en) * | 2015-03-26 | 2018-01-23 | Microsoft Technology Licensing, Llc | Database server and client for query processing on encrypted data |
US10592673B2 (en) | 2015-05-03 | 2020-03-17 | Arm Limited | System, device, and method of managing trustworthiness of electronic devices |
CN106301767B (zh) | 2015-05-13 | 2020-01-03 | 中兴通讯股份有限公司 | 一种加密通话的处理方法、装置、终端及kmc |
US10198182B2 (en) | 2015-05-31 | 2019-02-05 | Apple Inc. | Synchronization and verification groups among related devices |
US10079880B2 (en) | 2015-06-07 | 2018-09-18 | Apple Inc. | Automatic identification of invalid participants in a secure synchronization system |
US10284376B2 (en) | 2015-06-10 | 2019-05-07 | Arris Enterprises Llc | Code signing system with machine to machine interaction |
US9942035B2 (en) * | 2015-08-18 | 2018-04-10 | Intel Corporation | Platform migration of secure enclaves |
CN106487511B (zh) | 2015-08-27 | 2020-02-04 | 阿里巴巴集团控股有限公司 | 身份认证方法及装置 |
US9705859B2 (en) * | 2015-12-11 | 2017-07-11 | Amazon Technologies, Inc. | Key exchange through partially trusted third party |
US10536271B1 (en) | 2016-01-10 | 2020-01-14 | Apple Inc. | Silicon key attestation |
US11734678B2 (en) | 2016-01-25 | 2023-08-22 | Apple Inc. | Document importation into secure element |
CN105959287A (zh) | 2016-05-20 | 2016-09-21 | ***股份有限公司 | 一种基于生物特征的安全认证方法及装置 |
CN105975839B (zh) | 2016-06-12 | 2019-07-05 | 北京集创北方科技股份有限公司 | 一种生物特征识别装置和方法以及生物特征模板注册方法 |
US10268844B2 (en) * | 2016-08-08 | 2019-04-23 | Data I/O Corporation | Embedding foundational root of trust using security algorithms |
US10116440B1 (en) | 2016-08-09 | 2018-10-30 | Amazon Technologies, Inc. | Cryptographic key management for imported cryptographic keys |
CN108345785B (zh) | 2017-01-25 | 2021-05-11 | 杨建纲 | 内建智能安全行动装置 |
CN108632021A (zh) | 2017-03-15 | 2018-10-09 | 阿里巴巴集团控股有限公司 | 一种密钥加密方法、装置和*** |
CN108667608B (zh) * | 2017-03-28 | 2021-07-27 | 阿里巴巴集团控股有限公司 | 数据密钥的保护方法、装置和*** |
US10541818B2 (en) | 2017-04-19 | 2020-01-21 | International Business Machines Corporation | Decentralized biometric signing of digital contracts |
CN108881000A (zh) | 2017-05-08 | 2018-11-23 | 国民技术股份有限公司 | 网关设备、第三方平台、支付***及方法 |
CN107169762B (zh) | 2017-05-24 | 2020-02-07 | ***股份有限公司 | 一种安全载体的配置方法及装置 |
CN107241317B (zh) | 2017-05-24 | 2021-01-15 | 国民认证科技(北京)有限公司 | 生物特征识别身份的方法和用户终端设备以及身份认证服务器 |
CN109150535A (zh) | 2017-06-19 | 2019-01-04 | ***通信集团公司 | 一种身份认证方法、设备、计算机可读存储介质及装置 |
WO2018236420A1 (en) * | 2017-06-20 | 2018-12-27 | Google Llc | CLOUD EQUIPMENT SECURITY MODULES FOR CRYPTOGRAPHIC EXTERNALIZATION OPERATIONS |
US11922363B2 (en) | 2017-07-05 | 2024-03-05 | United Parcel Service Of America, Inc. | Counterparty physical proximity verification for digital asset transfers |
US10438190B2 (en) * | 2017-07-18 | 2019-10-08 | Square, Inc. | Devices with on-board physically unclonable functions |
US10263793B2 (en) * | 2017-07-18 | 2019-04-16 | Square, Inc. | Devices with modifiable physically unclonable functions |
US10819528B2 (en) * | 2017-07-18 | 2020-10-27 | Square, Inc. | Device security with physically unclonable functions |
CN109525392B (zh) | 2017-09-20 | 2021-11-26 | 上海方付通商务服务有限公司 | eID贴膜卡、移动终端设备及eID认证*** |
US10509940B2 (en) | 2017-09-28 | 2019-12-17 | Apple Inc. | Electronic device including sequential operation of light source subsets while acquiring biometric image data and related methods |
US10833877B2 (en) * | 2017-10-12 | 2020-11-10 | Canon Kabushiki Kaisha | Method of authenticating authentication-target apparatus by authentication apparatus, authentication apparatus, authentication- target apparatus, and image forming apparatus |
CN108540457B (zh) | 2018-03-20 | 2021-09-17 | 深圳市文鼎创数据科技有限公司 | 一种安全设备及其生物认证控制方法和装置 |
US11641278B2 (en) | 2018-03-27 | 2023-05-02 | Workday, Inc. | Digital credential authentication |
US11700117B2 (en) | 2018-03-27 | 2023-07-11 | Workday, Inc. | System for credential storage and verification |
CN110677250B (zh) * | 2018-07-02 | 2022-09-02 | 阿里巴巴集团控股有限公司 | 密钥和证书分发方法、身份信息处理方法、设备、介质 |
CN108900296B (zh) | 2018-07-04 | 2021-11-09 | 昆明我行科技有限公司 | 一种基于生物特征识别的秘钥存储方法 |
-
2019
- 2019-03-29 SG SG11201908938P patent/SG11201908938PA/en unknown
- 2019-03-29 AU AU2019204724A patent/AU2019204724C1/en active Active
- 2019-03-29 CN CN201980001441.4A patent/CN111316596B/zh active Active
- 2019-03-29 CA CA3058012A patent/CA3058012C/en active Active
- 2019-03-29 WO PCT/CN2019/080393 patent/WO2019120324A2/en unknown
- 2019-03-29 JP JP2019553419A patent/JP6756056B2/ja active Active
- 2019-03-29 KR KR1020197028379A patent/KR102157453B1/ko active IP Right Grant
- 2019-03-29 EP EP19732220.9A patent/EP3622665B1/en active Active
- 2019-09-30 US US16/587,901 patent/US11023620B2/en active Active
- 2019-12-12 TW TW108145434A patent/TWI724684B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080192937A1 (en) * | 2007-02-09 | 2008-08-14 | David Carroll Challener | System and Method for Generalized Authentication |
US20170373844A1 (en) * | 2015-06-05 | 2017-12-28 | Apple Inc. | Secure circuit for encryption key generation |
US20170357967A1 (en) * | 2016-06-12 | 2017-12-14 | Apple Inc. | Authentication using a secure circuit |
Also Published As
Publication number | Publication date |
---|---|
WO2019120324A3 (en) | 2020-01-23 |
SG11201908938PA (en) | 2019-10-30 |
TW202036384A (zh) | 2020-10-01 |
AU2019204724A1 (en) | 2020-10-15 |
AU2019204724C1 (en) | 2021-12-09 |
EP3622665A2 (en) | 2020-03-18 |
CA3058012C (en) | 2021-05-11 |
CN111316596B (zh) | 2024-03-01 |
CA3058012A1 (en) | 2019-06-27 |
WO2019120324A2 (en) | 2019-06-27 |
JP6756056B2 (ja) | 2020-09-16 |
CN111316596A (zh) | 2020-06-19 |
US20200311315A1 (en) | 2020-10-01 |
EP3622665B1 (en) | 2021-07-28 |
EP3622665A4 (en) | 2020-07-15 |
AU2019204724B2 (en) | 2021-06-17 |
JP2020519050A (ja) | 2020-06-25 |
US11023620B2 (en) | 2021-06-01 |
TWI724684B (zh) | 2021-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10574460B2 (en) | Mechanism for achieving mutual identity verification via one-way application-device channels | |
KR102157453B1 (ko) | 신원 검증을 사용하는 암호화 칩 | |
CN111034120B (zh) | 基于身份信息的加密密钥管理 | |
JP5852265B2 (ja) | 計算装置、コンピュータプログラム及びアクセス許否判定方法 | |
KR102234825B1 (ko) | 암호 동작들의 안전한 수행 | |
CN110838919B (zh) | 通信方法、存储方法、运算方法及装置 | |
CN107274283B (zh) | 一种空中发卡方法及装置 | |
CN110431803B (zh) | 基于身份信息管理加密密钥 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |