JP2021128375A - 制御システムおよびサーバ装置 - Google Patents

制御システムおよびサーバ装置 Download PDF

Info

Publication number
JP2021128375A
JP2021128375A JP2020020865A JP2020020865A JP2021128375A JP 2021128375 A JP2021128375 A JP 2021128375A JP 2020020865 A JP2020020865 A JP 2020020865A JP 2020020865 A JP2020020865 A JP 2020020865A JP 2021128375 A JP2021128375 A JP 2021128375A
Authority
JP
Japan
Prior art keywords
time
server device
unit
divided
decoding
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
JP2020020865A
Other languages
English (en)
Other versions
JP7314828B2 (ja
Inventor
剛 佐藤
Takeshi Sato
剛 佐藤
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2020020865A priority Critical patent/JP7314828B2/ja
Priority to DE102021102574.5A priority patent/DE102021102574A1/de
Publication of JP2021128375A publication Critical patent/JP2021128375A/ja
Application granted granted Critical
Publication of JP7314828B2 publication Critical patent/JP7314828B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】本開示の目的は、クライアント装置がサーバ装置からの応答に対し、誤判断することを抑制できる制御システムおよびサーバ装置を提供することである。【解決手段】本開示の制御システムは、クライアント装置とサーバ装置を有している。クライアント装置は、サーバ装置に送信する処理要求を送信している。さらに、クライアント装置は、サーバ装置が処理要求に対する処理を返すべき時間を定めたタイムアウト値を設定している。クライアント装置は、処理要求を所定サイズに分割した分割メッセージを送信している。さらに、クライアント装置は、サーバ装置が分割メッセージを復号化するのに要する時間を想定し、分割メッセージを順次送信している。【選択図】図5

Description

本開示は、クライアント装置およびサーバ装置を有する制御システムとサーバ装置に関する。
クライアント装置から送信される要求に基づいて、サーバ装置が要求に応じた処理を行う制御システムがある(特許文献1)。制御システムは、クライアント装置から要求を送信した後、サーバ装置からの応答がない場合でも、クライアント装置が次の処理を行うことを可能にするため、タイムアウト値を設定している。クライアント装置から要求をサーバ装置に送信してから、タイムアウト値として設定されている時間を超えても、サーバ装置からの応答がない場合、クライアント装置は、サーバ装置側の異常として次の処理に移行する。
特開2009−98908号公報
ところで、上記特許文献1において、クライアント装置から暗号化した要求をサーバ装置に送信する場合が考えられる。特許文献1のクライアント装置は、要求を復号化する時間を想定していない。要求のサイズが大きい場合、サーバ装置は、タイムアウト値の時間を超えても復号化を行っており、サーバ装置がクライアント装置に応答を送信できない。よって、クライアント装置は、サーバ装置からの応答が遅れているだけにも関わらず、サーバ装置の異常であると誤判断してしまう虞がある。
本開示は、この事情に基づいて成されたものであり、その目的とするところは、クライアント装置がサーバ装置からの応答について、誤判断することを抑制できる制御システムおよびサーバ装置を提供することである。
その目的を達成するための本開示の第1の態様は、クライアント装置とサーバ装置を有し、クライアント装置は、サーバ装置に対して要求を送信する制御システムであって、クライアント装置は、要求を所定のサイズで分割した分割メッセージを生成する分割部と、分割メッセージを暗号化する暗号化部と、サーバ装置が、1回の復号化に必要なサイズである1ブロックの分割メッセージを、復号化するのにかかる時間を示す想定時間を予め記憶した記憶部と、暗号化された各分割メッセージを、サーバ装置に順次送信する送信部と、想定時間に基づいて、送信部による最後の分割メッセージの送信時から、サーバ装置が要求に対する処理を返答すべき時間を示したタイムアウト値を設定する設定部と、を備え、送信部は、1ブロックの分割メッセージの送信開始時である1ブロック送信開始時毎に、1ブロック送信開始時から想定時間後に、次の1ブロックの分割メッセージを送信開始するように送信しており、サーバ装置は、分割メッセージを受信する受信部と、受信部で受信した分割メッセージの合計サイズが、1ブロック以上になる度に分割メッセージを復号化する復号化部と、を備える制御システムである。
クライアント装置は、分割部で要求を所定のサイズに分割した分割メッセージを生成し、分割メッセージを暗号化部で暗号化した後、送信部から順次サーバ装置に送信している。さらに送信部は、1ブロック送信開始時から想定時間後に、次の1ブロックの分割メッセージを送信開始するように送信している。よって、サーバ装置は、1回の復号化毎に、クライアント装置から1ブロックの分割メッセージを受信できる。これにより、制御システムは、クライアント装置がタイムアウト値に基づいて、サーバ装置の応答を待っている際に、サーバ装置が行う復号化のサイズも1ブロックにすることができる。クライアント装置は、1ブロックの復号化を行う時間を想定してタイムアウト値を設定できる。よって、制御システムは、複数ブロックのメッセージを連続して復号化する時間を想定してタイムアウト値を設定する構成と比較して、タイムアウト値が実際の値から大きく外れることを抑制できる。したがって、制御システムは、サーバ装置がタイムアウト値を超えても復号化を行うことを抑制できるので、クライアント装置が誤判断することを抑制できる。
本開示の第2の態様は、クライアント装置とサーバ装置を有し、クライアント装置は、サーバ装置に対して要求を送信する制御システムに搭載されるサーバ装置であって、クライアント装置は、要求を所定のサイズで分割した分割メッセージを生成する分割部と、分割メッセージを暗号化する暗号化部と、サーバ装置が、1回の復号化に必要なサイズである1ブロックの分割メッセージを、復号化するのにかかる時間を示す想定時間を予め記憶した記憶部と、暗号化された各分割メッセージを、サーバ装置に順次送信する送信部と、想定時間に基づいて、送信部による最後の分割メッセージの送信時から、サーバ装置が要求に対する処理を返答すべき時間を示したタイムアウト値を設定する設定部と、を備え、サーバ装置は、分割メッセージを受信する受信部と、受信部で受信した分割メッセージの合計サイズが、1ブロック以上になる度に分割メッセージを復号化する復号化部(52)と、復号化部での復号化が完了する度に、次の分割メッセージの送信を要求する受信継続要求をクライアント装置に送信する要求部と、を備え、送信部は、最初の1ブロックの分割メッセージの送信開始後において、受信継続要求を受信する度に、1ブロックの分割メッセージを送信するように送信しているサーバ装置。
第2の態様は、第1の態様と同様に、想定時間に基づいて送信部からサーバ装置に1ブロックの分割メッセージを送信している。したがって、第2の態様は、第1の態様と同様に、クライアント装置が誤判断することを抑制できる。
第1実施形態における、制御システムの構成を示したものである。 第1実施形態における、制御システムの機能を示したものである。 第1実施形態における、クライアント装置の動作を示すフローチャートである。 第1実施形態における、サーバ装置の動作を示すフローチャートである。 第1実施形態における、制御システムのシーケンス図である。 第2実施形態における、クライアント装置の動作を示すフローチャートである。 第2実施形態における、サーバ装置の動作を示すフローチャートである。 第2実施形態における、制御システムのシーケンス図である。 第3実施形態における、制御システムのシーケンス図である。
以下、本開示の複数の実施形態を図面に基づいて説明する。尚、各実施形態において対応する構成要素には同一の符号を付すことにより、重複する説明を省略する場合がある。各実施形態において構成の一部分のみを説明している場合、当該構成の他の部分については、先行して説明した他の実施形例の構成を適用することができる。また、各実施形態の説明において明示している構成の組み合わせばかりではなく、特に組み合わせに支障が生じなければ、明示していなくても複数の実施形態の構成同士を部分的に組み合わせることができる。そして、複数の実施形態及び変形例に記述された構成同士の明示されていない組み合わせも、以下の説明によって開示されているものとする。
(第1実施形態)
図1に基づいて、制御システム10について説明する。制御システム10は、クライアント装置11とサーバ装置12を有している。サーバ装置12は、クライアント装置11から暗号化されて送信された要求を受信する。サーバ装置12は、受信した要求を復号化し、要求に対する処理を行う。本開示では、クライアント装置11からサーバ装置12に送信する要求を処理要求と定義する。
制御システム10の適用例として、例えば車両の故障診断を行う制御システムがある。制御システム10は、クライアント装置11としての診断機とサーバ装置12としてのECUによって構成される。ECUは、車両に搭載されている。診断機は、車両の故障診断を行う人が使用する診断機を示している。診断機は、車両外部に位置し、例えば通信用ケーブル等を介して、ECUと通信可能に接続されている。車両の故障診断システムは、車両の故障情報など、セキュリティ上第3者に漏れることが望ましくない情報の送受信を行っている。そのため、診断機は、処理要求を示すデータを暗号化してECUに送信することができる。ECUは、処理要求に対する処理を行った結果のデータを診断機に送信する。診断機は、上記データを受信し、その内容から車両が正常であるか否かを判断する。
処理要求の内容としては、例えば、故障情報の読み出し等がある。診断機は、故障情報の読み出しの処理要求を送信する。ECUは、処理要求により読み出しを要求されている故障情報の有無を確認し、要求された故障情報に該当するデータを診断機に送信する。
制御システム10は、上記故障診断システムに限定するわけではなく、クライアント装置11とサーバ装置12間で、暗号化してメッセージを送信するシステムに適用される。例えば、制御システム10の他の例として、製品の生産システムがある。生産システムは、クライアント装置11として製品を生産する製造機械に処理要求を送信するパソコンと、サーバ装置12としての制御装置を有する。制御装置は、製造機械に搭載され、処理要求に応じて製造機械による製品の生産を行う。
図1に示すように、クライアント装置11は、第1CPU20、第1ROM21、第1RAM22、第1通信装置23、およびタイマ24を有している。第1CPU20は、第1ROM21に保存されているプログラムを読み出すことで、各機能を実行する。第1CPU20が実行する機能は、後ほど詳細に説明する。第1通信装置23は、クライアント装置11の外部の装置とデータを送受信できる。第1RAM22は、第1CPU20が各機能を実行することによって生じたデータや第1通信装置23で受信したデータが一時的に保存される。タイマ24は、第1CPU20から時間の計測を要求する計測要求信号を受信した場合、時間の計測を開始する。
サーバ装置12は、第2CPU30、第2ROM31、第2RAM32および第2通信装置33を有している。第2CPU30は、第2ROM31に保存されているプログラムを読み出すことで、各機能を実行する。第2CPU30が実行する機能は、後ほど詳細に説明する。第2通信装置33は、サーバ装置12の外部の装置とデータを送受信できる。第2RAM32は、第2CPU30が各機能を実行することによって生じたデータや第2通信装置33で受信したデータが一時的に保存される。
第1CPU20は、図2に示す分割部41、暗号化部42、設定部45および測定部46の機能を実行可能である。送信部44は、第1CPU20および第1通信装置23によって達成される機能である。記憶部43は、第1ROM21によって達成される機能である。図2に示す受信部51は、第2通信装置33によって達成可能な機能である。第2CPU30は、図2に示す復号化部52および要求部53の機能を実行可能である。
第1CPU20は、処理要求を示すデータを、所定のサイズに分割した分割メッセージを生成する(分割部41)。第1CPU20は、後ほど詳細に説明する復号化部で、連続して復号化を行うことを抑制するために、上記データを所定のサイズに分割している。
例えば、第1CPU20は、処理要求を示すデータのサイズが合計で32バイトであり、後ほど説明する送信部44で一度に送信可能なバイト数が8バイトである場合がある。その場合、上記データを分割し、1つあたり8バイトの分割メッセージを4つ生成する。分割メッセージのサイズは、上記に限定するわけではなく、適用される通信プロトコルに応じて、例えば送信部44で一度に送信可能なバイト数が16バイトの場合、32バイトの処理要求を分割し、1つあたり16バイトの分割メッセージを2つ生成する。
第1CPU20は、分割メッセージを暗号化する(暗号化部42)。第1CPU20は、
予め第1ROM21に保存されているアルゴリズムを読み出し、分割メッセージを暗号化する。アルゴリズムは、データを暗号化するメカニズムを定めたものである。例えばアルゴリズムの1例としては、0または1によって表されるデータにおいて、一部の0または1を反転させる。つまり、第1CPU20は、上記のアルゴリズムに従って、分割メッセージのデータの少なくとも一部の0を1に変更、もしくは1を0に変更することで暗号化を行う。第1CPU20が使用するアルゴリズムは、上記に限定するわけではなく、適用されるシステムに応じて他のアルゴリズムを使用してもよい。
第1ROM21は、予め想定時間が記憶されている(記憶部43)。想定時間は、サーバ装置12が、1回の復号化に必要なサイズである1ブロックの分割メッセージを、復号化するのにかかる時間を予め測定したものである。
第1CPU20は、暗号化した分割メッセージを、第1通信装置23を介してサーバ装置12に順次送信する(送信部44)。図5に基づいて、クライアント装置11から分割メッセージを送信するタイミングについて説明する。図5に示すデータ1/4という記載は、処理要求を4分割した分割メッセージのうち、第1通信装置23から最初に送信される1ブロックの分割メッセージを示している。同様に、データ2/4は、データ1/4の次に第1通信装置23から送信される1ブロックの分割メッセージを示している。
図5に示すように、第1CPU20は、1ブロック送信開始時毎に、1ブロック送信開始時から想定時間後に次の1ブロックの分割メッセージの送信を開始するように送信している。1ブロック送信開始時とは、第1CPU20および第1通信装置23が、1ブロックの分割メッセージを送信開始するタイミングそれぞれを指している。第1CPU20が、次の1ブロックの分割メッセージを、送信開始するタイミングは、分割メッセージの送受信にかかる時間や復号化にかかる時間のマージンを考慮して、想定時間より長く設定してもよい。
図5の例では、クライアント装置11は、1つの分割メッセージのサイズが1ブロックと同等であるため、1ブロックの分割メッセージを一度に送信している。しかし、第1通信装置23から1度に送信できる分割メッセージのサイズが1ブロック未満の場合、クライアント装置11は、複数の分割メッセージを順次送信する構成であっても良い。
例えば、クライアント装置11は、第1通信装置23から1度に送信できるデータのサイズが8バイトであり、1ブロック16バイトの場合がある。その場合、第1CPU20は、8バイトの分割メッセージを生成し、1ブロックの送信開始時から想定時間後に1ブロックの分割メッセージ、つまり2つの分割メッセージを送信開始するように、第1通信装置23を介して順次送信する。
図5の場合で説明すると、例えばデータ2/4は、分割メッセージのサイズが合計で16バイトであるとする。さらに、第1通信装置23は、1度に送信できるサイズが例えば8バイトであるとする。第1通信装置23は、データ1/4の送信開始時から想定時間後に、データ2/4として、2つの分割メッセージ合計16バイト分を送信開始するように分割メッセージを順次送信する構成であってもよい。
第1CPU20は、最初に送信する分割メッセージに、復号化を行うために必要な復号化情報を付加する(送信部44)。復号化情報は、例えば上記の例のように分割メッセージのデータの一部の0または1を反転するアルゴリズムで暗号化している場合、どの部分を暗号化し、暗号化にどのアルゴリズムを使用したかを示す情報である。
第1CPU20は、1ブロック送信開始時に、タイマ24に計測要求信号を送信する。タイマ24は、計測要求を受信した場合、時間の測定を開始する。第1CPU20は、サーバ装置12から復号化の完了を知らせる信号を受信した場合、タイマ24が測定している時間を復号化処理時間として第1RAM22に保存する(測定部46)。そして、第1CPU20は、タイマ24に時間の計測を終了する終了要求を送信する。
第1CPU20は、復号化処理時間が想定時間よりも長い場合、復号化処理時間を想定時間として、第1RAM22に上書きする。タイマ24は、終了要求を受信した場合、時間の計測を終了する。第1CPU20は、最後の1ブロックの分割メッセージの送信開始したタイミングでタイマ24に計測要求を送信する。上記の復号化の完了を知らせる信号は、受信継続要求などである。
第1CPU20は、復号化処理時間に基づいて、タイムアウト値を設定する(設定部45)。タイムアウト値の設定については、後ほど詳細に説明する。
第2通信装置33は、分割メッセージを受信する(受信部51)。第2CPU30は、分割メッセージを第2RAM32に保存する。第2CPU30は、第2RAM32に保存した分割メッセージの合計サイズが、1ブロック以上になる度に、分割メッセージを復号化する(復号化部52)。
ここで、図3から図5に基づいて、クライアント装置11およびサーバ装置12の動作について説明する。クライアント装置11は、クライアント装置11を操作する使用者の動作によって、処理要求をサーバ装置12に送信する指令を確認した場合に図3の動作を開始する。
S11にて、クライアント装置11は、分割メッセージを生成する。つまり、第1CPU20は、処理要求を所定のサイズで分割した分割メッセージを生成する。
S12にて、クライアント装置11は、パディングを付加する。つまり、第1CPU20は、最後に送信する予定の分割メッセージが、1ブロックに満たない場合、パディングを付加する。パディングは、最後に送信される分割メッセージのサイズが、1ブロックになるように付加されるものである。例えば、1ブロックが、8バイトで、最後に送信する分割メッセージが6バイトだった場合、2バイトのパディングを付加する。よって、サーバ装置12は、復号化可能なサイズが所定のサイズのみの場合でも、パディングによって、対応することが可能になる。
S13にて、クライアント装置11は、暗号化を行う。つまり、第1CPU20は、第1RAM22に保存されているアルゴリズムを読み出し、分割メッセージの復号化を行う。
S14にて、クライアント装置11は、復号化に必要な情報を付加する。つまり、第1CPU20は、S13にて暗号化に使用したアルゴリズムの情報を、分割メッセージに付加する。S14は、いずれか1つの分割メッセージに対して、第1CPU20が行えばよい。
S15にて、クライアント装置11は、1ブロック割メッセージを送信する。つまり、第1CPU20は、暗号化された分割メッセージの1ブロックを、第1通信装置23を介して、サーバ装置12に送信する。
S16にて、クライアント装置11は、全体で最後の送信か否か判断する。第1CPU20は、S15で送信した分割メッセージが最後の分割メッセージであると判断した場合、S17に移行する。第1CPU20は、S15で送信した分割メッセージが最後の分割メッセージでないと判断した場合、S21に移行する。
S17にて、クライアント装置11は、タイムアウト値設定を行う。つまり、第1CPU20は、サーバ装置12が、タイマ監視区間において復号化処理時間で復号化を完了し、処理要求に対する処理を返答すると想定する。第1CPU20は、上記想定に基づいて、サーバ装置12が復号化処理と処理要求に対する処理を返答可能な時間をタイムアウト値として設定する。第1CPU20は、タイムアウト値を、第1RAM22に保存する。
S18にて、クライアント装置11は、タイマ開始を行う。つまり、第1CPU20は、タイマ24に計測要求を送信する。タイマ24は、計測要求を受信した場合、時間の計測を開始する。
S19にて、クライアント装置11は、タイムアウトか否かを判断する。つまり、クライアント装置11は、タイマ24で計測している時間がタイムアウト値を超える前に、サーバ装置12から処理要求に対する処理を受信する場合がある。その場合、第1CPU20は、サーバ装置12が、正常であると判断し、図3の動作を終了する。第1CPU20は、タイマ24で計測している時間がタイムアウト値を超えても、サーバ装置12から処理要求に対する処理を受信しない場合がある。その場合、第1CPU20は、サーバ装置が異常であると判断し、S20へ移行する。
S20にて、クライアント装置11は、異常通知を行う。つまり、第1CPU20は、サーバ装置の異常を知らせるため、例えばクライアント装置11がパソコンであるとして、画面上に、サーバ装置の異常を知らせるアラート情報を表示する。
S21にて、クライアント装置11は、想定時間の設定を行う。つまり、第1CPU20は、第1RAM22から想定時間を読み出す。
S22にて、クライアント装置11は、復号化タイマカウントを行う。つまり、第1CPU20は、タイマ24に計測要求を送信する。タイマ24は、計測要求を受信した場合に、時間の計測を開始する。
S23にて、クライアント装置11は、タイムアウトしているか否かを判断する。つまり、クライアント装置11は、タイマ24が計測している時間が、想定時間を超える前に、サーバ装置12から復号化を完了したことの通知を受信する場合がある。その場合、第1CPU20は、サーバ装置12が正常に復号化を完了したと判断し、S15へ移行する。クライアント装置11は、タイマ24が計測している時間が、想定時間を超えても、サーバ装置12から復号化を完了したことの通知を受信しない場合がある。その場合、第1CPU20は、サーバ装置12が正常に動作していないと判断し、図3の動作を終了する。第1CPU20が、サーバ装置12から復号化を完了したことの通知の受信の有無により、S23の動作を行うとしたが、上記通知は、復号化がまだ完了していないことを通知する受信待機要求などの別の通知であってもよい。
図4に基づいて、サーバ装置12の動作について説明する。サーバ装置12は、分割メッセージを第2通信装置33で受信した際に、図4の動作を行う。S31にて、サーバ装置12は、最初のメッセージであるか否かを判断する。つまり、第2CPU30は、受信した分割メッセージが、最初の分割メッセージだと判断した場合、S32に移行する。第2CPU30は、受信した分割メッセージが最初の分割メッセージでないと判断した場合、S34に移行する。
S32にて、サーバ装置12は、メッセージの全体長を記憶する。つまり、第2CPU30は、最初の分割メッセージのデータから、全分割メッセージの合計サイズに関する情報を読み取り、第2RAM32に保存する。
S33にて、サーバ装置12は、復号化に必要な情報を取得する。つまり、第2CPU30は、最初の分割メッセージのデータから、暗号化に使用したアルゴリズムの情報を読み取り、第2RAM32に保存する。そして、第2CPU30は、S34に移行する。
S34にて、サーバ装置12は、暗号データを記憶する。つまり、第2CPU30は、分割メッセージをコピーして第2RAM32に保存する。
S35にて、サーバ装置12は、1ブロック受信したか否かを判断する。つまり、第2CPU30は、第2RAM32に保存されている、暗号化された分割メッセージの合計サイズが1ブロック以上か否かを判断する。第2CPU30は、第2RAM32に保存されている、暗号化された分割メッセージの合計サイズが1ブロック以上であると判断した場合、S36に移行する。第2CPU30は、第2RAM32に保存されている、暗号化された分割メッセージの合計サイズが1ブロック未満であると判断した場合、S31に移行する。
S36にて、サーバ装置12は、復号化および記憶を行う。つまり、第2CPU30は、第2RAM32に保存されているアルゴリズムを読み出し、暗号化されている分割メッセージを復号化する。そして、第2CPU30は、第2RAM32に復号化した分割メッセージを保存する。
S37にて、サーバ装置12は、最後の分割メッセージであるか否かを判断する。つまり、第2CPU30は、S36にて復号化を行った分割メッセージで、クライアント装置11から送信されてくる予定であった、分割メッセージ全ての復号化を完了したか否かを判断する。第2CPU30は、復号化した分割メッセージのサイズが復号化を行う予定である合計サイズに到達していると判断した場合、S38に移行する。第2CPU30は、復号化した分割メッセージのサイズが復号化を行う予定である合計サイズに到達していないと判断した場合、S31へ移行する。
S38にて、サーバ装置12は、パディング消去を行う。つまり、第2CPU30は、最後に復号化した分割メッセージに付加されているパディングを消去する。第2CPU30は、復号化以外で意味をなさないデータであるパディングを消去することで、後工程でパディングのデータの意味が分からず、誤った判断を行うことを抑制している。
S39にて、サーバ装置12は、処理開始する。つまり、第2CPU30は、第2RAM32に保存されている復号化された分割メッセージをつなぎ合わせる。そして、第2CPU30は、分割メッセージをつなぎ合わせることで、処理要求の内容を読み出し、その内容に応じた処理を開始する。
ここから、制御システム10の作用効果について説明する。クライアント装置11は、処理要求を分割して、暗号化した分割メッセージをサーバ装置12に送信している。さらに、クライアント装置11は、1ブロック送信開始時から想定時間後に次の1ブロックの分割メッセージを送信開始するように分割メッセージの送信を行っている。したがって、サーバ装置12は、1ブロックの分割メッセージを受信した場合、受信した分割メッセージの復号化が完了したタイミングで、次の1ブロックの分割メッセージの受信が完了するようになっている。したがって、サーバ装置12は、分割メッセージの復号化を連続して行うのではなく、1ブロックの分割メッセージごとに行うことができる。
一方で、上記構成に対する比較例について説明する。上記比較例は、クライアント装置11が、暗号化した処理要求を分割せずに、サーバ装置12へ送信する。よって、サーバ装置12は、処理要求を受信完了したタイミングで処理要求全てを連続して復号化する。したがって、サーバ装置12は、処理要求のサイズが大きい場合、復号化にかかる時間自体が長いため、予め設定している復号化にかかる予想時間と実際の復号化処理時間の差が大きくなってしまう虞がある。タイムアウト値は、予想時間に基づいて設定されているため、実際の復号化処理時間が長いと、タイムアウト値を超えても、サーバ装置12が復号化を行っている状態になる虞がある。
それに対し、制御システム10は、サーバ装置12が1回に行う復号化は、1ブロックなので、処理要求の合計サイズが大きい場合でも、タイマ監視区間で行う復号化は、1ブロックである。1ブロックの復号化であれば、予想時間としての想定時間と、復号化処理時間との差が大きくなることを抑制できる。よって、制御システム10は、サーバ装置12が処理を行うのに要する時間が、タイムアウト値を上回ることを抑制できる。したがって、制御システム10は、クライアント装置11が、サーバ装置12からの応答について誤判断することを抑制できる。
クライアント装置11は、測定部で計測した復号化処理時間に基づいてタイムアウト値を設定している。したがって、現在のサーバ装置12の負荷状況等を考慮せずに、予め測定もしくは、規格等で定められた想定時間に基づいてタイムアウト値を設定する場合と比較して、クライアント装置11は、より適切なタイムアウト時間を設定することができる。
クライアント装置11は、最初の分割メッセージに復号化情報を付加して送信している。したがって、サーバ装置12は、1ブロックの分割メッセージを受信したタイミングで、すぐに復号化を行うことができる。
(第2実施形態)
本実施形態における制御システム10は、第1実施形態と同様の構成を有している。よって、本実施形態では、第1実施形態と同じ符号を用いる。図6では、図3と同じ処理に同じステップ番号を用いている。図7では、図4と同じ処理について同じステップ番号を用いている。
なお、本実施形態では、主に第1実施形態と異なる点について説明する。第2CPU30は、第1実施形態に記載の機能に加えて、要求部53の機能を達成可能である。つまり、第2CPU30は、分割メッセージの復号化を完了する度に、受信継続要求を、第2通信装置33を介して送信する(要求部53)。受信継続要求とは、クライアント装置11に次の分割メッセージの送信を要求する信号のことである。図8に示すように、第1CPU20は、第1通信装置23で受信継続要求を受信する度に、1ブロックの分割メッセージを、クライアント装置11に送信する(送信部44)。
ただし、第1CPU20は、1ブロックの分割メッセージ送信開始時毎に、想定時間に基づいて次の1ブロックの分割メッセージの送信は、行っていない。本実施形態における第1CPU20は、受信継続要求に基づいて分割メッセージの送信を行う。ただし、最初の1ブロックの分割メッセージは、上記に該当しない。
ここから本実施形態における、クライアント装置11の動作について、図6に基づいて説明する。第1CPU20は、タイマ24が計測している時間が、想定時間を超える前に、サーバ装置12から復号化を完了したことの通知が届いた場合、サーバ装置12は正常に復号化を完了したと判断し、S24へ移行する。
S24にて、クライアント装置11は、受信継続要求を受信したか否かを判断する。つまり、第1CPU20は、受信継続要求を受信している場合、S25に移行する。第1CPU20は、受信継続要求を受信していない場合、S23に移行する。
S25にて、クライアント装置11は、タイマ停止を行う。つまり、第1CPU20は、タイマ24に終了要求を送信する。タイマ24は、終了要求を受信した場合、時間の計測を終了する。
S26にて、クライアント装置11は、想定時間を再設定する。つまり、第1CPU20は、第1RAM22に保存されている、想定時間とS22からS25に要した時間である復号化処理時間を比較し、時間の長いほうを想定時間として、第1RAM22に保存する。そして、第1CPU20は、S15へ移行する。
本実施形態における、サーバ装置12の動作について、図7に基づいて説明する。S40にて、サーバ装置12は、受信継続要求送信を行う。つまり、第2CPU30は、第2通信装置33を介して、受信継続要求をクライアント装置11に送信する。
ここから、本実施形態における、制御システム10の作用効果について説明する。クライアント装置11は、最初の1ブロック送信後において、受信継続要求受信後に分割を送信している。よって、上記クライアント装置11は、サーバ装置12が、復号化完了する前に次の復号化用の分割メッセージを送信することを抑制できる。よって、クライアント装置11は、サーバ装置12が分割メッセージの復号化が完了できず、タイムアウト値内に処理要求に対する処理を送信できなくなることを抑制できる。
本実施形態は、車載機器にも利用可能なネットワークの規格でクライアント装置11とサーバ装置12間の通信を行い、サーバ装置12が、復号化完了時に受信継続要求をクライアント装置に送信する場合を想定している。
(第3実施形態)
本実施形態における制御システム10は、第1実施形態と同様の構成を有している。よって、本実施形態では、第1実施形態と同じ符号を用いる。なお、本実施形態では、主に第1実施例および第2実施例と異なる点について説明する。
ここからは、本実施形態が、第1実施形態と異なる点について説明する。図9は、本実施形態における、クライアント装置11とサーバ装置12のシーケンス図を示したものである。第1CPU20は、2度目以降の1ブロック送信開始時毎に、1ブロック送信開始時から復号化処理時間後に1ブロックの分割メッセージを送信開始するように送信する(送信部44)。
サーバ装置12は、2回目以降の復号化完了時において、受信継続要求の送信は、行っていない。クライアント装置11は、2回目以降の1ブロックの分割メッセージ送信時において、受信継続要求の受信とは関係なしに、復号化処理時間に基づいて送信を行っている。
クライアント装置11は、2回目以降の1ブロックの分割メッセージの送信を、復号化処理時間に基づいて行っている。したがって、上記第2実施形態のように、受信継続要求を受信するまで次の1ブロックの分割メッセージの送信を行わない構成と比較し、受信継続要求の受信を待っている間のロスタイムをなくすことができる。
この明細書における制御装置は、電子制御装置(ECU:Electronic Control Unit)とも呼ばれる場合がある。制御装置、または制御システムは、(a)if−then−else形式と呼ばれる複数の論理としてのアルゴリズム、または(b)機械学習によってチューニングされた学習済みモデル、例えばニューラルネットワークとしてのアルゴリズムによって提供される。
制御装置は、少なくともひとつのコンピュータを含む制御システムによって提供される。制御システムは、データ通信装置によってリンクされた複数のコンピュータを含む場合がある。コンピュータは、ハードウェアである少なくともひとつのプロセッサ(ハードウェアプロセッサ)を含む。ハードウェアプロセッサは、下記(i)、(ii)、または(iii)により提供することができる。
(i)ハードウェアプロセッサは、少なくともひとつのメモリに格納されたプログラムを実行する少なくともひとつのプロセッサコアである場合がある。この場合、コンピュータは、少なくともひとつのメモリと、少なくともひとつのプロセッサコアとによって提供される。プロセッサコアは、CPU:Central Processing Unit、GPU:Graphics Processing Unit、RISC−CPUなどと呼ばれる。メモリは、記憶媒体とも呼ばれる。メモリは、プロセッサによって読み取り可能な「プログラムおよび/またはデータ」を非一時的に格納する非遷移的かつ実体的な記憶媒体である。記憶媒体は、半導体メモリ、磁気ディスク、または光学ディスクなどによって提供される。プログラムは、それ単体で、またはプログラムが格納された記憶媒体として流通する場合がある。
(ii)ハードウェアプロセッサは、ハードウェア論理回路である場合がある。この場合、コンピュータは、プログラムされた多数の論理ユニット(ゲート回路)を含むデジタル回路によって提供される。デジタル回路は、ロジック回路アレイ、例えば、ASIC:Application−Specific Integrated Circuit、FPGA:Field Programmable Gate Array、SoC:System on a Chip、PGA:Programmable Gate Array、CPLD:Complex Programmable Logic Deviceなどとも呼ばれる。デジタル回路は、プログラムおよび/またはデータを格納したメモリを備える場合がある。コンピュータは、アナログ回路によって提供される場合がある。コンピュータは、デジタル回路とアナログ回路との組み合わせによって提供される場合がある。
(iii)ハードウェアプロセッサは、上記(i)と上記(ii)との組み合わせである場合がある。(i)と(ii)とは、異なるチップの上、または共通のチップの上に配置される。これらの場合、(ii)の部分は、アクセラレータとも呼ばれる。
制御装置と信号源と制御対象物とは、多様な要素を提供する。それらの要素の少なくとも一部は、ブロック、モジュール、またはセクションと呼ぶことができる。さらに、制御システムに含まれる要素は、意図的な場合にのみ、機能的な手段と呼ばれる。
この開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリーを構成することによって提供された専用コンピュータにより、実現されてもよい。代替的に、この開示に記載の制御部及びその手法は、一つ以上の専用ハードウエア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。代替的に、この開示に記載の制御部及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリーと一つ以上のハードウエア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
(他の実施形態)
以上、本開示の実施形態を説明したが、本開示は上述の実施形態に限定されるものではなく、次の実施形態も本開示の技術的範囲に含まれ、さらに、下記以外にも要旨を逸脱しない範囲内で種々変更して実施することができる。
上記第1実施形態において、第1CPU20は、復号化処理時間に基づいてタイムアウト値を設定しているが、想定時間に基づいてタイムアウト値を設定してもよい。その場合、第1CPU20は、タイマ24に計測要求を送信する必要はない。
上記実施形態において、第2CPU30は、第2通信装置33を介して受信継続要求を送信しているが、送信しない構成にしてもよい。
上記第1実施形態では、クライアント装置11は、付加情報をS14にて付加しているが、S15以降のタイミングで付加してもよい。
上記第1実施形態において、第1CPU20は、S12でパディングを付加しているが、S11後の各分割メッセージが1ブロック丁度のサイズ、もしくは、サーバ装置12が分割メッセージのサイズに関係なく復号化可能な場合は、パディングを付加する必要はない。
上記第1実施形態において、クライアント装置11は、S24からS26を実施しているが、実施しない構成にしてもよい。
1ブロック目の分割メッセージが、暗号化されたデータを含まない場合、クライアント装置11およびサーバ装置12は、2ブロック目の分割メッセージから上記実施形態に記載の動作を行う構成を採用してもよい。
ダイアグ通信のように、タイマ監視区間より前において、クライアント装置11からサーバ装置にメッセージを送信するタイミングが規定されている場合がある。その場合、上記実施形態のように、クライアント装置11は、想定時間または復号化時間に基づいて分割メッセージを送信する必要はない。クライアント装置11は、ダイアグ等によって規定されているタイミングに基づいて分割メッセージを送信すればよい。
上記第1実施形態では、クライアント装置11は、復号化処理時間に基づいてタイムアウト値を設定しているが、想定時間に基づいてタイムアウト値を設定してもよい。
上記第1実施形態では、第1CPU20は、最後の1ブロックの分割メッセージ送信開始時に、タイマ24に計測要求を送信するとしたが、第1CPU20が1ブロックの分割メッセージを送信開始する他のタイミングでも良い。
10・・・制御システム、11・・・クライアント装置、12・・・サーバ装置、20・・・第1CPU、21・・・第1ROM、22・・・第1RAM、23・・・第1通信装置、30・・・第2CPU、31・・・第2ROM、32・・・第2RAM、33・・・第2通信装置、41・・・分割部、42・・・暗号化部、43・・・記憶部、44・・・送信部、45・・・設定部、46・・・測定部、51・・・受信部、52・・・復号化部、53・・・要求部

Claims (7)

  1. クライアント装置(11)とサーバ装置(12)を有し、前記クライアント装置は、前記サーバ装置に対して要求を送信する制御システム(10)であって、
    前記クライアント装置は、
    前記要求を所定のサイズで分割した分割メッセージを生成する分割部(41)と、
    前記分割メッセージを暗号化する暗号化部(42)と、
    前記サーバ装置が、1回の復号化に必要なサイズである1ブロックの前記分割メッセージを、復号化するのにかかる時間を示す想定時間を予め記憶した記憶部(43)と、
    暗号化された各前記分割メッセージを、前記サーバ装置に順次送信する送信部(44)と、
    前記想定時間に基づいて、前記送信部による最後の前記分割メッセージの送信時から、前記サーバ装置が前記要求に対する処理を返答すべき時間を示したタイムアウト値を設定する設定部(45)と、を備え、
    前記送信部は、前記1ブロックの前記分割メッセージの送信開始時である1ブロック送信開始時毎に、前記1ブロック送信開始時から前記想定時間後に、次の前記1ブロックの前記分割メッセージを送信開始するように送信しており、
    前記サーバ装置は、
    前記分割メッセージを受信する受信部(51)と、
    前記受信部で受信した前記分割メッセージの合計サイズが、前記1ブロック以上になる度に前記分割メッセージを復号化する復号化部(52)と、を備える制御システム。
  2. クライアント装置(11)とサーバ装置(12)を有し、前記クライアント装置は、前記サーバ装置に対して要求を送信する制御システム(10)であって、
    前記クライアント装置は、
    前記要求を所定のサイズで分割した分割メッセージを生成する分割部(41)と、
    前記分割メッセージを暗号化する暗号化部(42)と、
    前記サーバ装置が、1回の復号化に必要なサイズである1ブロックの前記分割メッセージを、復号化するのにかかる時間を示す想定時間を予め記憶した記憶部(43)と、
    暗号化された各前記分割メッセージを、前記サーバ装置に順次送信する送信部(44)と、
    前記想定時間に基づいて、前記送信部による最後の前記分割メッセージの送信時から、前記サーバ装置が前記要求に対する処理を返答すべき時間を示したタイムアウト値を設定する設定部(45)と、を備え、
    前記サーバ装置は、
    前記分割メッセージを受信する受信部(51)と、
    前記受信部で受信した前記分割メッセージの合計サイズが、前記1ブロック以上になる度に前記分割メッセージを復号化する復号化部(52)と、
    前記復号化部での復号化が完了する度に、次の前記分割メッセージの送信を要求する受信継続要求を前記クライアント装置に送信する要求部(53)と、を備え
    前記送信部は、最初の前記1ブロックの前記分割メッセージの送信開始後において、前記受信継続要求を受信する度に、前記1ブロックの前記分割メッセージを送信するように送信している制御システム。
  3. 前記クライアント装置は、少なくとも1回の前記1ブロック送信開始時に、時間の計測を開始し、前記サーバ装置での復号化が完了するまでの復号化処理時間を測定する測定部(46)を備え、
    前記設定部は、前記復号化処理時間に基づいて前記タイムアウト値を設定している請求項1に記載の制御システム。
  4. 前記測定部は、最初の前記1ブロック送信開始時に、時間の計測を開始して、前記復号化処理時間を測定し、
    前記送信部は、前記復号化部で2度目の以降の前記1ブロック送信開始時毎に、前記1ブロック送信開始時から前記復号化処理時間後に、前記1ブロックの前記分割メッセージを送信開始するように送信する請求項3に記載の制御システム。
  5. 前記送信部は、サーバ装置へ最初に送信する前記分割メッセージに、前記復号化部が復号化を行うために必要な復号化情報を付加する請求項1から請求項4のいずれか1項に記載の制御システム。
  6. 前記クライアント装置は、車両外部の診断機であり、
    前記サーバ装置は、前記車両に搭載されるECUであり、
    前記ECUは、前記診断機からの指示で前記車両の故障診断を行う請求項1から請求項5のいずれか1項に記載の制御システム。
  7. クライアント装置(11)と通信可能に構成されたサーバ装置(12)であって、
    前記クライアント装置は、前記サーバ装置への要求を所定のサイズで分割した分割メッセージを生成し、前記分割メッセージを暗号化し、前記サーバ装置が、1回の復号化に必要なサイズである1ブロックの前記分割メッセージを、復号化するのにかかる時間を示す想定時間に基づいて、最後の前記分割メッセージの送信時から、前記サーバ装置が前記要求に対する処理を返答すべき時間を示したタイムアウト値を設定し、前記サーバ装置から受信継続要求を受信する度に、暗号化された各前記分割メッセージを、前記サーバ装置に順次送信し、
    前記サーバ装置は、
    前記分割メッセージを受信する受信部(51)と、
    前記受信部で受信した前記分割メッセージの合計サイズが、前記1ブロック以上になる度に前記分割メッセージを復号化する復号化部(52)と、
    前記復号化部での復号化が完了する度に、次の前記分割メッセージの送信を要求する受信継続要求を前記クライアント装置に送信する要求部(53)と、
    を備えるサーバ装置。
JP2020020865A 2020-02-10 2020-02-10 制御システム Active JP7314828B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020020865A JP7314828B2 (ja) 2020-02-10 2020-02-10 制御システム
DE102021102574.5A DE102021102574A1 (de) 2020-02-10 2021-02-04 Steuerungssystem und Servervorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020020865A JP7314828B2 (ja) 2020-02-10 2020-02-10 制御システム

Publications (2)

Publication Number Publication Date
JP2021128375A true JP2021128375A (ja) 2021-09-02
JP7314828B2 JP7314828B2 (ja) 2023-07-26

Family

ID=76968805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020020865A Active JP7314828B2 (ja) 2020-02-10 2020-02-10 制御システム

Country Status (2)

Country Link
JP (1) JP7314828B2 (ja)
DE (1) DE102021102574A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010028770A (ja) * 2008-07-24 2010-02-04 Nec Corp 通信システム、受信装置、送信装置、通信方法及びプログラム
JP2017102349A (ja) * 2015-12-03 2017-06-08 株式会社オートネットワーク技術研究所 暗号化装置、暗号通信システム及び暗号化送信方法
JP2017175208A (ja) * 2016-03-18 2017-09-28 トヨタ自動車株式会社 ネットワークシステム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009098908A (ja) 2007-10-16 2009-05-07 Kyocera Mita Corp タイムアウト制御システム、クライアント装置、サーバ装置およびタイムアウト制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010028770A (ja) * 2008-07-24 2010-02-04 Nec Corp 通信システム、受信装置、送信装置、通信方法及びプログラム
JP2017102349A (ja) * 2015-12-03 2017-06-08 株式会社オートネットワーク技術研究所 暗号化装置、暗号通信システム及び暗号化送信方法
JP2017175208A (ja) * 2016-03-18 2017-09-28 トヨタ自動車株式会社 ネットワークシステム

Also Published As

Publication number Publication date
DE102021102574A1 (de) 2021-08-12
JP7314828B2 (ja) 2023-07-26

Similar Documents

Publication Publication Date Title
JP6449970B2 (ja) IoTデバイス
US9787663B2 (en) Replaying a batch of secure commands in a secure channel
US20130251154A1 (en) Key generating device and key generating method
US9003202B2 (en) Memory control device, semiconductor memory device, memory system, and memory control method
US9455827B2 (en) Communication apparatus, computer program product, and communication system
CN107818265B (zh) 加密方法、装置和系统
US11424933B2 (en) Method and apparatus for exchanging messages
CN104902138A (zh) 加密/解密系统及其控制方法
US9313184B2 (en) Communication apparatus, communication system, and computer program product
EP4080818A1 (en) Communication method and device, ecu, vehicle and storage medium
US20100158244A1 (en) Communication encryption method for supporting remote monitoring and control system
JP4906800B2 (ja) 通信装置及び暗号通信システム及び通信方法及び通信プログラム
US9083682B2 (en) Communication device and computer program product
US9979541B2 (en) Content management system, host device and content key access method
JP2021128375A (ja) 制御システムおよびサーバ装置
CN109951417B (zh) 一种身份认证的方法、系统及终端设备
CN109150867B (zh) 网络信息传输加/解密器及加/解密方法
CN113703838B (zh) 设备控制方法、装置、设备及存储介质
US10936532B2 (en) Electronic device and data transmitting/receiving method
JP7397403B2 (ja) 電子情報記憶媒体、認証コード生成方法、認証コード検証方法、及びプログラム
CN109067757A (zh) 基于ipmi加密模块的安全方法和系统
CN112202553B (zh) 数据传输方法、系统、电子设备和存储介质
CN114866309B (zh) 数据传输方法、系统、设备及介质
US11757624B2 (en) Data transfer control device, data transfer control system, and data transfer control method
US20230224284A1 (en) Method of controlling security key of vehicle

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230412

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: 20230613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230626

R151 Written notification of patent or utility model registration

Ref document number: 7314828

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151