KR20210018240A - 물리적 복제방지 기능을 이용해 암호 키를 온-보드로 생성하기 위한 방법 - Google Patents

물리적 복제방지 기능을 이용해 암호 키를 온-보드로 생성하기 위한 방법 Download PDF

Info

Publication number
KR20210018240A
KR20210018240A KR1020207033883A KR20207033883A KR20210018240A KR 20210018240 A KR20210018240 A KR 20210018240A KR 1020207033883 A KR1020207033883 A KR 1020207033883A KR 20207033883 A KR20207033883 A KR 20207033883A KR 20210018240 A KR20210018240 A KR 20210018240A
Authority
KR
South Korea
Prior art keywords
prime number
encryption device
generating
challenge
encryption
Prior art date
Application number
KR1020207033883A
Other languages
English (en)
Inventor
벤자민 듀발
알렉산드레 베르짜티
올리비에 포와르퀸
Original Assignee
탈레스 Dis 디자인 서비스시스 Sas
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 탈레스 Dis 디자인 서비스시스 Sas filed Critical 탈레스 Dis 디자인 서비스시스 Sas
Publication of KR20210018240A publication Critical patent/KR20210018240A/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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
    • H04L9/3249Cryptographic 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 using RSA or related signature schemes, e.g. Rabin scheme
    • 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/3271Cryptographic 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 challenge-response
    • H04L9/3278Cryptographic 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 challenge-response using physically unclonable functions [PUF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7204Prime number generation or prime number testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 적어도 하나의 소수로부터 암호 키를 생성하기 위한 방법과 관련되며, 상기 방법은 적어도 하나의 하드웨어 프로세서, 물리 복제 방지 기능(208) 및 적어도 하나의 챌린지(Ci) 및 적어도 하나의 연관된 증분 수(Spi)를 저장하는 메모리(204, 205)를 포함하는 암호화 장치(101)에 의해 런타임 동안 수행되는 다음의 단계 - 연관된 증분 수는 상기 물리 복제 방지 기능을 이용해 챌린지로부터 획득된 소수로부터 적어도 하나의 소수를 생성하기 위해 지정 암호화 소수 생성 알고리즘에서 수행될 증분 단계의 수임 - , 상기 메모리로부터 챌린지 및 적어도 하나의 연관된 증분 수를 획득하는 단계(RS1), 물리 복제 방지 기능을 상기 획득된 챌린지로 적용함으로써 시드를 생성하는 단계(RS2), 암호화 소수 생성 알고리즘을 수행하고 획드고딘 적어도 하나의 증분 수만큼 증분 단계를 수행함으로써 생성된 시드로부터 적어도 하나의 소수를 생성하는 단계(RS3), 생성된 소수로부터 암호 키를 생성하는 단계(RS4)를 포함한다.

Description

물리적 복제방지 기능을 이용해 암호 키를 온-보드로 생성하기 위한 방법
본 발명은 암호 키 생성 방법 및 장치의 분야와 관련되고, 더 구체적으로 물리적 복제방지 기능(physically unclonable function)을 이용하는 온-보드 키 생성과 관련된다.
암호화 알고리즘이 암호화에 의한 통신의 프라이버시를 보장하거나, 인증을 위해, 또는 검증 가능한 서명을 생성하기 위해 흔히 사용된다. 대부분의 암호화 알고리즘은 임의의 암호화 작업을 수행하기 위해 암호 키를 필요로 한다. 이러한 키는 암호화 알고리즘의 최초 사용 전에 암호화 장치의 메모리에 저장되어야 하고, 나중에, 가령, 원본 키가 오염된 때 갱신되어야 할 수 있다.
키 생성 프로세스는 종종 소수(prime number)로 새로운 암호 키를 만든다. 따라서 이는 이러한 소수를 불러오기 위해, 소수성 테스트(primality test), 가령, 밀러 라빈 테스트(Miller Rabin test)를 수행하는 것을 포함한다.
이러한 테스트는 비싼 연산인 모듈러 거듭제곱을 계산하는 것을 포함한다. 일부 암호화 장치, 가령, SIM 카드, 은행 카드 또는 그 밖의 다른 스마트카드가 저 프로세싱 전력을 갖기 때문에, 암호 키를 갱신하는 것과 연관된 계산 비용을 감소시키기 위한 방식이 찾아졌다.
제1 기존 해결책이 새로운 소수 및 새로운 키를 계산하지 않고, 암호 키를 새로운 암호 키로 변경할 수 있기 위해 장치에 복수의 키를 저장하는 것이다. 이러한 해결책의 첫 번째 문제는 장치에 임베드된 복수의 키가 개인화 단계 후 확장될 수 없다는 것이다. 또 다른 문제는 장치에 복수의 키를 저장하는 것이 비휘발성 메모리(NVM) 소비량을 증가시키고 장치로부터 유효 키를 불러오려는 공격(덤프, 프로빙 ...)의 위험을 증가시킨다.
제2 기존 해결책은 소수가 빠르게 생성될 수 있게 하는 시드(seed)를 장치에 저장하는 것이다. 시드를 이용하는 것이 새로운 소수를 생성하는 비용을 감소시키지만 이전 해결책과 동일한 단점을 가진다.
제3 기존 해결책은 필요할 때 원거리 서버, 가령, 인증 기관으로부터 키를 다운로드하는 것이다. 이러한 해결책은 무시할만한 계산 비용을 가지며 장치에 저장된 어떠한 데이터도 공격에 노출시키지 않는다. 그러나, 이는 암호화 장치에 추가로 일부 추가 인프라구조를 유지할 것을 필요로 하며 도청을 피하기 위해 서버로의 보안 링크를 필요로 한다.
따라서 제한된 계산 비용 및 메모리 풋프린트를 갖고, 새로운 키 또는 대응하는 시드의 노출 위험은 낮추면서, 런타임 중에 새로운 암호 키를 암호화 장치 상에서 이용 가능하게 만드는 방법이 여전히 요구된다.
이 목적으로 그리고 제1 양태에 따르면, 본 발명은 적어도 하나의 소수로부터 암호 키를 생성하는 방법과 관련되며, 상기 방법은 적어도 하나의 하드웨어 프로세서, 물리적 복제방지 기능, 및 적어도 하나의 챌린지 및 적어도 하나의 연관된 증분 수를 저장하는 메모리를 포함하는 암호화 장치에 의해 런타임 동안 수행되는 다음의 단계 - 상기 연관된 증분 수는 물리적 복제방지 기능을 이용해 상기 챌린지로부터 획득된 시드로부터 적어도 하나의 소수를 생성하기 위해 지정 암호화 소수 생성 알고리즘에서 수행될 증분 단계의 수임 - ,
상기 메모리로부터 챌린지 및 적어도 하나의 연관된 증분 수를 획득하는 단계,
물리적 복제방지 기능을 획득된 챌린지에 적용함으로써 시드를 생성하는 단계,
암호화 소수 생성 알고리즘을 수행하고 획득된 적어도 하나의 증분 수만큼 증분 단계를 수행함으로써 생성된 시드로부터 적어도 하나의 소수를 생성하는 단계,
생성된 소수로부터 암호 키를 생성하는 단계.
제1 양태에 따르는 방법은 등록 단계 동안 암호화 장치에 의해 수행되는 다음의 단계를 더 포함할 수 있다:
암호화 장치의 물리적 복제 방지 기능을 챌린지에 적용함으로써 시드를 생성하는 단계,
암호화 장치의 메모리에, 챌린지 및 시드로부터 소수를 생성하기 위한 암호화 소수 생성 알고리즘에서 수행된 증분 단계의 수로서 정의된 적어도 하나의 연관된 증분 수를 저장하는 단계.
이러한 방법에 의해, 등록 단계에서의 대부분의 계산을 소수성 테스트를 포함해 새로운 암호 키가 필요하기 전에 할 수 있다. 런타임 중에, 암호 키는 감소된 비용으로 암호법에 의해 생성될 수 있다. 덧붙여, 암호화 장치에 저장된 데이터(챌린지 및 연관된 증분 수)가 민감한 데이터가 아니다. 공격자는 올바른 시드를 생성하기 위해 필수인 암호화 장치의 물리적 복제 방지 기능을 재현할 수 없기 때문에 키를 생성하는 데 이를 사용할 수 없다.
제1 실시예에 따라, 제1 양태에 따르는 방법은, 암호화 장치에 의해 수행되는, 상기 암호화 장치에 연결된 서버로부터 상기 챌린지를 수신하는 단계 및 생성된 시드를 서버로 전송하는 단계를 더 포함할 수 있다.
제1 실시예에서, 제1 양태에 따르는 방법은, 등록 단계 동안, 상기 서버에 의해 수행되는,
암호화 장치로 챌린지를 전송하는 단계,
암호화 장치로부터 생성된 시드를 수신하는 단계,
암호화 소수 생성 알고리즘에서 복수의 증분 단계에 의해 시드로부터 소수를 생성하는 단계,
소수를 생성하기 위한 암호화 소수 생성 알고리즘에서 수행되는 증분 단계의 수로서 정의된 적어도 하나의 증분 수를 메모리 저장하기 위해 상기 암호화 장치로 전송하는 단계.
이렇게 함으로써, 등록 단계에서 대부분의 계산이 서버에 의해 수행되는데, 이는 서버의 더 큰 계산 파워로부터 이익을 얻을 수 있다.
제2 실시예에 따르면, 제1 양태에 따르는 방법은 암호화 장치에 의해 수행되는 다음의 단계를 포함할 수 있다:
상기 챌린지를 생성하는 단계,
암호화 소수 생성 알고리즘에서 복수의 증분 단계를 수행하고, 소수를 생성하기 위한 암호화 소수 생성 알고리즘에서 수행된 증분 단계의 수로서 정의된 적어도 하나의 연관된 증분 수를 생성함으로써 시드로부터 소수를 생성하는 단계.
이러한 경우 등록 단계에서 모든 계산이 암호화 장치에 의해 수행되는데, 이로써 원거리 서버와의 메시지 교환이 피해지고 보안이 개선된다.
암호화 소수 생성 알고리즘이 FIPS 186-4 부록 A.1.1.2 및 ANS X9.31, rDSA 중 하나일 수 있다.
암호 키는 RSA 키 또는 ECC 키일 수 있다.
제2 양태에 따르면, 본 발명은 적어도 하나의 컴퓨터의 메모리로 직접 로딩 가능하며, 컴퓨터 상에서 실행될 때 제1 양태에 따르는 방법의 단계를 수행하기 위한 소프트웨어 코드 명령을 포함하는 컴퓨터 프로그램 프로덕트와 관련된다.
제3 양태에 따르면, 본 발명은 적어도 하나의 하드웨어 프로세서를 갖는 처리 시스템을 포함하는 암호화 장치에 의해 실행될 때 제1 양태에 따른 방법을 수행하는 실행 컴퓨터 코드를 저장하는 비-일시적 컴퓨터 판독형 매체와 관련된다.
제4 양태에 따르면, 본 발명은 암호화 장치와 관련되며, 상기 암호화 장치는
제1 양태에 따르는 방법을 수행하도록 구성된 적어도 하나의 하드웨어 프로세서,
챌린지 및 연관된 증분 수를 저장하기 위한 적어도 하나의 메모리
를 포함한다.
다음의 기재 및 도면이 상세한 양태로 제공되며 실시예의 원리가 구현될 수 있는 다양한 방식 중 단지 소수만 나타낸 것이다. 또 다른 이점 및 신규한 특징이 도면을 참조할 때 상세한 설명으로부터 자명해질 것이며 개시된 실시예는 이러한 양태 및 이들의 균등물을 포함하도록 의도된다.
도 1은 본 발명의 실시예에 따르는 시스템의 개략도이다.
도 2는 본 발명의 실시예에 따르는 암호화 장치의 개략도이다.
도 3은 본 발명의 실시예에 따르는 암호화 장치의 물리적 복제 방지 기능의 개략도이다.
도 4a 및 4b는 본 발명의 등록 단계의 몇 가지 실시예를 개략적으로 도시한다.
도 5는 본 발명의 실시예에 따르는 런 타임 단계를 개략적으로 도시한다.
도 6 및 7은 소수를 생성하는 데 사용되는 암호화 소수 생성 알고리즘이 알고리즘 ANS X9.31인 구현예를 개략적으로 도시한다.
이하의 상세한 설명에서, 본 발명이 실시될 수 있는 특정 형태를 예시로서 도시하는 도면이 참조된다. 이들 실시예는 해당 분야의 통상의 기술자라 본 발명을 실시하는 데 충분히 상세히 기재된다. 본 발명의 다양한 실시예는 상이하더라도 반드시 상호 배타적인 것은 아니다. 예를 들어, 하나의 실시예와 관련하여 본 명세서에 기재되는 특정 특징부, 구조, 또는 특성은 본 발명의 사상 및 범위 내에서 구현될 수 있다. 덧붙여, 각각의 개시된 실시예 내 개별 요소의 위치 또는 배열이 본 발명의 사상 및 범위 내에서 수정될 수 있음이 이해될 것이다. 따라서 이하의 상세한 설명은 한정으로 간주되지 않으며, 본 발명의 범위는 적절하게 해석되는 청구항 및 청구항에 부대되는 균등물에 의해서만 정의된다.
본 발명은 암호화 장치(101)가 필요할 때, 낮은 계산 비용으로, 하나 이상의 암호 키, 가령, 대칭 암호화/해역화를 위한 키 또는 비대칭 암호화 알고리즘을 위한 공개 키-개인 키를 생성하는 데 필요한 적어도 하나의 소수를 생성하게 하는 방법을 제공하는 것을 목표로 한다.
시드 값으로부터 소수를 생성하는 몇 가지 잘 알려진 알고리즘이 존재하는데, 가령, FIPS 186-4 appendix A.1.1.2 및 ANS X9.31 (1998에 승인된 버전), 금융 서비스에 대한 Accredited Standards Committee의 미국 표준 기관에 의해 개발된 금융 서비스 산업을 위한 가역 공개 키 암호법을 이용하는 rDSA 디지털 서명(http://www.x9.orq 참조)이 있다.
이러한 알고리즘은 시드로부터 계산된 일부 값을 증분시켜 후보 숫자를 반복적으로 획득함으로써 그리고 그런 다음 소수성 테스트가 양성일 때까지 이 후보 숫자의 소수성을 테스트함으로써, 시드 값으로부터 적어도 하나의 소스를 발생시킨다. 이러한 유형의 계산은 매우 비쌀 수 있다.
본 발명의 주요 아이디어는 소수가 실제로 필요한 런타임 단계 전 등록(enrollment) 단계 동안 이러한 계산을 수행하고, 주어진 시드로부터 적어도 하나의 소수를 생성하기 위해 선택된 알고리즘을 이용해 수행될 증분 단계의 수를 암호화 장치에 저장하는 것이다. 이렇게 함으로써, 암호화 장치는 런타임 동안 다시 등록 단계 동안 시드로부터 획득된 소수를, 단지 필요한 수의 증분 단계만 수행함으로써 생성할 수 있다. 암호화 장치는 각각의 증분 단계 후 소수성 테스트를 수행할 필요가 없기 때문에, 런타임 동안 소수가 등록 단계 동안에서보다 훨씬 더 낮은 계산 비용으로 생성될 수 있다. 암호화 장치에 의해 수행될 계산의 양을 훨씬 더 감소시키기 위해, 등록 단계에서 수행될 대부분의 계산이 원격 서버(102)에서 수행될 수 있다.
암호 키를 생성하기 위해 시드로부터 적어도 하나의 소수를 생성하는 이러한 알고리즘을 이용하는 단점은, 시드로 액세스하는 임의의 공격자가 동일한 소수와 암호 키를 생성할 수 있고, 그런 다음 이를 악의적으로 이용할 수 있다는 것이다. 따라서 증분 단계의 수와 함께 소수 생성 알고리즘에서 사용될 시드는 임의의 비인가 액세스로부터 보호되어야 한다. 공격자가 저장된 시드로 이렇게 액세스하는 것을 방지하기 위한, 본 발명의 또 다른 특징이 암호화 장치가 시드를 소수 생성 알고리즘으로의 입력으로서 필요할 때 그때 그때(on-the-fly) 보안 생성하게 함으로써, 시드 값을 저장하는 것을 피하는 것이다. 이러한 보안 생성은 물리적 복제방지 기능(PUF: Physically Unclonable Function)를 이용해 챌린지(challenge)를 처리함으로써 수행될 수 있다.
이러한 물리적 복제방지 기능은 제조 동안 랜덤하게 설정된 물리적 인자, 가령, 이 하드웨어 회로의 마이크로구조물에 따라 좌우되는 결과를 갖는 하드웨어 회로에 의해 구현되는 함수이다. 따라서, 이러한 물리적 복제방지 기능은 고유하며, 예측 불가능하고, 재현될 수 없다.
본 발명에 따라, 암호화 장치는 물리적 복제방지 기능 동안 시드를 획득할 수 있는 챌린지와 이 시드로부터 적어도 하나의 소수를 생성하기 위해 선택된 알고리즘을 이용해 수행될 증분 단계의 수만 저장한다. 새로운 암호 키가 요구될 때, 메모리에 저장된 챌린지가 읽히고 여기에 물리적 복제방지 기능이 적용되어 시드가 얻어질 수 있다. 시드 및 챌린지와 함께 저장된 증분 단계의 수를 입력으로서 이용해 지정 소수 생성 알고리즘을 실행하여, 적어도 하나의 소수를 생성하고, 이 소수로부터 암호 키를 생성할 수 있다.
암호 키를 생성하는 이러한 방법은 시드를 암호화 장치에 저장하는 것보다 훨씨 더 안전하다: 암호화 장치의 메모리의 콘텐츠에 액세스하는 공격자가 암호화 장치의 물리적 복제방지 기능을 재현할 수 없기 때문에 챌린지를 사용하지 못하고 이 물리적 복제방지 기능으로 챌린지를 처리하는 것으로부터 획득될 시드를 재계산할 수 없을 것이다.
도 1은 암호화 장치(101), 가령, 스마트카드 또는 모바일 전화기를 원격 서버(102)로 연결하는 네트워크(103)의 개략도이다. 암호화 장치(101)는 사용자에 의해 동작되고 암호화 작업, 가령, 데이터 암호화 또는 해역화를 위한 커맨드를 암호화 장치로 전송하는 개인 컴퓨터로 연결될 수 있다. 또는, 암호화 장치(101)가 이러한 컴퓨터에 내장될 수 있다.
도 2는 암호화 장치(101)의 개략도이다. 이는 버스(202)를 통해 랜덤 액세스 메모리(RAM)(203), 리드-온리 메모리(ROM)(204), 및/또는 비휘발성 메모리(NVM)(205)에 연결된 프로세서(201)를 포함할 수 있다. 암호화 장치(10)의 메모리, ROM 및/또는 NVM의 서브-파트가, 하기 문단에서 기재될 바와 같이, 민감한 데이터, 가령, 비밀 키 또는 새로운 비밀 키를 생성하는 데 필요한 정보를 저장할 수 있다.
암호화 장치(101)는 프로세서에 연결된 커넥터(206)를 더 포함하며, 커넥터에 의해 암호화 장치(101)는 안테나에 연결될 수 있다. 이러한 안테나는 암호화 장치(101)를 다양한 형태의 무선 네트워크, 가령, 광역 네트워크, Wi-Fi 네트워크, 또는 모바일 전화 네트워크로 연결하는 데 사용될 수 있다. 대안으로, 암호화 장치(101)는 유선 네트워크 연결, 가령, 이더넷을 통해 네트워크에 연결될 수 있다.
암호화 장치(101)는 또한 암호화 장치(101)의 사용자에게 인터페이스를 제공하는 입/출력 수단(207), 가령, 하나 이상의 스크린, 확성기, 마우스, 촉감 표면(tactile surface), 키보드 등을 포함할 수 있다.
암호화 장치(101)는 또한 도 3에 도시된 바와 같이 PUF 모듈(208), 가령, 앞서 정의된 Physically Unclonable Function(물리적 복제방지 기능)을 수행하는 PUF 회로(301)을 포함한다. 강한 PUF 모듈의 출력에서 엔트로피의 최소 레벨을 보장하기 위해, 후자는 PUF 회로의 출력에 자신의 엔트로피를 증가시키는 기능, 가령, 해쉬 기능을 적용하는 엔트로피 누적 회로(302)를 더 포함한다. 엔트로피 누적 회로(302)는 또한 입력으로서 IV(initialization vector)를 이용할 수 있다. 강한 PUF 모듈에 의해 수행되는 전체 기능이 이하의 문단에서 "강한 PUF"라고 지칭된다.
암호화 장치(101)는 어떠한 비인가 액세스에 대해서도 보안되는 위조 방지 장치일 수 있다.
도 4a 및 4b에서 도시된 바와 같이, 적어도 하나의 소수를 쉽게 생성하기 위해 런타임 동안 필요할 요소를 생성 및 저장하기 위해, 등록 단계 동안 암호화 장치(101)에 의해 수행되는 단계가 하기 문단에서 기재된다.
제1 등록 단계(ES1) 동안, 암호화 장치는 자신의 강한 물리적 복제방지 기능(PUF: Physically Unclonable function)를 챌린지(Ci)에 적용함으로써, 시드를 생성한다.
제2 등록 단계(ES2) 동안, 암호화 장치는 자신의 메모리에 상기 챌린지와, 제1 등록 단계(ES1) 동안 생성되는 시드로부터 적어도 하나의 소수를 생성하기 위해 암호화 소수 생성 알고리즘에서 수행될 증분 단계의 수로서 정의된 적어도 하나의 연관된 증분 수(Spi)를 저장한다. 챌린지와 연관된 증분 수의 수는 소수를 생성하기 위해 선택된 대응하는 알고리즘에 따라 달라질 수 있다.
제1 실시예에서, 도 4a에 도시된 바와 같이, 이 등록 단계 동안 암호화 장치에 의해 수행될 계산을 최소화하기 위해, 서버가 암호화 장치로 챌린지를 전송하고 이 챌린지로부터 생성된 시드로부터 적어도 하나의 소수를 생성하기 위해 수행될 증분 단계의 수를 결정할 수 있다.
이러한 경우, 등록 단계는 서버가 챌린지를 생성하고 이를 암호화 장치로 전송할 수 있으며, 암호화 장치가 서버로부터 챌린지를 수신하는 예비 등록 단계(ES0)를 포함한다. 이러한 경우 등록 단계는 또한 소수 생성 등록 단계(ES11)를포함하며, 소수 생성 등록 단계는:
● 암호화 장치가 서버로부터 전송된 챌린지로부터 자신이 생성한 시드를 서버로 전송하고, 서버가 암호화 장치로부터 생성된 시드를 수신하는 등록 단계(ES111),
● 서버가 암호화 소수 생성 알고리즘에서 복수의 증분 단계를 수행함으로써 시드로부터 적어도 하나의 소수(Ypi)를 생성하는 등록 단계(ES112),
● 서버가 소수를 생성하기 위한 암호화 소수 생성 알고리즘에서 수행되는 증분 단계의 수로서 정의되는 적어도 하나의 중분 수(Spi)를 상기 암호화 장치로 전송하여 이의 메모리에 저장되게 하는 등록 단계(ES113)
를 포함한다.
제2 실시예에서, 도 4b에 도시된 바와 같이, 등록 동안 수행되는 모든 계산이 암호화 장치(101) 자체에 의해 수행된다. 이러한 경우, 등록 단계는 암호화 장치가 챌린지를 생성할 수 있는 대안 예비 등록 단계(ES0')를 포함한다. 이러한 경우 등록 단계는 대안 소수 생성 등록 단계(ES11')를 포함하며, 이 단계 동안 암호화 장치는:
● 암호화 소수 생성 알고리즘에서 복수의 증분 단계를 수행함으로써, 제1 등록 단계(ES1) 동안 자신이 생성한 시드로부터 소수(Ypi)를 생성하며,
● 소수를 생성하기 위한 암호화 소수 생성 알고리즘에서 수행되는 증분 단계의 수로서 정의된 적어도 하나의 연관된 증분 수(Spi)를 생성한다.
이렇게 함으로써, 두 실시예 모두에서, 등록 단계가 끝날 때, 암호화 장치는 자신의 메모리에 챌린지와 적어도 하나의 연관된 증분 수를 저장하여, 챌린지로부터 시드를 생성할 수 있고, 그런 다음, 암호화 소수 알고리즘에서 연관된 증분 수만큼 증분 단계를 수행함으로써, 시드로부터 적어도 하나의 소수를 생성할 수 있다.
다음의 문단에서, 도 5에 도시된 바와 같이, 적어도 하나의 소수로부터 암호 키를 생성하기 위해, 등록 단계 후 런타임 동안 암호화 장치(101)에 의해 수행되는 본 발명의 제1 양태에 따르는 방법의 단계가 기재된다.
앞서 기재된 바와 같이, 암호화 장치의 메모리(204, 205)는 적어도 하나의 챌린지와, 암호화 장치의 PUF 모듈에 의해 수행되는 강한 PUF를 이용해 상기 챌린지로부터 획득된 시드로부터 상기 소수를 생성하기 위해 지정 암호화 소수 생성 알고리즘에서 수행될 증분 단계의 수인 적어도 하나의 연관된 증분 수를 저장한다.
제1 런타임 단계(RS1) 동안, 암호화 장치는 자신의 메모리로부터 챌린지(Ci) 및 연관된 적어도 하나의 증분 수(Spi)를 획득한다.
제2 런타임 단계(RS2) 동안, 암호화 장치는 자신의 강한 PUF(Physically Unclonable function)를 제1 런타임 단계(RS1) 동안 획득된 챌린지에 적용함으로써 소수 생성 시드를 생성한다.
제3 런타임 단계(RS3) 동안, 암호화 장치는 상기 암호화 소수 생성 알고리즘을 수행하고 획득된 적어도 하나의 증분 수(Spi)만큼 증분 단계를 수행함으로써 생성된 시드로부터 적어도 하나의 소수를 생성한다.
제4 런타임 단계(RS4) 동안, 암호화 장치는 생성된 소수로부터 암호 키를 생성한다. 생성된 암호 키는 예를 들어, 팩토링 문제 또는 이산 대수 문제의 실용적 어려움에 기초하여, RSA 키, DSA 키, 디피-헬만(Diffie-Hellman) 키, ECDSA 키, ECD 키 또는 ECC 키, 또는 공개 키 알고리즘에 의해 사용되는 임의의 암호 키일 수 있다.
하기의 문단에서, ANS X9.31 및 FIPS 186-4 부록 A.1.1.2 소수 생성 알고리즘에 기초하는 두 가지 구현예가 주어진다. 이들은 비제한적 구현예이며 본 발명에 따르는 방법은 다양한 다른 소수 생성 알고리즘에 기초하여 구현될 수 있다.
소수를 생성하는 데 사용되는 암호화 소수 생성 알고리즘이 알고리즘 ANS X9.31인 제1 구현예가 주어진다.
이 경우 등록 단계 동안 수행되는 동작이 도 6에 나타나 있고, 이는 서버가 소수를 생성하도록 수행될 증분 단계의 수를 결정하는 제1 실시예에 대응한다.
예비 등록 단계(ES0/ES0') 동안, 챌린지(Ci)가 암호화 장치에 의해 생성되거나 서버에 의해 생성되고 암호화 장치로 전송된다. 암호화 장치는 또한 생성될 키의 크기이고 서버에 의해 전송될 수 있는 키 크기(p), 정수인 증분 폭(b), 및 공개 파라미터(e), 가령, RSA 공개 키를 안다.
제1 등록 단계(ES1) 동안, 암호화 장치는 챌린지(Ci)로부터 시드를 생성한다. X9.31 알고리즘의 경우, 시드는 3개 부분 Xpi, Xpi1 및 Xpi2으로 구성된다:
(Xpi, Xpi1, Xpi2) = Strong_PUF(Ci, p)
소수 생성 등록 단계(ES11/ES11') 동안, 암호화 장치 또는 서버는 이하에서 X'9.31로 표기된 X9.31 알고리즘을 이용해 시드로부터 소수(Ypi)를 생성하고, 여기서 PrimeQ는 소수성 테스트이다:
Figure pct00001
이러한 알고리즘을 이용해, 소수(Ypi)는 p1 값을 Spi1회 증분시키고, p2 값을 Spi2회 증분시키고 YPi 값을 SPi 회 증분시킨 후 획득된다.
소수 생성 등록 단계(ES11/ES11')가 끝나면, 값(Spi1, Spi2, Spi, 및 Spi12)이 챌린지(Ci)와 연관된 증분 수이며, 암호화 장치에 의해 X9.31 암호화 소수 생성 알고리즘의 출력으로서 생성되거나 서버에 의해 암호화 장치로 전송된다.
마지막으로 제2 등록 단계(ES2) 동안, 챌린지(Ci) 및 연관된 증분 수(Spi1, Spi2, Spi, 및 Spi12)가 암호화 장치에 의해 저장된다.
그런 다음 런타임 동안, 도 7에 도시된 바와 같이, 제1 런타임 단계(RS1) 동안, 암호화 장치는 이들 값(Ci, Spi1, Spi2, Spi, 및 Spi12)을 자신의 메모리로부터 읽는다.
제2 런타임 단계(RS2) 동안, 암호화 장치는 다시 자신의 강한 물리적 복제방지 기능(PUF)을 챌린지(Ci)로 적용함으로써 소수 생성 시드(Xpi, Xpi1 , Xpi2)를 생성한다:
(Xpi, Xpi1, Xpi2) = Strong_PUF(Ci, p).
제3 런타임 단계(RS3) 동안, 암호화 장치는 다시 단순화된 X9.31 변형이라 불리우는 이하의 계산을 수행함으로써 소수(Ypi)를 생성된 시드로부터 생성한다:
1. a/ p1 <- Xpi1 + Spi1.b 계산
b/ p2 <- Xpi2 + Spi2.b 계산
2. a/ lp2 <- p1 -1 mod p2 계산
b/ Rt <- p2.2lp2 + p1.p2 -1 계산
c/ T <- Xpi mod p1.p2 계산
d/ U <- Rt - T 계산
e/ U <- U - Spi12.p1.p2 계산
3. Ypi = Xpi + U + Spi.2.p1.p2 계산
이렇게 함으로써, 암호화 장치는 등록 단계 동안 소수(Ypi)를 더 빠르게 재생성할 수 있다.
이하의 문단에서, 적어도 하나의 소수를 생성하는 데 사용되는 암호화 소수 생성 알고리즘이 알고리즘 FIPS 186-4 부록 A.1.1.2의 수정된 버전인 제2 구현예가 주어진다.
이 알고리즘은 제1 소수(p) 및 제2 소수(q)의 생성을 위해 사용될 수 있다. 이 알고리즘은 입력으로서 제1 소수(p)의 희망 길이 L, 제2 소수(q)의 희망 길이 N, 강한 PUF에 의해 생성된 시드의 길이 SL(≥N)을 이용한다. 이는 출력 길이의 해시 함수 outlen를 이용한다.
알고리즘을 이용할 때 등록 단계 도앙ㄴ 수행되는 동작이 이하에서 더 상세히 나타난다:
첫째, 이 알고리즘:
1. n = ceil(Uoutlen)을 계산, 여기서 outlen은 해시 출력 블록 길이를 나타냄
2. BL = L - 1 - ( n*outlen )을 계산
그런 다음 제2 소수(q)를 생성하기 위해:
3. 예비 등록 단계(ES0/ES0') 동안, 챌린지(Cq)가 암호화 장치에 의해 생성되거나 서버에 의해 생성되고 암호화 장치로 전송된다: Cq = 랜덤 수
4. 제1 등록 단계(ES1) 동안, 암호화 장치는 챌린지(Cq) 및 시드의 길이(SL)로부터 시드(U)를 생성: U = Hash (StrongPUF(Cq, SL)) mod 2N-1
그런 다음, 소수 생성 등록 단계(ES11/ES11') 동안, 암호화 장치 또는 서버가 소수 p, q를 시드(U)로부터 생성한다:
5. q = 2N-1 + U + 1 - (U mod 2) 계산
6. q의 소수성을 테스트하고 소수가 아닌 경우, 단계 3으로 감. 그렇지 않은 경우 Cq 파라미터를 저장.
q와 서로소인 p를 생성하기 위해:
7. offset = 1로 설정
8. counter = 0 to (4L - 1)에 대해 다음을 수행
8.1 . j = 0 내지 n에 대해 다음을 수행
Vj= Hash (StrongPUF(Cq, SL) + offset + j) mod 2SL 계산
8.2. W = Sum (j=0; j< BL) (Vj * 2J*outlen)계산
8.3. X = W + 2L-1 계산
8.4. C = X mod 2q 계산
8.5. p = X - (C-1) 계산
8.6. p < 2L-1 이면 8.8로 감
8.7. p의 소수성 테스트, p가 소수인 경우 offp = offset를 저장하고 (Cq, offp)를 반환
8.8. offset = offset + n + 1로 설정
소수 생성 등록 단계(ES11/ES11')가 끝나면, 값 offp이 챌린지(Cq)와 연관된 증분 수이고, 암호화 장치에 의해 암호화 소수 생성 알고리즘의 출력으로서 생성되거나, 서버에 의해 암호화 장치로 전송된다.
마지막으로 제2 등록 단계(ES2) 동안, 챌린지(Cq) 및 연관된 증분 수(offp)가 암호화 장치에 의해 저장된다.
이하에서 런타임 과정 동안 수행되는 단계가 기재된다.
런타임 동안, 제1 런타임 단계(RS1) 동안, 암호화 장치는 이들 값(Cq 및 offp)을 자신의 메모리로부터 읽는다. 암호화 장치는 역시 제1 소수(p)의 희망 길이 L, 제2 소수(q)의 희망 길이 N, 및 시드의 길이(SL)(>=N)를 안다.
그런 다음, 암호화 장치가:
1. n = ceil(L/outlen)를 계산,
2. BL = L - 1 - ( n*outlen )를 계산,
3. 제2 런타임 단계(RS2) 동안, 암호화 장치는 자신의 강한 물리적 복제방지 기능(PUF: Physically Unclonable function)를 챌린지(Cq)에 적용시킴으로써 다시 소수 생성 시드 U를 생성한다: U = Hash (StrongPUF(Cq ,SL)) mod 2N-1
제3 런타임 단계(RS3) 동안, 암호화 장치는 다음의 계산을 수행함으로써 생성된 시드(U)로부터 제1 소수(p) 및 제2 소수(q)를 다시 생성한다:
4. q = 2N-1 + U + 1 - (U mod 2) 계산
q와 서로소인 p를 생성하기 위해:
5.1 . j = 0 내지 n에 대해 다음을 수행
Vj= Hash (StrongPUF(Cq, SL) + offp + j) mod 26SL 계산
5.2. W = Sum (j=0; j<BL) (Vj*2j*outlen) 계산
5.3. X = W + 2L-1 계산
5.4. C = X mod 2q 계산
5.5. p = X-(C-1) 계산
5.6 쌍 (p, q) 반환
이렇게 함으로써, 암호화 장치는 등록 단계 동안에서보다 더 빠르게 소수 p 및 q를 재생성할 수 있다.
제2 양태에 따르면, 본 발명은 적어도 하나의 컴퓨터의 메모리로 직접 로딩 가능한 컴퓨터 프로그램 프로덕트와도 관련되며, 상기 컴퓨터 프로그램 프로덕트는 컴퓨터 상에서 실행될 때 제1 양태에 따르는 방법의 단계들을 수행하기 위한 소프트웨어 코드 명령을 포함한다.
제3 양태에 따르면, 본 발명은 적어도 하나의 하드웨어 프로세서를 포함하는 암호화 장치에 의해 실행될 때 제1 양태에 따르는 방법을 수행하는 실행형 컴퓨터 코드를 저장하는 비-일시적 컴퓨터 판독형 매체와도 관련된다.
제4 양태에 따르면, 본 발명은 암호화 장치(101)와도 관련되며, 상기 암호화 장치는:
제1 양태에 따르는 방법의 단계를 수행하도록 구성된 적어도 하나의 하드웨어 프로세서(201), 및
챌린지 및 연관된 증분 수를 저장하기 위한 적어도 하나의 메모리(203, 204, 205)
를 포함한다.

Claims (10)

  1. 적어도 하나의 소수로부터 암호 키를 생성하기 위한 방법으로서,
    적어도 하나의 하드웨어 프로세서(201), 물리적 복제방지 기능(Physically Unclonable function)(208) 및 적어도 하나의 챌린지(Ci) 및 적어도 하나의 연관된 증분 수(Spi)를 저장하는 메모리(204, 205)를 포함하는 암호화 장치(101)에 의해 런타임 동안 수행되는 - 상기 연관된 증분 수는 상기 물리적 복제방지 기능을 이용해 상기 챌린지로부터 획득된 시드로부터 상기 적어도 하나의 소수를 생성하기 위해 지정 암호화 소수 생성 알고리즘에서 수행될 증분 단계의 수임 - :
    상기 메모리로부터 챌린지 및 적어도 하나의 연관된 증분 수를 획득하는 단계(RS1),
    획득된 챌린지로 물리적 복제방지 기능을 적용함으로써 시드를 생성하는 단계(RS2),
    암호화 소수 생성 알고리즘을 수행하고 획득된 적어도 하나의 증분 수만큼 증분 단계를 수행함으로써, 생성된 시드로부터 적어도 하나의 소수를 생성하는 단계(RS3),
    생성된 소수로부터 상기 암호 키를 생성하는 단계(RS4)
    를 포함하는, 암호 키를 생성하기 위한 방법.
  2. 제1항에 있어서, 등록 단계 동안 상기 암호화 장치(101)에 의해 수행되는,
    암호화 장치의 물리적 복제방지 기능(Physically Unclonable function)를 챌린지(Ci)로 적용함으로써 시드를 생성하는 단계(ES1),
    암호화 장치의 메모리에, 상기 챌린지(Ci) 및 상기 시드로부터 상기 소수를 생성하기 위해 암호화 소수 생성 알고리즘에서 수행될 증분 단계의 수로서 정의되는 적어도 하나의 연관된 증분 수(Spi)를 저장하는 단계(ES2)
    를 포함하는 암호 키를 생성하기 위한 방법.
  3. 제2항에 있어서, 상기 암호화 장치에 의해 수행되는,
    상기 암호화 장치(ES0)에 연결된 서버로부터 챌린지를 수신하는 단계(ES0) 및 생성된 시드를 상기 서버로 전송하는 단계(ES111)를 더 포함하는, 암호 키를 생성하기 위한 방법.
  4. 제3항에 있어서, 등록 단계 동안, 서버에 의해 수행되는
    상기 챌린지를 암호화 장치로 전송하는 단계(ES0),
    암호화 장치로부터 생성된 시드를 수신하는 단계(ES111),
    암호화 소수 생성 알고리즘에서 복수의 증분 단계를 수행함으로써 시드로부터 소수를 생성하는 단계(ES112),
    소수를 생성하기 위해 암호화 소수 생성 알고리즘에서 수행될 증분 단계의 수로서 정의된 적어도 하나의 증분 수를 메모리에 저장하기 위해 암호화 장치로 전송하는 단계(ES113)
    를 포함하는, 암호 키를 생성하기 위한 방법.
  5. 제2항에 있어서, 암호화 장치에 의해 수행되는
    상기 챌린지를 생성하는 단계(ES0'),
    암호화 소수 생성 알고리즘에서 복수의 증분 단계를 수행함으로써 시드로부터 소수를 생성하며, 상기 소수를 생성하기 위해 암호화 소수 생성 알고리즘에서 수행되는 증분 단계의 수로서 정의되는 적어도 하나의 연관된 증분 수를 생성하는 단계
    를 더 포함하는, 암호 키를 생성하기 위한 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 암호화 소수 생성 알고리즘은 FIPS 186-4 부록 A.1.1.2 및 ANS X9.31, rDSA 중 하나인, 암호 키를 생성하기 위한 방법.
  7. 제1항 내지 제5항 중 어느 한 항에 있어서, 암호 키는 RSA 키 또는 ECC 키인, 암호 키를 생성하기 위한 방법.
  8. 적어도 하나의 컴퓨터의 메모리에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 상에서 실행될 때 청구항 제1항 내지 제5항 중 어느 한 항에 따르는 방법의 단계를 수행하기 위한 소프트웨어 코드 명령을 포함하는, 컴퓨터 프로그램.
  9. 적어도 하나의 하드웨어 프로세서(201)를 포함하는 암호화 장치(101)에 의해 실행될 때 청구항 제1항 내지 제5항 중 어느 한 항에 따르는 방법의 단계를 수행하도록 실행되는 컴퓨터 코드를 저장하는 비-일시적 컴퓨터 판독형 저장 매체.
  10. 암호화 장치(101)로서,
    청구항 제1항 내지 제5항 중 어느 한 항에 따른 방법의 단계를 수행하도록 구성된 적어도 하나의 하드웨어 프로세서(201),
    챌린지 및 연관된 증분 수를 저장하기 위한 적어도 하나의 메모리(203, 204, 205)를 포함하는, 암호화 장치.
KR1020207033883A 2018-04-26 2019-04-24 물리적 복제방지 기능을 이용해 암호 키를 온-보드로 생성하기 위한 방법 KR20210018240A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18305522.7A EP3562092A1 (en) 2018-04-26 2018-04-26 Method for generating on-board a cryptographic key using a physically unclonable function
EP18305522.7 2018-04-26
PCT/EP2019/060525 WO2019207001A1 (en) 2018-04-26 2019-04-24 Method for generating on-board a cryptographic key using a physically unclonable function

Publications (1)

Publication Number Publication Date
KR20210018240A true KR20210018240A (ko) 2021-02-17

Family

ID=62916592

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207033883A KR20210018240A (ko) 2018-04-26 2019-04-24 물리적 복제방지 기능을 이용해 암호 키를 온-보드로 생성하기 위한 방법

Country Status (6)

Country Link
US (1) US11323256B2 (ko)
EP (2) EP3562092A1 (ko)
JP (1) JP2021521748A (ko)
KR (1) KR20210018240A (ko)
CN (1) CN112352399A (ko)
WO (1) WO2019207001A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230261884A1 (en) * 2020-06-26 2023-08-17 Telefonaktiebolaget Lm Ericsson (Publ) Security component and method of operation
CN116340984B (zh) * 2023-05-29 2023-08-15 四川云合数创信息技术有限公司 一种基于智慧社区的用户信息管理方法及系统

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2841411B1 (fr) 2002-06-19 2004-10-29 Gemplus Card Int Procede de generation de cles electroniques pour procede de crytographie a cle publique et objet portatif securise mettant en oeuvre le procede
JP5291628B2 (ja) * 2006-11-28 2013-09-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ シードが与えられる任意数を生成する方法
US8290150B2 (en) * 2007-05-11 2012-10-16 Validity Sensors, Inc. Method and system for electronically securing an electronic device using physically unclonable functions
US20110002461A1 (en) * 2007-05-11 2011-01-06 Validity Sensors, Inc. Method and System for Electronically Securing an Electronic Biometric Device Using Physically Unclonable Functions
US8971530B2 (en) * 2009-06-24 2015-03-03 Intel Corporation Cryptographic key generation using a stored input value and a stored count value
US20130051552A1 (en) * 2010-01-20 2013-02-28 Héléna Handschuh Device and method for obtaining a cryptographic key
EP2666316B1 (en) * 2011-01-17 2020-06-03 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for authenticating a communication device
US8415969B1 (en) 2011-10-28 2013-04-09 International Business Machines Corporation Implementing screening for single FET compare of physically unclonable function (PUF)
JP6267207B2 (ja) * 2012-10-04 2018-01-24 イントリンシツク・イー・デー・ベー・ベー 物理的クローン不能関数として使用されるメモリから暗号化キーを生成するためのシステム
WO2014138626A1 (en) * 2013-03-08 2014-09-12 Robert Bosch Gmbh Systems and methods for maintaining integrity and secrecy in untrusted computing platforms
US9088278B2 (en) 2013-05-03 2015-07-21 International Business Machines Corporation Physical unclonable function generation and management
US20160125416A1 (en) * 2013-05-08 2016-05-05 Acuity Systems, Inc. Authentication system
US20150026545A1 (en) * 2013-07-18 2015-01-22 Verayo, Inc. System and method for generating constellation-based information coding using physical noisy pseudo-random sources
US9992031B2 (en) 2013-09-27 2018-06-05 Intel Corporation Dark bits to reduce physically unclonable function error rates
US10432409B2 (en) * 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
WO2016058793A1 (en) * 2014-10-13 2016-04-21 Intrinsic Id B.V. Cryptographic device comprising a physical unclonable function
EP3238199B1 (en) * 2014-12-24 2020-06-17 Intrinsic ID B.V. Secure key generation from biased physical unclonable function
US9787696B2 (en) * 2015-05-19 2017-10-10 Workday, Inc. Brute force attack prevention system
US10877531B2 (en) * 2015-08-03 2020-12-29 Texas Instruments Incorporated Methods and apparatus to create a physically unclonable function
WO2017021254A1 (en) 2015-08-06 2017-02-09 Intrinsic Id B.V Cryptographic device having physical unclonable function
DE112016006170B4 (de) 2016-01-08 2021-07-29 Synopsys, Inc. Puf-werterzeugung unter verwendung einer anti-schmelzsicherungs-speicheranordnung
US10608813B1 (en) * 2017-01-09 2020-03-31 Amazon Technologies, Inc. Layered encryption for long-lived data
EP3364592A1 (en) * 2017-02-21 2018-08-22 Gemalto Sa Method for generating a prime number for a cryptographic application
CN107194117B (zh) * 2017-06-16 2020-12-22 合肥工业大学 一种蝶形触发器物理不可克隆函数的可靠性提升方法
US11251959B2 (en) * 2018-07-09 2022-02-15 Ares Technologies, Inc. Method of manufacturing a secure computing hardware apparatus
US11343109B2 (en) * 2019-06-12 2022-05-24 Arizona Board Of Regents On Behalf Of Northern Arizona University Secure enrollment for physical unclonable function devices

Also Published As

Publication number Publication date
WO2019207001A1 (en) 2019-10-31
US20210243021A1 (en) 2021-08-05
JP2021521748A (ja) 2021-08-26
CN112352399A (zh) 2021-02-09
EP3562092A1 (en) 2019-10-30
US11323256B2 (en) 2022-05-03
EP3785399A1 (en) 2021-03-03
EP3785399B1 (en) 2022-02-09

Similar Documents

Publication Publication Date Title
US10833871B2 (en) System and method for deterministic signing of a message using a multi-party computation (MPC) process
US8300811B2 (en) Method and device for processing data
JP4216475B2 (ja) 漏洩抵抗力を有する暗号索引付き鍵の更新方法及びデバイス
US20170235957A1 (en) Controlled secure code authentication
US11290272B2 (en) Elliptic curve point multiplication device and method in a white-box context
CN111294203B (zh) 信息传输方法
JP7091322B2 (ja) 複合デジタル署名
US11930110B2 (en) System and method for key recovery and verification in blockchain based networks
WO2020020127A1 (zh) 一种私钥存储和读取方法、装置及硬件设备
WO2019110399A1 (en) Two-party signature device and method
KR101253683B1 (ko) 연쇄 해시에 의한 전자서명 시스템 및 방법
WO2019121026A1 (en) Homomorphic encryption for password authentication
CN113779606A (zh) 一种降低隐私泄露风险的信息校验方法及系统
JP2017526981A (ja) 暗号アルゴリズム向けのワンタイムの中国剰余定理のべき乗のためのシステムおよび方法
JP2017526981A5 (ko)
KR20200046481A (ko) 난수 생성기, 이를 포함하는 암호화 장치 및 이의 동작 방법
KR20210018240A (ko) 물리적 복제방지 기능을 이용해 암호 키를 온-보드로 생성하기 위한 방법
EP3010173A1 (en) Key storage device, key storage method, and program therefor
EP3166013B1 (en) Modular exponentiation using randomized addition chains
NL1043779B1 (en) Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge
CN112887097A (zh) 基于sm2椭圆曲线的签名方法、相关装置、及存储介质
CN115134093B (zh) 数字签名方法及计算设备
CN113364585B (zh) 减少模逆计算的ecc认证方法及系统
CN113807832A (zh) 基于区块链的交易方法、装置、设备及可读存储介质
CN112766970A (zh) 一种信息存储方法、装置及系统

Legal Events

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