(57)【要約】【課題】ストレージデバイスの暗号化において、要求パフォーマンスを満たすためにはハード化しなければならない。一方、秘匿性の高い暗号化方法として鍵を用いた暗号化方法（例えば、ＡＥＳ暗号）が近年は主流であるが、高速化や開発期間及びコスト的な負荷が大きい問題がある。その背景もあり、ＭＦＰに搭載されるストレージデバイス‐特にそのデバイスを取り外してもデータを保持しており盗まれては困るもの‐の全てに暗号化処理が施されていない課題があった。【解決手段】本発明では、データバスを幾つかに分割する手段、セレクタ回路とそれに与えるセレクト信号を機体別の固有値とアドレス値から生成する手段を持ち、装置に含まれる基本的に盗まれては困る全てのストレージデバイスに対して暗号化を実施することで、装置全体的なセキュリティ強化を行う。【選択図】  図２（Ａ）
2015166800.tif 000002
【特許請求の範囲】
【請求項１】
ストレージデバイスへの暗号化方法であって、
データバス幅Ｗに対して、任意幅ｍビットのグループｎ個（ｎ、ｍ≦Ｗの任意）に分割する手段（２０３）と、
前記ｎ個のグループ及び各ｍビットの並び替えを行うセレクタ回路（２０５、２０７）と、
前記ストレージデバイスを含む装置の個体に特有な固有値を設定するレジスタ（３０２）と、
前記レジスタに設定された固有値とアドレス値を用いて、前記セレクタ回路のセレクト信号を生成する手段（３０３）と、
前記セレクタ回路及びセレクト信号によって、前記（ｎ、ｍ）の組みのそれぞれの要素に対して、複数個のパターンからひとつを選択することでデータバス内ビットの並び替えを行う手段（３０４〜３０８）と、を有する事を特徴とするストレージデバイスの暗号化方法及びその装置。
【請求項２】
前記ストレージデバイスのアドレス空間において、任意サイズのアドレス領域毎に前記（ｎ、ｍ）組みに分割されたデータバス内ビットの並びを逐次変更する手段（３０１〜３０３）を有する事を特徴とする請求項１に記載のストレージデバイスの暗号化方法及びその装置。
【請求項３】
前記装置に複数個のストレージデバイスが接続される場合に、それぞれのデータバスを分割した前記（ｎ、ｍ）組みに適用される前記セレクタ回路において、少なくともひとつ以上の異なるセレクタ回路を適用することでデータバス内ビットの並び替えを行う手段（４０２〜４０７）を有する事を特徴とする請求項１に記載のストレージデバイスの暗号化方法及びその装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージデバイスの暗号化方法及びその装置に関する。
【背景技術】
【０００２】
インターネットの普及に伴いセキュリティ強化に対するニーズは年々高まっている。ネットワークに接続され、多岐の機能を有する印刷装置もその例外ではない。特に各種装置のストレージデバイス内に格納されるデータに対するセキュリティ性を向上させる方法のひとつとして暗号（復号）化方法がある。
【０００３】
暗号化方法は、大きく２つに分類できる。暗号・復号化に鍵を用いない方法（換字式暗号、転置式暗号）と鍵を用い、一般的にアルゴリズムを公開する方法（共通鍵暗号、公開鍵暗号）とがある。近年の暗号化としては、後者が主流である。ストレージデバイスに対する鍵を用いる暗号化方法の代表例として、共通鍵方式であるアメリカ合衆国の暗号化規格ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）がある。本発明は、前者の鍵を用いない暗号化方法（転置式）に属する。
【０００４】
前記ＡＥＳ暗号に代表される鍵を用いた暗号化方法は、秘匿性と言う意味において優れた方法であるが、暗号化する対象にリアルタイム性が要求される場合にはハード化の必要があり、その回路規模は大きく、パフォーマンス的にも限界がある。それに対して、入力データの変換部を工夫をして、換字テーブルデータのデータ量や生成頻度を削減することで回路規模を縮小し、高速処理を実現する方法が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１９９５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
然しながら、前記特許文献１を用いても鍵による暗号化方法をハードとして実装することは、開発期間やコスト的に負担は大きい。また、その装置が複数のストレージデバイスＩＦ（Ｉｎｔｅｒｆａｃｅ）‐特にそのデバイスを取り外してもデータを保持しているもの‐を有する場合に、その全てのＩＦに対して前記鍵を用いる暗号化を適用することは難しい。従って、盗まれては困る全てのストレージデバイスに対して暗号化処理は施されておらず、一部のストレージデバイス、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、にのみ適用されているのが現状である。さらに、前記ＨＤＤへの暗号化装置がオプション扱いであった場合、ユーザが選択しなければ暗号化がかからないことになる。
【０００７】
前述のような現状の課題を踏まえて、本発明では、回路規模が小さく、ハード化が容易で、開発期間やコスト的に負担の小さい暗号化方法及びその装置を提案する。これにより装置に接続される全てのストレージデバイスＩＦに対して暗号化を実施することで、その装置の全体的なセキュリティ性を向上させることを目的とする。その上で、特に高い秘匿性が要求されるストレージデバイスに対しては、前記鍵を用いた暗号化方法（例えば、前記ＡＥＳ）を適用すればよい。
【課題を解決するための手段】
【０００８】
本発明の構成は、
ストレージデバイスへの暗号化方法であって、
データバス幅Ｗに対して、任意幅ｍビットのグループｎ個（ｎ、ｍ≦Ｗの任意）に分割する手段（２０３）と、
前記ｎ個のグループ及び各ｍビットの並び替えを行うセレクタ回路（２０５、２０７）と、
前記ストレージデバイスを含む装置の個体に特有な固有値を設定するレジスタ（３０２）と、
前記レジスタに設定された固有値とアドレス値を用いて、前記セレクタ回路のセレクト信号を生成する手段（３０３）と、
前記セレクタ回路及びセレクト信号によって、前記（ｎ、ｍ）の組みのそれぞれの要素に対して、複数個のパターンからひとつを選択することでデータバス内ビットの並び替えを行う手段（３０４〜３０８）と、を有することを特徴とするストレージデバイスの暗号化方法及びその装置。
【発明の効果】
【０００９】
本発明によれば、簡単な回路構成及び制御方法で、且つ開発負荷が小さく、安価に暗号化装置を実現可能である。従って、その装置に搭載される全てのストレージデバイスに対して暗号化を適用できるので、装置全体としてのセキュリティ性を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】メインコントローラのシステム構成例を示す図である。
【図２（Ａ）】データバス内ビットの並び替えの一例を示す図である。
【図２（Ｂ）】ビット並び替え用セレクタ回路例を示す図である。
【図３】装置の固有値とアドレス値からセレクト信号を生成する一例を示す図である。
【図４】ストレージデバイス毎に異なるセレクタ回路を適用する例を示す図である。
【図５】暗号化されたストレージデバイスが搭載される装置と１対１の関係であることを示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１２】
図１は印刷装置、特にＭＦＰ（Ｍｕｌｔｉ−ｆｕｎｃｔｉｏｎ  ｐｒｉｎｔｅｒ）におけるメインコントローラのシステム構成例である。
【００１３】
ＣＰＵ（中央処理演算器）１０１は、システム制御や演算処理を行う。
メモリ制御部１０２は、各種メモリデバイスへの入出力制御やＤＭＡ（ダイレクト・メモリ・アクセス）制御を行う。
【００１４】
ＲＯＭ（リード・オンリー・メモリ）１０３は、フラッシュメモリに代表されるリード専用メモリである。起動プログラム、各種処理及び制御プログラムや制御パラメータが格納される。フラッシュメモリを接続すれば、オンボードでの書き換えも可能である。
ＲＡＭ（ランダム・アクセス・メモリ）１０４は、ＤＤＲ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ）メモリに代表される書き換え専用メモリである。プログラムの作業領域や印刷データの格納領域等の用途に用いられる。
【００１５】
ＬＡＮ−ＩＦ部１０５は、印刷装置に接続されるローカル・エリア・ネットワーク１０６とのインターフェイスを行う。一般的にはＴＣＰ／ＩＰプロトコルに対応する。ネットワークケーブルを介して外部ＨＯＳＴコンピュータ１０７などのネットワーク対応機器と接続され、ネットワーク経由でのプリントを行うことができる。また、ルーターを介してインターネットに接続することも可能である。
【００１６】
Ｒｅａｄｅｒ−ＩＦ部１０８は、スキャナ装置１０９との通信制御を行う。前記スキャナ装置１０９によってスキャンした画像データを入力することでコピー機能を実現する。
【００１７】
ＦＡＸ−ＩＦ部１１０は、ＦＡＸ装置１１０との通信制御を行う。電話回線に接続された前記ＦＡＸ装置１１０とのデータ送受信を行う。
【００１８】
画像処理部１１２は、前記ＬＡＮ−ＩＦ部１０５、Ｒｅａｄｅｒ−ＩＦ部１０８、ＦＡＸ−ＩＦ部１１０を介して取り込んだ画像データに対して、各種画像処理を行う。
パネルＩＦ部１１３は、パネル装置１１４との通信制御を行う。ＵＩ（ユーザ・インターフェイス）として、パネル上の液晶表示やボタン等を操作することにより印刷装置の各種設定及び状態の確認ができる。
【００１９】
ＨＤＤ−ＩＦ部１１５は、ＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）規格に準拠したＨＤＤ又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）１１７との通信制御を行う。ＨＤＤ又はＳＳＤ１１７は不揮発性の大容量記憶装置であり、ファイルの保存や印刷データの一時格納場所として使用する。
【００２０】
ここで、本システムのオプション装置として、前記ＨＤＤ−ＩＦ部１１５とＨＤＤ又はＳＳＤ１１７の間に暗号化処理装置１１６を挿入することでＨＤＤ又はＳＳＤに格納されるデータに対して暗号化をかけることができる。
【００２１】
ビデオＩＦ部１１８は、印刷部１１９とのコマンド／ステータスの通信制御や印刷データの転送を行う。
【００２２】
印刷部１１９は、ここでは図示しないが印刷装置本体と給紙系及び排紙系から構成され、主に前記ビデオＩＦ部１１８からのコマンド情報に従い、印刷データを紙に印刷する。
【００２３】
システムバス１２０は、制御バス、データバス及び任意ブロック間のローカルバスを便宜的にまとめて表現したものである。なお、図１に示すメインコントローラの構成は、ＣＰＵ１０１も含み、ひとつ以上のＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）の形で実装されるのが一般的である。
【００２４】
図２（Ａ）は、暗号化対象となるストレージデバイスのデータバス内ビットの並び替えを示した図である。データバス幅Ｗ、分割数ｎ、分割内ビット数ｍとすると、図２（Ａ）では、（Ｗ＝３２、ｎ＝４、ｍ＝８）の例を示している。
【００２５】
ストレージデバイスを制御するＡＳＩＣ２０１とＳｔｏｒａｇｅ−Ｄｅｖｉｃｅ２０２のデータバスの接続は、処理単位と１対１対応のルールを守れば任意に接続しても構わない。ここで、処理単位とは、処理を行うための最小単位のことである。例えば、Ｓｔｏｒａｇｅ−Ｄｅｖｉｃｅ２０２の書き込み時にバイトマスク機能がある場合、選択した特定のバイトのみにデータが書き込まれ、その他のバイトにはマスクをかけて書き込まれない。このケースでは、データバス内ビットの並び替え時に、バイト（８ビット）単位でビットをグループ化しなければ制御不能となってしまう。従って、図２（Ａ）では処理単位＝８ビットである場合の例である。
【００２６】
ＡＳＩＣ２０１の内部データバス２０３は、前記処理単位＝８ビットとしてａ〜ｄグループに４分割される。まず、前記ａ〜ｄグループ間は、Ｓｅｌｅｃｔｏｒ１  ２０５によって処理単位での並び替えが実施される。前記Ｓｅｌｅｃｔｏｒ１  ２０５での並び替え後のデータバス２０４に対して、さらにＳｅｌｅｃｔｏｒ２  ２０７によってａ〜ｄグループ内ビットがそれぞれに並び替えられる。前記Ｓｅｌｅｃｔｏｒ２  ２０７での並び替え後のデータバス２０７は、ＡＳＩＣ２０１の入出力端子２０８に接続され、さらに外部のＳｔｏｒａｇｅ−Ｄｅｖｉｃｅ２０２の入出力端子２０９へと接続される。
【００２７】
前述したように、ボード上のＡＳＩＣ２０１とＳｔｏｒａｇｅ−Ｄｅｖｉｃｅ２０２は、一見素直に接続されているが、前記Ｓｅｌｅｃｔｏｒ１  ２０５及びＳｅｌｅｃｔｏｒ２  ２０７によってデータバスに転置処理が施されているため、Ｓｔｏｒａｇｅ−Ｄｅｖｉｃｅ２０２を盗んで読み取ろうとしても転置処理規則を解読しない限り読み取ることはできない。
【００２８】
前記Ｓｅｌｅｃｔｏｒ１  ２０５及びＳｅｌｅｃｔｏｒ２  ２０７の構成例を図２（Ｂ）に示す。
前記Ｓｅｌｅｃｔｏｒ１  ２０５は、ａ〜ｄグループの４つの並び替えなので４ｔｏ１セレクタ回路、前記Ｓｅｌｅｃｔｏｒ２  ２０７は、処理単位＝８ビットなので８！通りの並べ替えがあるが、そのうち１６パターンを用いるとすると１６ｔｏ１セレクタ回路で各ビット単位に構成される。
前記Ｓｅｌｅｃｔｏｒ１  ２０５にはＳｅｌｅｃｔ信号２１０が２本、前記Ｓｅｌｅｃｔｏｒ２  ２０７には、Ｓｅｌｅｃｔ信号２１１が４本×４回路＝１６本必要となる。また、前記１セットのセレクタ回路は、各ビットに対して書き込み用２１２と読み出し時の逆変換用２１３とに計２セットで構成される。
【００２９】
ここで、本実施例では前記（Ｗ＝３２、ｎ＝４、ｍ＝８）での分割例を示すが、一般的には１≦（ｎ、ｍ）≦Ｗの範囲で任意にとってもよい。また、前記Ｓｅｌｅｃｔｏｒ２  ２０７において１６パターンの例を説明したが、一般的には１≦パターン数≦ｍ！（ｍの階乗）から適当に選択してよい。なお、分割数ｎ＝１の場合、ｍ＝Ｗとなり前記Ｓｅｌｅｃｔｏｒ１  ２０５とＳｅｌｅｃｔｏｒ２  ２０７は合体して１個のセレクタ回路に置き換えられることになる。
【００３０】
次に、図３を用いて前記Ｓｅｌｅｃｔｏｒ１  ２０５及びＳｅｌｅｃｔｏｒ２  ２０７に入力される前記セレクト信号２１０、２１１の生成方法について説明する。
【００３１】
本発明では、装置個体別に固有値を設定する固有値レジスタ３０２を設ける。前記固有値とは、その装置の個体を識別できる番号であり、機体番号や本発明用に装置個体別に割り振ったシリアル番号、または前記機体番号を用いた一定のアルゴリズムにより生成された固有値でも構わない。前記固有値レジスタ３０２は、システムの起動時に制御ファームウェアにより設定される。
【００３２】
前記セレクタ信号２１０、２１１は、前記設定された固有値とアドレス値を論理演算することで生成される。図３の例では、対象ストレージデバイスのアクセスが８ビートのバーストアクセスであることを前提として、アドレス値３０１のＡ３〜Ａ２０までの１８ビットを前記固有値３０２とＥｘＯＲ演算３０３をとることで生成する。前記ＥｘＯＲ演算３０３の結果がＳｅｌｅｃｔｏｒ１  ３０４、Ｓｅｌｅｃｔｏｒ２ａ〜ｄ３０５〜３０８に接続される。
【００３３】
ここで、前記ＥｘＯＲ演算に入力されるアドレス信号３０１の選択ビット及び出力であるセレクト信号の各セレクタ回路への割り振りは、全機種共通の規則を決めれば任意でよい。また、前記固有値３０２とアドレス値３０１の演算も、必ずしもＥｘＯＲ演算である必要はなく、任意の演算方法を用いても構わない。
【００３４】
図４は、前記ＡＳＩＣ２０１に接続される各種ストレージデバイス４０１〜４０６‐特にそのデバイスを取り外してもデータを保持しているもの‐を示している。ＳＲＡＭ４０４のように揮発性メモリであっても、電池等でバックアップされていて重要なデータを保持しているデバイスも存在する。ここで、ＡＳＩＣ２０１に接続される各種ストレージデバイス４０１〜４０６の接続元に記載されているＳ（ｎ１、ｍ１）４０７〜Ｓ（ｎ６、ｍ６）４１２は、前記Ｓｅｌｅｃｔｏｒ１  ２０５及びＳｅｌｅｃｔｏｒ２  ２０７の各セットを表現している。本発明では、図４に表現されるように各ストレージデバイスに対して、基本的に全て異なったセレクタ回路を用いる。例えば、前述の例であると前記処理単位ｍ＝８の場合、取り得る並び替えのパターン数は８！（８の階乗）であり、ここからセレクタ回路として選択する１６パターンを各ストレージデバイスに対して全て異なったものを選択するという意味である。当然ながら、ストレージデバイス毎に異なるセレクタ回路にすることは必須要件ではない。
【００３５】
以上説明したように本発明を用いれば、搭載されるストレージデバイス毎に異なるセレクタ回路による転置処理がなされ、セレクタ回路に入力されるセレクト信号も機体別の前記固有値とアドレス値で生成されるため、装置間で異なった暗号化処理が実行される。
【００３６】
従って、図５に示すようにＭＦＰ５０１から抜き取ったストレージデバイス５０２を盗み取り、同機種の違う個体５０３に持って行き、接続したとしても使用不能である。
【符号の説明】
【００３７】
１０１  ＣＰＵ
１０２  メモリ制御部
１０３  ＲＯＭ
【図１】
2015166800.tif 000003
【図２（Ａ）】
2015166800.tif 000004
【図２（Ｂ）】
2015166800.tif 000005
【図３】
2015166800.tif 000006
【図４】
2015166800.tif 000007
【図５】
2015166800.tif 000008