IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 凸版印刷株式会社の特許一覧

特許7540193信号処理装置、信号処理方法、及びプログラム
<>
  • 特許-信号処理装置、信号処理方法、及びプログラム 図1
  • 特許-信号処理装置、信号処理方法、及びプログラム 図2
  • 特許-信号処理装置、信号処理方法、及びプログラム 図3
  • 特許-信号処理装置、信号処理方法、及びプログラム 図4
  • 特許-信号処理装置、信号処理方法、及びプログラム 図5
  • 特許-信号処理装置、信号処理方法、及びプログラム 図6
  • 特許-信号処理装置、信号処理方法、及びプログラム 図7
  • 特許-信号処理装置、信号処理方法、及びプログラム 図8
  • 特許-信号処理装置、信号処理方法、及びプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-19
(45)【発行日】2024-08-27
(54)【発明の名称】信号処理装置、信号処理方法、及びプログラム
(51)【国際特許分類】
   H04N 1/44 20060101AFI20240820BHJP
   G06F 21/60 20130101ALI20240820BHJP
【FI】
H04N1/44
G06F21/60 320
【請求項の数】 8
(21)【出願番号】P 2020084462
(22)【出願日】2020-05-13
(65)【公開番号】P2021180392
(43)【公開日】2021-11-18
【審査請求日】2023-04-17
(73)【特許権者】
【識別番号】000003193
【氏名又は名称】TOPPANホールディングス株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100139686
【弁理士】
【氏名又は名称】鈴木 史朗
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100147267
【弁理士】
【氏名又は名称】大槻 真紀子
(72)【発明者】
【氏名】久保 高志
【審査官】花田 尚樹
(56)【参考文献】
【文献】特開2019-057040(JP,A)
【文献】特開2005-094486(JP,A)
【文献】特開2011-145719(JP,A)
【文献】特開2008-143095(JP,A)
【文献】特開平04-032921(JP,A)
【文献】特開2008-009303(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/32 - 1/36
1/42 - 1/44
G06F 12/14
21/10
21/60 -21/88
(57)【特許請求の範囲】
【請求項1】
通信先の装置から通知されたデータに対する応答を示す応答対応データを取得するデータ取得部と、
前記応答対応データを暗号化した情報を含む応答データであって、前記通信先の装置から通知されたデータに対する応答として前記通信先の装置に送信する応答データのデータ長が所定の閾値未満となるように調整するデータ処理部と、
を備え
前記データ処理部は、
前記応答対応データのデータ長に基づいて、前記応答対応データの全部又は一部のいずれを暗号化するか判定し、前記応答対応データの一部を暗号化すると判定した場合、前記応答対応データの先頭から所定のデータ長のデータを暗号化することにより、前記応答データのデータ長が所定の閾値未満となるように調整する第1処理部を有する、
信号処理装置。
【請求項2】
前記データ処理部は、
前記応答対応データの全部を暗号化したデータのデータ長が所定の閾値以上である場合、前記応答対応データの全部を暗号化したデータを、所定の閾値未満のデータ長である複数のデータに分割することにより、前記応答データのデータ長が所定の閾値未満となるように調整する第2処理部を有する、
請求項1に記載の信号処理装置。
【請求項3】
前記データ処理部は、
前記応答対応データのデータ長が所定の閾値以上になる場合、前記応答対応データを複数のデータに分割し、前記分割した前記応答対応データを暗号化したデータのデータ長が所定の閾値未満となるようにすることにより、前記応答データのデータ長が所定の閾値未満となるように調整する第3処理部を有する、
請求項1に記載の信号処理装置。
【請求項4】
前記データ処理部は、前記応答対応データの全部を暗号化したデータのうちの一部のデータ、または、前記応答対応データのうちの一部のデータを暗号化したデータを前記応答データとして出力する場合、当該出力する前記応答データが一部のデータであることを示す付帯情報を、前記応答データと共に出力する、
請求項または請求項に記載の信号処理装置。
【請求項5】
前記データ処理部は、前記応答対応データの全部を暗号化したデータのうち一部のデータ、または、前記応答対応データのうちの一部のデータを暗号化したデータを前記応答データとして出力する場合、当該出力する前記応答データにおける残りの未出力データのデータ長を示す付帯情報を、前記応答データと共に出力する、
請求項に記載の信号処理装置。
【請求項6】
通信先の装置から通知されたデータに対する応答を示す応答対応データを取得するデータ取得部と、
前記応答対応データを暗号化した情報を含む応答データであって、前記通信先の装置から通知されたデータに対する応答として前記通信先の装置に送信する応答データのデータ長が所定の閾値未満となるように調整するデータ処理部と、
前記データ取得部によって行う暗号化処理のモードを指定する処理モードを記憶する記憶部を更に備え、
前記データ処理部は、前記処理モードにより指定されたモードに対応する暗号化処理を行い、
前記処理モードには、
前記応答対応データのデータ長に基づいて前記応答対応データの全部又は一部のいずれを暗号化するか判定し、前記応答対応データの一部を暗号化すると判定した場合、前記応答対応データの先頭から所定のデータ長のデータを暗号化することにより、前記応答データのデータ長が所定の閾値未満となるように調整する第1処理モードと、
前記応答対応データの全部を暗号化したデータのデータ長が所定の閾値以上である場合、前記応答対応データの全部を暗号化したデータを、所定の閾値未満のデータ長である複数のデータに分割することにより、前記応答データのデータ長が所定の閾値未満となるように調整する第2処理モードと、
前記応答対応データのデータ長が所定の閾値以上になる場合、前記応答対応データを複数のデータに分割し、前記分割した前記応答対応データを暗号化したデータのデータ長が所定の閾値未満となるようにすることにより、前記応答データのデータ長が所定の閾値未満となるように調整する第3処理モードと、の何れかが含まれる、
信号処理装置。
【請求項7】
データ取得部が、通信先の装置から通知されたデータに対する応答を示す応答対応データを取得し、
データ処理部が、前記応答対応データを暗号化した情報を含む応答データであって、前記通信先の装置から通知されたデータに対する応答として前記通信先の装置に送信する応答データのデータ長が所定の閾値未満となるように調整し、前記応答対応データのデータ長に基づいて、前記応答対応データの全部又は一部のいずれを暗号化するか判定し、前記応答対応データの一部を暗号化すると判定した場合、前記応答対応データの先頭から所定のデータ長のデータを暗号化することにより、前記応答データのデータ長が所定の閾値未満となるように調整する、
信号処理方法。
【請求項8】
コンピュータを、
通信先の装置から通知されたデータに対する応答を示す応答対応データを取得するデータ取得手段、
前記応答対応データを暗号化した情報を含む応答データであって、前記通信先の装置から通知されたデータに対する応答として前記通信先の装置に送信する応答データのデータ長が所定の閾値未満となるように調整し、前記応答対応データのデータ長に基づいて、前記応答対応データの全部又は一部のいずれを暗号化するか判定し、前記応答対応データの一部を暗号化すると判定した場合、前記応答対応データの先頭から所定のデータ長のデータを暗号化することにより、前記応答データのデータ長が所定の閾値未満となるように調整するデータ処理手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号処理装置、信号処理方法、及びプログラムに関する。
【背景技術】
【0002】
IoT(Internet of Things)の分野において、複数の装置においてデータを送受信して信号処理を行うシステムがある。一方の装置から他方の装置に送信されるデータのセキュリティを強化するため、データを暗号化する技術がある(例えば、特許文献1)。このような装置間におけるデータの送受信は、予め定めた所定の通信プロトコルにしたがって行われる。例えば、通信プロトコルでは、一方の装置から他方の装置に送信するデータのデータ長などが規定されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019-213085号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、暗号化されたデータのデータ長は、暗号化する前のデータ(以下、元データともいう)と比較して長くなる傾向にある。ここでの暗号化には、元データを暗号化する処理と、ハッシュ関数を用いて元データから認証データを生成し、所定のメッセージ形式にフォーマットすることを含む。暗号化に係る処理においては、暗号化する前のデータに、暗号化処理の単位バイト数(例えば8バイトや16バイト)の倍数となるデータ長に揃えるためのパディングバイトを追加したり、改ざん防止のための認証子を追加したりする場合があるためである。この場合、暗号化されたデータのデータ長が長くなり、通信プロトコルに定められたデータ長を超過してしまう可能性があるという問題があった。
【0005】
本発明は、このような状況に鑑みてなされたものである。本発明の目的は、暗号化されたデータのデータ長が通信プロトコルに定められたデータ長を超えないように調整することができる信号処理装置、信号処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の、信号処理装置は、通信先の装置から通知されたデータに対する応答を示す応答対応データを取得するデータ取得部と、前記応答対応データを暗号化した情報を含む応答データであって、前記通信先の装置から通知されたデータに対する応答として前記通信先の装置に送信する応答データのデータ長が所定の閾値未満となるように調整するデータ処理部と、を備え、前記データ処理部は、前記応答対応データのデータ長に基づいて、前記応答対応データの全部又は一部のいずれを暗号化するか判定し、前記応答対応データの一部を暗号化すると判定した場合、前記応答対応データの先頭から所定のデータ長のデータを暗号化することにより、前記応答データのデータ長が所定の閾値未満となるように調整する第1処理部を有する。
【0007】
本発明の、信号処理方法は、データ取得部が、通信先の装置から通知されたデータに対する応答を示す応答対応データを取得し、データ処理部が、前記応答対応データを暗号化した情報を含む応答データであって、前記通信先の装置から通知されたデータに対する応答として前記通信先の装置に送信する応答データのデータ長が所定の閾値未満となるように調整し、前記応答対応データのデータ長に基づいて、前記応答対応データの全部又は一部のいずれを暗号化するか判定し、前記応答対応データの一部を暗号化すると判定した場合、前記応答対応データの先頭から所定のデータ長のデータを暗号化することにより、前記応答データのデータ長が所定の閾値未満となるように調整する。
【0008】
本発明の、プログラムは、コンピュータを、通信先の装置から通知されたデータに対する応答を示す応答対応データを取得するデータ取得手段、前記応答対応データを暗号化した情報を含む応答データであって、前記通信先の装置から通知されたデータに対する応答として前記通信先の装置に送信する応答データのデータ長が所定の閾値未満となるように調整し、前記応答対応データのデータ長に基づいて、前記応答対応データの全部又は一部のいずれを暗号化するか判定し、前記応答対応データの一部を暗号化すると判定した場合、前記応答対応データの先頭から所定のデータ長のデータを暗号化することにより、前記応答データのデータ長が所定の閾値未満となるように調整するデータ処理手段、として機能させるためのプログラムである。
【発明の効果】
【0009】
本発明によれば、暗号化されたデータのデータ長が通信プロトコルに定められたデータ長を超えないように調整することができる。
【図面の簡単な説明】
【0010】
図1】本発明の実施形態による通信システム1の構成例を示すブロック図である。
図2】本発明の実施形態によるデータフォーマットの構成例を示す図である。
図3】本発明の実施形態によるデータフォーマットの構成例を示す図である。
図4】本発明の実施形態による処理モード220の構成例を示す図である。
図5】本発明の実施形態による第2通信装置20が行う処理の流れを示すフローチャートである。
図6】本発明の実施形態による通信システム1が行う処理の流れを示すシーケンス図である。
図7】本発明の実施形態の変形例1による第2通信装置20が行う処理の流れを示すフローチャートである。
図8】本発明の実施形態の変形例1による通信システム1が行う処理の流れを示すシーケンス図である。
図9】本発明の実施形態の変形例2による第2通信装置20が行う処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について、図面を参照して説明する。
【0012】
図1は、本発明の実施形態による通信システム1の構成例を示すブロック図である。通信システム1は、例えば、第1通信装置10と第2通信装置20とを備える。第1通信装置10と第2通信装置20とは、互いに通信可能に接続される。
【0013】
第1通信装置10は、PC(Personal Computer)やサーバ等のコンピュータ装置である。第1通信装置10は、第2通信装置20と通信する。例えば、第1通信装置10は、第2通信装置20に命令を送信し、第2通信装置20から当該命令に対する応答をする。例えば、第1通信装置10は、第2通信装置20に所定の信号処理を依頼し、第2通信装置20から所定の信号処理を実行した結果を受け取る。ここでの所定の信号処理は任意の信号処理であってよいが、例えば、特定の通信方式に対応する変調や復調などの処理、各種フィルタ処理、信号圧縮や解凍に係る処理、或いは識別番号の取得、或いは特定のアドレスに記憶されたデータを読み出すなどの信号処理である。
【0014】
例えば、第1通信装置10は、第2通信装置20にリードコマンドを送信することにより、そのリードコマンドの応答として、第2通信装置20からリードコマンドで特定されるデータを取得する。
【0015】
この場合において、第1通信装置10は、第2通信装置20から暗号化されたデータを受信する。第1通信装置10と第2通信装置20との間の通信路においてデータが盗み見られた場合であっても、そのデータの内容を解読することが困難となるようにするためである。こうすることにより、一方の装置から他方の装置に送信されるデータのセキュリティを強化している。
【0016】
第1通信装置10は、例えば、通信部11と記憶部12と、制御部13とを備える。通信部11は、第2通信装置20と通信を行う。
【0017】
記憶部12は、記憶媒体、例えば、HDD(Hard Disk Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、RAM(Random Access read/write Memory)、ROM(Read Only Memory)、またはこれらの記憶媒体の任意の組み合わせによって構成される。
【0018】
記憶部12は、例えば、送信データ120と受信データ121とを記憶する。送信データ120は、第2通信装置20に送信する情報であり、例えば、センサにより測定された測定データや、第2通信装置から読み出したいデータの所在(アドレス)を示す情報などである。送信データ120は、暗号化されたデータであってもよい。すなわち、送信データ120は、例えば、第2通信装置から読み出したいデータの所在(アドレス)が暗号化された情報であってもよい。
【0019】
受信データ121は、第2通信装置20から受信する情報であり、例えば、第1通信装置10が依頼した所定の信号処理がなされたデータ、或いは、所定の信号処理がなされた後に暗号化されたデータである。
【0020】
制御部13は、例えば、第1通信装置10がハードウェアとして備えるCPU(Central Processing Unit)に、記憶部12に記憶されたプログラムを実行させることによって実現される。制御部13は、例えば、データ取得部130と、通信制御部131と、装置制御部132とを備える。
【0021】
データ取得部130は、第2通信装置20に所定の信号処理を依頼するデータを取得する。データ取得部130は、例えば、記憶部12を参照することにより、所定の信号処理を依頼する対象となるデータとして、送信データ120を取得する。データ取得部130は、取得したデータを通信制御部131に出力する。
【0022】
通信制御部131は、データ取得部130により取得された送信データ120を第2通信装置20に送信して所定の信号処理を依頼し、その依頼に対する応答を受信する。例えば、所定の信号処理が、第2通信装置20に格納されたデータを読出す処理である場合、通信制御部131は、通信部11を介して第2通信装置20にリードコマンドを送信する。この場合、送信データ120はリードコマンドである。そして、通信制御部131は、第2通信装置20から、第2通信装置20に記憶されている、リードコマンドにて特定されるデータを受信する。通信制御部131は、第2通信装置20から所定の信号処理がなされた後に暗号化されたデータを受信し、受信したデータを受信データ121として記憶部12に記憶させる。
【0023】
装置制御部132は、第1通信装置10を統括的に制御する。装置制御部132は、例えば、通信制御部131により所定の信号処理を依頼するデータを、通信部11を介して第2通信装置20に送信する。また、装置制御部132は、第2通信装置20から通信部11を介して受信したデータを通信制御部131に出力する。
【0024】
第2通信装置20は、例えば、通信部21と記憶部22と、制御部23とを備える。通信部21は、第1通信装置10と通信を行う。記憶部22は、記憶媒体、例えば、HDD、フラッシュメモリ、EEPROM、RAM、ROM、またはこれらの記憶媒体の任意の組み合わせによって構成される。記憶部22は、例えば、処理モード220を記憶する。処理モード220は、第2通信装置20が行う所定の信号処理がなされたデータにおける暗号化の処理モードを指定する情報である。処理モードについては後で詳しく説明する。
【0025】
制御部23は、例えば、第2通信装置20がハードウェアとして備えるCPUに、記憶部22に記憶されたプログラムを実行させることによって実現される。制御部23は、例えば、データ取得部230と、データ処理部231と、装置制御部232とを備える。データ取得部230は、応答対応データを取得する。応答対応データは、第1通信装置10から受信した送信データ120に対する応答を示すデータであり、データ処理部231によって暗号化される前の平文のデータである。例えば、所定の信号処理が、第2通信装置20に格納されたデータを読出す処理である場合、データ取得部230は、記憶部22等に記憶されている読出し対象のデータを取得する。データ取得部230は、取得したデータをデータ処理部231に出力する。
【0026】
データ処理部231は、データ取得部230によって取得された応答対応データを暗号化する。データ処理部231は、例えば、記憶部12を参照して指定された処理モードを取得し、取得した処理モードに対応する暗号化を行う。データ処理部231は、暗号化したデータを第1通信装置10に送り返す。
【0027】
装置制御部232は、第2通信装置20を統括的に制御する。装置制御部232は、例えば、第1通信装置10から通信部21を介して受信した、読み出し対象データのアドレスに基づいて記憶部22を参照し、読み出し対象データを取得する。装置制御部232は、取得した読み出し対象データを、応答対応データとしてデータ取得部230に出力する。或いは、装置制御部232は、第1通信装置10から通信部21を介して受信したデータをデータ取得部230に出力する。また、装置制御部232は、データ処理部231により暗号化された応答対応データを、通信部21を介して第1通信装置10に送信する。
【0028】
通信システム1における第1通信装置10と第2通信装置20とのデータの送受信は、所定の通信プロトコルにしたがって行われる。具体的には、所定の通信プロトコルに規定されたデータフォーマットを用いたデータの送受信が行われる。
【0029】
ここで、本実施形態の通信システム1に適用されるデータフォーマットについて、図2、及び図3を用いて説明する。図2、及び図3は、本発明の実施形態によるデータフォーマットの構成例を示す図である。図2には、第1通信装置10から第2通信装置20に送信データ120(コマンド)を送信する際のデータフォーマット(以下、送信データフォーマットという)が示されている。図3には、第2通信装置20から第1通信装置10に応答(レスポンス)する際のデータフォーマット(以下、応答データフォーマットという)が示されている。
【0030】
図2に示すように、送信データフォーマットは、ヘッダH、送信データ長Lc、データDT1、受信データ長Le、及びフッタFなどにより構成される。ヘッダHは送信するデータに関する付帯情報であり、例えば送信元や送信先の識別情報が示される。送信データ長Lcは、送信データのデータ長を示す情報である。データDT1は送信データそのものである。受信データ長Leは受信データのデータ長を示す情報である。ここでの受信データは、図2に示す送信データフォーマットで送信されたデータに対する応答である。フッタFは、送信するデータに関する付帯情報であり、例えば、CRC(Cyclic Redundancy Check)など誤り訂正に用いられる情報である。なお、送信データ長LcはヘッダHの一部であってもよい。また、受信データ長LeはフッタFの一部または全部であってもよい。
【0031】
送信データ長Lcは、所定のバイト数(例えば、1バイト)で規定され、そのバイト数で表現し得る値に設定される。例えば、送信データ長Lcが「02h」に設定される場合、データDT1のデータ長が2バイトであることを示す。あるいは、送信データ長Lcが「7Fh」に設定される場合、データDT1のデータ長が127バイトであることを示す。
【0032】
受信データ長Leは、所定のバイト数(例えば、1バイト)で規定され、そのバイト数で表現し得る値に設定される。例えば、受信データ長Leが「FFh」に設定される場合、データDT1に対する応答のデータ長を255バイトにして送信するように要求していることが示されている。
【0033】
図3に示すように、応答データフォーマットは、ヘッダH、データDT2、及びエンドフラグEf、及びフッタFなどにより構成される。ヘッダH及びフッタFは送信データフォーマットにおけるヘッダH及びフッタFと同様である。データDT2は応答データそのものである。なお、応答データフォーマットにおいて、ヘッダHの部分を設けずに、DT2部から始めるフォーマットで構成されてもよい。また、エンドフラグEfはフッタFの一部でもよいし、あるいは、エンドフラグEfが応答データフォーマットに存在していなくともよい。ここで、データDT2のデータ長は、図2に示す送信データフォーマットで指定された長さである。すなわち、受信データ長Leが「FFh」に設定された場合、データDT2のデータ長は255バイトとなる。
【0034】
ここで、暗号化に係る処理においては、一般に、暗号化アルゴリズムや、パディングパラメータなどの設定内容により、暗号化や認証子付加の仕様が異なる。このため、応答データ(データDT2)のデータ長が暗号化や認証子付加の仕様に応じて異なる。この場合、受信データ長Leにてデータ長を指定しても、そのデータ長のデータDT2にて応答がなされるとは限らず、第1通信装置10は、データDT2のデータ長を想定することが困難となる。
【0035】
この場合、例えば、第1通信装置10は、受信データ長Leに「00h」を設定する。受信データ長Leが「00h」に設定された場合、所定の範囲内(例えば、256バイト以内の範囲)における任意のデータ長のデータDT2を用いて回答する旨を指示している。
【0036】
しかしながら、受信データ長Leに「00h」が設定された場合において、暗号化アルゴリズム等の違いにより、データDT2のデータ長が異なる場合が想定される。例えば、平文(暗号化する前のデータ)のデータ長が231バイトである場合において、DES(Data Encryption Standard)暗号を用いた一般的なパラメータ設定にて暗号化を行う場合、暗号化されたデータのデータ長は250バイトとなる。この場合、受信データ長Leに「00h」の指定にしたがった応答を行うことが可能である。
【0037】
一方、AES(Advanced Encryption Standard)暗号を用いた一般的なパラメータ設定にて暗号化を行う場合、暗号化されたデータのデータ長は258バイトとなる。この場合、暗号化されたデータのデータ長が規定の256バイトを超過してしまい、受信データ長Leにおける「00h」の指定にしたがった応答を行うことが困難となる。
【0038】
この対策として、本実施形態では、暗号化されたデータのデータ長が、所定のデータ長を超えないように調整する。具体的に、データ処理部231は、処理モードに従った暗号化を行うことにより、暗号化されたデータのデータ長が、所定のデータ長を超えないように調整する。
【0039】
ここで、処理モードについて詳しく説明する。図4は、本発明の実施形態による処理モード220の構成例を示す図である。図4に示すように、処理モード220は、モードID、モード、処理フラグなどの項目を備える。モードIDは処理モードを一意に識別する識別情報である。モードは、モードIDにて特定される処理モードの内容を示す情報である。処理フラグは、モードIDにて特定される処理モードが適用されるか否かを示す情報である。例えば、処理フラグに「1」が設定されるとその処理が適用されることを示し、処理フラグに「0(ゼロ)」が設定されるとその処理が適用されないことを示している。この例では、モードMd1~Md4が規定されており、このうちのモードMd1が適用されることが示されている。以下、モードMd1~Md4について順に説明する。
【0040】
モードMd1は、暗号化される前のデータのデータ長を調整することにより、応答データのデータ長が、所定のデータ長を超えないように調整する処理(図では、「データ長自動調整」と記載)である。
【0041】
モードMd1が設定されている場合、データ処理部231は、データ取得部230によって取得された、データ処理部231による暗号化の処理がなされる前の応答対応データ(以下、処理前データという)のデータ長が所定の第1閾値(例えば、231バイト)以上か否かを判定する。ここで第1閾値は、暗号化したデータのデータ長が規定のデータ長(例えば、256バイト)以下となる値である。ここでの第1閾値は、暗号化アルゴリズムや、パラメータの設定値等に応じて任意に決定されてよい。
【0042】
データ処理部231は、処理前データのデータ長が所定の第1閾値以上である場合、処理前データの一部を削除し、処理前データのデータ長が所定の第1閾値未満となるようにする。例えば、所定の信号処理が、第2通信装置20に格納されたデータを読出す処理である場合、データ処理部231は、まず、データ取得部230から読出し対象のデータを取得する。データ処理部231は、読み出し対象のデータのデータ長が所定の第1閾値未満である場合、その読出し対象の全データを読み出す。一方、データ処理部231は、読み出し対象のデータのデータ長が所定の第1閾値以上である場合、その読出し対象のデータのうち、データ長が所定の第1閾値未満となるように、当該データの一部(例えば、先頭から所定の第1閾値未満のデータ長までのデータ)を読み出す。
【0043】
或いは、所定の信号処理が、送信データ120に対する信号処理を依頼する処理である場合、データ処理部231は、送信データ120に所定の信号処理をしたデータのデータ長を取得する。データ処理部231は、データ長が所定の第1閾値未満である場合、所定の信号処理をしたデータのうちの全データを取得する。一方、データ処理部231は、データ長が所定の第1閾値以上である場合、所定の信号処理をしたデータから、データ長が所定の第1閾値未満となるように、当該所定の信号処理をしたデータの一部(例えば、先頭から所定の第1閾値未満のデータ長までのデータ)を取得する。
【0044】
このようにして、データ処理部231は、処理前データのデータ長が所定の第1閾値以上である場合、当該処理前データの先頭から所定の第1閾値未満に対応するデータ長のデータを残し、以降のデータを削除する等して、当該処理前データのデータ長が所定の第1閾値未満となるようにする。そして、データ処理部231は、所定の第1閾値未満のデータ長である処理前データを暗号化し、暗号化したデータをデータDT2として、応答データフォーマットにしたがった情報を第1通信装置10に送り返す。
【0045】
モードMd2は、処理前データが暗号化されたデータを分割することにより、応答データのデータ長が、所定のデータ長を超えないように調整する処理(図では、「データ分割出力」と記載)である。
【0046】
モードMd2が設定されている場合、データ処理部231は、まず、処理前データを暗号化する。そして、データ処理部231は、暗号化されたデータ(以下、暗号データという)のデータ長が所定の第2閾値(例えば、256バイト)以上か否かを判定する。ここで閾値は、暗号化アルゴリズムや、パラメータの設定値等に応じて任意に決定されてよい。
【0047】
データ処理部231は、暗号データのデータ長が所定の第2閾値以上である場合、暗号データを複数のデータに分割し、個々のデータのデータ長が所定の第2閾値未満となるようにする。例えば、データ処理部231は、暗号データのデータ長が所定の第2閾値以上である場合、当該暗号データの先頭から所定の第2閾値未満に対応するデータ長のデータと、以降のデータとに分割して2つのデータとする。これにより、データ処理部231は、分割後の個々のデータのデータ長が所定の第2閾値未満となるようにする。そして、データ処理部231は、所定の第2閾値未満のデータ長である暗号データをデータDT2として、応答データフォーマットにしたがった情報を第1通信装置10に送り返す。
【0048】
データ処理部231は、分割されたデータを送信する場合において、残りのデータが存在するか否かを示す情報を付帯させるようにしてもよい。例えば、データ処理部231は、暗号データを前半データと後半データの2つに分割した場合を考える。この場合、データ処理部231は、まず、前半データをデータDT2にマッピングして第1通信装置10に送信する。この際、データ処理部231は、例えば、応答データフォーマットにおけるフッタFにおける所定の位置に「61h」を設定することによって、残りのデータが存在することを示す。
【0049】
そして、データ処理部231は、第1通信装置10から残りのデータを要求する旨の指示を示す通知があった場合に、後半データをデータDT2にマッピングして第1通信装置10に送信する。この際、データ処理部231は、例えば、応答データフォーマットにおけるフッタFにおける所定の位置に「00h」を設定することによって、残りのデータが存在しないことを示す。
【0050】
或いは、データ処理部231は、分割されたデータを送信する場合において、残りのデータのデータ長を示す情報を付帯させるようにしてもよい。例えば、データ処理部231は、258バイトの暗号データを、256バイトの前半データと、2バイトの後半データの2つに分割した場合を考える。この場合、データ処理部231は、まず、256バイト前半データをデータDT2にマッピングして第1通信装置10に送信する。この際、データ処理部231は、例えば、応答データフォーマットにおけるフッタFにおける所定の位置に「02h」を設定することによって、残りのデータが2バイト存在することを示す。
【0051】
そして、データ処理部231は、第1通信装置10から残りのデータを要求する旨の指示を示す通知があった場合に、2バイトの後半データをデータDT2にマッピングして第1通信装置10に送信する。この際、データ処理部231は、例えば、応答データフォーマットにおけるフッタFにおける所定の位置に「00h」を設定することによって、残りのデータが0バイト存在すること、つまり残りのデータが存在しないことを示す。
【0052】
モードMd3は、モードMd1、Md2を組み合わせた処理により、応答データのデータ長が、所定のデータ長を超えないように調整する処理(図では、「Md1、Md2組合わせ」と記載)である。
【0053】
モードMd3が設定されている場合、データ処理部231は、まず、モードMd1と同様に、処理前データのデータ長が所定の第1閾値以上か否かを判定する。そして、データ処理部231は、処理前データのデータ長が所定の第1閾値以上である場合、処理前データを複数のデータに分割し、一度に暗号化するデータのデータ長が所定の第1閾値未満となるようにする。
【0054】
例えば、データ処理部231は、処理前データのデータ長が所定の第1閾値以上である場合、当該処理前データの先頭から所定の第1閾値未満に対応するデータ長のデータを第1部分とし、以降のデータを後半データとして、二つに分割する。これにより、データ処理部231は、一度に暗号化する処理前データのデータ長が所定の第1閾値未満となるようにする。そして、データ処理部231は、分割した処理前データ(例えば、処理前データの第1部分)を暗号化し、暗号化したデータをデータDT2として、応答データフォーマットにしたがった情報を第1通信装置10に送り返す。
【0055】
データ処理部231は、分割後の暗号データを送信する場合において、残りのデータが存在するか否かを示す情報を付帯させるようにしてもよい。例えば、データ処理部231は、処理前データを第1部分と第2部分の2つに分割した場合を考える。この場合、データ処理部231は、まず、第1部分を暗号化し、データDT2にマッピングして第1通信装置10に送信する。この際、データ処理部231は、例えば、応答データフォーマットにおけるフッタFにおける所定の位置に「61h」を設定することによって、残りのデータが存在することを示す。
【0056】
そして、データ処理部231は、第1通信装置10から残りのデータを要求する旨の指示を示す通知があった場合に、第2を暗号化したデータDT2にマッピングして第1通信装置10に送信する。この際、データ処理部231は、例えば、応答データフォーマットにおけるフッタFにおける所定の位置に「00h」を設定することによって、残りのデータが存在しないことを示す。
【0057】
或いは、データ処理部231は、分割後の暗号化データを送信する場合において、残りのデータのデータ長を示す情報を付帯させるようにしてもよい。例えば、データ処理部231は、処理前データを第1部分と第2部分の2つに分割した場合を考える。この場合、データ処理部231は、まず、第1部分を暗号化し、データDT2にマッピングして第1通信装置10に送信する。この場合、データ処理部231は、第2部分を暗号化した場合のデータ長を予め導出しておく。例えば、データ処理部231は、暗号化アルゴリズムや、パディングパラメータなどの設定内容に基づいて、第2部分を暗号化した場合のデータ長を導出する。そして、データ処理部231は、第1部分を暗号化したデータDT2を応答データフォーマットしたがって送付する際に、その応答データフォーマットのフッタFにおける所定の位置に、第2部分を暗号化した場合のデータ長を設定する。例えば、第2部分を暗号化したデータのデータ長が10バイトであった場合、応答データフォーマットのフッタFにおける所定の位置に「0Ah」を設定する。
【0058】
そして、データ処理部231は、第1通信装置10から残りのデータを要求する旨の指示を示す通知があった場合に、10バイトのデータ(第2部分を暗号化したデータ)をデータDT2にマッピングして第1通信装置10に送信する。この際、データ処理部231は、例えば、応答データフォーマットにおけるフッタFにおける所定の位置に「00h」を設定することによって、残りのデータが0バイト存在すること、つまり残りのデータが存在しないことを示す。
【0059】
図4には記載していないが、モードMd1~Md3に加えて、モードMd4が規定されてもよい。モードMd4は、モードMd1、Md2、及びMd3とは異なる処理により、暗号化されたデータのデータ長が、所定のデータ長を超えないように調整する処理である。例えば、モードMd4は、暗号データのデータ長が所定の第2閾値以上である場合において、その暗号データの先頭から所定の第2閾値未満のデータをデータDT2にマッピングして送付する処理である。
【0060】
なお、上記では、処理モード220に基づいて、モードMd1~Md4のいずれを行うかが決定される場合を例に説明した。しかしながらこれに限定されない。例えば、データ処理部231は、第1通信装置10からの指定に応じて処理モードを決定するようにしてもよい。この場合、例えば、送信データフォーマットにおけるヘッダHやフッタFの所定の位置に、モードMd1~Md4のいずれかに対応する値が設定されることにより、処理モードが指定される。また、処理モード220にて処理モードが指定される場合における、処理モード220に情報が設定されるタイミングは任意のタイミングであってよい。例えば、工場出荷時に処理モード220に情報が設定されるようにしてもよいし、運用時など設定されるようにしてもよい。また、設定者等による手動により処理モード220が設定されるようにしてもよいし、予め設定されたテーブルなどを第2通信装置20が参照することにより自動で設定されるようにしてもよい。
【0061】
図5は、本発明の実施形態による第2通信装置20が行う処理の流れを示すフローチャートである。この実施形態の例では、処理モード220にモードMd1による処理を実行する旨が設定されていることを前提とする。
【0062】
ステップS11において、第2通信装置20は、処理前データを取得する。ここでの処理前データは、第1通信装置10から通知された送信データ120に対する応答を示す情報であり、第2通信装置20による暗号化の処理がなされる前のいわゆる平文のデータである。ステップS12において、第2通信装置20は、処理前データのデータ長が所定の第1閾値以上であるか否かを判定する。
【0063】
ステップS13において、第2通信装置20は、処理前データのデータ長が所定の第1閾値以上である場合、処理前データのデータ長が所定の第1閾値未満となるように調整する。例えば、第2通信装置20は、処理前データの先頭から所定の第1閾値未満のデータを残し、以降のデータを削除することにより、処理前データのデータ長が所定の第1閾値未満となるように調整する。
【0064】
ステップS14において、第2通信装置20は、データ長が所定の第1閾値未満となるように調整した処理前データを暗号化する。ステップS15において、第2通信装置20は、暗号化したデータを応答データフォーマットにしたがって第1通信装置10に送信(出力)する。
【0065】
一方、ステップS16において、第2通信装置20は、処理前データのデータ長が所定の第1閾値未満である場合、処理前データを暗号化し、ステップS15において、暗号化したデータを応答データフォーマットにしたがって第1通信装置10に送信(出力)する。
【0066】
図6は、本発明の実施形態による通信システム1が行う処理の流れを示すシーケンス図である。第1通信装置10は、ステップS1において送信データ120を送信データフォーマットにマッピングし、ステップS2において第2通信装置20に送信する。ステップS3~S7に示す処理は、上述した図5におけるステップS11~S15に示す処理と同様であるため、その説明を省略する。ステップS16において、第1通信装置10は、第2通信装置20から応答を受信する。第2通信装置20からの応答は、その応答に相当するデータが暗号化された情報である。
【0067】
図7は、本発明の実施形態の変形例1による第2通信装置20が行う処理の流れを示すフローチャートである。この実施形態の変形例1では、処理モード220にモードMd2による処理を実行する旨が設定されていることを前提とする。
【0068】
第2通信装置20は、ステップS21において処理前データを取得し、ステップS22において処理前データを暗号化する。ステップS23において、第2通信装置20は、暗号化したデータのデータ長が所定の第2閾値以上であるか否かを判定する。
【0069】
ステップS24において、第2通信装置20は、暗号化したデータのデータ長が所定の第2閾値以上である場合、暗号化したデータを、個々のデータのデータ長が所定の第2閾値未満となるように分割する。例えば、第2通信装置20は、暗号化したデータの先頭から所定の第2閾値未満のデータを前半データとし、以降のデータを後半データとして分割することにより、暗号化したデータのデータ長が所定の第2閾値未満となるように調整する。
【0070】
ステップS25において、第2通信装置20は、分割したデータのうち何れかのデータ(例えば、先頭のデータ)を応答データフォーマットにしたがって第1通信装置10に送信(出力)する。ステップS26において、第2通信装置20は、ステップS25で送信したデータに、残りのデータが存在するか否かを判定する。
【0071】
ステップS27において、ステップS25で送信したデータに、残りのデータが存在する場合、第2通信装置20は、第1通信装置10から残りのデータを要求する指示を示す通知を取得する。ステップS28において、第2通信装置20は、第1通信装置10からの要求にしたがい、残りのデータを第1通信装置10に送信(出力)する。
【0072】
一方、第2通信装置20は、ステップS23において、暗号化したデータのデータ長が所定の第2閾値未満である場合には、暗号化したデータを分割することなくステップS25に示す処理を行い、応答データを第1通信装置10に送信(出力)する。
【0073】
また、第2通信装置20は、ステップS26において、ステップS25で送信したデータに、残りのデータが存在しない場合、第2通信装置20は、処理を終了させる。
【0074】
図8は、本発明の実施形態の変形例による通信システム1が行う処理の流れを示すシーケンス図である。ステップS31~S32に示す処理は、上述した図6におけるステップS1~S2に示す処理と同様であるため、その説明を省略する。ステップS33~S36に示す処理は、上述した図7におけるステップS21~S24に示す処理と同様であるため、その説明を省略する。
【0075】
ステップS37において、第2通信装置20は、暗号化したデータを分割した情報を、応答データフォーマットにしたがって第1通信装置10に送信(出力)する。この場合、第2通信装置20は、送信したデータに残りのデータが存在するか否かを示す情報を付帯させる。
【0076】
ステップS38において、第1通信装置10は、暗号化したデータを分割した情報を受信し、当該情報に残りのデータが存在する場合には、ステップS39において残りのデータを要求する指示を示す通知を行う。ステップS40~S41に示す処理は、上述した図7におけるステップS27~S28に示す処理と同様であるため、その説明を省略する。
【0077】
ステップS42において、第1通信装置10は、第2通信装置20から残りのデータを受信する。
【0078】
図9は、本発明の実施形態の変形例2による第2通信装置20が行う処理の流れを示すフローチャートである。この実施形態の変形例2では、処理モード220にモードMd3による処理を実行する旨が設定されていることを前提とする。
【0079】
第2通信装置20は、ステップS51において処理前データを取得し、ステップS52において処理前データが閾値以上かどうかを判断する。
【0080】
ステップS53において、第2通信装置20は、処理前データが閾値以上である場合、データ長が所定の閾値未満となるように、処理前データを複数に分割する。これにより、応答データのデータ長が第1閾値未満になるように調整する。
【0081】
ステップS54において、第2通信装置20は、分割した処理前データのうち何れか(例えば、先頭のデータ)を暗号化し、ステップS55において応答データフォーマットにしたがって暗号化したデータを第1通信装置10に送信(出力)する。
【0082】
ステップS56において、第2通信装置20は、ステップ55で送信したデータに、残りのデータが存在するか否かを判定する。送信したデータに、残りのデータが存在する場合、第2通信装置20は、ステップS57で第1通信装置10から残りのデータを要求する指示を示す通知を取得する。ステップS58において、第2通信装置20は、第1通信装置10からの要求にしたがい、残りのデータを暗号化し、ステップS59で第1通信装置10に送信(出力)する。
【0083】
一方、第2通信装置20は、ステップS52において、処理前データが閾値未満である場合には、処理前データを分割することなくステップS54に示す暗号化に係る処理を行い、応答データを第1通信装置10に送信(出力)する。
【0084】
また、第2通信装置20は、ステップS56において、ステップS55で10に送信したデータに、残りのデータが存在しない場合、第2通信装置20は、処理を終了させる。
【0085】
以上説明したように、実施形態の第2通信装置20は、データ取得部230とデータ処理部231とを備える。データ取得部230は、応答対応データを取得する。応答対応データは、第1通信装置10から通知された送信データ120に対する応答であって、データ取得部230によって暗号化される前のデータである。データ処理部231は、応答データのデータ長が所定の閾値未満となるように調整する。応答データは、応答対応データを暗号化した情報を含む応答データであって、前記送信データに対する応答として前記通信先の装置に送信するデータである。
【0086】
第1通信装置10は、「通信先の装置」の一例である。
第2通信装置20は、「信号処理装置」の一例である。
送信データ120は「通信先の装置から通知されたデータ」の一例である。
【0087】
また、実施形態の第2通信装置20では、データ処理部231は、モードMd1にて応答データのデータ長が所定の閾値未満となるように調整する。モードMd1では、応答対応データのデータ長に基づいて、応答対応データの全部又は一部のいずれを暗号化するか判定し、応答対応データの一部を暗号化すると判定した場合、応答対応データの先頭から所定のデータ長のデータを暗号化することにより、応答データのデータ長が所定の閾値未満となるように調整する。モードMd1を行うデータ処理部231は、「第1処理部」の一例である。
【0088】
また、実施形態の第2通信装置20では、データ処理部231は、モードMd2にて応答データのデータ長が所定の閾値未満となるように調整する。モードMd2では、応答対応データの全部を暗号化したデータのデータ長が所定の閾値以上である場合、応答対応データの全部を暗号化したデータを、所定の閾値未満のデータ長である複数のデータに分割することにより、応答データのデータ長が所定の閾値未満となるように調整する。モードMd2を行うデータ処理部231は、「第2処理部」の一例である。
【0089】
また、実施形態の第2通信装置20では、データ処理部231は、モードMd3にて応答データのデータ長が所定の閾値未満となるように調整する。モードMd3では、応答対応データが所定の閾値以上である場合、応答対応データが閾値未満となるように複数に分割する。そして、分割されたそれぞれの応答対応データを暗号化することにより、応答データが所定の閾値未満のデータ長となるように調整する。モードMd3を行うデータ処理部231は、「第3処理部」の一例である。
【0090】
これにより、実施形態の第2通信装置20では、データ処理部231により、暗号化されたデータのデータ長が通信プロトコルに定められたデータ長を超えないように調整することができる。
【0091】
また、実施形態の第2通信装置20では、データ処理部231は、モードMd2またはモードMd3にて分割されたデータのうち一部のデータを応答データとして出力する場合、当該出力する前記応答データが一部のデータであることを示す付帯情報を、応答データと共に出力する。これにより、実施形態の第2通信装置20では、応答データに残りのデータが存在することを通知することができ、第1通信装置10が必要に応じて残りのデータを要求することが可能となる。
【0092】
また、実施形態の第2通信装置20では、データ処理部231は、モードMd2またはモードMd3にて分割されたデータのうち一部のデータを応答データとして出力する場合、当該出力する前記応答データにおける残りの未出力データのデータ長を示す付帯情報を、応答データと共に出力する。これにより、実施形態の第2通信装置20では、応答データに残りのデータのデータ長を通知することができ、第1通信装置10が必要に応じて残りのデータを要求することが可能となる。
【0093】
また、実施形態の第2通信装置20では、記憶部22を更に備える。記憶部22には、データ取得部230によって行う暗号化処理のモードを指定する処理モード220が記憶される。データ処理部231は、処理モード220により指定されたモードに対応する暗号化処理を行う。処理モード220には、モードMd1、Md2、及びMd3の何れかが含まれる。モードMd1は「第1処理モード」の一例である。モードMd2は「第2処理モード」の一例である。モードMd3は「第3処理モード」の一例である。これにより、実施形態の第2通信装置20では、データ処理部231が、モードMd1、Md2、及びMd3の何れかの方法にてデータ長を調整することができるため、第1通信装置10との通信仕様に応じて柔軟に対応することが可能となる。
【0094】
なお、上述の各実施の形態で説明した機能は、ハードウェアを用いて構成するにとどまらず、ソフトウェアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウェア、ハードウェアのいずれかを選択して構成するものであってもよい。
【0095】
上述した実施形態における通信システム1、第2通信装置20の全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0096】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0097】
1…通信システム
10…第1通信装置
20…第2通信装置(信号処理装置)
220…処理モード
230…データ取得部
231…データ処理部
図1
図2
図3
図4
図5
図6
図7
図8
図9