JP2020043491A - プリンタ、プリンタにおける暗号化方法、および、プログラム - Google Patents

プリンタ、プリンタにおける暗号化方法、および、プログラム Download PDF

Info

Publication number
JP2020043491A
JP2020043491A JP2018169933A JP2018169933A JP2020043491A JP 2020043491 A JP2020043491 A JP 2020043491A JP 2018169933 A JP2018169933 A JP 2018169933A JP 2018169933 A JP2018169933 A JP 2018169933A JP 2020043491 A JP2020043491 A JP 2020043491A
Authority
JP
Japan
Prior art keywords
printer
data
encrypted
encryption
key
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2018169933A
Other languages
English (en)
Other versions
JP7130501B2 (ja
Inventor
スメート シワーポーンサティアン
Sivapornsatain Sumate
スメート シワーポーンサティアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sato Holdings Corp
Original Assignee
Sato Holdings Corp
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 Sato Holdings Corp filed Critical Sato Holdings Corp
Priority to JP2018169933A priority Critical patent/JP7130501B2/ja
Priority to EP19861009.9A priority patent/EP3851992A4/en
Priority to US16/979,566 priority patent/US11733944B2/en
Priority to PCT/JP2019/021417 priority patent/WO2020054140A1/ja
Publication of JP2020043491A publication Critical patent/JP2020043491A/ja
Application granted granted Critical
Publication of JP7130501B2 publication Critical patent/JP7130501B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】外部からの通信に基づいてプリンタが印刷を行う場合のプリンタのセキュリティを向上させる。【解決手段】暗号化の対象となる暗号化対象データを暗号化するプリンタであって、ランダムデータ又は前記プリンタに対応付けられたデータによって暗号鍵を生成する鍵生成手段と、鍵生成手段によって生成された暗号鍵を用いて暗号化対象データを暗号化し、暗号化データを生成する暗号化手段と、暗号化手段によって生成された暗号化データをプリンタに常駐するファイルに埋め込む埋込手段と、を備えたプリンタである。【選択図】図4

Description

本発明は、プリンタ、プリンタにおける暗号化方法、および、プログラムに関する。
従来、プリンタの印刷処理に関するセキュリティを向上させるために、印刷要求を行うクライアント端末とプリンタとの間の通信を暗号化することが知られている。例えば特許文献1に記載された印刷システムでは、プリンタは公開鍵証明書とこれに対応する秘密鍵とを保有し、ドキュメントサーバもしくはユーザクライアントからの要求に応じて公開鍵証明書に基づくプリンタ認証を行う、とされている。
特開2002−259108号公報
しかし、特許文献1に記載された印刷システムでは、公開鍵証明書と秘密鍵が記憶手段にそのままの状態で記録されているに過ぎず、外部からの不正アクセスに対して脆弱である。
そこで、本発明は、外部からの通信に基づいてプリンタが印刷を行う場合のプリンタのセキュリティを向上させることを目的とする。
本発明のある態様は、暗号化の対象となる暗号化対象データを暗号化するプリンタであって、ランダムデータ又は前記プリンタに対応付けられたデータによって暗号鍵を生成する鍵生成手段と、前記鍵生成手段によって生成された前記暗号鍵を用いて前記暗号化対象データを暗号化し、暗号化データを生成する暗号化手段と、前記暗号化手段によって生成された暗号化データを前記プリンタに常駐するファイルに埋め込む埋込手段と、を備えたプリンタである。
本発明のある態様によれば、外部からの通信に基づいてプリンタが印刷を行う場合のプリンタのセキュリティを向上させることができる。
実施形態の印字システムの概略構成を示す図である。 実施形態の印字システムのブロック図である。 実施形態の印字システムにおいてプリンタが印字を行うときの動作を示すシーケンスチャートである。 実施形態の印字システムにおいてプリンタがサーバ証明書と秘密鍵の更新を行うときの動作を示すシーケンスチャートである。 実施形態のプリンタがサーバ証明書と秘密鍵を暗号化するときの暗号鍵の生成処理を示すフローチャートである。 実施形態のプリンタがサーバ証明書と秘密鍵を暗号化するときの暗号鍵の生成処理を模式的に示す図である。 実施形態のプリンタがサーバ証明書と秘密鍵の暗号化処理を示すフローチャートである。 実施形態のプリンタがサーバ証明書と秘密鍵の暗号化処理を示す模式的に示す図である。 実施形態の変形例に係るプリンタがサーバ証明書と秘密鍵の更新を行うときの別の方法を説明する図である。 実施形態の変形例に係る印字システムにおいてプリンタがサーバ証明書と秘密鍵の更新を行うときの動作を示すシーケンスチャートである。
(1)印字システムの概要
以下、本実施形態の印字システム1について図1を参照して説明する。図1は、本実施形態の印字システム1の概略構成を示す図である。
図1に示すように、本実施形態の印字システム1は、プリンタ2、サーバ3、および、情報処理装置5を備える。プリンタ2とサーバ3はネットワークNW1を介して通信可能であり、プリンタ2と情報処理装置5はネットワークNW2を介して通信可能である。プリンタ2は、例えば図示しないルータと有線で接続され、当該ルータ経由でサーバ3または情報処理装置5と通信を行う。なお、プリンタ2は、図示しないルータと無線で接続されていてもよい。
プリンタ2は例えばラベルプリンタである。サーバ3は、プリンタ2がラベルに印字すべき印字内容を決定し、当該印字内容を示す印字データをプリンタ2に送信する。プリンタ2は、サーバ3から受信した印字データに基づいて印字を行う。プリンタ2とサーバ3の間の通信は、セキュリティのため後述するように、例えばTLS(Transport Layer Security)1.2等に従った暗号化通信により行われる。TLS1.2を実現するために、プリンタ2は、TLS1.2に従った通信のソケットサーバとして機能する場合のサーバ証明書と、秘密鍵とを保持している。
サーバ証明書と秘密鍵(以下、総称して「証明書ファイル」という場合がある。)は、プリンタ2内に暗号化されずに保存されていたならば、悪意のある第三者によって証明書ファイルがプリンタ2から抜き取られ、当該証明書ファイルを用いてサーバ3に不正にアクセスされる虞がある。そこで、本実施形態の印字システム1では、プリンタ2は、証明書ファイルを暗号化して保存する。具体的な証明書ファイルの暗号化方法および保存方法については後述する。
また、証明書ファイルは、安全性を高める観点から適時更新されることが好ましい。証明書ファイルの更新の一態様として、情報処理装置5からプリンタ2にダウンロードすることによりプリンタ2内の証明書ファイルの更新が行われる。なお、図1では、プリンタ2とサーバ3の間のネットワークNW1と、プリンタ2と情報処理装置5の間のネットワークNW2とをそれぞれ異なるネットワークとする場合について例示しているが、その限りではない。プリンタ2、サーバ3および情報処理装置5は、共通のネットワークに接続されていてもよい。
図1に示すように、プリンタ2がネットワークNW1とネットワークNW2とに接続する場合には、プリンタ2にLANカードが2枚設置されているか、または、サーバ3と情報処理装置5に同時に接続しないように構成する。サーバ3と情報処理装置5と同時に接続する場合には、外部からプリンタ2にアクセスするためのルータ(図示せず)を設置する。
証明書ファイルをプリンタ2にダウンロードするときには、悪意ある第三者により証明書ファイルを盗み取られ、あるいは書き換えられることがないように、安全なダウンロードを可能にする仕組みが必要である。当該仕組みについては後述する。
(2)実施形態の印字システムの内部構成
次に、実施形態の印字システム1の内部構成について、図2を参照して説明する。図2は、実施形態の印字システム1のブロック図である。
図2に示すように、プリンタ2は、制御部21、ストレージ22、操作入力部23、表示部24、モータ駆動部25、ヘッド駆動部26、カッタ駆動部27、および、通信部28を備える。プリンタ2には、例えば帯状の連続紙を巻回したロール紙が収容されている。プリンタ2は、当該ロール紙から連続紙を引き出して印字を行い、連続紙を所定長に切断することでラベルを発行する。なお、プリンタ2は、裏面に粘着層が設けられたラベル連続体を所定長に切断することでラベル(ライナーレスラベル)を発行してもよいし、台紙上に複数枚のラベルが仮着した連続紙をラベル単位で切断することでラベルを発行してもよい。
制御部21は主として、CPU(Central Processing Unit)、ROM(Read Only Memory)、およびRAM(Random Access Memory)を備える。制御部21のCPUは、プリンタ2の起動時にROMに記憶されている各種プログラムを読み出して実行し、各部を制御する。各種プログラムには、ファームウェアが含まれる。RAMはCPUのワークエリアとして機能し、各種データが一時的に記憶される。制御部21は、通信部28と協働してサーバ3との間で、例えばTLS1.2の通信プロトコル等を実行するための各種の処理を行う。
制御部21は、CPUがプログラムを実行することによって、本実施形態において、処理実行手段、無効化手段、判定手段、有効化手段、生成手段、および、認証結果取得手段として機能する。
具体的には、以下のとおりである。
制御部21は、所定のコマンドを実行することで、プリンタ2に関する所定の処理を実行する処理実行手段として機能する。例えば、制御部21は、外部機器からプリンタ2に関するコマンドを取得すると、取得したコマンドに応じて、プリンタ2の設定変更や、プリンタ2の状態や動作等を制御する処理を実行する。
制御部21は、プリンタ2に関する所定の処理を実行するためのコマンドのうち、例えば情報処理装置5からデータを取得するコマンド(第1コマンドの例)を無効化する無効化手段として機能する。本実施形態のプリンタ2では安全のために、起動時において、外部機器からプリンタ2の動作を制御するための制御コマンドの少なくとも一部が無効化される。無効化される制御コマンドには、データを外部機器から取得する(ダウンロードする)制御コマンドが含まれる。
制御部21は、所定のコード情報に基づく認証結果が成功か否か判定する判定手段として機能する。制御部21は、判定手段により認証結果が成功であると判定した場合、所定時間の間、情報処理装置5等の外部機器からデータを取得するコマンドを有効化する有効化手段として機能する。つまり、外部機器からプリンタ2にデータをダウンロードする制御コマンドは、起動時には無効化されているが、所定のコード情報に基づく認証結果が成功である場合に限り、所定時間の間だけ有効化される。その所定時間の間に、情報処理装置5から更新のためにサーバ証明書と秘密鍵をダウンロードすることが可能となる。
後述するが、プリンタ2にデータをダウンロードする制御コマンドを有効化するための認証は、例えば、ワンタイムパスワード(コード情報の一例)を利用することができる。その場合、プリンタ2の制御部21は、ワンタイムパスワードを予め決められた方法で生成する生成手段として機能する。
ワンタイムパスワードによる認証は認証サーバ(後述する)によって行われ、当該認証サーバによる認証結果を制御部21が通信部28を介して取得する。すなわち、制御部21は、ワンタイムパスワードの認証結果を取得する認証結果取得手段として機能する。
制御部21は、CPUがプログラムを実行することによって、本実施形態において、鍵生成手段、暗号化手段、埋込手段、復号手段、および、削除手段として機能する。これらの各手段は、情報処理装置5からダウンロードしたサーバ証明書と秘密鍵を暗号化し、あるいは起動直後にサーバ証明書と秘密鍵を復号するときに実現される。
具体的には、以下のとおりである。
制御部21は、乱数データ(ランダムデータの一例)とプリンタ2に対応付けられたデータ(プリンタ2に固有の固有データ等)に基づき暗号鍵を生成する鍵生成手段として機能する。乱数データは、好ましくは、プリンタ2の常駐ファイルに埋め込まれた状態で保存される。なお、常駐ファイルとは、例えば、システムファイル、フォントファイル、あるいは常駐アプリケーションプログラムで使用されるファイル等、プリンタ2から削除することが想定されていないファイルである。常駐ファイルへの乱数データの埋め込みは、第三者からプリンタ2に不正なアクセスを受けたときに、暗号化されているサーバ証明書と秘密鍵を容易に復号されることを防止するために行われる。
制御部21は、鍵生成手段によって生成された暗号鍵を用いてサーバ証明書と秘密鍵を暗号化し、暗号化されたサーバ証明書と秘密鍵を生成する暗号化手段として機能する。暗号化されたサーバ証明書と秘密鍵は、暗号化データの一例である。
制御部21は、暗号化されたサーバ証明書と秘密鍵をプリンタ2の常駐ファイルに埋め込む埋込手段として機能する。常駐ファイルへのサーバ証明書と秘密鍵の埋め込みは、第三者からプリンタ2に不正なアクセスを受けたときに、サーバ証明書と秘密鍵がプリンタ2から抜き取られることを防止するために行われる。
本実施形態では、プリンタ2が起動したときに、サーバ3との暗号化通信のために、サーバ証明書と秘密鍵を復号する処理を行う。このとき、制御部21は、常駐ファイルから乱数データを抽出し、当該乱数データに基づいて、暗号化されたサーバ証明書と秘密鍵を復号する復号手段として機能する。
制御部21は、暗号化されたサーバ証明書と秘密鍵が生成された後、暗号化されていないサーバ証明書と秘密鍵を削除する削除手段として機能する。
ストレージ22は、例えばSSD(Solid State Drive)等の記憶装置であり、上記常駐ファイルを格納するとともに、印字データを基に印字するに際して必要となる印字フォーマットデータ等を格納する。
操作入力部23は、ユーザによって操作される操作ボタンやスイッチ等の入力装置を含む。表示部24は、操作入力部23より入力されたデータ等を表示パネルに表示するための表示駆動回路を含む。表示パネルは、例えばタッチパネル入力回路を有し、タッチパネルによる操作入力を受け入れるように構成することが好ましい。
モータ駆動部25は、プラテンローラ(図示せず)の回転を制御するモータを駆動することによって、連続紙を搬送させる。搬送量および搬送方向は、制御部21からの指令に基づく。
制御部21は、サーバ3から暗号化された印字データを受信すると、当該印字データを復号する。次いで制御部21は、ラベルに印字すべき描画データを生成し、描画データのライン毎のデータであるラインデータを順次、ヘッド駆動部26に送る。
ヘッド駆動部26は、当該ラインデータに基づき、サーマルヘッド(図示せず)の各発熱素子に選択的に電流を流す。電流により発熱した発熱素子がプラテンローラによって搬送された連続紙に押し当てられると、発熱素子に押し当てられた連続紙の部分が発色することで連続紙に情報が印字される。カッタ駆動部27はカッタ(図示せず)を駆動して、制御部21による制御の下、連続紙のうち印字が行われた部分を切断する。切断によって得られたラベルは、順次、プリンタ2から排出される。
通信部28は、サーバ3と通信を行うための通信インタフェースである。通信部28は、例えばTLS1.2等に従ってサーバ3との間で暗号化通信を行う。
図2に示すように、サーバ3は、制御部31と、ストレージ32と、通信部33とを備える。
制御部31はマイクロコントローラを主体として構成され、サーバ3全体の制御を行う。例えば、制御部31は、通信部33と協働してプリンタ2との間で例えばTLS1.2等の通信プロトコルを実行するための各種の処理を行う。
ストレージ32は、例えばHDD(Hard Disk Drive)等の大容量記憶装置であり、各種の印字データが格納されている。制御部31は、印字データを生成し、あるいは印字データを外部機器から取得してストレージ32に記録する。
制御部31は、プリンタ2との間の通信のセッションが確立すると、ストレージ32から印字データを読み出してプリンタ2に送信する。このとき、制御部31は、印字データをプリンタ2との間で決定されたセッション鍵(共通鍵)を使用して暗号化してから、印字データをプリンタ2に送信する。
通信部33は、プリンタ2と通信を行うための通信インタフェースである。通信部33は、例えばTLS1.2等に従ってプリンタ2との間で暗号化通信を行う。
図2に示すように、情報処理装置5は、制御部51、ストレージ52、操作入力部53、表示部54、および、通信部55を備える。
制御部51はマイクロコントローラを主体として構成され、情報処理装置5全体の制御を行う。ストレージ52は、例えばSSD等の記憶装置であり、認証局から取得したプリンタ2のサーバ証明書と秘密鍵を格納する。
制御部51は、プリンタ2においてサーバ証明書と秘密鍵の更新を行うときに、サーバ証明書と秘密鍵の送信に先立って、プリンタ2に対して所定の制御コマンドを、通信部55を介してプリンタ2に送信する。サーバ証明書と秘密鍵を送信するときには、制御部51は、サーバ証明書と秘密鍵をストレージ52から読み出す。
通信部55は、プリンタ2と通信を行うための通信インタフェースである。
(3)実施形態のプリンタ2が印字を行うときの動作
次に、サーバ3とプリンタ2の通信によってプリンタ2が印字を行うときの動作について、図3を参照して説明する。図3は、本実施形態の印字システム1においてプリンタ2が印字を行うときの動作を示すシーケンスチャートである。
図3において先ず、プリンタ2は起動すると(ステップS2)、サーバ3との通信に備えて証明書ファイル(サーバ証明書および秘密鍵)の復号を行う(ステップS4)。後述するように、本実施形態のプリンタ2では、サーバ証明書および秘密鍵がそれぞれ暗号化された状態で、プリンタ2の常駐ファイルに含まれている。また、サーバ証明書および秘密鍵を復号する暗号鍵を生成するための乱数データが、プリンタ2の常駐ファイルに含まれている。そこで、プリンタ2の制御部21は、乱数データを常駐ファイルから抽出し、抽出した乱数データやプリンタ2に対応付けられたデータ(プリンタ2に固有の固有データ等)を基に暗号鍵を生成する。次いでプリンタ2の制御部21は、常駐ファイルから暗号化されたサーバ証明書および秘密鍵を抽出し、抽出したサーバ証明書および秘密鍵を、生成した暗号鍵で復号する。
ステップS6のネゴシエーションは、通信相手の認証、および、暗号とハッシュ関数を処理するためのアルゴリズムの決定のために行われる。TLS1.2におけるネゴシエーションの処理は、IETF(Internet Engineering Task Force)によって規格化されているが、概ね以下の手順を含む。
(i) サーバ3がプリンタ2に通信の開始の通知を行う。当該通知には、プロトコルのバージョン(TLS1.2)と、サーバ3が利用可能な暗号化方式およびデータ圧縮方式のアルゴリズムの一覧と、後に共通鍵の算出に使用される乱数と、を含む。
(ii) プリンタ2が、使用する暗号化方式およびデータ圧縮方式のアルゴリズムと、サーバ証明書とをサーバ3に通知する。
(iii) サーバ3が乱数を生成し、生成した乱数(プリマスタシークレット)をプリンタ2から受信したサーバ証明書に含まれる公開鍵で暗号化する。サーバ3は、暗号化したプリマスタシークレットをプリンタ2に送信する。当該プリマスタシークレットは、プリンタ2が保持する秘密鍵で復号可能であるため、プリマスタシークレットがサーバ3とプリンタ2で共有化される。
(iv) サーバ3とプリンタ2がそれぞれ、(i)で共有化された乱数と、(iii)で共有化されたプリマスタシークレットとを基に、マスタシークレットを生成する。さらに、サーバ3とプリンタ2は、それぞれ、同一の方法でマスタシークレットから共通鍵(セッション鍵)を生成する。
ネゴシエーションが完了した後は、サーバ3による印字データの暗号化(ステップS8)、および、プリンタ2によって受信された印字データの復号(ステップS10,S12)は、ネゴシエーションにおいて共有化された共通鍵(セッション鍵)を用いて行われる。プリンタ2は、復号した印字データを基に印字処理を実行する(ステップS14)。
ステップS8〜S14の処理は、サーバ3の印字要求に応じて繰り返し行われる。
(4)実施形態のプリンタ2が証明書ファイルを更新するときの動作
次に、プリンタ2が証明書ファイルを更新するときの動作について、図4を参照して説明する。図4は、本実施形態の印字システム1においてプリンタがサーバ証明書と秘密鍵の更新を行うときの動作を示すシーケンスチャートである。
(4−1)全体的な動作
図4に示す動作は、プリンタ2がサーバ証明書と秘密鍵を更新のために情報処理装置5からダウンロードし、当該サーバ証明書と秘密鍵をプリンタ2内で暗号化する処理を示している。図4に示す動作は、例えば、ユーザによる更新指示の操作に基づいて行われる。
なお、図4において、認証サーバ7は、プリンタ2から送信されるワンタイムパスワードに基づいて認証処理を行うサーバである。
本実施形態のプリンタ2は、起動時に外部機器からデータを取得する制御コマンドを無効化している。その後、プリンタ2は、情報処理装置5からサーバ証明書と秘密鍵を安全にダウンロードすることを可能にするために、所定の認証が成功した場合に限り、所定時間の間、データを取得する制御コマンドを有効にする。図4に示す例では、所定の認証とは、ワンタイムパスワードを利用した認証処理である。
先ずプリンタ2のユーザは、自身が所持するワンタイムパスワードのためのハードウェアトークン(「ドングル」ともいう。)を使用してワンタイムパスワードを生成する。次いでプリンタ2は、ユーザによる操作入力部23に対する操作入力に基づいてワンタイムパスワードの入力を受け付ける(ステップS21)。なお、ワンタイムパスワードの生成に際して、ハードウェアトークンと同じ機能を有するソフトウェアを携帯端末やウェブブラウザ上で実行するソフトウェアトークンを利用することもできる。
プリンタ2は、入力されたワンタイムパスワードを認証サーバ7に送信する(ステップS22)。認証サーバ7は、プリンタ2から受信したワンタイムパスワードに基づいて認証処理を実行する(ステップS23)。
ステップS23におけるワンタイムパスワードに基づく具体的な認証方法については限定せず、適用可能な様々な方法を採ることができる。
例えば、時刻同期型のワンタイムパスワードが適用される場合には、ハードウェアトークンは、操作されたときの現在時刻に基づいて所定のアルゴリズムでワンタイムパスワードを生成する。プリンタ2からワンタイムパスワードを受信した認証サーバ7もまた、現在時刻(受信した時刻)に基づいて、ハードウェアトークンと同一のアルゴリズムでワンタイムパスワードを生成する。両者のワンタイムパスワードが一致する場合に認証OKと判断され、一致しない場合には認証NGと判断される。
また、数学的アルゴリズムを用いるワンタイムパスワードが適用される場合には、ハードウェアトークンは、数学的アルゴリズムによって生成された複数のパスワードを順に使用する。認証サーバもまた、ハードウェアトークンと同一の数学的アルゴリズムによって生成された複数のパスワードを順に使用して認証処理を行う。この場合も、両者のワンタイムパスワードが一致する場合に認証OKと判断され、一致しない場合には認証NGと判断される。
あるいは、チャレンジ&レスポンス方式の認証方法を採ることもできる。
認証サーバ7は、ワンタイムパスワードに基づく認証結果(認証OKまたは認証NG)をプリンタ2に返す(ステップS24)。ステップS24で受信した認証結果が認証NG(認証失敗)である場合には(ステップS28:NO)、プリンタ2は何もしない。そのため、プリンタ2は、その後に情報処理装置5からデータをダウンロードにより取得する制御コマンド(以下、適宜「DLコマンド」という。)を受信した場合でも情報処理装置5からデータをダウンロードすることができない。DLコマンドは、第1コマンドの一例である。
ステップS24で受信した認証結果が認証OK(認証成功)である場合には(ステップS28:YES)、プリンタ2は、DLコマンドを所定時間、有効化する(ステップS30)。この所定時間の間に、例えば情報処理装置5等からプリンタ2にDLコマンドが送信された場合(ステップS32)、プリンタ2は、情報処理装置5からサーバ証明書と秘密鍵をダウンロードすることが可能となる(ステップS33)。サーバ証明書と秘密鍵のダウンロードが正常に完了した場合に、プリンタ2は情報処理装置5にACKメッセージを送信する(ステップS34)。
プリンタ2は、情報処理装置5からサーバ証明書と秘密鍵を正常に受信すると、第三者から不正にアクセスされることがないように、受信したサーバ証明書と秘密鍵を暗号化する。サーバ証明書と秘密鍵の暗号化は、暗号化に必要となる暗号鍵を生成する処理(ステップS40)と、生成した暗号鍵でサーバ証明書と秘密鍵を暗号化する処理(ステップS50)とによって行われる。
ステップS40およびステップS50は、プリンタ2の制御部21によって行われる処理である。
(4−2)暗号鍵の生成処理
ステップS40の暗号鍵の生成処理について、より詳細に図5および図6を参照して説明する。図5は、本実施形態のプリンタ2がサーバ証明書と秘密鍵を暗号化するときの暗号鍵の生成処理を示すフローチャートである。図6は、本実施形態のプリンタ2がサーバ証明書と秘密鍵を暗号化するときの暗号鍵の生成処理を模式的に示す図であり、図5の対応するステップの符号を付してある。
プリンタ2の制御部21は、先ず乱数データD0を生成する(ステップS41)。乱数データD0は、サーバ証明書と秘密鍵を更新する度に生成される。次いで制御部21は、生成した乱数データD0を常駐ファイルR0に埋め込むことにより偽装する(ステップS42)。常駐ファイルR0は、例えばシステムファイル、フォントファイル、あるいは常駐アプリケーションプログラムで使用されるファイル等である。制御部21は、後述するサーバ証明書と秘密鍵の復号のために、乱数データD0を含む常駐ファイルR0をストレージ22に記録する。乱数データD0を常駐ファイルR0に埋め込んで保存しておくことで、仮に第三者が不正にプリンタ2にアクセスした場合に乱数データD0が外部に漏洩する可能性を低下させることができる。
次に制御部21は、常駐ファイルR0に含まれる乱数データD0と、プリンタ2に対応付けられたデータ(プリンタ2に固有の固有データ等)とに基づいて、乱数データD1を生成する(ステップS43)。プリンタ2に対応付けられたデータは、プリンタに一意に割り当てられたデータであることが好ましいが、異なるプリンタで重複して割り当てられる可能性が比較的低いデータであってもよい。前者の例は、プリンタ2のシリアル番号、製造番号、その他プリンタ2を識別する識別情報などであり、後者の例は、プリンタの製造ロット番号、発注番号、棚卸し管理番号などである。
プリンタ2に対応付けられたデータを暗号鍵の生成過程で使用することで、あるプリンタの暗号鍵が仮に漏洩した場合であっても他のプリンタの暗号鍵が同様にして漏洩してしまう状況を避けることができる。
次いで制御部21は、乱数データD1に対して所定のハッシュ関数による演算を行い、暗号鍵K1を生成する(ステップS44)。
(4−3)サーバ証明書と秘密鍵の暗号化処理
ステップS50のサーバ証明書と秘密鍵の暗号化処理について、より詳細に図7および図8を参照して説明する。図7は、本実施形態のプリンタ2がサーバ証明書と秘密鍵の暗号化処理を示すフローチャートである。図8は、本実施形態のプリンタ2がサーバ証明書と秘密鍵の暗号化処理を示す模式的に示す図であり、図7の対応するステップの符号を付してある。
プリンタ2の制御部21は、情報処理装置5から受信したサーバ証明書および秘密鍵に対して、上記ステップS44で生成された暗号鍵K1を用いて暗号化を行う(ステップS51)。暗号化方法は、特に限定するものではないが、例えばAES(Advanced Encryption Standard)256である。なお、鍵長は256ビットでなくてもよい。図8では、暗号化されたサーバ証明書および秘密鍵が、それぞれ暗号化データE1およびE2に相当する。
次いで制御部21は、暗号化E1,E2をそれぞれ、プリンタ2の常駐ファイルR1,R2に埋め込む処理を行う(ステップS52)。暗号鍵K1を得る過程で乱数データD0が埋め込まれた常駐ファイルR0(図5のステップS42参照)、および、常駐ファイルR1,R2は同一ファイルでもよいが、各常駐ファイルに埋め込まれたデータが同時に漏洩することを防止する観点から、別々のファイルとすることが好ましい。
暗号化E1,E2を常駐ファイルR1,R2に埋め込んで偽装した後は、第三者から取得されることがないように、制御部21は、暗号化されていないサーバ証明書および秘密鍵を削除する(ステップS53)。
上述したように、本実施形態のプリンタ2では、所定の認証が成功した場合に限り、所定時間の間、情報処理装置5からデータを取得する制御コマンドを有効にする。そのため、サーバ証明書と秘密鍵の更新時に、情報処理装置5から新たなサーバ証明書と秘密鍵を安全にダウンロードすることが可能となる。
上述したように、本実施形態のプリンタ2では、サーバ証明書と秘密鍵の暗号化処理を行うための暗号鍵をプリンタ2に対応付けられたデータに基づいて作成する。そのため、仮に他のプリンタの暗号鍵が漏洩した場合であってもプリンタ2の暗号鍵が同様にして漏洩してしまう状況を避けることができることから、サーバ証明書と秘密鍵を安全に保管することが可能となる。
上記暗号鍵を生成するための乱数データと、暗号化されたサーバ証明書および秘密鍵とは、プリンタ2の常駐ファイルに埋め込まれることによって偽装される。そのため、悪意のある第三者がプリンタ2にアクセスした場合に、乱数データ、あるいは暗号化されたサーバ証明書および秘密鍵をプリンタ2内から見つけ出すことが困難となる。
(5)変形例
以下、上述した本実施形態の印字システム1の変形例について説明する。
(5−1)変形例1
証明書ファイルの更新は、プリンタ2に対するユーザの操作入力に基づいて能動的に行われてもよい。この証明書ファイルの更新方法について図9を参照して説明する。図9は、プリンタ2がサーバ証明書と秘密鍵の更新を行うときの別の方法を説明する図である。
図9は、プリンタ2の表示部24の表示画面の遷移を示している。画面G1は、プリンタ2に設けられている通信関連の複数の項目の選択肢を示している。ユーザが証明書ファイルの更新を行う場合には、画面G1において「証明書」の項目を選択する。
画面G1において「証明書」の項目が選択されると画面G2が表示される。画面G2および画面G3は、取得先FTPサーバを設定するための画面である。画面G2において「取得先FTPサーバ」の項目を選択し、続けて画面G3においてFTPサーバのIPアドレスを入力し、「OK」ボタンを操作すると、画面G2が再度表示される。次いで、画面G2において「証明書管理」の項目を選択する操作を行うと、画面G4が表示される。
画面G4には、「証明書の更新」と表示される項目IM1と、「証明書の削除」と表示される項目IM2とが含まれる。ここで、項目IM1が選択された状態で「OK」ボタンを操作すると、プリンタ2の制御部21は、通信部28を介して、画面G3において設定されたFTPサーバに対して証明書ファイルの更新要求メッセージを送信し、FTPサーバから証明書ファイルを受信する。受信した後の処理は、図4と同様に、制御部21は、ステップS40,S50の処理を実行する。
本変形例によれば、プリンタ2に対するユーザの操作入力に基づいて能動的に、証明書ファイルの更新を行うことができる。
なお、図9の画面G4において項目IM2が選択された状態で「OK」ボタンを操作すると、プリンタ2の制御部21は、暗号化された証明書ファイルを削除する。この場合、制御部21は、常駐ファイルに埋め込まれている暗号化されたサーバ証明書と暗号鍵を取り出してから、サーバ証明書と暗号鍵を削除する。つまり、制御部21は、所定の操作入力に基づいて暗号化データとしてのサーバ証明書と暗号鍵を削除する第2削除手段として機能する。
暗号化された証明書ファイルをユーザによって能動的に削除することによって、プリンタ2が、暗号化通信を行う必要がなくなった場合に、サーバ証明書と暗号鍵がプリンタ2から流出してしまうことを防止することができる。
(5−2)変形例2
上述した実施形態では、図4を参照して、所定時間の間、データを取得する制御コマンド(DLコマンド)を有効にするために、ワンタイムパスワードを利用した認証処理を行う例について説明した。以下では、別の認証処理を行う例について図10を参照して説明する。図10は、実施形態の変形例に係る印字システムにおいてプリンタ2がサーバ証明書と秘密鍵の更新を行うときの動作を示すシーケンスチャートである。
図10のシーケンスチャートにおいて図4と異なる点は、情報処理装置5から所定のパスコード(コード情報の一例)をプリンタ2に送信し、プリンタ2が当該パスコードの認証処理を行うことになる。情報処理装置5からプリンタ2に送信されるパスコードは、プリンタ2において認証可能なコードである限り、如何なるコードであってもよい。例えば、上記パスコードは、プリンタ2のプロビジョニング時に設定するパスコードとすることができる。本変形例では、制御部21は、CPUがプログラムを実行することによって、情報処理装置5からコード情報としてのパスコードを取得するコード情報取得手段として機能する。
プリンタ2の制御部21は、ステップS26で受信したパスコードと、予め設定されているパスコードとが一致する場合に認証OKと判断し、一致しない場合には認証NGと判断する(ステップS28)。ステップS30以降の処理は、図4に示した処理と同じである。
本変形例では、上記実施形態と同様に、所定の認証が成功した場合に限り、所定時間の間、情報処理装置5からデータを取得する制御コマンドを有効にするため、情報処理装置5からサーバ証明書と秘密鍵を安全にダウンロードすることが可能となる。また、プリンタ2は、サーバ証明書と秘密鍵の送信元から認証処理の基礎となるコード情報を取得して認証するため、上記所定時間の間においても、送信元の装置ごとに制御コマンドの有効/無効を判断することが可能となる。
(5−3)変形例3
上述した実施形態において、プリンタ2の通信ポートをソフトウェアによって有効または無効に設定することができるようにしてもよい。その場合、プリンタ2の制御部21は、操作入力に基づいて通信ポートを有効または無効に設定する設定手段として機能してもよい。プリンタ2が複数の通信ポートを備える場合には、各通信ポートを個別に有効または無効に設定できるようにすることが好ましい。ユーザの使用状況に応じて少なくとも一部の通信ポートを無効に設定することによって、第三者からの悪意のあるプリンタ2に対するアクセスを遮断する可能性を高めることが可能となる。
通信ポートの有効または無効の設定は、図9の画面G1において操作することにより行うことができるようにしてもよい。例えば、画面G1の「データポート」の項目を選択することで、データポートを有効にするか無効にするか設定できる。
なお、上記実施形態および変形例において、印字処理の安全性をさらに高めるために、印字完了後には、サーバ3から受信してストレージ22に格納されている印字データ、および、当該印字データを基に作成した描画データを削除することが好ましい。
以上、本発明の一実施形態について詳細に説明したが、本発明は上記の実施形態に限定されない。また、上記の実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更が可能である。
例えば、上述した実施形態では、プリンタによって外部機器から取得するデータ(取得対象データ)および暗号化対象データがサーバ証明書と秘密鍵である場合について説明したが、その限りではない。取得対象データおよび暗号化対象データは如何なるデータであってもよい。
上述した実施形態では、サーバ3と情報処理装置5をそれぞれ別個に設けた例を示したが、その限りではない。サーバ3が情報処理装置5の機能を備えていてもよい。
1…印字システム
2…プリンタ
21…制御部
22…ストレージ
23…操作入力部
24…表示部
25…モータ制御部
26…ヘッド駆動部
27…カッタ制御部
28…通信部
3…サーバ
31…制御部
32…ストレージ
33…通信部
5…情報処理装置
51…制御部
52…ストレージ
53…操作入力部
54…表示部
55…通信部
NW1,NW2…ネットワーク
G1〜G4…画面

Claims (9)

  1. 暗号化の対象となる暗号化対象データを暗号化するプリンタであって、
    ランダムデータ又は前記プリンタに対応付けられたデータによって暗号鍵を生成する鍵生成手段と、
    前記鍵生成手段によって生成された前記暗号鍵を用いて前記暗号化対象データを暗号化し、暗号化データを生成する暗号化手段と、
    前記暗号化手段によって生成された暗号化データを前記プリンタに常駐するファイルに埋め込む埋込手段と、
    を備えたプリンタ。
  2. 前記暗号化対象データは、2以上のデータを含み、
    前記埋込手段は、前記2以上のデータの各々を、前記プリンタに常駐する異なるファイルに埋め込む、
    請求項1に記載されたプリンタ。
  3. 前記埋込手段は、前記ランダムデータを前記プリンタに常駐するファイルに埋め込む、
    請求項1または2に記載されたプリンタ。
  4. 前記プリンタの起動時に、前記ファイルから前記ランダムデータを抽出し、前記ランダムデータに基づいて前記暗号化データを復号する復号手段、をさらに備えた、
    請求項3に記載されたプリンタ。
  5. 前記暗号化データが生成された後、前記暗号化対象データを削除する削除手段、をさらに備えた、
    請求項1から4のいずれか1項に記載されたプリンタ。
  6. 所定の操作入力に基づいて前記暗号化データを削除する第2削除手段、をさらに備えた、
    請求項1から5のいずれか1項に記載されたプリンタ。
  7. 前記暗号化対象データは、前記プリンタがソケットサーバとして機能するときのサーバ証明書と秘密鍵を含む、
    請求項1から6のいずれか1項に記載されたプリンタ。
  8. プリンタにおいて暗号化の対象となる暗号化対象データを暗号化する暗号化方法であって、
    ランダムデータ又は前記プリンタに対応付けられたデータによって暗号鍵を生成し、
    前記生成された前記暗号鍵を用いて前記暗号化対象データを暗号化して、暗号化データを生成し、
    前記生成された暗号化データを前記プリンタに常駐するファイルに埋め込む、
    プリンタにおける暗号化方法。
  9. プリンタにおいて暗号化の対象となる暗号化対象データを暗号化するために、コンピュータに、
    ランダムデータ又は前記プリンタに対応付けられたデータによって暗号鍵を生成する鍵生成手段と、
    前記鍵生成手段によって生成された前記暗号鍵を用いて前記暗号化対象データを暗号化し、暗号化データを生成する暗号化手段と、
    前記暗号化手段によって生成された暗号化データを前記プリンタに常駐するファイルに埋め込む埋込手段と、
    を実行させるためのプログラム。
JP2018169933A 2018-09-11 2018-09-11 プリンタ、プリンタにおける暗号化方法、および、プログラム Active JP7130501B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018169933A JP7130501B2 (ja) 2018-09-11 2018-09-11 プリンタ、プリンタにおける暗号化方法、および、プログラム
EP19861009.9A EP3851992A4 (en) 2018-09-11 2019-05-29 PRINTER, COMMUNICATION METHOD, ENCRYPTION METHOD AND COMPUTER-READABLE RECORDING MEDIA
US16/979,566 US11733944B2 (en) 2018-09-11 2019-05-29 Printer, only when authentication is successful, enables command for set period of time to acquire data and disables command after period of time elapses, communication method, encryption method, and non-transitory computer-readable recording medium
PCT/JP2019/021417 WO2020054140A1 (ja) 2018-09-11 2019-05-29 プリンタ、通信方法、暗号化方法、および、コンピュータ可読記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018169933A JP7130501B2 (ja) 2018-09-11 2018-09-11 プリンタ、プリンタにおける暗号化方法、および、プログラム

Publications (2)

Publication Number Publication Date
JP2020043491A true JP2020043491A (ja) 2020-03-19
JP7130501B2 JP7130501B2 (ja) 2022-09-05

Family

ID=69798839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018169933A Active JP7130501B2 (ja) 2018-09-11 2018-09-11 プリンタ、プリンタにおける暗号化方法、および、プログラム

Country Status (1)

Country Link
JP (1) JP7130501B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003091240A (ja) * 2001-09-19 2003-03-28 Dainippon Printing Co Ltd 暗号化された情報の管理方法
JP2008129788A (ja) * 2006-11-20 2008-06-05 Canon Inc 情報処理装置及び情報処理装置の制御方法、情報処理システム
JP2010219883A (ja) * 2009-03-17 2010-09-30 Sharp Corp 画像形成装置および画像形成方法
JP2010217604A (ja) * 2009-03-17 2010-09-30 Ricoh Co Ltd 画像形成装置、情報管理方法、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003091240A (ja) * 2001-09-19 2003-03-28 Dainippon Printing Co Ltd 暗号化された情報の管理方法
JP2008129788A (ja) * 2006-11-20 2008-06-05 Canon Inc 情報処理装置及び情報処理装置の制御方法、情報処理システム
JP2010219883A (ja) * 2009-03-17 2010-09-30 Sharp Corp 画像形成装置および画像形成方法
JP2010217604A (ja) * 2009-03-17 2010-09-30 Ricoh Co Ltd 画像形成装置、情報管理方法、及びプログラム

Also Published As

Publication number Publication date
JP7130501B2 (ja) 2022-09-05

Similar Documents

Publication Publication Date Title
US20190052626A1 (en) Generation and distribution of secure or cryptographic material
JP5564453B2 (ja) 情報処理システム、及び情報処理方法
US7681037B2 (en) Network connection system
US20070186278A1 (en) Print processing system and print processing apparatus
JP2019139520A (ja) 情報処理システムと、その制御方法とプログラム
JP2003224561A (ja) 情報処理装置及びその方法
JP2004304304A (ja) 電子署名生成方法,電子署名検証方法,電子署名生成依頼プログラム,及び電子署名検証依頼プログラム
US20140282999A1 (en) Secure access to applications behind firewall
JP2009060384A (ja) 画像通信システムおよび画像通信装置
US20150009522A1 (en) Selection of a configuration link to receive activation data
JP5011092B2 (ja) データダウンロードシステム及びデータダウンロード方法
CN113366461A (zh) 使用非对称密码访问固件设置
JP2012234439A (ja) 画像処理装置、そのデータ管理方法及びプログラム
JP2005303676A (ja) 画像形成装置、鍵ペア生成方法及びコンピュータプログラム
JP7130501B2 (ja) プリンタ、プリンタにおける暗号化方法、および、プログラム
JP7253890B2 (ja) プリンタ、通信方法、および、プログラム
WO2020054140A1 (ja) プリンタ、通信方法、暗号化方法、および、コンピュータ可読記録媒体
JP2007159009A (ja) チケット保護方法およびクライアント
JP5487659B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP2003296279A (ja) 認証方法、並びに、そのクライアント装置、サーバ装置およびプログラム
JP4768897B2 (ja) 認証データ記憶装置及び認証システム
JP2011150445A (ja) 測定用装置
JP6162611B2 (ja) 通信制御サーバ、通信制御方法、及びプログラム
JP7000961B2 (ja) ファイル操作管理システムおよびファイル操作管理方法
JP2006197640A (ja) 暗号化データ配信サービスシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220708

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220824

R150 Certificate of patent or registration of utility model

Ref document number: 7130501

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150