KR20220023992A - 암호키 생성 장치 및 암호키 생성 방법 - Google Patents

암호키 생성 장치 및 암호키 생성 방법 Download PDF

Info

Publication number
KR20220023992A
KR20220023992A KR1020217040450A KR20217040450A KR20220023992A KR 20220023992 A KR20220023992 A KR 20220023992A KR 1020217040450 A KR1020217040450 A KR 1020217040450A KR 20217040450 A KR20217040450 A KR 20217040450A KR 20220023992 A KR20220023992 A KR 20220023992A
Authority
KR
South Korea
Prior art keywords
key
encryption
random number
image data
unit
Prior art date
Application number
KR1020217040450A
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 KR20220023992A publication Critical patent/KR20220023992A/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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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
    • 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3239Cryptographic 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 cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N5/23229
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Multimedia (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Studio Devices (AREA)
  • Lock And Its Accessories (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

전자 서명용의 비밀키에 대해 해독을 곤란하게 하여, 개찬 검지 성능의 향상을 도모한다. 본 기술에 따른 암호키 생성 장치는, 가시광 또는 비가시광의 수광 소자를 갖는 화소가 1차원 또는 2차원으로 복수 배열된 어레이 센서에 의한 광전 변환에 기초하여 얻어지는 난수인 광전 난수에 기초하여, 전자 서명용의 비밀키를 생성하는 키 생성부를 구비한다.

Description

암호키 생성 장치 및 암호키 생성 방법
본 기술은 암호키 생성 장치 및 암호키 생성 방법에 관한 것으로, 특히, 전자 서명용의 암호키 생성에 대한 기술분야에 관한 것이다.
데이터의 개찬(改竄; tampering) 검지를 위해 전자 서명의 수법이 널리 사용되고 있다. 전자 서명의 수법에서는, 데이터의 송신자가 해시값(hash value)의 암호화에 사용하는 비밀키와 공개키를 생성한다. 송신자는, 개찬 검지의 대상 데이터와, 비밀키에 의해 암호화한 해당 대상 데이터의 해시값과, 공개키를 수신자에게 송신한다. 수신자는, 수신한 대상 데이터의 해시값을 계산함과 함께, 수신한 공개키에 의해 비밀키로 암호화된 해시값을 복호화하고, 이들 해시값이 일치하는지 여부에 따라 데이터의 개찬 유무를 판정할 수 있다.
한편, 관련되는 종래 기술로서, 하기 특허문헌 1에는, 촬상 화상 데이터에 대한 개찬 검지를 전자 서명 정보에 기초하여 행하는 기술이 개시되어 있다.
특허문헌 1: 일본특허공개 제2017-184198호 공보
그러나, 종래의 전자 서명 수법에서는, 해시값의 암호화에 사용하는 비밀키가 소프트웨어로 생성한 의사 난수를 바탕으로 생성되고 있어, 해당 비밀키가 해독되어 복제될 위험이 있었다. 비밀키가 복제되면, 개찬 데이터를 수신자에게 개찬이 없는 것으로 오판정시키는 것이 가능해져 버린다. 즉, 전자 서명용의 비밀키에 대해 해독의 위험이 높아지는 것은, 개찬 검지 성능의 저하를 초래하게 된다.
본 기술은 상기 사정을 감안하여 이루어진 것으로, 전자 서명용의 비밀키에 대해 해독을 곤란하게 하여, 개찬 검지 성능의 향상을 도모하는 것을 목적으로 한다.
본 기술에 따른 암호키 생성 장치는, 가시광 또는 비가시광의 수광 소자를 갖는 화소가 1차원 또는 2차원으로 복수 배열된 어레이 센서에 의한 광전 변환에 기초하여 얻어지는 난수인 광전 난수(photoelectric random number)에 기초하여, 전자 서명용의 비밀키를 생성하는 키 생성부를 구비한 것이다.
이에 의해, 전자 서명용의 비밀키에 대해, 의사 난수를 사용하는 경우보다도 해독을 곤란하게 하는 것이 가능하게 된다.
상기한 본 기술에 따른 암호키 생성 장치에 있어서는, 상기 키 생성부는, 화상 데이터에 대한 전자 서명용의 비밀키를 생성하는 구성으로 하는 것을 생각할 수 있다.
이에 의해, 전자 서명의 대상 데이터가 화상 데이터가 되는 경우에 대응하여, 전자 서명용의 비밀키에 대해, 의사 난수를 사용하는 경우보다도 해독을 곤란하게 하는 것이 가능하게 된다.
상기한 본 기술에 따른 암호키 생성 장치에 있어서는, 상기 키 생성부는, 상기 어레이 센서에서의 촬상에 의해 얻어지는 화상 데이터에 대한 전자 서명용의 비밀키를 생성하는 구성으로 하는 것을 생각할 수 있다.
이에 의해, 화상 데이터를 얻기 위한 어레이 센서가, 광전 난수를 얻기 위한 어레이 센서와 공통화된다.
상기한 본 기술에 따른 암호키 생성 장치에 있어서는, 상기 어레이 센서에서의 촬상에 의해 얻어지는 화상 데이터의 암호화를 행하는 암호화부와, 상기 암호화부에 의해 암호화된 상기 화상 데이터를 외부 장치로 송신하는 처리를 행하는 송신 처리부를 구비한 구성으로 하는 것을 생각할 수 있다.
이에 의해, 전자 서명의 대상 데이터로서의 화상 데이터를 안전하게 송신하는 것이 가능하게 된다.
상기한 본 기술에 따른 암호키 생성 장치에 있어서는, 상기 암호화부는, 상기 광전 난수에 기초하여 생성한 암호키에 의해 상기 화상 데이터의 암호화를 행하는 구성으로 하는 것을 생각할 수 있다.
이에 의해, 화상 데이터의 암호화에 대해서도, 의사 난수를 사용하는 경우보다 암호키의 해독을 곤란하게 하는 것이 가능하게 된다.
상기한 본 기술에 따른 암호키 생성 장치에 있어서는, 상기 암호화부는, 상기 화상 데이터의 복호에 사용하는 복호키의 레벨에 따라 복호화 가능한 화상 범위가 다르도록 상기 화상 데이터를 암호화하고, 상기 송신 처리부는, 상기 외부 장치가 상기 암호화부에 의해 암호화된 상기 화상 데이터의 송신 요구를 행한 것에 응답하여, 해당 외부 장치가 갖는 상기 복호키와 동일한 레벨의 복호키에 의해 상기 암호화된 상기 화상 데이터를 복호화하고, 복호화한 화상 데이터의 해시값을 생성하여, 상기 비밀키에 의해 암호화한 해당 해시값과 상기 암호화된 상기 화상 데이터를 상기 외부 장치로 송신하는 구성으로 하는 것을 생각할 수 있다.
이에 의해, 화상 데이터의 수신 장치에 대해 해당 수신 장치가 갖는 복호키의 레벨에 따른 해시값을 송신해야 하는 경우에 있어서, 해시값의 생성은, 송신 요구가 행하여졌을 때에, 해당 송신 요구를 행한 수신 장치의 복호키의 레벨에 대해서만 행하면 되고, 화상 데이터(촬상 화상 데이터)의 기록 시에 각 레벨의 해시값을 한번에 생성할 필요가 없어진다.
상기한 본 기술에 따른 암호키 생성 장치에 있어서는, 상기 키 생성부는, 상기 광전 난수에 기초하여, 블록체인 시스템(blockchain system)에 있어서의 전자 서명용의 비밀키를 생성하는 구성으로 하는 것을 생각할 수 있다.
이에 의해, 블록체인 시스템에 있어서의 전자 서명용의 비밀키에 대해, 의사 난수를 사용하는 경우보다 해독을 곤란하게 하는 것이 가능하게 된다.
상기한 본 기술에 따른 암호키 생성 장치에 있어서는, 상기 광전 난수에 기초하여 스마트 컨트랙트 시스템(smart contract system)에 있어서의 컨트랙트 검증 작업자의 선출을 행하는 검증자 선출부를 구비하는 구성으로 하는 것을 생각할 수 있다.
이에 의해, 컨트랙트 검증 작업자의 선출에 사용하는 난수에 대해, 의사 난수를 사용하는 경우보다 해독을 곤란하게 하는 것이 가능하게 된다.
상기한 본 기술에 따른 암호키 생성 장치에 있어서는, 상기 광전 난수에 기초하여 DApps에 의한 서비스의 향수자(享受者; recipient)로부터의 대표자의 선출을 행하는 대표자 선출부를 구비하는 구성으로 하는 것을 생각할 수 있다.
이에 의해, DApps의 서비스 향수자로부터의 대표자 선출에 사용하는 난수에 대해, 의사 난수를 사용하는 경우보다 해독을 곤란하게 하는 것이 가능하게 된다.
상기한 본 기술에 따른 암호키 생성 장치에 있어서는, 상기 키 생성부는, 상기 광전 변환에 의해 얻어지는 상기 화소마다의 전기 신호의 값을 상기 광전 난수로서 취득하여 상기 비밀키를 생성하는 구성으로 하는 것을 생각할 수 있다.
이에 의해, 해독이 곤란한 전자 서명 비밀키를 생성하는 것이 가능하게 된다.
상기한 본 기술에 따른 암호키 생성 장치에 있어서는, 상기 키 생성부는, 상기 화소마다의 전기 신호의 값 중 적어도 일부를, 해당 전기 신호의 값이 얻어진 화소 위치와는 다른 화소 위치에 할당한 형식에 의한 상기 광전 난수에 기초하여, 상기 비밀키를 생성하는 구성으로 하는 것을 생각할 수 있다.
이에 의해, 화소마다의 전기 신호의 값을 이들 전기 신호의 값이 얻어진 화소 위치에 그대로 할당한 광전 난수를 사용하는 경우와 비교하여, 전자 서명 비밀키의 해독이 곤란하게 된다.
상기한 본 기술에 따른 암호키 생성 장치에 있어서는, 상기 광전 난수의 생성 후, 상기 광전 난수의 근원이 된 화상 데이터를 메모리 상으로부터 소거하기 위한 처리를 행하는 소거 처리부를 구비한 구성으로 하는 것을 생각할 수 있다.
이에 의해, 광전 난수의 근원이 된 화상이 유출되어 광전 난수가 추정되어 버리는 것의 방지를 도모하는 것이 가능하게 된다.
상기한 본 기술에 따른 암호키 생성 장치에 있어서는, 암호키 생성 장치 외부로부터의 부정 액세스가 검지된 것에 응답하여 상기 광전 난수를 재생성하기 위한 처리를 행하는 재생성 처리부를 구비한 구성으로 하는 것을 생각할 수 있다.
이에 의해, 외부로부터의 부정 액세스가 검지된 경우에는, 재생성한 광전 난수에 기초하여 전자 서명 비밀키를 갱신하는 것이 가능하게 된다.
본 기술에 따른 암호키 생성 방법은, 정보 처리 장치가, 가시광 또는 비가시광의 수광 소자를 갖는 화소가 1차원 또는 2차원으로 복수 배열된 어레이 센서에 의한 광전 변환에 기초하여 얻어지는 난수인 광전 난수에 기초하여, 전자 서명용의 비밀키를 생성하는 암호키 생성 방법이다.
이러한 암호키 생성 방법에 의해서도, 상기한 본 기술에 따른 암호키 생성 장치와 마찬가지의 작용이 얻어진다.
도 1은 제1 실시형태로서의 전자 서명 시스템의 개략 구성예를 나타낸 블록도이다.
도 2는 제1 실시형태로서의 암호키 생성 장치(촬상 장치)의 내부 구성예를 나타낸 블록도이다.
도 3은 제1 실시형태에 있어서의 수신 장치의 내부 구성예를 나타낸 블록도이다.
도 4는 광전 난수에 기초하여 암호화 필터(암호키)를 생성하는 수법의 예를 나타낸 도면이다.
도 5는 실시형태에 있어서의 진폭 제어 회로에 의한 판독 신호의 암호화의 이미지를 나타낸 도면이다.
도 6은 디지털 신호에 의한 판독 신호에 대해 암호화를 실시하는 경우의 촬상 장치의 구성예를 나타낸 도면이다.
도 7은 실시형태로서의 촬상용 센서부의 구조예를 나타낸 도면이다.
도 8은 실시형태로서의 촬상용 센서부의 구조의 다른 예를 나타낸 도면이다.
도 9는 실시형태로서의 촬상용 센서부의 구조의 또 다른 예를 나타낸 도면이다.
도 10은 제1 실시형태로서의 화상 암호화를 실현하기 위해 실행해야 할 처리 절차를 나타낸 플로우차트이다.
도 11은 수신 장치에 화상 복호화를 위한 복호키를 안전하게 전달하기 위한 수법의 예를 설명하기 위한 도면이다.
도 12는 전자 서명을 사용한 전자문서의 개찬 검지 수법을 설명하기 위한 모식도이다.
도 13은 제1 실시형태로서의 전자 서명용 암호키의 생성 처리의 예를 나타낸 플로우차트이다.
도 14는 제1 실시형태에 있어서의 개찬 검지를 위한 처리 절차의 예를 나타낸 플로우차트이다.
도 15는 타겟의 클래스가 인물인 경우에 있어서의 단계적인 화상 암호화의 이미지를 나타낸 도면이다.
도 16은 타겟의 클래스가 차량인 경우에 있어서의 단계적인 화상 암호화의 이미지를 나타낸 도면이다.
도 17은 단계적인 화상 암호화의 구체적 수법의 예를 설명하기 위한 도면이다.
도 18은 비닉 레벨(confidentiality level)의 변화 예에 대한 설명도이다.
도 19는 제2 실시형태로서의 화상 암호화의 구체적인 수법의 예를 설명하기 위한 도면이다.
도 20은 제2 실시형태에 있어서의 ROI의 변형예에 대해 설명하기 위한 도면이다.
도 21은 제2 실시형태에 있어서의 시드 프레임(seed frame)의 촬상으로부터 암호키의 근원이 되는 난수의 보존까지 대응한 처리를 나타낸 플로우차트이다.
도 22는 제2 실시형태에 있어서 생성한 암호키에 기초하여 대상 화상을 암호화하기 위한 처리를 나타낸 플로우차트이다.
도 23은 제2 실시형태로서의 개찬 검지 수법에 대해 설명하기 위한 도면이다.
도 24는 또한, 제2 실시형태로서의 개찬 검지 수법에 대해 설명하기 위한 도면이다.
도 25는 제2 실시형태로서의 개찬 검지 수법을 실현하기 위한 처리 절차의 예를 나타낸 플로우차트이다.
도 26은 각 레벨의 수신 장치가 자신의 공개키를 촬상 장치에 보유시키는 것의 설명도이다.
도 27은 수신자측이 갖는 공개키의 확인 프로세스의 예를 설명하기 위한 도면이다.
도 28은 또한, 수신자측이 갖는 공개키의 확인 프로세스의 예를 설명하기 위한 도면이다.
도 29는 송신자측이 갖는 전자 서명 공개키의 확인 프로세스의 예를 설명하기 위한 도면이다.
도 30은 또한, 송신자측이 갖는 전자 서명 공개키의 확인 프로세스의 예를 설명하기 위한 도면이다.
도 31은 블록체인 시스템의 하드웨어 구성을 예시한 블록도이다.
도 32는 블록체인 시스템을 구성하는 사용자 단말의 내부 구성예를 나타낸 블록도이다.
도 33은 스마트 컨트랙트 시스템의 구성을 개념적으로 나타낸 도면이다.
이하, 실시형태를 다음 순서로 설명한다.
<1.제1 실시형태>
[1-1. 전자 서명 시스템의 구성]
[1-2. 촬상 장치의 구성]
[1-3. 수신 장치의 구성]
[1-4. 암호화에 사용하는 난수에 대하여]
[1-5. 암호화 대상으로 하는 신호에 대하여]
[1-6. 내탬퍼화(tamper proofing)에 대하여]
[1-7. 화상 암호화를 위한 처리 절차]
[1-8. 화상 복호화를 위한 키의 전달에 대하여]
[1-9. 제1 실시형태로서의 개찬 검지 수법]
<2. 제2 실시형태>
[2-1. 제2 실시형태의 화상 암호화 수법]
[2-2. 화상 암호화를 위한 처리 절차]
[2-3. 제2 실시형태로서의 개찬 검지 수법]
[2-4. 수신자측이 갖는 공개키의 확인 프로세스]
[2-5. 송신자측이 갖는 전자 서명 공개키의 확인 프로세스]
<3. 제3 실시형태>
<4. 변형예>
<5. 실시형태의 정리>
<6. 본 기술>
<1. 제1 실시형태>
[1-1. 전자 서명 시스템의 구성]
도 1은 제1 실시형태에 있어서의 전자 서명 시스템의 개략 구성예를 나타낸 블록도이다.
도시한 바와 같이 전자 서명 시스템은, 촬상 장치(1), 네트워크(2), 및 복수의 수신 장치(3)를 구비하고 있다.
촬상 장치(1)는, 본 기술에 따른 암호키 생성 장치의 일 실시형태이며, 이미지 센서에 의한 촬상을 행하여 디지털 데이터로서의 화상 데이터(촬상 화상 데이터)를 얻는다. 본 실시형태에서는, 전자 서명의 대상 데이터는, 이 촬상 장치(1)에 의한 촬상 화상 데이터가 된다.
각 수신 장치(3)는, 전자 서명의 대상 데이터, 즉 본 예에서는 촬상 장치(1)에 의한 촬상 화상 데이터를 수신하는 장치로 되고, 예를 들면 인터넷인 네트워크(2)를 통해 촬상 장치(1)와 데이터 통신을 행하는 것이 가능하게 구성되어 있다.
후술하는 바와 같이 촬상 장치(1)는, 수신 장치(3)에 대해 촬상 화상 데이터를 송신할 때, 전자 서명용의 비밀키, 및 해당 비밀키에 기초한 공개키를 생성함과 함께, 송신 대상의 촬상 화상 데이터에 대한 해시값을 계산하고, 해당 해시값을 비밀키에 의해 암호화한다. 그리고, 촬상 장치(1)는, 해당 암호화한 해시값과, 송신 대상의 촬상 화상 데이터와, 공개키를 수신 장치(3)로 송신한다.
수신 장치(3)는, 촬상 장치(1)로부터 송신되는 이들 데이터에 기초하여, 수신한 촬상 화상 데이터에 대한 개찬 검지 처리를 행한다.
한편, 본 실시형태에 있어서의 개찬 검지를 위한 처리에 대해서는 이후에 재차 설명한다.
본 실시형태에 있어서, 촬상 장치(1)가 촬상 화상 데이터를 수신 장치(3)로 송신할 때에는, 비닉성(confidentiality)을 높이기 위해, 해당 촬상 화상 데이터를 암호화한다. 이후에 설명하는 바와 같이, 본 실시형태의 촬상 장치(1)는, 이와 같이 촬상 화상 데이터를 암호화하기 위한 각종 처리를 실행한다.
[1-2. 촬상 장치의 구성]
도 2는 촬상 장치(1)의 내부 구성예를 나타낸 블록도이다.
촬상 장치(1)는, 촬상용 센서부(10), 화상 프로세서(21), 센서부(22), 제어부(23), 메모리부(24), 및 통신부(25)를 구비하고 있다.
촬상용 센서부(10)는, 촬상 장치(1)에 설치된 도시하지 않은 카메라 광학계를 통해 입사하는 광을 화소마다 수광하여, 광전 변환을 행하여 촬상 화상 데이터를 얻는다.
여기서의 도시는 생략하지만, 촬상용 센서부(10)는, 하드웨어로서는, 이미지 센서 디바이스, DRAM(Dynamic Random Access Memory) 등의 메모리 디바이스, AI(artificial intelligence) 기능 프로세서로서의 구성 부위를 가지고 있다. 그리고, 이들 셋이 3레이어 적층 구조로 되거나, 1레이어로 이른바 평치 구성으로 되거나, 또는 2레이어(예를 들면, 메모리 디바이스와 AI 기능 프로세서가 동일 레이어) 적층 구조로 되거나 하여 일체형 디바이스로 되어 있다.
본 예의 촬상용 센서부(10)는, 화상 해석에 의한 물체 검출 기능을 갖는 것으로 하여, 인텔리전트 어레이 센서(intelligent array sensor)라고 부를 수 있는 장치로 된다.
도시한 바와 같이 촬상용 센서부(10)는, 어레이 센서(12), 진폭 제어 회로(19), ADC(Analog to Digital Converter)/픽셀 선택기(13), 버퍼(14), 로직부(15), 메모리(16), 인터페이스부(17), 및 연산부(18)를 가지고 있다.
어레이 센서(12)는, 가시광 또는 비가시광의 수광 소자를 갖는 화소가 1차원 또는 2차원으로 복수 배열되어 구성되어 있다. 예를 들면, 행방향 및 열방향의 2차원으로 다수의 화소가 배열되고, 각 화소의 수광 소자에 있어서의 광전 변환에 의해 2차원 화상 신호를 출력하는 구성으로 된다.
진폭 제어 회로(19)는, 어레이 센서(12)에 의해 광전 변환된 전기 신호(아날로그 신호)의 진폭 제어를 행한다. 본 예에서는, 진폭 제어 회로(19)는, 연산부(18)로부터의 지시에 기초하여 증폭율을 변경 가능하게 구성되어 있는데, 이 점에 대해서는 이후에 재차 설명한다.
ADC/픽셀 선택기(13)에는, 어레이 센서(12)에 의해 광전 변환된 전기 신호가 진폭 제어 회로(19)를 통해 입력된다. ADC/픽셀 선택기(13)는, 입력한 아날로그 신호로서의 전기 신호를 디지털 데이터화하여, 디지털 데이터로서의 화상 신호(화상 데이터)를 출력한다.
또한, ADC/픽셀 선택기(13)는, 어레이 센서(12)의 화소(수광 소자)에 대한 픽셀 선택의 기능을 갖는다. 이에 의해, 어레이 센서(12)에 있어서의 선택한 화소에 대해서만, 광전 변환 신호를 취득하여 디지털 데이터화하여 출력하는 것이 가능하게 되어 있다. 즉, ADC/픽셀 선택기(13)는, 통상은 1프레임의 화상을 구성하는 유효한 화소의 모두에 대해 광전 변환 신호의 디지털 데이터화 출력을 행하지만, 선택한 화소만의 광전 변환 신호의 디지털 데이터화 출력을 행하는 것도 가능하게 되어 있다.
ADC/픽셀 선택기(13)에 의해, 프레임 단위로 화상 데이터가 취득되는데, 이 각 프레임의 화상 데이터는 버퍼(14)에 일시 기억되고, 적절한 타이밍에서 판독되어 로직부(15)의 처리에 제공된다.
로직부(15)에서는, 입력되는 각 프레임 화상 신호에 대해 각종 필요한 신호 처리(화상 처리)를 행한다.
예를 들면, 로직부(15)에서는, 색 보정, 감마 보정, 색 계조 처리, 게인 처리, 윤곽 강조 처리 등의 처리에 의해 화질 조정을 행하는 것이 상정된다. 또한, 로직부(15)에서는 데이터 압축 처리, 해상도 변환, 프레임 레이트 변환 등, 데이터 사이즈를 변경하는 처리를 행하는 것도 상정된다.
이들 로직부(15)에 의해 행해지는 각 처리에 대해서는, 각각의 처리에 사용하는 파라미터가 설정된다. 예를 들면, 색이나 휘도의 보정 계수, 게인 값, 압축률, 프레임 레이트 등의 설정값이 있다. 로직부(15)에서는, 각각의 처리에 대해 설정된 파라미터를 사용하여 필요한 처리를 행한다. 본 실시형태에서는, 이들 파라미터를 연산부(18)가 설정하는 경우가 있다.
로직부(15)에 의해 처리된 화상 데이터는, 예를 들면 DRAM 등으로 구성된 메모리(16)에 기억된다.
메모리(16)에 기억된 화상 데이터는, 필요한 타이밍에서 인터페이스부(17)에 의해 화상 프로세서(21) 등에 송신 출력된다.
화상 프로세서(21)에서는, 촬상용 센서부(10)로부터 송신되어 온 화상 데이터에 대해, 화상 해석, 화상 인식 처리를 행하여, 필요한 물체 검출 등을 실행한다.
화상 프로세서(21)는 센서부(22)의 검출 정보를 참조할 수도 있다.
또한, 촬상용 센서부(10)에 있어서, 연산부(18)는, 예를 들면 하나의 AI 프로세서로서 구성된다. 그리고, 실행 가능한 연산 기능으로서 도시한 바와 같이 키 프레임 선택부(81), 물체 영역 인식부(82), 클래스 식별부(83), 파라미터 선택부(84), 암호화 제어부(85), 및 부정 액세스 검지부(86)를 구비한다. 한편, 이들 연산 기능이 복수의 프로세서에 의해 구성되어도 된다.
키 프레임 선택부(81)는, 소정의 알고리즘 또는 지시에 따라, 동영상으로서의 화상 데이터의 프레임 내에서 키 프레임을 선택하는 처리를 행한다.
물체 영역 인식부(82)는, 어레이 센서(12)에서 광전 변환되어, ADC/픽셀 선택기(13)에 의해 취득되는 화상 데이터의 프레임에 대하여, 검출 후보가 되는 물체의 영역의 검출이나, 검출 대상의 물체에 대해 화상(프레임) 내에서의 해당 물체를 둘러싸는 영역(바운딩 박스)의 인식 처리를 행한다.
화상 신호로부터 검출되는 물체란, 화상으로부터의 인식을 목적으로 하여 검출 대상이 될 수 있는 물체를 말한다. 촬상용 센서부(10)나 화상 프로세서(21)의 검출 목적, 처리 능력, 애플리케이션 종별 등에 따라, 어떤 물체가 검출 대상으로 되는지는 다르지만, 모든 물체가, 여기서 말하는 검출 대상의 물체로 될 가능성이 있다. 어디까지나 일부이지만 예시하면, 동물, 이동체(자동차, 자전거, 항공기 등), 자연물(야채, 식물 등), 공업 제품/부품, 건축물, 시설, 산, 바다, 강, 별, 태양, 구름 등, 모든 물체가 해당할 가능성이 있다.
또한, 본 예에 있어서의 물체 영역 인식부(82)는, 바운딩 박스에 기초하여, 처리 대상으로 해야 할 영역(관심 영역)을 나타내는 영역 정보인 ROI(Region of Interest)를 산출하는 처리를 실행한다.
클래스 식별부(83)는, 물체 영역 인식부(82)가 검출한 물체에 대해 클래스 분류를 행한다.
클래스란, 물체의 카테고리를 나타내는 정보이며, 예를 들면, 「사람」, 「자동차」, 「비행기」, 「배」, 「트럭」, 「새」, 「고양이」, 「개」, 「사슴」, 「개구리」, 「말」 등과 같이 검출해야 할 물체를 분류한 것이다.
파라미터 선택부(84)는, 각 클래스에 따른 신호 처리용의 파라미터를 기억하고 있고, 클래스 식별부(83)가 식별한 검출 물체의 클래스나 바운딩 박스 등을 사용하여, 대응하는 하나 또는 복수의 파라미터를 선택한다. 그리고, 그 하나 또는 복수의 파라미터를 로직부(15)에 설정한다.
여기서, 상기한 연산부(18)에 의한 각종 기능의 처리는, 통상 이미지 센서 내에서는 행하지 않은 처리이며, 본 실시형태에서는, 물체 검출이나 클래스 인식, 및 이들에 기초한 제어를 이미지 센서 내에서 실행한다. 이에 의해, 화상 프로세서(21)에 공급하는 화상 데이터를, 검출 목적에 부합한 적절한 것으로 하거나, 검출 성능의 저하를 초래하지 않도록 데이터량을 적절하게 삭감하거나 하는 것이 가능하게 된다.
암호화 제어부(85)는, 어레이 센서(12)에서의 촬상에 의해 얻어지는 화상 신호에 대해 암호화가 행해지도록 제어한다. 한편, 이러한 화상 신호의 암호화를 위해 암호화 제어부(85)가 행하는 처리의 구체예에 대해서는 재차 설명한다.
부정 액세스 검지부(86)는, 촬상 장치(1) 외부로부터의 부정 액세스를 검지한다. 구체적으로, 본 예에 있어서의 부정 액세스 검지부(86)는, 메모리(16)에 보존된 데이터에 대한 외부로부터의 부정 액세스를 검지한다.
부정 액세스 검지부(86)는, 부정 액세스를 검지한 경우에는, 그 로그 정보(예를 들면, 검지 일시나 부정 액세스의 종별을 나타내는 정보 등)를 메모리(16)의 소정 영역에 기록한다.
제어부(23)는, 예를 들면 CPU(Central Processing Unit), ROM(Read Only Memory), 및 RAM( Random Access Memory)을 구비한 마이크로컴퓨터를 가지고 구성되고, CPU가 ROM에 기억되어 있는 프로그램, 또는 RAM(Random Access Memory)에 로드된 프로그램에 따라 각종의 처리를 실행함으로써, 촬상 장치(1)의 전체 제어를 행한다.
예를 들면, 제어부(23)는, 촬상용 센서부(10)에 대한 지시를 행하여 촬상 화상 데이터의 취득 처리 등의 각종 처리의 실행 제어를 행한다. 마찬가지로, 화상 프로세서(21)에 대해서도 각종 처리의 실행 제어를 행한다.
또한, 제어부(23)는, 메모리부(24)에 대한 각종 데이터의 기입이나 판독에 대한 제어를 행한다. 메모리부(24)는, 예를 들면 HDD(Hard Disk Drive)나 플래시 메모리 장치 등의 비휘발성 기억 디바이스로 되고, 예를 들면 촬상용 센서부(10)에 의해 얻어진 촬상 화상 데이터 등의 각종 데이터의 보존처(기록처)로서 사용된다.
나아가, 제어부(23)는, 통신부(25)를 통해 외부 장치와의 사이에서 각종 데이터 통신을 행한다. 통신부(25)는, 도 1에 나타낸 네트워크(2)를 통한 외부 장치와의 사이에서의 데이터 통신을 행하는 것이 가능하게 구성되어 있다.
제어부(23)는, 도 1에 나타낸 수신 장치(3)로부터의 요구에 따라, 예를 들면 촬상용 센서부(10)에 의해 얻어져 메모리부(24)에 보존된 촬상 화상 데이터 등의 각종 데이터를 통신부(25)를 경유하여 해당 수신 장치(3)에 송신하는 것이 가능하게 된다.
여기서, 제어부(23)는, 전자 서명에 관한 각종의 처리를 실행하지만, 해당 처리에 대해서는 이후에 재차 설명한다.
[1-3. 수신 장치의 구성]
도 3은 수신 장치(3)의 내부 구성예를 나타낸 블록도이다.
도시한 바와 같이, 수신 장치(3)는, CPU(31), ROM(32), RAM(33), 버스(34), 입출력 인터페이스(35), 입력부(36), 출력부(37), 기억부(38), 통신부(39)를 구비하고 있다.
CPU(31), ROM(32), 및 RAM(33)은, 버스(34)를 통해 서로 접속되어 있다. 이 버스(34)에는, 입출력 인터페이스(35)도 접속되어 있다. CPU(31)는, ROM(32)에 기억되어 있는 프로그램, 또는 기억부(38)로부터 RAM(33)에 로드된 프로그램에 따라 각종의 처리를 실행한다. RAM(33)에는 또한, CPU(31)가 각종의 처리를 실행하는 데에 있어서 필요한 데이터 등도 적절히 기억된다.
입출력 인터페이스(35)에는, 입력부(36), 출력부(37), 기억부(38), 및 통신부(39)가 접속되어 있다.
입력부(36)는, 사용자로부터의 조작 입력 정보를 검출하는, 예를 들면 키보드, 마우스, 터치 패널 등의 조작 입력 검출 디바이스를 포괄적으로 나타내고 있다.
출력부(37)는, 예를 들면 LCD(Liquid Crystal Display), 유기 EL(Electroluminescence) 패널 등으로 이루어지는 디스플레이, 및 스피커 등에 의해 구성된다.
기억부(38)는 HDD(Hard Disk Drive)나 플래시 메모리 장치 등에 의해 구성된다.
통신부(39)는, 네트워크(2)를 통한 통신 처리나 기기 사이의 통신을 행한다.
수신 장치(3)에 있어서, CPU(31)는, 촬상 장치(1)로부터 송신된 암호화 상태의 촬상 화상 데이터의 복호화나, 전자 서명 데이터에 기초한 촬상 화상 데이터에 대한 개찬 검지 처리 등을 행하는데, 이들 처리의 구체예에 대해서는 이후에 재차 설명한다.
[1-4. 암호화에 사용하는 난수에 대하여]
여기서, 본 실시형태의 촬상 장치(1)에서는, 전자 서명의 대상 데이터인 촬상 화상 데이터에 대해 암호화를 실시하는 것으로 하는데, 본 예에서는, 이러한 촬상 화상 데이터의 암호화에 광전 난수를 사용한다. 즉, 촬상 화상 데이터의 암호화에 사용하는 암호키를 광전 난수에 기초하여 생성하는 것이다.
여기서, 광전 난수란, 어레이 센서(12)에 의한 광전 변환에 기초하여 얻어지는 난수를 의미한다. 구체적으로, 본 예에서는, 어레이 센서(12)의 광전 변환에 의해 얻어지는 화소마다의 전기 신호의 값을 광전 난수로서 취득하여, 암호키를 생성한다.
도 4는 광전 난수에 기초하여 화상 데이터에 대한 암호화 필터(암호키)를 생성하는 수법의 예를 나타내고 있다.
먼저, 도면 중 좌측은, 어레이 센서(12)의 광전 변환에 의해 얻어지는 화소마다의 전기 신호의 값을 예시하고 있다. 본 예에 있어서, 광전 난수로서는, 어레이 센서(12)에서의 촬상에 의해 얻어지는 화상(정지화상)의 각 화소 값(휘도 값)을 사용한다.
여기서, 이하, 광전 난수를 얻기 위해 촬상된 프레임 화상, 바꾸어 말하면, 광전 난수의 근원이 된 프레임 화상을 「시드 프레임」이라고 표기한다.
본 예에서는, 이러한 화소마다의 전기 신호의 값 자체를 광전 난수로 하는 것은 아니고, 도면 중의 우측에 예시하는 바와 같이, 화소마다의 전기 신호의 값의 적어도 일부를, 해당 전기 신호의 값이 얻어진 화소 위치와는 다른 화소 위치에 할당한 형식에 의한 광전 난수를 생성한다. 바꾸어 말하면, 화소마다의 전기 신호의 값에 대해, 화소 위치를 셔플링시켜 광전 난수를 생성한다. 그리고, 본 예에서는, 이와 같이 생성한 광전 난수를, 촬상 화상 데이터에 대한 암호키(암호화 필터)로서 사용한다.
상기한 바와 같이 화소 위치를 셔플링시킨 형식에 의한 광전 난수로 함으로써, 화소마다의 전기 신호의 값을 이들 전기 신호의 값이 얻어진 화소 위치에 그대로 할당한 광전 난수를 사용하는 경우와 비교하여, 암호키의 해독이 곤란하게 되어, 보안을 높일 수 있다.
여기서, 암호키의 생성 시에는, 화소마다의 전기 신호의 값을 소정의 알고리즘에 의해 변조하여 사용할 수도 있다. 예를 들면, 화소마다의 전기 신호의 값에 소정의 계수를 곱하여 얻은 값을 그 화소에 할당한 형식에 의한 광전 난수로 하는 것을 들 수 있다. 또는, 화소마다의 전기 신호의 값이 소수점 이하의 값을 포함하는 경우에 있어서, 소수점 이하 몇 자릿수의 값을 정수화하여 광전 난수로 하는 등의 수법을 채용할 수도 있다.
한편, 암호키의 생성 시에는, 상기와 같은 화소 위치의 셔플링을 행하는 것은 필수는 아니고, 화소마다의 전기 신호의 값 그 자체를 암호키로서 사용할 수도 있다.
여기서, 종래, 암호화에 사용하는 난수로서는 많은 경우, 소프트웨어로 생성한 의사 난수가 사용되고 있다. 그러나, 의사 난수는 수치를 계산하는 알고리즘에 의해 생성되는 것으로서, 진정한 난수를 생성할 수는 없기 때문에, 암호키가 해독되어 복제될 위험이 있었다.
이에 반해, 상기 광전 난수는 진정한 난수가 될 수 있는 것으로서, 광전 난수에 기초하여 암호키를 생성함으로써 암호키의 해독을 곤란하게 하는 것이 가능해진다.
[1-5. 암호화 대상으로 하는 신호에 대하여]
종래, 어레이 센서(12)에서의 촬상에 의해 얻어지는 화상 신호에 대해 암호화를 행하는 경우에는, 어레이 센서(12)로부터 판독된 화상 신호를 일단 평문의 상태로 메모리에 보존하고, 해당 보존한 화상 신호에 대해 암호화를 실시하는 것이 통상적으로 되어 있다.
그러나, 이러한 암호화 수법을 채용한 경우에는, 멀웨어(malware) 등을 사용하여 암호화의 타이밍에서 의도적으로 에러를 일으켜, 메모리 내용을 덤프 파일(dump file)로 출력시켜, 메모리에 있는 평문을 복사한다고 하는 해킹이 가능해져 버린다.
이에, 본 실시형태에서는, 어레이 센서(12)의 화소로부터의 판독 신호에 대해 암호화를 행함으로써, 메모리에 평문에 의한 화상 신호가 보존되지 않도록 한다.
구체적으로, 본 예에서는, 도 2에 나타낸 진폭 제어 회로(19)에 의해, 어레이 센서(12)의 화소로부터의 판독 신호에 대해 도 4에 나타낸 암호키(암호화 필터)에 따른 계수에 의한 진폭 제어를 실행시킴으로써, 판독 신호에 대한 암호화를 실현한다.
도 5는 진폭 제어 회로(19)에 의한 판독 신호의 암호화의 이미지를 나타낸 도면이다.
도시한 바와 같이, 어레이 센서(12)에 있어서의 각 화소로부터의 판독 신호(이 경우에는 전하 신호)에 대하여, 진폭 제어 회로(19)가 구비하는 증폭기에 의해 암호키에 따른 계수를 곱한다. 도 2에 나타낸 촬상 장치(1)에서는, 이와 같이 화소마다의 판독 신호가 아날로그 신호의 단계에서 진폭 제어된 후에, ADC/픽셀 선택기(13)에 의해 A/D 변환되고, 버퍼(14) 및 로직부(15)를 통해 메모리(16)에 보존(기록)된다.
암호화 제어부(85)는, 암호키에 따른 계수를 상기 증폭기에 설정함으로써, 어레이 센서(12)에 있어서의 각 화소로부터의 판독 신호에 대한 암호화가 행해지도록 한다.
한편, 도 5는 어디까지나 이미지도이며, 진폭 제어 회로(19)에 있어서, 증폭기가 화소마다 설치되는 것은 필수는 아니다. 예를 들면, CCD(Charged-coupled devices) 이미지 센서와 같이 일괄 판독이 행해지는 경우, 진폭 제어 회로(19)가 구비하는 증폭기는 각 화소에 공통인 하나로 되는 경우도 있다. 한편, 그 경우, 화소마다의 진폭 제어는 시분할로 행한다.
상기에서는, 판독 신호에 대한 암호화의 예로서, 아날로그 신호에 의한 판독 신호에 암호화를 실시하는 예를 들었지만, A/D 변환 후의 디지털 신호에 의한 판독 신호에 대해 암호화를 실시할 수도 있다.
도 6은 디지털 신호에 의한 판독 신호에 대해 암호화를 실시하는 경우의 촬상 장치(1)의 구성예를 나타내고 있다.
이 경우의 촬상 장치(1)에서는, 촬상용 센서부(10) 내에서, 진폭 제어 회로(19) 대신에, ADC/픽셀 선택기(13)에 의해 디지털 신호로 변환된 판독 신호에 대해 진폭 제어를 행하는 진폭 제어 회로(19A)가 설치된다.
한편, 이 경우에 있어서의 암호화 제어부(85)에 의한 처리는, 암호키에 따른 화소마다의 계수의 설정 대상이 진폭 제어 회로(19)로부터 진폭 제어 회로(19A)로 변경되는 이외에는 마찬가지로 되기 때문에, 중복 설명은 피한다.
여기서, 상술한 바와 같이 아날로그 판독 신호에 대한 암호화를 실시하는 것으로 하면, 아날로그 신호를 외부로부터 부정 취득하는 것은 매우 곤란하기 때문에, 보안 향상이 도모된다.
한편, 아날로그 판독 신호에 대한 암호화를 실시하는 경우에는, 암호화 화상을 복호화하여 얻은 화상에 대해, 화상의 재현성이 저하되는 것이 염려된다.
그러나, 예를 들면 대상으로 하는 화상이 인물 등의 타겟의 속성이나 행동의 분석에 사용되는 경우에는, 화상의 재현성으로서는 타겟의 검출이나 분석이 가능한 정도이면 되고, 실용상 문제는 생기지 않는다고 생각할 수 있다.
한편, 디지털 판독 신호에 대한 암호화를 실시하는 경우에는, 암호화 처리의 정확성이 향상되어, 화상의 재현성의 향상을 도모할 수 있다.
여기서, 상기한 바와 같이 판독 신호에 대해 행하는 암호화는, 스트림 암호 방식(stream cipher scheme)에 의한 암호화의 일종이다. 스트림 암호 방식은, 평문을 비트 단위나 바이트 단위 등의 소정의 데이터 단위로 암호화하는 암호 방식이다.
스트림 암호 방식에서는, 암호화의 대상 신호에 대해 데이터의 길이를 맞출 필요가 없고, 그 때문에, 대상 신호에 대한 암호화의 전처리가 불필요하게 된다. 따라서, 스트림 암호 방식의 채용에 의해, 암호화 처리의 고속화를 도모할 수 있다.
여기서, 아날로그 판독 신호에 대해 암호화를 실시한 경우라 하더라도, 결과적으로는, 전자 서명의 대상 데이터로서, 암호화된 촬상 화상 데이터가 얻어지는 것에 변함은 없다. 이 점으로부터, 본 명세서에 있어서 아날로그 신호의 단계에서 암호화를 실시하는 것은, 화상 데이터의 암호화를 행하는 것의 범주에 포함되는 것으로 한다.
[1-6. 내탬퍼화에 대하여]
본 예의 촬상용 센서부(10)는, 하드웨어면에서의 내탬퍼화를 도모하기 위해, 도 7에 예시하는 바와 같이 어레이 센서(12), 메모리(16), 연산부(18)의 각 칩이 1패키지화되어 있다. 도 7의 예에서는, 연산부(18)로서의 칩 상에 메모리(16)로서의 칩이 적층되고, 메모리(16)로서의 칩 상에 어레이 센서(12)로서의 칩이 더 적층되어 있다.
본 예에 있어서, 판독 신호에 대한 암호화를 실시하는 암호화부는, 예를 들면 어레이 센서(12)로서의 칩 내에 형성되어 있다.
또한, 광전 난수에 기초한 암호키를 생성하고, 상기 암호화부에 해당 암호키에 기초한 암호화를 실행시키는 암호화 제어부(85)는, 연산부(18)로서의 칩에 포함되어 있다.
본 예에서는, 각 칩의 전기적인 접속이 Cu(구리)제의 패드끼리를 접속하는 Cu-Cu 접속에 의해 행해지고 있고, 촬상용 센서부(10)의 분해를 시도하면 이들 전기적 접속 부분이 파괴된다. 즉, 이에 의해, 하드웨어면에서의 내탬퍼화가 도모되고 있다.
도 8은 촬상용 센서부(10)의 구조의 다른 예를 나타내고 있고, 도 7과의 차이는 연산부(18)와 메모리(16)의 상하 관계가 서로 바뀐 점이다.
도 9는 촬상용 센서부(10)의 구조의 또 다른 예를 나타내고 있고, 도 7과의 차이는 메모리(16)로서의 칩이 복수 적층된 점(도면의 예에서는 2층)이다.
한편, 도시는 생략하였지만, 촬상용 센서부(10)로서는, 메모리(16)를 연산부(18)와 동일한 레이어에 형성하여 2레이어의 구조로 하거나, 어레이 센서(12), 메모리(16), 및 연산부(18)를 동일한 레이어에 형성한 1레이어의 구조로 할 수도 있다.
도 7 내지 도 9에서 예시한 바와 같은 1패키지화의 구성을 채용함으로써, 상기한 Cu-Cu 접속 등, 분해에 의한 메모리(16)로부터의 부정한 정보 취득에 대한 내성을 높이기 위한 대책을 실시하는 것이 가능해지고, 하드웨어면에서의 내탬퍼화를 도모하는 것이 가능하게 된다.
[1-7. 화상 암호화를 위한 처리 절차]
계속해서, 상기에 의해 설명한 제1 실시형태로서의 화상 암호화를 실현하기 위해 연산부(18)가 실행하는 처리 절차에 대해, 도 10의 플로우차트를 참조하여 설명한다.
한편, 이하에서 설명하는 처리 중 적어도 일부에 대해서는 하드웨어에 의한 처리로서 실현할 수도 있다.
먼저, 전제로서, 본 예의 연산부(18)는, 도 10에 나타내는 처리를, 기동시, 및 부정 액세스 검지부(86)에 의해 부정 액세스가 검지된 것에 응답하여 개시한다.
부정 액세스의 검지에 따라 도 10에 나타내는 처리를 개시함으로써, 광전 난수의 취득(S101)이나 암호키의 생성(S105)이 부정 액세스의 검지에 따라 실행된다. 즉, 부정 액세스의 검지에 따라 광전 난수가 재취득되고, 재취득된 광전 난수에 기초하여 암호키가 재생성된다. 이에 의해, 소프트웨어면에서의 내탬퍼화가 도모된다.
한편, 도 10에 나타내는 처리는, 외부로부터의 지시(예를 들면, 조작 입력에 따른 지시)에 따라 개시하거나, 또는 일정 시간 간격으로 개시하는 등, 다른 조건에 기초하여 개시할 수도 있다.
도 10에 있어서, 연산부(18)는 스텝(S101)에서, 정지 화상 촬상 처리를 실행한다. 이 정지 화상 촬상 처리는, 암호키의 생성의 근원이 되는 정지화상을 촬상하기 위한 처리이며, 연산부(18)는 어레이 센서(12)를 제어하여 1프레임분의 화상의 촬상(화소마다의 전하의 판독)을 실행시킨다.
스텝(S101)의 정지 화상 촬상 처리가 실행됨으로써, 메모리(16)에 시드 프레임으로서의 화상 데이터가 보존된다.
스텝(S101)에 후속하는 스텝(S102)에서 연산부(18)는, 화소 값의 균일성 체크 처리를 실행한다. 이 균일성 체크 처리는, 시드 프레임에 대해 화소마다의 휘도 값의 균일성을 체크하는 처리이며, 구체적으로 연산부(18)는, 휘도 값이 제로 또는 포화 값(최대치)으로 되어 있는 화소의 수를 카운트한다.
한편, 화소 값의 균일성 체크 처리로서는, 판독 신호의 값을 대상으로 한 균일성의 체크 처리로서 실행할 수도 있다.
스텝(S102)에 후속하는 스텝(S103)에서 연산부(18)는, 균일성이 과잉인지 여부를 판정한다. 구체적으로는, 스텝(S102)에서 카운트한 화소의 수가 소정 임계값(예를 들면, 유효 화소수의 30%∼50%에 대응한 값) 이상인지 여부를 판정한다.
스텝(S102)에서 카운트한 화소의 수가 상기 임계값 이상이며, 균일성이 과잉이다라는 판정 결과를 얻은 경우, 연산부(18)는 스텝(S104)으로 진행하여 시드 프레임을 소거하는 처리, 즉 메모리(16)에 보존된 시드 프레임으로서의 화상 데이터를 소거하는 처리를 실행한 후에, 스텝(S101)으로 되돌아간다.
이에 의해, 시드 프레임의 화소 값의 랜덤성이 낮은 경우에 대응하여, 시드 프레임을 다시 촬상할 수 있다. 즉, 광전 난수의 랜덤성이 낮은 경우에 대응하여, 광전 난수를 다시 취득할 수 있다.
따라서, 랜덤성이 낮은 난수에 기초한 암호키에 의해 암호화가 행해지는 것의 방지를 도모하는 것이 가능하게 되어, 보안의 향상을 도모할 수 있다.
한편, 스텝(S103)에 있어서, 카운트한 화소의 수가 상기 임계값 이상이 아니고, 균일성이 과잉하지 않다라는 판정 결과를 얻은 경우, 연산부(18)는 스텝(S105)으로 진행하여 암호키를 생성한다. 구체적으로, 본 예에서는, 시드 프레임에 있어서의 각 화소의 휘도 값에 기초하여, 진폭 제어 회로(19)(또는 19A)에 있어서의 각 증폭기에 설정해야 할 계수를 나타내는 암호키를 생성한다.
여기서, 본 예에 있어서, 스텝(S105)의 처리에서는, 화소마다의 휘도 값을 이들 휘도 값이 얻어진 화소 위치에 그대로 할당한 형식의 광전 난수에 기초하여 암호키를 생성하는 것으로 하지 않고, 화소마다의 휘도 값의 적어도 일부를, 해당 휘도 값이 얻어진 화소 위치와는 다른 화소 위치에 할당한 형식에 의한 광전 난수에 기초하여, 암호키를 생성한다.
이에 의해, 암호키의 해독이 곤란하게 되어, 보안의 향상을 도모할 수 있다.
스텝(S105)에 후속하는 스텝(S106)에서 연산부(18)는, 시드 프레임을 소거하는 처리, 즉, 스텝(S101)의 촬상 처리에 의해 메모리(16)에 보존된 시드 프레임으로서의 화상 데이터를 소거하는 처리를 실행한다.
이 시드 프레임의 소거 처리를 행함으로써, 광전 난수의 근원이 된 화상이 유출되어 광전 난수가 추정되어 버리는 것의 방지를 도모할 수 있다.
한편, 예를 들면, 연산부(18)의 처리 능력이 높은 경우나 시드 프레임의 화상 사이즈가 작은 경우 등에는, 시드 프레임을 일단 메모리(16)에 보존시키는 것은 필수는 아니다. 그 경우, 연산부(18)(암호화 제어부(85))는, 예를 들면 진폭 제어 회로(19)(또는 19A)로부터 광전 난수를 수취하고, 스텝(S102 및 S103)의 처리를 경유하여 스텝(S105)에서 암호키의 생성을 행한다. 이 경우에는, 스텝(S106)의 소거 처리는 불필요하다(물론, 스텝(S104)의 소거 처리도 불필요하다).
후속하는 스텝(S107)에서, 연산부(18)는, 기존 키가 있으면 소거한다. 예를 들면, 도 10에 나타내는 처리가 일정 시간마다 개시되는 등의 경우에는, 과거에 행해진 스텝(S108)의 처리에 의해, 메모리(16)에는 암호키가 보존되어 있다. 스텝(S107)의 처리는, 이와 같이 메모리(16)에 기존의 암호키가 보존되어 있는 경우에, 해당 암호키를 소거하는 처리가 된다.
이러한 기존 키의 소거 처리를 행함으로써, 과거에 암호화에 사용한 암호키의 유출 방지를 도모하는 것이 가능하게 되고, 과거에 암호화한 신호가 부정하게 복호화되어 버리는 것의 방지를 도모할 수 있다.
후속하는 스텝(S108)에서 연산부(18)는, 암호키의 보존 처리를 실행한다. 즉, 스텝(S105)에서 생성한 암호키를 메모리(16)에 보존하는 처리를 실행한다.
스텝(S108)의 보존 처리를 실행한 것에 응답하여, 연산부(18)는 도 10에 나타내는 일련의 처리를 끝낸다.
촬상 장치(1)에 있어서는, 스텝(S108)에서 보존된 암호키를 사용하여, 어레이 센서(12)에서의 촬상에 의해 얻어지는 화상 데이터(촬상 화상 데이터)의 암호화가 행해진다. 구체적으로, 연산부(18)(암호화 제어부(85))는, 도 10에 나타낸 처리의 종료 후, 보존된 암호키에 기초한 화소마다의 계수를 진폭 제어 회로(19)(또는 19A)에 있어서의 각 증폭기에 설정하고, 어레이 센서(12)에서의 촬상에 의해 얻어지는 화상 신호에 해당 보존된 암호키에 기초한 암호화가 실시되도록 한다.
본 예에서는, 어레이 센서(12)는 동영상의 촬상을 행함으로써 되고, 진폭 제어 회로(19)(또는 19A)에 의한 암호화는 동영상을 구성하는 각 프레임 화상에 대해 행해진다.
본 예에 있어서, 상기한 바와 같이 암호화가 실시된 동영상으로서의 촬상 화상 데이터는, 제어부(23)의 제어에 기초하여, 메모리부(24)에 보존된다. 제어부(23)는, 이와 같이 메모리부(24)에 보존된 촬상 화상 데이터를, 통신부(25)를 통해 수신 장치(3)로 송신하는 것이 가능하게 된다.
여기서, 상기 설명으로부터 이해되는 바와 같이, 본 예에서는, 화상 데이터의 암호화는, 암호화 대상의 화상 데이터와는 다른 프레임 기간에 얻은 광전 난수에 기초하여 행하는 것으로 하고 있다.
이에 의해, 암호화 화상으로부터 암호키가 추정되는 것의 곤란성이 높아져서, 보안의 향상을 도모할 수 있다.
한편, 암호화 대상의 화상 데이터와 동일 프레임 기간에 얻은 광전 난수에 기초하여 화상 데이터의 암호화를 행하는 것도 가능하다.
[1-8. 화상 복호화를 위한 키의 전달에 대하여]
수신 장치(3)는, 상기한 바와 같이 광전 난수에 기초하여 생성한 암호키(암호화 필터)로 암호화된 촬상 화상 데이터를 촬상 장치(1)로부터 수신하고, 수신한 촬상 화상 데이터를 복호화하지만, 이 때, 복호화에 사용하는 키(복호키)는, 암호화에 사용한 키와 동일한 키로 된다. 즉, 본 예에서는, 공통 키 암호 방식(common key cipher scheme)을 채용하고 있다. 주지한 바와 같이, 공통 키 암호 방식에서는, 공통 키의 전달을 안전하게 행하는 것이 중요하게 된다.
도 11을 참조하여, 수신 장치(3)에 복호화를 위한 키(공통 키)를 안전하게 전달하기 위한 수법의 예에 대해 설명해 둔다. 해당 수법의 개요로서는, 공개키 암호를 사용하여 공통 키를 전달하는 수법이 된다.
먼저, 수신 장치(3)는, 공개키와 비밀키를 작성하고, 공개키를 촬상 장치(1)에 전달한다(도 11의 A).
공개키를 취득한 촬상 장치(1)에서는, 전술한 바와 같이 광전 난수에 기초하여 생성한 암호키를 공통 키로 하여, 해당 공통 키를 공개키에 의해 암호화하여, 수신 장치(3)로 송신한다(도 11의 B).
그리고, 수신 장치(3)에 있어서는, 송신된 공통 키(복호키)를, 도 11의 A에 있어서 작성한 비밀키를 사용하여 복호화한다(도 11의 C).
이에 의해 이후, 수신 장치(3)에 있어서는, 촬상 장치(1)로부터 수신되는 암호화된 촬상 화상 데이터를, 상기한 바와 같이 복호화한 공통 키를 사용하여 고속으로 복호화할 수 있다. 도 11의 D에서는, 촬상 장치(1) 측에 있어서 공통 키를 사용하여 화상 암호화가 행해지는 것을 모식적으로 나타내고, 도 11의 E에서는, 공통 키에 의해 암호화된 화상 데이터를, 수신 장치(3)가 공통 키를 사용하여 복호화하는 것을 모식적으로 나타내고 있다.
한편, 도 11의 B의 공개키에 의한 공통 키의 암호화, 및 도 11의 C의 공통 키의 비밀키에 의한 복호화에는 각각 수 초 정도의 시간을 필요로 하지만, 이들 암호화, 복호화를 필요로 하는 것은 하나의 키의 전달에 대해 1번뿐이다.
[1-9. 제1 실시형태로서의 개찬 검지 수법]
전술한 바와 같이, 본 실시형태에서는, 촬상 장치(1)가 수신 장치(3)에 대해 송신하는 촬상 화상 데이터는, 전자 서명의 대상 데이터가 된다.
여기서, 확인을 위해, 도 12의 모식도를 참조하여, 전자 서명을 사용한 전자문서의 개찬 검지 수법에 대해 설명해 둔다.
실시형태와의 대응에서는, 도면 중의 「송신자측」이 촬상 장치(1)에 상당하고, 「수신자측」이 수신 장치(3)에 상당한다. 또한, 「전자문서」는, 촬상 장치(1)에 의한 촬상 화상 데이터(본 예에서는 광전 난수에 기초하여 암호화되어 있음)에 상당한다.
송신자측에서는, 전자문서에 대한 해시값을 계산함과 함께, 서명 생성 키로서의 비밀키를 생성하고, 생성한 비밀키에 의해 해시값을 암호화한다. 나아가 송신자측은, 비밀키에 기초하여, 서명 검증 키로서의 공개키를 생성한다.
송신자측에서는, 전자문서를 수신자측으로 송신할 때, 송신 데이터에, 비밀키에 의해 암호화한 해시값을 전자 서명 데이터로서 포함시킨다. 또한, 송신자측은, 해당 송신 데이터에 비밀키로부터 생성한 공개키를 포함하는 전자 증명서 데이터를 포함시킨다.
수신자측에서는, 송신자측으로부터 수신한 전자문서의 해시값을 계산한다. 또한, 수신자측에서는, 도면 중에 「서명 검증」으로 나타내는 처리로서, 전자 서명 데이터에 있어서의 암호화된 해시값을, 전자 증명서에 포함되는 공개키에 의해 복호화한다. 그 후에, 수신자측은, 양쪽 모두의 해시값이 일치하는지 여부의 일치 판정을 행한다.
이 때, 수신자측에서 수신한 전자문서가, 송신 시의 내용으로부터 개찬되어 있지 않으면, 둘의 해시값은 일치하게 된다. 이 때문에, 상기와 같은 일치 판정에 의해, 전자문서의 개찬 유무를 검지(판정)할 수 있다.
본 실시형태에서는, 이러한 전자 서명을 사용한 개찬 검지 수법을 채용하는 경우에 있어서, 서명 생성 키로서의 비밀키를, 전술한 광전 난수에 기초하여 생성함으로써, 해당 비밀키의 해독을 곤란하게 하여 개찬 검지 성능의 향상을 도모한다.
도 13의 플로우차트를 참조하여, 제1 실시형태로서의 전자 서명용 암호키의 생성 처리에 대해 설명한다.
본 예에 있어서, 도 13에 나타내는 처리는 제어부(23)가 실행한다.
먼저, 제어부(23)는 스텝(ST1)에서, 광전 난수를 취득하는 처리를 행한다. 이 광전 난수로서는, 촬상용 센서부(10)에 새롭게 생성시킨 것을 취득하는 것을 생각할 수 있다.
또는, 촬상용 센서부(10)가 촬상 화상 데이터의 암호화를 위해 이미 생성하고 있었던 광전 난수를 취득할 수도 있다. 예를 들면, 본 예에서는, 전술한 스텝(S105)의 암호키 생성 처리에 있어서, 화소마다의 전기 신호 값에 기초하여 생성한 광전 난수가 메모리(16)에 보존된다. 스텝(ST1)의 처리는, 이와 같이 메모리(16)에 보존된 광전 난수를 촬상용 센서부(10)로부터 취득하는 처리로 할 수도 있다.
여기서, 스텝(ST1)의 처리로서, 촬상용 센서부(10)에 새롭게 생성시킨 광전 난수를 취득하는 처리를 행하는 경우, 도 13에 나타내는 처리는, 부정 액세스 검지부(86)에 의해 부정 액세스가 검지된 것에 응답하여 개시할 수 있다. 이 경우, 전자 서명 비밀키에 대해서도, 외부로부터의 부정 액세스가 검지된 경우에는, 재생성한 광전 난수에 기초하여 갱신되게 된다. 또는, 도 13에 나타내는 처리는, 일정 시간 간격으로 개시하는 등, 다른 조건에 기초하여 개시할 수도 있다.
또한, 비밀키 생성을 위해 촬상용 센서부(10)에 새롭게 광전 난수를 생성시키는 경우, 제어부(23)는, 해당 새로운 광전 난수의 생성 후, 해당 광전 난수의 근원이 된 화상 데이터(시드 프레임)의 소거를 촬상용 센서부(10)에 지시할 수도 있다.
스텝(ST1)에 후속하는 스텝(ST2)에서 제어부(23)는, 광전 난수에 기초하여 비밀키를 생성한다. 여기서, 광전 난수로부터 비밀키를 생성하는 수법에 대해서는, 예를 들면 RSA 암호(RSA: Rivest Shamir Adleman)의 수법을 들 수 있지만, 특정한 수법에 한정되는 것이 아니다.
나아가, 스텝(ST2)에 후속하는 스텝(ST3)에서 제어부(23)는, 비밀키에 기초하여 공개키를 생성한다. 즉, 서명 생성 키로서의 비밀키에 기초하여, 서명 검증 키로서의 공개키를 생성하는 것이다.
도 14의 플로우차트는, 상기한 바와 같이 생성한 비밀키와 공개키에 기초하여 촬상 화상 데이터의 개찬 검지를 행하기 위해 실행되어야 할 처리 절차의 예를 나타내고 있다.
도면 중, 촬상 장치(1)로서 나타내는 처리는 제어부(23)가, 수신 장치(3)로서 나타내는 처리는 CPU(31)가 실행한다.
먼저, 수신 장치(3) 측에 있어서, CPU(31)는 스텝(S301)에서, 암호화 화상 데이터의 송신 요구를 촬상 장치(1) 측에 대해 행한다.
촬상 장치(1) 측에 있어서, 제어부(23)는 상기 송신 요구를 스텝(S201)에서 대기하고 있고, 송신 요구가 있었던 경우에는, 스텝(S202)으로 진행하여 요구된 화상 데이터의 해시값을 계산한다. 즉, 메모리부(24)에 기억되고, 송신 요구에 의해 요구된 촬상 화상 데이터에 대한 해시값을 계산한다. 이 때, 해시값의 계산에 사용하는 해시 함수에 대해서는, 수신 장치(3) 측이 후술하는 스텝(S304)의 해시값 계산에 사용하는 해시 함수와 동일한 것을 사용한다. 해시 함수의 예로서는, 예를 들면 SHA-1 또는 SHA-2 등을 들 수 있지만, 특정한 해시 함수에 한정되는 것이 아니다.
스텝(S202)에 후속하는 스텝(S203)에서 제어부(23)는, 해시값을 비밀키에 의해 암호화한다. 즉, 도 13의 처리에서 광전 난수에 기초하여 생성한 비밀키에 의해, 스텝(S202)에서 계산한 해시값을 암호화한다.
나아가, 후속하는 스텝(S204)에서 제어부(23)는, 요구된 암호화 화상 데이터, 암호화 해시값, 및 공개키를 요구원의 수신 장치(3)로 송신한다. 즉, 송신 요구된 암호화 상태의 촬상 화상 데이터, 스텝(S203)에서 암호화한 해시값, 및 도 13의 처리에서 생성한 공개키를 송신 요구원의 수신 장치(3)로 송신한다.
수신 장치(3) 측에 있어서, CPU(31)는, 스텝(S204)에서 송신되는 데이터의 수신을 스텝(S302)에서 대기하고 있고, 해당 데이터가 수신된 경우에는, 먼저 스텝(S303)에서 암호화 화상 데이터를 복호화한다. 즉, 광전 난수에 기초한 암호키(암호화 필터)에 의해 암호화된 상태의 촬상 화상 데이터를, 촬상 장치(1)로부터 미리 취득된 동일한 암호키(복호키)에 의해 복호화한다. 본 예에서는, 암호화 필터로서의 암호키는, 도 11에 예시한 수법 등에 의해 수신 장치(3)가 미리 촬상 장치(1)로부터 안전하게 취득하고 있다.
스텝(S303)에 후속하는 스텝(S304)에서 CPU(31)는, 해시값을 계산하는 처리로서, 스텝(S303)에서 복호화한 촬상 화상 데이터에 대한 해시값을 계산한다.
그 다음에, CPU(31)는 스텝(S305)에서, 암호화 해시값을 공개키에 의해 복호화한다. 즉, 촬상 장치(1) 측으로부터 수신한 암호화 해시값을 또한 촬상 장치(1) 측으로부터 수신한 공개키에 의해 복호화한다.
그리고, CPU(31)는 스텝(S306)에서, 양쪽 해시값의 일치 판정, 즉 스텝(S304)에서 계산한 해시값과 스텝(S305)에서 복호화한 해시값의 일치 판정을 행한다. 이 일치 판정에 의해, 촬상 화상 데이터의 개찬 유무가 판정된다.
<2. 제2 실시형태>
[2-1. 제2 실시형태의 화상 암호화 수법]
계속해서, 제2 실시형태에 대해 설명한다.
한편, 제2 실시형태에 있어서도, 촬상 장치(1)나 수신 장치(3)의 구성에 대해서는 제1 실시형태에서 설명한 것과 마찬가지로 되기 때문에 중복 설명은 피한다. 이하의 설명에서, 이미 설명이 완료된 부분과 마찬가지로 되는 부분에 대해서는 동일 부호를 붙여서 설명을 생략한다.
제2 실시형태에서는, 화상 데이터에 있어서의 타겟 영역을 대상으로 한 암호화를 행한다. 구체적으로, 제2 실시형태에서는, 화상 전체와 타겟 영역에서 서로 다른 암호키에 기초한 암호화를 행함과 함께, 타겟 영역에 대해서는, 특정 부위의 영역과 그 이외의 영역에서 서로 다른 암호키에 기초한 암호화를 행함으로써, 화상의 수신측에 보유시키는 복호키의 차이에 따라 정보의 비닉 레벨을 단계적으로 변화시킨다.
도 15, 도 16은 제2 실시형태에 있어서의 단계적인 화상 암호화의 이미지를 설명하기 위한 도면이다.
도 15는 타겟의 클래스가 인물인 경우에 있어서의 단계적인 화상 암호화의 이미지를 나타내고 있다.
도 15의 A는 암호화 전의 화상을 나타내고 있다. 이 경우, 타겟 영역(AT)은, 화상 내에서 인물이 비춰지고 있는 부분의 전역으로 된다. 또한, 이 경우, 특정 부위의 영역인 특정 영역(AS)은 인물의 얼굴 영역으로 된다.
도 15의 B는 특정 영역(AS)만이 암호화된 화상, 도 15의 C는 특정 영역(AS)을 포함하는 타겟 영역(AT)만이 암호화된 화상, 도 15의 D는 화상 전역이 암호화된 화상을 나타내고 있다.
도 16은 타겟의 클래스가 차량인 경우에 있어서의 단계적인 암호화의 이미지를 나타내고 있고, 도 16의 A는 암호화 전의 화상을 나타내고 있다.
이 경우, 타겟 영역(AT)은, 화상 내에서 차량이 비춰지고 있는 부분의 전역으로 되고, 특정 영역(AS)은, 차량의 탑승자, 및 번호판의 영역으로 된다.
도 16의 B는 특정 영역(AS)만이 암호화된 화상, 도 16의 C는 특정 영역(AS)을 포함하는 타겟 영역(AT)만이 암호화된 화상, 도 16의 D는 화상 전역이 암호화된 화상이다.
이들 도 15, 도 16의 예의 경우, 암호키로서는, 화상 전역의 암호화에 대응한 제1 암호키와, 타겟 영역(AT)만의 암호화에 대응한 제2 암호키와, 특정 영역(AS)만의 암호화에 대응한 제3 암호키의 3종을 적어도 생성한다.
도 17은 단계적인 암호화의 구체적 수법의 예를 설명하기 위한 도면이다.
본 예에서는, 대상 화상에 대해 제1, 제2, 제3 암호키에 기초한 암호화를 각각 개별로 실시하는 것은 하지 않고, 이들 복수의 암호키를 합성한 합성키에 기초하여 대상 화상에 대한 암호화를 행한다.
먼저, 특정 영역(AT)을 암호화하기 위한 제3 암호키, 타겟 영역(AT) 전역을 암호화하기 위한 제2 암호키, 화상 전역을 암호화하기 위한 제1 암호키를 각각 준비한다. 이들 3종의 암호키를 생성할 시에는, 3종의 광전 난수를 얻도록(즉, 시드 프레임을 3종 촬상하도록) 해도 되지만, 본 예에서는, 암호키 생성에 필요한 시간의 단축화를 위해, 공통 광전 난수로부터 3종의 암호키를 생성한다. 구체적으로, 본 예에서는, 3종의 암호키의 생성 시에는, 먼저, 공통 광전 난수에 있어서의 화소마다의 수치의 배치를 각각 다르게 한 3종의 난수(이하, 각각 제1 난수, 제2 난수, 제3 난수로 표기함)를 생성한다.
그리고, 제3 암호키에 대해서는, 제3 난수의 수치 중, 특정 영역(AS)의 각 화소의 수치를 추출한 암호키로서 생성한다.
또한, 제2 암호키에 대해서는, 제2 난수의 수치 중, 타겟 영역(AT)의 각 화소의 수치를 추출한 암호키로서 생성한다.
제1 암호키에 대해서는, 제1 난수를 그대로 적용한 암호키로서 생성한다.
그 후에, 합성키로서, 도시한 바와 같이 이들 제1, 제2, 및 제3 암호키를 합성한 암호키를 생성한다.
그리고, 해당 합성키에 기초하여, 대상 화상의 암호화가 행해지도록 한다.
상기와 같은 단계적인 암호화를 행함으로써, 화상의 수신측(수신 장치(3) 측)이 보유하는 복호키의 차이에 따라, 정보의 비닉 레벨을 변화시키는 것이 가능하게 된다.
도 18은 비닉 레벨의 변화 예에 대한 설명도이다.
여기서는, 키의 보유에 관한 레벨로서, 레벨0으로부터 레벨3까지의 4레벨을 정의한다. 도시한 바와 같이 레벨0은 키 없음, 레벨1은 제1 암호키만 보유, 레벨2는 제1, 제2 암호키의 합성키를 보유, 레벨3은 제1, 제2, 및 제3 암호키의 합성키를 보유를 각각 의미한다.
레벨0의 경우에는, 화상의 수신측에서 암호화 화상을 복호화할 수 없고, 전역이 암호화된 화상이 얻어진다.
레벨1의 경우, 화상의 수신측에서는 제1 암호키를 사용하여 타겟 영역(AT) 이외의 영역을 복호화할 수 있고, 따라서 타겟 영역(AT)만이 암호화된 화상이 얻어진다.
레벨2의 경우, 화상의 수신측에서는 제1, 제2 암호키의 합성키를 사용하여 특정 영역(AS) 이외의 영역을 복호화할 수 있고, 타겟에 있어서의 특정 영역(AS)만이 암호화된 화상이 얻어진다.
레벨3의 경우, 화상의 수신측에서는 제1, 제2, 및 제3 암호키의 합성키를 사용하여 화상 전역을 복호화할 수 있고, 이 경우에는 정보가 비닉되지 않은 화상을 얻을 수 있다.
여기서, 본 예에서는, 암호화 대상 화상은 동영상으로 되기 때문에, 화상 내에 비춰지는 타겟으로서의 물체는 시간 경과와 함께 화상 내에서 변위할 가능성이 있다. 이 때문에, 상기와 같은 타겟 영역(AT)을 대상으로 한 암호화를 행하는 경우에는, 타겟의 추적을 행하는 것을 필요로 한다.
이하, 이러한 타겟의 추적을 포함하는, 제2 실시형태로서의 화상 암호화의 구체적인 수법의 예에 대해, 도 19를 참조하여 설명한다.
한편, 도 19에 있어서, 타겟의 클래스는 「인물」인 것으로 한다. 또한, 도 19에서는 설명의 편의상, 타겟 영역(AT)에 있어서 특정 영역(AC)과 그 이외의 영역을 구별하지 않고, 화상 내의 타겟 영역(AT)과 그 이외의 영역에 대해서만 별도로 암호화하는 예를 든다.
먼저, 도 19의 A에 나타내는 프레임(F1)은, 타겟 클래스인 인물이 아직 프레임 안으로 들어오지(frame in) 않은 상태를 나타내고 있다. 한편, 여기서는, 화상 내에 타겟 클래스가 아닌 「나무」로서의 물체가 식별되어 있는 예로 하고 있다.
여기서, 화상 전역에 대한 암호화는, 타겟의 유무에 구애받지 않고 행해지는 것이다. 즉, 본 예에서는, 각 프레임(F)의 화상은, 화상 전역에 대응한 제1 암호키에 기초하여 진폭 제어 회로(19)(또는 19A)에 있어서 암호화된 후, 메모리(16)에 보존된다. 도 19의 각 부분 도면에 나타내는 흰색 키 마크는, 출력 화상으로서, 이러한 화상 전역을 대상으로 한 암호화가 실시되고 있는 것을 나타내고 있다.
타겟의 추적을 위해서는, 연산부(18)는, 화상 내에서의 물체의 영역의 검출이나 클래스 식별을 행하게 된다(전술한 물체 영역 인식부(82)나 클래스 식별부(83)의 처리). 이들 처리를 행하기 위해, 연산부(18)는, 상기한 바와 같이 암호화되어 보존된 프레임 화상을 복호화한다. 즉, 연산부(18)는, 타겟 추적을 위한 처리를, 제1 암호키에 기초하여 암호화된 프레임 화상을 복호화하면서 실행한다.
연산부(18)는, 이 때의 복호화를 온더플라이(on-the-fly) 방식에 의해 행한다. 이에 의해, 타겟의 추적을 행할 때에 평문 상태의 화상 신호가 유출되어 버릴 가능성을 저감하는 것이 가능하게 되어, 보안의 향상을 도모할 수 있다.
도 19의 B에 나타내는 프레임(F2)은, 타겟 클래스인 「인물」이 프레임 안으로 들어온 상태를 나타내고 있다. 이 상태에서는, 이미 식별되어 있는 「나무」와 함께, 타겟 클래스인 「인물」이 식별된다.
이와 같이 타겟 클래스로서의 물체를 식별한 경우, 연산부(18)(물체 영역 인식부(82))는, 해당 물체의 에어리어를 둘러싸는 정확한 위치 좌표의 바운딩 박스(40)의 산출을 행한다.
예를 들면, 도 19의 C에 타겟 클래스인 인물의 화상에 대한 바운딩 박스(40)의 예를 나타내고 있다. 즉, 바운딩 박스(40)는 타겟 클래스에 해당하는 물체의 보다 정확한 영역으로서 계산된다.
나아가, 연산부(18)(물체 영역 인식부(82))는, 바운딩 박스(40)를 바탕으로, 관심 영역인 ROI(41)를 산출한다.
도 19의 D에 ROI(41)와 바운딩 박스(40)를 나타내고 있다. ROI(41)는, 예를 들면 바운딩 박스(40)의 종횡 사이즈(x×y)를 확대(ax×by)하여 계산된다. 확대의 축척 a, b는 종횡별에 설정할 수 있고, 확대율은 고정이어도 되지만, 촬상용 센서부(10)의 외부(예를 들면, 화상 프로세서(21) 등)로부터 지정되도록 하는 것도 생각할 수 있다.
본 예에서는, 이 ROI(41)를 타겟 영역(AT)으로서, 화상 전역과는 다른 암호키를 사용한 암호화를 행한다.
여기서, 프레임(F2)은, 화상 내에 타겟 클래스가 새롭게 식별된 프레임이며, 타겟 클래스 발견 프레임으로 환언할 수 있다.
본 예에서는, 화소로부터의 판독 신호에 대해 암호화를 실시하는 수법을 채용하기 때문에, 타겟 클래스 발견 프레임에 대해서는, ROI(41)에 대해 제2 암호키에 기초한 암호화를 실시할 수 없다. 타겟 클래스 발견 프레임에 대해서는, 이미 제1 암호키에만 기초한 암호화가 실시되어 메모리(16)에 보존되어 있다. 이와 같이 제1 암호키에만 기초한 암호화가 실시된 타겟 클래스 발견 프레임이 그대로 출력되어 버리면, 제1 암호키만의 보유자에 대하여, ROI(41)의 화상 영역이 비닉되지 않고 개시되어 버리게 된다.
이에, 본 예에서는, 타겟 클래스 발견 프레임에 대해서는 메모리(16)로부터 소거하는 것으로 하고, 화상의 수신측이 보유하는 복호키의 차이에 따른 적절한 정보 비닉 레벨이 실현되도록 한다.
도 19의 E는 프레임(F2)의 다음 프레임인 프레임(F3)을 나타내고 있다.
타겟 클래스 발견 프레임의 다음 프레임(F)으로부터, ROI(41)를 대상으로 한 제2 암호키에 기초한 암호화를 실시한다. 여기서의 ROI(41)는, 타겟 클래스 발견 프레임인 프레임(F2)의 시점에서 산출된 ROI(41)이다.
타겟 클래스로서의 「인물」이 이동하고 있는 경우에는, 프레임(F3)에서는, 프레임(F2)보다도 인물이 이동 방향 측으로 진행하게 되지만, ROI(41)가 바운딩 박스(40)보다도 큰 범위로 됨으로써, 프레임(F3)에 있어서 ROI(41) 내에 타겟 클래스로서의 인물이 들어가게 된다. 즉, 타겟 클래스로서의 인물이 제2 암호키에 기초한 암호화의 대상 범위 내에 들어간다.
프레임(F3) 이후에 있어서도, 마찬가지로 타겟 클래스에 대한 바운딩 박스(40) 및 ROI(41)의 산출을 행하고, 이에 의해 타겟 클래스가 추적되도록 한다(도 19의 F 참조).
그리고, 프레임(F4) 이후에서는, 프레임(F3)과 마찬가지로, 하나 전의 프레임(F)에서 산출된 ROI(41)를 대상으로 하여, 제2 암호키에 기초한 암호화가 실시되도록 한다(도 19의 G 참조).
도 19의 H는, 타겟 클래스로서의 「인물」이 프레임을 벗어난(frame out) 후의 프레임(Fn)을 나타내고 있다. 타겟 클래스가 프레임을 벗어났기 때문에, ROI(41)는 산출되지 않게 된다. 이 때문에, 프레임(Fn)의 화상에 대해서는, 제1 암호키에만 기초한 암호화가 행해진다.
한편, 상기 설명에서는, 바운딩 박스(40)를 확대한 사각형의 영역을 ROI(41)로 하는 예를 서술하였지만, ROI(41)는 사각형의 영역에 한정되는 것이 아니다.
예를 들면, 시맨틱 세그멘테이션(semantic segmentation), 즉 화소 레벨에서의 물체 에어리어 검출을 사용하여, 그 타겟 클래스의 물체의 에어리어로부터 ROI(41)를 계산해도 된다.
도 20은 시맨틱 세그멘테이션에 기초한 ROI(41)를 나타내고 있다. 이것은 물체(예를 들면, 인물)로서의 화소 영역을 넓혀서, 사각형이 아닌 ROI(41)를 설정한 예이다.
예를 들면, 돌기물이 있는 트럭, 자전거를 타고 있는 사람 등, 사각형의 ROI(41)에서는 일부가 포함되지 않거나, 또는 지나치게 큰 상태로 되어 버리는 경우가 있다. 화소 레벨의 물체 위치에 따라 사각형이 아닌 ROI(41)를 생성하면, 타겟에 관한 비닉 영역을 과부족 없이 적절하게 설정하는 것이 가능해진다.
[2-2. 화상 암호화를 위한 처리 절차]
상기에 의해 설명한 제2 실시형태로서의 화상 암호화를 실현하기 위해 연산부(18)가 실행하는 처리 절차에 대해, 도 21 및 도 22의 플로우차트를 참조하여 설명한다.
도 21은, 시드 프레임의 촬상으로부터 암호키의 근원이 되는 난수의 보존까지 대응한 처리를 나타내고 있다. 한편, 도 21에 있어서, 이미 도 10에서 설명한 처리와 마찬가지로 되는 처리에 대해서는 동일 스텝 번호를 붙여서 설명을 생략한다.
도 10의 처리와 마찬가지로, 도 21의 처리는, 기동시, 및 부정 액세스 검지부(86)에 의해 부정 액세스가 검지된 것에 응답하여 개시한다. 또는, 일정 시간 간격으로 개시하는 등, 다른 조건에 기초하여 개시할 수도 있다.
한편, 도 21 및 도 22에서 설명하는 처리 중 적어도 일부에 대해서는 하드웨어에 의한 처리로서 실현할 수도 있다.
도 21에 있어서, 이 경우의 연산부(18)는, 스텝(S103)에서 균일성이 과잉이라고 판정된 경우에, 스텝(S151)으로 진행하여 각 레벨의 난수를 생성한다. 여기서는, 타겟 영역(AT)에 있어서 특정 영역(AS)을 구별하지 않기 때문에, 난수로서는 전술한 제1 난수와 제2 난수의 2종을 생성한다.
한편, 시드 프레임의 광전 난수에 기초하여 각종의 난수를 생성하는 수법에 대해서는 이미 설명하였기 때문에 중복 설명은 피한다.
이 경우의 연산부(18)는, 스텝(S151)의 난수 생성 처리를 실행한 것에 응답하여, 스텝(S106)에서 시드 프레임의 소거 처리를 실행한다.
그리고, 스텝(S106)의 소거 처리를 실행한 것에 응답하여, 연산부(18)는 스텝(S152)에서 기존 난수가 있으면 소거하는 처리를 실행한다. 즉, 과거에 실행된 스텝(S153)의 처리에서 메모리(16)에 보존된 각 레벨의 난수(제1 난수와 제2 난수)가 있으면, 이들 난수를 소거하는 처리이다.
스텝(S152)에 후속하는 스텝(S153)에서 연산부(18)는, 스텝(S151)에서 생성한 각 레벨의 난수를 메모리(16)에 보존하는 처리를 행하고, 도 21에 나타내는 일련의 처리를 끝낸다.
도 22는 생성한 암호키에 기초하여 대상 화상을 암호화하기 위한 처리를 나타내고 있다.
먼저, 연산부(18)는 스텝(S401)에서, 암호화 대상으로 하는 화상의 촬상 개시를 대기하고 있고, 촬상 개시가 되면, 스텝(S402)에서 제1 암호키에 의한 암호화 처리를 실행한다. 즉, 진폭 제어 회로(19)(또는 19A)에 제1 암호키에 기초한 화소마다의 계수를 지시하여 어레이 센서(12)의 판독 신호에 대한 암호화를 실행시킨다. 앞서 설명으로부터 이해되는 바와 같이, 본 예에서는, 제1 암호키는, 제1 난수를 그대로 적용한 암호키로 된다.
스텝(S402)에 후속하는 스텝(S403)에서 연산부(18)는, 물체 영역 인식 처리를 실행하고, 또한 후속하는 스텝(S404)에서 클래스 식별 처리를 실행한다. 스텝(S403)의 물체 영역 인식 처리는, 전술한 물체 영역 인식부(82)의 처리이며, 현재 프레임의 화상으로부터 후보가 되는 물체의 검출 및 그 물체 영역의 인식 처리를 행한다. 또한, 스텝(S404)의 클래스 식별 처리는, 전술한 클래스 식별부(83)의 처리이며, 상기의 물체 영역 인식 처리로 검출된 물체에 대해 클래스 식별을 행한다. 복수의 물체나 복수 종류의 물체가 검출된 경우, 각각에 대해 클래스 식별이 행해지고, 각 클래스로 분류된다. 예를 들면, 앞서 도 19의 B의 경우, 「나무」라고 하는 클래스의 물체가 1개, 「인물」이라고 하는 클래스의 물체가 1개인 것처럼 클래스 식별 및 분류가 행해진다.
한편, 연산부(18)는, 스텝(S403 및 S404)의 처리에 대해서는, 스텝(S402)이나 후술하는 스텝(S413)에서 암호화된 프레임 화상을 온더플라이 방식으로 복호화하면서 실행한다.
스텝(S404)에 후속하는 스텝(S405)에서 연산부(18)는, 타겟 클래스가 존재하는지 여부를 판정한다. 즉, 스텝(S404)에서 식별된 클래스 중에 타겟 클래스가 존재하였는지 여부를 판정한다.
타겟 클래스가 존재하지 않으면, 연산부(18)는 스텝(S406)에서 다음 프레임을 대기(다음 프레임 기간의 도래를 대기)한 후에, 스텝(S402)으로 돌아간다. 즉, 타겟 클래스가 검출될 때까지, 스텝(S402)에 의한 화상 전역의 암호화 처리, 스텝(S403)의 물체 영역 인식 처리, 및 스텝(S404)의 클래스 식별 처리가 프레임마다 반복 실행된다.
스텝(S405)에서 타겟 클래스가 존재한다고 판정한 경우, 연산부(18)는 스텝(S407)으로 진행하여 바운딩 박스(40)의 산출을 행하고, 후속하는 스텝(S408)에서 ROI(41)의 산출을 행한다.
나아가, 후속하는 스텝(S409)에서 연산부(18)는, ROI(41)에만 제2 난수의 수치를 적용한 제2 암호키와, 제1 암호키를 합성한 합성키를 생성한다.
스텝(S409)에서 합성키를 생성한 것에 응답하여, 연산부(18)는 스텝(S410)에서 타겟 클래스 발견 프레임인지 여부를 판정한다. 현재 프레임이 타겟 클래스 발견 프레임이면, 연산부(18)는 스텝(S411)에서 타겟 클래스 발견 프레임을 소거하는 처리를 실행한다. 이에 의해, 타겟 클래스 발견 프레임에 대해, 키의 보유 레벨이 레벨1임에도 불구하고 타겟의 화상 부분이 비닉되지 않게 되어 버리는 것의 방지가 도모된다.
스텝(S410)에 있어서, 현재 프레임이 타겟 클래스 발견 프레임이 아니면, 연산부(18)는 스텝(S411)의 소거 처리를 패스하고, 스텝(S412)에서 다음 프레임을 대기하는 처리를 행한다. 또한, 연산부(18)는, 스텝(S411)의 소거 처리를 실행한 경우에도, 스텝(S412)에서 다음 프레임을 대기하는 처리를 행한다.
스텝(S412)의 대기 처리를 실행한 것에 응답하여, 연산부(18)는 스텝(S413)에서 하나 전의 프레임에서 생성한 합성키에 의한 암호화 처리를 실행한다. 즉, 진폭 제어 회로(19)(또는 19A)에 해당 합성키에 기초한 화소마다의 계수를 지시하여 어레이 센서(12)의 판독 신호에 대한 암호화를 실행시킨다.
스텝(S413)에 후속하는 스텝(S414)에서 연산부(18)는, 촬상 종료인지 여부, 즉, 예를 들면 외부로부터의 촬상 종료 지시가 행해지는 등, 암호화 대상 화상의 촬상을 종료해야 할 상태가 되었는지 여부를 판정한다.
촬상 종료가 아니면, 연산부(18)는 스텝(S403)으로 되돌아간다. 이에 의해, 촬상 종료가 될 때까지, 지금까지 설명한 처리가 반복된다. 즉, 계속해서 타겟 클래스가 존재하면, 해당 타겟 클래스에 대한 ROI(41)의 산출, 및 산출한 ROI(41)에 기초한 합성키의 생성, 및 하나 전의 프레임에서 생성한 합성키에 기초한 암호화 처리가 행해지고, 타겟 클래스가 존재하지 않게 된 경우에는, 합성키에 의한 암호화 처리가 행해지지 않고, 제1 암호키에 의한 암호화 처리가 실행된다.
촬상 종료이면, 연산부(18)는 도 22에 나타내는 일련의 처리를 끝낸다.
한편, 본 예에서는, ROI(41)에 대해서는, 다음 프레임에 있어서 타겟으로서의 물체를 포함할 수 있도록 바운딩 박스(40)를 넓힌 영역으로서 설정하고 있지만, 종횡 사이즈(x×y)를 확대(ax×by)할 때의 확대 축척 a, b는, 프레임 레이트에 따른 것으로 하는 것도 생각할 수 있다.
예를 들면, 프레임 레이트가 낮으면, 프레임 간격의 시간이 길어져 인물 등의 물체의 이동량도 커지기 때문에, 프레임 레이트가 높은 경우보다도 ROI(41)를 넓게 하는 것을 생각할 수 있다.
한편, 타겟 영역(AT)에 대해, 특정 부위와 그 이외의 영역을 구별하여 암호화를 행하는 경우에는, 특정 부위에 대해, 상기에서 설명한 수법과 마찬가지의 수법에 의해 바운딩 박스(40) 및 ROI(41)를 산출하고, 산출한 ROI(41)에 제3 난수의 수치를 적용한 제3 암호키를 생성한다. 그 후에, 제1, 제2, 제3 암호키를 합성한 합성키를 생성하여, 다음 프레임의 화상의 암호화에 사용하도록 하면 된다.
[2-3. 제2 실시형태로서의 개찬 검지 수법]
계속해서, 상기한 바와 같이 수신 장치(3) 측이 갖는 키의 레벨마다 복호화 가능한 화상 범위가 다르도록 촬상 화상 데이터가 암호화되는 경우에 대응하여, 전자 서명을 사용한 개찬 검지를 행하기 위한 수법에 대해 설명한다.
이 때, 포인트가 되는 것은, 수신 장치(3) 측에서는 자신이 보유하는 키의 레벨에 따른 화상 범위만 암호화 화상을 복호화할 수 있다는 점이며, 보유하는 키의 레벨이 다른 수신 장치(3) 사이에서는, 복호화한 화상으로부터 계산되는 해시값이 각각 다른 값이 된다. 이 때문에, 촬상 장치(1) 측에서는, 키의 레벨이 어떤 레벨이어도 각 수신 장치(3)가 적정하게 개찬 검지 처리를 실행 가능하게 되도록, 각각의 키의 레벨에 따른 해시값을 계산한다.
도 23 및 도 24를 참조하여, 이러한 수신 장치(3) 측의 키의 보유 레벨의 차이를 고려한 제2 실시형태로서의 개찬 검지 수법에 대해 설명한다.
여기서는 설명상의 일례로서, 키의 보유 레벨이 각각 레벨1과 레벨2인 수신 장치(3)에 암호화 화상 데이터와 전자 서명 데이터를 송신하는 예를 든다. 앞서 도 18을 참조하여 설명한 바와 같이, 키의 보유 레벨로서, 레벨1은, 타겟 영역(AT) 전역만이 암호화된 화상이 얻어지는 레벨이며, 레벨2는, 타겟 영역(AT)에 있어서의 특정 영역(AS)만이 암호화된 화상이 얻어지는 레벨이다.
도 23은 촬상 장치(1)가 수신 장치(3)로의 화상 송신 시에 행하는 처리를 모식적으로 나타내고 있다.
먼저, 송신 대상의 촬상 화상 데이터는, 본 예에서는, 제1, 제2, 및 제3 암호키의 합성키에 의해 암호화된 화상 데이터가 된다. 이하에서는 설명상, 해당 합성키로 암호화된 촬상 화상 데이터를 「암호화 화상 데이터 Gc」라고 표기한다.
촬상 장치(1)는, 레벨1의 수신 장치(3)에 송신해야 할 해시값으로서, 이 암호화 화상 데이터 Gc를 제1 암호키로 복호화하여 얻은 화상 데이터의 해시값(이하 「해시값 H1」이라고 표기함)을 계산한다. 레벨1의 수신 장치(3)에 대해서는, 이와 같이 계산한 해시값 H1을 서명 생성 키로서의 비밀키(제1 실시형태와 마찬가지로, 광전 난수에 기초하여 생성됨)에 의해 암호화한 값과, 해당 비밀키에 기초하여 생성한 서명 검증 키로서의 공개키를 암호화 화상 데이터 Gc와 함께 송신한다.
한편, 촬상 장치(1)는, 레벨2의 수신 장치(3)에 송신해야 할 해시값으로서, 암호화 화상 데이터 Gc를 제1 및 제2 암호키의 합성키로 복호화하여 얻은 화상 데이터의 해시값(이하 「해시값 H2」이라고 표기함)을 계산한다. 그리고, 레벨2의 수신 장치(3)에 대해서는, 이와 같이 계산한 해시값 H2를 서명 생성 키로서의 비밀키에 의해 암호화한 값과, 서명 검증 키로서의 공개키를 암호화 화상 데이터 Gc와 함께 송신한다.
도 24는 수신 장치(3) 측의 처리를 모식적으로 나타내고 있다.
레벨1의 수신 장치(3)에서는, 촬상 장치(1)로부터 수신한 암호화 화상 데이터 Gc를, 자신이 보유하는 제1 암호키에 의해 복호화하고, 해당 복호화한 화상 데이터에 대한 해시값(이하 「해시값 H1a」라고 표기함)을 계산한다. 또한, 레벨1의 수신 장치(3)에서는, 촬상 장치(1)로부터 수신한, 비밀키에 의해 암호화된 해시값 H1을 공개키에 의해 복호화한다. 이 복호화에 의해 얻어진 값을 해시값 H1b로 표기한다. 그리고, 레벨1의 수신 장치(3)는, 해시값 H1a와 해시값 H1b의 일치 판정을 행한다.
레벨2의 수신 장치(3)에서는, 촬상 장치(1)로부터 수신한 암호화 화상 데이터 Gc를 자신이 보유하는 제1 및 제2 암호키의 합성키에 의해 복호화하고, 해당 복호화한 화상 데이터에 대한 해시값(이하 「해시값 H2a」라고 표기함)을 계산한다. 나아가, 레벨2의 수신 장치(3)에서는, 촬상 장치(1)로부터 수신한, 비밀키에 의해 암호화된 해시값 H2를 공개키에 의해 복호화한다. 이 복호화에 의해 얻어진 값을 해시값 H2b로 하면, 레벨2의 수신 장치(3)는, 해시값 H2a와 해시값 H2b의 일치 판정을 행한다.
여기서, 전자 서명의 수법에 있어서, 해시값은, 개찬 검지의 대상 데이터의 기록 시에 있어서 생성되는 것이 일반적이다. 그러나, 본 예와 같이 수신 장치(3) 측의 키 레벨에 따라 복호화 가능한 화상 범위를 다르게 하는 수법을 채용하는 경우에 있어서는, 각 레벨의 해시값(상기 예에서는 H1, H2)을 생성할 필요가 있고, 이들 해시값을 촬상 화상 데이터의 기록 시에 한번에 생성하려고 하면 처리가 무거워져서, 처리 지연을 초래할 우려가 있다.
이 때문에, 본 예에서는, 각 레벨의 해시값의 생성은, 수신 장치(3)로부터의 송신 요구에 따른 암호화 화상 데이터 Gc의 송신 시에 행한다. 이에 의해, 해시값의 생성은, 송신 요구가 행하여졌을 때에, 해당 송신 요구를 행한 수신 장치(3)의 키의 레벨에 대해서만 행하면 되고, 촬상 화상 데이터의 기록 시에 각 레벨의 해시값을 한번에 생성할 필요가 없어진다.
따라서, 해시값의 생성에 따른 처리 지연의 억제를 도모할 수 있다.
도 25의 플로우차트를 참조하여, 상기에 의해 설명한 제2 실시형태로서의 개찬 검지 수법을 실현하기 위한 촬상 장치(1) 측의 처리 절차의 예를 설명한다.
한편, 본 예에 있어서, 도 25에 나타내는 처리는, 제어부(23)가 실행한다.
먼저, 제어부(23)는, 스텝(S501)에서 수신 장치(3) 측으로부터의 송신 요구를 대기한다. 즉, 암호화 화상 데이터 Gc의 송신 요구를 대기한다.
후속하는 스텝(S502)에서 제어부(23)는, 수신 장치(3)의 레벨 정보를 취득한다. 즉, 송신 요구를 행한 수신 장치(3)가 보유하는 복호키의 레벨을 나타내는 정보를 취득한다. 본 예에서는, 해당 레벨의 정보는, 수신 장치(3)가 송신 요구와 함께 촬상 장치(1)로 송신하는 것으로 한다.
스텝(S502)에 후속하는 스텝(S503)에서 제어부(23)는, 암호화 화상 데이터 Gc를 수신 장치(3)의 레벨에 따른 복호 레벨에서 복호화한다. 즉, 메모리부(24)에 기억되어 있는 암호화 화상 데이터 Gc를, 스텝(S402)에서 취득한 레벨 정보에 따른 복호키에 의해 복호화한다. 구체적으로는, 레벨1이면, 제1 암호키에 의한 복호화를 행하고, 레벨2이면 제1 및 제2 암호키의 합성키에 의한 복호화를 행하는 바와 같이, 수신 장치(3)의 키의 보유 레벨에 따른 복호키에 의한 복호화를 행한다.
스텝(S503)에 후속하는 스텝(S504)에서 제어부(23)는, 복호화된 화상 데이터의 해시값을 계산하고, 또한 후속하는 스텝(S505)에서, 해당 해시값을 비밀키에 의해 암호화한다.
나아가, 제어부(23)는 후속하는 스텝(S506)에서, 암호화 화상 데이터 Gc, 암호화한 해시값, 및 공개키를 요구원의 수신 장치(3)에 대해 송신하고, 도 25에 나타내는 일련의 처리를 끝낸다.
확인을 위해 서술해 두면, 스텝(S506)에서 송신하는 공개키는, 광전 난수에 기초하여 생성한 서명 생성 키로서의 비밀키에 기초하여 생성한 서명 검증 키로서의 공개키이다.
상기에서는, 해당 공개키와 그 쌍이 되는 비밀키에 대해, 각 레벨에서 공통 키를 사용하는 예를 들었지만, 이들 공개키 및 비밀키는 레벨마다 다른 키를 사용할 수도 있다.
[2-4. 수신자측이 갖는 공개키의 확인 프로세스]
여기서는, 수신 장치(3) 측의 키의 레벨에 따라 복호화 가능한 화상 범위를 다르게 하는 수법을 채용하는 경우에 있어서, 수신 장치(3)가 갖는 공개키가 적정한 공개키인지의 확인 프로세스의 예를 설명한다. 한편, 여기서 말하는 공개키는, 전자 서명용의 공개키가 아니라, 공통 키로서의 화상 암호키(암호화 필터)를 수신 장치(3) 측에 안전하게 전달하기 위해 사용하는 공개키(도 11의 설명을 참조)를 가리킨다.
한편, 이하의 도 26 내지 도 30의 설명에서도, 키의 보유 레벨이 각각 레벨1과 레벨2인 수신 장치(3)를 예로 들지만, 다른 보유 레벨의 수신 장치(3)에 대해서도 마찬가지의 처리를 행하면 된다.
먼저, 도 26에 나타내는 바와 같이, 각 레벨의 수신 장치(3)는, 비밀키와 공개키를 보유하고 있고, 각각 자신이 보유하는 공개키를 촬상 장치(1)에 대해 송신한다.
그리고, 도 27에 나타내는 바와 같이, 촬상 장치(1)는, 광전 난수를 해시화한 해시값 Hd를 생성한다.
그 후, 촬상 장치(1)는, 수신 장치(3)의 레벨마다, 광전 난수를 대응하는 레벨의 공개키로 암호화한다. 그리고, 레벨1의 수신 장치(3)에 대해서는, 레벨1의 공개키에 의해 암호화한 광전 난수를 송신하고, 레벨2의 수신 장치(3)에 대해서는 레벨2의 공개키에 의해 암호화한 광전 난수를 송신한다.
각 레벨의 수신 장치(3) 측에서는, 도 28에 나타내는 바와 같이, 자신이 보유하는 레벨의 비밀키에 의해, 공개키로 암호화된 광전 난수를 복호화한다. 그리고, 각 레벨의 수신 장치(3)는, 복호화한 광전 난수로부터 해시값을 계산하고, 각각 촬상 장치(1)로 송신한다.
촬상 장치(1)에서는, 각 레벨의 수신 장치(3)로부터 수신한 해시값에 대해, 도 27에서 계산한 원래의 해시값 Hd와의 일치 판정을 행한다.
촬상 장치(1)는, 수신한 해시값이 해시값 Hd와 일치하는 경우에는, 해당 해시값을 송신한 수신 장치(3)를 정식 수신자(authentic receiver)로서 등록한다.
[2-5. 송신자측이 갖는 전자 서명 공개키의 확인 프로세스]
계속해서, 촬상 장치(1)가 갖는 전자 서명 공개키가 적정한 공개키인지의 확인 프로세스의 예를 설명한다. 구체적으로, 여기서 설명하는 확인 프로세스는, 촬상 장치(1)가 보유하고 있는 전자 서명 공개키(서명 검증 키로서의 공개키)가 적정한 공개키인지 여부를 각 레벨의 수신 장치(3) 측에서 확인하는 프로세스가 된다.
먼저, 촬상 장치(1)는, 도 29에 나타내는 바와 같이, 자신이 보유하고 있는 레벨1용의 전자 서명 공개키, 레벨2용의 전자 서명 공개키를 각각의 레벨의 공개키로 암호화한다. 이 암호화에 사용하는 각 레벨의 공개키는, 앞서 도 26에서 설명한 바와 같이, 각 레벨의 수신 장치(3)가 송신하여 촬상 장치(1)가 보유하게 된 공개키이다.
촬상 장치(1)는, 레벨1의 수신 장치(3)에 대해서는, 레벨1 공개키로 암호화한 레벨1용 전자 서명 공개키를 송신하고, 레벨2의 수신 장치(3)에 대해서는 레벨2 공개키로 암호화한 레벨2용 전자 서명 공개키를 송신한다.
각 레벨의 수신 장치(3)는, 도 30에 나타내는 바와 같이, 촬상 장치(1)로부터 수신한 암호화된 전자 서명 공개키를, 자신이 보유하는 레벨의 비밀키로 복호화한다.
한편, 각 레벨의 수신 장치(3)는, 네트워크상의 인증국 서버 등의 소정의 서버 장치로부터, 촬상 장치(1)에 대응지어져 관리되고 있는 전자 서명 공개키를 참조하여, 해당 참조한 전자 서명 공개키와, 상기한 바와 같이 복호화한 전자 서명 공개키와의 일치 판정을 행한다. 각 레벨의 수신 장치(3)는, 양쪽 모두의 전자 서명 공개키가 일치하는 경우에는, 촬상 장치(1)를 상정하고 있는 적정한 송신자로서 등록한다.
여기서, 전자 서명 공개키의 소유자 정보는 공개 정보로서 네트워크상에서 관리되고 있어, 확인이 가능하게 되어 있다. 이 확인을 위한 시스템에 대해서는 특별히 한정되지 않지만, 예를 들면 PGP(Pretty Good Privacy) 방식이나 PKI(Public Key Infrastructure) 방식의 시스템을 들 수 있다.
<3. 제3 실시형태>
계속해서, 제3 실시형태에 대해 설명한다.
제3 실시형태는, 블록체인 시스템에 있어서의 전자 서명용의 비밀키를 광전 난수에 기초하여 생성하는 것이다.
여기서, 블록체인은, 복수의 거래 데이터를 포함하는 블록을 시계열에 따라 연결시킨 것을 의미한다. 블록체인 시스템이란, 이러한 블록체인을 취급하는 시스템으로서, P2P(Peer to Peer) 네트워크를 이용하여 거래 데이터(트랜잭션)를 분산시켜 서로 관리하는 시스템을 의미한다.
도 31은 블록체인 시스템의 하드웨어 구성을 예시한 블록도이다.
도시한 바와 같이 블록체인 시스템에 있어서는, 복수의 사용자 단말(50)의 각각이, 예를 들면 인터넷으로서의 네트워크(2)에 접속되고, 각각의 사용자 단말(50)은 네트워크(2)를 통해 서로 데이터 통신을 행하는 것이 가능하게 되어 있다.
도 32는 사용자 단말(50)의 내부 구성예를 나타낸 블록도이다.
도시한 바와 같이 사용자 단말(50)은, 도 3에 나타낸 수신 장치(3)와 마찬가지의 구성을 가지면서, 입출력 인터페이스(35)에 카메라부(51)가 접속되어 있다. 카메라부(51)는, 적어도 도 2에 나타낸 어레이 센서(12)를 가지며, 전술한 시드 프레임으로서의 화상 데이터를 생성 가능하게 구성되어 있다.
블록체인 시스템에서는, 네트워크(2)에 접속된 사용자 단말(50)이 전자 서명용의 비밀키를 생성한다.
블록체인 시스템에서는, 이 비밀키로부터 공개키가 생성되고, 해당 공개키에 기초하여 블록체인 어드레스가 생성된다. 블록체인 어드레스는, 은행 계좌에 비유하면 계좌 번호에 상당하는 정보이며, 블록체인 시스템에 있어서의 가상 통화의 거래는, 블록체인 어드레스 간에 통화를 주고받는 것에 의해 행해진다.
또한, 블록체인 시스템에 있어서 비밀키로부터 생성된 공개키는, 비밀키에 의해 암호화되어 P2P 네트워크에 브로드캐스트된 트랜잭션의 개찬 검지에 사용된다. 즉, 이 경우에 있어서의 비밀키나 공개키는, 거래가 정당하게 행해졌는지 여부를 체크하기 위해 사용된다.
블록체인 시스템에 있어서도, 비밀키의 생성에는 난수가 사용되지만, 이 난수의 예측이 용이하면 비밀키가 해독되기 쉬워지는, 즉 부정거래가 성립하기 쉬워진다. 이 때문에, 해당 난수는 블록체인 시스템의 보안을 높이는 데 있어서 중요한 역할을 담당한다.
이에, 제3 실시형태에서는, 블록체인 시스템에 있어서의 전자 서명용의 비밀키를 광전 난수에 기초하여 생성한다.
구체적으로, 사용자 단말(50)에 있어서의 CPU(31)는, 전자 서명용의 비밀키를 생성하기 위해, 카메라부(51)에 시드 프레임으로서의 화상 데이터를 생성시킨다. 그리고, 해당 화상 데이터의 각 화소의 전기 신호 값을 광전 난수로서 취득하고, 해당 광전 난수에 기초하여 비밀키의 생성을 행한다.
이에 의해, 블록체인 시스템에 있어서의 전자 서명용의 비밀키에 대해, 의사 난수를 사용하는 경우보다 해독을 곤란하게 하는 것이 가능하게 된다.
여기서, 블록체인 시스템을 기초로, 거래의 계약(컨트랙트)을 사람의 손을 거치지 않고 자동으로 실행시키는 메커니즘으로서 스마트 컨트랙트 시스템(이하, 「SC 시스템」이라고 표기함)이 알려져 있다.
SC 시스템에서는, 특정 조건을 만족한 경우에 자동으로 계약 내용이 실행되도록, 미리 프로그램되어 있고, 그 때문에 무신뢰 거래(trustless transaction)가 가능하게 된다. 한편, 무신뢰 거래란, 제3자의 중개를 필요로 하지 않고, 당사자간에만 디지털 거래를 행하는 것을 의미한다.
SC 시스템에서는, 블록체인 시스템 상에서 컨트랙트의 검증 작업자의 선출을 행할 때에, 그 선출을 공정하게 행할 목적으로 난수가 활용되고 있지만, 이 난수의 예측이 용이하면 의도적인 검증 작업자의 선출이 가능해져서, 검증 작업자의 선출의 공정성이 상실될 우려가 있다.
이에, 본 실시형태에서는, SC 시스템에 있어서의 컨트랙트 검증 작업자의 선출을, 광전 난수에 기초하여 행한다.
도 33은 SC 시스템의 구성을 개념적으로 나타낸 도면이다.
SC 시스템에 있어서는, 블록체인 시스템 상에 각종의 사용자 단말(50)이 존재한다. 도면 중의 스마트 컨트랙트 애플리케이션은, 스마트 컨트랙트의 서비스를 누리는 사용자 단말(50)이나 스마트 컨트랙트의 운용을 관리하는 사용자 단말(50)의 집합을 나타내고 있다. 또한, 도면 중의 검증자 그룹은, 컨트랙트 검증 작업자로서의 사용자 단말(50)의 집합을 나타내고 있다.
도 33에 예시하는 바와 같이 스마트 컨트랙트의 검증 작업자는 복수의 그룹(검증자 그룹)으로 나뉘어져 있고, 각 그룹 내에서 검증 작업자끼리가 데이터를 서로 동기하고 있는 경우가 있다.
이러한 경우에 있어서는, 복수의 검증자 그룹 중에서 소정 수의 검증자 그룹을 선출한다고 하는 것이 행해질 수 있다. 그러한 경우, 스마트 컨트랙트 애플리케이션에 있어서의 선출자로서의 사용자 단말(50)이, 검증자 그룹의 선출을 광전 난수에 기초하여 행한다.
또한, 그룹 내에서 검증 작업자의 리더(도면 중, 검증자 리더)를 선출하는 경우도 있고, 그 경우에는, 상기 선출자로서의 사용자 단말(50)이, 해당 리더의 선출을 광전 난수에 기초하여 행한다.
한편, 상기와 같은 검증자 그룹의 선출은, 복수의 검증 작업자를 선출하는 것으로 환언할 수 있다.
선출자로서의 사용자 단말(50)에 있어서, 상기와 같은 검증자 그룹의 선출이나 리더의 선출은, CPU(31)가 카메라부(51)에 생성시킨 시드 프레임으로서의 화상 데이터의 각 화소의 전기 신호 값을 광전 난수로서 취득하고, 해당 광전 난수에 기초하여 행한다.
또한, 제3 실시형태의 다른 예로서, DApps(Decentralized Applications: 자율 분산형 애플리케이션)에 있어서의 대표자 선출에 광전 난수를 사용하는 것도 가능하다.
여기서, DApps는 블록체인 기술을 이용한 애플리케이션이다.
DApps에는, 게임을 중심으로 애플리케이션이 많이 개발되고 있다. 예를 들면, DApps로서는, 필요한 가상 통화 시스템을 기초로 하여, 서비스 향수자에게 랜덤하게 보수가 얻어지도록 한 애플리케이션이 상정된다. 이 때, 보수를 얻을 수 있는 대표자를 선출하기 위해, DApps에서는, RNG(Random Number Generator)가 사용된다.
그러나, RNG에 의해 생성되는 난수가 예측 가능한 경우에는, 특정한 서비스 향수자가 부정하게 보수를 얻는 것이 가능해져 버려, 서비스의 공정성을 결여시키게 된다.
이에, DApps에 의한 서비스 향수자로부터의 대표자 선출에 광전 난수를 사용하여, 공정성을 높이는 것을 생각할 수 있다.
이 경우에는, 블록체인 시스템에 있어서의 상기 대표자의 선출을 행하는 사용자 단말(50)에 있어서, CPU(31)가, 카메라부(51)에 생성시킨 시드 프레임으로서의 화상 데이터의 각 화소의 전기 신호 값을 광전 난수로서 취득하고, 해당 광전 난수에 기초하여 상기 대표자의 선출을 행한다.
한편, 제3 실시형태에 있어서도, 광전 난수로서는, 도 4에서 설명한 바와 같은 화소 위치를 셔플링시킨 것을 사용할 수도 있다.
또한, 제3 실시형태에 있어서도, 광전 난수의 근원이 된 화상 데이터를 메모리 상으로부터 소거할 수도 있고, 또한, 외부로부터의 부정 액세스가 검지된 것에 응답하여 광전 난수를 재생성할 수도 있다. 제3 실시형태에 있어서, 상기 소거나 광전 난수의 재생성의 지시는, 예를 들면 CPU(31)가 행하도록 한다.
<4. 변형예>
한편, 실시형태로서는, 지금까지 설명한 구체예에 한정되는 것이 아니고 다양한 변형예를 생각할 수 있다.
예를 들면, 제1, 제2 실시형태에서는, 전자 서명의 대상 데이터가 화상 데이터가 되는 경우를 예시했지만, 본 기술은, 예를 들면 텍스트 데이터나 음성 데이터 등, 각종 데이터에 대해 전자 서명을 사용한 개찬 검지를 행하는 경우에 널리 바람직하게 적용할 수 있다.
또한, 상기에서는 광전 난수에 기초한 비밀키의 생성을 촬상용 센서부(10)의 외부에서 행하는 예를 들었지만, 광전 난수에 기초한 비밀키의 생성은 촬상용 센서부(10) 내부에서 행할(예를 들면, 연산부(18)에 있어서 생성할) 수도 있다.
또한, 광전 난수에 기초한 암호화에 대해서는, 이하와 같은 변형예로서의 수법을 채용할 수도 있다.
하나는, 통상의 이미지 센서에서는 저감시키고 있는 암전류 노이즈나 판독 노이즈를, 높은 랜덤성의 생성에 응용하는 것이다. 구체적으로는, 난수의 시드 프레임 촬상 시에 있어서, 노광 시간(축적 시간)을 감소시키는 한편 증폭기의 증폭율을 올림으로써, 열 잡음에 의한 암전류 노이즈를 증가시키는 수법을 들 수 있다. 또는, 판독 노이즈를 감소시키는 회로(예: 적응 게인형의 증폭기 등의 노이즈 저감을 위한 회로)를 오프로 하여 판독을 행함으로써 얻어지는 촬상 화상을 시드 프레임으로서 사용하는 수법도 들 수 있다.
또한, 다른 수법으로서, 베이어 배열 등 컬러 필터(파장 필터)가 규칙적으로 배열된 이미지 센서를 사용하는 경우에, 어느 한 색의 필터(하나의 파장대의 필터)의 화소만을 참조하여 난수 생성의 시드 프레임으로서 이용하는 것도 생각할 수 있다. 예를 들면, 베이어 배열이면, 적색의 화소만을 참조하는 등이다.
이들 수법을 채용함으로써, 보다 랜덤성이 높은 난수 생성을 행하는 것이 가능해진다.
또한, 상기에서는, 전자 서명의 대상 데이터의 암호화에 관하여, 광전 난수에 기초한 암호화를 행하는 예를 들었지만, 해당 대상 데이터의 암호화에 사용하는 난수는 광전 난수에 한정되지 않는다. 예를 들면, 의사 난수를 사용할 수도 있다. 또는, 진정한 난수를 사용하는 것이라면, 예를 들면 열이나 소리의 변화 등, 예측이나 재현이 실질적으로 불가능한 자연 현상을 대응하는 센서로 검지하여, 그 값을 기초로 난수를 생성하는 수법을 들 수 있다.
또한, 전자 서명의 대상 데이터를 암호화하는 것은 필수는 아니다.
<5. 실시형태의 정리>
상기한 바와 같이 실시형태의 암호키 생성 장치(촬상 장치(1) 또는 사용자 단말(50))는, 가시광 또는 비가시광의 수광 소자를 갖는 화소가 1차원 또는 2차원으로 복수 배열된 어레이 센서(어레이 센서(12))에 의한 광전 변환에 기초하여 얻어지는 난수인 광전 난수에 기초하여, 전자 서명용의 비밀키를 생성하는 키 생성부(제어부(23) 또는 CPU(31): 스텝(ST2) 참조)를 구비한 것이다.
이에 의해, 전자 서명용의 비밀키에 대해, 의사 난수를 사용하는 경우보다도 해독을 곤란하게 하는 것이 가능하게 된다.
따라서, 개찬 검지 성능의 향상을 도모할 수 있다.
또한, 실시형태로서의 암호키 생성 장치에 있어서는, 키 생성부는, 화상 데이터에 대한 전자 서명용의 비밀키를 생성하고 있다.
이에 의해, 전자 서명의 대상 데이터가 화상 데이터가 되는 경우에 대응하여, 전자 서명용의 비밀키에 대해, 의사 난수를 사용하는 경우보다도 해독을 곤란하게 하는 것이 가능하게 된다.
따라서, 화상 데이터에 대한 개찬 검지 성능 향상을 도모할 수 있다.
나아가, 실시형태로서의 암호키 생성 장치에 있어서는, 키 생성부는, 어레이 센서에서의 촬상에 의해 얻어지는 화상 데이터에 대한 전자 서명용의 비밀키를 생성하고 있다.
이에 의해, 화상 데이터를 얻기 위한 어레이 센서가, 광전 난수를 얻기 위한 어레이 센서와 공통화된다.
따라서, 화상 데이터를 생성하는 어레이 센서와는 별도로 광전 난수 생성용의 어레이 센서를 설치할 필요가 없어져서, 부품 수의 삭감 및 비용 삭감을 도모할 수 있다.
나아가 또한, 실시형태로서의 암호키 생성 장치에 있어서는, 어레이 센서에서의 촬상에 의해 얻어지는 화상 데이터의 암호화를 행하는 암호화부(진폭 제어 회로(19 또는 19A), 연산부(18))와, 암호화부에 의해 암호화된 화상 데이터를 외부 장치로 송신하는 처리를 행하는 송신 처리부(제어부(23): 스텝(S204, S506) 참조)를 구비하고 있다.
이에 의해, 전자 서명의 대상 데이터로서의 화상 데이터를 안전하게 송신하는 것이 가능하게 된다.
따라서, 화상 내용의 누설 방지의 면에서의 보안 향상을 도모할 수 있다.
또한, 실시형태로서의 암호키 생성 장치에 있어서는, 암호화부는, 광전 난수에 기초하여 생성한 암호키에 의해 화상 데이터의 암호화를 행하고 있다.
이에 의해, 화상 데이터의 암호화에 대해서도, 의사 난수를 사용하는 경우보다 암호키의 해독을 곤란하게 하는 것이 가능하게 된다.
따라서, 보안의 더욱 더 향상을 도모할 수 있다.
나아가, 실시형태로서의 암호키 생성 장치에 있어서는, 암호화부는, 화상 데이터의 복호에 사용하는 복호키의 레벨에 따라 복호화 가능한 화상 범위가 다르도록 화상 데이터를 암호화하고, 송신 처리부는, 외부 장치가 암호화부에 의해 암호화된 화상 데이터의 송신 요구를 행한 것에 응답하여, 해당 외부 장치가 갖는 복호키와 동일한 레벨의 복호키에 의해 암호화된 화상 데이터를 복호화하고, 복호화한 화상 데이터의 해시값을 생성하여, 비밀키에 의해 암호화한 해당 해시값과 암호화된 화상 데이터를 외부 장치로 송신하고 있다(도 23, 도 25 참조).
이에 의해, 화상 데이터의 수신 장치에 대해 해당 수신 장치가 갖는 복호키의 레벨에 따른 해시값을 송신해야 하는 경우에 있어서, 해시값의 생성은, 송신 요구가 행하여졌을 때에, 해당 송신 요구를 행한 수신 장치의 복호키의 레벨에 대해서만 행하면 되고, 화상 데이터(촬상 화상 데이터)의 기록 시에 각 레벨의 해시값을 한번에 생성할 필요가 없어진다.
따라서, 해시값의 생성에 따른 처리 지연의 억제를 도모할 수 있다.
나아가 또한, 실시형태로서의 암호키 생성 장치에 있어서는, 키 생성부(CPU(31))는, 광전 난수에 기초하여, 블록체인 시스템에 있어서의 전자 서명용의 비밀키를 생성하고 있다.
이에 의해, 블록체인 시스템에 있어서의 전자 서명용의 비밀키에 대해, 의사 난수를 사용하는 경우보다 해독을 곤란하게 하는 것이 가능하게 된다.
따라서, 블록체인 시스템에 있어서의 전자 서명의 대상 데이터에 대해, 개찬 검지 성능의 향상을 도모할 수 있다.
또한, 실시형태로서의 암호키 생성 장치에 있어서는, 광전 난수에 기초하여 스마트 컨트랙트 시스템에 있어서의 컨트랙트 검증 작업자의 선출을 행하는 검증자 선출부(CPU(31): 도 33 참조)를 구비하고 있다.
이에 의해, 컨트랙트 검증 작업자의 선출에 사용하는 난수에 대해, 의사 난수를 사용하는 경우보다 해독을 곤란하게 하는 것이 가능하게 된다.
따라서, 컨트랙트 검증 작업자의 선출에 대해, 공정성을 높일 수 있다.
나아가, 실시형태로서의 암호키 생성 장치에 있어서는, 광전 난수에 기초하여 DApps에 의한 서비스의 향수자로부터의 대표자의 선출을 행하는 대표자 선출부(CPU(31))를 구비하고 있다.
이에 의해, DApps의 서비스 향수자로부터의 대표자 선출에 사용하는 난수에 대해, 의사 난수를 사용하는 경우보다 해독을 곤란하게 하는 것이 가능하게 된다.
따라서, DApps의 서비스 향수자로부터의 대표자 선출에 대해, 공정성을 높일 수 있다.
나아가 또한, 실시형태로서의 암호키 생성 장치에 있어서는, 키 생성부는, 광전 변환에 의해 얻어지는 화소마다의 전기 신호의 값을 광전 난수로서 취득하여 비밀키를 생성하고 있다.
이에 의해, 해독이 곤란한 전자 서명 비밀키를 생성하는 것이 가능하게 된다.
따라서, 개찬 검지 성능의 향상을 도모할 수 있다.
또한, 실시형태로서의 암호키 생성 장치에 있어서는, 키 생성부는, 화소마다의 전기 신호의 값 중 적어도 일부를, 해당 전기 신호의 값이 얻어진 화소 위치와는 다른 화소 위치에 할당된 형식에 의한 광전 난수에 기초하여 비밀키를 생성하고 있다.
이에 의해, 화소마다의 전기 신호의 값을 이들 전기 신호의 값이 얻어진 화소 위치에 그대로 할당된 광전 난수를 사용하는 경우와 비교하여, 전자 서명 비밀키의 해독이 곤란하게 된다.
따라서, 개찬 검지 성능의 향상을 도모할 수 있다.
나아가, 실시형태로서의 암호키 생성 장치에 있어서는, 광전 난수의 생성 후, 광전 난수의 근원이 된 화상 데이터를 메모리 상으로부터 소거하기 위한 처리를 행하는 소거 처리부(연산부(18) 또는 제어부(23) 또는 CPU(31): 스텝(S106), ST1 등 참조)를 구비하고 있다.
이에 의해, 광전 난수의 근원이 된 화상이 유출되어 광전 난수가 추정되어 버리는 것의 방지를 도모하는 것이 가능하게 된다.
따라서, 개찬 검지 성능의 향상을 도모할 수 있다.
나아가 또한, 실시형태로서의 암호키 생성 장치에 있어서는, 암호키 생성 장치 외부로부터의 부정 액세스가 검지된 것에 응답하여 광전 난수를 재생성하기 위한 처리를 행하는 재생성 처리부(연산부(18) 또는 제어부(23) 또는 CPU(31): 도 10, 스텝(ST1) 등 참조)를 구비하고 있다.
이에 의해, 외부로부터의 부정 액세스가 검지된 경우에는, 재생성한 광전 난수에 기초하여 전자 서명 비밀키를 갱신하는 것이 가능하게 된다.
따라서, 부정 액세스에 의해 비밀키가 외부 유출되었다고 하더라도, 해당 유출된 비밀키에서는 개찬 검지 처리가 적정하게 행해지지 않도록 도모할 수 있어, 데이터 개찬의 억제 효과 향상을 도모할 수 있다.
또한, 실시형태의 암호키 생성 방법은, 정보 처리 장치가, 가시광 또는 비가시광의 수광 소자를 갖는 화소가 1차원 또는 2차원으로 복수 배열된 어레이 센서에 의한 광전 변환에 기초하여 얻어지는 난수인 광전 난수에 기초하여, 전자 서명용의 비밀키를 생성하는 암호키 생성 방법이다.
이러한 암호키 생성 방법에 의해서도, 상기한 실시형태로서의 암호키 생성 장치와 마찬가지의 작용 및 효과를 얻을 수 있다.
한편, 본 명세서에 기재된 효과는 어디까지나 예시이며 한정되는 것이 아니고, 또한 다른 효과가 있어도 된다.
<6. 본 기술>
본 기술은 이하와 같은 구성도 채용할 수 있다.
(1)
가시광 또는 비가시광의 수광 소자를 갖는 화소가 1차원 또는 2차원으로 복수 배열된 어레이 센서에 의한 광전 변환에 기초하여 얻어지는 난수인 광전 난수에 기초하여, 전자 서명용의 비밀키를 생성하는 키 생성부를 구비한 암호키 생성 장치.
(2)
상기 키 생성부는,
화상 데이터에 대한 전자 서명용의 비밀키를 생성하는 상기 (1)에 기재된 암호키 생성 장치.
(3)
상기 키 생성부는,
상기 어레이 센서에서의 촬상에 의해 얻어지는 화상 데이터에 대한 전자 서명용의 비밀키를 생성하는 상기 (2)에 기재된 암호키 생성 장치.
(4)
상기 어레이 센서에서의 촬상에 의해 얻어지는 화상 데이터의 암호화를 행하는 암호화부와,
상기 암호화부에 의해 암호화된 상기 화상 데이터를 외부 장치로 송신하는 처리를 행하는 송신 처리부를 구비한 상기 (3)에 기재된 암호키 생성 장치.
(5)
상기 암호화부는,
상기 광전 난수에 기초하여 생성한 암호키에 의해 상기 화상 데이터의 암호화를 행하는 상기 (4)에 기재된 암호키 생성 장치.
(6)
상기 암호화부는,
상기 화상 데이터의 복호에 사용하는 복호키의 레벨에 따라 복호화 가능한 화상 범위가 다르도록 상기 화상 데이터를 암호화하고,
상기 송신 처리부는,
상기 외부 장치가 상기 암호화부에 의해 암호화된 상기 화상 데이터의 송신 요구를 행한 것에 응답하여, 해당 외부 장치가 갖는 상기 복호키와 동일한 레벨의 복호키에 의해 상기 암호화된 상기 화상 데이터를 복호화하고, 복호화한 화상 데이터의 해시값을 생성하여, 상기 비밀키에 의해 암호화한 해당 해시값과 상기 암호화된 상기 화상 데이터를 상기 외부 장치로 송신하는 상기 (4) 또는 (5)에 기재된 암호키 생성 장치.
(7)
상기 키 생성부는,
상기 광전 난수에 기초하여, 블록체인 시스템에 있어서의 전자 서명용의 비밀키를 생성하는 상기 (1)에 기재된 암호키 생성 장치.
(8)
상기 광전 난수에 기초하여 스마트 컨트랙트 시스템에 있어서의 컨트랙트 검증 작업자의 선출을 행하는 검증자 선출부를 구비하는 상기 (7)에 기재된 암호키 생성 장치.
(9)
상기 광전 난수에 기초하여 DApps에 의한 서비스의 향수자로부터의 대표자의 선출을 행하는 대표자 선출부를 구비하는 상기 (7) 또는 (8)에 기재된 암호키 생성 장치.
(10)
상기 키 생성부는,
상기 광전 변환에 의해 얻어지는 상기 화소마다의 전기 신호의 값을 상기 광전 난수로서 취득하여 상기 비밀키를 생성하는 상기 (1) 내지 (9) 중 어느 하나에 기재된 암호키 생성 장치.
(11)
상기 키 생성부는,
상기 화소마다의 전기 신호의 값 중 적어도 일부를, 해당 전기 신호의 값이 얻어진 화소 위치와는 다른 화소 위치에 할당한 형식에 의한 상기 광전 난수에 기초하여, 상기 비밀키를 생성하는, 상기 (10)에 기재된 암호키 생성 장치.
(12)
상기 광전 난수의 생성 후, 상기 광전 난수의 근원이 된 화상 데이터를 메모리 상으로부터 소거하기 위한 처리를 행하는 소거 처리부를 구비한 상기 (1) 내지 (11) 중 어느 하나에 기재된 암호키 생성 장치.
(13)
암호키 생성 장치 외부로부터의 부정 액세스가 검지된 것에 응답하여 상기 광전 난수를 재생성하기 위한 처리를 행하는 재생성 처리부를 구비한 상기 (1) 내지 (12) 중 어느 하나에 기재된 암호키 생성 장치.
1: 촬상 장치
2: 네트워크
3: 수신 장치
10: 촬상용 센서부
12: 어레이 센서
13: ADC/픽셀 선택기
14: 버퍼
15: 로직부
16: 메모리
17: 인터페이스부
18: 연산부
19, 19A: 진폭 제어 회로
81: 키 프레임 선택부
82: 물체 영역 인식부
83: 클래스 식별부
84: 파라미터 선택부
85: 암호화 제어부
86: 부정 액세스 검지부
21: 화상 프로세서
22: 센서부
23: 제어부
24: 메모리부
25: 통신부
31: CPU
32: ROM
33: RAM
34: 버스
35: 입출력 인터페이스
36: 입력부
37: 출력부
38: 기억부
39: 통신부
40: 바운딩 박스
41: ROI

Claims (14)

  1. 가시광 또는 비가시광의 수광 소자를 갖는 화소가 1차원 또는 2차원으로 복수 배열된 어레이 센서에 의한 광전 변환에 기초하여 얻어지는 난수인 광전 난수(photoelectric random number)에 기초하여, 전자 서명용의 비밀키를 생성하는 키 생성부를 구비한, 암호키 생성 장치.
  2. 제1항에 있어서,
    상기 키 생성부는,
    화상 데이터에 대한 전자 서명용의 비밀키를 생성하는, 암호키 생성 장치.
  3. 제2항에 있어서,
    상기 키 생성부는,
    상기 어레이 센서에서의 촬상에 의해 얻어지는 화상 데이터에 대한 전자 서명용의 비밀키를 생성하는, 암호키 생성 장치.
  4. 제3항에 있어서,
    상기 어레이 센서에서의 촬상에 의해 얻어지는 화상 데이터의 암호화를 행하는 암호화부와,
    상기 암호화부에 의해 암호화된 상기 화상 데이터를 외부 장치로 송신하는 처리를 행하는 송신 처리부를 구비한, 암호키 생성 장치.
  5. 제4항에 있어서,
    상기 암호화부는,
    상기 광전 난수에 기초하여 생성한 암호키에 의해 상기 화상 데이터의 암호화를 행하는, 암호키 생성 장치.
  6. 제4항에 있어서,
    상기 암호화부는,
    상기 화상 데이터의 복호에 사용하는 복호키의 레벨에 따라 복호화 가능한 화상 범위가 다르도록 상기 화상 데이터를 암호화하고,
    상기 송신 처리부는,
    상기 외부 장치가 상기 암호화부에 의해 암호화된 상기 화상 데이터의 송신 요구를 행한 것에 응답하여, 해당 외부 장치가 갖는 상기 복호키와 동일한 레벨의 복호키에 의해 상기 암호화된 상기 화상 데이터를 복호화하고, 복호화한 화상 데이터의 해시값(hash value)을 생성하여, 상기 비밀키에 의해 암호화한 해당 해시값과 상기 암호화된 상기 화상 데이터를 상기 외부 장치로 송신하는, 암호키 생성 장치.
  7. 제1항에 있어서,
    상기 키 생성부는,
    상기 광전 난수에 기초하여, 블록체인 시스템(blockchain system)에 있어서의 전자 서명용의 비밀키를 생성하는, 암호키 생성 장치.
  8. 제7항에 있어서,
    상기 광전 난수에 기초하여 스마트 컨트랙트 시스템(smart contract system)에 있어서의 컨트랙트 검증 작업자의 선출을 행하는 검증자 선출부를 구비하는, 암호키 생성 장치.
  9. 제7항에 있어서,
    상기 광전 난수에 기초하여 DApps에 의한 서비스의 향수자(享受者; recipient)로부터의 대표자의 선출을 행하는 대표자 선출부를 구비하는, 암호키 생성 장치.
  10. 제1항에 있어서,
    상기 키 생성부는,
    상기 광전 변환에 의해 얻어지는 상기 화소마다의 전기 신호의 값을 상기 광전 난수로서 취득하여 상기 비밀키를 생성하는, 암호키 생성 장치.
  11. 제10항에 있어서,
    상기 키 생성부는,
    상기 화소마다의 전기 신호의 값 중 적어도 일부를, 해당 전기 신호의 값이 얻어진 화소 위치와는 다른 화소 위치에 할당한 형식에 의한 상기 광전 난수에 기초하여, 상기 비밀키를 생성하는, 암호키 생성 장치.
  12. 제1항에 있어서,
    상기 광전 난수의 생성 후, 상기 광전 난수의 근원이 된 화상 데이터를 메모리 상으로부터 소거하기 위한 처리를 행하는 소거 처리부를 구비한, 암호키 생성 장치.
  13. 제1항에 있어서,
    암호키 생성 장치 외부로부터의 부정 액세스가 검지된 것에 응답하여 상기 광전 난수를 재생성하기 위한 처리를 행하는 재생성 처리부를 구비한, 암호키 생성 장치.
  14. 정보 처리 장치가, 가시광 또는 비가시광의 수광 소자를 갖는 화소가 1차원 또는 2차원으로 복수 배열된 어레이 센서에 의한 광전 변환에 기초하여 얻어지는 난수인 광전 난수에 기초하여, 전자 서명용의 비밀키를 생성하는, 암호키 생성 방법.
KR1020217040450A 2019-06-19 2020-06-09 암호키 생성 장치 및 암호키 생성 방법 KR20220023992A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019113731 2019-06-19
JPJP-P-2019-113731 2019-06-19
PCT/JP2020/022668 WO2020255793A1 (ja) 2019-06-19 2020-06-09 暗号鍵生成装置、暗号鍵生成方法

Publications (1)

Publication Number Publication Date
KR20220023992A true KR20220023992A (ko) 2022-03-03

Family

ID=74037227

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217040450A KR20220023992A (ko) 2019-06-19 2020-06-09 암호키 생성 장치 및 암호키 생성 방법

Country Status (7)

Country Link
US (1) US20220271930A1 (ko)
EP (1) EP3989206A4 (ko)
JP (1) JPWO2020255793A1 (ko)
KR (1) KR20220023992A (ko)
CN (1) CN113939820A (ko)
TW (1) TWI772820B (ko)
WO (2) WO2020255575A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI806577B (zh) * 2022-04-28 2023-06-21 瑞昱半導體股份有限公司 數位簽章方法及數位簽章的驗證方法
CN116431846B (zh) * 2023-06-14 2023-08-18 泰山学院 一种学生敏感信息存储系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017184198A (ja) 2016-03-31 2017-10-05 ソニー株式会社 イメージセンサ、撮像装置、イメージセンサ特定方法、画像偽造防止方法および画像改変制限方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060036864A1 (en) * 1999-12-28 2006-02-16 Parulski Kenneth A Digital camera with image authentication
JP4226534B2 (ja) * 2004-09-07 2009-02-18 三菱電機インフォメーションシステムズ株式会社 コンテンツ多段暗号化システムおよびコンテンツ多段暗号化プログラム
US7703126B2 (en) * 2006-03-31 2010-04-20 Intel Corporation Hierarchical trust based posture reporting and policy enforcement
US20100084472A1 (en) * 2008-10-02 2010-04-08 Silverbrook Research Pty Ltd Method of distinguishing first coding pattern from second coding pattern
US8615651B1 (en) * 2010-05-17 2013-12-24 Google Inc. Offline shared security key calculation
JP6648555B2 (ja) * 2016-02-29 2020-02-14 富士ゼロックス株式会社 情報処理装置及びプログラム
WO2018043742A1 (ja) * 2016-09-05 2018-03-08 国立大学法人北海道大学 量子暗号鍵出力装置、量子暗号鍵通信システム及び量子暗号鍵出力方法
JP2019020431A (ja) * 2017-07-11 2019-02-07 ソニーセミコンダクタソリューションズ株式会社 固体撮像装置及び情報処理装置
US10418405B2 (en) * 2017-09-05 2019-09-17 Sony Semiconductor Solutions Corporation Sensor chip and electronic apparatus
EP3474485B1 (en) * 2017-10-20 2020-05-27 Secure-IC SAS Key generation from an imaging sensor
EP3769467B1 (en) * 2018-03-23 2024-02-28 nChain Licensing AG Computer-implemented system and method for exchange of data
US20210273795A1 (en) * 2020-02-28 2021-09-02 Seagate Technology Llc Trusted imaging

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017184198A (ja) 2016-03-31 2017-10-05 ソニー株式会社 イメージセンサ、撮像装置、イメージセンサ特定方法、画像偽造防止方法および画像改変制限方法

Also Published As

Publication number Publication date
CN113939820A (zh) 2022-01-14
JPWO2020255793A1 (ko) 2020-12-24
TWI772820B (zh) 2022-08-01
US20220271930A1 (en) 2022-08-25
WO2020255793A1 (ja) 2020-12-24
WO2020255575A1 (ja) 2020-12-24
EP3989206A4 (en) 2022-08-10
EP3989206A1 (en) 2022-04-27
TW202115561A (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
JP3154325B2 (ja) 認証情報を画像に隠し込むシステム及び画像認証システム
Naveh et al. Photoproof: Cryptographic image authentication for any set of permissible transformations
US11563891B2 (en) Image sensor, image pickup apparatus, image sensor-identifying method, image forgery-preventing method, and image alternation-limiting method
WO2020158540A1 (ja) センサ装置、暗号化方法
US20210287322A1 (en) Robust selective image, video, and audio content authentication
US5946396A (en) System and method for ensuring integrity of audio
RU2422901C2 (ru) Устройство обработки информации и способ обработки информации
US20230074748A1 (en) Digital forensic image verification system
TWI772820B (zh) 密碼鍵產生裝置、密碼鍵產生方法
WO2021039953A1 (ja) 情報処理装置、情報処理方法、及び、プログラム
US8396288B2 (en) Information processing apparatus and information processing method for image verification
JP2000324334A (ja) 画像処理装置、方法及びシステム、並びに撮像装置、撮像方法、コンピュータ読み取り可能な記憶媒体
US11409890B2 (en) Video recording apparatus and video recording verification system, and video recording method and video verification method
WO2020158539A1 (ja) 暗号化装置、暗号化方法
WO2021084944A1 (ja) 情報処理システム、情報処理方法、撮像装置、情報処理装置
KR101809086B1 (ko) 실시간 이미지 워터마킹 기술을 이용한 디지털 콘텐츠 제공 및 인증 시스템
TWI826638B (zh) 感測器裝置、密碼化方法
KR100405775B1 (ko) 디지털 카메라
CN117917086A (zh) 检查设备的位置
KR20220160583A (ko) 촬상 장치, 정보 처리 장치, 정보 처리 방법, 및 프로그램
JP2004048285A (ja) 改ざん位置検出方法、改ざん位置検出プログラム及びそのプログラムを記録した記録媒体