KR20200014228A - 통신 장치 및 제어 방법 - Google Patents

통신 장치 및 제어 방법 Download PDF

Info

Publication number
KR20200014228A
KR20200014228A KR1020190092140A KR20190092140A KR20200014228A KR 20200014228 A KR20200014228 A KR 20200014228A KR 1020190092140 A KR1020190092140 A KR 1020190092140A KR 20190092140 A KR20190092140 A KR 20190092140A KR 20200014228 A KR20200014228 A KR 20200014228A
Authority
KR
South Korea
Prior art keywords
data
communication
size
connection
communication unit
Prior art date
Application number
KR1020190092140A
Other languages
English (en)
Other versions
KR102493663B1 (ko
Inventor
에이지 가도타
Original Assignee
캐논 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20200014228A publication Critical patent/KR20200014228A/ko
Application granted granted Critical
Publication of KR102493663B1 publication Critical patent/KR102493663B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00236Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1292Mobile client, e.g. wireless printing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00209Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
    • H04N1/00222Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of image data generation or reproduction, e.g. scan-to-email or network printing
    • H04N1/00233Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of image data generation or reproduction, e.g. scan-to-email or network printing details of image data reproduction, e.g. network printing or remote image display
    • H04W12/001
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/009Security arrangements; Authentication; Protecting privacy or anonymity specially adapted for networks, e.g. wireless sensor networks, ad-hoc networks, RFID networks or cloud networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/20Manipulating the length of blocks of bits, e.g. padding or block truncation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

다른 장치로부터의 액세스가 허용되는 미리 결정된 사이즈의 제1 저장 영역 및 다른 장치로부터의 액세스가 허용되는 미리 결정된 사이즈의 제2 저장 영역을 포함하는 메모리를 갖는 통신 기능을 포함하는, 그리고 다른 장치에 의해 판독되고 암호화되어야 하는 복수의 데이터를 블록 암호화 방식을 사용하여 암호화함으로써 연결 암호화 데이터를 생성하는 통신 장치가 제공된다. 상기 연결 암호화 데이터와는 상이한 데이터가 상기 제2 저장 영역에 보유지지되고, 상기 연결 암호화 데이터는 상기 미리 결정된 사이즈를 초과하지 않는 사이즈를 갖고 상기 제1 저장 영역에 보유지지되고, 상기 연결 암호화 데이터에 포함되는 패딩 데이터의 사이즈는 상기 복수의 데이터를 개별적으로 암호화함으로써 생성되는 패딩 데이터의 총 사이즈보다 작다.

Description

통신 장치 및 제어 방법{COMMUNICATION APPARATUS AND CONTROL METHOD}
본 발명은 블록 암호화 방식을 사용하여 데이터를 암호화하기 위한 기술에 관한 것이다.
최근, Bluetooth®를 사용하여 근거리 무선 통신 기능을 갖는 전자 디바이스들이 보급되고 있다. 예를 들어, 일부 경우에, 스마트폰과 같은 정보 처리 장치와 프린터와 같은 통신 장치 사이의 통신을 위해 Bluetooth가 사용된다. 일본 특허 공개 제2016-150484호는 Bluetooth에 의한 근거리 무선 통신이 수행되는 경우에, 전자 디바이스가 그의 통신 상대와 페어링을 수행하는 것을 개시하고 있다.
최근, 무선 통신 보안의 개선과 함께, 더 편리한 암호화 처리가 요구되고 있다.
본 발명은 매우 편리한 암호화 처리에 관한 기술을 제공한다.
본 발명의 일 양태에 따르면, 통신 장치가 제공되는데, 이는: 다른 장치로부터의 액세스가 허용되는 미리 결정된 사이즈의 제1 저장 영역 및 다른 장치로부터의 액세스가 허용되는 상기 미리 결정된 사이즈의 제2 저장 영역을 포함하는 메모리를 포함하는 통신 유닛; 상기 다른 장치에 의해 판독되고 암호화되어야 하는 복수의 데이터를 블록 암호화 방식을 사용하여 암호화함으로써 연결 암호화 데이터(concatenated encrypted data)를 생성하도록 구성된 암호화 유닛을 포함하고, 상기 연결 암호화 데이터와는 상이한 데이터가 상기 제2 저장 영역에 보유지지되고, 상기 암호화 유닛에 의해 생성된 상기 연결 암호화 데이터는 상기 미리 결정된 사이즈를 초과하지 않는 사이즈를 갖고 상기 제1 저장 영역에 보유지지되고, 상기 연결 암호화 데이터에 포함되는 패딩 데이터의 사이즈는 상기 복수의 데이터를 개별적으로 암호화함으로써 생성되는 패딩 데이터의 총 사이즈보다 작다.
본 발명의 다른 양태에 따르면, 통신 장치가 제공되는데, 이는: 다른 장치로부터의 액세스가 허용되는 미리 결정된 사이즈의 저장 영역을 포함하고 Bluetooth Low Energy(BLE) 규격에 준거하여 통신을 수행하도록 구성된 통신 유닛; 상기 다른 장치에 의해 판독되고 암호화되어야 하는 복수의 데이터를 블록 암호화 방식을 사용하여 암호화함으로써 연결 암호화 데이터를 생성하도록 구성된 암호화 유닛을 포함하고, 상기 암호화 유닛에 의해 생성된 상기 연결 암호화 데이터는 상기 미리 결정된 사이즈를 초과하지 않는 사이즈를 갖고 상기 저장 영역에 보유지지되고, 상기 연결 암호화 데이터에 포함되는 패딩 데이터의 사이즈는 상기 복수의 데이터를 개별적으로 암호화함으로써 생성되는 패딩 데이터의 총 사이즈보다 작다.
본 발명의 추가적인 특징들은 (첨부된 도면들을 참조하여) 예시적인 실시예들의 다음의 설명으로부터 명백해질 것이다.
본 명세서에 포함되어 그 일부를 구성하는 첨부 도면들은 본 발명의 실시예들을 예시하고, 설명과 함께, 본 발명의 원리들을 설명하는 데 도움이 된다.
도 1은 통신 시스템에서의 장치들의 구성을 보여주는 블록도이다.
도 2는 근거리 무선 통신 유닛의 구성의 예를 보여주는 블록도이다.
도 3은 GATT 데이터 형식을 보여주는 도이다.
도 4는 키 시드를 생성하고 저장하기 위한 처리의 절차의 예를 보여주는 흐름도이다.
도 5는 캐릭터리스틱(characteristic)에 암호화 데이터를 기입하기 위한 처리의 절차의 예를 보여주는 흐름도이다.
도 6은 GATT 데이터의 예를 보여주는 표이다.
도 7은 암호화 데이터를 생성하기 위한 처리를 개략적으로 설명하기 위한 도이다.
도 8은 키 시드의 공개/비공개를 설정하기 위한 처리의 절차의 예를 보여주는 흐름도이다.
도 9는 프린터 등록 처리의 절차의 예를 보여주는 흐름도이다.
도 10은 BLE를 통해 정보를 취득하기 위한 처리의 예를 보여주는 흐름도이다.
도 11은 연결 암호화 데이터를 복호하기 위한 처리를 개략적으로 설명하기 위한 도이다.
도 12는 GATT 데이터의 다른 예를 보여주는 표이다.
도 13은 암호화 데이터를 생성하기 위한 처리를 개략적으로 설명하기 위한 도이다.
도 14는 연결 암호화 데이터를 복호하기 위한 처리를 개략적으로 설명하기 위한 도이다.
이제, 본 발명의 예시적인 실시예(들)에 대하여 도면을 참조하여 상세하게 설명한다. 이들 실시예에서 설명된 구성 요소들의 상대적인 구성, 숫자 표현들 및 숫자 값들은 그것이 달리 구체적으로 언급되지 않는 한 본 발명의 범위를 제한하지 않는다는 점에 유의해야 한다.
(통신 시스템의 구성)
도 1은 본 실시예에 따른 통신 시스템 및 시스템 내의 장치들의 구성의 예를 보여준다. 통신 시스템은, 예를 들어, 정보 처리 장치(101), 액세스 포인트(131), 및 통신 장치(151)에 의해 형성된다. 정보 처리 장치(101)는, 예를 들어, 스마트폰, 휴대 단말, 노트북 PC(퍼스널 컴퓨터), 태블릿 단말, PDA(personal digital assistant), 디지털 카메라 등과 같은 임의의 정보 처리 장치이다. 이하에서는 정보 처리 장치(101)가 스마트폰이라고 가정한다. 또한, 통신 장치(151)는, 예를 들어, 프린터이지만, 정보 처리 장치(101)와 무선 통신을 실행할 수 있는 한 임의의 전자 디바이스일 수도 있다. 통신 장치(151)는, 예를 들어, 복사기, 팩시밀리 디바이스, 휴대 단말, 스마트폰, 노트북 PC, 태블릿 단말, PDA, 디지털 카메라, 음악 재생 디바이스, 텔레비전, 스마트 스피커 등일 수 있다. 통신 장치(151)는 복사 기능, FAX 기능, 인쇄 기능 등과 같은 복수의 기능을 갖는 MFP(multi-function printer)일 수도 있다. 이하에서는 통신 장치(151)가 잉크젯 프린터, 풀-컬러 레이저 빔 프린터, 흑백 프린터 등과 같은 프린터일 것이라고 가정한다.
정보 처리 장치(101)는, 일 예에서, 입력 인터페이스(102), CPU(103), ROM(104), RAM(105), 외부 저장 디바이스(106), 출력 인터페이스(107), 통신 유닛(109), 근거리 무선 통신 유닛(110) 및 촬영 디바이스(111)를 포함한다. 이들 블록은, 예를 들어, 내부 버스에 의해 서로 접속된다는 점에 유의한다. CPU, ROM, 및 RAM은 각각 central processing unit, read-only memory, 및 random access memory에 대한 두문자어들이다. 또한, 도 1의 정보 처리 장치(101)의 외부에 표시 유닛(108)(외부 표시 디바이스)이 존재하는 것처럼 예시되어 있지만, 표시 유닛(108)은 정보 처리 장치(101)에 내장된 디스플레이 등과 같은 정보 제시 디바이스일 수 있다. 이들 블록의 구성은 예에 불과하고, 도 1에 도시한 것들 이외의 블록들이 정보 처리 장치(101)에 포함될 수 있다는 점에 유의한다. 또한, 도 1의 복수의 블록이 단일 블록으로 통합될 수 있거나 단일 블록이 2개 이상의 블록으로 분할될 수 있다. 즉, 정보 처리 장치(101)는, 후술되는 처리가 실행될 수 있는 범위 내에서 임의의 구성을 가질 수 있다.
CPU(103)는 시스템 제어 유닛이고, 정보 처리 장치(101) 전체를 제어한다. ROM(104)은 CPU(103)에 의해 실행되는 제어 프로그램, 데이터 테이블, 임베디드 OS(operating system) 프로그램 등과 같은 영구 데이터를 저장한다. 본 실시예에서, ROM(104)에 저장된 각각의 제어 프로그램은 ROM(104)에 저장된 임베디드 OS의 관리 하에서 스케줄링, 작업 스위칭, 인터럽트 처리 등과 같은 소프트웨어 실행 제어를 수행하는 데 사용된다. RAM(105)은, 예를 들어, 백업 전원을 필요로 하는 SRAM(static RAM)으로 형성된다. 데이터는 데이터 백업을 위한 1차 배터리(도시되지 않음)에 의해 보유지지되므로, RAM(105)은 프로그램 제어 변수 등과 같은 데이터를 휘발시키지 않고 저장할 수 있다는 점에 유의한다. 정보 처리 장치(101)의 설정 정보, 정보 처리 장치(101)의 관리 데이터 등을 저장하는 메모리 영역도 RAM(105)에 배치된다. RAM(105)은 또한 CPU(103)의 주 메모리 및 워크 메모리로도 사용된다. 외부 저장 디바이스(106)는 인쇄 실행 기능을 제공하는 애플리케이션을 저장한다. 외부 저장 디바이스(106)는 또한 통신 장치(151)에 의해 해석 가능한 인쇄 정보를 생성하는 인쇄 정보 생성 프로그램, 통신 유닛(109)을 통해 접속되는 통신 장치(151)와 정보를 교환하는 정보 송수신 제어 프로그램 등과 같은 다양한 종류의 프로그램을 저장한다. 이들 프로그램에 의해 사용되는 다양한 종류의 정보 및 통신 유닛을 통해 다른 정보 처리 장치들 또는 인터넷으로부터 취득된 이미지 데이터는 외부 저장 디바이스(106)에 저장될 수 있다.
입력 인터페이스(102)는 사용자로부터 데이터 입력 및 동작 지시를 접수하기 위한 인터페이스이고, 물리적 키보드, 버튼 등으로 형성된다. 출력 인터페이스(107)는, 표시 유닛(108)이 데이터를 표시하고 정보 처리 장치(101)의 상태의 통지를 수행하게 하는 제어를 수행하는 인터페이스이다. 표시 유닛(108)은, LED(light emitting diode), LCD(liquid crystal display) 등으로 형성되고, 데이터를 표시하고, 정보 처리 장치(101)의 상태의 사용자 통지 처리를 수행한다. 사용자로부터의 조작을 접수하기 위한 입력 인터페이스(102) 및 화면 출력을 위해, 후술되는, 출력 인터페이스(107)(및 표시 유닛(108))는 터치 패널과 같은 단일 디바이스에 의해 구현될 수 있다는 점에 유의한다. 예를 들어, 표시 유닛(108)에 숫자 값 입력 키, 모드 설정 키, 엔터 키, 취소 키, 및 전원 키와 같은 키들을 포함하는 소프트웨어 키보드가 표시될 수 있고, 그에 따라 사용자로부터의 입력이 표시 유닛(108)을 통해 접수될 수 있다. 출력 인터페이스(107)는 출력 유닛(도시되지 않음)이 사운드 출력 및 진동 출력에 의해 정보를 제시하게 하는 제어를 수행할 수 있다는 점에 유의한다.
통신 유닛(109)은 미리 결정된 무선 통신 방식에 따라 통신을 수행하기 위한 회로 및 안테나로 형성되고, 동일한 무선 통신 방식에 따라 통신을 수행할 수 있는 통신 장치(151)와 같은 다른 장치에 접속하여, 데이터 통신을 실행한다. 예를 들어, 통신 유닛(109)은 무선 LAN 단말의 기능을 갖고, 통신 장치(151)의 통신 유닛(156)이 액세스 포인트로서 기능하는 경우에, 통신 유닛은 액세스 포인트에 무선으로 접속할 수 있다. 통신 유닛(109)과 통신 유닛(156) 사이의 접속의 확립은 정보 처리 장치(101)와 통신 장치(151)가 서로 통신하는 것을 가능하게 한다. 통신 유닛(109)이 액세스 포인트로서 동작하는 경우, 통신 장치(151)가 단말로서 동작하게 함으로써 접속을 확립하는 것이 가능하다는 점에 유의한다. 또한, 정보 처리 장치(101)와 통신 장치(151) 둘 다가 단말로서 동작하게 함으로써 단말 간 통신의 실행도 가능하다. 통신 유닛(109) 및 통신 유닛(156)은 각각 액세스 포인트 또는 단말로서의 역할을 하는 하드웨어를 포함하여 각각의 기능을 영구적으로 실행하도록 형성될 수도 있고 또는 이들 기능 사이에서 동적으로 스위칭하는 소프트웨어 능력을 가질 수도 있다는 점에 유의한다. 예를 들어, 통신 유닛(156)은 액세스 포인트로서 동작할 수 있지만, 통신 유닛이 액세스 포인트와 같은 기능을 실행할 수 있는 것으로 충분하다. 즉, 통신 유닛(156)은 네트워크를 구축하고 네트워크에서 사용되는 채널을 결정하는 기능을 갖는 것으로 충분하다. 액세스 포인트와 같은 기능을 실행하는 장치는 마스터 스테이션이라고 지칭될 수 있다는 점에 유의한다. 한편, 마스터 스테이션에 의해 생성된 네트워크에 참여하는 장치는 슬레이브 스테이션이라고 지칭될 수 있다. 또한, 통신 유닛(109) 및 통신 유닛(156) 둘 다 단말로서 동작하고, 예를 들어, 액세스 포인트(131)를 통해 서로 접속할 수 있다. 예를 들어, 액세스 포인트(131)는 무선 LAN 라우터와 같은 디바이스이고 네트워크를 구축하고 네트워크에서 사용되는 채널을 결정하는 디바이스라는 점에 유의한다. 통신 유닛(109) 및 통신 유닛(156)은 각각 IEEE802.11 규격 시리즈에 준거하여 무선 LAN에 의한 무선 통신 방식에 따라 동작하는 능력을 갖거나 다른 무선 통신 방식에 따라 동작하는 능력을 가질 수 있다. 예를 들어, 통신 유닛(109) 및 통신 유닛(156)은 각각, 예를 들어, Bluetooth®와 같은 규격(일 예에서 버전 3.0 이전)에 준거하여 동작하는 능력을 가질 수 있다.
근거리 무선 통신 유닛(110)은, 정보 처리 장치(101)를 미리 결정된 근거리 범위 내에 존재하는 통신 장치(151)와 같은 다른 장치에 무선으로 접속함으로써 데이터 통신을 실행하기 위한 회로 및 안테나를 포함하는 디바이스이다. 근거리 무선 통신 유닛(110)은 통신 유닛(109)과 상이한 무선 통신 방식에 의해 통신을 수행한다는 점에 유의한다. 근거리 무선 통신 유닛(110)은 동일한 무선 통신 방식에 따라 동작하는 통신 장치(151)의 근거리 무선 통신 유닛(157)에 접속할 수 있다. 본 실시예에서, 근거리 무선 통신 유닛(110) 및 근거리 무선 통신 유닛(157)은 Bluetooth Low Energy(BLE) 규격에 준거하여 동작한다고 가정한다. 디바이스에 고유한 식별 정보인 BD 어드레스(Bluetooth device address)가 각각의 Bluetooth 디바이스의 통신 모듈에 할당된다는 점에 유의한다.
촬영 디바이스(111)는 이미지 센서에 의해 촬영된 이미지를 디지털 데이터로 변환하는 디바이스이다. 디지털 데이터는 일단 RAM(105)에 저장되고, 그 후 CPU(103)에 의해 실행되는 프로그램에 기초하여 미리 결정된 이미지 형식으로 변환되고, 이미지 데이터로서 외부 저장 디바이스(106)에 저장된다.
통신 장치(151)는, 일 예에서, ROM(152), RAM(153), CPU(154), 프린트 엔진(155), 통신 유닛(156), 근거리 무선 통신 유닛(157), 입력 인터페이스(158), 출력 인터페이스(159), 및 비휘발성 메모리(161)를 포함한다. 이들 블록은, 예를 들어, 내부 버스를 사용하여 서로 접속된다는 점에 유의한다. 도 1의 통신 장치(151) 외부에 표시 유닛(160)(외부 표시 디바이스)이 존재하는 것으로 예시되어 있지만, 표시 유닛(160)은 통신 장치(151)에 내장된 디스플레이일 수 있다. 이들 블록의 구성은 예에 불과하고, 통신 장치(151)는 도 1에 도시한 것 이외의 블록들을 포함할 수 있다는 점에 유의한다. 도 1에 도시된 복수의 블록이 단일 블록으로 통합될 수 있거나 단일 블록이 2개 이상의 블록으로 분할될 수 있다. 즉, 통신 장치(151)는 후술되는 처리가 실행될 수 있는 범위 내에서 임의의 구성을 가질 수 있다.
CPU(154)는 시스템 제어 유닛이고 통신 장치(151) 전체를 제어한다. RAM(153)은, 예를 들어, RAM(105)과 동일한 방식으로 백업 전원을 필요로 하는 DRAM(Dynamic RAM)으로 형성된다. RAM(153)은 또한 CPU(154)의 주 메모리 및 워크 메모리로서 사용되고, 정보 처리 장치(101)로부터 수신된 인쇄 정보를 일시적으로 보존하기 위한 수신 버퍼로서 사용될 수 있고, 다양한 종류의 정보를 보존할 때 사용될 수 있다. 백업 전원을 공급함으로써 RAM(153)에 데이터가 보유지지되므로, 프로그램 제어 변수 등과 같은 중요한 데이터를 휘발시키지 않고 저장할 수 있다. ROM(152)은 CPU(154)에 의해 실행되는 제어 프로그램 및 데이터 테이블, OS 프로그램 등과 같은 영구 데이터를 저장한다. 본 실시예에서, ROM(152)에 저장된 각각의 제어 프로그램은 ROM(152)에 저장된 임베디드 OS의 관리 하에서 스케줄링, 작업 스위칭, 인터럽트 처리 등과 같은 소프트웨어 실행 제어를 수행하는 데 사용된다. 통신 장치(151)의 설정 정보, 통신 장치(151)의 관리 데이터 등과 같이, 전원 공급이 수행되지 않을 때에도 보유지지될 필요가 있는 데이터를 저장하는 메모리 영역도 ROM(152)에 배치될 수 있다.
통신 유닛(156)은 전술한 통신 유닛(109)과 동일한 기능들을 갖고, 액세스 포인트(131)를 통한 직접 통신 또는 간접 통신에 의해 통신 유닛(109)과 통신할 수 있다. 근거리 무선 통신 유닛(157)은 정보 처리 장치(101)의 근거리 무선 통신 유닛(110)과 동일한 무선 통신 방식(본 실시예에서는 BLE 규격에 준거하는 통신 방식)을 사용하여 근거리 무선 통신 유닛(110)과의 근거리 무선 통신을 수행할 수 있는 디바이스이다.
프린트 엔진(155)은 RAM(153)에 저장된 정보 또는 정보 처리 장치(101)로부터 수신된 인쇄 잡(print job)에 기초하여, 잉크와 같은 인쇄 에이전트를 사용하여 종이와 같은 인쇄 매체 상의 이미지 형성을 수행하고, 인쇄 결과를 출력한다. 따라서, 통신 장치(151)는 인쇄 제어를 실행할 수도 있다. 이때, 정보 처리 장치(101)로부터 송신되는 인쇄 잡은 송신되는 데이터의 양이 크고 고속 통신을 요구하므로, 그것은 근거리 무선 통신 유닛(157) 보다 고속으로 통신할 수 있는 통신 유닛(156)을 통해 수신될 수 있다.
입력 인터페이스(158)는 사용자로부터 데이터 입력 및 동작 지시를 접수하기 위한 인터페이스이고, 물리적 키보드, 버튼, 터치 패널 등으로 형성된다. 출력 인터페이스(159)는, 표시 유닛(160)이 데이터를 표시하고 통신 장치(151)의 상태의 통지를 수행하게 하는 제어를 수행하는 인터페이스이다. 표시 유닛(160)은, LED(light emitting diode), LCD(liquid crystal display) 등으로 형성되고, 데이터를 표시하고, 통신 장치(151)의 상태를 사용자에 통지한다. 사용자로부터의 조작을 접수하기 위한 입력 인터페이스(158) 및 화면 출력을 위해, 후술되는, 출력 인터페이스(159)(및 표시 유닛(160))는 터치 패널과 같은 단일 디바이스에 의해 구현될 수 있다는 점에 유의한다. 예를 들어, 표시 유닛(160)에 숫자 값 입력 키, 모드 설정 키, 엔터 키, 취소 키, 및 전원 키와 같은 키들을 포함하는 소프트웨어 키보드가 표시될 수 있고, 그에 따라 사용자로부터의 입력이 표시 유닛(160)을 통해 접수될 수 있다. 출력 인터페이스(159)는 출력 유닛(도시되지 않음)이 사운드 출력 및 진동 출력에 의해 정보를 제시하게 하는 제어를 수행할 수 있다는 점에 유의한다.
비휘발성 메모리(161)는 EEPROM(electrically erasable programmable read-only memory), 플래시 메모리 등과 같은 디바이스에 의해 형성된다. 비휘발성 메모리(161)는 통신 장치(151)의 설정 값 등과 같이, 통신 장치(151)에 전원이 공급되지 않는 동안에도, 보유지지될 필요가 있는 데이터를 저장하는 데 사용된다.
외부 HDD 또는 SD 카드와 같은 메모리가 옵션 디바이스로서 통신 장치(151)에 장착될 수 있고, 통신 장치(151)에 보존된 정보는 이 메모리에 보존될 수 있다는 점에 유의한다. 여기서는, 정보 처리 장치(101)와 통신 장치(151) 사이의 처리 분담의 예가 전술되었지만, 처리 분담의 형태는 특히 이에 한정되지 않고, 다른 형태의 처리 분담이 사용될 수도 있다.
근거리 무선 통신 유닛(157)의 상세에 대하여 도 2를 참조하여 설명한다. 근거리 무선 통신 유닛(157)은 정보 처리 장치(101)와 같은 장치와의 근거리 무선 통신을 수행하기 위한 구성을 포함한다. 본 실시예에서, 근거리 무선 통신 유닛(157)은 전술한 바와 같이 BLE 규격에 준거하여 무선 통신 방식에 의해 통신한다. 근거리 무선 통신 유닛(157) 및 CPU(154)는 I2C(Inter-Integrated Circuit)와 같은 버스 인터페이스를 통해 서로 통신할 수 있고, CPU(154)는, 예를 들어, 근거리 무선 통신 유닛(157) 내부의 저장 영역에 액세스할 수 있다는 점에 유의한다. 예를 들어, 근거리 무선 통신 유닛(157) 내부에 CPU(201), 저장 영역(202), ROM(203), 및 RAM(204)이 포함된다. CPU(201)는 근거리 무선 통신 유닛(157) 전체를 제어한다. ROM(203)은 CPU(201)에 의해 실행되는 제어 프로그램 및 데이터 테이블, OS 프로그램 등과 같은 영구 데이터를 저장한다. RAM(204)은, 예를 들어, 백업 전원을 필요로 하는 DRAM으로 형성되고, 프로그램 제어 변수들과 같은 중요한 데이터를 휘발시키지 않고 저장하는 능력을 갖고 있다. RAM(204)은 또한 CPU(201)의 주 메모리 및 워크 메모리로도 사용될 수 있다. 저장 영역(202)은 근거리 무선 통신 유닛(110)을 통해 CPU(154) 또는 정보 처리 장치(101)로부터 액세스 가능한 정보를 저장할 수 있는 영역이다. 저장 영역(202)은 정보를 저장할 수 있는 임의의 디바이스로 형성되고, 예를 들어, RAM(204)의 일부로서 형성될 수 있거나, 예를 들어, ROM(203) 및 RAM(204)과는 별도의 비휘발성 메모리에 의해 형성될 수 있다는 점에 유의한다. 통신 유닛(156) 및 근거리 무선 통신 유닛(157)은 상이한 칩 상에서 개별적으로 동작하거나 단일 칩 상에서 함께 동작할 수 있다는 점에 유의한다.
(GATT 통신의 개요)
다음으로, BLE 규격의 GATT(Generic Attribute Profile)에 의한 통신의 개요에 대하여 설명한다. GATT는 데이터의 전송 소스와 전송 목적지에 기초하여 GATT 클라이언트와 GATT 서버의 2개의 역할을 정의한다. GATT 클라이언트의 역할은 GATT 서버에 요구를 송신하고 GATT 서버로부터 응답을 수신하는 것이다. GATT 서버의 역할은 GATT 클라이언트로부터 요구를 수신하면 응답을 반환하는 것이다. 본 실시예에서는, 정보 처리 장치(101)가 GATT 클라이언트이고 통신 장치(151)가 GATT 서버라고 가정한다. 즉, 정보 처리 장치(101)는 통신 장치(151)의 통신 상대 장치이다. GATT 서버는 데이터 또는 상태 정보를 저장하는 디바이스라는 점에 유의한다. GATT 클라이언트는 GATT 서버에 대해 데이터 판독 및 기입을 실행할 수 있다.
GATT 데이터베이스는 서비스, 캐릭터리스틱, 및 디스크립터라고 불리는 3개의 요소에 의해 형성된다. GATT 데이터베이스는 저장 영역(202)에 보유지지된다는 점에 유의한다. 도 3은 이들 3개의 요소의 관계를 보여준다. 서비스는 적어도 하나 이상의 캐릭터리스틱을 포함하고, 캐릭터리스틱은 디스크립터를 포함한다. 이들 중에서, 캐릭터리스틱이 사용자 데이터를 보유지지하기 위해 사용되고, 복수의 캐릭터리스틱을 사용하여 별개의 정보가 보유지지될 수 있다. 디스크립터는 필요에 따라 캐릭터리스틱의 부가 정보를 보유지지한다. 디스크립터는 존재하지 않아도 된다는 점에 유의한다. 캐릭터리스틱에 저장될 수 있는 데이터의 사이즈는 미리 결정된다는 점에 유의한다.
서비스, 캐릭터리스틱, 및 디스크립터 각각은 이들 요소 각각에 할당된 UUID(universally unique identifier)에 의해 식별될 수 있다. UUID는, 예를 들어, "550e8400-e29b-41d4-a716-446655440000"의 방식으로 표현되는 32-디지트 16 진수(128 비트)이다. UUID는 소프트웨어 내의 오브젝트를 고유하게 식별하기 위한 식별자로서 사용된다. Bluetooth SIG(Special Interest Group) 규격에 의해 정의된 값은 4-디지트 값으로 표현된다는 점에 유의한다.
서비스, 캐릭터리스틱, 및 디스크립터는 각각 GATT 클라이언트에 대해 판독/기입 속성 및 보안 속성을 설정할 수 있다. GATT 클라이언트는 각각의 서비스 및 각각의 캐릭터리스틱에 대응하는 UUID를 지정하여 각각의 캐릭터리스틱에 의해 보유지지된 값을 판독/기입할 수 있다. 그러나, 판독/기입 동작이 실행될 수 있는지는 각각의 서비스 및 각각의 캐릭터리스틱에 설정된 판독/기입 속성에 의해 결정된다.
(처리의 절차)
예를 들어, Bluetooth 통신 디바이스에 장착된 메모리의 용량은 작은 경향이 있다. 따라서, Bluetooth 통신 디바이스들은 소량의 정보를 저장하도록 형성되는 경향이 있다. 대조적으로, Bluetooth 통신 디바이스의 메모리에 저장되는 복수의 정보 각각이 AES(Advanced Encryption Standard)와 같은 블록 암호에 의해 개별적으로 암호화될 때, 각각의 정보에 패딩 데이터가 삽입될 수 있다. 따라서, 일부 경우에 암호화-대상 데이터 양에 대하여 패딩 데이터의 양이 증가할 수 있고, Bluetooth 디바이스에 장착된 메모리의 용량이 불필요하게 소비될 수 있다. 이하에서는 이 점을 고려하여 실행되는 처리에 대하여 설명한다.
다음으로, 통신 시스템에서 실행되는 처리의 절차의 예에 대하여 설명한다. 이 통신 시스템에서는, 통신 장치(151)로부터 정보 처리 장치(101)로 근거리 무선 통신 유닛(157)을 통해 암호화 데이터가 송신된다. 이 경우에 송신되는 데이터는, 예를 들어, 통신 유닛(109)이 액세스 포인트(131) 및 통신 유닛(156)에 접속하기 위해 사용되는 통신 파라미터 데이터일 수 있다. 본 실시예에서, 통신 장치(151)는 송신-대상 데이터를 암호화한 후에, 근거리 무선 통신 유닛(157)의 저장 영역(202)에 송신-대상 데이터를 기입한다. 정보 처리 장치(101)는 이 암호화 데이터를 판독하고 암호화 데이터를 복호함으로써 필요한 데이터를 취득할 수 있다.
먼저 통신 장치 (151)가 키 시드를 생성하여 저장하는 처리에 대하여 도 4를 참조하여 설명한다. 이 처리에서, 통신 장치(151)는 먼저 키 시드 생성이 필요한지 여부를 판정한다(스텝 S401). 이 판정은, 예를 들어, 통신 장치(151)가 비휘발성 메모리(161)의 키 시드 저장 영역에 유효 키 시드 값이 저장되어 있는지 여부를 확인하게 하는 것에 의해 수행된다. 통신 장치(151)는 비휘발성 메모리(161)에 유효 키 시드 값이 저장되어 있지 않은 경우에 키 시드 생성이 필요하다고 판정할 것이다. 또한, 이 판정은, 예를 들어, 통신 장치(151)의 기동시에 실행될 수 있지만, 그것은 이 이외의 타이밍에서 실행될 수도 있다. 키 시드는 암호 키를 생성하는 데 사용되는 값이라는 점에 유의한다. 또한, 암호 키는 데이터를 암호화하기 위해 사용되는 값이고, 암호 키는 본 실시예에서 키 시드를 사용하여 계산된다. 키 시드로부터 암호 키를 계산하기 위한 알고리즘은, 예를 들어, 해시 함수를 사용하는 알고리즘일 수 있다. 해시 함수는 출력 값이 대응하는 입력 값에 고유하게 되는 함수이고, 출력의 중복이 적어지도록 설계된 함수이다. 입력 값에 고유한 출력 값을 취득할 수 있는 산출 방법을 사용하여 암호 키가 생성될 수 있는 경우에만 다른 알고리즘이 사용될 수 있다는 점에 유의한다. 또한, 키 시드와 무효 값 사이의 구별이 가능하도록 키 시드가 생성된다. 예를 들어, 키 시드의 값이 "0"을 나타내는 경우에 키 시드가 무효 값으로서 취급되도록 설정될 수 있고, 키 시드가 생성되는 경우에는 이러한 종류의 무효 값이 생성되지 않도록 하는 제어가 수행될 수 있다.
키 시드 생성이 필요하다고 판정되면(스텝 S401에서 "예"), 통신 장치(151)는 키 시드 생성 처리를 실행한다(스텝 S402). 무효 값이 생성되지 않는 한, 각각의 생성 처리에서 키 시드로서 동일한 값이 생성될 수 있거나, 키 시드로서 랜덤 값이 생성될 수 있다. 통신 장치(151)는 생성된 키 시드를 비휘발성 메모리(161)에 저장한다(스텝 S402). 한편, 키 시드 생성이 필요하지 않다고 판정되면(스텝 S401에서 "아니오"), 통신 장치(151)는 키 시드를 생성하지 않고 도 4의 처리를 종료할 것이다. 키 시드 생성이 필요하지 않다고 판정되는 경우에도, 통신 장치(151)는, 예를 들어, 키 시드의 재생성을 지시하는 사용자 조작을 접수하는 경우 등에는 키 시드를 생성할 수 있다는 점에 유의한다.
다음으로, 통신 장치(151)가 RAM(153) 또는 비휘발성 메모리(161)에 저장된 설정 값을 암호화하고 암호화된 설정 값을 근거리 무선 통신 유닛(157)에 기입할 때에 수행되는 처리에 대하여 도 5를 참조하여 설명한다. 이 처리에서, 먼저, 통신 장치(151)는 근거리 무선 통신 유닛(157) 내의 캐릭터리스틱이 갱신될 필요가 있는지 여부를 판정한다(스텝 S501). 예를 들어, 통신 장치(151)는 RAM(153) 또는 비휘발성 메모리(161)에 저장된 설정 값이 갱신된 경우에 캐릭터리스틱이 갱신될 필요가 있다고 판정할 것이다. 설정 값의 갱신은, 예를 들어, 통신 장치(151)의 표시 유닛(160)을 통해 입력된 사용자 지시에 의해 수행된다는 점에 유의한다. 본 실시예에서, SSID 및 패스워드는 예로서 후술되는 방식으로 암호화된다. 따라서, 예를 들어, 사용자가, 통신 장치(151)의 표시 유닛(160)을 통해, 통신 유닛(156)에 의해 구축된 네트워크의 SSID 및 패스워드 중 적어도 하나를 변경한 경우에, 통신 장치(151)는 스텝 S501에서 "예"라고 판정할 것이다. 또한, 사용자가, 통신 장치(151)의 표시 유닛(160)을 통해, 통신 유닛(156)에 의해 사용되는 외부 액세스 포인트를 변경한 경우에, 인프라스트럭처 접속에 사용되는 SSID 등이 변경될 것이다. 따라서, 통신 장치(151)는 스텝 S501에서 "예"라고 판정할 것이다. 또한, 통신 장치(151)는 자기 장치의 기동시에 근거리 무선 통신 유닛(157)의 캐릭터리스틱을 초기화할 수 있고, 설정 값에 상관없이 캐릭터리스틱의 값을 갱신할 수 있다.
통신 장치(151)의 근거리 무선 통신 유닛(157)에서 GATT 서버로서 포함되는 데이터베이스의 구조의 예에 대하여 도 6을 참조하여 설명한다. 벤더의 고유 서비스 명칭 "Original" (service UUID: 00000000-0000-1000-1000-00405f9b34fb)에 4개의 캐릭터리스틱(601 내지 604)이 포함된다. 4개의 캐릭터리스틱은 각각 "연결 암호화 데이터", "키 시드", "고유 명칭", 및 "완료 통지"를 보유지지한다. 이들 캐릭터리스틱 각각에 별개의 캐릭터리스틱 UUID가 할당된다. 또한, 이들 캐릭터리스틱 각각에 대해, 판독 속성, 기입 속성, 및 저장되는 데이터에 대해 암호화가 수행되는지 여부가 설정된다. 도 6에서, 캐릭터리스틱의 "Read" 부분에 "○"가 표시될 때 캐릭터리스틱의 판독이 허용되고, 캐릭터리스틱의 "Write" 부분에 "○"가 표시될 때 캐릭터리스틱의 기입이 허용된다. 동일한 방식으로, 도 6에서, 캐릭터리스틱의 "암호화" 부분에 "○"가 표시되는 각각의 캐릭터리스틱은 캐릭터리스틱(602)에 의해 제공되는 키 시드로부터 산출되는 암호 키를 사용하여 암호화 데이터를 보유지지한다.
도 6에 도시된 캐릭터리스틱들의 내용의 일부에 대하여 더 상세히 설명한다. 캐릭터리스틱(601)은 통신 장치(151)의 통신 유닛(156)이 액세스 포인트로서 동작하고 있는 경우에 통신 유닛(156)에 의해 구축된 네트워크에 다른 장치가 접속하기 위한 정보를 보유지지한다. 예를 들어, 액세스 포인트의 SSID(service set identifier), 패스워드, 통신 장치(151)의 에러 정보 등이 캐릭터리스틱(601)에 저장된다. SSID는 액세스 포인트 자신 또는 액세스 포인트에 의해 생성된 네트워크를 식별하기 위한 식별자라는 점에 유의한다. SSID, 패스워드, 및 에러 정보는 연결되어 암호화된 상태로 저장된다. 캐릭터리스틱(603)은 통신 장치(151)의 고유 명칭인 "printer"를 나타내는 문자열을 암호화된 상태로 저장되어 보유지지한다. 이들 암호화된 정보는 기밀성이 높은 정보로서 취급될 수 있다. 도 6에서 설명된 GATT 서버로서 근거리 무선 통신 유닛(157)에 의해 포함되는 데이터베이스는 예에 불과하고, 이 예에 한정되지 않는다는 점에 유의한다. 예를 들어, 임의의 항목이 캐릭터리스틱으로서 추가될 수 있다.
도 5로 돌아가서, 근거리 무선 통신 유닛(157)의 캐릭터리스틱이 갱신될 필요가 없다고 판정되면(스텝 S501에서 "아니오"), 통신 장치(151)는 도 5의 처리를 종료한다. 한편, 근거리 무선 통신 유닛(157)의 캐릭터리스틱이 갱신될 필요가 있다고 판정되면(스텝 S501에서 "예"), 통신 장치(151)는 스텝 S402에서 생성되고 RAM(153) 또는 비휘발성 메모리(161)에 저장된 키 시드 값을 판독한다(스텝 S502). 그 후, 통신 장치(151)는 스텝 S502에서 판독된 키 시드를 사용하여 암호 키를 생성한다(스텝 S503). 본 실시예는, 정보를 암호화하는 데 사용되는 암호 키와 암호화 데이터를 복호하는 데 사용되는 복호 키와 동일한 키를 사용하는 암호화 알고리즘이 사용되는 대칭-키 암호화 방식을 사용한다는 점에 유의한다. 본 실시예에서는, 특히, 대칭-키 암호화 방식의 일종인, AES가 사용되는 것으로 가정하지만, 본 발명은 이 방식에 한정되지 않고, 다른 암호화 알고리즘이 사용될 수 있다는 점에 유의한다. 통신 장치(151)는 RAM(153) 또는 비휘발성 메모리(161)에 저장된 SSID, 패스워드, 및 에러 정보를 판독하고, 이들 데이터를 연결시켜 암호화한다(스텝 S504). 데이터 연결 및 암호화에 대하여 도 7을 참조하여 설명한다. 도 7에 도시된 바와 같이, 판독된 3개의 세트의 데이터, 즉, SSID("IJ_PRINTER_01"), 패스워드("p8YTxRe"), 및 에러 정보("1000")가 연결되고 단일 세트의 연결 데이터가 생성된다. 이 연결 데이터는 일괄하여 암호화되고, 이들 3개의 세트의 데이터를 연결시킴으로써 취득된 하나의 세트의 연결 데이터에 대응하는 하나의 세트의 연결 암호화 데이터가 취득된다. 도 7에 도시된 연결 데이터는 예에 불과하고, 복수의 데이터가 임의로 연결될 수 있다는 점에 유의한다. 여기서 사용되는 용어 "연결(concatenate)"은 하나의 세트의 데이터 뒤에 다른 세트의 데이터의 따르도록 연결되는 것을 나타낸다는 점에 유의한다. 연결 암호화 데이터의 데이터 사이즈는 하나의 캐릭터리스틱에 저장될 수 있는 데이터 사이즈보다 작거나 그와 동등하다. 여기서는, 예를 들어, 하나의 유형의 데이터(예를 들어, SSID만)만이 블록 암호화 방식에 따라 하나의 캐릭터리스틱에 대하여 암호화되고 저장되는 경우를 가정한다. SSID의 데이터 사이즈는 블록 암호화 방식의 블록 사이즈의 정수배와 동등하지 않다는 점에 유의한다. 이 경우, SSID의 데이터 사이즈가 블록 사이즈로 나누어질 때 취득된 나머지는 채워질 필요가 있다. 이 나머지를 채우는 데 사용되는 데이터가 패딩 데이터이다. SSID를 암호화함으로써 생성되는 암호화 데이터는 하나의 캐릭터리스틱에 저장된다. 하나의 캐릭터리스틱에 저장되는 암호화 데이터의 데이터 사이즈는 SSID의 데이터 사이즈와 패딩 데이터의 합에 대응한다. 즉, 상황에 따라, 하나의 캐릭터리스틱에 저장된 암호화 데이터에 포함되는 실질적인 데이터는 작을 것이고 나머지 부분은 대부분 패딩 데이터가 될 가능성이 있다. 전술한 바와 같은 저장 처리가 데이터 기반으로 수행되면, 근거리 무선 통신 유닛(157)의 저장 영역(202)에 필요한 데이터를 저장하는 것이 어려워질 수 있다.
한편, 스텝 S504에서 전술한 바와 같이, 본 실시예에서, 복수의 데이터를 연결시킴으로써 취득된 연결 데이터의 사이즈가 블록 사이즈의 정수배에 가까워지도록 복수의 데이터가 연결된다. 또한, 연결 데이터는 캐릭터리스틱에서 저장가능한 데이터 사이즈와 동등하거나 그보다 작도록 생성된다. 이러한 방식으로 연결 데이터를 생성함으로써, 본 실시예를 실행함으로써 생성되는 연결 암호화 데이터에 포함되는 패딩 데이터의 사이즈는 복수의 데이터를 개별적으로 암호화함으로써 생성되는 패딩 데이터의 총 사이즈보다 더 감소될 수 있다. 즉, 본 실시예는 블록 암호를 사용하여 취득되는 암호화 데이터의 사이즈를 억제할 수 있다.
본 실시예에서는, 정보 처리 장치(101)가 통신 장치(151)의 통신 유닛(109)과 직접 통신하는 데 필요한 SSID, 패스워드, 및 통신 장치(151)의 에러 정보가 RAM(153) 또는 비휘발성 메모리(161)로부터 판독되지만, 본 발명은 이에 한정되지 않는다는 점에 유의한다. 예를 들어, 외부 액세스 포인트(131)에 접속하기 위한 SSID, 패스워드 등이 판독될 수 있다. 스텝 S504에서 암호화되는 대상은 스텝 S501에서 갱신 처리에 필요한 설정 값일 필요는 없다. 또한, 본 실시예에서, 암호화 대상으로서 연결되는 복수의 데이터는 블록 암호화 방식의 블록 사이즈와 이들 복수의 데이터의 사이즈의 전체 길이 간의 차이에 따라서 결정되는 암호화 시의 패딩 데이터의 사이즈에 따라 동적으로 결정될 수 있다. 예를 들어, 연결 데이터는 패딩 데이터 사이즈가 최소가 되도록 결정될 수 있다. 연결 데이터는 패딩 데이터 사이즈가 미리 결정된 양보다 작아지도록 선택될 수 있다. 이 경우, 복수의 조합에서 패딩 데이터 사이즈가 미리 결정된 양보다 작은 경우에는, 복수의 조합 중 하나가, 예를 들어, 랜덤하게 또는 최소 패딩 데이터 사이즈와의 조합 등과 같은 미리 결정된 기준에 기초하여 선택될 수 있다. 또한, 데이터 조합들 중 임의의 것에서 패딩 데이터 사이즈가 미리 결정된 양보다 작지 않은 경우에는, 예를 들어, 패딩 데이터 사이즈가 최소가 되는 데이터 조합을 선택하여 또는 연결을 수행하지 않고 암호화가 수행될 수 있다. 또한, 제1 조합의 데이터를 연결시킴으로써 취득되는 패딩 데이터 사이즈가 제2 조합의 데이터를 연결시킴으로써 취득되는 패딩 데이터 사이즈보다 작은 경우에는, 제1 조합의 데이터를 연결시킴으로써 암호화가 수행될 것이다. 즉, 패딩 데이터 사이즈가 최소가 아니더라도, 패딩 데이터 사이즈가 상대적으로 작아질 조합이 연결 대상으로서 선택될 수 있다. 또한, 예를 들어, 복수의 데이터를 연결할지 여부를 판정할 때, 데이터를 연결시킴으로써 패딩 데이터 사이즈가 작아지게 되는 경우에는 데이터가 연결될 것이고 패딩 데이터 사이즈가 더 작아지지 않게 되는 경우에는 데이터가 연결되지 않도록 설정될 수 있다. 패딩 데이터 사이즈에 대응하여 연결 데이터를 결정하는 방법에서는, 연결 데이터의 사이즈가 암호 블록 사이즈(AES의 경우에는 16 바이트)의 정수배에 가까운 사이즈가 되도록 연결 데이터가 선택된다. 암호 블록 사이즈는 AES의 경우에는 16 바이트이지만, 32 바이트와 같은 16 바이트 이외의 블록 사이즈를 갖는 블록 암호화 방식이 사용될 수도 있다. 이 경우, 연결 대상 데이터는 연결 데이터의 사이즈 및 블록 사이즈에 기초하여 선택된다. 데이터를 연결시킬 때는, 데이터 구분자로서의 역할을 하는 값이 연결되는 데이터 사이에 삽입될 수 있다는 점에 유의한다.
도 5로 돌아가서, 통신 장치(151)는 스텝 S504에서 암호화된 연결 암호화 데이터를 근거리 무선 통신 유닛(157)의 캐릭터리스틱(601)(연결 암호화 데이터를 보유지지하는 캐릭터리스틱)에 기입한다(스텝 S505). 그러한 연결 암호화 데이터를 사용하는 것은, SSID, 패스워드, 및 에러 정보가 개별적으로 암호화되어 캐릭터리스틱에 저장되는 경우보다 작은 용량으로 데이터가 저장되는 것을 가능하게 한다. 통신 장치(151)는, 이 타이밍에서 RAM(153) 또는 비휘발성 메모리(161)로부터 암호화될 필요가 없는 각각의 값을 판독하고, 그 값을 근거리 무선 통신 유닛(157)의 대응하는 캐릭터리스틱에 기입할 수도 있다는 점에 유의한다.
전술한 처리는 도 6에서 "Read" 부분 및 "암호화" 부분에 "○"가 표시되는 각각의 캐릭터리스틱에 저장되는 모든 값들에 대해 반복적으로 실행된다. 즉, 도 6에서, "Read" 부분 및 "암호화" 부분에 "○"가 표시된 각각의 캐릭터리스틱에 저장되는 모든 값이 RAM(153) 또는 비휘발성 메모리(161)로부터 판독되어 암호화된 값이 된다.
스텝 S501에서 캐릭터리스틱의 갱신이 필요하다고 판정된 경우에 스텝 S502 및 스텝 S503에서 암호 키가 생성될 것이라고 전술되었지만, 이전의 캐릭터리스틱 갱신 동작의 시간으로부터 암호 키가 변경되지 않는 경우에는 이 처리가 생략될 수 있다는 점에 유의한다. 즉, 스텝 S501에서 캐릭터리스틱의 갱신이 필요하다고 판정될 때 키 시드가 초기화된 경우에만 암호 키가 생성되도록 설정될 수 있다.
다음으로, 키 시드의 공개/비공개를 설정하기 위해 통신 장치(151)에 의해 실행되는 처리의 절차의 예에 대하여 도 8을 참조하여 설명한다. 통신 장치(151)는 입력 인터페이스(158)를 통해 사용자에 의한 특정 키 조작을 접수함으로써 키 시드의 공개/비공개 설정을 행할 수 있도록 형성될 수 있다. 본 실시예에서, 키 시드가 비공개되는 상태에서는 키 시드의 값이 무효 값으로서 설정될 것이고, 키 시드가 공개되는 상태에서는 키 시드의 값이 유효 값으로서 설정될 것이다. 이 처리에서, 사용자에 의해 이루어진 특정 키 조작을 접수하면, 통신 장치(151)는 스텝 S402에 도시된 방법에 의해 생성된 키 시드의 값을 키 시드를 저장하는 캐릭터리스틱(602)에 기입할 것이다(스텝 S801). 통신 장치(151)는 미리 결정된 종료 조건이 만족될 때까지(스텝 S802에서 "아니오"가 표시된 동안) 키 시드가 공개된 상태를 유지하고, 미리 결정된 종료 조건이 만족될 때(스텝 S802에서 "예") 키 시드의 값을 무효 값으로서 재기입하고 키 시드를 비공개 상태로 천이시킬 것이다(스텝 S803). 이 경우의 미리 결정된 종료 조건은, 예를 들어, 정보 처리 장치(101)와의 GATT 통신을 수행함으로써 정보 처리 장치(101)에 통신 장치(151)가 등록되었다는 통지를 수신하는 상태일 수 있다. 키 시드를 비공개 상태로 설정하는 방법은, 무효 값을 저장하는 것 이외에, 데이터베이스에 키 시드를 저장하는 캐릭터리스틱을 판독불가능 상태로 설정하는 것에 의해 수행될 수도 있다는 점에 유의한다. 그러한 제어를 수행함으로써, 장치에 대해 특정 조작을 행하는 것이 허용되는 정당한 사용자 이외의 사용자에 의해 키 시드가 판독되는 것을 방지하는 것이 가능하다.
다음으로, 정보 처리 장치(101)에 의해 실행되는 프린터 등록 처리의 절차에 대하여 도 9를 참조하여 설명한다. 이하에서는 통신 장치(151)가 새로운 등록 대상 프린터로서 발견될 것이라고 가정한다. 정보 처리 장치(101)는, 애플리케이션을 통해 프린터 등록 처리를 개시하면, 근거리 무선 통신 유닛(110)을 사용하여 주위의 프린터들로부터의 BLE 애드버타이즈 및 스캔 응답으로부터 애드버타이즈 정보를 수신한다(스텝 S901). 그 후, 정보 처리 장치(101)는, 수신된 애드버타이즈 정보의 송신 소스 프린터(통신 장치(151))가 애플리케이션에 의해 지원될 수 있고 등록되어 있지 않은 프린터인 경우에, 이 프린터의 정보를 새롭게 등록될 수 있는 프린터 정보로서 표시한다(스텝 S902). 정보 처리 장치(101)는, 스텝 S902에서 복수의 표시 대상 프린터가 발견되는 경우에, 이 복수의 프린터에 관한 프린터 정보들을 표시하고 사용자가 등록되는 프린터를 선택하게 할 것(도시되지 않음)이라는 점에 유의한다.
다음으로, 정보 처리 장치(101)는, 근거리 무선 통신 유닛(110)을 통해, 사용자에 의해 선택된 프린터(통신 장치(151))에 접속 요구를 송신함으로써 BLE 접속을 실행한다(스텝 S903). 정보 처리 장치(101)의 애플리케이션은, 사전 약정에 의해, 도 6에 설명된 통신 장치(151)에 포함된 벤더의 고유 서비스의 캐릭터리스틱의 구성에 대한 지식을 갖는다는 점에 유의한다. 또한, 예를 들어, 이 애플리케이션은 또한 사용자에 의한 등록 등으로 인해 캐릭터리스틱(603)에 보유지지되는 암호화 이전의 고유 명칭의 값의 지식을 갖고 이 애플리케이션은 또한 캐릭터리스틱(604)에 기입되는 완료 통지를 나타내는 값을 저장한다고 가정한다.
정보 처리 장치(101)는, BLE 접속이 확립된 후, 통신 장치(151)의 키 시드를 저장하는 미리 결정된 캐릭터리스틱(602)을 판독하고, 이 캐릭터리스틱(602)에 보유지지된 값을 취득한다(스텝 S904). 정보 처리 장치(101)는, 판독 값이 유효 값인지 여부, 또는 판독 동작을 수행하는 것이 가능했는지 여부에 기초하여, 통신 장치(151)에 의해 키 시드가 공개되어 있는 상태인지 여부를 판정한다(스텝 S905). 정보 처리 장치(101)는, 스텝 S904에서 판독된 키 시드의 값이 무효 값인 경우 또는 판독 동작이 수행될 수 없는 경우, 키 시드가 비공개 상태에 있다고 판정할 것이다(스텝 S905에서 "아니오"). 정보 처리 장치(101)는, 통신 장치(151)에 의해 키 시드가 비공개된 상태가 판정되면(스텝 S905에서 "아니오"), 키 시드가 공개되는 상태로 상태가 변경될 때까지 미리 결정된 시간 동안 대기할 것이다(스텝 S906). 정보 처리 장치(101)는 이때, 표시 유닛(108) 등을 통해, 사용자에게 통신 장치(151)를 키-시드 공개 상태로 변경하도록 촉구하는 메시지를 표시할 수 있다는 점에 유의한다. 정보 처리 장치(101)는, 미리 결정된 시간 동안 대기한 후에 키-시드 공개 상태로 상태가 변경되지 않은 경우, 또는 사용자로부터 취소 지시가 수신되는 경우에 도 9의 처리를 종료할 수 있다는 점에 유의한다.
한편, 정보 처리 장치(101)는, 통신 장치(151)에 의해 키 시드가 공개되어 있는 상태가 판정되면(스텝 S905에서 "예"), 도 5에서 전술한 것과 동일한 방식으로 판독된 키 시드에 기초하여 복호 키를 생성할 것이다(스텝 S907). 다음으로, 정보 처리 장치(101)는 고유 명칭을 보유지지하는 캐릭터리스틱(603)을 판독함으로써 통신 장치(151)의 고유 명칭 정보를 취득한다(스텝 S908). 본 실시예에서, 도 6에 도시된 바와 같이, 통신 장치(151)의 GATT 데이터베이스에서의 캐릭터리스틱(603)에는 "printer"라고 불리는 고유 명칭의 문자열이 암호화된 상태로 저장되고 판독 가능 상태에 있다. 정보 처리 장치(101)는 이 암호화된 고유 명칭 정보를 취득하고, 이 암호화된 정보를 스텝 S907에서 생성된 복호 키를 사용하여 복호하고, 통신 장치(151)의 고유 명칭 정보로서 "printer"를 취득한다.
그 후, 정보 처리 장치(101)는, 스텝 S908에서 취득되고 복호된 고유 명칭 정보인 "printer"가 사전에 저장된 고유 명칭 정보와 일치하는지 여부에 기초하여, 복호 키가 정상 값인지 여부를 판정한다(스텝 S909). 즉, 정보 처리 장치(101)는, 취득된 고유 명칭 정보가 사전에 저장된 고유 명칭 정보와 일치하면, 복호 키가 정상 값이라고 판정할 것이다(스텝 S909에서 "예"). 정보 처리 장치(101)는, 복호 키가 정상이라고 판정되면(스텝 S909에서 "예"), 스텝 S902에서 선택된 프린터의 BD 어드레스와 같은 식별자와 키 시드를 서로 연관시켜 저장함으로써 이 프린터의 등록 처리를 수행한다(스텝 S910). 정보 처리 장치(101)는, 프린터 등록 처리가 정상적으로 완료된 경우에, 통신 장치(151)의 캐릭터리스틱(604)에 완료 통지를 나타내는 값을 등록할 것이다. 이 경우, 예를 들어, 등록의 완료를 나타내는 특정 문자열인 "registered"를 대칭-키 암호화 방식을 사용하여 암호화함으로써 취득된 값이 GATT 통신을 사용하여 통신 장치(151)의 캐릭터리스틱(604)에 기입될 것이다. 통신 장치(151)는, 캐릭터리스틱(604)에 미리 결정된 값("registered")이 지정된 키 시드를 사용하여 암호화되어 기입될 때, 정보 처리 장치(101)에서 등록 처리가 정상적으로 완료된 것을 확인할 수 있을 것이다.
정보 처리 장치(101)는, 프린터 등록의 완료 후에, 도 9의 처리를 종료한다. 또한, 정보 처리 장치(101)는, 복호 키가 정상 값이 아니라고 판정되면(스텝 S909에서 "아니오"), 프린터를 등록하지 않고 도 9의 처리를 종료할 것이다.
다음으로, BLE를 통해 통신 장치(151)(프린터)로부터 정보를 취득하기 위해 정보 처리 장치(101)에 의해 실행되는 처리의 예에 대하여 도 10을 참조하여 설명한다. 예를 들어, 이 처리는 정보 처리 장치(101)가 스텝 S903에서 전술한 처리를 수행함으로써 BLE를 통해 통신 장치(151)에 이미 접속된 상태에 있고 스텝 S910에서 전술한 처리를 수행함으로써 통신 장치(151)가 이미 등록된 상태에 있는 경우에 실행된다는 점에 유의한다.
정보 처리 장치(101)는 근거리 무선 통신 유닛(110)을 통해 GATT 통신을 수행함으로써 통신 장치(151)에 정보 취득 요구를 행한다(스텝 S1001). 도 6에 도시된 정보들 중에서, 이 경우에 취득하기 위해 요구되는 정보는 "암호화" 부분에 "○"가 표시되는 캐릭터리스틱(캐릭터리스틱(601))에 보유지지된 정보(예를 들어, 연결 암호화 데이터)이고 전술한 스텝 S504의 처리에 의해 암호화된 정보이다. 다음으로, 정보 처리 장치(101)는, 전술한 스텝 S904에서 취득된 키 시드로부터 암호화된 정보를 복호하기 위한 복호 키를 생성한다(스텝 S1002). 복호 키 생성 처리는 전술한 스텝 S503 또는 스텝 S907과 유사한 처리라는 점에 유의한다. 스텝 S907에서 수행되는 처리에 의해 복호 키가 생성되고 보유지지되는 경우에 그리고 이 복호 키가 후속 스텝 S1003에서 데이터 복호를 수행하는 데 사용되는 경우에는, 스텝 S1002의 처리는 생략될 수 있다는 점에 유의한다. 본 실시예에서는 대칭-키 암호화 방식이 사용되므로 암호 키의 산출 처리에서 복호 키의 산출 처리에서 유사한 처리 동작들이 수행되지만, 다른 암호화 방식이 사용되는 경우에는 이들 키의 산출 처리 동작들이 서로 상이할 수 있다는 점에 유의한다. 그 후, 정보 처리 장치(101)는 스텝 S1002에서 생성된 복호 키를 사용하여 스텝 S1001에서 취득된 정보를 복호한다(스텝 S1003). 이 복호 처리의 상태는 도 11에 개략적으로 도시되어 있다. 도 11에 도시된 바와 같이, 복호 처리에서는 도 7의 처리의 반대인 처리가 수행되고, 예를 들어 캐릭터리스틱(601)으로부터 취득된 연결 암호화 데이터로부터 SSID, 패스워드, 및 에러 정보가 연결된 연결 데이터가 생성된다. 통신 장치(151)의 통신 유닛(156)이 액세스 포인트로서 동작하는 경우, 정보 처리 장치(101)는 복호 처리에 의해 취득된 연결 데이터로부터 이 액세스 포인트에 접속하기 위한 SSID 및 패스워드를 취득할 수 있다. 정보 처리 장치(101)는, 미리 결정된 구분 문자 또는 데이터 사이즈에 기초하여 SSID 및 패스워드를 식별할 수 있다.
정보 처리 장치(101)는, 이 복호 처리를 실행함으로써, BLE-규격 페어링 동작을 실행하지 않고 통신 장치(151)로부터 암호화된 정보를 취득하고, 통신 장치(151)로부터 취득한 정보를 이용할 수 있다. 정보 처리 장치(101)는 또한 BLE-규격 페어링 동작을 실행하지 않고 통신 장치(151)에 암호화 데이터를 송신할 수 있고, 통신 장치(151)는 수신된 정보를 이용할 수 있다. 통신 장치(151)는 또한 패딩 데이터의 사이즈가 최소이거나 충분히 작아지도록 연결 데이터를 생성한다. 통신 장치(151)는 또한 이 연결 데이터를 암호화하여 작은 저장 용량을 갖는 통신 장치(151)의 근거리 무선 통신 유닛(157)에 암호화 데이터를 저장할 수 있다. 정보 처리 장치(101)는 또한 통신 장치(151)로부터 취득된 정보를 사용하여, 통신 장치(151)와의 Wi-Fi 접속을 확립할 수 있다. 여기서 확립되는 Wi-Fi 접속에 대하여 설명한다. 정보 처리 장치(101)에 의해 취득된 정보가 통신 유닛(156)에 의해 구축된 네트워크에 관한 정보인 경우, 정보 처리 장치(101)의 통신 유닛(109)은 통신 유닛(156)과 다이렉트 접속을 확립한다. 다이렉트 접속은 액세스 포인트(131)와 같은 외부 액세스 포인트를 사용하지 않는 접속 방법이다. 한편, 정보 처리 장치(101)에 의해 취득된 정보가 액세스 포인트(131)에 의해 구축된 네트워크에 관한 정보인 경우, 통신 유닛(109)은 액세스 포인트(131)를 통해 통신 유닛(156)과 인프라스트럭처 접속을 확립한다. 정보 처리 장치(101)는 이들 처리를 통해 확립된 Wi-Fi 접속(다이렉트 접속 또는 인프라스트럭처 접속)을 통해 통신 장치(151)에 인쇄 잡을 송신하거나 통신 장치(151)로부터 스캔 데이터를 취득할 수 있다. 통신 장치(151)는 Wi-Fi 접속을 통해 취득된 인쇄 잡에 기초하여 인쇄 처리를 실행한다. 통신 장치(151)는 또한 Wi-Fi 접속을 통해 스캔 데이터를 송신한다.
RAM(153) 또는 비휘발성 메모리(161)에 저장된 SSID, 패스워드, 및 에러 정보를 를 판독하고 암호화하는 것에 의해 취득된 연결 암호화 데이터가 캐릭터리스틱에 보유지지되는 예에 대하여 전술되었다는 점에 유의한다. 그러나, 이들 정보는 예들에 불과하고, 이들 정보 이외의 정보가 연결되고, 암호화되어, 캐릭터리스틱에 보유지지될 수도 있다. 예를 들어, 통신 유닛(156)의 MAC 어드레스 또는 근거리 무선 통신 유닛(157)의 하드웨어 어드레스를 나타내는 BD 어드레스가 저장될 수도 있다. 이 경우의 예에 대하여 도 12 내지 도 14를 참조하여 설명한다.
도 12는 이 경우에 통신 장치(151)의, GATT 서버로서, 근거리 무선 통신 유닛(157)에 의해 보유지지되는 데이터베이스의 구조의 예를 도시한다. 도 12에 도시된 예에서는, 벤더의 고유 서비스 명칭인 "Original" 하에 5개의 캐릭터리스틱(1201 내지 1205)이 포함되어 있다. 도 6의 예와 비교하여, 연결 암호화 데이터의 추가적인 캐릭터리스틱이 존재한다. "UUID", "Read", "Write", "암호화"은 도 6에 도시된 것들과 유사한 항목이므로, 설명은 생략한다는 점에 유의한다. 제1 연결 암호화 데이터의 캐릭터리스틱(1201)에는 액세스 포인트로서의 통신 유닛(156)에 접속하기 위한 SSID와 통신 유닛(156)의 MAC 어드레스가 연결되어 암호화된 상태로 저장된다. 제2 연결 암호화 데이터의 캐릭터리스틱(1202)에는 액세스 포인트로서의 통신 유닛(156)에 접속하기 위한 패스워드, 근거리 무선 통신 유닛(157)의 BD 어드레스, 및 통신 장치(151)의 에러 정보가 연결되어 암호화된 상태로 저장된다. SSID 및 패스워드는 외부 액세스 포인트(131)에 접속하기 위해 사용되는 정보일 수 있고, 그러한 경우에 MAC 어드레스는 액세스 포인트(131)의 MAC 어드레스일 수 있다는 점에 유의한다.
통신 장치(151)는, 전술한 스텝 S504에서, SSID, 패스워드, 및 통신 장치(151)의 에러 정보 외에, 통신 유닛(156)의 MAC 어드레스와 근거리 무선 통신 유닛(157)의 BD 어드레스를 판독한다. 통신 장치(151)는, 예를 들어, 도 13의 방식으로, 전술한 SSID와 MAC 어드레스를 연결시킴으로써 제1 연결 데이터를 생성하고, 전술한 바와 같이 패스워드, BD 어드레스, 및 에러 정보를 연결시킴으로써 제2 연결 데이터를 생성한다. 그 후, 도 13에 도시된 바와 같이, 통신 장치(151)는 스텝 S503에서 생성된 암호 키를 사용하여 제1 연결 데이터 및 제2 연결 데이터 각각을 암호화함으로써, 제1 연결 암호화 데이터 및 제2 연결 암호화 데이터를 생성한다. 이때, 연결 대상 데이터는 암호화 시의 패딩 데이터의 사이즈를 감소시키도록 선택될 수 있다는 점에 유의한다. 이 예에서는, 각각의 연결 대상 데이터는 제1 연결 데이터에 관한 패딩 데이터 사이즈 및 제2 연결 데이터에 관한 패딩 데이터 사이즈의 총량이 최소이거나 충분히 작아지도록 선택될 수 있다. 예를 들어, 도 13에 도시된 예에서는 SSID와 MAC 어드레스를 연결시킴으로써 제1 연결 데이터가 생성되지만, 본 발명은 이에 한정되지 않는다. 예를 들어, 도 7에 도시된 방식으로 SSID, 패스워드, 및 에러 정보를 연결시키고 MAC 어드레스와 BD 어드레스를 연결시킴으로써 총 패딩 데이터 사이즈가 더 작아지는 경우에는, SSID, 패스워드, 및 에러 정보가 연결되어야 한다고 판정될 수 있다. 이들 조합 이외의 조합이 사용될 수도 있다는 점에 유의한다. 또한, 3개 이상의 연결 데이터가 개별적으로 생성될 수 있다. 또한, 예를 들어, MAC 어드레스 및 BD 어드레스는 다른 정보와 연결되지 않고 암호화될 수 있다. 또한, 본 실시예에서 판독된 정보들은 예들에 불과하고, 이들 정보 이외의 데이터가 연결되어 암호화될 수도 있다.
스텝 S505에서, 통신 장치(151)는 스텝 S504에서 생성된 제1 연결 암호화 데이터 및 제2 연결 암호화 데이터를 근거리 무선 통신 유닛(157)의 캐릭터리스틱(1201) 및 캐릭터리스틱(1202)에 각각 기입한다. 그 결과, SSID, 패스워드, MAC 어드레스, BD 어드레스, 및 에러 정보 각각에 대해 암호화 데이터가 개별적으로 생성되어 저장될 때보다 더 작은 양으로 데이터가 각각의 캐릭터리스틱에 저장될 수 있다.
한편, 정보 처리 장치(101)는, 스텝 S1003에서, 스텝 S1002에서 생성된 복호 키를 사용하여 스텝 S1001에서 취득된 정보를 복호한다. 이때 수행되는 복호 처리가 도 14에 개략적으로 도시되어 있다. 도 14의 처리는 도 13에 도시된 처리의 반대이다. 즉, 정보 처리 장치(101)는 제1 연결 암호화 데이터 및 제2 연결 암호화 데이터 각각을 복호하고, 각각의 복호 결과로부터 제1 연결 데이터 및 제2 연결 데이터를 생성한다. 정보 처리 장치(101)는, 제1 연결 데이터 및 제2 연결 데이터로부터, 액세스 포인트로서 동작하는 통신 장치(151)의 통신 유닛(156)에 접속하기 위해 사용되는 SSID 및 패스워드를 취득할 수 있다. 그 후, 정보 처리 장치(101)는, 제1 연결 데이터 및 제2 연결 데이터로부터 취득된 SSID 및 패스워드를 사용하여 Wi-Fi 접속을 확립한다.
상기 실시예는 정보 처리 장치(101)가 BLE를 사용하여 통신 장치(151)로부터 암호화 정보를 취득하는 처리를 설명하였다. 그러나, 정보 처리 장치(101)는, 통신 장치(151)로부터 암호화 정보가 취득되는 때, NFC(near field communication) 등과 같은 BLE 이외의 근거리 무선 통신을 이용할 수도 있다.
또한, 상기 실시예는 캐릭터리스틱에 보유지지되는 데이터의 양을 감소시키기 위해 연결 암호화 데이터가 생성되는 예를 보여주었지만, 데이터 연결에 의한 암호화 데이터의 사이즈 감소는 이것 이외의 용도에도 적용가능하다는 것이 명백하다.
다른 실시예들
본 발명의 실시예(들)는, 상술한 실시예(들) 중 하나 이상의 기능을 수행하기 위해 기억 매체(보다 완전하게는 '비일시적 컴퓨터-판독가능 기억 매체'라고 지칭될 수도 있음)에 기록된 컴퓨터 실행가능 명령어들(예를 들어, 하나 이상의 프로그램)을 판독 및 실행하고 그리고/또는 상술한 실시예(들) 중 하나 이상의 기능을 수행하는 하나 이상의 회로(예를 들어, 주문형 집적 회로(ASIC))를 포함하는 시스템 또는 장치의 컴퓨터에 의해, 그리고 예를 들어 상술한 실시예(들) 중 하나 이상의 기능을 수행하기 위해 기억 매체로부터 컴퓨터 실행가능 명령어들을 판독 및 실행함으로써 그리고/또는 상술한 실시예(들) 중 하나 이상의 기능을 수행하기 위해 하나 이상의 회로를 제어함으로써 시스템 또는 장치의 컴퓨터에 의해 수행되는 방법에 의해 실현될 수도 있다. 컴퓨터는 하나 이상의 프로세서(예를 들어, 중앙 처리 유닛(CPU), 마이크로 처리 유닛(MPU))를 포함할 수 있고 컴퓨터 실행가능 명령어들을 판독 및 실행하기 위한 별도의 컴퓨터들 또는 별도의 프로세서들의 네트워크를 포함할 수 있다. 컴퓨터 실행가능 명령어들은 예를 들어 네트워크 또는 기억 매체로부터 컴퓨터에 제공될 수 있다. 기억 매체는, 예를 들어, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 분산형 컴퓨팅 시스템의 스토리지, 광디스크(콤팩트디스크(CD), 디지털 다기능 디스크(DVD), 또는 블루레이 디스크(BD)™ 등), 플래시 메모리 디바이스, 메모리 카드 등 중 하나 이상을 포함할 수 있다.
(기타의 실시예)
본 발명은, 상기의 실시형태의 1개 이상의 기능을 실현하는 프로그램을, 네트워크 또는 기억 매체를 개입하여 시스템 혹은 장치에 공급하고, 그 시스템 혹은 장치의 컴퓨터에 있어서 1개 이상의 프로세서가 프로그램을 읽어 실행하는 처리에서도 실현가능하다.
또한, 1개 이상의 기능을 실현하는 회로(예를 들어, ASIC)에 의해서도 실행가능하다.
본 발명을 예시적인 실시예들을 참조하여 설명했지만, 본 발명은 개시된 예시적인 실시예들로 한정되지 않음을 이해해야 한다. 이하의 청구항들의 범위는 그러한 모든 변형과 동등한 구조 및 기능을 포함하도록 최광의로 해석되어야 한다.

Claims (20)

  1. 통신 장치로서,
    다른 장치로부터의 액세스가 허용되는 미리 결정된 사이즈의 제1 저장 영역 및 상기 다른 장치로부터의 액세스가 허용되는 상기 미리 결정된 사이즈의 제2 저장 영역을 포함하는 메모리를 포함하는 통신 유닛; 및
    상기 다른 장치에 의해 판독되고 암호화되어야 하는 복수의 데이터를 블록 암호화 방식을 사용하여 암호화함으로써 연결 암호화 데이터(concatenated encrypted data)를 생성하도록 구성된 암호화 유닛을 포함하고,
    상기 연결 암호화 데이터와는 상이한 데이터가 상기 제2 저장 영역에 보유지지되고,
    상기 암호화 유닛에 의해 생성된 상기 연결 암호화 데이터는 상기 미리 결정된 사이즈를 초과하지 않는 사이즈를 갖고 상기 제1 저장 영역에 보유지지되고,
    상기 연결 암호화 데이터에 포함되는 패딩 데이터의 사이즈는 상기 복수의 데이터를 개별적으로 암호화함으로써 생성되는 패딩 데이터의 총 사이즈보다 작은, 통신 장치.
  2. 제1항에 있어서, 상기 통신 유닛은 Bluetooth Low Energy(BLE) 규격에 준거하여 동작하는, 통신 장치.
  3. 제2항에 있어서, 상기 제1 저장 영역은 상기 BLE 규격에 따른 Generic Attribute Profile의 데이터베이스의 캐릭터리스틱(characteristic)에 대응하고,
    상기 연결 암호화 데이터는 상기 캐릭터리스틱에 보유지지되는, 통신 장치.
  4. 제2항에 있어서, 상기 통신 유닛을 통해 상기 통신 장치의 통신 상대가 되는 정보 처리 장치는, 상기 제1 저장 영역에 보유지지된 상기 연결 암호화 데이터 및 상기 제2 저장 영역에 보유지지된 제2 연결 암호화 데이터를 판독하고, 판독된 상기 연결 암호화 데이터 및 상기 제2 연결 암호화 데이터를 복호함으로써 취득된 복호 결과에 기초하여 상기 통신 장치와의 무선 접속을 확립하는, 통신 장치.
  5. 통신 장치로서,
    다른 장치로부터의 액세스가 허용되는 미리 결정된 사이즈의 저장 영역을 포함하고 Bluetooth Low Energy(BLE) 규격에 준거하여 통신을 수행하도록 구성된 통신 유닛; 및
    상기 다른 장치에 의해 판독되고 암호화되어야 하는 복수의 데이터를 블록 암호화 방식을 사용하여 암호화함으로써 연결 암호화 데이터를 생성하도록 구성된 암호화 유닛을 포함하고,
    상기 암호화 유닛에 의해 생성된 상기 연결 암호화 데이터는 상기 미리 결정된 사이즈를 초과하지 않는 사이즈를 갖고 상기 저장 영역에 보유지지되고,
    상기 연결 암호화 데이터에 포함되는 패딩 데이터의 사이즈는 상기 복수의 데이터를 개별적으로 암호화함으로써 생성되는 패딩 데이터의 총 사이즈보다 작은, 통신 장치.
  6. 제1항 또는 제5항에 있어서,
    상기 복수의 데이터가 취할 수 있는 데이터 조합들 중에서, 상기 데이터 조합들이 연결된 경우의 연결 데이터의 사이즈와 상기 블록 암호화 방식에서 사용되는 블록 사이즈에 기초하여 적어도 하나의 조합을 선택하도록 구성된 선택 유닛을 더 포함하는, 통신 장치.
  7. 제6항에 있어서, 제1 데이터 조합의 제1 연결 데이터의 사이즈와 상기 블록 사이즈 간의 차이의 크기에 기초하여 결정되는 패딩 데이터의 사이즈가, 상기 블록 사이즈와 제2 데이터 조합의 제2 연결 데이터의 사이즈 간의 차이의 크기에 기초하여 결정되는 패딩 데이터의 사이즈보다 작은 경우에, 상기 선택 유닛은 상기 제1 데이터 조합을 상기 적어도 하나의 조합 중 하나로서 선택하는, 통신 장치.
  8. 제6항에 있어서, 상기 선택 유닛은, 상기 블록 사이즈와 각각의 데이터 조합에 대한 상기 연결 데이터의 사이즈 간의 차이의 크기에 기초하여 결정되는 패딩 데이터의 사이즈가 최소인 데이터 조합을 상기 적어도 하나의 조합 중 하나로서 선택하는, 통신 장치.
  9. 제6항에 있어서, 상기 선택 유닛은, 상기 블록 사이즈와 각각의 데이터 조합에 대한 상기 연결 데이터의 사이즈 간의 차이의 크기에 기초하여 결정되는 패딩 데이터의 사이즈가 미리 결정된 양보다 작은 데이터 조합을 상기 적어도 하나의 조합 중 하나로서 선택하는, 통신 장치.
  10. 제1항 또는 제5항에 있어서,
    상기 통신 유닛과는 상이하고 상기 다른 장치와 통신하도록 구성된 제2 통신 유닛을 더 포함하고,
    상기 복수의 데이터는 상기 제2 통신 유닛에 의한 통신을 위해 사용되는 정보를 포함하는, 통신 장치.
  11. 제10항에 있어서, 상기 제2 통신 유닛에 의한 통신을 위해 사용되는 정보는 상기 제2 통신 유닛에 의해 생성되는 네트워크의 식별자를 포함하는, 통신 장치.
  12. 제10항에 있어서, 상기 제2 통신 유닛은 IEEE802.11 규격 시리즈에 준거하여 동작하는, 통신 장치.
  13. 제10항에 있어서,
    상기 제2 통신 유닛을 통해 수신된 인쇄 잡(print job)에 기초하여 인쇄 처리를 실행하도록 구성된 인쇄 제어 유닛을 더 포함하는, 통신 장치.
  14. 다른 장치로부터의 액세스가 허용되는 미리 결정된 사이즈의 제1 저장 영역 및 상기 다른 장치로부터의 액세스가 허용되는 상기 미리 결정된 사이즈의 제2 저장 영역을 포함하는 메모리를 포함하는 통신 유닛을 포함하는 통신 장치의 제어 방법으로서,
    상기 다른 장치에 의해 판독되고 암호화되어야 하는 복수의 데이터를 블록 암호화 방식을 사용하여 암호화함으로써 연결 암호화 데이터를 생성하는 암호화 단계;
    상기 암호화 단계에서 생성된 상기 연결 암호화 데이터를 상기 제1 저장 영역에 보유지지하는 단계; 및
    상기 연결 암호화 데이터와는 상이한 데이터를 상기 제2 저장 영역에 보유지지하는 단계를 포함하고;
    상기 암호화 단계에서 생성된 상기 연결 암호화 데이터는 상기 미리 결정된 사이즈를 초과하지 않는 사이즈를 갖고,
    상기 연결 암호화 데이터에 포함되는 패딩 데이터의 사이즈는 상기 복수의 데이터를 개별적으로 암호화함으로써 생성되는 패딩 데이터의 총 사이즈보다 작은, 방법.
  15. 제14항에 있어서, 상기 통신 유닛은 Bluetooth Low Energy(BLE) 규격에 준거하여 동작하는, 통신 장치의 제어 방법.
  16. 제15항에 있어서, 상기 제1 저장 영역은 상기 BLE 규격에 따른 Generic Attribute Profile의 데이터베이스의 캐릭터리스틱에 대응하고,
    상기 연결 암호화 데이터는 상기 캐릭터리스틱에 보유지지되는, 통신 장치의 제어 방법.
  17. 제15항에 있어서, 상기 통신 유닛을 통해 상기 통신 장치의 통신 상대가 되는 정보 처리 장치는, 상기 제1 저장 영역에 보유지지된 상기 연결 암호화 데이터 및 상기 제2 저장 영역에 보유지지된 제2 연결 암호화 데이터를 판독하고, 판독된 상기 연결 암호화 데이터 및 상기 제2 연결 암호화 데이터를 복호함으로써 취득된 복호 결과에 기초하여 상기 통신 장치와의 무선 접속을 확립하는, 통신 장치의 제어 방법.
  18. 제14항에 있어서, 상기 통신 유닛은 상기 통신 유닛과는 상이하고 상기 다른 장치와 통신하도록 구성된 제2 통신 유닛을 더 포함하고,
    상기 복수의 데이터는 상기 제2 통신 유닛에 의한 통신을 위해 사용되는 정보를 포함하는, 통신 장치의 제어 방법.
  19. 제18항에 있어서, 상기 제2 통신 유닛에 의한 통신을 위해 사용되는 정보는 상기 제2 통신 유닛에 의해 생성되는 네트워크의 식별자를 포함하는, 통신 장치의 제어 방법.
  20. 제18항에 있어서, 상기 제2 통신 유닛은 IEEE802.11 규격 시리즈에 준거하여 동작하는, 통신 장치의 제어 방법.
KR1020190092140A 2018-07-31 2019-07-30 통신 장치 및 제어 방법 KR102493663B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2018-144030 2018-07-31
JP2018144030A JP7198012B2 (ja) 2018-07-31 2018-07-31 通信装置、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
KR20200014228A true KR20200014228A (ko) 2020-02-10
KR102493663B1 KR102493663B1 (ko) 2023-02-01

Family

ID=69229761

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190092140A KR102493663B1 (ko) 2018-07-31 2019-07-30 통신 장치 및 제어 방법

Country Status (4)

Country Link
US (1) US11405178B2 (ko)
JP (1) JP7198012B2 (ko)
KR (1) KR102493663B1 (ko)
CN (1) CN110784613B (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002247026A (ja) * 2001-02-15 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> 画像転送方法と画像転送システム、画像暗号化方法と暗号化端末、画像復号化方法と復号化端末、画像暗号化プログラムと画像復号化プログラム、及びこれらのプログラムを記録した記録媒体
US20050157871A1 (en) * 2004-01-16 2005-07-21 Yuichi Komano Encryption/signature method, apparatus, and program
US20110033046A1 (en) * 2008-06-04 2011-02-10 Masao Nonaka Encryption device and encryption system
JP2016167803A (ja) * 2015-03-03 2016-09-15 株式会社リコー プログラム、情報処理装置、通信システム
US20200028833A1 (en) * 2017-04-27 2020-01-23 Arxan Technologies, Inc. Transmitting surreptitious data on an existing communication channel

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1572099A (zh) * 2001-10-19 2005-01-26 松下电器产业株式会社 设备鉴别系统和设备鉴别方法
DE602005025891D1 (de) * 2005-11-08 2011-02-24 Irdeto Access Bv Verfahren zur Ver- und Entwürfelung von Daten
CN103475451A (zh) 2013-09-10 2013-12-25 江苏中科梦兰电子科技有限公司 一种适合前向纠错和加密应用的数据报网络传输方法
JP2016150484A (ja) 2015-02-17 2016-08-22 セイコーエプソン株式会社 印刷装置及び制御方法
CN104639561B (zh) 2015-02-27 2018-01-05 飞天诚信科技股份有限公司 一种安全获取密钥的方法
JP6745628B2 (ja) 2016-03-31 2020-08-26 キヤノン株式会社 情報処理装置、制御方法、及びプログラム
JP6776055B2 (ja) 2016-08-22 2020-10-28 キヤノン株式会社 通信装置及びプログラム
CN107888381B (zh) 2017-11-09 2020-08-07 飞天诚信科技股份有限公司 一种密钥导入的实现方法、装置及系统
US10581602B2 (en) * 2018-01-09 2020-03-03 Vmware, Inc. End-to-end checksum in a multi-tenant encryption storage system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002247026A (ja) * 2001-02-15 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> 画像転送方法と画像転送システム、画像暗号化方法と暗号化端末、画像復号化方法と復号化端末、画像暗号化プログラムと画像復号化プログラム、及びこれらのプログラムを記録した記録媒体
US20050157871A1 (en) * 2004-01-16 2005-07-21 Yuichi Komano Encryption/signature method, apparatus, and program
US20110033046A1 (en) * 2008-06-04 2011-02-10 Masao Nonaka Encryption device and encryption system
JP2016167803A (ja) * 2015-03-03 2016-09-15 株式会社リコー プログラム、情報処理装置、通信システム
US20200028833A1 (en) * 2017-04-27 2020-01-23 Arxan Technologies, Inc. Transmitting surreptitious data on an existing communication channel

Also Published As

Publication number Publication date
US20200044820A1 (en) 2020-02-06
JP7198012B2 (ja) 2022-12-28
CN110784613B (zh) 2022-06-07
JP2020022056A (ja) 2020-02-06
KR102493663B1 (ko) 2023-02-01
US11405178B2 (en) 2022-08-02
CN110784613A (zh) 2020-02-11

Similar Documents

Publication Publication Date Title
KR102191208B1 (ko) 제어 방법
CN110087265B (zh) 终端装置、通信系统及计算机可读取的存储介质
JP6667476B2 (ja) 通信装置、制御方法及びプログラム
JP6977316B2 (ja) 設定情報利用システム、設定情報利用方法
JP2006211051A (ja) 携帯通信装置、バックアップ装置、バックアップ方法、およびバックアッププログラム
US10521168B2 (en) Encrypted document printing utilizing multiple networks
KR102493663B1 (ko) 통신 장치 및 제어 방법
JP5779987B2 (ja) 選択プログラム、画像処理装置、及び、コンピュータ
JP7358074B2 (ja) 情報処理装置、制御方法及びプログラム
US20210089672A1 (en) Information processing apparatus and non-transitory computer readable medium
JP7195803B2 (ja) 情報処理方法、情報処理システム、およびプログラム
JP7195802B2 (ja) 情報処理方法、情報処理システム、および通信装置
JP6674413B2 (ja) 通信装置、制御方法、及びプログラム
JP2013041538A (ja) 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム
JP7000735B2 (ja) 画像形成装置、情報処理方法、情報処理プログラム及び情報処理システム
JP2020198503A (ja) 情報処理装置、制御方法及びプログラム
US20140320905A1 (en) Data managing system, image processing apparatus, image restoring apparatus, storage medium, and data managing method
JP7385285B2 (ja) 情報処理方法、情報処理プログラム、情報処理装置及び情報処理システム
KR20230046981A (ko) 정보 처리 장치, 그 제어 방법, 및 저장 매체
JP2016116169A (ja) 管理システム、画像形成装置及び管理プログラム
JP2016072814A (ja) 情報通信システム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right