(57)【要約】      （修正有）【課題】一群の画像情報全体の真正性を担保することができるシステムを提供する。【解決手段】検証装置１１は、画像情報と、画像情報に対して付加された付加情報と、画像情報と所定数の不変情報とを用いて計算された計算結果とを含む入力情報を蓄積する蓄積手段と、蓄積された入力情報から所定数の入力情報を選択する選択手段と、選択された所定数の入力情報に含まれる画像情報と計算結果とを用いて、所定数の不変情報を導出する演算手段と、付加情報から得られる不変情報を、導出された所定数の不変情報のうちの１つと比較することにより、選択された所定数の入力情報に含まれる所定数の画像情報について真正性を検証する検証手段と、検証手段が検証した検証結果に基づき、蓄積された各入力情報に含まれる各画像情報について真正性の有無を判定する判定手段と、真正性なしと判定された画像情報を含む入力情報を蓄積手段から削除する削除手段とを含む。【選択図】図５
2019012986.tif 000002
【特許請求の範囲】
【請求項１】
画像情報の真正性を検証する検証装置であって、
前記画像情報と、該画像情報を含む一群の画像情報に対して付加された付加情報と、該画像情報と所定数の不変情報とを用いて計算された計算結果とを含む入力情報を蓄積する蓄積手段と、
前記蓄積手段に蓄積された入力情報から所定数の入力情報を選択する選択手段と、
前記選択手段により選択された所定数の入力情報に含まれる画像情報と計算結果とを用いて、前記所定数の不変情報を導出する演算手段と、
前記付加情報から得られる不変情報を、前記演算手段により導出された所定数の不変情報のうちの１つと比較することにより、前記選択手段により選択された所定数の入力情報に含まれる所定数の画像情報について真正性を検証する検証手段と、
前記検証手段が検証した検証結果に基づき、前記蓄積手段に蓄積された各入力情報に含まれる各画像情報について真正性の有無を判定する判定手段と、
前記判定手段により真正性なしと判定された画像情報を含む入力情報を前記蓄積手段から削除する削除手段とを含む、検証装置。
【請求項２】
前記入力情報の数が所定数以上か否かを判断し、前記所定数未満の場合に、前記削除手段に対して、前記蓄積手段から該入力情報を削除するように指示する制御手段を含む、請求項１に記載の検証装置。
【請求項３】
前記選択手段は、前記検証手段により画像情報が真正性ありと検証された所定数の入力情報の少なくとも１つを入れ換え、
前記判定手段は、前記所定数の画像情報についての検証結果と、前記選択手段が入れ換え、前記検証手段が検証した検証結果とに基づき、前記各画像情報について真正性の有無を判定する、請求項１または２に記載の検証装置。
【請求項４】
前記選択手段は、前記蓄積手段に蓄積された画像情報の数が所定数の２倍以上である場合、所定数の画像情報からなる２以上の組を作成し、前記２以上の組のうちの１つを選択し、
前記検証手段は、前記選択手段が選択した各組を構成する所定数の画像情報について真正性を検証する、請求項１〜３のいずれか１項に記載の検証装置。
【請求項５】
前記選択手段は、前記蓄積手段に蓄積された画像情報の数が所定数の２倍未満である場合、前記検証手段により画像情報が真正性ありと検証された所定数の入力情報の一部を、前記蓄積手段に蓄積された真正性の有無が判定されていない画像情報を含む入力情報の全部または一部と入れ換え、
前記判定手段は、前記所定数の画像情報についての検証結果と、前記選択手段が入れ換え、前記検証手段が検証した検証結果とに基づき、前記各画像情報について真正性の有無を判定する、請求項１〜３のいずれか１項に記載の検証装置。
【請求項６】
前記判定手段は、制約条件に基づき、前記削除手段に対し、真正性の有無を判定していない画像情報を含む入力情報を削除するように指示する、請求項１〜５のいずれか１項に記載の検証装置。
【請求項７】
画像を撮像し、画像情報と、該画像情報を含む一群の画像情報に対して付加された付加情報と、該画像情報と所定数の不変情報とを用いて計算された計算結果とを含む入力情報を送信する撮像装置と、前記撮像装置から前記入力情報を受信し、前記画像情報の真正性を検証する検証装置とを含む情報処理システムであって、
前記検証装置が、
前記入力情報を蓄積する蓄積手段と、
前記蓄積手段に蓄積された入力情報から所定数の入力情報を選択する選択手段と、
前記選択手段により選択された所定数の入力情報に含まれる画像情報と計算結果とを用いて、前記所定数の不変情報を導出する演算手段と、
前記付加情報から得られる不変情報を、前記演算手段により導出された所定数の不変情報のうちの１つと比較することにより、前記選択手段により選択された所定数の入力情報に含まれる所定数の画像情報について真正性を検証する検証手段と、
前記検証手段が検証した検証結果に基づき、前記蓄積手段に蓄積された各入力情報に含まれる各画像情報について真正性の有無を判定する判定手段と、
前記判定手段により真正性なしと判定された画像情報を含む入力情報を前記蓄積手段から削除する削除手段とを含む、情報処理システム。
【請求項８】
画像情報の真正性を検証する検証方法であって、
前記画像情報と、該画像情報を含む一群の画像情報に対して付加された付加情報と、該画像情報と所定数の不変情報とを用いて計算された計算結果とを含む入力情報を蓄積手段に蓄積するステップと、
前記蓄積手段に蓄積された入力情報から所定数の入力情報を選択するステップと、
選択された所定数の入力情報に含まれる画像情報と計算結果とを用いて、前記所定数の不変情報を導出するステップと、
前記付加情報から得られる不変情報を、導出された所定数の不変情報のうちの１つと比較することにより、選択された所定数の入力情報に含まれる所定数の画像情報について真正性を検証するステップと、
前記検証するステップで検証した検証結果に基づき、前記蓄積手段に蓄積された各入力情報に含まれる各画像情報について真正性の有無を判定するステップと、
前記判定するステップで真正性なしと判定された画像情報を含む入力情報を前記蓄積手段から削除するステップとを含む、検証方法。
【請求項９】
請求項８に記載の検証方法に含まれる各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像情報の真正性を検証する検証装置、情報処理システム、検証方法およびその検証処理をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
画像情報としての動画像データには、監視カメラの映像等の動画が改竄されていないことを示す真正性を必要とするものが増えてきている。このことに鑑み、動画像データに対して署名を付けることにより動画像データの真正性を保証する方法が提案されている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記の方法では、動画像データに署名を付けてしまうと、動画像データを改変することができない。従って、もし一群のデータのうちの１つでも改竄されている場合、結果として、一群のデータ全ての真正性が失われてしまうという問題があった。
【０００４】
本発明は、上記の問題に鑑みなされたものであり、一群の画像情報全体の真正性を担保することができる装置、システム、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決するために、発明の一実施形態では、画像情報の真正性を検証する検証装置であって、
画像情報と、画像情報を含む一群の画像情報に対して付加された付加情報と、画像情報と所定数の不変情報とを用いて計算された計算結果とを含む入力情報を蓄積する蓄積手段と、
蓄積手段に蓄積された入力情報から所定数の入力情報を選択する選択手段と、
選択手段により選択された所定数の入力情報に含まれる画像情報と計算結果とを用いて、所定数の不変情報を導出する演算手段と、
付加情報から得られる不変情報を、演算手段により導出された所定数の不変情報のうちの１つと比較することにより、選択手段により選択された所定数の入力情報に含まれる所定数の画像情報について真正性を検証する検証手段と、
検証手段が検証した検証結果に基づき、蓄積手段に蓄積された各入力情報に含まれる各画像情報について真正性の有無を判定する判定手段と、
判定手段により真正性なしと判定された画像情報を含む入力情報を蓄積手段から削除する削除手段とを含む、検証装置を提供する。
【発明の効果】
【０００６】
本発明によれば、一群の画像情報全体の真正性を担保することができる。
【図面の簡単な説明】
【０００７】
【図１】情報処理システムのシステム構成の一例を示した図。
【図２】秘密分散方式について説明する図。
【図３】情報処理システムを構成する撮像装置のハードウェア構成の一例を示した図。
【図４】情報処理システムを構成する検証装置のハードウェア構成の一例を示した図。
【図５】検証装置の機能構成の一例を示したブロック図。
【図６】検証装置により実行される処理の一例を示したフローチャート。
【図７】検証装置のデータ取得タイミングについて説明する図。
【図８】付加情報としての署名を検証する第１の処理について説明する図。
【図９】署名を検証する第２の処理について説明する図。
【図１０】署名を検証する第３の処理について説明する図。
【図１１】署名を検証する第４の処理について説明する図。
【発明を実施するための形態】
【０００８】
図１は、画像情報を動画像データとして取得し、取得した動画像データに付加情報として署名を付して転送し、転送された動画像データの真正性を検証する情報処理システムのシステム構成の一例を示した図である。図１に示す情報処理システムは、動画像データを取得し、署名を付して転送する撮像装置１０と、転送された動画像データの真正性を検証する検証装置１１とを含む。
【０００９】
撮像装置１０と検証装置１１は、ケーブル１２により接続されている。撮像装置１０と検証装置１１は、無線接続されていてもよいし、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続されていてもよい。
【００１０】
撮像装置１０は、連続して画像を撮像し、動画像データとして出力する装置で、パケット、フレーム、セグメント等の伝送単位に区切って動画像データを転送する。動画像データは、これら以外に、特定のIフレームから次のIフレームを１つの切り分けの単位としてもよい。
【００１１】
ここで、フレームを単位として伝送する場合、Iフレームと、Pフレームと、Bフレームとに分けることで伝送するデータを圧縮することができる。Iフレームは、そのフレーム全ての情報を保持し、Pフレームは、前のIフレームとの差異の情報を保持し、Bフレームは、前後のIフレームとPフレームの差異の情報を保持するフレームである。
【００１２】
検証装置１１は、撮像装置１０から転送された動画像データと該動画像データに付された署名とを用い、署名を検証することにより動画像データの真正性の有無を判断する。
【００１３】
情報処理システムは、n（nは１以上の整数）個の動画像データのうち、k（kはn以下の整数）個以上の動画像データが取得できた場合に、署名の検証を行うことができるという署名方式を採用する。このような署名方式としては、秘密分散方式を採用することができる。
【００１４】
ここで、図２を参照して、秘密分散方式について説明する。秘密分散方式では、秘密分散アルゴリズムを使用し、秘密分散アルゴリズムとしては、Shamirの(k,n)閾値法を採用することができる。なお、秘密分散アルゴリズムは、Shamirの(k,n)閾値法に限られるものではなく、動画像データを入力とし、それを分散した秘密情報に割り当てることが可能なアルゴリズムであればよい。
【００１５】
Shamirの(k,n)閾値法は、秘密情報をn個に分割し、そのうちのk個を使用すれば秘密情報を復元でき、k-1個以下の場合には秘密情報を復元できないというものである。この方法では、定数項を秘密情報としたk-1次多項式f(x)を作成し、xがi（iは１以上n以下の整数）のときの解f(i)をn個に分割した各秘密情報に割り当て、分散させる。このため、k個以上のi、f(i)を取得することができれば、多項式補間によりf(x)を求めることができ、x=0のときの定数項f(0)、すなわち秘密情報を特定することができる。一方、k-1個以下のi、f(i)しか取得することができなければ、f(x)を求めることができないので、秘密情報を特定することはできない。
【００１６】
図２に示す例では、一群の動画像データが秘密情報に相当し、パケット等の伝送単位で区切られた個々の動画像データがn個に分割された秘密情報に相当する。k-1次多項式f(x)は、各次元の項に不変情報としての定数（係数）を有し、定数項からk-1次の項までのk個の定数が作成される。定数は、例えば乱数生成器を用いて生成される乱数とすることができる。以下、多項式の定数として乱数を用いるものとして説明する。
【００１７】
乱数生成器により生成される乱数は、α0〜αk-1である。図２に示す例では、定数項がα0とされている。k-1次多項式の計算結果（計算値）Wiは、ハッシュ関数(hash)と、動画像データDiとを用いて次の式１のように表すことができる。ハッシュ関数は、動画像データDiを代表する数値を得るための関数であり、得られた数値が、ハッシュ値もしくはハッシュである。
【００１８】
【数１】
2019012986.tif 000003
【００１９】
撮像装置１０は、乱数生成器を有し、乱数α0〜αk-1を生成し、ランダムに選択し(S1)、上記式１の定数に割り当てる。撮像装置１０は、定数を割り当てた式１を用いてn個の計算値Wi、すなわちW1、W2、…、Wnを計算する(S2)。撮像装置１０は、検証装置１１に対して、動画像データDiとそのDiから計算した計算値Wiを一組のデータとして転送する。DiとWiとの組は、一部のデータが検証装置１１に届かなくても問題がないという性質を有するデータの組である。このため、撮像装置１０は、多少のデータの欠損があっても無視し、リアルタイム性を重視するストリーミング転送により転送してもよい。また、撮像装置１０は、一部のデータが届かなくても問題がないので、再送する仕組みを備えていない。
【００２０】
なお、Wiは、kの数に応じてビット数が肥大していくため、計算が困難になる。このため、CPU(Central Processing Unit)を使用して現実的に計算するには、ハッシュと同一のビット数の素数qを生成し、その素数qを法（割る数）とした数をWiとすることが望ましい。
【００２１】
撮像装置１０は、n個の動画像データD1、D2、…、Dnにつき、W1、W2、…、Wnを計算した後、これらの動画像データD1、D2、…、Dnに付ける署名としての署名値Sを計算する(S3)。そして、撮像装置１０は、計算した署名値Sも検証装置１１へ転送する。署名値Sは、標準的な署名方式のアルゴリズム(Sigh)を使用して計算することができる。署名方式のアルゴリズムとしては、例えばRSA署名、RSASSA-PSS署名、ElGamal署名等を用いることができる。これらのアルゴリズムについては良く知られたアルゴリズムであるため、ここでは詳述しない。
【００２２】
署名値Sは、撮像装置１０が保持し、管理する自身の秘密鍵skcamを使用し、次の式２により定数項α0を符号化したものとすることができる。
【００２３】
【数２】
2019012986.tif 000004
【００２４】
なお、撮像装置１０は、署名値Sを送信した際、署名値Sが検証装置１１に届かないと、撮像装置１０が送信した動画像データの真正性を保証することができないため、動画像データDiと多項式の計算値Wiのペアと一緒に検証装置１１へ転送する(S4)。これにより、どれかのデータから署名値Sを取得することができる。
【００２５】
検証装置１１は、撮像装置１０から撮像された動画像データDiと計算値Wiのペアと、署名値Sとを入力情報として受け付け、蓄積する。ただし、検証装置１１は、DiとWiのペアにデータの抜けが発生している可能性がある。撮像装置１０が届かなくても再送する仕組みを有していないからである。
【００２６】
検証装置１１は、自身に蓄積された入力情報の数が所定数（k個）以上であるかを確認し、k個以上ある場合に、入力情報のDiとWiのペアがk-1次多項式の引数と解のペアと一致し、撮像装置１０が生成した乱数α0〜αk-1を一意に算出することができる(S5)。これは、未知数がk個の線形方程式を解く問題において方程式の引数と解のペアがk個以上揃ったときに解くことができるという性質によるものである。なお、DiとWiのペアの数がk個未満の場合、検証装置１１は、データの欠損が激しく、信頼に値しないデータとして、署名検証失敗とみなす(S5)。
【００２７】
検証装置１１は、乱数α0〜αk-1を算出した後、撮像装置１０で用いた署名方式のアルゴリズムに対応する検証(Vrfy)アルゴリズムを用い、署名検証を行う。署名検証は、撮像装置１０の秘密鍵skcamに対応し、公開された公開鍵vkcamを使用して、次の式３が成立するか否かにより行うことができる。
【００２８】
【数３】
2019012986.tif 000005
【００２９】
すなわち、公開鍵vkcamを使用して署名値Sを復号し、復号した値（署名が施された値）が定数項α0と一致するかどうかを確認し、一致すれば、署名検証に成功したものとみなし、一致しなければ、署名検証に失敗したものとみなす(S6)。
【００３０】
図３を参照して、撮像装置１０のハードウェア構成について説明する。撮像装置１０は、監視カメラ等とされ、一般的なカメラと同様、レンズ２０、画像センサ２１、センサコントローラ２２を備える。画像センサ２１は、レンズ２０を通して入射された光を電気信号に変換し、画像データとして出力する。画像センサ２１としては、例えばCCD(Charge Coupled Device)やCMOS(Complementary Metal-Oxide Semiconductor)で構成されるイメージセンサを用いることができる。
【００３１】
センサコントローラ２２は、画像センサ２１の露光制御、画像の読み出し制御、検証装置１１との通信および画像データの送信制御等を行う。ここで、露光とは、レンズ２０を通して入射された光に画像センサ２１をさらすことをいう。露光制御は、例えばシャッターの開閉により露光時間を制御することにより実現することができる。
【００３２】
また、センサコントローラ２２は、乱数生成器を有し、乱数α0〜αk-1を生成し、撮像して得られた動画像データD1〜Dnを用いて多項式の計算値W1〜Wnを計算する。そして、センサコントローラ２２は、署名値Sを計算し、動画像データDiとWiのペアと署名値Sと一緒に検証装置１１へ転送する。
【００３３】
図４を参照して、検証装置１１のハードウェア構成について説明する。検証装置１１は、PC、サーバ、タブレット端末、スマートフォン、MFP(Multi-Function Peripheral)等とされる。検証装置１１は、ハードウェアとして、CPU３０、ROM(Read Only Memory)３１、RAM(Random Access Memory)３２、HDD(Hard Disk Drive)３３、通信I/F３４を備える。これらは、バス３５に接続され、バス３５を介して互いに情報のやりとりを行う。
【００３４】
CPU３０は、検証装置１１全体を制御し、入力されたデータの記憶、乱数α0〜αk-1の算出、署名検証、改竄されたデータの検出等の処理を実行する。ROM３１は、検証装置１１を起動させるためのブートプログラムや、HDD３３や通信I/F３４等を制御するためのファームウェア等を格納する。RAM３２は、CPU３０に対して作業領域を提供する。
【００３５】
HDD３３は、OS(Operating System)、入力されたデータ、上記の乱数の算出や署名検証等の処理を実行させるためのプログラム等を格納する。通信I/F３４は、撮像装置１０と接続し、撮像装置１０との間で通信を行い、撮像装置１０からのデータの入力を受け付ける。
【００３６】
検証装置１１は、その他のハードウェアを備えていてもよく、例えば入出力I/F、表示装置、入力装置等を備えることができる。
【００３７】
図５を参照して、検証装置１１の機能構成について説明する。検証装置１１は、CPU３０がHDD３３に格納されたプログラムを読み出し、実行することにより複数の機能部を生成する。生成された複数の機能部により種々の機能を実現する。したがって、検証装置１１は、これら複数の機能部を備えているということができる。ここでは、複数の機能部がプログラムの実行により実現されているが、これに限られるものではなく、複数の機能部の一部または全部を、専用の集積回路等のハードウェアにより実現されていてもよい。
【００３８】
検証装置１１は、機能部として、入力部４０、蓄積部４１、選択部４２、演算部４３、検証部４４、判定部４５、制御部４６、削除部４７を備える。入力部４０は、撮像装置１０から転送された動画像データDiとそのデータに対する計算値Wiのペアと、署名値Sとを含む入力情報を受け付ける。そして、入力部４０は、受け付けた入力情報を蓄積部４１に記憶し、蓄積する。入力部４０は、入力情報を受け付けるたびに蓄積部４１に記憶し、入力情報を蓄積部４１に蓄積していく。
【００３９】
入力部４０は、制御部４６により管理される。入力されたデータの署名検証を行うためには、同一の署名値Sに対し、k個以上のペアについて演算を行わなければならない。制御部４６は、どのデータからk個以上のペアを選択するかを判断する。また、ストリーミング転送を行う場合、どのタイミングで受信を開始するかを一意に確定することができないので、制御部４６が受信開始のタイミングを判断する。
【００４０】
制御部４６は、入力部４０がデータ入力の受け付けを開始し、任意の署名値Sに対してk個以上のペアを確保することができなければ、署名検証失敗とし、真正性を担保できないデータとする。そして、制御部４６は、真正性を担保できないデータを改竄されたデータとし、削除部４７に対して蓄積部４１に蓄積された対象のデータの削除を指示する。削除部４７は、対象のデータを蓄積部４１から削除し、後工程に不正なデータが流れないようにする。このため、真正性が担保できたデータのみが装置に残り、真正性が担保できたデータのみが後工程に流れることになる。
【００４１】
選択部４２は、任意の署名値Sに対してk個以上のペア、すなわちk個以上の入力情報を確保することができた場合にのみ動作し、蓄積部４１に蓄積されたk個以上の入力情報の中からk個の入力情報を選択する。選択部４２は、蓄積部４１に蓄積された順にk個の入力情報を選択することができる。このように先頭から順に選択することもできるが、これに限られるものではなく、ランダムに選択してもよい。
【００４２】
演算部４３は、選択部４２が選択したk個の入力情報に含まれるk個の動画像データDiとk個の計算値Wiとを用いて、例えば次の式４から署名が施された値α0’を算出する。
【００４３】
【数４】
2019012986.tif 000006
【００４４】
上記式４は、ラグランジュ補間によるk-1次の多項式の解を求める式である。ラグランジュ補間は、離散的なk個の点を全て通る関数を求め、値を推測する補間法である。なお、この方法では、k個以上の点に対しても、α0’の値を一意に決定することが可能である。ただし、k個未満のペアでは確率的に無視できる事象を除き、α0’と同一の値が求まることはない。k個のペアであればどのようなペアであってもよいことから、無理にk個のペアを選び出す必要はない。
【００４５】
検証部４４は、署名検証する際、蓄積部４１に蓄積された入力情報から署名値Sを抽出し、保持する。署名検証対象の動画像データD1〜Dnを含むn個の入力情報は、同じ署名が付けられるため、署名はただ１つである。そのため、署名検証結果で２種類以上の署名値が存在する場合、検証部４４は、必ず署名検証失敗とする。
【００４６】
検証部４４は、署名検証対象のn個の入力情報の署名値Sが１つの場合、次の式５に適用し、署名値Sを検証アルゴリズムにかけ、得られた値が上記式４で算出されたα0’と一致するかを確認する。検証部４４は、一致する場合、署名検証成功とし、一致しない場合、署名検証失敗とする。
【００４７】
【数５】
2019012986.tif 000007
【００４８】
検証部４４は、署名検証失敗の場合、削除部４７に対して対象のデータの削除を依頼する。削除部４７は、蓄積部４１から対象のデータを削除するが、当該対象のデータは、他の記憶部等にエラーログとして別途管理用に残すことも可能である。
【００４９】
選択部４２は、蓄積部４１に蓄積されたk個以上の入力情報のうち前回選択したものの少なくとも１つを入れ換え、再度k個の入力情報を選択することができる。これを受けて、演算部４３は、選択部４２が選択したk個の入力情報に含まれるk個の動画像データDiとk個の計算値Wiとを用いて、上記式４から署名が施された値α0’を算出することができる。そして、検証部４４が、上記式５に適用し、署名値Sを検証アルゴリズムにかけ、得られた値が上記式４で算出されたα0’と一致するかを確認することができる。検証部４４は、一致する場合、署名検証成功とし、一致しない場合、署名検証失敗とする。これを、蓄積部４１に蓄積された同一の署名値Sを有する全ての入力情報が選択されるまで繰り返すことができる。
【００５０】
判定部４５は、選択部４２が少なくとも１回選択し、検証部４４が検証した検証結果に基づき、各入力情報に含まれる各動画像データの真正性の有無を判定する。検証部４４では、k個の動画像データを一塊として真正性の検証を行う。このため、蓄積部４１に蓄積された動画像データがk個で、そのk個の動画像データが真正性ありと判定された場合は、１回の選択で各動画像データについて真正性ありと判定することができる。一方、蓄積部４１に蓄積された動画像データがk個より多い場合や、蓄積された動画像データがk個であっても、動画像データが真正性なしと判定された場合は、選択部４２により組み合わせを変えて真正性の検証を行う。これにより、どの動画像データが、真正性があり、またはないかを判定することができる。
【００５１】
削除部４７は、判定部４５により真正性なしと判定された動画像データを含む入力情報を蓄積部４１から削除する。これにより、真正性が担保できたデータのみが装置内に残り、後工程として、蓄積部４１から他の機器へ配信され、データの表示やデータの保存等が行われる。
【００５２】
図５に示した検証装置１１により実行される処理の流れを、図６にまとめておく。ステップ６００から処理を開始し、ステップ６０５では、入力部４０がデータ入力を開始し、蓄積部４１に署名値Sと、動画像データと計算値のペアとを含む入力情報として蓄積する。ステップ６１０では、制御部４６が任意の署名値Sに対してk個以上の入力情報を確保したかどうかを判断する。確保した場合は、ステップ６１５へ進み、確保しない場合、制御部４６は、確保した入力情報に含まれる動画像データについては真正性なしとして、削除部４７に対してその入力情報の削除を指示し、ステップ６５５へ進む。
【００５３】
ステップ６１５では、任意の署名値Sに対してk個以上の入力情報が確保でき、蓄積部４１にk個以上の入力情報が蓄積されているので、選択部４２が、k個以上の入力情報の中からk個の入力情報を選択する。ステップ６２０では、演算部４３が、選択部４２が選択したk個の入力情報に含まれるk個の動画像データとｋ個の計算値とを取得し、それらを用いて、上記式４に適用して、α0’を算出する。
【００５４】
ステップ６２５では、検証部４４が、蓄積部４１に蓄積された入力情報から署名値Sを抽出し、上記式５に適用し、署名値Sを検証アルゴリズムにかけ、得られた値がα0’と一致するかを確認する。一致する場合、ステップ６３０へ進み、署名検証成功となり、一致しない場合、ステップ６３５へ進み、署名検証失敗となる。
【００５５】
ステップ６４０では、判定部４５が、検証結果に基づき、選択部４２により選択されたk個の入力情報に含まれるk個の動画像データの各々につき、真正性の有無を判定する。ステップ６４５では、蓄積部４１に蓄積されたk個以上の入力情報に含まれるk個以上の動画像データのうち、真正性の有無を判定していない動画像データが存在するかを確認する。まだ判定していない動画像データが存在する場合、ステップ６１５へ戻り、選択部４２が組み合わせを変えて再度選択し、検証を行う。
【００５６】
一方、判定していない動画像データが存在しない場合、ステップ６５０へ進み、真正性なしと判定された動画像データがあるかを確認する。ある場合、ステップ６５５へ進み、削除部４７は、制御部４６の指示または判定部４５からの判定結果を受けて、真正性なしと判定された動画像データを含む入力情報を、蓄積部４１から削除する。そして、ステップ６６０へ進む。一方、ステップ６５０で、真正性なしと判定された動画像データがない場合は、直接ステップ６６０へ進む。
【００５７】
ステップ６６０では、制御部４６が、他の署名値Sのデータ入力があるかを確認する。ある場合、ステップ６１０へ戻り、ない場合、ステップ６６５へ進み、処理を終了する。
【００５８】
図７を参照して、ストリーミング受信を行う場合の制御部４６が判断するデータ取得のタイミングについて説明する。理解を容易にするために、具体的な例をもって説明する。ここでは、n=5、k=3とし、動画像データをフレームとし、同一の署名値Sをもつフレームが５つで、そのうち３つ以上のフレームが獲得できれば、検証を行うことができるものとする。
【００５９】
制御部４６は、入力部４０によるデータ入力を管理し、入力部４０に対して指示し、フレームの入力を開始させる。図６に示す例では、署名値Aに対して２つのフレームを獲得することができたが、kが３以上という条件を満たしていない。したがって、制御部４６は、署名値Aをもつフレームの削除を削除部４７に対して指示し、削除部４７は、蓄積部４１に蓄積された署名値Aをもつフレームを削除する。蓄積部４１には、署名値A、フレームと計算値のペアを入力情報として蓄積しており、削除部４７は、署名値A、フレーム、計算値を削除する。
【００６０】
次に、署名値がBに切り替わり、署名値Bをもつフレームについては５つのフレームを獲得することができ、kが３以上の条件を満たす。このため、選択部４２に対して次の処理を実行するように指示する。ここでは、選択部４２が３つのフレームを選択し、演算部４３がα0’を算出し、検証部４４が署名値Bを検証アルゴリズムにかけ、得られた値と演算部４３が算出したα0’とを比較し、署名検証を行う。そして、選択部４２が選択するフレームを変えて同様の処理を繰り返し、得られた検証結果に基づき、判定部４５が５つのフレームのどのフレームが、真正性があり、またはないかを判定する。
【００６１】
このようにフレームの入力を開始し、獲得したフレームに付けられた署名値から署名検証を行ってもよいが、最初に獲得した署名値をもつフレームについては署名検証を行わず、次の署名値をもつフレームから署名検証を行うようにしてもよい。これは、最初はフレーム途中から入力の受け付けを開始することを前提とし、最初の署名値をもつフレームは捨ててしまうという方法である。したがって、図７に示す例の場合、署名値Aをもつフレームは読み飛ばし、署名値Bをもつフレームから入力を受け付け、署名検証を行うことができる。
【００６２】
図８〜図１１を参照して、判定部４５が行う判定処理について説明する。図８は、判定部４５が行う判定処理の第１の例を示した図である。この例でも、n=5、k=3とし、同一の署名値Sをもつフレームが５つで、そのうち３つ以上のフレームが獲得できれば、検証を行うことができるものとする。
【００６３】
図８に示す例では、署名値Aをもつ５つのフレームのうち１つ（もしくは２つ）のフレームに欠落があっても、３つのフレームを獲得することができれば、真正性の有無を判定する対象のデータとなる。署名値Aについては、選択部４２が先頭の３つのフレーム（A-1、A-2、A-3）を選択し、演算部４３が演算を行い、検証部４４がそれら３つのフレームから構成されるフレーム群についての真正性を検証する。
【００６４】
図８に示す例では、フレームA-4のみが改竄されたデータであるので、検証部４４は、フレームA-1、A-2、A-3のフレーム群に対しては署名検証成功という検証結果を出力する。判定部４５は、出力された検証結果を受けて、フレームA-1、A-2、A-3については、真正性ありと判定する。
【００６５】
次に、選択部４２は、例えばフレームA-3をフレームA-4に変更し、フレームA-1、A-2、A-4を選択する。演算部４３は、選択されたフレームA-1、A-2、A-4を用いて演算を行い、検証部４４がそれら３つのフレームから構成されるフレーム群について真正性を検証する。この場合、改竄されたデータであるフレームA-4を含むので、検証部４４は、署名検証失敗という検証結果を出力する。
【００６６】
判定部４５は、フレームA-1、A-2、A-3については真正性ありと判定し、検証部４４がフレームA-1、A-2、A-4のフレーム群に対して行った検証結果が署名検証失敗であるため、フレームA-4が改竄されたデータであり、フレームA-4を真正性なしと判定する。
【００６７】
そして、選択部４２は、例えばフレームA-4をフレームA-5に変更し、フレームA-1、A-2、A-5を選択する。演算部４３は、選択されたフレームA-1、A-2、A-5を用いて演算を行い、検証部４４がそれら３つのフレームから構成されるフレーム群について真正性を検証する。この場合、検証部４４は、署名検証成功という検証結果を出力する。判定部４５は、フレームA-1、A-2については真正性ありと判定し、検証部４４がフレームA-1、A-2、A-5のフレーム群に対して行った検証結果が署名検証成功であるため、フレームA-5も真正性を有するデータと判定する。
【００６８】
なお、判定部４５は、選択部４２がフレームを選択する毎ではなく、フレームを変更し、検証した全ての検証結果に基づき、一括してフレームA-1〜A-5についての真正性の有無を判定してもよい。
【００６９】
判定部４５は、削除部４７に対し、真正性なしと判定したフレームA-4を削除するように指示する。削除部４７は、判定部４５からの指示を受けて、指示されたフレームA-4を、蓄積部４１から削除する。
【００７０】
このようにして、改竄されたデータのみが蓄積部４１から削除され、改竄されていないデータは蓄積部４１に残るので、同一の署名値をもつ動画像データ全体の真正性を担保することができる。
【００７１】
図９は、判定部４５が行う判定処理の第２の例を示した図である。この例では、n≧2kで、例えばn=10、k=3とし、同一の署名値Sをもつフレームが１０で、そのうちの３つ以上のフレームが獲得できれば、検証を行うことができるものとする。
【００７２】
署名値Xをもつ１０のフレームについては、３つのフレームを一組のフレーム群としてグループ化し、３つのグループを作ることができる。例えば、フレームX-1、X-2、X-3から構成されるフレーム群をグループK-1とし、フレームX-4、X-5、X-6から構成されるフレーム群をグループK-2とし、フレームX-7、X-8、X-9から構成されるフレーム群をグループK-3とすることができる。
【００７３】
選択部４２は、グループK-1、K-2、K-3のうちの１つを構成する３つのフレームを選択する。ここでは、選択部４２は、グループK-1を構成するフレームX-1、X-2、X-3を選択する。演算部４３は、選択されたフレームX-1、X-2、X-3を用いて演算を行い、検証部４４がそれら３つのフレームから構成されるグループK-1について真正性を検証する。この場合、改竄されたデータであるフレームX-9は含まないので、検証部４４は、署名検証成功という検証結果を出力する。判定部４５は、検証部４４からの署名検証成功という検証結果を受けて、グループK-1を構成するフレームX-1、X-2、X-3について真正性ありと判定する。
【００７４】
同様にして、選択部４２は、グループK-2を構成する３つのフレームX-4、X-5、X-6を選択し、演算部４３が演算を行い、検証部４４がグループK-2について真正性を検証する。この場合も、検証部４４は、署名検証成功という検証結果を出力する。判定部４５は、検証部４４からの署名検証成功という検証結果を受けて、グループK-2を構成するフレームX-4、X-5、X-6について真正性ありと判定する。
【００７５】
同様にして、選択部４２は、グループK-3を構成する３つのフレームX-7、X-8、X-9を選択し、演算部４３が演算を行い、検証部４４がグループK-3について真正性を検証する。この場合、検証部４４は、改竄されたデータであるフレームX-9を含むため、署名検証失敗という検証結果を出力する。
【００７６】
選択部４２は、失敗した部分のグループK-3について詳しく検証するため、例えば署名検証が成功したグループK-1を構成するフレームの一部と、失敗したグループK-3を構成するフレームの１つとを選択する。具体的には、選択部４２は、例えばグループK-1からフレームX-1、X-2を選択し、グループK-3からフレームX-7を選択する。フレームX-7についての真正性の有無を判定するためである。なお、グループK-1から選択するフレームは、X-1、X-3であってもよいし、X-2、X-3であってもよい。また、グループK-2の中の２つのフレームであってもよい。
【００７７】
演算部４３は、選択部４２により選択されたフレームX-1、X-2、X-7を用いて演算を行い、検証部４４がこれら３つのフレームから構成されるフレーム群について真正性を検証する。図８に示す例では、いずれも改竄されていないデータであるため、検証部４４は、署名検証成功という検証結果を出力する。これを受けて、判定部４５は、フレームX-7について真正性ありと判定する。
【００７８】
次に、選択部４２は、グループK-1からフレームX-1、X-2を選択し、グループK-3からフレームX-8を選択する。フレームX-8について真正性の有無を判定するためである。この場合も同様に、グループK-1から選択するフレームは、X-1、X-3であってもよいし、X-2、X-3であってもよい。また、グループK-2の中の２つのフレームであってもよい。
【００７９】
演算部４３は、選択部４２により選択されたフレームX-1、X-2、X-8を用いて演算を行い、検証部４４がこれらの３つのフレームから構成されるフレーム群について真正性を検証する。図８に示す例では、いずれも改竄されていないデータであるため、検証部４４は、署名検証成功という検証結果を出力する。これを受けて、判定部４５は、フレームX-8について真正性ありと判定する。
【００８０】
判定部４５は、検証部４４が出力したグループK-3について署名検証失敗という検証結果と、グループK-3を構成するフレームX-7、X-8についての真正性を有するデータとの判定結果から、グループK-3を構成する残りのフレームX-9が、真正性なしと判定することができる。
【００８１】
なお、上記と同様に、選択部４２が、フレームX-1、X-2、X-9を選択し、検証部４４からの署名検証失敗という検証結果を受けて、判定部４５が、フレームX-1、X-2が真正性ありであるから、フレームX-9が真正性なしと判定してもよい。
【００８２】
グループに入らないフレームX-10については、署名検証が成功したグループK-1、K-2を構成するフレームの一部を用いて検証を行うことで、真正性の有無を判定することができる。具体的には、選択部４２が、例えばグループK-1を構成するX-1、X-2と、フレームX-10とを選択し、演算部４３が演算を行い、検証部４４がこれら３つのフレームから構成されるフレーム群について真正性を検証する。図８に示す例では、フレームX-10は改竄されていないデータであるため、検証部４４は、署名検証成功という検証結果を出力する。これを受けて、判定部４５は、フレームX-10について真正性ありと判定する。
【００８３】
判定部４５は、削除部４７に対し、真正性なしと判定したフレームX-9を削除するように指示する。削除部４７は、判定部４５からの指示を受けて、指示されたフレームX-9を、蓄積部４１から削除する。
【００８４】
グループ分けして、グループ毎に検証することで、選択部４２が選択し、演算部４３が演算を行い、検証部４４が検証を行う回数を減らし、真正性データの抽出効率を向上させることができる。
【００８５】
図１０は、判定部４５が行う判定処理の第３の例を示した図である。この例では、n＜2kで、例えばn=10、k=6とし、同一の署名値Sをもつフレームが１０で、そのうちの６つ以上のフレームが獲得できれば、検証を行うことができるものとする。
【００８６】
この例では、グループ分けしても、１つのグループしか作れないので、グループ分けはしない。選択部４２は、先頭から６フレーム目までの６つのフレームから構成されるフレーム群L-1を選択し、演算部４３が演算を行い、検証部４４がフレーム群L-1について真正性を検証する。
【００８７】
図９に示す例では、フレーム群L-1を構成するフレームのいずれも改竄されていないデータであるため、検証部４４は、署名検証成功という検証結果を出力する。これを受けて、判定部４５は、データ群L-1を構成するいずれのフレームも、真正性ありと判定する。
【００８８】
選択部４２は、先に検証を行った６つのフレームのうちの４つのフレームから構成されるフレーム群M-1’と、残りの４つのフレームから構成されるフレーム群M-1とを入れ換え、データ群M-1’に含まれない２つのフレームと、M-1を構成する４つのフレームとを選択する。演算部４３は、選択部４２により選択された６つのフレームを用いて演算を行い、検証部４４がこれら６つのフレームから構成されるフレーム群について真正性を検証する。
【００８９】
検証部４４が署名検証成功という検証結果を出力した場合、判定部４５は、データ群M-1を構成する４つのフレームも真正性ありと判定する。一方、検証部４４が署名検証失敗という検証結果を出力した場合は、データ群M-1を構成する４つのフレームをさらに２つに分け、先に検証を行った６つのフレームのうちの４つのフレームと、ここで分けた一方の２つのフレームとから構成されるフレーム群について真正性を検証する。
【００９０】
ここで署名検証が成功すれば、当該２つのフレームは真正性ありと判定される。同様にして、残りの２つのフレームについても真正性の検証を行うことができる。一方、真正性なしと判定された場合、当該２つのフレームのいずれか一方もしくは両方が、真正性がないため、先に検証を行い、署名検証が成功した６つのフレームのうちの５つのフレームと、当該２つのフレームのうちの１つとを用い、当該２つのフレームのそれぞれにつき真正性を検証する。
【００９１】
図１１は、判定部４５が行う判定処理の第４の例を示した図である。この例では、同じ署名値Xをもつフレーム群の中に改竄されたデータが散らばって存在している。この場合、フレーム群L-1について検証しても、署名検証失敗となり、フレーム群L-１の中のフレーム群M-1’と、残りのフレーム群M-1とを入れ換えて検証しても、署名検証失敗となる。このように改竄されたデータが散らばり、その数が多いと、選択部４２が選択する組み合わせが多くなり、検証に時間がかかる。検証には、制約事項等の制約条件として処理時間が設定されている場合がある。
【００９２】
そこで、処理時間内に検証が終了しないフレームについては、当該フレームを対象から外すことができる。したがって、当該フレームを蓄積部４１から削除することができる。なお、最悪のケースでは、署名値Xをもつフレームの全部を蓄積部４１から削除する。
【００９３】
これは、検証が終了しないのに改竄されたデータを含むフレーム群が蓄積され、それが提供されると、動画像データ全体の真正性を担保することができないからである。したがって、本システムでは、真正性の担保を第一に優先するべく、改竄されたデータが含まれる可能性があるフレームあるいはフレーム群については、真正性の有無を判定できない場合、削除する。
【００９４】
これまで本発明を、検証装置、情報処理システム、検証方法およびプログラムとして上述した実施の形態をもって説明してきた。しかしながら、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができるものである。例えば、犯行場面等、動画像中のうち数分や数秒のデータが証拠として抽出できればよい場合において、従来では、署名を付したことでかかる必要なデータのみを抽出することが困難になるという事態が考えられたところ、本発明によれば、かかる事態に対しても柔軟に対応することが可能となる。また、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、そのプログラムが記録された記録媒体、そのプログラムを提供するプログラム提供サーバ等も提供することができるものである。
【符号の説明】
【００９５】
１０…撮像装置
１１…検証装置
１２…ケーブル
２０…レンズ
２１…画像センサ
２２…センサコントローラ
３０…CPU
３１…ROM
３２…RAM
３３…HDD
３４…通信I/F
３５…バス
４０…入力部
４１…蓄積部
４２…選択部
４３…演算部
４４…検証部
４５…判定部
４６…制御部
４７…削除部
【先行技術文献】
【特許文献】
【００９６】
【特許文献１】特許第５１５１９８７号公報
【図１】
2019012986.tif 000008
【図２】
2019012986.tif 000009
【図３】
2019012986.tif 000010
【図４】
2019012986.tif 000011
【図５】
2019012986.tif 000012
【図６】
2019012986.tif 000013
【図７】
2019012986.tif 000014
【図８】
2019012986.tif 000015
【図９】
2019012986.tif 000016
【図１０】
2019012986.tif 000017
【図１１】
2019012986.tif 000018