KR20140131896A - Crum 칩 및 그 인증 방법 - Google Patents

Crum 칩 및 그 인증 방법 Download PDF

Info

Publication number
KR20140131896A
KR20140131896A KR1020140143684A KR20140143684A KR20140131896A KR 20140131896 A KR20140131896 A KR 20140131896A KR 1020140143684 A KR1020140143684 A KR 1020140143684A KR 20140143684 A KR20140143684 A KR 20140143684A KR 20140131896 A KR20140131896 A KR 20140131896A
Authority
KR
South Korea
Prior art keywords
data
integrity check
check data
image forming
forming apparatus
Prior art date
Application number
KR1020140143684A
Other languages
English (en)
Other versions
KR101879841B1 (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 KR20140131896A publication Critical patent/KR20140131896A/ko
Application granted granted Critical
Publication of KR101879841B1 publication Critical patent/KR101879841B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03GELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
    • G03G15/00Apparatus for electrographic processes using a charge pattern
    • G03G15/06Apparatus for electrographic processes using a charge pattern for developing
    • G03G15/08Apparatus for electrographic processes using a charge pattern for developing using a solid developer, e.g. powder developer
    • G03G15/0822Arrangements for preparing, mixing, supplying or dispensing developer
    • G03G15/0863Arrangements for preparing, mixing, supplying or dispensing developer provided with identifying means or means for storing process- or use parameters, e.g. an electronic memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03GELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
    • G03G21/00Arrangements not provided for by groups G03G13/00 - G03G19/00, e.g. cleaning, elimination of residual charge
    • G03G21/16Mechanical means for facilitating the maintenance of the apparatus, e.g. modular arrangements
    • G03G21/18Mechanical means for facilitating the maintenance of the apparatus, e.g. modular arrangements using a processing cartridge, whereby the process cartridge comprises at least two image processing means in a single unit
    • G03G21/1875Mechanical means for facilitating the maintenance of the apparatus, e.g. modular arrangements using a processing cartridge, whereby the process cartridge comprises at least two image processing means in a single unit provided with identifying means or means for storing process- or use parameters, e.g. lifetime of the cartridge
    • G03G21/1878Electronically readable memory
    • G03G21/1892Electronically readable memory for presence detection, authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1032Simple parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

화상형성장치가 개시된다. 본 장치는, 화상형성장치의 동작을 제어하는 메인 컨트롤러를 포함하는 본체, 메인 컨트롤러와 통신 가능하도록 본체에 장착되는 소모품유닛 및 소모품유닛에 마련되어, 소모품유닛의 사용 정보 및 특성 정보를 저장하는 CRUM(Customer Replaceable Unit Monitoring)칩을 포함한다. 여기서, 메인 컨트롤러와 CRUM 칩은, 데이터 및 무결성 검사 데이터를 포함하는 신호를 서로 송수신한다. 여기서, 무결성 검사 데이터는 이전 신호에 포함된 무결성 검사 데이터가 누적반영되어 생성된 것이다. 이에 따라, 안전한 통신이 이루어질 수 있다.

Description

CRUM 칩 및 그 인증 방법 { CRUM chip for authenticating and methods thereof }
본 발명은 CRUM 칩 및 화상형성장치와 그 인증 방법 및 통신 방법에 대한 것으로, 보다 상세하게는 통신 과정에서 무결성 검사 데이터를 이용하여 무결성 여부를 검사하는 CRUM 칩 및 화상형성장치와 그 인증 방법 및 그 통신 방법에 대한 것이다. 
컴퓨터 보급이 활성화됨에 따라, 컴퓨터 주변기기의 보급율도 나날이 증가하고 있다. 컴퓨터 주변기기의 대표적인 예로써, 프린터, 팩시밀리, 스캐너, 복사기, 복합기 등과 같은 화상형성장치를 들 수 있다.
화상형성장치들은 용지상에 화상을 인쇄하기 위해서 잉크나 토너를 사용한다. 잉크나 토너는 화상형성작업이 진행될 때마다 사용되어, 소정 시간 이상 사용되면 고갈된다. 이 경우, 잉크나 토너를 저장하는 유닛 자체를 새로이 교체하여 주어야 한다. 이와 같이 화상형성장치의 사용과정에서 교체할 수 있는 부품 또는 구성요소들을 소모품 유닛 또는 교체 가능 유닛이라 한다. 설명의 편의를 위하여, 본 명세서에서는 소모품 유닛이라는 명칭을 사용한다.
소모품 유닛에는 상술한 바와 같이 잉크나 토너가 고갈되어 교체하여야 하는 유닛 이외에, 일정 기간 이상 사용하면 특성이 변경되어 좋은 인쇄 품질을 기대할 수 없는 이유로 교체되는 유닛들도 있다. 즉, 컬러별 현상기 이외에도 중간 전사 벨트 등과 같은 부품들도 소모품 유닛에 해당할 수 있다.
구체적으로는, 레이저 화상형성장치의 경우 대전유닛, 전사유닛, 정착유닛 등이 사용되는데, 각 유닛에서 사용되는 다양한 종류의 롤러, 벨트 등은 한계수명 이상 사용되면 마모되거나 변질될 수 있다. 이에 따라, 화상품질을 현저하게 저하시킬 수 있게 된다. 사용자는 깨끗한 화상으로 인쇄작업이 수행될 수 있도록, 각 구성유닛, 즉, 소모품 유닛들을 적절한 교체시기마다 교체하여 주어야 한다.
소모품 유닛의 적절한 관리를 위하여, 최근에는 소모품 유닛 자체에 메모리를 부착하여, 화상형성장치의 본체와 정보를 주고 받을 수 있도록 구현하고 있다.
즉, 화상형성장치의 인쇄 매수, 출력 도트 수, 사용 기한 등과 같은 다양한 사용 정보들을 소모품 유닛 자체의 메모리에 기록하여, 소모품 유닛의 교체 시기 등을 정확하게 관리할 수 있다.
특히, 관공서, 대학, 기업체 등과 같이 규모가 큰 환경에서는 MPS(Managed Printing Services) 방식으로 수많은 화상형성장치를 용이하게 관리하고 있다. MPS를 이용한 통합 솔루션 서비스에는 그룹별 또는 개인별 소모품 사용 요금을 산출하고 그에 따라 과금을 하는 과금 기능이나, 소모품의 수명을 확인하여 수명이 종료되기 이전에 미리 자동 주문을 해주는 기능 등이 있다. 이러한 기능들은 정확한 소모품 사용 정보를 기반으로 하여 제공되는 기능들이다.
이러한 정보 관리를 위하여 화상형성장치의 본체에 구비된 메인 컨트롤러와 소모품 유닛에 구비된 메모리부는 서로 통신을 수행한다. 하지만, 통신 과정에서는 여러 변수가 있을 수 있다. 예를 들어, 악의적인 목적으로 메인 컨트롤러 또는 메모리부를 제어하려고 하는 해커의 공격이 있을 수 있다.
또는, 화상형성장치에 구비된 전자 회로나 모터 등에 의해 발생되는 노이즈 간섭이 있을 수도 있다. 구체적으로는 화상형성장치의 본체와 소모품 유닛 사이의 연결 부위에 이물질이 들어가거나, 작업 중 진동에 의해 통신이 수시로 단절되는 경우, 연결 부위를 통해 전기적 간섭신호가 인가된다는 경우 등과 같은 예기치 못한 상황이 발생할 수 있다.
이러한 변수들로 인해, 통신 데이터가 변경될 수 있다. 예를 들어, 잡이 완료되면, 소모품 유닛에서는 인쇄 페이지수, 도트 수, 잔존 토너량 등과 같은 정보를 메인 컨트롤러로 전송하여, 메인 컨트롤러의 비휘발성 메모리로 복사한다. 이 경우, 데이터가 0xFFFFFFFF와 같은 잘못된 값으로 읽혔을 경우, 메인 컨트롤러는 해당 소모품 유닛의 수명이 다한 것으로 인식할 위험성이 있다. 이 경우, 해당 소모품 유닛은 더 이상 사용할 수 없게 된다.
또한, 화상형성장치의 소모품 유닛은 언제든지 장착 또는 탈착할 수 있는 구조이다. 화상형성장치의 인쇄 작업 시에는 모터의 구동으로 진동이 많이 생기고 회로에 노이즈가 발생할 수 있기 때문에, 일반적으로 인쇄 중에는 소모품 유닛의 메모리에는 액세스하지 않고, 화상형성장치의 메모리로만 동작한다. 따라서 소모품 유닛의 메모리와 화상형성장치간의 통신은 제한된 경우에만 수행한다. 가령, 소모품 유닛이 화상형성장치에 장착되어 소모품 유닛 메모리와 화상형성장치 메모리를 동기화할 때, 인쇄작업이 끝나고 모터가 멈추면 변경사항을 소모품 유닛에 저장할 때 등과 같은 경우에 통신이 수행된다.
한편, 소모품 유닛에 저장되어 관리하는 데이터가 많고, 다양한 보완 기능들 때문에 통신시간이 길어질 수 있다. 따라서, 통신 중간에 소모품 유닛을 교체하게 되면 문제가 발생한다. 예를 들면 소모품 유닛1의 소모품 사용 정보가 인쇄매수 100, 출력도트수 200, 모터구동시간 300 이고, 소모품 유닛2의 소모품 사용 정보가 인쇄매수 200, 출력도트수 300, 모터구동시간 400 인 경우를 가정한다. 이 경우, 화상형성장치에 소모품 유닛 1이 장착되면 화상형성장치의 메모리와 데이터를 동기화 하게 된다. 동기화 과정에서 인쇄매수100, 출력도트 수 200만을 화상형성장치의 메모리에 저장한 후 소모품 유닛2로 교체를 하게 되면 인증을 다시 수행할 수 있다. 그리고, 다음 단계에 따라 모터 구동시간 400을 복사한다. 그러면 화상형성장치의 메모리는 인쇄매수 100, 출력도트수 200, 모터구동시간 400 과 같이 저장되었는데 이는 정상적인 값이 아니다. 여기서 인쇄작업을 수행하고 다시 소모품 유닛2에 변경사항을 저장한다고 하면 소모품 유닛2는 인쇄매수가 200, 출력도트수가 300임에도 불구하고 화상형성장치 메모리에 저장되어있는 데이터인 인쇄매수 100, 출력도트수 200에 해당하는 값이 저장되게 된다. 인쇄매수가 200에서 100으로 줄어들어 해당 소모품 유닛이 비정상 값을 갖게 되는 문제가 발생한 것이다.
또한 화상형성장치는 하나의 I2C Channel에 여러 개의 소모품 유닛을 장착하여 사용할 수 있다. 소모품 유닛들은 I2C에서 slave address로 구분하여 Access하게 되는데, 통신과정에 일시적으로 문제가 생겨 slave address가 다른 소모품 유닛의 ID로 변조가 되었다면 다른 소모품의 메모리에 엉뚱한 데이터를 저장하게 된다.
그 밖에도, 수명이 다한 소모품 유닛에 대해서도 해커가 악의적인 목적으로 소모품 사용 정보를 0으로 리셋하여, 소모품 유닛이 재생 가능하도록 만들 수도 있다. 이에 따라, 수명이 다한 소모품 유닛을 사용하게 되어, 화상형성장치의 고장, 화질 열화 등의 문제가 발생할 수 있으며, 사용자에게 소모품 유닛의 정확한 정보를 제공할 수 없게 되고, 더 나아가 잘못된 소모품 정보 때문에 MPS에 문제가 발생하게 되어 이에 기반한 통합 솔루션 서비스도 제공할 수 없게 된다.
이에 따라, 소모품 유닛과 화상형성장치 사이의 통신 에러를 효율적으로 검사하여 데이터의 안정성을 도모할 수 있는 기술에 대한 필요성이 대두되었다.
본 발명은 상술한 필요성에 따른 것으로, 무결성 검사 데이터를 이용하여 통신 안전성을 도모할 수 있는 CRUM 칩과 화상형성장치 및 그 통신 방법을 제공하는 것을 목적으로 한다.
이러한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 화상형성장치는, 상기 화상형성장치의 동작을 제어하는 메인 컨트롤러를 포함하는 본체, 상기 메인 컨트롤러와 통신 가능하도록 상기 본체에 장착되는 소모품유닛 및 상기 소모품유닛에 마련되어, 상기 소모품유닛에 대한 정보를 CRUM(Customer Replaceable Unit Monitoring)칩을 포함한다. 여기서, 상기 메인 컨트롤러와 상기 CRUM 칩은, 복수의 인증 과정을 수행하여 최종 인증에 성공하면 데이터 통신을 수행하며, 상기 복수의 인증 과정 중에서 적어도 두 번의 인증 과정에서 무결성 검사 데이터를 포함하는 인증 데이터를 송수신할 수 있다.
그리고, 상기 메인 컨트롤러 및 상기 CRUM 칩은, 이전 무결성 검사 데이터를 누적 반영하여 무결성 검사 데이터를 생성하며, 상기 복수의 인증 과정 중에서 최종 인증 과정에서는 이전 인증 과정에서 송신 또는 수신하였던 무결성 검사 데이터 전부를 누적 반영하여 최종 무결성 검사 데이터를 생성할 수 있다.
또한, 상기 메인 컨트롤러 및 상기 CRUM 칩은 상기 복수의 인증 과정 중에서, 세션 키를 생성하기 위한 인증 과정 및 적합성 확인을 위한 인증 과정에 상기 무결성 검사 데이터를 포함하는 신호를 송수신할 수 있다.
그리고, 상기 메인 컨트롤러 및 상기 CRUM 칩은 상기 세션 키를 생성하기 위한 인증 과정 및 적합성 확인을 위한 인증 과정 사이에 적어도 한 번의 인증 과정을 수행할 수도 있다.
이 경우, 상기 메인 컨트롤러는, 제1 데이터 및 제1 무결성 검사 데이터를 포함하는 신호를 상기 CRUM 칩에 전송하고, 상기 CRUM 칩은 제2 데이터 및 상기 제1 무결성 검사 데이터를 이용하여 제2 무결성 검사 데이터를 생성하고, 상기 제2 데이터 및 상기 제2 무결성 검사 데이터를 포함하는 신호를 상기 메인 컨트롤러로 송신하며, 상기 제1 데이터 및 상기 제2 데이터 각각은 세션 키를 생성하기 위한 세션 키 관련 데이터를 포함할 수 있다.
또한, 상기 메인 컨트롤러는, 제3 데이터, 상기 제1 무결성 검사 데이터 및 상기 제2 무결성 검사 데이터를 이용하여 제3 무결성 검사 데이터를 생성하고, 상기 제3 데이터 및 상기 제3 무결성 검사 데이터를 포함하는 신호를 상기 CRUM 칩으로 전송하고, 상기 CRUM 칩은 제4 데이터, 상기 제1 내지 제3 무결성 검사 데이터를 이용하여 제4 무결성 검사 데이터를 생성하고, 상기 제4 데이터 및 상기 제4 무결성 검사 데이터를 포함하는 신호를 상기 메인 컨트롤러로 송신하며, 상기 제3 데이터는 상기 화상형성장치에 기 저장된 테이블 내의 인덱스 정보를 포함하고, 상기 제4 데이터는 상기 인덱스 정보에 대응되는 값을 포함할 수 있다.
상기 메인 컨트롤러 및 상기 CRUM 칩 각각은, 상대 측으로부터 상기 무결성 검사 데이터가 부가된 신호가 수신되면, 상기 수신된 신호로부터 상기 무결성 검사 데이터를 분리하고, 나머지 데이터로부터 자체적으로 생성한 무결성 검사 데이터와 상기 분리된 무결성 검사 데이터를 비교하여 상기 신호의 무결성을 검사할 수 있다.
또는, 화상형성장치는, 상기 화상형성장치에 장착되는 소모품 유닛에 탑재된 CRUM 칩과 연결되는 인터페이스부, 상기 CRUM 칩과 인증을 수행하여야 하는 이벤트가 발생하면, 상기 CRUM 칩과 복수의 인증 과정을 수행하여 상기 CRUM 칩을 인증하는 메인 컨트롤러를 포함할 수 있다. 여기서, 메인 컨트롤러는, 상기 복수의 인증 과정 중에서, 세션 키를 생성하기 위한 인증 과정 및 적합성 확인을 위한 인증 과정에서는 무결성 검사 데이터를 포함하는 신호를 송신 및 수신할 수 있다. 그리고,  상기 무결성 검사 데이터는 이전 수신된 신호에 포함된 적어도 하나의 무결성 검사 데이터를 누적 반영하여 생성한 것일 수 있다.
한편, 본 발명의 일 실시 예에 따르면, 화상형성장치의 소모품유닛에 장착 가능한 CRUM칩은, 상기 화상형성장치의 본체로부터 인증을 위한 제1 데이터 및 상기 제1 데이터에 대한 제1 무결성 검사 데이터를 포함하는 신호를 수신하는 인터페이스부, 상기 수신된 신호로부터 상기 제1 무결성 검사 데이터를 분리하여, 상기 신호의 무결성을 검사하는 검사부, 상기 화상형성장치의 본체와의 인증을 위한 제2 데이터와, 상기 제1 무결성 검사 데이터를 이용하여, 제2 무결성 검사 데이터를 생성하는 생성부, 상기 제2 데이터와 상기 제2 무결성 검사 데이터를 포함하는 신호를 상기 인터페이스부를 통해 상기 화상형성장치의 본체로 전송하여 인증을 수행하는 제어부를 포함한다.
여기서, 상기 제1 데이터 및 상기 제2 데이터 각각은 세션 키를 생성하기 위한 세션 키 관련 데이터를 포함하며, 상기 제어부는, 상기 제1 데이터 및 상기 제2 데이터를 이용하여 상기 세션 키를 생성하고, 복수의 후속 인증 과정을 수행할 수 있다.
또한, 상기 제어부는, 상기 복수의 후속 인증 과정 중에, 제3 데이터, 상기 제1 무결성 검사 데이터 및 상기 제2 무결성 검사 데이터를 이용하여 생성된 제3 무결성 검사 데이터 및 상기 제3 데이터를 포함하는 신호가 상기 화상형성장치의 본체로부터 수신되면, 제4 데이터 및 상기 제1 내지 제3 무결성 검사 데이터를 이용하여 제4 무결성 검사 데이터를 생성하도록 상기 생성부를 제어하고, 상기 제4 데이터 및 상기 제4 무결성 검사 데이터를 포함하는 신호를 상기 화상형성장치의 본체로 전송할 수 있다. 여기서 상기 제3 데이터는 상기 화상형성장치에 기 저장된 테이블 내의 인덱스 정보를 포함하고, 상기 제4 데이터는 상기 인덱스 정보에 대응되는 값을 포함할 수 있다.
또한, 상기 제어부는, 상기 복수의 후속 인증 과정 중에서 최종 인증 과정에서는 이전 인증 과정에서 송신 또는 수신하였던 무결성 검사 데이터 전부를 누적 반영하여 최종 무결성 검사 데이터를 생성하여 송신할 수 있다.
한편, 본 발명의 일 실시 예에 따르면, 화상형성장치의 인증 방법은, 상기 화상형성장치에 장착된 소모품 유닛에 대해 인증을 수행하여야 하는 이벤트가 발생하였는지 판단하는 단계, 상기 이벤트가 발생하면, 상기 화상형성장치의 메인 컨트롤러가 상기 소모품 유닛에 탑재된 CRUM 칩과의 사이에서 복수의 인증 과정을 수행하여 상기 CRUM 칩을 인증하는 단계를 포함한다. 상기 복수의 인증 과정 중에서 적어도 두 번의 인증 과정에서는 무결성 검사 데이터를 포함하는 신호가 송수신될 수 있다.
그리고, 상기 무결성 검사 데이터는 이전 무결성 검사 데이터가 누적 반영되어 생성된 것일 수 있다. 상기 복수의 인증 과정 중에서 최종 인증 과정에서 송수신되는 무결성 검사 데이터는 이전 인증 과정에서 송신 또는 수신하였던 무결성 검사 데이터 전부가 누적 반영되어 생성된 것일 수 있다.
또한, 상기 인증하는 단계는, 상기 메인 컨트롤러가 제1 데이터 및 제1 무결성 검사 데이터를 포함하는 신호를 상기 CRUM 칩에 전송하고, 상기 CRUM 칩이 제2 데이터 및 상기 제1 무결성 검사 데이터를 이용하여 제2 무결성 검사 데이터를 생성하고, 상기 제2 데이터 및 상기 제2 무결성 검사 데이터를 포함하는 신호를 상기 메인 컨트롤러로 송신하는 제1 인증 단계, 상기 메인 컨트롤러가 제3 데이터, 상기 제1 무결성 검사 데이터 및 상기 제2 무결성 검사 데이터를 이용하여 제3 무결성 검사 데이터를 생성하고, 상기 제3 데이터 및 상기 제3 무결성 검사 데이터를 포함하는 신호를 상기 CRUM 칩으로 전송하며, 상기 CRUM 칩이 제4 데이터, 상기 제1 내지 제3 무결성 검사 데이터를 이용하여 제4 무결성 검사 데이터를 생성하고, 상기 제4 데이터 및 상기 제4 무결성 검사 데이터를 포함하는 신호를 상기 메인 컨트롤러로 송신하는 제2 인증 단계를 포함할 수 있다. 여기서, 상기 제1 데이터 및 상기 제2 데이터 각각은 세션 키를 생성하기 위한 세션 키 관련 데이터를 포함하고, 상기 제3 데이터는 상기 화상형성장치에 기 저장된 테이블 내의 인덱스 정보를 포함하고, 상기 제4 데이터는 상기 인덱스 정보에 대응되는 값을 포함할 수 있다.
한편, 본 발명의 일 실시 예에 따르면, 화상형성장치의 소모품유닛에 장착 가능한 CRUM칩의 인증 방법은, 상기 화상형성장치의 본체로부터 인증을 위한 제1 데이터 및 상기 제1 데이터에 대한 제1 무결성 검사 데이터를 포함하는 신호를 수신하는 단계, 상기 수신된 신호로부터 상기 제1 무결성 검사 데이터를 분리하여, 상기 신호의 무결성을 검사하는 단계, 상기 화상형성장치의 본체와의 인증을 위한 제2 데이터와, 상기 제1 무결성 검사 데이터를 이용하여, 제2 무결성 검사 데이터를 생성하는 단계, 상기 제2 데이터와 상기 제2 무결성 검사 데이터를 포함하는 신호를 상기 화상형성장치의 본체로 전송하여 인증을 수행하는 단계를 포함할 수 있다.
그리고, 상기 제2 데이터 및 상기 제2 무결성 검사 데이터를 포함하는 신호를 상기 화상형성 장치의 본체로 전송한 이후에 복수의 후속 인증 과정을 수행하는 단계를 더 포함할 수도 있으며, 여기서, 상기 복수의 후속 인증 과정 중에서 최종 인증 과정에서 송수신되는 무결성 검사 데이터는 이전 인증 과정에서 송신 또는 수신하였던 무결성 검사 데이터 전부가 누적 반영되어 생성된 것일 수 있다.
그리고, 상기 최종 인증 과정은, 제3 데이터, 상기 제1 무결성 검사 데이터 및 상기 제2 무결성 검사 데이터를 이용하여 생성된 제3 무결성 검사 데이터 및 상기 제3 데이터를 포함하는 신호를 상기 화상형성장치의 본체로부터 수신하는 단계, 제4 데이터, 상기 제1 내지 제3 무결성 검사 데이터를 이용하여 제4 무결성 검사 데이터를 생성하고, 상기 제4 데이터 및 상기 제4 무결성 검사 데이터를 포함하는 신호를 상기 화상형성장치의 본체로 전송하는 단계를 더 포함할 수 있다. 여기서, 상기 제1 데이터 및 상기 제2 데이터 각각은 세션 키를 생성하기 위한 세션 키 관련 데이터를 포함하며, 상기 제3 데이터는 상기 화상형성장치에 기 저장된 테이블 내의 인덱스 정보를 포함하고, 상기 제4 데이터는 상기 인덱스 정보에 대응되는 값을 포함할 수 있다.
이상 설명한 바와 같이, 본 발명의 다양한 실시 예에 따르면, 이전 통신에 사용되었던 무결성 검사 데이터를 누적적으로 사용하여 전체 통신의 안전성을 도모할 수 있게 된다. 이에 따라, 소모품 유닛 및 화상형성장치의 정보가 안전하게 관리될 수 있게 된다.
도 1은 본 발명의 일 실시 예에 따른 화상형성장치의 구성을 나타내는 블럭도,
도 2는 본 발명의 일 실시 예에 따른 화상형성장치에서의 메인 컨트롤러 및 CRUM 칩 간의 통신 과정을 설명하기 위한 타이밍도,
도 3은 무결성 검사 데이터를 이용하여 신호의 무결성을 검사하는 과정을 구체적으로 설명하기 위한 타이밍도,
도 4는 본 발명의 다른 실시 예에 따른 화상형성장치에서의 메인 컨트롤러 및 CRUM 칩 간의 통신 과정을 설명하기 위한 타이밍도,
도 5는 소모품 유닛이 장착된 화상형성장치의 구성을 나타내는 블럭도,
도 6 및 도 7은 본 발명의 다양한 실시 예에 따른 화상형성장치의 구성을 나타내는 블럭도,
도 8은 본 발명의 일 실시 예에 따른 CRUM 칩의 구성을 나타내는 블럭도,
도 9 및 도 10은 본 발명의 다양한 실시 예에 따른 통신 방법을 설명하기 위한 흐름도,
도 11 내지 도 18은 본 발명의 다른 실시 예에 따른 화상형성장치의 인증 방법을 설명하기 위한 도면,
도 19는 본 발명의 다른 실시 예에 따른 CRUM 칩의 구성을 나타내는 블록도,
도 20은 전체 인증 과정을 구체적으로 설명하기 위한 타이밍도,
도 21 내지 도 24는 각 인증 과정에서 사용되는 무결성 검사 데이터를 생성하는 방법을 구체적으로 설명하기 위한 도면,
도 25 내지 도 27은 소모품 유닛이 화상형성장치의 본체와 연결되는 방식의 다양한 예를 설명하기 위한 도면,
도 28은 I2C 인터페이스 방식에 따라 송수신되는 신호의 파형을 나타내는 도면,
도 29는 도 28의 신호의 일부를 확대한 도면이다.
이하에서, 첨부된 도면을 이용하여 본 발명에 대하여 구체적으로 설명한다.
도 1은 본 발명의 일 실시 예에 따른 화상형성장치의 구성을 나타내는 블럭도이다. 도 1에 따르면, 화상형성장치는 본체(100), 본체(100)에 구비된 메인 컨트롤러(110), 본체(100)에 장착 가능한 소모품 유닛(200)을 포함한다. 여기서, 화상형성장치란 프린터, 스캐너, 복합기, 팩시밀리, 복사기 등과 같이 용지나 각종 기록 매체 상에 화상을 형성할 수 있는 다양한 유형의 장치로 구현될 수 있다.
메인 컨트롤러(110)는 화상형성장치의 본체(100)에 탑재되어, 화상형성장치의 전반적인 기능을 제어한다.
소모품 유닛(200)은 화상형성장치의 본체(100)에 탑재되어, 화상형성잡에 직접 또는 간접적으로 관여하는 다양한 종류의 유닛이 될 수 있다. 예를 들어, 레이저 화상형성장치의 경우 대전유닛, 노광 유닛, 현상 유닛, 전사유닛, 정착유닛, 각종 롤러, 벨트, OPC 드럼 등이 소모품 유닛이 될 수 있으며, 그 밖에 화상형성장치의 사용에 있어서 교체가 요구되는 다양한 유형의 유닛들이 소모품 유닛(200)으로 정의될 수 있다.
상술한 바와 같이, 소모품 유닛(200)에는 각각의 수명이 정해져 있다. 따라서, 적절한 시기에 교체가 이루어질 수 있도록, 소모품 유닛(200)은 CRUM 칩(Customer Replaceable Unit Monitoring chip)(210)을 포함한다.
CRUM 칩(210)이란 소모품 유닛(200)에 탑재되어, 각종 정보를 기록하는 구성이다. CRUM 칩(210)은 메모리를 포함한다. 따라서, CRUM 칩(210)은 메모리부, CRUM 메모리(Customer Replaceable Unit Monitoring memory) 등과 같이 다양한 명칭으로 지칭될 수 있지만, 설명의 편의를 위하여 본 명세서에서는 CRUM 칩(210)으로 설명한다.
CRUM 칩(210)에 마련된 메모리에는 소모품 유닛(200)이나 CRUM 칩(210) 자체, 화상형성장치 등에 대한 다양한 특성 정보와, 화상형성잡의 수행과 관련된 사용 정보 또는 프로그램이 저장될 수 있다.
구체적으로는, CRUM 칩(210)에 저장되는 각종 프로그램에는, 일반적인 어플리케이션 뿐만 아니라 O/S(Operating System) 프로그램, 암호화 프로그램 등도 포함될 수 있다. 또한, 특성 정보에는, 소모품 유닛(200) 제조사에 대한 정보, 화상형성장치의 제조사에 대한 정보, 장착 가능한 화상형성장치의 장치 명, 제조일시에 대한 정보, 일련 번호, 모델 명, 전자 서명 정보, 암호화 키, 암호화 키 인덱스 등이 포함될 수 있다. 또한, 사용 정보에는 현재까지 몇 매 인쇄하였는지, 인쇄 가능한 잔여 매수가 얼마인지, 토너 잔량이 얼마인지 등에 대한 정보가 포함될 수 있다. 특성 정보는 다르게는 고유 정보로 명명할 수도 있다.
일 예를 들면, CRUM 칩(210)에는 다음 표와 같은 정보가 저장될 수 있다.
General Information
OS Version
SPL-C Version
Engine Version
USB Serial Number
Set Model
Service Start Date
CLP300_V1.30.12.35 02-22-2007
5.24 06-28-2006
6.01.00(55)
BH45BAIP914466B.
DOM
2007-09-29
Option
RAM Size
EEPROM Size
USB Connected (High)
32 Mbytes
4096 bytes
Consumables Life
Total Page Count
Fuser Life
Transfer Roller Life
Tray1 Roller Life
Total Image Count
Imaging Unit/Deve Roller Life
Transfer Belt Life
Toner Image Count
774/93 Pages(Color/mono)
1636 Pages
864 Pages
867 Pages
3251 Images
61 Images/19 Pages
3251 Images
14/9/14/19 Images(C/M/Y/K)
Toner Information
Toner Remains Percent
Toner Average Coverage
99%/91%/92%/100% (C/M/Y/K)
5%/53%/31%/3% (C/M/Y/K)
Consumables Information
Cyan Toner
Magenta Toner
Yellow Toner
Black Toner
Imaging unit
SAMSUNG(DOM)
SAMSUNG(DOM)
SAMSUNG(DOM)
SAMSUNG(DOM)
SAMSUNG(DOM)
Color Menu
Custom Color Manual Adjust(CMYK : 0,0,0,0)
Setup Menu
Power Save
Auto Continue
Altitude Adj.
20 Minutes
On
Plain
상술한 표에서와 같이, CRUM칩(210)의 메모리에는 소모품 유닛(200)에 대한 개략적인 정보 뿐만 아니라, 소모품의 수명, 정보, 셋업 메뉴 등에 대한 정보까지 저장될 수 있다. 또한, 메모리에는 화상형성장치의 본체와 별개로 소모품 유닛에서 사용하기 위하여 마련된 O/S도 저장될 수 있다.
그 밖에, CRUM 칩(210)에는 메모리를 관리하고, 메모리에 저장된 각종 프로그램을 실행하며, 화상형성장치의 본체 또는 기타 장치의 컨트롤러와 통신을 수행할 수 있는 CPU(미도시)가 더 포함될 수도 있다.
CPU는 CRUM 칩(210)의 메모리에 저장된 O/S를 구동시켜, 화상형성장치의 초기화와 별도로, 소모품 유닛(200) 자체의 초기화를 수행할 수 있다. 또한, CPU는 초기화가 완료되거나 초기화 중에 화상형성장치의 본체와의 사이에서 인증을 수행할 수도 있다. 또한, 인증이 완료되고 나면, 화상형성장치의 본체와의 사이에서 암호화 데이터 통신을 수행할 수도 있다. 이 경우, 화상형성장치 본체로부터 전송되는 각종 코맨드 및 데이터는 임의의 암호화 알고리즘에 따라 암호화되어 전송될 수 있다.
구체적으로는, CPU는 특정한 이벤트, 예를 들어, 소모품 유닛(200)이 탑재된 화상형성장치의 파워가 온된 경우나, 소모품 유닛(200)이 탈착되었다가 화상형성장치의 본체(100)에 다시 장착된 경우 등에는, 메인 컨트롤러(110)의 초기화와 별개로 자체적으로 초기화를 수행할 수 있다. 초기화는, 소모품 유닛(200)에서 이용되는 각종 응용 프로그램 초기 구동, 초기화 이후 메인 컨트롤러(110)와의 데이터 통신에 필요한 비밀 정보 계산, 통신 채널 셋업, 메모리값 초기화, 자체 교환시기 확인, 소모품 유닛(200) 내부 레지스터 값 세팅, 내외부 클럭 신호 세팅 등의 다양한 과정을 포함한다.
여기서, 레지스터 값 세팅이란, 이전에 사용자가 설정하여 둔 각종 기능 상태에 대응되게 소모품 유닛(200)이 동작하도록 소모품 유닛(200) 내부의 기능 레지스터 값들을 세팅하는 작업을 의미한다. 또한, 내외부 클럭 신호 세팅이란 화상형성장치의 메인 컨트롤러(110)로부터 제공되는 외부 클럭 신호의 주파수를 소모품 유닛(200) 내부의 CPU가 사용하는 내부 클럭 신호에 맞도록 조정하여 주는 작업을 의미한다.
그 밖에, 자체 교환 시기 확인이란 이때까지 사용되었던 토너나 잉크의 잔량을 파악하여, 최종 고갈될 시기를 예측하여 메인 컨트롤러(110) 측으로 통지하여 주기 위한 작업이 될 수 있다. 이에 따라, 초기화 과정에서 토너 잔량이 이미 고갈된 상태인 것으로 판단되면, 초기화가 완료된 이후에 소모품 유닛(200)이 메인 컨트롤러(110)로 작업 불능 상태임을 자체적으로 알리도록 구현될 수도 있다. 이외에도, 소모품 유닛(200)이 자체적으로 O/S를 구비하기 때문에, 소모품 유닛(200)의 종류, 특성에 따라 다양한 형태의 초기화가 이루어질 수 있다.
이와 같이, CPU가 내장되고 자체 O/S를 가지고 있는 경우, 화상 형성 장치가 파워 온 되었을 때 메인 컨트롤러(110)가 유닛(200)과의 통신을 요청하기 이전에, 메모리부(210)에 저장된 소모품의 잔량이나 리필 횟수 등을 확인할 수 있다. 이에 따라, 소모품 부족을 알리는 시간이 종래에 비해 매우 빨라질 수 있다. 예를 들어, 토너 부족인 경우 사용자는 파워-온 시킨 후, 바로 토너 절약 모드로 전환하여 화상형성을 수행하도록 조작할 수 있다. 특정 토너만 부족한 경우에도 마찬가지이다.
CPU는 초기화가 진행되어 완료될 때까지는 메인 컨트롤러(110)의 코맨드에 응답하지 않는다. 메인 컨트롤러(110)는 응답이 있을 때까지 주기적으로 코맨드를 전송하면서 응답을 기다린다.
이에 따라, 응답, 즉, Acknowledgement가 수신되면, 메인 컨트롤러(110) 및 CPU 사이에서 인증이 수행된다. 이 경우, CRUM 칩(210)에 설치된 자체 O/S로 인해, CRUM 유닛(210)과 메인 컨트롤러(110) 사이에서 상호 작용을 통한 인증이 가능해진다.
구체적으로는, 메인 컨트롤러(110)는 인증을 위한 데이터 또는 코맨드를 암호화하여 CRUM 칩(210)으로 전송한다. 전송되는 데이터에는 임의의 값 R1이 포함될 수 있다. 여기서 R1은 매 인증시마다 변경되는 랜덤 값일 수도 있고, 임의로 설정된 고정 값일 수도 있다. 데이터를 수신한 CRUM 칩(210)은 임의의 값 R2와 수신된 R1을 이용하여 세션 키를 생성하고, 생성된 세션 키를 이용하여 MAC(Message Authentication Code)을 생성한다. 이에 따라 생성된 MAC과 R2를 포함하는 신호를 메인 컨트롤러(110)로 전송한다. 메인 컨트롤러(110)는 수신된 R2와 R1을 이용하여 세션키를 생성하고, 생성된 세션키를 이용하여 MAC을 생성한 후, 생성된 MAC과 수신된 신호에 포함된 MAC을 비교하여 CRUM 칩(210)을 인증한다. 한편, 다양한 실시 예에 따르면, 이러한 인증 과정에서 전자 서명 정보나 키 정보 등이 송 수신되어 인증에 사용될 수도 있다.
인증에 성공하면, 메인 컨트롤러(110)와 CRUM 칩(210)은 데이터 관리를 위한 암호화 데이터 통신을 수행한다. 즉, 사용자 명령이 입력되거나, 화상형성잡이 개시 또는 완료되는 경우에, 메인 컨트롤러(110)는 데이터 읽기(reading), 쓰기(writing), 또는 추가 기능 등의 작업을 수행하기 위한 코맨드나 데이터 등을 암호화 알고리즘을 이용하여 암호화한 후, CRUM 칩(210)으로 전송한다. CRUM 칩(210)은 수신된 코맨드 또는 데이터 등을 디코딩하여 그 코맨드에 대응되는 데이터 읽기(reading), 쓰기(writing) 등의 작업을 수행할 수 있다. CRUM 칩(210)이나 메인 컨트롤러(110)에서 사용되는 암호화 알고리즘은 표준 암호화 알고리즘일 수 있다. 이러한 암호화 알고리즘은 암호 키가 공개되었거나, 보안을 강화할 필요가 있는 경우에 변경 가능하다. 구체적으로는, RSA, ECC 비대칭키 알고리즘, ARIA, TDES, SEED, AES 대칭키 알고리즘 등과 같은 다양한 암호화 알고리즘이 사용될 수 있다.
이와 같이, CRUM 칩(210)과 메인 컨트롤러(110) 사이에서는 인증 및 데이터 교환을 위한 여러 번의 통신이 수행될 수 있다. 매 통신 시에는 메인 컨트롤러(110)로부터 CRUM 칩(210)으로 또는 그 반대 방향으로 신호가 전송된다. 이 경우, 전송되는 신호에는 해당 신호에 포함된 데이터의 무결성을 검사하기 위한 무결성 검사 데이터(error detection data)가 포함된다. 이러한 무결성 검사 데이터는 이전 통신시에 송신 또는 수신된 신호에 포함된 무결성 검사 데이터가 누적 반영되어 생성된 것이다. 
즉, 상술한 바와 같이 메인 컨트롤러(110) 및 CRUM 칩(210) 사이에서는 인증1, 인증 2, 인증 3, ..., 인증 n, 데이터 통신 1, 데이터 통신 2, ... 데이터 통신 m과 같이 복수의 통신이 수행될 수 있다. 실시 예에 따라서, 매 통신 시 또는 통신의 일부 과정에 전송되는 신호에는 무결성 검사 데이터가 포함된다. 이러한 무결성 검사 데이터에는 이전 통신 시에 사용된 무결성 검사 데이터가 누적적으로 반영된다. 구체적으로는, 후술하는 도면 부분에서 설명한다.
신호를 수신한 측에서는 신호에 포함된 무결성 검사 데이터를 이용하여 해당 신호의 무결성을 검사한다. 이에 따라, 해당 신호가 무결성이라고 판단되면, 다음 동작 및 후속 통신을 진행한다. 수신된 데이터의 기록이 필요한 경우에는, 그 신호에 포함된 데이터 및 무결성 검사 데이터를 임시 저장한다. 그리고 나서, 신호를 송신한 측에 전송할 후속 데이터와, 바로 앞 통신에서 수신하여 임시 저장된 무결성 검사 데이터를 이용하여 새로운 무결성 검사 데이터를 생성한다. 이에 따라, 후속 데이터에 새로운 무결성 검사 데이터를 부가한 신호를 전송한다. 메인 컨트롤러(110) 및 CRUM 칩(210) 사이에서는 이러한 무결성 검사 데이터를 포함하는 통신이 복수 횟수 수행된다. 마지막 무결성 검사 데이터를 포함하는 통신이 이루어진 경우, 수신된 마지막 신호에 포함된 무결성 검사 데이터를 이용한 최종 검사를 수행한다. 최종 검사 결과, 이상이 없으면, 그 때까지 임시 저장되어 있던 전체 데이터들을 기록한다.
도 2는 본 발명의 일 실시 예에 따른 메인 컨트롤러(110) 및 CRUM 칩(210) 간의 통신 과정을 설명하기 위한 타이밍 도이다. 도 2에 따르면, 메인 컨트롤러(110)는 데이터 1 및 무결성 검사 데이터 1을 포함하는 제1 신호(10)를 전송한다. 제1 신호(10)를 수신한 CRUM 칩(210)은 제1 신호(10)에 포함된 무결성 검사 데이터 1과 데이터 2를 이용하여 무결성 검사 데이터 2를 생성한다. 그리고 나서, 데이터 2 및 무결성 검사 데이터 2를 포함하는 제2 신호를 메인 컨트롤러(110)로 전송한다. 이와 같이, 이전 통신 시의 무결성 검사 데이터를 이용하여 생성된 무결성 검사 데이터를 포함하는 신호(30,..., N)들이 복수 횟수 수행된다.
이러한 무결성 검사 데이터로는 전송할 데이터를 논리 연산한 결과값, 데이터에 대해 기 설정된 수학식을 적용하여 생성한 결과값 또는 데이터를 암호화한 암호화 결과값, 즉, MAC 등이 사용될 수 있다.
도 3은 무결성 검사 데이터를 이용한 검사 방법을 설명하기 위한 도면이다. 도 3에 따르면, 메인 컨트롤러(110)로부터 데이터 a, 무결성 검사 데이터 a를 포함하는 신호가 수신되면(S310), CRUM 칩(210)은 무결성 검사 데이터 a를 분리한다(S320).
그리고 나서 나머지 데이터 및 이전 통신 시에 자신이 전송하였던 무결성 검사 데이터를 이용하여 무결성 검사 데이터 a'를 생성한다(S330). 이에 따라 생성된 무결성 검사 데이터 a'와 분리된 무결성 검사 데이터 a를 비교하여(S340), 일치하면 무결성으로 판단한다(S350). 반면 불일치하면 에러 상태로 판단하고 통신을 중단한다(S360). 설명의 편의를 위하여 이하에서는 무결성 검사 데이터 a'를 비교 대상 데이터로 명명한다. 
무결성으로 판단된 경우, 전송할 데이터 b와 무결성 검사 데이터 a를 이용하여 무결성 검사 데이터 b를 생성한다(S370). 이에 따라, 데이터 b 및 무결성 검사 데이터 b를 포함하는 신호를 메인 컨트롤러(110)로 전송한다(S380).
도 3에서는 CRUM 칩(210)에서 이루어지는 검사 과정을 설명하였으나, 동일한 과정이 메인 컨트롤러(110)에서도 이루어질 수 있다. 즉, 데이터 b 및 무결성 검사 데이터 b를 포함하는 신호를 수신하면, 메인 컨트롤러(110)는 무결성 검사 데이터 b를 분리하여, 검사를 수행한다. 그 검사 방법은 S330 내지 S370과 동일하므로, 중복 설명 및 도시는 생략한다.
한편, 메인 컨트롤러(110) 및 CRUM 칩(210) 사이에 송수신되는 신호의 구성은 다양하게 설계될 수 있다. 즉, 신호에 포함되는 데이터는 코맨드, 기록 대상 정보, 코맨드에 따른 작업 수행 결과 정보, 이전 수신 신호에 대한 무결성 검사 결과 정보 및 무결성 검사 데이터의 위치를 알리기 위한 인디케이터 정보 중 적어도 하나를 포함할 수 있다. 여기서, 무결성 검사 결과 정보는, 메인 컨트롤러(110) 및 CRUM 칩(210) 사이에서 최초 송신되는 신호에서는 배제될 수 있다. 상기의 통신 과정에서 모든 통신들에 무결성 데이터를 검사하는 방법을 사용할 수 있으며, 필요한 경우 통신 과정 중에 일부 혹은 중요 통신들에만 무결성 데이터 검사 방식을 적용할 수도 있다.
도 4는 도 2와 상이한 포맷의 신호를 이용하여 무결성을 검사하는 과정을 설명하기 위한 도면이다. 도 4에 따르면, 메인 컨트롤러(110)는 데이터 및 무결성 검사 데이터 1을 포함하는 신호를 전송한다(S410). 여기서 데이터에는 읽기 명령 데이터 1(Read Command(CMD) data 1)과 인디케이터 U1이 포함된다. 읽기 명령 데이터 1에는 코맨드 뿐만 아니라 리드 대상(read target) 또는 메모리 주소 등이 포함된다. U1은 읽기 명령 데이터 1에 이어지는 인디케이터 정보를 의미한다. 인디케이터 정보 U1은 신호 내에서 무결성 검사 데이터의 파싱(parsing) 위치를 알려주기 위한 심볼을 의미한다. 인디케이터 정보는 고정된 개수의 바이트로 표시될 수 있다. 일 예로 5 바이트가 인디케이터 정보를 위해 사용될 수 있다. 반면, 읽기 명령 데이터 1의 크기는 데이터의 내용에 따라 가변적이고, 이에 따라, 무결성 검사 데이터 1의 크기 역시 가변적이다.
CRUM 칩(210)은 신호가 수신되면, 신호에 포함된 무결성 검사 데이터 1을 이용하여 무결성 검사를 수행한다(S415). 그리고 나서, 전송할 데이터와 무결성 검사 데이터 1을 이용하여 무결성 검사 데이터 2를 생성한 후, 이들을 포함하는 신호를 전송한다(S420). 도 4에 도시된 바와 같이, 전송되는 신호에는 읽기 명령 데이터 1에 따라 소모품 유닛(100) 내에 마련된 메모리로부터 읽은 데이터인 리드 데이터(Read data) 1과, 읽기 명령 데이터 1에 따라 수행된 작업의 수행 결과를 의미하는 결과 데이터(Result data) 2, 인디케이터 U2, 무결성 검사 데이터 2가 포함된다.
메인 컨트롤러(110)는 수신된 신호로부터 무결성 검사 데이터 2를 분리하여 무결성 검사를 수행한다(S425). 그리고, 후속 읽기 명령 데이터 3이 존재하는 경우, 읽기 명령 데이터 3과 무결성 검사 데이터 2를 이용하여 무결성 검사 데이터 3을 생성한 후, 읽기 명령 데이터 3, 인디케이터 U3, 무결성 검사 데이터 3을 포함하는 신호를 CRUM 칩(210)으로 전송한다(S430). 이 후에는, 도 4에 도시된 바와 같이 복수의 무결성 검사 데이터 4, 5, 6, T1, T2를 이용한 통신이 수행되고(S440, S450, S460, S470, S485), 그에 따른 무결성 검사가 수행된다(S435, S445, S455, S465). 한편, CRUM 칩(210)에서 마지막 통신 신호를 수신하는 경우(S470), CRUM 칩(210)은 마지막 통신 신호에 포함된 무결성 검사 데이터 T1을 이용하여 전체 통신 과정에서 송수신되어 임시 저장되어 있던 데이터들의 무결성을 최종 검사한다(S475). 최종 검사 결과 무결성이라고 판단되면 임시 저장되어 있던 데이터를 비휘발성 메모리(미도시)에 저장한다(S480). 마찬가지로 메인 컨트롤러(110) 역시 CRUM 칩(210)으로부터 마지막 통신 신호가 전송되면(S485), 마지막 통신 신호에 포함된 무결성 검사 데이터 T2를 이용하여 전체 무결성 검사를 수행한다(S490). 이에 따라, 무결성이라고 판단되면 임시 저장되어 있던 데이터들을 비휘발성 메모리에 저장한다(S495).
한편, 이러한 통신 과정에서 사용되는 무결성 검사 데이터들은 이전 통신에서 사용된 무결성 검사 데이터가 누적 반영되어 생성된다.
일 예로, 무결성 검사 데이터는 다음과 같이 처리될 수 있다.
무결성 검사 데이터 1 = E(Read CMD Data 1 |U1)
무결성 검사 데이터 2 = E(Read CMD Data 2 |Result Data 2 |U2|무결성 검사 데이터 1)
무결성 검사 데이터 3 = E(Read CMD Data 3 |U3|무결성 검사 데이터 2)
무결성 검사 데이터 4 = E(Read CMD Data 4 |Result Data 4 |U4|무결성 검사 데이터 3)
무결성 검사 데이터 5 = E(Write CMD Data 5 |U5|무결성 검사 데이터 4)
무결성 검사 데이터 6 = E(Result Data 6 |U6|무결성 검사 데이터 5)
무결성 검사 데이터 T1 = E(Write CMD Data L1 |U-T1|무결성 검사 데이터 T1-1)
무결성 검사 데이터 T2 = E(Result Data L2 |U-T2|무결성 검사 데이터 T1)
상술한 수식들에서 E()란 기 설정된 수식을 적용하여 결과값을 구하는 함수를 의미한다. 이와 같이 무결성 검사 데이터는 이전 무결성 검사 데이터와 전송할 데이터 전체에 대하여 합산, XOR(eXclusive OR)등과 같은 다양한 논리 연산을 적용하거나, 기타 메인 컨트롤러(110) 및 CRUM 칩(210) 간에 공지된 수식에 데이터를 대입시켜 산출한 결과값, 상술한 다양한 암호화 알고리즘을 적용하여 암호화한 결과값 등으로 생성될 수 있다.
도 5는 본 발명의 일 실시 예에 따라 본체(100) 내에 복수 개의 소모품 유닛(200-1, 200-2, ...,  200-n)이 장착된 화상형성장치의 구성을 나타낸다.
도 5에 따르면 화상형성장치는 메인 컨트롤러(110), 사용자 인터페이스부(120), 인터페이스부(130), 메모리부(140), 복수 개의 소모품 유닛(200-1, 200-2, ...,  200-n)을 포함한다.
사용자 인터페이스부(120)는 사용자로부터 각종 명령을 입력받거나, 각종 정보를 디스플레이하여 알려주는 역할을 수행한다. 사용자 인터페이스부(120)는 LCD 또는 LED 디스플레이, 적어도 하나의 버튼, 스피커 등을 포함할 수 있으며, 경우에 따라서는 터치 스크린을 포함할 수도 있다.
인터페이스부(130)는 호스트 PC나 다양한 외부 장치들과 유선 또는 무선으로 연결되어 통신을 수행하는 구성을 의미한다. 인터페이스부(130)는 로컬 인터페이스, USB(Universal Serial BUS) 인터페이스, 무선 네트워크 인터페이스 등과 같이 다양한 종류의 인터페이스를 포함할 수 있다.
메모리부(140)는 화상형성장치의 구동에 필요한 각종 프로그램이나, 데이터 등을 저장하는 역할을 한다.
메인 컨트롤러(110)는 화상형성장치의 전반적인 동작을 제어하는 역할을 한다. 구체적으로는, 메인 컨트롤러(110)는 인터페이스부(130)를 통해 수신되는 데이터를 처리하여, 화상 형성이 가능한 포맷으로 변환한다.
그리고 나서, 메인 컨트롤러(110)는 복수의 소모품 유닛(200-1, 200-2, ..., 200-n)을 이용하여 변환된 데이터에 대한 화상 형성 잡을 수행한다. 여기서 소모품 유닛은 화상형성장치의 종류에 따라 다양하게 마련될 수 있다. 상술한 바와 같이 레이저 프린터의 경우, 대전유닛, 노광 유닛, 현상 유닛, 전사유닛, 정착유닛, 각종 롤러, 벨트, OPC 드럼 등이 소모품 유닛이 될 수 있다.
한편, 각 소모품 유닛(200-1, 200-2, ..., 200-n)에는 제1 CRUM 칩 내지 제n CRUM 칩(210-1, 210-2, ..., 210-n)이 각각 포함된다.
각 CRUM 칩에는 메모리 및 CPU 등이 포함될 수 있다. 또는, 실시 예에 따라서는, 크립토 유닛(Crypto module), 템퍼 검출기(temper detector), 인터페이스부, 클럭신호를 출력하는 클럭부(미도시)나, 인증을 위한 랜덤값을 생성하는 랜덤값 생성부(미도시) 중 적어도 하나가 더 포함될 수도 있다.
크립토 유닛(미도시)은 암호화 알고리즘을 지원하여, CPU(미도시)가 메인 컨트롤러(110)와의 사이에서 인증이나, 암호화된 통신을 수행할 수 있도록 한다. 구체적으로는, 크립토 유닛은 RSA, ECC와 같은 비대칭키 알고리즘이나 ARIA, TDES, SEED, AES 대칭키 알고리즘 등과 같은 복수의 암호화 알고리즘 중 설정된 알고리즘을 지원할 수 있다. 이 경우, 메인 컨트롤러(110) 측에서도 복수의 암호화 알고리즘 중 대응되는 알고리즘을 지원할 수 있다. 이에 따라, 메인 컨트롤러(110)는 소모품 유닛(200)에서 사용되는 암호화 알고리즘이 어떠한 것인지 파악하여 그 암호화 알고리즘으로 인증을 진행한 후, 암호화 통신을 수행할 수 있다. 결과적으로, 소모품 유닛(200)에 어떠한 암호화 알고리즘을 적용한 키(KEY)가 발급되더라도 화상형성장치의 본체(100)에 용이하게 장착되어 암호화 통신을 수행할 수 있게 된다.
템퍼 검출기(미도시)는 다양한 물리적인 해킹 시도, 즉, 템퍼링을 방어하기 위한 유닛이다. 구체적으로는, 전압, 온도, 압력, 빛, 주파수 등의 동작 환경에 대하여 모니터링을 하여, Decap과 같은 시도가 있을 경우, 데이터를 지워버리거나 물리적으로 차단한다. 이 경우, 템퍼 검출기는 별도의 전원을 구비할 수도 있다.
한편, CRUM 칩(210) 내부에 마련된 메모리는 O/S 메모리, 비휘발성 메모리, 휘발성 메모리 등을 포함할 수 있다. O/S 메모리(미도시)는 소모품 유닛(200)을 구동시키기 위한 O/S를 저장한다. 비휘발성 메모리(미도시)에는 각종 데이터들이 비휘발적으로 저장된다. 비휘발성 메모리에는 전자 서명 정보나, 각종 암호화 알고리즘 정보, 소모품 유닛(200)의 상태 정보(예를 들어, 토너 잔량 정보, 교체 시기 정보, 잔여 인쇄 매수 정보 등), 고유 정보(예를 들어, 제조사 정보, 제조일시 정보, 일련 번호, 제품 모델 명 등), A/S 정보 등의 다양한 정보가 저장될 수 있다. 특히, 메인 컨트롤러(110)와의 통신 과정에서 수신되는 데이터가 비휘발성 메모리에 저장될 수 있다.
휘발성 메모리(미도시)는 동작에 필요한 임시 저장 공간으로 사용될 수 있다. 휘발성 메모리에는 매 통신 시마다 무결성으로 판단된 데이터 및 그 판단에 사용된 무결성 검사 데이터들이 임시로 저장될 수 있다.
인터페이스부(미도시)는 CPU와 메인 컨트롤러(110)를 연결시키는 역할을 한다. 구체적으로는, 시리얼 인터페이스나 무선 인터페이스로 구현될 수 있다. 특히, 시리얼 인터페이스는 패러랠 인터페이스에 비하여 적은 수의 신호를 이용하기 때문에 비용 절감의 효과가 있으며, 특히 프린터와 같은 노이즈가 많은 동작 환경에 적합하다.
이상과 같이 각 소모품 유닛들에는 CRUM 칩이 마련될 수 있다. 각 CRUM 칩은 메인 컨트롤러 및 타 CRUM 칩과 통신을 수행할 수 있다. 통신 시에는 이전 통신 시에 사용된 무결성 검사 데이터가 누적 반영되어 생성된 새로운 무결성 검사 데이터가 전송된다.
도 6은 본 발명의 일 실시 예에 따른 화상형성장치의 세부 구성 예를 나타내는 블럭도이다. 도 6에 따르면, 화상형성장치는 메인 컨트롤러(110) 및 인터페이스부(130)를 포함하며, 메인 컨트롤러(110)는 데이터 처리부(111), 생성부(112), 검사부(113), 제어부(114)를 포함한다.
데이터 처리부(111)는 화상형성장치에 장착 가능한 소모품유닛에 탑재된 CRUM칩으로 전송할 데이터를 생성한다. 여기서, 데이터란 코맨드 및 그 코맨드에 의해 처리될 정보 중 적어도 하나를 포함한다. 즉, 리드 코맨드인 경우에는 리드할 메모리 주소 또는 리드 대상에 대한 정보가 함께 전송될 수 있다. 또한, 쓰기 코맨드일 경우에는 기록할 정보가 함께 전송될 수 있다. 데이터 처리부(111)는 데이터를 그대로 또는 암호화하여 출력할 수 있다. 그 밖에, 인증을 위한 코맨드 등과 같은 다양한 코맨드 들과 그 코맨드와 관련된 정보들이 데이터 처리부(111)에서 생성될 수 있다. 이러한 코맨드 및 정보들은 화상형성잡의 수행 전이나 수행 중 또는 수행 후에 걸쳐서 수시로 생성될 수 있다. 예를 들어, 화상형성장치가 턴-온되거나 소모품 유닛(200)이 탈착되었다가 다시 장착되었을 때, 또는 화상형성잡에 대한 개시 명령이 입력되었을 때, 메인 컨트롤러(110)는 소모품 유닛(200)에 대한 인증을 위하여 인증 코맨드 또는 리드 코맨드를 전송할 수 있다. 이에 따라, 소모품 유닛(200) 내에서 자체적으로 관리되고 있는 다양한 정보들을 확인하여 인증을 하거나, 화상형성장치(100) 본체의 메모리부(140)에 저장할 수 있다.
또한, 화상 형성 잡 수행 중 또는 수행 완료 후에는, 데이터 처리부(111)는 화상형성잡에서 소모된 소모품, 즉, 잉크나 토너에 대한 정보나 인쇄 페이지 수, 인쇄 도트 수, 인쇄를 수행한 사용자의 이력 정보 등을 소모품 유닛(200)에 기록하기 위하여 쓰기 코맨드 및 해당 정보를 생성할 수 있다.
생성부(112)는 데이터 처리부(111)에서 출력되는 데이터를 이용하여 무결성 검사 데이터를 생성한다. 구체적으로는, 데이터 처리부(111)에서 출력되는 데이터를 단순 합하거나, XOR과 같은 논리 연산을 수행하거나, 기 설정된 수학식에 대입하거나, 암호화 알고리즘을 이용하여 암호화하여, 그 결과값을 무결성 검사 데이터로 출력할 수 있다. 이 경우, 이전 통신 시에 사용된 무결성 검사 데이터가 존재하면, 그 기존의 무결성 검사 데이터까지 함께 누적 반영하여 무결성 검사 데이터를 생성한다.
생성부(112)에서 생성한 무결성 검사 데이터는 데이터 처리부(111)에서 생성한 데이터에 부가되어 인터페이스부(130)로 전송된다. 도 6에서는 데이터 처리부(111)의 출력이 생성부(112)로만 제공되는 것처럼 도시되었으나, 데이터 처리부(111)의 출력은 인터페이스부(130)로 직접 제공되거나, 멀티플렉서(미도시)에 제공될 수 있다. 멀티플렉서가 마련된 경우, 생성부(112)의 출력 역시 멀티플렉서로 제공되어, 데이터 및 무결성 검사 데이터가 함께 포함된 신호 형태로 인터페이스부(130)로 전달될 수 있다.
인터페이스부(130)는 데이터 및 제1 무결성 검사 데이터를 포함하는 신호를 CRUM칩(210)으로 전송한다.
또한, 인터페이스부(130)는 CRUM 칩(210)으로부터 응답 신호를 수신할 수 있다. 설명의 편의를 위하여 인터페이스부(130)에서 전송한 신호를 제1 신호라 명명하고, CRUM 칩으로부터 수신되는 신호를 제2 신호라 명명한다. 제2 신호에 포함된 제2 무결성 검사 데이터는 제1 무결성 검사 데이터가 누적 반영되어 생성된 데이터이다.
검사부(113)는 인터페이스부(130)를 통해 수신된 제2 신호에 포함된 제2 무결성 검사 데이터를 분리하여, 제2 신호에 포함된 데이터의 무결성을 검사한다. 구체적으로는, 검사부(113)는 제2 무결성 검사 데이터가 분리된 나머지 데이터 및 메인 컨트롤러(110)가 이전에 전송하였던 무결성 검사 데이터에 대해, CRUM칩(210)과의 사이에서 기지인(known) 방식을 적용하여, 무결성 검사 데이터를 생성한다.
이에 따라 생성된 무결성 검사 데이터와, 제2 신호로부터 분리된 제2 무결성 검사 데이터를 비교하여 일치 여부를 확인한다. 확인 결과 일치하면 검사부(113)는 해당 데이터는 무결성이라고 판단하고, 불일치하면 해당 데이터는 에러 상태라고 판단한다.
제어부(114)는 검사부(114)의 검사 결과에 따라 후속 통신을 수행한다. 즉, 제2 신호가 에러 상태의 데이터를 포함한다고 판단되면 후속 통신을 중단하거나, 재시도를 할 수 있다. 반면, 제2 신호가 정상 상태, 즉, 무결성 상태라고 판단되면 후속 통신을 수행한다.
실시 예에 따라, 제어부(114)는 무결성 상태라고 판단되면, 해당 데이터를 바로 메모리부(140)에 저장할 수 있다.
다른 실시 예에 따르면, 매 통신 시에는 획득되는 데이터 및 무결성 검사 데이터를 임시 저장시켜 두고, 최종 통신이 완료되면 임시 저장된 데이터를 메모리부(140)에 기록하여 둘 수도 있다.
도 7은 이러한 실시 예에 따른 화상형성장치의 구성을 나타낸다. 도 7에 따르면, 데이터 처리부(111), 생성부(112), 검사부(113), 제어부(114)를 포함하는 메인 컨트롤러(110), 인터페이스부(130) 이외에 메모리부(140)를 더 포함한다. 메모리부(140)에는 임시 저장부(141) 및 저장부(142)가 포함된다.
이에 따라, 임시 저장부(141)에는 무결성으로 판단된 데이터 및 무결성 검사 데이터가 임시 저장될 수 있다. 임시 저장된 무결성 검사 데이터는 후속 통신 과정에서 데이터의 무결성 검사 시에 사용될 수 있다.
즉, 상술한 바와 같이 제1 무결성 검사 데이터를 포함한 제1 신호가 CRUM 칩(210)으로 전송된 이후에 제1 신호에 대한 제2 신호가 전송된 경우, 검사부(113)는 제2 신호로부터 제2 무결성 검사 데이터를 분리하고, 나머지 데이터와 임시 저장부(141)에 저장된 무결성 검사 데이터를 이용하여, 새로운 무결성 검사 데이터, 즉, 비교 대상 데이터를 생성한다. 그리고 나서, 검사부(113)는 생성된 새로운 무결성 검사 데이터와 임시 저장부(141)에 제2 무결성 검사 데이터를 비교하여 제2 신호 또는 제2 신호에 포함된 데이터의 무결성을 판단할 수 있다.
한편, 생성부(112)는, 제2 신호가 무결성인 상태에서 CRUM 칩(210)으로 전송할 후속 데이터가 존재하면, 후속 데이터 및 제2 무결성 검사 데이터를 기초로 제3 무결성 검사 데이터를 생성한다. 이에 따라, 인터페이스부(130)는 제3 무결성 검사 데이터 및 후속 데이터를 포함하는 제3 신호를 CRUM 칩(210)으로 전송한다. 즉, 도 2 내지 도 4에서 설명한 바와 같이 메인 컨트롤러(110)와 CRUM 칩(210)은 여러 번의 통신을 수행한다.
한편, 검사부(113)는, 통신 과정에서 마지막으로 수신된 신호에 포함된 최종 무결성 검사 데이터를 이용하여, 통신 과정에서 수신하였던 전체 신호의 무결성을 최종 검사할 수 있다. 즉, 상술한 바와 같이  통신 시에 송수신되는 무결성 검사 데이터는 이전 무결성 검사 데이터가 누적 반영되어 생성되는 것이므로 최종 무결성 검사 데이터에는 최초 무결성 검사 데이터부터 바로 이전 무결성 검사 데이터까지 모두 포함되어 있는 상태이다. 따라서, 이러한 최종 무결성 검사 데이터를 이용하여 데이터가 무결성이라고 판단되면, 전체 통신 내용에 대하여 신뢰성이 있다고 판단하고, 기록이 필요한 통신을 수행했을 경우  임시 저장되어 있던 전체 데이터들을 메모리부(140) 내의 저장부(142)에 저장한다.
한편, 메인 컨트롤러(110)와 CRUM 칩(210)은 최초 통신 시에는 최초 통신임을 알리는 표시를 신호에 포함시켜 전송하고, 최종 통신 시에는 최종 통신임을 알리는 표시를 신호에 포함시켜 전송한다. 이에 따라, 메인 컨트롤러(110)와 CRUM 칩(210)은 상대로부터 수신된 신호에 최종 통신 표시가 확인되면, 상술한 최종 검사를 수행하여 데이터들을 저장부(142)에 저장한다.
이러한 최종 검사는 하나의 화상형성잡이 완료되었을 때에 수행될 수도 있으며, 실시 예에 따라서는 기 설정된 시간 주기 단위로 수행될 수도 있다. 또한, 데이터 저장을 위한 사용자 명령이 입력되었을 경우나, 화상형성장치에 대한 턴-오프 명령이 입력되었을 경우, 화상형성장치와 소모품 유닛 간의 인증 과정 등에도 수행될 수 있다.
또한, 도 6 및 도 7에서는 데이터 처리부(111), 생성부(112), 검사부(113), 제어부(114)가 메인 컨트롤러(110)에 포함되는 구성으로 도시하였으나, 반드시 이에 한정되는 것은 아니다. 즉, 데이터 처리부(111), 생성부(112), 검사부(113), 제어부(114) 중 적어도 하나는 메인 컨트롤러(110)와 별도로 마련될 수도 있다. 이 경우, 도 1 내지 도 4에서 설명한 바와 달리, 메인 컨트롤러(110)는 원 기능만을 수행하고 CRUM 칩(210)과의 통신은 데이터 처리부(111), 생성부(112), 검사부(113), 제어부(114) 등에 의해 수행될 수도 있다.
도 8은 본 발명의 일 실시 예에 따른 CRUM 칩(210)의 구성을 나타내는 블럭도이다. 도 8에 따르면, CRUM 칩(210)은 인터페이스부(211), 검사부(212), 생성부(213), 데이터 처리부(214), 제어부(215), 임시 저장부(216), 저장부(217)를 포함한다.
인터페이스부(211)는 화상형성장치의 본체, 특히, 그 본체에 장착된 메인 컨트롤러(110)로부터 제1 데이터 및 제1 데이터에 대한 제1 무결성 검사 데이터를 포함하는 제1 신호를 수신한다.
검사부(212)는 제1 신호로부터 제1 무결성 검사 데이터를 분리하여, 제1 신호의 무결성을 검사한다. 검사부(212)의 검사 방법은 상술한 부분에서 설명한 바 있으므로, 중복 설명은 생략한다.
임시 저장부(216)는 제1 신호가 무결성이라고 판단되면, 제1 데이터 및 제1 무결성 검사 데이터를 임시 저장한다.
데이터 처리부(214)는 화상형성장치의 본체로 전송하여야 하는 제2 데이터가 존재하는 경우, 제2 데이터를 생성한다.
생성부(213)는 생성된 제2 데이터와 제1 무결성 검사 데이터를 이용하여, 제2 무결성 검사 데이터를 생성한다.
제어부(215)는 제2 데이터와 제2 무결성 검사 데이터를 포함하는 제2 신호를 화상형성장치의 본체로 전송하도록 인터페이스부를 제어한다. 그 밖에, 제어부(215)는 CRUM 칩(215) 전반의 동작을 제어한다. 즉, 상술한 바와 같이 CRUM 칩이 자체적으로 O/S를 구비하고 있는 경우, 제어부(215)는 O/S를 이용하여 CRUM 칩을 구동시킬 수 있다. 특히, 초기화 프로그램이 저장되어 있다면, 초기화도 화상형성장치의 본체와 별개로 수행할 수도 있다.
또한, 제어부(215)는 화상형성장치의 본체로부터 수신되는 각종 코맨드에 대응되는 작업을 수행한다. 즉, 읽기 코맨드가 수신된 경우에는, 그 코맨드에 따라 저장부(217)에 저장된 데이터를 리딩하여 인터페이스부(211)를 통해 화상형성장치로 전송한다. 이러한 과정에서 무결성 검사 데이터가 부가될 수 있다.
한편, 검사부(212)는, 제2 무결성 검사 데이터가 누적적으로 반영되어 생성된 제3 무결성 검사 데이터를 포함하는 제3 신호가 인터페이스부(211)를 통해 수신되면 제3 신호에 대한 무결성 검사를 수행한다.
그리고, 통신이 완료되면 통신 과정에서 마지막으로 수신된 신호에 포함된 최종 무결성 검사 데이터를 이용하여, 화상 형성 잡 수행 과정에서 수신하였던 전체 신호의 무결성을 최종 검사한다.
검사 결과 통신이 무결성 상태로 완료되었다면, 필요한 경우 임시 저장부(216)에 임시 저장되어 있던 데이터들은 저장부(217)로 저장된다.
즉, 제어부(215)는 통신이 최종 종료되면, 마지막 무결성 검사 데이터를 이용하여 최종 검사를 수행하도록 검사부(212)를 제어한다. 이에 따라, 검사부(212)의 최종 검사 결과, 무결성이라고 판단하고, 필요한 경우 제어부(215)는 임시 저장부(216)에 임시 저장되어 있던 데이터를 저장부(217)에 저장한다.
도 8의 CRUM 칩(210)의 동작 역시 도 7의 화상형성장치의 동작과 유사하다. 즉, 화상형성장치의 메인 컨트롤러(110) 및 소모품 유닛(200)의 CRUM 칩(210)은 도 1 내지 도 4에서 설명한 바와 같이, 서로 대응되는 동작을 수행한다. 따라서, 양측에는 무결성 검사 데이터를 생성하고, 이를 이용하여 검사하는 알고리즘이 공통적으로 마련되어 있어야 한다.
도 9는 본 발명의 일 실시 예에 따른 통신 방법을 설명하기 위한 흐름도이다. 도 9에서 설명하는 통신 방법은, 화상형성장치의 본체에 마련된 메인 컨트롤러(110)에서 수행될 수도 있고, 소모품 유닛(200)에 마련된 CRUM 칩(210)에서 수행될 수도 있다.
도 9에 따르면, 전송할 데이터가 생성되면(S910), 이를 이용하여 무결성 검사 데이터를 생성한다(S920). 무결성 검사 데이터의 생성에 대해서는 상술한 바와 같으므로 구체적인 설명은 생략한다.
그리고 나서, 생성된 무결성 검사 데이터와 데이터를 포함하는 신호를 전송한다(S930).
이에 따라 상대측으로부터, 전송된 신호에 대응되는 응답 신호를 수신한다(S940). 응답 신호에는 S930에서 전송한 무결성 검사 데이터가 누적 반영되어 생성된 새로운 무결성 검사 데이터가 포함된다.
이에 따라, 응답 신호에 포함된 무결성 검사 데이터를 이용하여, 무결성 검사를 수행한다(S950).
이와 같이, 본 발명의 간단한 적용에 따르면, 이전 무결성 검사 데이터를 누적적으로 사용하여, 매 통신의 무결성을 판단할 수 있다.
도 10은 좀 더 구체적인 실시 예에 따른 통신 방법을 설명하기 위한 흐름도이다. 도 10에 따르면, 전송할 데이터가 생성된 경우(S1010), 그 데이터에 기초하여 무결성 검사 데이터를 생성한다(S1020). 그리고 나서, 데이터 및 무결성 검사 데이터를 포함하는 신호를 전송하고(S1030), 그 신호에 대한 응답 신호를 수신한다(S1040). 이에 따라, 응답 신호로부터 무결성 검사 데이터를 분리한다(S1050).
그리고 나서, 무결성 검사 데이터가 분리된 나머지 데이터와, 기존 무결성 검사 데이터를 이용하여 무결성 여부를 판단한다(S1060).
판단 결과 무결성이라면 임시 저장하고(S1070), 에러 상태라면 통신을 중단하거나(S1100) 재시도를 수행한다.
한편, 임시 저장된 상태에서 후속 데이터가 존재하면(S1080), 다시 상술한 단계를 반복적으로 수행한다. 반면, 후속 데이터가 존재하지 않으면 최종 수신된 신호의 무결성 검사 결과에 따라, 임시 저장된 데이터를 저장한다(S1090).
이상과 같은 여러 실시 예들에서 무결성 검사 데이터는, 데이터 통신을 최초 개시할 때 화상형성장치의 메인 컨트롤러에서 전송하는 무결성 검사 데이터를 제외하면, 이전 통신 시의 무결성 검사 데이터가 누적 반영되어 생성된다. 결과적으로 최종 통신 시의 무결성 검사 데이터에는 일부 중요한 통신 과정에서 사용된 무결성 검사 데이터가 모두 포함된다. 따라서, 정확한 데이터를 기록할 수 있다.
결과적으로 통신 시에 발생하는 노이즈나 접점 불량, 소모품의 비정상적 변경 및 고의적인 변조, 해킹 등과 같은 외부적 요인으로부터 메인 컨트롤러와 CRUM 칩의 정보를 안전하게 보호할 수 있게 된다.
한편, 상술한 여러 실시 예들에서는 화상형성장치와 그 장치에서 사용되는 소모품 유닛에 탑재되는 CRUM 칩을 기준으로 설명하였으나, 상술한 통신 방법은 다른 유형의 장치에도 적용될 수 있다. 가령, 화상형성장치가 아니라 CRUM 칩과의 통신을 위하여 제작된 장치와 CRUM 칩 간의 통신의 경우, 일반 전자 장치와 그 장치에 사용되는 부품에 탑재된 메모리 간의 통신의 경우, 부품들 간의 통신의 경우 등에도 본 발명의 내용이 적용될 수 있음은 자명하다.
한편, 상술한 바와 같이 무결성 검사 데이터는 인증 과정 중 일부에서만 사용될 수도 있다. 즉, CRUM 칩이 장착된 소모품 유닛이 교체되거나, 화상형성장치가 부팅되는 경우, 데이터 업데이트를 수행하여야 하는 경우, 기 설정된 시간 주기 등이 도래하는 경우 등과 같은 다양한 이벤트가 발생하면, 화상형성장치의 본체에 구비된 메인 컨트롤러는 소모품 유닛의 CRUM 칩과 인증을 수행한다.
Crum 칩은 화상형성장치와 인증을 수행하여 Crum 칩이 해당 화상형성장치에 적합하다고 확인된 경우에만, Crum 칩으로부터 데이터를 읽거나 쓰는 작업을 하도록 만들어져 있다. 인증의 종류는 여러 가지가 될 수 있고 상황에 따라 선택될 수 있다. 예를 들면 부팅이나 소모품 유닛 교체와 같이 이전에 사용했던 Crum 칩의 정보를 활용할 수 없는 경우에는 상대적으로 시간이 더 걸리지만 암호강도가 높은 방법을 사용하고, 인쇄중간에 일부 데이터의 업데이트를 위해 인증하는 경우는 더 빠르고 단순한 인증을 수행할 수 있다. 인쇄 중간에 하는 인증의 예는 상대적으로 단순한 인증이지만 이전에 암호강도가 높은 인증에서 생성한 데이터를 기반으로 인증하기 때문에 암호강도가 더 취약한 인증은 아니다.
도 11은 화상형성장치의 본체와, 소모품 유닛에 탑재된 CRUM 칩 사이의 인증 과정을 설명하기 위한 도면이다. 도 11에 따르면, 화상형성장치의 본체(100)와 CRUM 칩(210)은 복수의 인증 과정(Auth-1 ~ 4)을 통해 최종 인증을 한다. 인증 과정(Auth-1 ~ 4)의 횟수와 순서 등은 실시 예에 따라 다양하게 변경될 수 있다. 특히, 화상형성장치의 본체(100)와 CRUM 칩(210)은 세션 키를 생성하기 위한 인증 과정, CRUM 칩의 적합성을 검증하기 위한 인증 과정을 수행할 수 있으며, 이러한 인증 과정 사이나 전 후에 적어도 한 번 이상의 인증 과정을 더 수행할 수도 있다.
도 11에 따르면, 전체 인증 과정은 기본 인증과 부가 인증으로 크게 구분될 수 있다. 기본 인증은 내부 인증(internal Authentication)을 수행하기 위한 제1 인증 과정(Auth-1)으로 이루어지고, 부가 인증은 다시 Auth-2, Auth-3, Auth-4 과 같은 여러 단계의 인증 과정으로 구성되어 있다.
이 중 제1 인증 과정(Auth-1)에서는 화상형성장치(100)와 CRUM 칩(210) 간에 상호 인증을 수행하고, 공통된 Session Key를 만들기 위한 작업을 수행한다. 화상형성장치(100)와 CRUM 칩(210) 은 대칭 키나 같은 암호화 알고리즘을 이용하여 통신시에 주고 받는 전체 또는 일부 데이터를 외부에서 볼 수 없도록 암호화하여 통신한다.
화상형성장치(100)와 CRUM 칩(210) 은 제1 인증 과정(Auth-1) 중에 주고 받은 데이터를 이용하여 공통된 Session Key를 만들고 이후 통신 과정 데이터의 암호화에 사용한다.
제2 인증 과정(Auth-2)은 화상형성장치(100)와 CRUM 칩(210)의 C-테이블(Combination Table)을 동일하게 만들기 위한 작업을 의미한다. C 테이블이란 화상형성장치(100) 및 CRUM 칩(210)이 상호 확인을 위한 정보, 즉, Query code를 보낼 때 그 값에 연산하기 위한 값이 기록되는 테이블을 의미한다. C 테이블은 다르게는 제1 테이블이라고 기재할 수도 있다(내용에 잘못된 것이 없는지 확인 부탁드립니다.)
화상형성장치(100)에서는 부팅이 될 때, 또는, 화상형성장치(100)와 CRUM 칩(210) 의 C-Table이 서로 일치하지 않는 것으로 확인되는 경우, 제2 인증 과정을 수행하여 양 측의 C-Table을 일치시킨다. 화상형성장치(100)와 CRUM 칩(210)의 C-Table이 서로 일치하는지 여부에 대해서는, 화상형성장치(100)에서 판단할 수 있다. 도 12는 제2 인증 과정을 좀 더 구체적으로 설명하기 위한 타이밍 도이다. 도 12에 따르면, 화상형성장치(100)는 PRT 데이터 및 REQUST_CMD(request command)를 생성한 후(S1110), CRUM 칩(210)으로 전송할 수 있다(S1220). REQUST_CMD는 다양한 포맷으로 구성될 수 있다. 일 예로, REQUST_CMD는 CMD∥E(PRT data) ∥MAC∥CRC(Cyclic Redundancy Check) or EDC(Error Detection and Correction bits)와 같이 구현될 수 있다. 여기서, E()란 암호화 알고리즘(Cryptography Algorithm)을 의미한다. 그리고, ∥는 기 설정된 연산 부호를 의미한다. 가령, 가산 부호가 될 수 있다.
CRUM 칩(210)은 REQUST_CMD가 수신되면, CRUM 데이터를 생성하고(S1230), 생성된 CRUM 데이터와 수신된 PRT 데이터를 이용하여 C 테이블을 생성한다(S1240). CRUM 칩(210)은 CRUM 데이터 및 PRT 데이터에 대해 약속된 연산(configuring function)을 적용하여 C 테이블을 생성할 수 있다.
또한, CRUM 칩(210)은 생성한 CRUM 데이터를 포함하는 RESPONSE를 생성하여(S1250), 화상형성장치(100)로 전송할 수 있다(S1260). RESPONSE는 E(CRUM data) ∥MAC∥CMD Result∥CRC or EDC와 같이 생성될 수 있다.
화상형성장치(100)는 수신된 CRUM data와 PRT 데이터를 이용하여 C Table을 생성한다(S1270). 화상형성장치(100) 역시 약속된 연산(configuring function)을 적용하여 C 테이블을 생성할 수 있다. 결과적으로, 화상형성장치(100) 및 CRUM 칩(210)은 동일한 C 테이블을 각각 보유할 수 있게 된다.
제2 인증 과정(Auth-2)이 완료되면, 제3 인증 과정(Auth-3)이 수행된다. 제3 인증 과정(Auth-3)은 화상형성장치(100) 및 CRUM 칩(210)이 Q테이블(Querey table)을 동일하게 맞추기 위한 과정이 될 수 있다. Q 테이블이란 퀘어리 코드(Query code)와 같이 상호 확인을 위한 데이터가 기록된 테이블을 의미한다. Q 테이블이라는 명칭 역시 다르게는 제2 테이블로 기재할 수도 있다.
도 13은 제3 인증 과정을 구체적으로 설명하기 위한 흐름도이다. 도 13에 따르면, 제2 인증 과정이 완료되면, 화상형성장치의 본체(100)는 본체가 가지고 있는 Q 테이블의 버전(즉, PRT Ver.)이 CRUM 칩(210)이 가지고 있는 Q 테이블의 버전(즉, CRUM Ver.)보다 큰지 판단한다(S1310). 판단 결과, PRT 버전이 CRUM 버전보다 크다면, 화상형성장치의 본체(100)는 CRUM 칩(210)으로 Q 테이블에 대한 정보를 제공한다. 이에 따라,CRUM 칩(210)은 화상형성장치의 본체(100)가 가지고 있는 버전의 Q 테이블에 맞추는 업데이트를 수행한다(S1320).
반면, PRT 버전이 CRUM 버전보다 작다면(S1330), CRUM 칩(210)이 화상형성장치의 본체(100)로 Q 테이블에 대한 정보를 제공한다. 이에 따라, 화상형성장치(100)가 CRUM 칩(210)이 가지고 있는 버전의 Q 테이블에 맞추는 업데이트를 수행한다(S1340).
이와 같이, Q 테이블의 업데이트로 인해 양 측의 Q 테이블이 일치해지거나, 원래부터 버전이 일치하였다면, Q 테이블에 기록된 값, 즉, Query code를 확인하는 작업을 수행한다(S1350). 퀘어리 코드를 확인하는 작업은 제4 인증 과정이 될 수 있으며, 이에 대해서는 후술하는 부분에서 구체적으로 설명한다.
도 14는 화상형성장치의 본체의 Q 테이블로 동기화시키는 과정을 설명하기 위한 타이밍도이다. 도 14에 따르면, 화상형성장치(100)는 CRUM 데이터를 요청하기 위한 REQUST_CMD1을 생성하여(S1410), CRUM 칩(210)으로 전송한다(S1415). CRUM 칩(210)은 REQUST_CMD1에 대한 응답 RESPONSE1을 생성하여(S1420), 화상형성장치(100)로 전송한다(S1425). RESPONSE1은 E1(E2(PRT Q DATA Index)∥CRUM Data) ∥MAC∥CMD1 Result∥CRC or EDC와 같은 방식으로 생성할 수 있다. 여기서, E1은 암호화 알고리즘을 의미하고, E2(PRT Q DATA Index)란 Q 테이블 인덱스를 가지고 Q 테이블에 대입하여 해당하는 Q 데이터를 얻고, 그Q 데이터를 임의의 제1 암호화 알고리즘을 이용하여 암호화하는 것을 의미한다.
화상형성장치(100)는 RESPONSE1 이 수신되면, Q 데이터를 비교한다 (S1430). 즉, 화상형성장치(100)는 저장된 Q 테이블 내에서 CRUM 칩(210)으로 전송한 인덱스에 대응되는 Q 데이터를 검출하고, 그 Q 데이터와 CRUM 칩(210)으로부터 전송된 Q 데이터를 비교하여, 동일한 값인지 확인한다. 확인 결과 불일치하면, 화상형성장치(100)는 REQUST_CMD2를 생성하여(S1435), CRUM 칩(210)으로 전송한다(S1440). REQUST_CMD2는 E1(E5(PRT Q TBL)∥MAC∥CRC or EDC와 같이 생성될 수 있다. 여기서 E5란 E1, E2와는 상이한 제2 암호화 알고리즘을 의미한다.
CRUM 칩(210)은 REQUST_CMD2가 수신되면, 화상형성장치의 Q 테이블의 버전과, CRUM 칩(210)의 Q 테이블의 버전을 비교하여 불일치하거나(S1445). CRUM 칩(210)의 Q 테이블의 룰과 상이한 룰이 적용되었다고 판단되면(S1450), 에러 응답을 발생한다. 이에 따라, CRUM 칩(210)은 PRT Q 테이블에 맞추어 자신의 Q 테이블을 업데이트한 후(S1455), RESPONSE2를 생성하여(S1460), 화상형성장치(100)로 전송한다(S1465). RESPONSE2는 CMD2 Result∥CRC or EDC와 같이 생성될 수 있다.
도 15는 CRUM 칩(210)의 Q 테이블에 동기화시키는 과정을 설명하기 위한 타이밍도이다. 도 15에 따르면, 화상형성장치(100)는 REQUST_CMD를 생성하여(S1510), CRUM 칩(210)으로 전송한다(S1520). CRUM 칩(210)은 수신된 코맨드에 따라 RESPONSE를 생성한 후(S1530), 화상형성장치(100)로 전송한다(S1540). RESPONSE는 E1(E2(CRUM Q DATA)∥E5(CRUM Q TBL))∥MAC∥CMD Result∥CRC or EDC 와 같은 형태로 생성될 수 있다. 화상형성장치(100)는 RESPONSE가 수신되면, 수신된 RESPONSE 내의 CRUM Q DATA를 체크하여, CRUM Q DATA와 응답 CRUM Q Data를 비교한다(S1550). 비교 결과 불일치하면, 에러 상태로 판단한다. 또한, 화상형성장치(100)는 수신된 CRUM Q 테이블이 Q 테이블을 만드는 룰에 맞는지 체크하여, 유효하지 않은 Q 테이블이라면 에러 상태로 판단한다(S1560).
화상형성장치(100)는 판단 결과 Q 테이블이 불일치하면, CRUM 칩(210)으로부터 수신된 데이터에 따라 Q 테이블을 업데이트시킨다(S1570). 결과적으로, 양측의 Q 테이블이 동기화된다.
이상과 같이, 제2 및 제3 인증 과정(Auth-2, Auth-3)은 제4 인증 과정(Auth-4)에서 주고 받는 데이터를 해석하기 위해서 화상형성장치(100)와 소모품 유닛(200)이 가진 정보를 동일하게 만들기 위한 과정이다. 기존 데이터가 동일한 경우에 제3 인증 과정(Auth-3)은 수행되지 않을 수 있다.
제4 인증 과정(Auth-4)은 적합성 확인을 위한 인증 과정이다. 제4 인증 과정에서는, 화상형성장치(100)와 소모품 유닛(200)은 제1인증과정(Auth-1)을 통해 생성된 Session Key와 제2 및 제3 인증 과정(Auth-2,3)에서 공유한 정보를 가지고 소모품 유닛(200) 또는 그 소모품 유닛(200)에 장착된 CRUM 칩(210)이 화상형성장치(100)에 적합한 CRUM Chip인지를 확인한다.
도 16은 제4 인증 과정(Auth-4)을 수행하는 방법을 설명하기 위한 타이밍도이다. 도 16에 따르면, 화상형성장치(100)는 Q 인덱스, C 인덱스 등을 선택한 후, 선택된 인덱스들을 포함하는 REQUST_CMD를 생성하여(S1610), CRUM 칩(210)으로 전송한다(S1620). CRUM 칩(210)은 수신된 REQUST_CMD를 이용하여 CRUM 데이터를 생성하고, 이를 포함하는 RESPONSE를 생성한 후, 화상형성장치(100)로 전송한다(S1640).
화상형성장치(100)에서는 RESPONSE가 수신되면, PRT Q 데이터를 생성하여(S1650), PRT Q 데이터와 RESPONSE에 포함된 CRUM 데이터를 비교한다(S1660). 비교 결과, 일치하면 적법한 CRUM 칩(210)이라고 판단하고, 인증을 완료한다.
화상형성장치(100)와 소모품 유닛(200)은 이상과 같은 인증 과정 중에서 세션 키를 만들기 위한 제1 인증 과정(Auth-1)과 적합성을 확인하기 위한 제4 인증 과정(Auth-4)에서 무결성 검사 데이터를 포함하는 신호를 송수신할 수 있다. 무결성 검사 데이터란, 이전에 수신된 신호에 포함된 무결성 검사 데이터를 누적 반영하여 생성하는 데이터를 의미한다. 이전에 무결성 검사 데이터를 포함하는 신호가 수신된 바 없는 경우, 즉, 무결성 검사 데이터를 최초로 생성하여야 하는 경우에는, 전송할 데이터만을 이용하여 무결성 검사 데이터를 생성할 수 있다.
제2 및 제3 인증 과정(Auth-2, Auth-3)은 주고 받는 통신 데이터가 다음 통신인 제4 인증 과정(Auth-4)에 영향을 미친다. 따라서, 이러한 중간 인증 과정에서는 무결성 검사 데이터를 이용하지 않더라도 제2 및 제3 인증 과정(Auth-2, Auth-3) 에 문제가 있으면 제4 인증 과정(Auth-4)이 실패하게 되고 결과적으로 최종 인증이 실패하게 된다. 따라서, 반드시 전체 인증 과정에 무결성 검사 데이터를 포함시킬 필요는 없으며, 무결성 검사 데이터는 인증의 중요 과정인 Auth-1과 Auth-4에만 적용될 수 있다. 하지만, 이는 일 실시 예에 불과하며, 필요에 따라서는 무결성 검사 데이터는 매 인증 과정 시마다 송수신될 수도 있고, 제2 및 제3 인증 과정 중 적어도 한 번의 인증 과정에서도 송수신될 수 있다. 
한편, 이상에서는 화상형성장치의 본체(100)와 CRUM 칩(200) 간의 인증으로 설명하였으나, 이러한 인증 작업은 본체(100)에 장착된 메인 컨트롤러(110)와 CRUM 칩(210) 사이에서 이루어질 수 있다.
도 17 및 도 18에서는 메인 컨트롤러(110)와 CRUM 칩(210) 사이에서 이루어지는 세부 인증 과정들을 구체적으로 설명한다.
도 17은복수의 인증 과정 중 세션 키를 생성하기 위한 제1 인증 과정(Auth-1)을 나타낸다. 설명의 편의를 위하여 세션 키를 생성하기 위한 인증 과정을 제1 인증 과정이라고 정의하였으나, 실제 인증 과정에서 세션 키를 생성하기 위한 인증 과정 이전에 다른 인증 과정이 먼저 수행될 수도 있음은 물론이다.
도 17에 따르면, 제1 인증 과정(Auth-1)은 com-1, com-2 과정으로 구분될 수 있다. com-1은 메인 컨트롤러(110)가 Crum 칩(210)으로 인증 작업을 위해 데이터를 보내는 과정이다. Com-1에서 송신되는 신호에는 CMD1, DATA1, CRC1, Symbol, VC1 등이 포함된다. CMD1은 코맨드를 의미한다. CMD1에는 인증 관련 옵션이나 보내는 DATA의 size정보가 들어갈 수 있다. DATA1은 인증에 필요한 데이터인 Random Data, 인증을 위한 암호관련 데이터 값, 화상형성장치에 저장되어있는 특정 정보 등으로 구성된다. 제1 인증 과정의 경우에는, DATA1에는 상술한 랜덤 데이터(R1)이외에, 키 사이즈 정보, 비대칭키 알고리즘에 사용되는 각종 키 관련 정보 등과 같은 세션 키 관련 데이터, 화상형성장치 본체(100)에 저장된 기타 정보 등이 송신될 수 있다. 경우에 따라서는, 이들 정보 중 일부는 생략될 수도 있으며, 다른 정보로 대체될 수도 있다.
랜덤 데이터(random data)는 인증을 위해 메인 컨트롤러(110)가 랜덤하게 생성하는 값일 수 있다. 따라서, 랜덤 데이터는 매 인증 시마다 달라질 수 있으나, 경우에 따라서는, 랜덤 데이터 대신에 임의로 설정된 하나의 값을 고정적으로 전송하는 형태로 구현될 수도 있다. CRC1은 오류검출 코드를 의미한다. CRC1은 CMD1과 DATA1의 오류를 확인하기 위하여 전송한다. CRC1 이외에 다른 오류검출 방법인 Checksum이나 MAC과 같은 방법을 추가로 사용할 수도 있고, 이러한 오류 검출 방법으로 CRC1을 대체하여 사용할 수도 있다.
com-1에서 symbol이란 무결성 검사 데이터를 지정하기 위한 지정자 역할을 하는 부분이다. 도 17에 따르면, SECU1과 같은 symbol이 사용된 경우를 도시하였다. symbol은 무결성 검사 데이터와 나머지 데이터를 구분하는 역할을 할 수 있으며, 무결성 데이터 연산의 종류를 나타낼 수도 있다. 도 17에서 사용하는 SECU1은 무결성 검사 데이터 기능을 사용해서 첫 번째 통신하는 것을 나타내는 symbol이다. VC1은 최초 생성하는 무결성 검사 데이터이다. VC1은 CMD1, DATA1, CRC1, SECU1 String으로 구성된 내용을 특정 수식에 따라 생성한다. VC1은 무결성 검사 데이터이지만 최초 생성되는 것이므로, 이전에 수신된 무결성 검사 데이터를 누적 반영하지 않고 나머지 데이터만으로 생성한다. VC1을 생성하는 방식에 대해서는 후술하는 부분에서 구체적으로 설명한다.
CRUM 칩(210)은 Com-1을 수신하면, 이에 응답하여 Com-2를 전송한다. Com-2에는 DATA2, SW2, CRC2, SECU2, VC2 등이 포함된다. 상술한 바와 같이 제1 인증 과정이 세션 키를 생성하기 위한 인증 과정이라면, Com-2의 DATA에는 제1 랜덤 데이터(R1), 제2 랜덤 데이터(R2), 칩 시리얼 넘버(Chip serial number : CSN), 비대칭 키 알고리즘에 사용되는 키 관련 정보, CRUM 칩의 내부 정보 일부 등과 이 포함될 수 있다. 제1 랜덤 데이터(R1)는 Com-1에서 수신된 값이고, 제2 랜덤 데이터(R2)는 CRUM 칩(210)이 자체적으로 생성한 값이다. Com-2에 포함되는 이들 정보들은 경우에 따라서는 생략되거나, 다른 정보로 대체될 수도 있다.
그 밖에, SW2란 Com-1의 코맨드에 따라 CRUM 칩(210)에서 수행된 작업의 수행 결과를 의미하는 결과 데이터(Result data)를 의미한다. CRC2나 SECU2는 com-1의 CRC1, SECU1과 같은 역할을 하는 부분이므로, 설명을 생략한다. VC2는 Com-1의 무결성 검사 데이터인 VC1을 누적 반영하여 생성되는 무결성 검사 데이터이다. CRUM 칩(210)은 Com-2로 전송할 DATA2, SW2, CRC2, SECU2와 VC1을 기 설정된 방식으로 조합하여 VC2를 생성할 수 있다. 그 생성 방식에 대해서는 후술하는 부분에서 구체적으로 설명한다. 
도 17에 도시된 바와 같이 제1 인증 과정이 이루어지면, 메인 컨트롤러(110)에서 생성한 제1 랜덤 데이터(R1)과 CRUM 칩(210)에서 생성한 제2 랜덤 데이터(R2)는 상호 공유될 수 있다. 메인 컨트롤러(110)와 CRUM 칩(210)은 수신된 R1, R2를 이용하여 각각 세션 키를 생성할 수 있다.
도 11에 도시된 바와 같이 인증 과정은 복수 횟수 이루어져서 최종 인증이 완성된다. 이 중 제4 인증 과정은 CRUM 칩(210) 또는 CRUM 칩(210)이 장착된 소모품 유닛(200)의 적합성을 확인하기 위한 인증 과정이다. 제1 인증 과정 및 제4 인증 과정 사이에는 제4 인증 과정을 준비하기 위한 적어도 한번의 인증 과정이 더 수행될 수 있다.
도 18은 적합성 확인을 위한 인증 과정을 설명하기 위한 도면이다. 도 11에서는 적합성 확인을 위한 인증 과정, 즉, 제4 인증 과정이 복수의 인증 과정 중에서 제일 마지막에 수행되는 것처럼 도시하였으나, 그 순서는 한정적이지 않음은 물론이다.
도 18에 따르면, 제4 인증 과정(Auth-4)은 com-3, com-4로 이루어진다. Com-3은 메인 컨트롤러(110)가 CRUM 칩(210)으로 신호를 전송하는 과정이고, Com-4는 CRUM 칩(210)이 메인 컨트롤러(110)로 신호를 전송하는 과정을 의미한다. Com-3에서는 CMD3, DATA3, CRC3, SECT1, VC3이 전송된다. CMD3은 com-3을 나타내는 코맨드이며, DATA3은 Auth-4 동작에 필요한 데이터를 의미한다. 메인 컨트롤러(110)는 CRUM 칩(210) 또는 소모품 유닛(200)의 적합성 확인을 위한 테이블을 미리 저장해 둘 수 있다. 가령, 복수의 테이블이 저장된 경우에는, DATA3에는 테이블 1의 임의의 제1 인덱스 정보(index 1), 테이블 2의 임의의 제2 인덱스 정보(index 2) 등이 포함될 수 있다. 메인 컨트롤러(110)는 제1 인증 과정을 통해 생성한 세션 키를 이용하여 DATA3을 암호화할 수 있다. SECT1은 무결성 검사 데이터를 활용한 통신의 마지막임을 알리기 위한 심볼 스트링이며, VC3는 무결성 검사 데이터이다. 메인 컨트롤러(110)는 CMD3, DATA3, CRC3, SECT1 String과 지금까지 생성된 모든 무결성 검사 데이터인 VC1, VC2를 사용하여 VC3을 생성할 수 있다. Com-3을 수신한 CRUM 칩(210)은 Com-4를 메인 컨트롤러(110)로 전송한다. Com-4에는 DATA4, SW4, CRC4, SECT2, VC4 등이 포함된다. DATA4에는 Com-3에서 받은 제1 및 제2 인덱스 정보 각각에 대응되는 제1값(value 1)과 제2값(value2)를 이용하여 생성되는 제3 값이 포함될 수 있다. 메인 컨트롤러(110)는 Com-4를 통해 확인된 제1, 2, 3값과 테이블을 비교하여 CRUM 칩(210) 또는 소모품 유닛(200)이 화상형성장치(100)에 적합한 것인지 확인할 수 있다. SW4, CRC4, SECT2의 역할은 상술한 바와 같으므로 중복 설명은 생략한다. VC4는 VC1, VC2, VC3이 누적 반영되어 생성되는 무결성 검사 데이터이다.
이상과 같이 무결성 검사 데이터는 복수의 인증 과정 중에서 적어도 일부의 인증 과정 중에 송수신될 수 있다. 이 경우, 이전에 사용된 무결성 검사 데이터가 존재하면 해당 무결성 검사 데이터를 누적 반영하여 생성할 수 있다. 즉, 무결성 검사 데이터는 다음과 같이 정리할 수 있다.
[수학식 1]
VCn of SECU(n)=CMD(+)DATA(+)SW(+)CRC(+)Symbol(+)VC(n-1)
VCn of SECT(n) = CMD(+)DATA(+)SW(+)CRC(+)Symbol(+)VC(1)(+)VC(2) (+)...(+)VC(n-2)(+)VC(n-1)
수학식 1에서 (+)란 XOR 등과 같은 논리 연산식을 의미할 수도 있고 또는 기타 암호화 알고리즘 수식을 의미할 수도 있다. 수학식 1에 따르면, 최종 인증 과정을 제외한 나머지 인증 과정에서 사용되는 무결성 검사 데이터인 VCn of SECU(n)는 전송할 데이터들 각각과 이전 수신한 무결성 검사 데이터인 VC(n-1)의 조합에 의해 생성될 수 있다. 반면, 최종 인증 과정에서 사용되는 무결성 검사 데이터인 VCn of SECT(n)는 전송할 데이터들 각각과 이전 인증과정에서 송신 또는 수신되었던 무결성 검사 데이터들 전체의 조합에 의해 생성될 수 있다. 가령, n번째 무결성 검사 데이터인 경우에는 1, 2, ..., N-1번까지의 무결성 검사 데이터가 모두 반영될 수 있다. 이에 따라, 인증 과정 중에 오류가 생기는 경우, 최종 인증 과정에서 이를 파악하여 인증을 완료하거나, 인증 실패로 판단할 수 있다.
도 19는 본 발명의 또 다른 실시 예에 따라, 인증 과정에서 무결성 검사 데이터를 이용하는 CRUM 칩의 구성을 나타내는 블록도이다. CRUM 칩(1400)는 상술한 바와 같은 다양한 소모품 유닛에 탑재되어 사용될 수 있다. 도 19에 따르면, CRUM 칩(1400)는 인터페이스부(1410), 검사부(1420), 생성부(1430), 제어부(1440)를 포함한다. 인터페이스부(1410)는 화상형성장치의 본체(100)와 연결되기 위한 구성요소이다. 인터페이스부(1410)는 다양한 인터페이스 방식을 채용할 수 있다. 일 예로 I2C 인터페이스(Inter-Integrated Circuit (I2C) Interface)가 사용될 수 있다.
인증을 수행하여야 하는 이벤트가 발생하면, 인터페이스부(1410)는 다양한 신호를 수신할 수 있다. 가령, 인터페이스부(1410)는 본체(100)로부터 인증을 위한 제1 데이터 및 제1 데이터에 대한 제1 무결성 검사 데이터를 포함하는 신호를 수신할 수 있다. 여기서 제1 데이터란 수신된 신호 중에서 제1 무결성 검사 데이터를 제외한 나머지를 의미한다. 가령, 도 17의 경우라면, 제1 데이터는 CMD1, DATA1, CRC1, SECU1을 의미한다. 여기서 DATA1에는 제1 랜덤 데이터 등과 같은 각종 데이터가 포함될 수 있다.
검사부(1420)는 수신된 신호로부터 제1 무결성 검사 데이터, 즉, VC1을 분리하여, 신호의 무결성을 검사할 수 있다. 구체적으로는, 도 17의 제1 인증 과정에 따르면, 검사부(1420)는 CMD1(+)DATA1(+)CRC1(+)SECU1을 연산하여 VC1을 산출할 수 있다. 검사부(1420)는 Com-1로부터 분리된 VC1과 직접 산출한 VC1을 비교하여 일치하면 com-1이 무결성이라고 판단할 수 있다.
제어부(1440)는 무결성이라고 판단되면 VC1을 비롯해서 필요한 일부 데이터들을 임시 저장할 수 있다. 그리고, 제1 인증 과정을 수행하기 위하여 생성부(1430)를 제어한다. 
생성부(1430)는 화상형성장치의 본체와의 인증을 위한 제2 데이터와, 제1 무결성 검사 데이터를 이용하여, 제2 무결성 검사 데이터를 생성한다. 이 경우, 생성부(1430)는 랜덤 값 생성 알고리즘을 이용하여 제2 랜덤 데이터를 생성할 수 있다. 상술한 수학식 1을 사용하는 실시 예에 따르면, 제2 무결성 검사 데이터는 DATA2(+)SW2(+)CRC2(+)SECU2(+)VC1의 결과값으로 산출될 수 있다.
제어부(1440)는, 본체(100)로부터 수신한 데이터를 이용하여 제1 인증 동작을 수행할 수 있다. 구체적으로는, 본체(100)로부터 수신한 제1 랜덤 데이터(R1)와 생성부(1430)에서 생성한 제2 랜덤 데이터(R2) 등을 이용하여 세션 키를 생성할 수 있다.
또한, 제어부(1440)는 제2 데이터, 즉, DATA2, SW2, CRC2, SECU2와 함께, 산출된 제2 무결성 검사 데이터를 포함하는 신호를 인터페이스부(1410)를 통해 화상형성장치의 본체(100)로 전송한다. 화상형성장치의 본체(100) 역시 수신된 신호로부터 제1 및 제2 랜덤 데이터를 검출하고, 이를 이용하여 세션 키를 생성할 수 있다.
한편, 인증은 복수 번의 인증 과정을 통해 이루어진다. 즉, 제어부(1440)는 제1 데이터 및 제2 데이터를 이용하여 세션 키를 생성한 이후에, 복수의 후속 인증 과정을 수행할 수 있다.
복수의 후속 인증 과정 중에는, 상술한 제4 인증 과정과 같이 적합성 검사를 위한 인증 과정이 포함될 수 있다. 이러한 인증 과정에서는 이전까지 송신 또는 수신하였던 무결성 검사 데이터들이 누적 반영된 새로운 무결성 검사 데이터가 송신 또는 수신될 수 있다.
구체적으로는, 인터페이스부(1410)는 제3 데이터 및 제3 무결성 검사 데이터를 포함하는 신호를 화상형성장치의 본체(100)로부터 수신할 수 있다. 제3 무결성 검사 데이터는, 화상형성장치 본체(100)의 메인 컨트롤러(110)가 이전까지 사용하였던 무결성 검사 데이터와 제3 데이터를 이용하여 생성한 데이터를 의미한다. 제4 인증 과정이 최종 인증 과정인 경우, 제3 무결성 검사 데이터 생성을 위해서는 제1, 2 무결성 검사 데이터가 모두 반영될 수 있다.
제어부(1440)는 제3 데이터 및 제3 무결성 데이터가 수신되면, 검사부(1420)를 제어하여, 검사한다. 검사 방법은 상술한 바와 같으므로, 중복 설명은 생략한다.
제어부(1440)는 검사 결과 제3 데이터에 문제가 없다고 판단되면, 제4 무결성 검사 데이터를 생성하도록 생성부(1430)를 제어한다. 생성부(1430)는 제4 데이터와 함께 제1, 2, 3 무결성 검사 데이터를 상술한 수학식 1에 반영하여 제4 무결성 검사 데이터를 생성할 수 있다.
제어부(1440)는 제4 무결성 검사 데이터가 생성되면, 제4 데이터 및 제4 무결성 검사 데이터를 포함하는 신호를 화상형성장치의 본체(100)로 전송한다.
상술한 바와 같이 제4 인증 과정이 적합성 여부를 검사하기 위한 인증 과정이라면, 제3 데이터는 화상형성장치에 기 저장된 테이블 내의 인덱스 정보를 포함하고, 제4 데이터는 그 인덱스 정보에 대응되는 값을 포함하는 데이터로 구현될 수 있다.
한편, 인터페이스부(1410)는 접촉식 또는 커넥터 식으로 구현될 수 있다. 인터페이스부(1410)의 접촉 형태나 통신 방식에 대해서는 후술하는 부분에서 구체적으로 설명한다.
이상 설명한 바와 같이 무결성 검사 데이터는 실시 예에 따라 인증이나 데이터 통신 과정의 일부에서 또는 전체적으로 사용될 수 있다.
도 20은 화상형성장치나 소모품 유닛에 기록이 필요하지 않은 통신 상황에서 무결성 검사 데이터를 활용하는 방법을 설명하기 위한 도면이다. 구체적으로는 인증 과정 중 일부에서 무결성 검사 데이터가 활용될 수 있다.
도 20에 따르면, 메인컨트롤러(110)와 CRUM칩(210)은 인증을 위해서 총 8회의 통신을 수행하고, 그 중 4회 정도 무결성 검사데이터를 확인한다.
마지막 무결성 검사는 마지막 인증과정인 8번째에서 끝나며, 그 뒤에 이어지는 데이터의 Read Write과정에서는 무결성 검사 데이터는 사용하지 않는다. 즉, 무결성 검사과정은 신인증1, 인증2, 인증7, 인증8 에서만 하고, 인증7, 인증8에서는 전체 무결성 검사를 하게 된다. 도 20에서 한 번의 신호 송수신 과정을 묶어서 한번의 인증 과정이라 칭할 수 있다. 가령, S1510 및 S1530 과정이 제1 인증 과정, S1550 및 S1560 과정이 제2 인증 과정, S1570 및 S1580 과정이 제3 인증 과정, S1590 및 S1620 과정이 제4 인증 과정이 될 수 있다.
도 20에 따르면, 메인 컨트롤러(110)는 데이터무결성 검사 데이터 1을 포함하는 신호 com-1을 전송한다(S1510). 데이터에는 인증 시작데이터 1(인증data 1)과, 인증 DATA1, 인디케이터 SEC U1이 포함된다. 인증 시작데이터 1에는 코맨드 뿐만 아니라 인증에 필요한 데이터 등이 포함된다. SEC U1은 인증 시작데이터 1에 이어지는 인디케이터 정보를 의미한다. 인디케이터 정보 SEC U1은 신호 내에서 무결성 검사 데이터의 파싱(parsing) 위치를 알려주기 위한 심볼을 의미한다. 인디케이터 정보는 고정된 개수의 바이트로 표시될 수 있다. 일 예로 5 바이트가 인디케이터 정보를 위해 사용될 수 있다. 반면, 인증 데이터 1의 크기는 데이터의 내용에 따라 가변적이고, 이에 따라, 무결성 검사 데이터 1의 크기 역시 가변적이다.
CRUM 칩(210)은 com-1이 수신되면, 신호에 포함된 무결성 검사 데이터 1을 이용하여 무결성 검사를 수행한다(S1520). 그리고 나서, 전송할 데이터와 무결성 검사 데이터 1을 이용하여 무결성 검사 데이터 2를 생성한 후, 이들을 포함하는 신호 com-2를 전송한다(S1530). 구체적으로는, CRUM 칩(210)은 인증 시작데이터 1에 따라 소모품 유닛 내에 마련된 기능을 수행하고, 그에 따라 생성되는 랜덤 데이터나 기타 다른 기능들에 필요한 데이터들을 모아서 인증 데이터 2를 구성한다. 그리고, 인증 시작데이터 1에 따라 수행된 작업의 수행 결과를 의미하는 결과 데이터(Result data) 2를 구성한다. CRUM 칩(210)은 인증 데이터 2, 결과 데이터 2, 인디케이터 SEC U2, 무결성 검사 데이터 2가 포함하는 신호 com-2를 전송한다(S1530).
메인 컨트롤러(110)는 com-2가 수신되면, 수신된 com-2로부터 무결성 검사 데이터 2를 분리하여 무결성 검사를 수행한다(S1540).
상술한 무결성 검사 단계(S1520, S1540) 중 적어도 하나에서 결함이 있는 것으로 판단되면, 메인 컨트롤러(110)나 CRUM 칩(210)은 인증 과정을 중지하고 인증 실패로 판단할 수 있다. 이 경우, 메인 컨트롤러(110)는 본체(100)에 구비된 사용자 인터페이스부(120)를 통해서 인증 실패를 알릴 수도 있다.
반면, 무결성으로 판단되면, 메인 컨트롤러(110) 및 CRUM 칩(210)은 후속 인증 과정들을 순차적으로 수행한다.
도 20에서 두 번째 및 세 번째 인증 과정에서는 무결성 검사 데이터가 사용되지 않는 것으로 설명한다. 이 경우, 후속 인증 3이 존재하더라도 메인 컨트롤러(110)는 추가로 무결성 검사 데이터 3을 생성하지 않고 인증 코맨드 3 및 인증 데이터 3을 포함하는 신호 com-3을 CRUM칩(210)으로 전송한다(S1550).
CRUM 칩(210)은 수신되었을 때 무 결성 검사 없이 작업을 수행한다. 구체적으로는, CRUM 칩(210)은 인증 데이터 4 및 인증 결과 데이터 4를 포함하는 신호 com-4를 메인 컨트롤러(110)로 전송한다(S1560).
메인 컨트롤러(110) 역시 무결성 검사 없이 인증 코맨드 5 및 인증 데이터 5를 포함하는 신호 com-5를 전송하고(S1570), CRUM 칩(210)은 인증 데이터 6 및 인증 결과 데이터 6을 포함하는 신호 com-6을 전송한다(S1580). 이상과 같이, 무결성 검사 데이터 없이 제2 및 제3 인증 과정이 이루어질 수 있다.
메인 컨트롤러(110)는 최종 인증 과정에서는 다시 무결성 검사 데이터를 수행한다. 즉, 메인 컨트롤러(110)는 인증 코맨드 7, 인증 데이터 7, SECT7과 함께, 기존의 모든 무결성 검사 데이터인 무결성 검사 데이터 1, 2를 이용하여, 무결성 검사 데이터 7을 생성한다. 그리고, 이들을 포함하는 신호 com-7을 CRUM 칩(210)으로 전송한다(S1590).
CRUM 칩(210)은 무결성 검사 데이터 7을 이용하여 전체 통신 과정에서 송수신되어 임시 저장되어 있던 데이터들의 무결성을 최종 검사한다(S1600). 최종 검사 결과 무결성이라고 판단되면 CRUM칩(210)은 인증을 성공한 상태로 판단하여(S1610), 화상형성장치로 보낼 데이터를 생성하는 등의 다음 과정을 수행한다. 인증 과정에서 메모리에 기록할 내용이 없는 경우에는 임시 저장되어 있던 데이터가 없으므로메모리(미도시)에 저장하는 과정도 생략될 수 있다.
CRUM 칩(210)은 인증 데이터 8, 인증 결과 데이터 8, SEC T8, 무결성 검사 데이터 8을 포함하는 신호 com-8을 메인 컨트롤러(110)로 전송한다(S1620). 무결성 검사 데이터 8 생성에는 이전까지 송수신되었던 무결성 검사 데이터 1, 2, 7이 모두 사용된다.
메인 컨트롤러(110) 역시 CRUM 칩으로부터 수신한 인증 8 통신 신호에 포함된 무결성 검사 데이터 SEC T8을 이용하여 전체 무결성 검사를 수행한다(S1630). 이에 따라, 무결성이라고 판단되면(S1640), 인증성공상태가 된다. 메인 컨트롤러(110)는 인증 성공 상태가 되면 세션키를 만들거나 다음 동작을 수행하는 등의 작업을 한다. 마찬가지로 인증과정에서 메모리에 기록할 내용이 없는 경우에는 임시 저장되어 있던 데이터가 없으므로 메모리에 저장하는 과정은 생략될 수 있다.
한편, 이러한 통신 과정에서 사용되는 무결성 검사 데이터들은 이전에 사용된 무결성 검사 데이터가 누적 반영되어 생성된다.
일 예로, 무결성 검사 데이터는 다음과 같이 처리될 수 있다.
무결성 검사 데이터 1 = E(인증CMD |인증 데이터 1 |SEC U1)
무결성 검사 데이터 2 = E(인증 데이터 2|인증 Result 2|SEC U2|무결성 검사 데이터 1)
무결성 검사 데이터 T1 = E(인증 CMD 7| 인증 데이터 7|무결성 검사데이터 1|무결성 검사 데이터 2)
무결성 검사 데이터 T2 = E(인증 데이터 8|인증 Result 8 | SEC T2|무결성 검사데이터 1 | 무결성 검사 데이터 2 | 무결성 검사데이터 T1)
상술한 수식들에서 E()란 기 설정된 수식을 적용하여 결과값을 구하는 함수를 의미한다. 또한, 도 17 및 도 18에서 설명한 바와 같이, 인증 Data 혹은 인증 Result 로 표현된 데이터 내에는 기존에 개별적인 통신안정을 위해 사용되는 checksum이나 MAC 과 같은 검증 데이터도 같이 포함될 수 있음은 물론이다.
구체적으로는, 일부 인증 과정에서 사용되는 무결성 검사 데이터는 도 21 내지 도 24에 도시된 바와 같이 구성될 수 있다.
도 21은, 제1 인증 과정 중에 메인 컨트롤러(110)가 CRUM 칩(210)으로 전송하는 제1 무결성 검사 데이터를 나타낸다. 도 21에 따르면, 메인 컨트롤러(110)는 통신 데이터의 처음 8byte와 그 다음 8byte를 특정 수식 또는 암호 알고리즘에 적용하여 새로운 8byte 값을 생성한다. 이렇게 생성된 값을 그 다음 8byte와 함께 연산하여 다음 값을 만든다. 이런 방법으로 SECU1까지 같은 수식 또는 알고리즘으로 값을 생성하여 무결성 검사 데이터를 만들 수 있다. 생성된 무결성 검사 데이터는 임시 저장해 놓는다. 마지막 8byte에서 데이터의 수가 8byte가 되지 않으면 0x00 과 같은 특정 값을 갖는 padding을 넣어 8byte를 맞출 수 있으며, 이와 달리, 부족한 byte 부분은 연산을 생략할 수 있다.
무결성 검사 데이터(VC)를 생성할 때 SECU로 되어있는 경우에는 바로 이전에 사용했던 무결성 검사 데이터를 사용해야 하나, 도 21의 무결성 검사 데이터는 최초 전송되는 것이므로, 이전 무결성 검사 데이터가 없다. 이때에는 0x00과 같이 특정값으로 초기화되어 있는 무결성 초기 데이터를 사용하거나, 이전 무결성 데이터를 포함하지 않고 연산하는 방법을 사용할 수도 있다. 위의 조건은 화상형성장치와 CRUM Chip이 동일한 방법으로 무결성 데이터를 생성하는 경우에는,  동작에 문제가 되지 않는다.
상술한 바와 같이, CRUM Chip 에서는 제1 인증 과정 중에 com-1을 수신하면, CRC로 CMD와 DATA의 값을 검사하여 문제가 없는지 확인한다. 그리고, SECU1 String 을 포함한 앞의 통신 데이터를 이용하여, 도 21에서 설명한 무결성 검사 데이터 생성 방식에 따라 값을 생성한다. 그리고, 제1 인증 과정에서 수신한 신호에 포함된 VC1과 비교하여 동일한지 확인한다. 즉, CRUM 칩(210)은 화상형성장치의 메인 컨트롤러(110)와 동일한 방법으로 무결성 검사 데이터를 생성하여 비교한다.
만약 무결성 데이터 검증에 문제가 있을 경우 CRUM은 다음 인증 작업을 수행하지 않는다. 이때 화상형성장치는 CRUM Chip의 오류를 확인할 수 있고, 작업을 중단시키거나 재시도하는 동작을 할 수 있다. 무결성 데이터검증이 이상이 없는 경우 VC1을 임시 저장하고 다음 작업을 수행한다.
구체적으로는, CRUM 칩(210)은 DATA의 내용에 따라서 암호인증을 위한 작업을 수행하고 화상형성장치에서 사용할 암호 관련 데이터, CRUM 칩(210)에 저장되어 있는 특정 데이터, CRUM Chip의 Serial Number, random data등을 DATA로 하는 com-2를 생성한다. 이때, CRUM 칩(210)은 DATA 전체 또는 일부를 대칭키 또는 비대칭키와 같은 암호방식으로 암호화할 수 도 있다. com-2의 내용은, DATA, 받은 command에 따른 작업 성공 실패 결과를 나타내는 SW, 오류검출코드인 CRC2, symbol, VC1 및 VC2이다. 경우의 symbol은 SECU2 String으로 정한다. 무결성 검사 데이터 2, 즉, VC2는 도 22에 도시된 방법으로 생성될 수 있다.
즉, 도 22에 따르면, DATA2, SW2, CRC2, SECU2, VC1을 8바이트 씩 구분하고, 구분된 각 데이터들을 특정 수식 또는 암호 알고리즘에 적용하여 순차적으로 연산한다. 상술한 바와 같이 데이터 길이에 따라 padding이 사용될 수도 있다. 결과적으로, VC2가 생성된다. 생성된 VC2는 CRUM Chip(210) 내에 임시 저장된다.
도 23 및 도 24는 제4 인증 과정에 사용되는 무결성 검사 데이터들의 생성 방법 및 구성을 나타낸다.
도 20의 경우를 예로 들면, 메인 컨트롤러(110)는 com-7을 전송할 때 무결성 검사 데이터를 이용하고, CRUM 칩(210)은 com-8을 전송할 때 무결성 검사 데이터를 이용한다.
com-7의 구성은 com-7을 나타내는 CMD, Auth-4 동작에 필요한 DATA, CRC 그리고 무결성 검사 데이터를 활용한 통신의 마지막임을 알리는 Symbol String과 VC3이다. 이때 DATA는 Auth-1에서 생성한 Session Key로 암호화한다. com-7의 symbol string은 SECT1 이다.
도 23에 따르면, VC3는 CMD3, DATA3, CRC3, SECT1 String과 지금까지 생성된 모든 무결성 검사데이터인 VC1, VC2에 의해 생성된다. 메인 컨트롤러(110)는 생성된 VC3는 임시 저장해 놓는다. CRUM 칩(210)에서는 com-7이 수신되면, 도 23에 도시된 것과 동일한 방식으로 무결성 검사 데이터를 생성한다. VC1 및 VC2가 Auth-1과정에서 CRUM Chip(110)내에 임시 저장되어 있기 때문에 VC3와 동일한 무결성 검사 데이터를 생성할 수 있다. 만약 무결성 데이터 검증에 문제가 있을 경우 CRUM은 다음 인증 작업을 수행하지 않는다. 이때 화상형성장치는 CRUM Chip의 오류를 확인할 수 있고, 작업을 중단시키거나 재시도하는 동작을 할 수 있다.
문제가 없는 경우 CRUM칩(210)은 DATA를 Session Key로 복호화 하여 Auth-4에 필요한 작업을 수행하고, 화상형성장치에 응답할 com-8 데이터를 생성한다. com-8은, Auth-4에 필요한 DATA, SW, CRC, SECT2 String 및 최종 무결성 데이터인 VC4로 구성된다. DATA는 Session Key로 암호화 한다.
도 24는 VC4의 생성 방법 및 구성을 나타낸다. 도 24에 도시된 바와 같이, CRUM 칩(210)은 DATA4, SW4, CRC4, SECT2 String 및 VC1, VC2, VC3에 대해서 8 바이트씩 순차적으로 연산을 수행하여 VC4를 생성할 수 있다.
화상형성장치의 메인 컨트롤러(110)는 com-8이 수신되면, DATA4, SW4, CRC4, SECT2 String 및 화상형성장치 본체(100)에 임시 저장되어 있는 VC1, VC2, VC3을 이용하여 VC4를 생성하고 비교하여 무결성 여부를 확인한다. 무결성 검사에 이상이 없으면 DATA를 Session Key로 복호화 해서 최종 인증 작업을 수행한다. 이에 따라, CRUM Chip(210) 또는 그 CRUM 칩(210)이 장착된 소모품 유닛(200)이, 화상형성장치(100)에 적합한 것으로 확인되면 최종인증을 성공한 것으로 판단하고, 이후의 통신작업을 수행할 수 있다.
한편, 상술한 바와 같이 소모품 유닛(200)은 화상형성장치의 본체(100)로부터 탈부착될 수 있다. 소모품 유닛(200)이 장착될 때는 본체(100)와 전기적으로 연결되어야 한다. 이러한 연결은 접촉식 또는 커넥터식으로 구현될 수 있으며, 소모품 유닛(200)과 본체(100) 간의 통신은 I2C 방식으로 이루어질 수 있다.
도 25는 접촉식으로 이루어진 인터페이스부(1410)의 외관 구성 예를 나타낸다. 도 25에 따르면, 소모품 유닛(200)은 통신을 위한 접점부(2010)를 포함한다. 화상형성장치의 본체(100)에도 접점부가 마련된다. 소모품 유닛(100)이 본체(100)에 장착되면, 인터페이스부(1410)는 접점부(2010)를 통해서 화상형성장치의 본체(100)에 마련된 접점부와 상호 접촉하여, 전기적으로 접속된다.
도 26은 접촉식으로 구현된 소모품 유닛(200)과 화상형성장치의 본체(100)가 연결된 상태를 나타내는 도면이다. 도 26에 따르면, 화상형성장치의 본체(100)에는 접점부(2020), 메인 컨트롤러(110)를 비롯한 각종 부품들이 배치되는 메인 보드(2040), 그 메인 보드(2040)와 접점부(2020)를 연결하기 위한 연결 케이블(2030) 등이 마련된다. 소모품 유닛(200)이 도 26에 도시된 바와 같이 본체(100) 내에 장착되면, 소모품 유닛(200)에 마련된 접점부(2010)와 본체(100) 접점부(2020)가 자연스럽게 접촉되면서 전기적으로 연결된다.
도 25 및 도 26과 같은 접촉식으로 구현된 경우, 접촉 면을 고정시켜주는 부분이 없다. 따라서, 화상형성장치에서 진동이 생기면 접점부들(2010, 2020)이 일시적으로 떨어질 수 있어 통신상에 문제가 발생할 수 있다. 즉, 화상형성장치에 장착된 소모품 유닛의 접점이 떨어지면 잘못된 Data를 주고 받을 수 있게 된다. 하지만, 상술한 바와 같이 무결성 검사 데이터를 이용하여 인증이나 데이터 통신을 수행하게 되면, 이러한 문제점을 해결할 수 있다. 즉, 메인 컨트롤러(110)나 CRUM 칩(210)은 접점이 정상적으로 붙어 있는 상태에서 수신한 이전 데이터와, 접점이 불안정한 상황에서 수신한 데이터의 무결성 검사 데이터를 확인하여 인증 실패 또는 통신 에러로 판단할 수 있다. 이에 따라, 데이터 리드나 롸이트 같은 동작을 수행하지 않을 수 있으므로, 소모품 유닛(200)에 잘못된 정보가 기록되는 것을 방지할 수 있다.
도 27은 커넥터 식으로 이루어진 인터페이스부(1410)의 외관 구성 예를 나타내는 도면이다. 도 27에 따르면, 소모품 유닛(200)은 통신을 위한 커넥터(2210)를 포함한다. 커넥터(2210)는 화상형성장치의 본체(100)에 마련된 포트(2220)에 연결된다. 도 27과 같이 커넥터 식으로 구현될 경우에도 커넥터(2210)와 포트(2220) 사이에 이물질이 들어가거나, 고정 부위가 파손된 경우에는 접촉 불량이 발생할 수 있다. 따라서, 이러한 경우에도 본 발명의 다양한 실시 예에 따라 무결성 검사 데이터를 이용하여 인증이나 데이터 통신을 수행하여, 오동작을 방지할 수 있다.
한편, 소모품 유닛(200)과 화상형성장치의 본체(100) 사이의 통신은 시리얼 통신 방식이 사용될 수 있다. 일 예로, I2C 통신 방식이 사용될 수 있다.
도 28은 I2C 통신 방식에 따라 소모품 유닛(200)과 화상형성장치의 본체(100) 사이에서 송수신되는 각종 신호 파형을 나타낸다. I2C 통신 방식은 슬레이브에 전원을 공급하는 VCC와 GND, 메인 컨트롤러(110)와 CRUM 칩(210)의 동기를 위한 클럭(clock)을 공급하는 SCL 및 I2C 인터페이스의 데이터 라인인 SDA 등으로 이루어진다. I2C 통신 방식은 이와 같이 간단한 구조를 가지고 있고 하나의 버스에 여러 개의 노드를 연결할 수 있는 장점이 있다.
한편, I2C 통신 방식은 원래 하나의 보드로 구성된 회로 안에서 IC 들 간의 통신을 위해 만들어진 방식이어서, 통신상의 에러 검증을 위한 구성을 가지고 있지 않다. 하지만, 상술한 바와 같이, 소모품 유닛과 화상형성장치가 통신하는 과정에서는 다양한 통신 오류 원인이 발생할 수 있다.
구체적으로는, 서로 연결된 접촉면에 전기적 노이즈 간섭이 발생한다거나, 먼지나 토너 가루 같은 것들에 의해 통신에 영향을 받는다거나, 진동에 의해 접촉면의 접점이 떨어진다거나 하는 예상치 못한 저항이 발생하는 경우가 있을 수 있다. 또한, I2C 통신 방식에서, 클럭(SCL)이 일정하지 못하게 되거나, 전송 데이터(SDA)가 화상형성장치와 소모품 유닛간의 인증이 풀어져서 잘못된 통신데이터가 전송되는 현상이 발생할 수도 있다.
도 29는 도 28의 I2C 신호 중에서 SDA와 SCL을 확대한 도면이다. 도 29에 따르면, 1회에 8번의 일정한 high/low 신호를 갖는 SCL 신호가 있고 여기에 맞춰 SDA로 high/low 신호를 만들어 1byte의 Data를 표현한다. 즉 SCL이나 SDA에서 1번의 high/low 신호가 1bit를 표현하게 된다.
이러한 I2C 방식은 통신 중에 문제가 발생할 경우 1bit만 신호의 왜곡이 생겨도 정상적인 데이터를 전송할 수 없을 수 있다. 예를 들면, 이진수로 표현된 4byte 데이터 00000000 00000000 00000000 00000000(10진수로 0)를 전송하는데 통신문제가 생겨서 제일 앞자리인 1bit만 변경되어도 10000000 00000000 00000000 00000000(10진수로 2147483648)가 되므로, 크게 차이가 날 수 있다.
하지만, 상술한 본 발명의 다양한 실시 예들에 따르면, 이러한 통신 상의 오류가 발생하더라도, 이전에 송신 또는 수신하였던 무결성 검사 데이터를 이용하여 바로 검사할 수 있으며, 최종 단계에서도 무결성 검사 데이터를 이용하여 전체 데이터들의 무결성을 최종적으로 확인할 수 있다. 따라서, 인터페이스부(1410)가 접촉식이나 커넥터 방식으로 본체와 연결된다고 하더라도, 또한, I2C 통신 방식에 따라 본체(100)와 소모품 유닛(200) 사이의 통신이 이루어진다고 하더라도, 잘못된 인증이나 데이터 통신이 이루어져 잘못된 데이터가 기록되는 경우를 방지할 수 있게 된다.
상술한 본 발명의 다양한 실시 예들에 따른 인증 방법 또는 통신 방법은, 각각 소프트웨어로 코딩되어 비일시적 판독 가능 매체에 기록될 수 있다. 비일시적 판독 가능 매체는 화상형성장치나 소모품 유닛, CRUM 칩 뿐만 아니라 다양한 유형의 장치에 설치될 수 있으며, 이에 따라 다양한 장치에서 상술한 인증 방법이나 통신 방법이 구현될 수 있다. 
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100 : 본체             110 : 메인 컨트롤러
200 : 소모품 유닛  210 : CRUM 칩

Claims (10)

  1. 화상형성장치와 통신 가능한 CRUM칩에 있어서,
    상기 화상형성장치의 본체로부터 제1 데이터 및 상기 제1 데이터에 대한 제1 무결성 검사 데이터를 포함하는 제1 신호를 수신하는 인터페이스부;
    상기 제1 무결성 검사 데이터를 이용하여, 상기 신호의 무결성을 검사하는 검사부;
    무결성 검사 데이터를 생성하기 위한 생성부;
    상기 검사부 및 상기 생성부의 동작을 제어하는 제어부;를 포함하며,
    상기 제어부는,
    상기 검사부에서 상기 제1 무결성 검사 데이터를 포함한 상기 제1 신호의 무결성이 확인되면, 상기 화상형성장치의 본체로 전송할 제2 데이터 및 상기 제1 무결성 검사 데이터를 이용하여 제2 무결성 검사 데이터를 생성하도록 상기 생성부를 제어하고,
    상기 제2 데이터와 상기 제2 무결성 검사 데이터를 포함하는 제2 신호를 상기 인터페이스부를 통해 상기 화상형성장치의 본체로 전송하는, CRUM 칩.
  2. 제1항에 있어서,
    상기 제1 무결성 검사 데이터 및 상기 제2 무결성 검사 데이터를 저장하기 위한 저장부;를 더 포함하는 CRUM 칩.
  3. 제2항에 있어서,
    상기 제어부는,
    상기 화상형성장치로부터, 제3 데이터 및 상기 제3 데이터에 대한 제3 무결성 검사 데이터를 포함하는 제3 신호가 수신되면, 상기 제3 무결성 검사 데이터를 이용하여 상기 제3 신호를 최종 검사하도록 상기 검사부를 제어하고,
    상기 제3 신호의 무결성이 확인되면, 상기 화상형성장치의 본체로 전송할 제4 데이터 및 상기 제1 내지 제3 무결성 검사 데이터를 이용하여 제4 무결성 검사 데이터를 생성하도록 상기 생성부를 제어하며,
    상기 제4 데이터 및 상기 제4 무결성 검사 데이터를 포함하는 제4 신호를 상기 인터페이스부를 통해 상기 화상형성장치의 본체로 전송하는 CRUM 칩.
  4. 제2항에 있어서,
    상기 제어부는,
    상기 제1 데이터 및 상기 제2 데이터를 이용하여 세션 키를 생성하고,
    세션 키 생성이 완료되면, 상기 화상형성장치의 본체 및 상기 CRUM 칩 각각에 저장된 제1 테이블을 일치시키기 위한 인증 과정, 상기 화상형성장치의 본체 및 상기 CRUM 칩 각각에 저장된 제2 테이블을 일치시키기 위한 인증 과정, 상기 제1 및 제2 테이블 중 적어도 하나에 기초하여 상기 화상형성장치 및 상기 CRUM 칩 사이의 상호 적합성을 판단하기 위한 인증 과정을 수행하는 것을 특징으로 하는 CRUM 칩.
  5. 제4항에 있어서,
    상기 제어부는,
    상기 상호 적합성을 판단하기 위한 인증 과정에서,
    상기 제1 및 제2 무결성 검사 데이터를 모두 포함하는 제3 무결성 검사 데이터를 포함하는 신호가 상기 본체로부터 수신되면 상기 제3 무결성 검사 데이터를 이용하여 상기 복수의 인증 과정 전체에 대한 최종 검사를 수행하도록 상기 검사부를 제어하고, 상기 최종 검사 결과가 데이터 무결성이면, 상기 제1 내지 제3 무결성 검사 데이터를 모두 포함하는 제4 무결성 검사 데이터를 생성하도록 상기 생성부를 제어하여, 상기 제4 무결성 검사 데이터를 포함하는 신호를 상기 인터페이스부를 통해 상기 본체로 전송하는 것을 특징으로 하는 CRUM 칩.
  6. 화상형성장치와 통신 가능한 CRUM칩의 인증 방법에 있어서,
    상기 화상형성장치의 본체로부터 제1 데이터 및 상기 제1 데이터에 대한 제1 무결성 검사 데이터를 포함하는 제1 신호를 수신하는 단계;
    상기 제1 무결성 검사 데이터를 이용하여, 상기 제1 신호의 무결성을 검사하는 단계;
    상기 화상형성장치의 본체로 전송할 제2 데이터 및 상기 제1 무결성 검사 데이터를 이용하여, 제2 무결성 검사 데이터를 생성하는 단계;
    상기 제2 데이터와 상기 제2 무결성 검사 데이터를 포함하는 제2 신호를 상기 화상형성장치의 본체로 전송하는 단계;를 포함하는 인증 방법.
  7. 제6항에 있어서,
    상기 제1 및 제2 무결성 검사 데이터를 저장하는 단계;를 더 포함하는 인증 방법.
  8. 제7항에 있어서,
    상기 화상형성장치의 본체로부터, 제3 데이터 및 상기 제3 데이터에 대한 제3 무결성 검사 데이터를 포함하는 제3 신호가 수신되면, 상기 제3 무결성 검사 데이터를 이용하여 상기 제3 신호를 최종 검사하는 단계;
    상기 제3 신호의 무결성이 확인되면, 상기 화상형성장치의 본체로 전송할 제4 데이터 및 상기 제1 내지 제3 무결성 검사 데이터를 이용하여 제4 무결성 검사 데이터를 생성하는 단계;
    상기 제4 데이터 및 상기 제4 무결성 검사 데이터를 포함하는 제4 신호를 상기 화상형성장치의 본체로 전송하는 단계;를 더 포함하는 인증 방법.
  9. 제7항에 있어서,
    상기 제1 데이터 및 상기 제2 데이터를 이용하여 세션 키를 생성하는 단계;
    세션 키 생성이 완료되면, 상기 화상형성장치의 본체 및 상기 CRUM 칩 각각에 저장된 제1 테이블을 일치시키기 위한 인증 과정, 상기 화상형성장치의 본체 및 상기 CRUM 칩 각각에 저장된 제2 테이블을 일치시키기 위한 인증 과정, 상기 제1 및 제2 테이블 중 적어도 하나에 기초하여 상기 화상형성장치 및 상기 CRUM 칩 사이의 상호 적합성을 판단하기 위한 인증 과정을 순차적으로 수행하는 단계;를 더 포함하는 인증 방법.
  10. 제9항에 있어서,
    상기 상호 적합성을 판단하기 위한 인증 과정에서는,
    상기 제1 및 제2 무결성 검사 데이터를 모두 포함하는 제3 무결성 검사 데이터를 포함하는 신호가 상기 본체로부터 수신되면 상기 제3 무결성 검사 데이터를 이용하여 상기 복수의 인증 과정 전체에 대한 최종 검사를 수행하는 단계;
    상기 최종 검사 결과가 데이터 무결성이면, 상기 제1 내지 제3 무결성 검사 데이터를 모두 포함하는 제4 무결성 검사 데이터를 생성하는 단계;
    상기 제4 무결성 검사 데이터를 포함하는 신호를 상기 본체로 전송하는 단계;를 포함하는 것을 특징으로 하는 인증 방법.
KR1020140143684A 2012-12-24 2014-10-22 Crum 칩 및 그 인증 방법 KR101879841B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120152433 2012-12-24
KR20120152433 2012-12-24

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020130048712A Division KR101477773B1 (ko) 2011-09-09 2013-04-30 Crum 칩 및 화상형성장치와 그 인증 방법 및 통신 방법

Publications (2)

Publication Number Publication Date
KR20140131896A true KR20140131896A (ko) 2014-11-14
KR101879841B1 KR101879841B1 (ko) 2018-07-18

Family

ID=51733452

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020130048712A KR101477773B1 (ko) 2011-09-09 2013-04-30 Crum 칩 및 화상형성장치와 그 인증 방법 및 통신 방법
KR1020140143684A KR101879841B1 (ko) 2012-12-24 2014-10-22 Crum 칩 및 그 인증 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020130048712A KR101477773B1 (ko) 2011-09-09 2013-04-30 Crum 칩 및 화상형성장치와 그 인증 방법 및 통신 방법

Country Status (11)

Country Link
KR (2) KR101477773B1 (ko)
CN (3) CN105009136A (ko)
AU (1) AU2013366785B2 (ko)
BR (1) BR102013021326B1 (ko)
CA (1) CA2896345C (ko)
ES (2) ES2823058T3 (ko)
HU (2) HUE042200T2 (ko)
IN (1) IN2013MU02462A (ko)
MX (1) MX342469B (ko)
RU (2) RU2611991C2 (ko)
ZA (1) ZA201504713B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101477773B1 (ko) * 2012-12-24 2014-12-31 삼성전자주식회사 Crum 칩 및 화상형성장치와 그 인증 방법 및 통신 방법
WO2019200155A1 (en) * 2018-04-13 2019-10-17 Lexmark International, Inc. Chip and supply item for imaging device, including communication
KR20190121611A (ko) 2018-04-18 2019-10-28 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 화상 형성 장치에 장착 가능한 crum 유닛, 및 이를 이용한 화상 형성 장치
WO2021080607A1 (en) 2019-10-25 2021-04-29 Hewlett-Packard Development Company, L.P. Logic circuitry package
KR102025178B1 (ko) * 2019-01-31 2019-09-25 김동현 초기화가 가능한 재생 카트리지에 설치되는 인증용 메모리 모듈
KR102025569B1 (ko) * 2019-01-31 2019-11-04 김동현 재생 카트리지에 설치되는 인증용 메모리 모듈
CN110245523B (zh) * 2019-05-22 2021-02-12 北京奇艺世纪科技有限公司 一种数据校验方法、系统和装置及计算机可读存储介质
US20230109232A1 (en) * 2020-04-30 2023-04-06 Hewlett-Packard Development Company, L.P. Logic circuitry package for print apparatus
JP7400744B2 (ja) * 2021-01-14 2023-12-19 トヨタ自動車株式会社 車両制御システム
CN113671807A (zh) * 2021-08-13 2021-11-19 北京辰光融信技术有限公司 用于打印机的usb耗材识别方法及耗材设备和打印机

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8704882D0 (en) * 1987-03-03 1987-04-08 Hewlett Packard Co Secure messaging systems
US7249108B1 (en) * 1997-07-15 2007-07-24 Silverbrook Research Pty Ltd Validation protocol and system
US6267463B1 (en) * 1998-05-11 2001-07-31 Hewlett-Packard Company Method and apparatus for transferring data between a printer and a replaceable printing component
US6640294B2 (en) * 2001-12-27 2003-10-28 Storage Technology Corporation Data integrity check method using cumulative hash function
JP2005014864A (ja) * 2003-06-30 2005-01-20 Toyoda Gosei Co Ltd エアバッグ及びエアバッグ装置
JP4622238B2 (ja) * 2003-11-19 2011-02-02 富士ゼロックス株式会社 画像形成装置
KR100574059B1 (ko) * 2003-12-17 2006-04-27 삼성전자주식회사 화상형성장치 및 이를 이용한 에뮬레이션 모드 자동선택방법
JP4597700B2 (ja) * 2005-02-21 2010-12-15 株式会社リコー 画像形成装置
JP4319176B2 (ja) * 2005-08-23 2009-08-26 シャープ株式会社 顧客交換可能ユニットを含むネットワークシステム
KR100933290B1 (ko) * 2008-02-22 2009-12-22 삼성전자주식회사 메모리부, 현상제카트리지, 현상장치 및 이들을 포함하는화상형성장치
KR100997238B1 (ko) * 2008-03-03 2010-11-29 삼성전자주식회사 Crum 유닛, 교체가능유닛 및 이를 이용하는 화상형성장치와, 그 인증 및 암호화 데이터 통신 방법
PT2294505T (pt) * 2008-05-29 2018-03-28 Hewlett Packard Development Co Autenticação de um componente de impressora substituível
KR101072277B1 (ko) * 2009-08-31 2011-10-11 주식회사 아나스타시스 실시간 데이터 무결성 보장 장치 및 방법과 이를 이용한 블랙박스 시스템
KR101214674B1 (ko) * 2010-02-08 2012-12-21 삼성전자주식회사 텍스트를 포함하는 모자이크 이미지를 생성하기 위한 장치 및 방법
KR101477773B1 (ko) * 2012-12-24 2014-12-31 삼성전자주식회사 Crum 칩 및 화상형성장치와 그 인증 방법 및 통신 방법

Also Published As

Publication number Publication date
ZA201504713B (en) 2016-06-29
CN105009136A (zh) 2015-10-28
RU2017104832A (ru) 2019-01-18
KR101879841B1 (ko) 2018-07-18
AU2013366785B2 (en) 2019-04-18
CN110297412B (zh) 2021-12-14
CA2896345C (en) 2019-04-30
KR20140082543A (ko) 2014-07-02
KR101477773B1 (ko) 2014-12-31
HUE042200T2 (hu) 2019-06-28
MX342469B (es) 2016-09-30
CN107423614A (zh) 2017-12-01
RU2013139377A (ru) 2015-02-27
IN2013MU02462A (ko) 2015-07-03
RU2017104832A3 (ko) 2020-03-02
RU2611991C2 (ru) 2017-03-01
CN107423614B (zh) 2020-06-05
ES2823058T3 (es) 2021-05-05
CA2896345A1 (en) 2014-07-03
HUE050618T2 (hu) 2021-01-28
AU2013366785A1 (en) 2015-07-02
RU2720646C2 (ru) 2020-05-12
BR102013021326B1 (pt) 2021-12-21
ES2710437T3 (es) 2019-04-25
BR102013021326A2 (pt) 2014-10-21
CN110297412A (zh) 2019-10-01
MX2015008242A (es) 2015-09-16

Similar Documents

Publication Publication Date Title
KR101879841B1 (ko) Crum 칩 및 그 인증 방법
US9973658B2 (en) CRUM chip and image forming device for authentication and communication, and methods thereof
EP2854063B1 (en) Image forming apparatus for authenticating a crum chip mountable in consumable unit, and method thereof
KR101780734B1 (ko) Crum 칩과 화상형성장치 및 그 통신 방법
KR101123695B1 (ko) Crum 유닛과 통신을 수행하기 위한 장치 및 그 방법
EP2746859B1 (en) CRUM chip and image forming device for authentication and communication, and methods thereof
KR20180055790A (ko) 소모품 유닛에 탑재 가능한 crum 칩과 이를 인증하는 화상형성장치 및 그 인증 방법
KR101866823B1 (ko) Crum 칩과 화상형성장치 및 그 통신 방법
KR20130028608A (ko) Crum 칩과 화상형성장치 및 그 통신 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
N231 Notification of change of applicant
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant