(57)【特許請求の範囲】
【請求項１】
データを格納する記憶装置（２０）と、
前記記憶装置に格納すべきデータを入力するとともに、前記記憶装置にデータ格納指令およびデータ読出し指令を与える制御部（１０）と、を備え、
前記記憶装置は、
前記制御部からのデータ格納指令に応じて、前記記憶装置において前記制御部から入力されるデータが受信され、この受信されたデータを格納する記憶部（２６）と、
データが前記記憶部に格納される前と、前記記憶部から読み出された後とのいずれか一方において、データに含まれるプライバシー情報を検出する検出部（Ｓ４６）と、
前記検出部により検出された前記プライバシー情報が復元できない状態となるように、前記記憶部から読み出されたデータを加工して、加工データを生成する加工部（Ｓ４８）と、
前記制御部からのデータ読出し指令に応じて、前記加工部により加工された加工データを出力する出力部（Ｓ５２）と、を備え、
前記記憶装置は、前記記憶部に格納されたデータが改竄されたか否かを判定するためのデータ認証子を、当該データに基づき算出する算出部（Ｓ４２）と、データ認証子に基づいてデータが改竄されたか否かを判定する判定部（Ｓ４４）と、をさらに有し、
前記算出部は、前記制御部からデータを受信した際、受信したデータに基づきデータ認証子を算出するとともに、算出したデータ認証子を前記記憶部に格納し、且つ、前記記憶部からデータが読み出された際、前記加工部がデータを加工する前に、読み出したデータに基づきデータ認証子を算出し、
前記判定部は、受信したデータに基づいて算出されたデータ認証子と、読み出したデータに基づいて算出されたデータ認証子とを比較し、データ認証子同士が一致する場合にデータが改竄されていないと判定し、データ認証子同士が一致しない場合にデータが改竄されたと判定するデータ保全装置。
【請求項２】
前記判定部は、データが改竄されていないと判定した場合に、前記出力部が前記加工データを前記制御部へ出力することを許可するとともに、データが改竄されたと判定した場合に、前記出力部が前記制御部へ出力することを許可しない請求項１に記載のデータ保全装置。
【請求項３】
前記制御部からデータを受信した際、前記検出部は、データが前記記憶部に格納される前に、データに含まれる前記プライバシー情報の検出を行い、
前記加工部は、前記制御部からのデータ読出し指令に応じて前記記憶部から読み出されたデータに対して、前記検出部によるプライバシー情報の検出結果に基づいて加工を行う請求項１又は２に記載のデータ保全装置。
【請求項４】
前記検出部は、前記制御部からのデータ読出し指令に応じて前記記憶部から読み出されたデータに対してプライバシー情報の検出を行い、
前記加工部は、前記検出部によるプライバシー情報の検出結果に基づいて、前記記憶部から読み出されたデータに対して加工を行う請求項１又は２に記載のデータ保全装置。
【請求項５】
前記記憶装置は、前記記憶部から読み出されたデータが前記加工部によって加工される前に、前記制御部に対して未加工データへのアクセスを許可するか否かのセキュリティ認証を行い、セキュリティ認証が成立するか否かを判定する加工認証部（Ｓ６８，Ｓ７０）をさらに有し、
前記加工部は、前記加工認証部において未加工データへのアクセスを許可する認証が成立しない場合、読み出したデータを加工して、前記加工データを生成し、前記出力部は、前記加工部によって生成された加工データを出力し、一方、前記加工部は、前記加工認証部において未加工データへのアクセスを許可する認証が成立した場合、読み出したデータを加工せず、前記出力部は、前記加工部によって加工されていないデータを出力する請求項１乃至４のいずれか１項に記載のデータ保全装置。
【請求項６】
前記記憶装置は、加工データが改竄されたか否かを判定するための加工データ認証子を、当該加工データに基づき算出する第１算出部（Ｓ５０）をさらに有し、
前記出力部は、前記第１算出部が算出した加工データ認証子を、加工データとともに前記制御部へ出力し、
前記制御部は、前記出力部から出力された加工データに基づき加工データ認証子を算出する第２算出部（Ｓ８４）と、加工データ認証子に基づいて、前記出力部から出力された加工データが改竄されたか否かを判定する改竄判定部（Ｓ９０）と、を有し、
前記改竄判定部は、前記第１算出部により算出された加工データ認証子と、前記第２算出部により算出された加工データ認証子とを比較し、それぞれの加工データ認証子同士が一致する場合に加工データが改竄されていないと判定し、それぞれの加工データ認証子同士が一致しない場合に加工データが改竄されたと判定する請求項１乃至５のいずれか１項に記載のデータ保全装置。
【請求項７】
データを格納する記憶装置（２０）と、
前記記憶装置に格納すべきデータを入力するとともに、前記記憶装置にデータ格納指令およびデータ読出し指令を与える制御部（１０）と、を備え、
前記記憶装置は、
前記制御部からのデータ格納指令に応じて、前記記憶装置において前記制御部から入力されるデータが受信され、この受信されたデータに含まれるプライバシー情報を検出する検出部（Ｓ２２）と、
前記検出部により検出された前記プライバシー情報が復元できない状態となるようにデータを加工して、加工データを生成する加工部（Ｓ２４）と、
前記加工部によって加工された加工データを格納する記憶部（２６）と、
前記制御部からのデータ読出し指令に応じて、前記記憶部に格納された加工データを出力する出力部（Ｓ５２）と、を備え、
前記記憶装置は、前記記憶部に格納された加工データが改竄されたか否かを判定するための加工データ認証子を、当該加工データに基づき算出する算出部（Ｓ２６、Ｓ６０）と、加工データ認証子に基づいて加工データが改竄されたか否かを判定する判定部（Ｓ６２）と、をさらに有し、
前記算出部は、前記加工部によって生成された加工データが前記記憶部に格納される前に、当該加工データに基づいて加工データ認証子を算出するとともに、算出した加工データ認証子を前記記憶部に格納し、且つ、前記記憶部から加工データが読み出された際、読み出した加工データに基づき加工データ認証子を算出し、
前記判定部は、前記記憶部に格納される前の加工データに基づいて算出された加工データ認証子と、前記記憶部から読み出した加工データに基づいて算出された加工データ認証子とを比較し、加工データ認証子同士が一致する場合に加工データが改竄されていないと判定し、加工データ認証子同士が一致しない場合に加工データが改竄されたと判定するデータ保全装置。
【請求項８】
前記判定部は、加工データが改竄されていないと判定した場合にのみ、前記出力部が加工データを前記制御部へ出力することを許可する請求項７に記載のデータ保全装置。
【請求項９】
前記記憶装置は、前記制御部に対して加工データの出力を許可するか否かのセキュリティ認証を行い、セキュリティ認証が成立するか否かを判定する出力認証部（Ｓ６４，Ｓ６６）をさらに有し、
前記出力部は、前記出力認証部において加工データの出力を許可する認証が成立した場合、前記制御部からのデータ読出し指令に応じて、前記加工部によって生成された加工データを出力し、一方、前記出力認証部において加工データの出力を許可する認証が成立しない場合、前記制御部からのデータ読出し指令があっても、加工データを出力しない請求項１乃至４、及び６乃至８のいずれか１項に記載のデータ保全装置。
【請求項１０】
前記記憶部は、記憶領域として、電気的に書き換えができない非書換領域（２６ｂ）を有し、
データのうちの前記検出部が検出した前記プライバシー情報以外の少なくとも一部のデータは、前記非書換領域に格納されるとともに、前記加工部によって加工されることなく、前記出力部によって前記制御部へ出力される請求項１乃至９のいずれか１項に記載のデータ保全装置。
【請求項１１】
前記制御部から入力されるデータは、プライバシー情報として、人物の特定が可能な画像データを含み、
前記加工部は、人物の特定ができないように前記画像データを単一色で加工する請求項１乃至１０のいずれか１項に記載のデータ保全装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを格納する記憶装置と、記憶装置に対するデータの入力及び出力を制御する制御部と、備えるデータ保全装置に関する。
【背景技術】
【０００２】
従来、特許文献１に記載のように、記憶装置とアクセス制御部（制御部）とを備えるストレージデバイス制御装置（データ保全装置）が知られている。記憶装置は、データを記憶するものである。アクセス制御部は、記憶装置に対してデータの入力及び出力を制御するものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１０３０７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、記憶装置に格納されたデータは、プライバシー情報を含む場合がある。この場合に上記構成では、記憶部に入力されたデータが、プライバシー情報を含んだ状態でアクセス制御部へ出力される。これによれば、記憶装置からアクセス制御部へ出力されたデータからプライバシー情報が読み取られる虞がある。
【０００５】
本発明はこのような課題に鑑みてなされたものであり、記憶装置から制御部へ出力されたデータからプライバシー情報が読み取られるのを抑制するデータ保全装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上記目的を達成するために以下の技術的手段を採用する。なお、括弧内の符号は、ひとつの態様として下記の実施形態における具体的手段との対応関係を示すものであって、技術的範囲を限定するものではない。
【０００７】
本発明のひとつは、データを格納する記憶装置（２０）と、
記憶装置に格納すべきデータを入力するとともに、記憶装置にデータ格納指令およびデータ読出し指令を与える制御部（１０）と、を備え、
記憶装置は、
制御部からのデータ格納指令に応じて、記憶装置において制御部から入力されるデータが受信され、この受信されたデータを格納する記憶部（２６）と、
データが記憶部に格納される前と、記憶部から読み出された後とのいずれか一方において、データに含まれるプライバシー情報を検出する検出部（Ｓ４６）と、
検出部により検出されたプライバシー情報が復元できない状態となるように、記憶部から読み出されたデータを加工して、加工データを生成する加工部（Ｓ４８）と、
制御部からのデータ読出し指令に応じて、加工部により加工された加工データを出力する出力部（Ｓ５２）と、を備え、
記憶装置は、記憶部に格納されたデータが改竄されたか否かを判定するためのデータ認証子を、当該データに基づき算出する算出部（Ｓ４２）と、データ認証子に基づいてデータが改竄されたか否かを判定する判定部（Ｓ４４）と、をさらに有し、
算出部は、制御部からのデータを受信した際、受信したデータに基づきデータ認証子を算出するとともに、算出したデータ認証子を記憶部に格納し、且つ、記憶部からデータが読み出された際、加工部がデータを加工する前に、読み出したデータに基づきデータ認証子を算出し、
判定部は、受信したデータに基づいて算出されたデータ認証子と、読み出したデータに基づいて算出されたデータ認証子とを比較し、それぞれのデータ認証子同士が一致する場合にデータが改竄されていないと判定し、それぞれのデータ認証子同士が一致しない場合にデータが改竄されたと判定する。
【０００８】
上記構成において、制御部へ出力された加工データは、プライバシー情報が復元できない状態となるように加工されている。これによれば、記憶装置から制御部へ出力されたデータからプライバシー情報が読み取られるのを抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係るデータ保全装置の概略構成を示すブロック図である。
【図２】ストレージデバイスの概略構成を示すブロック図である。
【図３】制御コントローラにおける入力処理の処理手順を示すフローチャートである。
【図４】制御コントローラにおける出力処理の処理手順を示すフローチャートである。
【図５】マイコンにおける出力処理の処理手順を示すフローチャートである。
【図６】第２実施形態に係るデータ保全装置においてストレージデバイスの概略構成を示すブロック図である。
【図７】制御コントローラにおける入力処理の処理手順を示すフローチャートである。
【図８】制御コントローラにおける出力処理の処理手順を示すフローチャートである。
【図９】第３実施形態に係るデータ保全装置において制御コントローラにおける出力処理の処理手順を示すフローチャートである。
【図１０】第４実施形態に係るデータ保全装置において制御コントローラにおける出力処理の処理手順を示すフローチャートである。
【図１１】第１変形例に係るデータ保全装置の概略構成を示すブロック図である。
【発明を実施するための形態】
【００１０】
図面を参照して説明する。なお、複数の実施形態において、共通乃至関連する要素には同一の符号を付与するものとする。
【００１１】
（第１実施形態）
先ず、図１及び図２に基づき、データ保全装置１００の概略構成について説明する。
【００１２】
図１に示すように、データ保全装置１００は、電子制御装置２００を備えている。本実施形態において電子制御装置２００は、車両用のＥＣＵである。そのため、電子制御装置２００は、車載電子制御装置と称することもできる。なお、電子制御装置２００が車両用のＥＣＵとされない例を採用することもできる。データ保全装置１００は、電子制御装置２００に加えて他の構成要素を備えていてもよい。
【００１３】
電子制御装置２００は、マイコン１０を備えている。マイコン１０は、特許請求の範囲に記載の制御部に相当する。本実施形態において、電子制御装置２００は、ストレージデバイス２０をさらに備えている。言い換えると、電子制御装置２００は、ストレージデバイス２０を内蔵している。ストレージデバイス２０は、特許請求の範囲に記載の記憶装置に相当する。以上により、データ保全装置１００は、マイコン１０とストレージデバイス２０とを備えている。マイコン１０は、ストレージデバイス２０と電気的に接続されている。
【００１４】
マイコン１０は、ストレージデバイス２０にデータを入力する。言い換えると、マイコン１０は、ストレージデバイス２０へデータを取り込む。さらに言い換えると、ストレージデバイス２０は、マイコン１０からデータを取り込む。そして、ストレージデバイス２０は、マイコン１０から入力されたデータを格納する。以下、データ保全装置１００において、マイコン１０がストレージデバイス２０へデータを入力し、入力されたデータをストレージデバイス２０が格納する処理を入力処理と示す。入力処理については、下記で詳細に説明する。
【００１５】
ストレージデバイス２０に格納されるデータとしては、車両の故障解析や、事故の証拠データの解析等に用いられるものを採用する。そのため、このデータは、車両の故障解析や、事故の証拠データの解析等を行う際に、ストレージデバイス２０からマイコン１０へ出力される。言い換えると、マイコン１０は、ストレージデバイス２０からデータを読み出す。
【００１６】
以下、データ保全装置１００において、ストレージデバイス２０からマイコン１０へデータが出力される際の処理を出力処理と示す。出力処理では、データ保全装置１００に対してデータを読み出すための読出機器が電気的に接続される。読出機器は、マイコン１０と電気的に接続され、マイコン１０を介してストレージデバイス２０からデータを読み出す。出力処理については、下記で詳細に説明する。
【００１７】
ストレージデバイス２０に格納されるデータは、詳しく言うと、ドライブレコーダの画像データ、ドライバの運転特性データ、法規情報等である。運転特性データとは、例えば、アクセル開度と日時とが対応するデータ、ブレーキの作動状況と日時とが対応するデータ、及び、車両が走行した場所を示すデータである。
【００１８】
以下、マイコン１０からストレージデバイス２０に入力されたデータをローデータと示す。ローデータは、生データと称することもできる。ローデータは、プライバシー情報を含む場合がある。プライバシー情報とは、プライバシー関する情報である。詳しく言うと、プライバシー情報とは、個人の生活に関わるものであり、公知になっておらず、且つ、通常は公開を望まない情報である。
【００１９】
ローデータが画像データである場合、この画像データに含まれる人物の顔の画像等がプライバシー情報に相当する。また、上記した運転特性データは、このデータからドライバの行動パターンを読み取ることが可能であるため、プライバシー情報に相当する。
【００２０】
例えば、電子制御装置２００がドライブレコーダと電気的に接続され、ドライブレコーダからマイコン１０を介してストレージデバイス２０へ、ローデータとして画像データが入力される。また、マイコン１０は、制御対象を制御するためのデータとして運転特性データを作成し、ローデータとして運転特性データをストレージデバイス２０へ入力する例を採用することもできる。さらに、電子制御装置２００が他のＥＣＵと電気的に接続され、このＥＣＵからマイコン１０を介してストレージデバイス２０へ、ローデータとして運転特性データが入力される例を採用することもできる。
【００２１】
図２に示すように、ストレージデバイス２０は、入出力Ｉ／Ｆ２２と、制御コントローラ２４と、記憶部２６と、を有している。入出力Ｉ／Ｆ２２は、ストレージデバイス２０のインターフェース回路である。入出力Ｉ／Ｆ２２は、マイコン１０と制御コントローラ２４とを電気的に中継している。
【００２２】
制御コントローラ２４は、記憶部２６に対してデータの入力及び出力を制御するものである。詳しく言うと、制御コントローラ２４は、入出力Ｉ／Ｆ２２を介してマイコン１０から入力されたデータを記憶部２６に入力する。また、制御コントローラ２４は、記憶部２６に格納されたデータを読み出し、読み出したデータをマイコン１０へ入出力Ｉ／Ｆ２２を介して出力する。
【００２３】
また、制御コントローラ２４は、マイコン１０から入力されたローデータに含まれるプライバシー情報を検出する。詳しく言うと、制御コントローラ２４は、マイコン１０から入力されたローデータにプライバシー情報が含まれているか否かを検出するとともに、ローデータのうちのプライバシー情報が含まれている箇所を検出する。
【００２４】
また、制御コントローラ２４は、検出したプライバシー情報が復元できない状態となるようにローデータを加工する。詳しく言うと、制御コントローラ２４は、プライバシー情報が読み取りできない状態となるように、且つ、復元できない状態となるように、ローデータを加工する。言い換えると、制御コントローラ２４は、加工によりローデータのプライバシー情報を保護する。これにより、制御コントローラ２４は、ローデータから加工データを生成する。すなわち、加工データは、制御コントローラ２４によってローデータが加工されたものである。
【００２５】
プライバシー情報として人物の特定が可能な画像データをローデータが含む場合、制御コントローラ２４は、データの加工処理として、人物の特定ができないように画像データを単一色で加工する。詳しく言うと、画像データが人物の顔の画像を含む場合、顔の画像を単一色で塗り潰す。なお、制御コントローラ２４が、加工処理として、画像データにモザイク処理を施す例を採用することもできる。
【００２６】
また、プライバシー情報が詳細な場所を示す運転特性データである場合、制御コントローラ２４は、加工処理として、ローデータを場所に関しないデータに加工する。詳細な場所を示す運転特性データとは、車両が走行した詳細な場所と日時とが対応するデータ等である。例えば、制御コントローラ２４は、加工データとして、場所ではなく距離を示すデータや、特定の場所に行った回数を示すデータを生成する。
【００２７】
プライバシー情報が時系列に沿った運転特性データである場合、制御コントローラ２４は、加工処理として、ローデータを時間に関しないデータに加工する。時系列に沿った運転特性データとは、日時とアクセル開度とが対応するデータ等である。例えば、制御コントローラ２４は、アクセル開度に対して閾値を設け、アクセル開度が閾値を超過した回数を算出する。そして、制御コントローラ２４は、加工データとして、算出した回数と閾値とが対応するデータを生成する。これらの加工処理を、データをなますと言い換えることもできる。すなわち、加工データを、なましたデータと言い換えることもできる。
【００２８】
ローデータには、プライバシー情報以外の情報として、車両の故障解析や事故の証拠データの解析に必須なデータが含まれている場合がある。以下、車両の故障解析や事故の証拠データの解析に必須なデータを、必須データと示す。詳しく言うと、必須データとは、法規情報、ＧＰＳの位置情報、日時に関する情報、及び、車速情報等である。制御コントローラ２４は、必須データを加工しない。本実施形態において、制御コントローラ２４は、ローデータのうちのプライバシー情報以外を加工しない。
【００２９】
また、制御コントローラ２４は、データが改竄されたか否かを判定するための認証子を算出する。制御コントローラ２４は、例えば、改竄の判定対象であるデータに対してＡＥＳに基づく演算を行うことで認証子を算出する。ＡＥＳは、Advanced Encryption Standardの略称である。
【００３０】
本実施形態において、制御コントローラ２４は、ローデータ及び加工データの両方に対して認証子を算出する。以下、ローデータに対して算出された認証子を第１認証子と示す。また、加工データに対して算出された認証子を第２認証子と示す。そして、制御コントローラ２４は、認証子を用いてデータが改竄されたか否かを判定する。
【００３１】
また、制御コントローラ２４は、データが破損しているか否かを判定するためのＣＲＣ値を算出する。詳しく言うと、制御コントローラ２４は、ローデータ及び加工データの両方に対してＣＲＣ値を算出する。ＣＲＣとは、Cyclic Redundancy Checkの略称である。以下、ローデータに対して算出されたＣＲＣ値を第１ＣＲＣ値と示す。また、加工データに対して算出されたＣＲＣ値を第２ＣＲＣ値と示す。そして、制御コントローラ２４は、ＣＲＣ値を用いてデータが破損しているか否かを判定する。
【００３２】
マイコン１０は、制御コントローラ２４と同様に、加工データに基づき第２認証子及び第２ＣＲＣ値を算出する。また、マイコン１０は、第２認証子を用いて加工データが改竄されたか否かを判定する。さらに、マイコン１０は、第２ＣＲＣ値を用いて加工データが破損しているか否かを判定する。
【００３３】
記憶部２６は、データを格納するものである。記憶部２６としては、例えば、ＮＡＮＤ型のフラッシュメモリを採用することができる。記憶部２６は、記憶領域として、電気的に書き換え可能な書換領域２６ａと、電気的に書き換えできない非書換領域２６ｂと、を有している。
【００３４】
書換領域２６ａでは、格納されたデータの消去及び再度の書き込みが可能とされている。これに対し、非書換領域２６ｂでは、格納されたデータの消去及び再度の書き込みが不可能とされている。非書換領域２６ｂは、ＯＴＰ領域と称することもできる。
【００３５】
入力処理において制御コントローラ２４は、マイコン１０から入力されたデータに含まれる必須データを検出し、必須データを非書換領域２６ｂに格納する。なお、制御コントローラ２４が必須データの検出を行うデータは、ローデータ及び加工データのどちらでもよい。例えば、制御コントローラ２４は、マイコン１０から入力されたデータのうちの必須データ以外のデータを書換領域２６ａに格納する。
【００３６】
次に、図２及び図３に基づき、データ保全装置１００における入力処理の処理手順について説明する。以下、マイコン１０からストレージデバイス２０に入力されるローデータが、ドライブレコーダの画像データとされた構成について説明する。
【００３７】
データ保全装置１００は、例えば、ドライブレコーダからマイコン１０へデータが送信されることにより入力処理を開始する。入力処理においてマイコン１０は、先ず、ストレージデバイス２０に対してデータの格納を要求する格納コマンドを送信する。
【００３８】
入力処理において制御コントローラ２４は、先ず、マイコン１０から格納コマンドを受信したか否かを判定する（Ｓ１０）。制御コントローラ２４は、Ｓ１０において格納コマンドを受信していないと判定すると、再びＳ１０の処理を行う。すなわち、制御コントローラ２４は、格納コマンドを受信するまでＳ１０の判定を繰り返し行う。
【００３９】
ドライブレコーダは、複数のタイミングでマイコン１０にデータを入力する。マイコン１０は、ドライブレコーダからデータが入力される度に、このデータをストレージデバイス２０へ入力する。マイコン１０は、格納コマンドを送信した後、入出力Ｉ／Ｆ２２を介してローデータを制御コントローラ２４に入力する。以下、ストレージデバイス２０が１回の入力処理で格納する全てのデータを全データと示す。全データは、ドライブレコーダが所定の期間に出力する全てのデータである。
【００４０】
マイコン１０は、ストレージデバイス２０へ全データを入力した後に、ストレージデバイス２０に完了信号を送信する。完了信号とは、全データの入力が完了したことを示す信号である。マイコン１０は、例えば、ドライブレコーダからデータが入力された後において次のデータが所定時間内に入力されない場合、ドライブレコーダからのデータの入力が終了したと判定する。そして、マイコン１０は、ドライブレコーダからのデータの入力が終了したと判定した場合、ストレージデバイス２０へ全データを入力した後に、完了信号を送信する。マイコン１０は、完了信号を送信すると入力処理を終了する。
【００４１】
制御コントローラ２４は、Ｓ１０において格納コマンドを受信したと判定すると、ローデータがマイコン１０から入力されたか否かを判定する（Ｓ１２）。制御コントローラ２４は、Ｓ１２においてローデータが入力されていないと判定すると、再びＳ１２の処理を行う。すなわち、制御コントローラ２４は、ローデータが入力されるまでＳ１２の判定を繰り返し行う。このローデータとは、全データのうちの少なくとも一部のデータである。
【００４２】
制御コントローラ２４は、Ｓ１２においてローデータが入力されたと判定すると、Ｓ１２で入力されたローデータに対して第１認証子及び第１ＣＲＣ値を算出する（Ｓ１４）。言い換えると、制御コントローラ２４は、全データのうちのマイコン１０から入力されたローデータに対し、第１認証子及び第１ＣＲＣ値を計算する。なお、制御コントローラ２４においてＳ１４の処理を行う機能は、特許請求の範囲に記載の算出部に相当する。
【００４３】
次に、制御コントローラ２４は、Ｓ１４において第１認証子及び第１ＣＲＣ値を算出したローデータを記憶部２６に格納する（Ｓ１６）。言い換えると、制御コントローラ２４は、全てのデータのうちのＳ１４において第１認証子及び第１ＣＲＣ値を算出したローデータを、記憶部２６に入力する。
【００４４】
次に、制御コントローラ２４は、マイコン１０から完了信号を受信したか否かに基づき、全データをマイコン１０から受信したか否かを判定する（Ｓ１８）。言い換えると、制御コントローラ２４は、マイコン１０から全データが入力されたか否かを判定する。制御コントローラ２４は、完了信号を受信していない場合、全データがマイコン１０から入力されていないと判定する。
【００４５】
Ｓ１８において全データが入力されていないと判定された場合、制御コントローラ２４がＳ１４及びＳ１６で処理を行ったローデータと異なる新たなローデータがマイコン１０から制御コントローラ２４へ入力される。そのため、制御コントローラ２４は、Ｓ１８において全データが入力されていないと判定した場合、新たに入力されたローデータに対してＳ１４及びＳ１６の処理を行い、再びＳ１８の判定を行う。以上によれば、制御コントローラ２４は、全データに対して第１ＣＲＣ値及び第１認証子を算出するとともに全データを記憶部２６に格納するまで、Ｓ１４〜Ｓ１８の処理を繰り返し行う。
【００４６】
制御コントローラ２４は、完了信号を受信した場合、Ｓ１８において全データがマイコン１０から入力された判定する。制御コントローラ２４は、Ｓ１８において全データがマイコン１０から入力された判定すると、算出した第１認証子及び第１ＣＲＣ値を記憶部２６に格納する（Ｓ２０）。制御コントローラ２４がＳ２０で格納する第１認証子及び第１ＣＲＣ値は、全データに対して制御コントローラ２４が計算した値である。なお、この全データは、ローデータである。制御コントローラ２４は、Ｓ２０の処理を行った後に入力処理を終了する。
【００４７】
次に、図２、図４及び図５に基づき、データ保全装置１００における出力処理の処理手順について説明する。
【００４８】
データ保全装置１００では、例えば、読出機器からマイコン１０へデータを読み出すための信号が入力された場合に出力処理を開始する。図４に示すように、制御コントローラ２４は、出力処理を開始すると、マイコン１０から読出コマンドを受信したか否かを判定する（Ｓ４０）。読出コマンドとは、マイコン１０が制御コントローラ２４に対してデータの読み出しを要求するコマンドである。
【００４９】
制御コントローラ２４は、Ｓ４０において読出コマンドを受信していないと判定すると、再びＳ４０の処理を行う。すなわち、制御コントローラ２４は、読出コマンドを受信するまでＳ４０の判定を繰り返し行う。
【００５０】
次に、制御コントローラ２４は、記憶部２６からローデータを読み出して、読み出したローデータに対して第１認証子及び第１ＣＲＣ値を算出する（Ｓ４２）。このとき、制御コントローラ２４が第１認証子及び第１ＣＲＣ値を算出するローデータは、記憶部２６に格納されていた全データである。なお、Ｓ４２において、制御コントローラ２４は、ローデータとともに格納されていた第１認証子及び第１ＣＲＣ値も読み出す。制御コントローラ２４においてＳ４２の処理を行う機能は、特許請求の範囲に記載の算出部に相当する。
【００５１】
次に、制御コントローラ２４は、第１認証子及び第１ＣＲＣ値が期待値か否かを判定する（Ｓ４４）。詳しく言うと、制御コントローラ２４は、Ｓ４２で算出した第１認証子が、ローデータとともに記憶部２６に格納されていた第１認証子と一致しているか否かを判定する。言い換えると、制御コントローラ２４は、Ｓ４２で算出した第１認証子と、Ｓ２０で格納した第１認証子と、を比較し、第１認証子同士が一致しているか否かを判定する。さらに言い換えると、制御コントローラ２４は、ローデータの入力時に算出した第１認証子と、ローデータの出力時に算出した第１認証子と、を比較し、第１認証子同士が一致するか否かを判定する。
【００５２】
第１認証子が期待値であると判定された場合、制御コントローラ２４がＳ１４の処理を行った後からＳ４２の処理を行うまでにローデータは改竄されていない。よって、制御コントローラ２４は、第１認証子同士が一致する場合に、ローデータが改竄されていないと判定する。なお、制御コントローラ２４においてＳ４４の処理を行う機能は、特許請求の範囲に記載の判定部に相当する。
【００５３】
また、制御コントローラ２４は、Ｓ４２で算出した第１ＣＲＣ値が、ローデータとともに記憶部２６に格納されていた第１ＣＲＣ値と一致しているか否かを判定する。言い換えると、制御コントローラ２４は、Ｓ４２で算出した第１ＣＲＣ値が、Ｓ２０で格納した第１ＣＲＣ値と一致しているか否かを判定する。
【００５４】
第１ＣＲＣ値が期待値であると判定された場合、制御コントローラ２４がＳ１４の処理を行った後からＳ４２の処理を行うまでにローデータは破損していない。よって、制御コントローラ２４は、第１ＣＲＣ値同士が一致する場合に、ローデータが破損していないと判定する。
【００５５】
制御コントローラ２４は、Ｓ４４において第１認証子及び第１ＣＲＣ値の両方が期待値であると判定すると、記憶部２６から読み出したローデータに対して、加工対象の検出を行う。言い換えると、制御コントローラ２４は、記憶部２６から読み出したローデータに対して、プライバシー情報の検出を行う。そして、制御コントローラ２４は、加工対象を検出したか否かを判定する（Ｓ４６）。制御コントローラ２４においてＳ４６の処理を行う機能は、特許請求の範囲に記載の検出部に相当する。
【００５６】
制御コントローラ２４は、Ｓ４６でプライバシー情報を検出したと判定すると、検出したプライバシー情報に対して加工を行う（Ｓ４８）。制御コントローラ２４においてＳ４８の処理を行う機能は、特許請求の範囲に記載の加工部に相当する。本実施形態において、制御コントローラ２４は、Ｓ４６において全データの一部のデータに対して検出を行い、全データに対する検出を完了する前にＳ４８でプライバシー情報の加工を行う。
【００５７】
次に、制御コントローラ２４は、Ｓ４８で加工したデータに対して第２認証子及び第２ＣＲＣ値を算出する（Ｓ５０）。詳しく言うと、制御コントローラ２４は、全データのうちのＳ４６及びＳ４８で処理したデータに対して第２認証子及び第２ＣＲＣ値を計算する。
【００５８】
制御コントローラ２４は、Ｓ４６においてプライバシー情報を検出しないと判定すると、Ｓ４８の処理を行うことなく、Ｓ４６で判定を行ったデータに対して第２認証子及び第２ＣＲＣ値を算出する（Ｓ５０）。すなわち、制御コントローラ２４は、Ｓ４６においてプライバシー情報を検出しない場合、Ｓ４８の処理を行うことなくＳ５０の処理を行う。なお、制御コントローラ２４においてＳ５０の処理を行う機能は、特許請求の範囲に記載の第１算出部に相当する。
【００５９】
次に、制御コントローラ２４は、全てのデータのうちのＳ４６〜Ｓ５０で処理したデータをマイコン１０へ出力する。詳しく言うと、制御コントローラ２４は、プライバシー情報を加工したデータ、又は、プライバシー情報が含まれていないデータをマイコン１０へ出力する（Ｓ５２）。
【００６０】
次に、制御コントローラ２４は、マイコン１０に対する全データの読み出しが完了したか否かを判定する（Ｓ５４）。言い換えると、制御コントローラ２４は、全データをマイコン１０へ出力したか否かを判定する。制御コントローラ２４は、例えば、Ｓ５２で出力したデータの内容に基づきＳ５４の判定を行う。制御コントローラ２４は、Ｓ５２で出力したデータがデータの切れ目を含む場合等に、全データをマイコン１０へ出力したと判定する。
【００６１】
Ｓ５４において全データがマイコン１０へ読み出されていないと判定された場合、Ｓ４６〜Ｓ５２の処理が行われていないローデータがストレージデバイス２０に残されている。そのため、制御コントローラ２４は、Ｓ５４において全データの読み出しが完了していないと判定すると、残されたデータの少なくとも一部に対してＳ４６〜Ｓ５２の処理を行い、再びＳ５４の判定を行う。以上によれば、制御コントローラ２４は、マイコン１０へ全データを出力するまで、Ｓ４６〜Ｓ５４の処理を繰り返し行う。
【００６２】
制御コントローラ２４は、Ｓ５４において全データの読み出しが完了したと判定すると、第２認証子及び第２ＣＲＣ値をマイコン１０へ出力する（Ｓ５６）。なお、制御コントローラ２４がＳ５６で出力する第２認証子及び第２ＣＲＣ値は、制御コントローラ２４が全データに対して計算した値である。制御コントローラ２４は、Ｓ５６の処理を行った後に出力処理を終了する。
【００６３】
また、制御コントローラ２４は、Ｓ４４において、第１認証子及び第１ＣＲＣ値の少なくとも一方が期待値と一致しない場合、読出コマンドに対する否定応答をマイコン１０へ送信する（Ｓ５８）。この場合、制御コントローラ２４は、ローデータ及び加工データをマイコン１０に出力しない。すなわち、マイコン１０は、ストレージデバイス２０からローデータ及び加工データを読み出さない。
【００６４】
図５に示すように、マイコン１０は、出力処理を開始すると、制御コントローラ２４に対してデータの出力を要求する読出コマンドを送信する（Ｓ８０）。次に、マイコン１０は、制御コントローラ２４からデータを受信したか否かを判定する（Ｓ８２）。詳しく言うと、マイコン１０は、制御コントローラ２４がＳ５２で出力したデータを受信したか否かを判定する。マイコン１０は、データを受信していないと判定すると、再びＳ８２の処理を行う。言い換えると、マイコン１０は、制御コントローラ２４からデータを受信するまでＳ８２の処理を繰り返し行う。
【００６５】
マイコン１０は、Ｓ８２においてデータを受信したと判定すると、受信したデータに対して第２認証子及び第２ＣＲＣ値を算出する（Ｓ８４）。なお、Ｓ８２においてマイコン１０が第２認証子及び第２ＣＲＣ値を算出するデータは、全データのうちのマイコン１０が制御コントローラ２４から受信したデータである。マイコン１０においてＳ８４の処理を行う機能は、特許請求の範囲に記載の第２算出部に相当する。
【００６６】
次に、マイコン１０は、ストレージデバイス２０からの全データの読み出しが完了したか否かを判定する（Ｓ８６）。言い換えると、マイコン１０は、制御コントローラ２４が全データを出力したか否かを判定する。マイコン１０は、例えば、制御コントローラ２４から読み出したデータの内容に基づきＳ８６の判定を行う。Ｓ８６においてマイコン１０が判定を行う全データは、ローデータがプライバシー情報を含む場合、制御コントローラ２４によりプライバシー情報が加工されたデータを含んでいる。言い換えると、Ｓ８６においてマイコン１０が判定を行う全データは、加工データである。
【００６７】
Ｓ８６において全データの読み出しが完了していないと判定された場合、Ｓ８４で処理されたデータと異なる新たなデータが制御コントローラ２４からマイコン１０へ読み出される。そのため、マイコン１０は、Ｓ８６において全データの読み出しが完了していないと判定した場合、新たに入力されるデータに対してＳ８４の処理を行い、再びＳ８６の判定を行う。以上によれば、マイコン１０は、全データに対して第２認証子及び第２ＣＲＣ値を算出するまで、Ｓ８４及びＳ８６の処理を繰り返し行う。
【００６８】
マイコン１０は、Ｓ８６において全データの読み出しが完了したと判定した場合、制御コントローラ２４から第２認証子及び第２ＣＲＣ値を受信する（Ｓ８８）。マイコン１０がＳ８８において受信する第２認証子及び第２ＣＲＣ値は、制御コントローラ２４がＳ５６で出力したものである。
【００６９】
次に、マイコン１０は、第２認証子及び第２ＣＲＣ値が期待値か否かを判定する（Ｓ９０）。詳しく言うと、マイコン１０は、Ｓ８４で算出した第２認証子が、Ｓ８８で受信した第２認証子と一致するか否かを判定する。第２認証子が期待値であると判定された場合、制御コントローラ２４がＳ５０の処理を行った後からマイコン１０がＳ８４の処理を行うまでに加工データは改竄されていない。よって、マイコン１０は、第２認証子同士が一致する場合、加工データが改竄されていないと判定する。なお、マイコン１０においてＳ９０の処理を行う機能は、特許請求の範囲に記載の改竄判定部に相当する。
【００７０】
また、マイコン１０は、Ｓ８４で算出した第２ＣＲＣ値が、Ｓ８８で受信した第２ＣＲＣ値と一致するか否かを判定する。第２ＣＲＣ値が期待値であると判定された場合、制御コントローラ２４がＳ５０の処理を行った後からマイコン１０がＳ８４の処理を行うまでに加工データは破損していない。よって、マイコン１０は、第２ＣＲＣ値同士が一致する場合、加工データが破損していないと判定する。
【００７１】
マイコン１０は、第２認証子及び第２ＣＲＣ値の両方が期待値である場合に、加工データが正常データであると判定する（Ｓ９２）。正常データとは、改竄されておらず、且つ、破損していない加工データである。例えば、マイコン１０は、加工データが正常データか否か示すフラグを有している。Ｓ９２においてマイコン１０は、フラグを所定の値に設定する。
【００７２】
マイコン１０は、第２認証子及び第２ＣＲＣ値の少なくとも一方が期待値ではない場合、加工データが異常データであると判定する（Ｓ９４）。異常データとは、改竄されたデータ、及び、破損しているデータの少なくとも一方である。例えば、Ｓ９４においてマイコン１０は、フラグの値を、Ｓ９２で設定する値と異なる値に設定する。
【００７３】
マイコン１０は、Ｓ９２又はＳ９４の処理を行った後、加工データに対する判定結果を読出機器に通知する（Ｓ９６）。詳しく言うと、マイコン１０は、Ｓ９２の処理を行った場合、加工データが正常データであることを示す信号を読出機器に送信する。一方、マイコン１０は、Ｓ９４の処理を行った場合、加工データが異常データであることを示す信号を読出機器に送信する。マイコン１０は、Ｓ９６の処理を行った後に出力処理を終了する。
【００７４】
次に、上記したデータ保全装置１００の効果について説明する。
【００７５】
本実施形態において、ストレージデバイス２０からマイコン１０へ出力される加工データは、プライバシー情報が復元できない状態となるように加工されている。これによれば、ストレージデバイス２０からマイコン１０へ出力されたデータからプライバシー情報が読み取られるのを抑制することができる。
【００７６】
ところで、記憶部２６に格納されるローデータは、悪意のある第三者等によって改竄される場合がある。これに対し本実施形態では、ローデータが改竄されたか否かを第１認証子に応じて制御コントローラ２４が判定している。よって、データ保全装置１００では、ストレージデバイス２０内でローデータが改竄されたか否かを判定することができる。
【００７７】
本実施形態において、ローデータが改竄されたと判定された場合、ローデータ及び加工データはストレージデバイス２０からマイコン１０へ出力されない。これによれば、改竄されたデータがストレージデバイス２０の外部に出力されるのを抑制することができる。
【００７８】
本実施形態によれば、マイコン１０からストレージデバイス２０に入力されたローデータは、検出及び加工されることなく記憶部２６に入力される。これによれば、ストレージデバイス２０では、入力処理を簡素化することができる。よって、ストレージデバイス２０では、入力処理を高速化することができる。したがって、容量の大きいローデータがマイコン１０からストレージデバイス２０に入力される場合であっても、入力処理が追いつかずデータを取りこぼしてしまうのを効果的に抑制することができる。
【００７９】
本実施形態では、加工データが改竄されたか否かを第２認証子に応じてマイコン１０が判定している。よって、マイコン１０は、読み出した加工データが改竄されたか否かを判定することができる。
【００８０】
書換領域２６ａに格納されたデータに較べて、非書換領域２６ｂに格納されたデータは改竄され難い。これに対し本実施形態では、必須データが、非書換領域２６ｂに格納される。これによれば、必須データが改竄されるのを効果的に抑制することができる。
【００８１】
本実施形態では、制御コントローラ２４が画像データを単一色で加工する。これによれば、モザイク処理を施す例に較べて、制御コントローラ２４の処理を簡素化することができる。
【００８２】
（第２実施形態）
本実施形態において、第１実施形態に示したデータ保全装置１００と共通する部分についての説明は割愛する。
【００８３】
本実施形態では、図６に示すように、入力処理において制御コントローラ２４が、データを加工した後に、加工したデータを記憶部２６に格納する。そして、出力処理において制御コントローラ２４は、加工データを記憶部２６から読み出して、読み出した加工データをマイコン１０へ出力する。なお、マイコン１０における入力処理及び出力処理の処理手順は、第１実施形態と同じである。
【００８４】
図７に示すように、入力処理において制御コントローラ２４は、Ｓ１２においてローデータが入力されたと判定すると、入力されたローデータに対して加工対象の検出を行い、加工対象を検出したか否かを判定する（Ｓ２２）。制御コントローラ２４においてＳ２２の処理を行う機能は、特許請求の範囲に記載の検出部に相当する。
【００８５】
そして、制御コントローラ２４は、Ｓ２２でプライバシー情報を検出したと判定すると、検出したプライバシー情報の加工を行う（Ｓ２４）。制御コントローラ２４においてＳ２４の処理を行う機能は、特許請求の範囲に記載の加工部に相当する。
【００８６】
次に、制御コントローラ２４は、Ｓ２４で加工したデータに対して第２認証子及び第２ＣＲＣ値を算出する（Ｓ２６）。詳しく言うと、制御コントローラ２４は、全データのうちのＳ２２及びＳ２４で処理したデータに対して第２認証子及び第２ＣＲＣ値を計算する。
【００８７】
制御コントローラ２４は、Ｓ２２においてプライバシー情報を検出しないと判定すると、Ｓ２４の処理を行うことなく、Ｓ２２で判定を行ったデータに対して第２認証子及び第２ＣＲＣ値を算出する（Ｓ２６）。すなわち、制御コントローラ２４は、Ｓ２２においてプライバシー情報を検出しないと判定すると、Ｓ２４の処理を行うことなくＳ２６の処理を行う。制御コントローラ２４においてＳ２６の処理を行う機能は、特許請求の範囲に記載の算出部に相当する。
【００８８】
次に、制御コントローラ２４は、記憶部２６にデータを格納する（Ｓ２８）。詳しく言うと、制御コントローラ２４は、全データのうちのＳ２２〜Ｓ２６で処理したデータを記憶部２６に格納する。そして、制御コントローラ２４は、マイコン１０からの全データの受信が完了したか否かを判定する（Ｓ３０）。
【００８９】
制御コントローラ２４は、Ｓ３０において全データの受信が完了していないと判定すると、マイコン１０から新たに入力されるデータの少なくとも一部に対してＳ２２〜Ｓ２８の処理を行い、再びＳ３０の判定を行う。以上によれば、制御コントローラ２４は、全データを記憶部２６に格納するまで、Ｓ２２〜Ｓ３０の処理を繰り返し行う。
【００９０】
制御コントローラ２４は、Ｓ３０において全データの受信が完了したと判定すると、第２認証子及び第２ＣＲＣ値を記憶部２６に格納する（Ｓ３２）。なお、制御コントローラ２４がＳ３２で格納する第２認証子及び第２ＣＲＣ値は、制御コントローラ２４が全データに対して計算した値である。制御コントローラ２４は、Ｓ３２の処理を行った後に入力処理を終了する。
【００９１】
図８に示すように、出力処理において制御コントローラ２４は、Ｓ４０において読出コマンドを受信したと判定すると、記憶部２６から加工データを読み出して、読み出した加工データに対して第２認証子及び第２ＣＲＣ値を算出する（Ｓ６０）。このとき、制御コントローラ２４が第２認証子及び第２ＣＲＣ値を算出する加工データは、記憶部２６に格納されていた全データである。なお、Ｓ６０では、制御コントローラ２４が、加工データとともに格納されていた第２認証子及び第２ＣＲＣ値も読み出す。制御コントローラ２４においてＳ６０の処理を行う機能は、特許請求の範囲に記載の算出部及び第１算出部に相当する。
【００９２】
次に、制御コントローラ２４は、第２認証子及び第２ＣＲＣ値が期待値か否かを判定する（Ｓ６２）。詳しく言うと、制御コントローラ２４は、Ｓ６０で算出した第２認証子が、加工データとともに記憶部２６に格納されていた第２認証子と一致しているか否かを判定する。第２認証子が期待値であると判定された場合、制御コントローラ２４がＳ２６の処理を行った後からＳ６０の処理を行うまでに加工データは改竄されていない。よって、制御コントローラ２４は、第２認証子同士が一致する場合、加工データが改竄されていないと判定する。制御コントローラ２４においてＳ６２の処理を行う機能は、特許請求の範囲に記載の判定部に相当する。
【００９３】
また、制御コントローラ２４は、Ｓ６２で算出した第２ＣＲＣ値が、加工データとともに記憶部２６に格納されていた第２ＣＲＣ値と一致しているか否かを判定する。制御コントローラ２４は、第２ＣＲＣ値同士が一致する場合に、加工データが破損していないと判定する。
【００９４】
制御コントローラ２４は、Ｓ６２において第２認証子及び第２ＣＲＣ値の両方が期待値であると判定すると、マイコン１０へ加工データを出力する（Ｓ５２）。次に、制御コントローラ２４は、マイコン１０に対する全データの読み出したが完了したか否かを判定する（Ｓ５４）。
【００９５】
制御コントローラ２４は、Ｓ５４において全データの読み出しが完了していないと判定すると、残されたデータの少なくとも一部に対してＳ５２の処理を行い、再びＳ５４の判定を行う。以上によれば、制御コントローラ２４は、マイコン１０へ全データを出力するまで、Ｓ５２及びＳ５４の処理を繰り返し行う。
【００９６】
制御コントローラ２４は、Ｓ５４において全データの読み出しが完了したと判定すると、Ｓ５６の処理を行う。制御コントローラ２４は、Ｓ５６の処理を行った後に出力処理を終了する。なお、マイコン１０は、出力処理におけるＳ９０の判定において、Ｓ８４で算出した第２認証子及び第２ＣＲＣ値と、制御コントローラ２４がＳ６０で算出した第２認証子及び第２ＣＲＣ値と、を比較して判定を行う。
【００９７】
制御コントローラ２４は、Ｓ６２において第２認証子及び第２ＣＲＣ値の少なくとも一方が期待値と一致しない場合、Ｓ５８の処理を行う。これにより、制御コントローラ２４は出力処理を終了する。
【００９８】
ところで、記憶部２６に格納されているデータは、悪意のある第三者等によって読み出される場合がある。これに対し、本実施形態では、ローデータではなく加工データが記憶部２６に格納される。これによれば、ローデータが記憶部２６に格納される構成に較べて、プライバシー情報が読み取られるのを効果的に抑制することができる。
【００９９】
本実施形態において、制御コントローラ２４は、第２認証子に応じて加工データが改竄されたか否かを判定している。これによれば、データ保全装置１００では、ストレージデバイス２０内で加工データが改竄されたか否かを判定することができる。
【０１００】
本実施形態では、加工データが改竄されていないと判定された場合にのみ、加工データがマイコン１０へ出力される。これによれば、改竄された加工データがストレージデバイス２０の外部に出力されるのを抑制することができる。
【０１０１】
（第３実施形態）
本実施形態において、第１実施形態に示したデータ保全装置１００と共通する部分についての説明は割愛する。
【０１０２】
本実施形態において、制御コントローラ２４は、データを読み出すためのセキュリティ認証をマイコン１０に対して行う。そして、制御コントローラ２４は、認証が成立した場合に加工データをマイコン１０へ出力し、認証が成立しない場合にローデータ及び加工データをマイコン１０へ出力しない。言い換えると、制御コントローラ２４は、マイコン１０に対して、記憶部２６に格納されたデータのアクセスを許可するか否かの判定を行う。また、ストレージデバイス２０がセキュリティアクセス機構を有していると言い換えることもできる。さらに言い換えると、制御コントローラ２４は、マイコン１０に対するデータの出力を無効化している。本実施形態では、制御コントローラ２４が、マイコン１０を介して読出機器のセキュリティ認証を行う。
【０１０３】
図９に示すように、出力処理において制御コントローラ２４は、Ｓ４０で読出コマンドを受信したと判定すると、マイコン１０に対してセキュリティ認証を行う（Ｓ６４）。例えば、制御コントローラ２４は、マイコン１０に対してＣＨＡＰ認証を行う。ＣＨＡＰは、Challenge Handshake Authentication Protocolの略称である。ＣＨＡＰ認証では、制御コントローラ２４及びマイコン１０がＡＥＳに基づく演算等を行う。
【０１０４】
次に、制御コントローラ２４は、Ｓ６４で行った認証が成立したか否かを判定する（Ｓ６６）。制御コントローラ２４は、Ｓ６６において認証が成立したと判定すると、Ｓ４２〜Ｓ５６の処理を行う。すなわち、制御コントローラ２４は、ローデータを加工し、加工データをマイコン１０へ出力する。なお、制御コントローラ２４においてＳ６４及びＳ６６の処理を行う機能は、特許請求の範囲に記載の出力認証部に相当する。
【０１０５】
制御コントローラ２４は、Ｓ６６において認証が成立しないと判定すると、Ｓ５８の処理を行う。そのため、制御コントローラ２４は、Ｓ６６において認証が成立しないと判定すると、加工データ及びローデータをマイコン１０に出力しない。
【０１０６】
本実施形態では、制御コントローラ２４の認証が成立した場合にのみ、ストレージデバイス２０からマイコン１０へ加工データが読み出される。これによれば、データの機密性を向上することができる。
【０１０７】
なお、本実施形態では、データの出力を無効化するためのセキュリティ認証を制御コントローラ２４が行う例を示したが、これに限定するものではない。制御コントローラ２４とは別に、データの出力を無効化するためのセキュリティ認証を行う回路又は装置が、ストレージデバイス２０に設けられていてもよい。
【０１０８】
（第４実施形態）
本実施形態において、第１実施形態に示したデータ保全装置１００と共通する部分についての説明は割愛する。
【０１０９】
本実施形態において、制御コントローラ２４は、ローデータの加工を無効化するためのセキュリティ認証をマイコン１０に対して行う。詳しく言うと、制御コントローラ２４は、認証が成立した場合にローデータをマイコン１０へ出力し、認証が成立しない場合に加工データをマイコン１０へ出力する。言い換えると、制御コントローラ２４は、マイコン１０に対して、記憶部２６に格納されたローデータのアクセスを許可するか否かの判定を行う。本実施形態において、制御コントローラ２４は、マイコン１０を介して読出機器のセキュリティ認証を行う。
【０１１０】
図１０に示すように、出力処理において制御コントローラ２４は、第１認証子及び第１ＣＲＣ値の両方が期待値であるとＳ４４で判定すると、マイコン１０に対してセキュリティ認証を行う（Ｓ６８）。そして、制御コントローラ２４は、Ｓ６８で行った認証が成立したか否かを判定する（Ｓ７０）。なお、制御コントローラ２４においてＳ６８及びＳ７０の処理を行う機能は、特許請求の範囲に記載の加工認証部に相当する。
【０１１１】
制御コントローラ２４は、Ｓ７０において認証が成立しないと判定すると、Ｓ４６〜Ｓ５６の処理を行う。これにより、制御コントローラ２４は、ローデータを加工し、加工データをマイコン１０へ出力する。
【０１１２】
一方、制御コントローラ２４は、Ｓ７０において認証が成立したと判定すると、ローデータを、加工することなくマイコン１０へ出力する（Ｓ７２）。次に、制御コントローラ２４は、マイコン１０に対する全データの読み出しが完了したか否かを判定する（Ｓ７４）。制御コントローラ２４は、Ｓ７４において全データの読み出しが完了していないと判定すると、再びＳ７２及びＳ７４の処理を行う。以上によれば、制御コントローラ２４は、ローデータである全データをマイコン１０へ出力するまで、Ｓ７２及びＳ７４の処理を繰り返し行う。
【０１１３】
制御コントローラ２４は、Ｓ７４において全データの読み出しが完了したと判定すると、Ｓ４２で算出した第１認証子及び第１ＣＲＣ値をマイコン１０へ出力する（Ｓ７６）。制御コントローラ２４は、Ｓ７６の処理を行った後、出力処理を終了する。
【０１１４】
ストレージデバイス２０に格納されたデータを用いて警察等が事故の証拠データの解析や故障解析を行う場合、加工データではなくローデータをマイコン１０へ読み出すことが必要な場合がある。これに対し本実施形態では、認証が成立しない場合にマイコン１０へ加工データが出力され、認証が成立した場合にローデータが出力される。したがって、プライバシー情報の機密性を確保しつつ、必要な場合にローデータをマイコン１０へ読み出すことができる。
【０１１５】
なお、本実施形態では、データの加工を無効化するためのセキュリティ認証を制御コントローラ２４が行う例を示したが、これに限定するものではない。制御コントローラ２４とは別に、データの加工を無効化するためのセキュリティ認証を行う回路又は装置が、ストレージデバイス２０に設けられていてもよい。
【０１１６】
以上、本発明の好ましい実施形態について説明したが、本発明は上記実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
【０１１７】
上記実施形態では、プライバシー情報の検出、データの加工、認証子とＣＲＣ値の算出、及び、改竄と破損の判定の処理を制御コントローラ２４が行う例を示した。しかしながら、これに限定するものではない。制御コントローラ２４とは別の回路又は装置が、プライバシー情報の検出、データの加工、認証子とＣＲＣ値の算出、及び、改竄と破損の判定の少なくとも１つの処理を行ってもよい。
【０１１８】
上記実施形態では、制御コントローラ２４及びマイコン１０が、認証子及びＣＲＣ値の両方を算出する例を示したが、これに限定するものではない。制御コントローラ２４及びマイコン１０が、認証子を算出し、ＣＲＣ値を算出しない例を採用することもできる。よって、制御コントローラ２４及びマイコン１０が、データの改竄は判定するが、データの破損については判定しない例を採用することもできる。
【０１１９】
また、制御コントローラ２４及びマイコン１０が、認証子及びＣＲＣ値の両方を算出しない例を採用することもできる。よって、制御コントローラ２４及びマイコン１０が、データの改竄及び破損の両方を判定しない例を採用することもできる。
【０１２０】
上記実施形態では、電子制御装置２００がストレージデバイス２０を備える例を示したが、これに限定するものではない。図１１の第１変形例に示すように、電子制御装置２００がストレージデバイス２０を備えない例を採用することもできる。第１変形例では、電子制御装置２００が、ストレージデバイス２０と外部接続されている。なお第１変形例においても、データ保全装置１００は、マイコン１０及びストレージデバイス２０の両方を備えている。
【０１２１】
上記実施形態では、入力処理において制御コントローラ２４がプライバシー情報の検出及び加工の両方を行う例、及び、出力処理において制御コントローラ２４がプライバシー情報の検出及び加工の両方を行う例を示した。しかしながら、これに限定するものではない。制御コントローラ２４は、入力処理においてプライバシー情報の検出を行うとともに、出力処理においてプライバシー情報の加工を行う例を採用することもできる。この例では、ストレージデバイス２０において、入力処理及び出力処理の処理負荷が平滑化される。したがって、入力処理に掛かる時間、及び、出力処理に掛かる時間の一方が長くなるのを抑制することができる。
【符号の説明】
【０１２２】
１０…マイコン、２０…ストレージデバイス、２２…入出力Ｉ／Ｆ、２４…制御コントローラ、２６…記憶部、２６ａ…書換領域、２６ｂ…非書換領域、１００…データ保全装置、２００…電子制御装置
【図１】
0006645225.tif 000002
【図２】
0006645225.tif 000003
【図３】
0006645225.tif 000004
【図４】
0006645225.tif 000005
【図５】
0006645225.tif 000006
【図６】
0006645225.tif 000007
【図７】
0006645225.tif 000008
【図８】
0006645225.tif 000009
【図９】
0006645225.tif 000010
【図１０】
0006645225.tif 000011
【図１１】
0006645225.tif 000012