(57)【要約】【課題】  本発明は、ＴＬＳの規格による暗号化されたパケットを復号する情報処理装置において、必要なバッファメモリを抑えつつ、外部の装置への転送効率を向上させることを目的とする。【解決手段】  本発明に係る情報処理装置は、ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）の規格による暗号化されたパケットを復号する情報処理装置であって、暗号化されたパケットを取得する取得手段と、前記暗号化されたパケットを復号する復号手段と、前記復号手段で復号されたパケットを外部の装置に出力する出力手段と、前記復号手段で復号されたパケットにパディングパターンが含まれていた場合、前記出力手段による出力を制限する制御手段と、を有することを特徴とする。【選択図】  図２
2018182400.tif 000002
【特許請求の範囲】
【請求項１】
ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）の規格による暗号化されたパケットを復号する情報処理装置であって、
暗号化されたパケットを取得する取得手段と、
前記暗号化されたパケットを復号する復号手段と、
前記復号手段で復号されたパケットを外部の装置に出力する出力手段と、
前記復号手段で復号されたパケットにパディングパターンが含まれていた場合、前記出力手段による出力を制限する制御手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記制御手段は、
前記復号手段で復号されたパケットを取得し、取得された前記復号手段で復号されたパケットを前記出力手段に転送する転送手段を有し、
前記復号手段で復号されたパケットにパディングパターンが含まれていた場合、前記転送手段による転送を制限することにより前記出力手段による出力を制限することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記復号手段で復号されたパケットにパディングパターンが含まれていた場合であって、当該パディングパターンの後に、前記復号手段で復号されたパケットにパディングパターンとは異なるパターンが含まれていた場合、前記転送手段による転送を許可することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記制御手段は、前記復号手段で復号されたパケットにパディングパターンが含まれていた場合であって、当該パディングパターンの後に含まれていたパディングパターンのサイズが閾値を超えた場合には、前記転送手段による転送を行わないことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記パディングパターンは、０の値の繰り返しであることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記パディングパターンは、パケットの種類を示す値に後続するパターンであることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記パディングパターンは、規格で定義されたパディングパターンであることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記パディングパターンは、ＴＬＳの規格で定義されたパディングパターンであることを特徴とする請求項７記載の情報処理装置。
【請求項９】
前記パディングパターンは、固定値の繰り返しであることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）の規格による暗号化されたパケットを復号する情報処理方法であって、
取得手段が、暗号化されたパケットを取得する取得工程と、
復号手段が、前記暗号化されたパケットを復号する復号工程と、
出力手段が、前記復号手段で復号されたパケットを外部の装置に出力する出力工程と、
制御手段が、前記復号手段で復号されたパケットにパディングパターンが含まれていた場合、前記出力手段による出力を制限する制御工程と、を有することを特徴とする情報処理方法。
【請求項１１】
コンピュータを、
ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）の規格による暗号化されたパケットを復号する情報処理装置であって、
暗号化されたパケットを取得する取得手段と、
前記暗号化されたパケットを復号する復号手段と、
前記復号手段で復号されたパケットを外部の装置に出力する出力手段と、
前記復号手段で復号されたパケットにパディングパターンが含まれていた場合、前記出力手段による出力を制限する制御手段と、を有することを特徴とする情報処理装置として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化されたパケットを復号する情報処理装置、情報処理方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
インターネット上のデータを暗号化し、セキュアに伝送するためのプロトコルが広く使用されている。代表的なものに、非特許文献１で開示されているＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）及び、その後継の非特許文献２で開示されているＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）がある。近年、インターネット通信におけるセキュア通信の占める割合は増加の一途をたどっており、５年で１４倍にも増加している。一方、プロトコルの脆弱性をついた攻撃手法も、近年増加している。例えば、２０１４年にＧｏｏｇｌｅは非特許文献３で開示されているＰＯＯＤＬＥ（Ｐａｄｄｉｎｇ  Ｏｒａｃｌｅ  Ｏｎ  Ｄｏｗｎｇｒａｄｅｄ  Ｌｅｇａｃｙ  Ｅｎｃｒｙｐｔｉｏｎ）という攻撃手法を発表した。本攻撃手法では、攻撃者が、脆弱性のあるＳＳＬ３．０にバージョンを落とし、通信させることが可能である。
【０００３】
セキュリティを向上させる一つの手法として、Ｐａｄｄｉｎｇを付加する手法がある。Ｐａｄｄｉｎｇは、通信で送受信したいＣｏｎｔｅｎｔに、付加されるダミーデータである。ダミーデータを付加することで、Ｃｏｎｔｅｎｔ長を秘匿することが可能になる。ＴＬＳ１．２においては、Ｐａｄｄｉｎｇ長は最大で２５６Ｂｙｔｅであり、パケット内にフィールドとして定義されている。Ｐａｄｄｉｎｇはダミーデータであり、ＴＬＳパケットの復号後には不要となるデータである。一方、機器で扱うデータ量は増加の一歩をたどり、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ｍｅｍｏｒｙ）への転送帯域がひっ迫してきているため、ＤＲＡＭへのデータ転送を効率化することが求められている。そこで、特許文献１には、ＴＬＳパケットの復号処理を行う装置において、実際の処理に不要なＰａｄｄｉｎｇをＤＲＡＭに転送しないことにより、転送帯域を下げることが開示されている。特許文献１で開示されている技術では、パケットに含まれるＰａｄｄｉｎｇ長のフィールドを使って、不要なＰａｄｄｉｎｇの削除を行っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許０５６４１１３３号公報
【非特許文献】
【０００５】
【非特許文献１】Ａ．Ｆｒｅｉｅｒ，Ｐ．Ｋａｒｌｔｏｎ，Ｐ．Ｋｏｃｈｅｒ：“Ｔｈｅ  Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ（ＳＳＬ）Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ３．０”，ＲＦＣ  ６１０１，１９９６．
【非特許文献２】Ｔ．Ｄｉｅｒｋｓ，Ｅ．Ｒｅｓｃｏｒｌａ：“Ｔｈｅ  Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ（ＴＬＳ）Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  １．２”，ＲＦＣ  ５２４６，２００８．
【非特許文献３】Ｂｏｄｏ  Ｍｏｌｌｅｒ，Ｔｈａｉ  Ｄｕｏｎｇ，Ｋｒｚｙｓｚｔｏｆ  Ｋｏｔｏｗｉｃｚ：“Ｔｈｉｓ  ＰＯＯＤＬＥ  Ｂｉｔｅｓ：  Ｅｘｐｌｏｉｔｉｎｇ  Ｔｈｅ  ＳＳＬ３．０  Ｆａｌｌｂａｃｋ”
【非特許文献４】Ｅ．Ｒｅａｃｏｒｌａ  ＲＴＥＭ，Ｉｎｃ．：”Ｔｈｅ  Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ（ＴＬＳ）Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  １．３”，ｄｒａｆｔ−ｉｅｔｆ−ｔｌｓ−ｔｌｓ１３−１８，２０１６
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、非特許文献４に開示されているＴＬＳ１．３においては、通信のセキュリティ性を向上させるために、Ｐａｄｄｉｎｇの規格が変更されており、特許文献１で開示されている技術を採用することが困難になっている。すなわち、通信パケットの種類やＣｏｎｔｅｎｔ長を秘匿するために、最大Ｐａｄｄｉｎｇ長が２＾１４−１Ｂｙｔｅに拡張され、かつＰａｄｄｉｎｇ長はランダム値をとることが可能になっている。さらに、パケット内からＰａｄｄｉｎｇ長を示すフィールドが削除されている。
【０００７】
従って、ＴＬＳ１．３においては、パケット内にＰａｄｄｉｎｇ長を示すフィールドがなく、暗号化されたパケットを全て復号しなければ、実際のＣｏｎｔｅｎｔがどこからどこまでで、Ｐａｄｄｉｎｇがどこからどこまでなのかが分からなくなっている。そのため、特許文献１で開示されている技術では、Ｐａｄｄｉｎｇを削除することが出来ない。また、パケットを全て復号して不要なＰａｄｄｉｎｇを除去した後にＣｏｎｔｅｘｔのみをＤＲＡＭへ転送するという手法が考えらえる。しかし、この場合、暗号復号装置内に１パケット分のデータ（最大２＾１４−１Ｂｙｔｅ）を保持できるバッファメモリを持つ必要が生じてしまう。
【０００８】
本発明は、ＴＬＳの規格による暗号化されたパケットを復号する情報処理装置において、必要なバッファメモリを抑えつつ、外部の装置への転送効率を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る情報処理装置は、ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）の規格による暗号化されたパケットを復号する情報処理装置であって、暗号化されたパケットを取得する取得手段と、前記暗号化されたパケットを復号する復号手段と、前記復号手段で復号されたパケットを外部の装置に出力する出力手段と、前記復号手段で復号されたパケットにパディングパターンが含まれていた場合、前記出力手段による出力を制限する制御手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ＴＬＳの規格による暗号化されたパケットを復号する情報処理装置において、必要なバッファメモリを抑えつつ、外部の装置への転送効率を向上させることが出来る。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態のシステムの構成図である。
【図２】第１の実施形態の構成を示す図である。
【図３】ＴＬＳ１．３レコードレイヤーパケット構造を示す図である。
【図４】第１の実施形態のパディング処理部の処理フローチャートを示す図である。
【図５】従来例による暗号復号処理のサイクル数を示す図である。
【図６】第１の実施形態における暗号復号処理のサイクル数を示す図である。
【図７】第１の実施形態における暗号復号処理のサイクル数（疑似Ｐａｄｄｉｎｇがデータに含まれている場合）を示す図である。
【図８】第２の実施形態のパディング処理部の処理フローチャートを示す図である。
【図９】第２の実施形態における暗号復号処理のサイクル数を示す図である。
【発明を実施するための形態】
【００１２】
（第１の実施形態）
以下に、図面を参照して、本形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１３】
図１は通信処理用の集積回路の構成を示すブロック図である。通信処理用の集積回路において、ＣＰＵ１０、暗号復号処理装置２０、ＤＲＡＭコントローラ３０、通信処理装置４０、ＳＲＡＭ６０は、バスシステム５０に接続され、相互にデータ転送を行う。この構成はＳｙｓｔｅｍ―Ｏｎ―Ａ―Ｃｈｉｐ  とよばれる集積回路で代表的な構成である。尚、当該構成の一部またはすべては、コンピュータプログラムで動作する一般的なパーソナルコンピュータによって実現してもよい。
【００１４】
図２は、本実施形態に係る暗号復号処理装置の構成図を示す。暗号復号処理装置２０は、データ入力部２００、暗号処理部２０１、パディング処理部２０２、データ出力部２０３、全体制御部２０４で構成される情報処理装置である。尚、暗号復号処理装置２０は、暗号処理および復号処理を行うことが可能であるが、本実施形態においては、主に復号処理を行うものとする。暗号復号処理装置２０におけるレコードレイヤーパケットの典型的な復号処理の流れを説明する。データ入力部２００は、ＳＲＡＭ６０または外部のＤＲＡＭ２などの外部の装置から、バスシステム５０を経由して暗号化されたレコードレイヤーパケットを分割して読むことにより、暗号化されたパケットを取得する。本実施形態におけるレコードレイヤーパケットはＴＬＳ１．３の規格に基づくものである。尚、必要に応じて、ＴＬＳ１．３以外のＴＬＳに適用することも可能である。図３は、ＴＬＳ１．３のレコードレイヤーパケットのフォーマットを示したものである。レコードレイヤーは５ＢｙｔｅのＨｅａｄｄｅｒとＣｉｐｈｅｒｔｅｘｔＬｅｎｇｔｈ  ＢｙｔｅのＣｉｐｈｅｒｔｅｘｔＦｒａｇｍｅｎｔからなる。ヘッダーは１ＢｙｔｅのＯｐａｑｕｅＴｙｐｅと２ＢｙｔｅのＶｅｒｓｉｏｎと２ＢｙｔｅのＣｉｐｈｅｒｔｅｘｔＬｅｎｇｔｈからなる。ＯｐｅｑｕｅＴｙｐｅは固定値２３、Ｖｅｒｓｉｏｎは固定値３．１である。ＣｉｐｈｅｒｔｅｘｔＬｅｎｇｔｈはＣｉｐｈｅｒｔｅｘｔＦｒａｇｍｅｎｔのサイズを示す。ＣｉｐｈｅｒｔｅｘｔＦｒａｇｍｅｎｔは、暗号化された領域であり、ＭＳＧＬＥＮ  ＢｙｔｅのＣｏｎｔｅｎｔと、１ＢｙｔｅのＴｙｐｅとＣｐａｄｌｅｎｇｔｈ  ＢｙｔｅのＰａｄｄｉｎｇとＭＡＣＬＥＮ  ＢｙｔｅのＭＡＣからなる。Ｃｏｎｔｅｎｔは暗号化通信で転送される実データである。Ｔｙｐｅは転送されるレコードレイヤーパケットの種類を示し、パケットの種類に応じた非０の値をとる。Ｐａｄｄｉｎｇは、固定値０で、任意のランダムなサイズである。ＭＡＣはＣｉｐｈｅｒｔｅｘｔＦｒａｇｍｅｎｔのＭＡＣ値である。データ入力部２００は、任意の処理単位で、レコードレイヤーパケットを分割して受信する。データ入力部２００は、まずＨｅａｄｄｅｒを受信し、全体制御部２０４に送信する。その後、ＣｉｐｈｅｒｔｅｘｔＦｒａｇｍｅｎｔを処理単位で分割して受信し、暗号処理部２０１に送信する。全体制御部２０４は、ＣＰＵ１０から、暗号処理か復号処理かを示すモードや、暗号処理やＭＡＣ処理で使用するアルゴリズムなどが設定される。また、データ入力部２００から受信したヘッダー情報から、ＣｉｐｈｅｒｔｅｘｔＬｅｎｇｔｈを受信する。全体制御部２０４は、これらの設定値を、データ入力部２００、暗号処理部２０１、パディング処理部２０２、データ出力部２０３に出力する。また、全体制御部２０４は、処理の終了時には、後述するパディング処理部２０２から受信したＴｙｐｅやＭＳＧＬＥＮの値をＣＰＵに通知する。暗号処理部２０１はＣｉｐｈｅｒｔｅｘｔＦｒａｇｍｅｎｔの暗号処理、復号処理及びＭＡＣ処理の演算を行う。暗号処理、復号処理及びＭＡＣ処理で使用するアルゴリズムは、全体制御部２０４で指定されたアルゴリズムを使用する。復号���れたＣｉｐｈｅｒｔｅｘｔＦｒａｇｍｅｎｔのうち、ＭＡＣを除く復号データは、パディング処理部に出力する。パディング処理部は、復号データを取得する。一方、ＭＡＣは暗号処理部２０１におけるＭＡＣ演算で生成されたＭＡＣと比較され、改竄検知が行われる。パディング処理部２０２は、暗号処理部２０１から入力される復号された分割データに対し、ＣｏｎｔｅｎｔかＴｙｐｅかＰａｄｄｉｎｇかの判断を行うとともに、ＭＳＧＬＥＮのカウントを行う。パディング処理部２０２において、Ｃｏｎｔｅｎｔと判断された分割データは、データ出力部２０３から、バスシステム５０を経由して、ＳＲＡＭ６０または、ＤＲＡＭ２に出力される。パディング処理部２０２において、Ｔｙｐｅと判断されたデータ及びＭＳＧＬＥＮは、全体制御部２０４に出力され、ＣＰＵへ通知される。パディング処理部２０２において、Ｐａｄｄｉｎｇと判断されたデータは不要なデータなのでパディング処理部２０２で破棄する。以上で説明した通り、パディング処理部２０２に基づきデータ出力部２０３による出力を制限することにより、不要なデータがＳＲＡＭ６０または、ＤＲＡＭ２に出力されてしまうことを防止することが出来る。
【００１５】
図４は、パディング処理部２０２の処理フローを示したものである。Ｓ１００では、パケット処理を開始する際に、パケット長カウンタを０に、Ｓ１０１でパディングカウンタを０にクリアする。パケット長カウンタは、処理済みのパケット長をカウントするカウンタであり、パディングカウンタは、パディングパターン（Ｔｙｐｅ＋Ｐａｄｄｉｎｇ）を検出後、Ｐａｄｄｉｎｇ長をカウントするカウンタである。続いて、Ｓ１０２でパケットを処理単位に分割した、単位データをデータ入力部２００から読み込む。続いて、Ｓ１０３において単位データのバイトカウンタｉを０に設定する。続いて、Ｓ１０４において、パディングカウンタが０か否かの判断を行う。パディングカウンタが０の場合は、パディングパターン未検出の状態である。パディングパターンが未検出の場合、Ｓ１０９において、単位データのｉバイト目の要素がＴＹＰＥかどうかの判定を行う。ＴＹＰＥが検出された場合には、単位データのｉバイト目の要素に後続するデータはＰａｄｄｉｎｇである可能性があると判断する。よって、Ｓ１１０において、パディングカウンタを１にセットした上で、Ｓ１１１において、単位データのｉバイト目の要素をデータ出力部へ転送する。尚、パディングカウンタに１がセットされた状態は、後続するデータはＰａｄｄｉｎｇである可能性があると判断されている状態なので、データ出力部への転送は一時的に制限される。Ｓ１０９において、ＴＹＰＥが検出されなかった場合には、単位データのｉバイト目の要素は、Ｃｏｎｔｅｎｔと判断し、Ｓ１１１において、単位データのｉバイト目の要素をデータ出力部へ転送する。Ｓ１０４においてパディングカウンタが０以外だった場合には、Ｓ１０５において、単位データのｉバイト目の要素が、０かどうかの判断を行う。単位データのｉバイト目の要素が０の場合は、Ｐａｄｄｉｎｇの可能性があると判断し、Ｓ１０６でパディングカウンタを１インクリメントする。Ｓ１０５において、０以外が検出された場合には、これまでＰａｄｄｉｎｇの可能性があると判断されていたパターンは、ＰａｄｄｉｎｇではなくＣｏｎｔｅｎｔと判断される。従って、一時的に制限されていたデータ出力部への転送は許可される。そのため、Ｓ１０７において、パディングカウンタのカウント値―１バイト分のデータを０埋めして、データ出力部に転送する。さらに、Ｓ１０８において、パディングカウンタを０にクリアする。続いて、Ｓ１１２でパケット長カウンタと、ｉをそれぞれ１インクリメントする。続いてＳ１１３でｉが単位データ長‐１か否かの判定を行い、単位データの処理の終了判定を行う。ｉが単位データ長‐１であった場合には、Ｓ１１４でパケット長カウンタが、ＣｉｐｈｅｒｔｅｘｔＬｅｎｇｔｈ−ＭＡＣＬＥＮか判定を行う。パケット長カウンタが、ＣｉｐｈｅｒｔｅｘｔＬｅｎｇｔｈ−ＭＡＣＬＥＮでない場合には、後続の単位データを処理する必要があるため、Ｓ１０２に戻り、後続の単位データをデータ入力部２００から読み込み、処理を継続する。一方、パケット長カウンタが、ＣｉｐｈｅｒｔｅｘｔＬｅｎｇｔｈ−ＭＡＣＬＥＮである場合には、パケットの最後まで処理が完了したことになるため、処理を終了する。
【００１６】
図５は、従来例による暗号復号処理のサイクル数を示したものである。Ｄｘは、ＣｏｎｔｅｎｔをＰｘはパディングデータを示す。従来例では、ｔ０で入力データＤ０を読み込み、ｔ１でＤ０の復号処理を実施する。ｔ２で復号後のＤ０をＤＲＡＭなどに出力する。従来例では、ＰａｄｄｉｎｇであるＰ０やＰ１もｔ７及びｔ８サイクルでＤＲＡＭ上に転送されてしまう。Ｐａｄｄｉｎｇは本来不要であるので、これによって、帯域を無駄にしてしまっている。
【００１７】
図６は、本実施形態における暗号復号処理のサイクル数を示したものである。本実施形態においては、暗号復号処理を実施したのち、パディング処理部において、パディングの判定及び除去が行われる。そのため、ＰａｄｄｉｎｇＰ０やＰ１は、暗号復号処理装置の外に出力されない。これによって、バスやＤＲＡＭの帯域を無駄にすることがなくなり、ｔ７及びｔ８サイクルの転送を削減することができる。本実施形態による無駄な転送の削減効果は、パケットに含まれるＣｏｎｔｅｎｔとＰａｄｄｉｎｇとの割合に依存する。Ｐａｄｄｉｎｇのサイズはセキュリティの観点からランダムであることが望ましい。また、取りうるサイズの最大値が大きければ大きいほど、分散が大きくなるため、データ長をより秘匿することが可能であり、セキュリティの観点からはよりセキュアであると考えられる。本発明によって削減できるメモリアクセスの割合は、パケット中に含まれる、Ｐａｄｄｉｎｇ長の平均割合で決まる。例えば、パケットに占めるＰａｄｄｉｎｇの平均の割合が２５％だとすると、本発明により、メモリアクセスを２５％削減できる。
【００１８】
図７は、本実施形態における、Ｃｏｎｔｅｎｔ中に疑似パディングパターンＤ２が含まれる場合の暗号復号処理のサイクル数を示したものである。パディング処理部は、疑似パディングパターンＤ２を検出し、ｔ４サイクルにおいて、データ出力部にデータ転送を行わない。しかし、後続のＣｏｎｔｅｎｔＤ３において非０のデータが検出され、パディングと判断されていたデータＤ２が、Ｃｏｎｔｅｎｔと判断される。その際、Ｄ２を暗号復号処理装置外部に出力する必要があるため、復号処理がｔ５サイクルでストールし、ｔ５で疑似パディングパターンＤ２を出力する。データ中にＰａｄｄｉｎｇに類似するパターンが含まれている場合、一旦誤検出したパディングデータを外部メモリに書き出すのに、パケット処理を停止させる必要があるため、処理速度が低下する。低下の度合いは、データ中に含まれるパディングパターンの割合に依存し、データ中に含まれるパディングパターンの割合だけ処理のオーバヘッドがかかる。例えば、データ中に５％のパディングパターンが含まれている場合、５％のパディングデータをＤＲＡＭに書き出すために、５％程度、余分な処理サイクルがかかってしまう。しかし、通常、パディングパターンと同一のパターンがデータ中に含まれる割合は非常に少ないと考えられるため、無視できるものと考えられる。
【００１９】
（第２の実施形態）
図８は、第２の実施形態におけるパディング処理部２０２の処理フローを示したものである。第１の実施形態における図４の処理フローに対して、Ｓ１１５が追加されている。Ｓ１１５では、パディングカウンタの値が閾値より大きいか否かの判定を行う。閾値よりも小さければ、Ｓ１１１において、単位データのｉバイト目の要素を出力する。一方、閾値よりも大きければ、単位データのｉバイト目の要素を出力しない。閾値は、全体制御部２０４にあらかじめＣＰＵから設定されている設定値である。閾値との比較を行うことで、疑似パディングパターンがあった場合における、性能低下を防ぐことができる。図９の本実施形態による処理サイクル数を示す。図７においては、疑似パディングパターンＤ２を検出して、出力しなかったために、ｔ５において処理のストールが発生し、性能が低下してしまっていた。一方、図９の本実施形態における処理サイクルでは、閾値以下長さの疑似パディングパターンは、通常のＣｏｎｔｅｎｔとみなされ、出力されるため、ストールの発生を削減することによって、誤検出を削減し、性能向上を図ることができる。
【００２０】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００２１】
２０  暗号復号処理装置
２００  データ入力部
２０１  暗号処理部
２０２  パディング処理部
２０３  データ出力部
２０４  全体制御部
【図１】
2018182400.tif 000003
【図２】
2018182400.tif 000004
【図３】
2018182400.tif 000005
【図４】
2018182400.tif 000006
【図５】
2018182400.tif 000007
【図６】
2018182400.tif 000008
【図７】
2018182400.tif 000009
【図８】
2018182400.tif 000010
【図９】
2018182400.tif 000011