(57)【特許請求の範囲】
【請求項１】
データを送信するデータ送信装置と、データを受信するデータ受信装置とを含むデータ送受信システムであって、
前記データ送信装置は、データを受け付けるデータ受付手段と、
受け付けられた前記データの送信先となるユーザを特定するための送信先情報を受け付ける送信先受付手段と、
受け付けられた前記データと前記送信先情報とを送信する送信手段と、を備え、
前記データ受信装置は、データと送信先情報とを受信する受信手段と、
受信された前記データを前記送信先情報と関連付けて記憶するデータ記憶手段と、
ユーザを認証するための認証手段と、
前記認証されたユーザを特定するための前記送信先情報と関連付けて記憶された前記データを出力する出力手段と、
前記データが出力されることに応じて、前記認証されたユーザの前記出力されたデータに対する電子署名データを取得する電子署名取得手段と、
取得された前記電子署名データを、前記データの送信元に返信する返信手段と、を備え、
前記データ送信装置は、さらに、前記電子署名データを受信する受信手段と、
受信された前記電子署名データに基づいて、送信された前記データが前記送信先情報で特定されるユーザにより出力されたか否かを検証する検証手段と、を備える、データ送受信システム。
【請求項２】
前記検証手段は、受信された前記電子署名データを前記送信先情報で特定されるユーザに割り当てられた公開鍵で復号したハッシュ値と、送信された前記データのハッシュ値とを比較する比較手段を含む、請求項１に記載のデータ送受信システム。
【請求項３】
前記データ送信装置は、前記電子署名データと、送信された前記データのハッシュ値と、前記送信先情報とを、コンピュータ読取可能な画像として形成する検証情報記録手段を、さらに備えた請求項１に記載のデータ送受信システム。
【請求項４】
データ送信装置からデータと送信先情報とを受信する受信手段と、
受信された前記データを前記送信先情報と関連付けて記憶するデータ記憶手段と、
ユーザを認証するための認証手段と、
前記認証されたユーザを特定するための前記送信先情報と関連付けて記憶された前記データを出力する出力手段と、
前記データが出力されることに応じて、前記認証されたユーザの前記出力されたデータに対する電子署名データを取得する電子署名取得手段と、
取得された前記電子署名データを、前記データの送信元である前記データ送信装置に返信する返信手段と、を備えたデータ受信装置。
【請求項５】
データ送信装置とデータ受信装置とで実行されるデータ送受信方法であって、
データ送信装置は、
データを受け付けるステップと、
受け付けられた前記データの送信先となるユーザを特定するための送信先情報を受け付けるステップと、
受け付けられた前記データと前記送信先情報とを送信するステップと、を実行し、
データ受信装置は、
データと送信先情報とを受信するステップと、
受信された前記データを前記送信先情報と関連付けて記憶するステップと、
ユーザを認証するステップと、
前記認証されたユーザを特定するための前記送信先情報と関連付けて記憶された前記データを出力するステップと、
前記データが出力されることに応じて、前記認証されたユーザの前記出力されたデータに対する電子署名データを取得するステップと、
取得された前記電子署名データを、前記データの送信元に返信するステップと、を実行し、
前記データ送信装置は、さらに、
前記電子署名データを受信するステップと、
受信された前記電子署名データに基づいて、送信された前記データが前記送信先情報で特定されるユーザにより出力されたか否かを検証するステップと、を実行するデータ送受信方法。
【請求項６】
データ送信装置からデータと送信先情報とを受信するステップと、
受信された前記データを前記送信先情報と関連付けてデータ受信装置のメモリに記憶するステップと、
ユーザを認証するステップと、
前記認証されたユーザを特定するための前記送信先情報と関連付けて前記メモリに記憶された前記データを出力するステップと、
前記データが出力されることに応じて、前記認証されたユーザの前記出力されたデータに対する電子署名データを取得するステップと、
取得された前記電子署名データを、前記データの送信元である前記データ送信装置に返信するステップと、を前記データ受信装置に実行させる、データ受信方法。
【請求項７】
データ送信装置からデータと送信先情報とを受信するステップと、
受信された前記データを前記送信先情報と関連付けてデータ受信装置のメモリに記憶するステップと、
ユーザを認証するステップと、
前記認証されたユーザを特定するための前記送信先情報と関連付けて前記メモリに記憶された前記データを出力するステップと、
前記データが出力されることに応じて、前記認証されたユーザの前記出力されたデータに対する電子署名データを取得するステップと、
取得された前記電子署名データを、前記データの送信元である前記データ送信装置に返信するステップと、を前記データ受信装置を制御するコンピュータに実行させる、データ受信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ送受信システム、データ受信装置、データ送受信方法、データ受信方法およびデータ受信プログラムに関し、特に送信したデータの受信を確認することが可能なデータ送受信システム、データ受信装置、データ送受信方法、データ受信方法およびデータ受信プログラムに関する。
【背景技術】
【０００２】
近年、複数のコンピュータが、ネットワークに接続して使用され、複数のコンピュータ間でデータが送受信される。データを送受信する際に、送信するデータのセキュリティを確保する必要がある。特開平１１−２５１９６号公報（特許文献１）には、データが改ざんされたか否かを判断できるように、データに電子署名を付す技術が知られている。特開平１１−２５１９６号公報に記載の技術では、送信するデータに電子署名を付して送信するので、データを送信する途中で改ざんされたか否かを判断することができる。
【０００３】
しかしながら、送信先のユーザが正しくデータを受け取ったことを確認することができない。送信先のユーザとは別のユーザが不正にデータを受信したとしても、送信元のユーザは、データが不正に受信されたことを知ることができないといった問題がある。
【特許文献１】特開平１１−２５１９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、送信したデータが改ざんされることなく送信先のユーザにより出力されたことを確認することが可能なデータ送受信システムを提供することである。
【０００７】
この発明の他の目的は、送信先のユーザによりデータが出力されたことを確認するための情報を送信することが可能なデータ受信装置を提供することである。
【０００８】
この発明のさらに他の目的は、送信したデータが改ざんされることなく送信先のユーザにより出力されたことを確認することが可能なデータ送受信方法およびデータ受信方法を提供することである。
【０００９】
この発明のさらに他の目的は、送信したデータが改ざんされることなく送信先のユーザにより出力されたことを確認することが可能なデータ受信プログラムを提供することである。
【課題を解決するための手段】
【００１０】
上述した目的を達成するためにこの発明のある局面によれば、データ送受信システムは、データを送信するデータ送信装置と、データを受信するデータ受信装置とを含むデータ送受信システムであって、データ送信装置は、データを受け付けるデータ受付手段と、受け付けられたデータの送信先となるユーザを特定するための送信先情報を受け付ける送信先受付手段と、受け付けられたデータと送信先情報とを送信する送信手段と、を備え、データ受信装置は、データと送信先情報とを受信する受信手段と、受信されたデータを送信先情報と関連付けて記憶するデータ記憶手段と、ユーザを認証するための認証手段と、認証されたユーザを特定するための送信先情報と関連付けて記憶されたデータを出力する出力手段と、データが出力されることに応じて、認証されたユーザの出力されたデータに対する電子署名データを取得する電子署名取得手段と、取得された電子署名データを、データの送信元に返信する返信手段と、を備え、データ送信装置は、さらに、電子署名データを受信する受信手段と、受信された電子署名データに基づいて、送信されたデータが送信先情報で特定されるユーザにより出力されたか否かを検証する検証手段と、を備える。
【００１１】
この局面に従えば、データ送信装置において、受け付けられたデータとそのデータの送信先となるユーザを特定するための送信先情報とが送信される。データ受信装置では、受信されたデータが送信先情報と関連付けて記憶され、ユーザが認証されると、認証されたユーザを特定するための送信先情報と関連付けて記憶されたデータが出力され、出力されたデータに対して認証されたユーザの電子署名データがデータの送信元に返信される。電子署名データを受信したデータ送信装置において、さらに、電子署名データに基づいて、送信されたデータが送信先情報で特定されるユーザにより出力されたか否かが検証される。このため、送信したデータが改ざんされることなく送信先のユーザにより出力されたことを確認することが可能なデータ送受信システムを提供することができる。
【００１２】
好ましくは、検証手段は、受信された電子署名データを送信先情報で特定されるユーザに割り当てられた公開鍵で復号したハッシュ値と、送信されたデータのハッシュ値とを比較する比較手段を含む。
【００１３】
この局面に従えば、出力されたデータのハッシュ値と、送信したデータノハッシュ値を比較するので、出力されたデータと送信したデータとが同一であることを容易に確認することができる。
【００１４】
好ましくは、データ送信装置は、電子署名データと、送信されたデータのハッシュ値と、送信先情報とを、コンピュータ読取可能な画像として形成する検証情報記録手段を、さらに備える。
【００１７】
この発明の他の局面によれば、データ受信装置は、データ送信装置からデータと送信先情報とを受信する受信手段と、受信されたデータを送信先情報と関連付けて記憶するデータ記憶手段と、ユーザを認証するための認証手段と、認証されたユーザを特定するための送信先情報と関連付けて記憶されたデータを出力する出力手段と、データが出力されることに応じて、認証されたユーザの出力されたデータに対する電子署名データを取得する電子署名取得手段と、取得された電子署名データを、データの送信元であるデータ送信装置に返信する返信手段と、備える。
【００１８】
この局面に従えば、データと送信先情報とが受信されると、データが送信先情報と関連付けて記憶される。そして、ユーザが認証されると、認証されたユーザを特定するための送信先情報と関連付けて記憶されたデータが出力され、データが出力されることに応じて、認証されたユーザのデータに対する電子署名データが取得され、データの送信元に返信される。このため、データの送信元において、送信したデータのハッシュ値と、電子署名データを復号したハッシュ値とを比較すれば、出力したデータと送信したデータとが一致することを確認することができる。その結果、送信先のユーザによりデータが出力されたことを確認するための情報を送信することが可能なデータ受信装置を提供することができる。
【００１９】
この発明のさらに他の局面によれば、データ送受信方法は、データ送信装置とデータ受信装置とで実行されるデータ送受信方法であって、データ送信装置は、データを受け付けるステップと、受け付けられたデータの送信先となるユーザを特定するための送信先情報を受け付けるステップと、受け付けられたデータと送信先情報とを送信するステップと、を実行し、データ受信装置は、データと送信先情報とを受信するステップと、受信されたデータを送信先情報と関連付けて記憶するステップと、ユーザを認証するステップと、認証されたユーザを特定するための送信先情報と関連付けて記憶されたデータを出力するステップと、データが出力されることに応じて、認証されたユーザの出力されたデータに対する電子署名データを取得するステップと、取得された電子署名データを、データの送信元に返信するステップと、を実行し、データ送信装置は、さらに、電子署名データを受信するステップと、受信された電子署名データに基づいて、送信されたデータが送信先情報で特定されるユーザにより出力されたか否かを検証するステップと、を実行する。
【００２０】
この局面に従えば、送信したデータが改ざんされることなく送信先のユーザにより出力されたことを確認することが可能なデータ送受信方法を提供することができる。
【００２１】
この発明のさらに他の局面によれば、データ受信方法は、データ送信装置からデータと送信先情報とを受信するステップと、受信されたデータを送信先情報と関連付けてデータ受信装置のメモリに記憶するステップと、ユーザを認証するステップと、認証されたユーザを特定するための送信先情報と関連付けてメモリに記憶されたデータを出力するステップと、データが出力されることに応じて、認証されたユーザの出力されたデータに対する電子署名データを取得するステップと、取得された電子署名データを、データの送信元であるデータ送信装置に返信するステップと、をデータ受信装置に実行させる。
この局面に従えば、送信したデータが改ざんされることなく送信先のユーザにより出力されたことを確認することが可能なデータ受信方法を提供することができる。
この発明のさらに他の局面によれば、データ受信プログラムは、データ送信装置からデータと送信先情報とを受信するステップと、受信されたデータを送信先情報と関連付けてデータ受信装置のメモリに記憶するステップと、ユーザを認証するステップと、認証されたユーザを特定するための送信先情報と関連付けてメモリに記憶されたデータを出力するステップと、データが出力されることに応じて、認証されたユーザの出力されたデータに対する電子署名データを取得するステップと、取得された電子署名データを、データの送信元であるデータ送信装置に返信するステップと、をデータ受信装置を制御するコンピュータに実行させる。
【００２２】
この局面に従えば、送信したデータが改ざんされることなく送信先のユーザにより出力されたことを確認することが可能なデータ受信プログラムを提供することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００２４】
図１は、本発明の実施の形態の１つにおけるデータ送受信システムの全体概要を示す図である。図１を参照して、データ処理システム１は、ネットワーク２にそれぞれ接続された複合機（以下、「ＭＦＰ」という）１００，１００Ａ，１００Ｂ，１００Ｃを含む。ＭＦＰ１００，１００Ａ，１００Ｂおよび１００Ｃは、スキャナ機能、プリンタ機能、コピー機能、データ送受信機能等の複数の機能を備える。データ送受信機能は、例えば、ファクシミリ送受信機能、電子メール送受信機能、ファイル転送機能などである。
【００２５】
ネットワーク２は、ローカルエリアネットワーク（ＬＡＮ）であり、接続形態は有線または無線を問わない。またネットワーク２は、ＬＡＮに限らず、ワイドエリアネットワーク（ＷＡＮ）、公衆交換電話網（ＰＳＴＮ）等であってもよい。
【００２６】
以下、説明のために特に言及しない限り、ＭＦＰ１００を、データを送信するデータ送信装置として説明し、ＭＦＰ１００Ａを、データを受信するデータ受信装置として説明する。
【００２７】
なお、本実施の形態においてはデータ送信装置としてＭＦＰ１００を例に説明し、データ受信装置の一例としてＭＦＰ１００Ａを例に説明するが、ＭＦＰ１００，１００Ａに代えて、たとえば、データを送受信する処理を実行可能な装置であれば、パーソナルコンピュータ、スキャナ、プリンタ、ファクシミリ等であってもよい。
【００２８】
図２は、ＭＦＰの回路構成の一例を示すブロック図である。ＭＦＰ１００、１００Ａ，１００Ｂ，１００Ｃの回路構成は同じである。従って、ここでは、ＭＦＰ１００を例に説明する。図２を参照して、ＭＦＰ１００は、メイン回路１０１を含み、メイン回路１０１は、ファクシミリ部５と、ＡＤＦ１０と、画像読取部２０と、画像形成部３０と、給紙部４０と、カードインターフェース（Ｉ／Ｆ）５０と、接続される。
【００２９】
メイン回路１０１は、中央演算装置（ＣＰＵ）１１１と、ＣＰＵ１１１の作業領域として使用されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１２と、ＣＰＵ１１１が実行するプログラム等を記憶するためのＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１３と、表示部１１４と、操作部１１５と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１６と、データ通信制御部１１７と、を含む。ＣＰＵ１１１は、表示部１１４、操作部１１５、ＨＤＤ１１６およびデータ通信制御部１１７とそれぞれ接続され、メイン回路１０１の全体を制御する。また、ＣＰＵ１１１は、ファクシミリ部５、ＡＤＦ１０、画像読取部２０、画像形成部３０、給紙部４０およびカードＩ／Ｆ５０と接続され、ＭＦＰ１００の全体を制御する。
【００３０】
表示部１１４は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等のディスプレイであり、ユーザに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１１５は、複数のキーを備え、キーに対応するユーザの操作による各種の指示、文字、数字などのデータの入力を受付ける。操作部１１５は、表示部１１４上に設けられたタッチパネルを含む。表示部１１４と操作部１１５とで、操作パネル９が構成される。
【００３１】
データ通信制御部１１７は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで通信するためのインターフェースであるＬＡＮ端子１１８と、シリアル通信するためのシリアルインターフェース端子１１９とを有する。データ通信制御部１１７は、ＣＰＵ１１１からの指示に従って、ＬＡＮ端子１１８またはシリアルインターフェース端子１１９に接続された外部の機器との間でデータを送受信する。
【００３２】
ＬＡＮ端子１１８に、ネットワーク２に接続するためのＬＡＮケーブルが接続される場合、データ通信制御部１１７は、ＬＡＮ端子１１８を介して他のコンピュータと通信することが可能である。
【００３３】
また、ＣＰＵ１１１は、データ通信制御部１１７を制御して、メモリカード１１９ＡからＣＰＵ１１１が実行するためのプログラムを読出し、読み出したプログラムをＲＡＭ１１２に記憶し、実行する。なお、ＣＰＵ１１１が実行するためのプログラムを記憶する記録媒体としては、メモリカード１１９Ａに限られず、フレキシブルディスク、カセットテープ、光ディスク（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）／ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  ＥＰＲＯＭ）などの半導体メモリ等の媒体でもよい。さらに、ＣＰＵ１１１がインターネットに接続されたコンピュータからプログラムをダウンロードしてＨＤＤ１１６に記憶する、または、インターネットに接続されたコンピュータがプログラムをＨＤＤ１１６に書込みするようにして、ＨＤＤ１１６に記憶されたプログラムをＲＡＭ１１２にロードしてＣＰＵ１１１で実行するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００３４】
ＡＤＦ１０は、原稿給紙トレイ１１上にセットされた複数枚の原稿を１枚ずつ自動的に画像読取部２０のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、画像読取部２０により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。画像読取部２０は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部３０に出力する。給紙部４０は、給紙トレイに収納された用紙を画像形成部３０に搬送する。
【００３５】
画像形成部３０は、周知の電子写真方式により画像を形成するものであって、画像読取部２０から入力される画像データにシェーディング補正などの各種のデータ処理を施し、データ処理後の画像データに基づいて、給紙部４０により搬送される用紙に画像を形成する。
【００３６】
ファクシミリ部５０は、ＰＳＴＮ７に接続され、ＰＳＴＮ７にファクシミリデータを送信する、またはＰＳＴＮ７からファクシミリデータを受信する。ファクシミリ部５０は、受信したファクシミリデータをＨＤＤ１１６に記憶する、または画像形成部３０でファクシミリデータを用紙にプリントする。また、ファクシミリ部５０は、ＨＤＤ１１６に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮ７に接続されたファクシミリ装置または他のＭＦＰに出力する。これにより、ＨＤＤ１１６に記憶されたデータをファクシミリ装置または他のＭＦＰに出力することができる。
【００３７】
カードＩ／Ｆ５０は、ＩＣカード５０Ａと無線通信する。ＩＣカード５０Ａは、ＭＦＰ１００を使用するユーザにより所有され、ユーザを識別するためのユーザ識別情報と、ユーザに割り当てられた秘密鍵とを記憶する。なお、ＩＣカード５０Ａにユーザ識別情報を記憶するのではなく、カード識別情報を記憶するようにしてもよい。さらに、ＩＣカード５０Ａは、電子署名機能を有し、データが入力されると、そのデータに対する電子署名データを生成し、電子署名データを出力する。電子署名データは、周知であるので、ここではその詳細な説明は繰り返さないが、データのハッシュ値を算出し、ハッシュ値を秘密鍵で暗号化したデータである。
【００３８】
カードＩ／Ｆ５０は、その通信可能範囲にＩＣカード５０Ａが位置するときに、ＩＣカード５０Ａと無線通信する。具体的には、ＭＦＰ１００は、カード置台を備え、そのカード置台にＩＣカード５０Ａが置かれると、カードＩ／Ｆ５０は、ＩＣカード５０Ａと無線通信する。従って、ＣＰＵ１１１は、カードＩ／Ｆ５０を介してＩＣカード５０Ａと通信することが可能である。
【００３９】
図３は、データ送信装置として機能するＭＦＰが備えるＣＰＵの機能の一例を示す機能ブロック図である。図３を参照して、データ送信装置として機能するＭＦＰ１００が備えるＣＰＵ１１１は、送信の対象となるデータを受け付けるためのデータ受付部５１と、データの送信先を受け付ける送信先受付部５３と、データを送信するためのデータ送信部５５と、送信の対象となるデータのハッシュ値を生成するためのハッシュ値生成部５７と、送信したデータの受信確認データを受信するための受信確認受信部５９と、受信確認データから電子署名データを抽出するための電子署名抽出部６１と、電子署名データを復号するための復号部６３と、受信されたデータを検証するための検証部６５と、を含む。
【００４０】
データ受付部５１は、データを受け付け、受け付けたデータをデータ送信部５５およびハッシュ値生成部５７に出力する。データ受付部５１は、ユーザが操作部１１５に原稿を読み取る原稿読取処理を実行するための操作を入力した場合、データ受付部５１は、画像読取部２０が原稿を読み取って出力する原稿画像を受け付ける。また、データ受付部５１は、ユーザが操作部１１５にＨＤＤ１１６に記憶されたデータを指定する操作を入力した場合、指定されたデータをＨＤＤ１１６から読み出し、読み出したデータを受け付ける。
【００４１】
送信先受付部５３は、データの送信先となるユーザを識別するためのユーザ識別情報と送信方法とを送信先情報として受け付ける。ユーザが操作部１１５に送信先のユーザと、送信方法とを指定する操作を入力すると、操作部１１５からユーザ識別情報と送信方法とを受け付ける。送信方法は、ファクシミリ送信、電子メール送信、ファイル転送のいずれかである。ファクシミリ送信は、ＰＳＴＮを介して送信する方法と、インターネットを介して送信するインターネットファクシミリ（以下「Ｉ−ＦＡＸ」という）を含む。なお、ＭＦＰ１００が、他の送信方法でデータを送信可能であれば、その送信方法が含まれる。送信先受付部５３は、ユーザ識別情報と送信方法とをデータ送信部５５に出力し、ユーザ識別情報をハッシュ値生成部５７に出力する。
【００４２】
データ送信部５５は、データ受付部５１から入力されるデータと、送信先受付部５３から入力されるユーザ識別情報とを、送信先受付部５３から入力されるユーザ識別情報および送信方法で定まる宛先に送信する。具体的には、フラッシュメモリ１１３に、ユーザ識別情報ごとに送信方法別の宛先を関連付けたアドレス帳を記憶しておく。アドレス帳は、送信方法がＰＳＴＮのファクシミリ送信に対して宛先にファクシミリ番号が設定され、送信方法がＩ−ＦＡＸ送信に対して宛先にＩ−ＦＡＸ送信用に割り当てられた電話番号が設定され、送信方法が電子メール送信ならば宛先に電子メールアドレスが設定され、送信方法がファイル転送ならば宛先にＵＲＬが設定される。データ送信部５５は、アドレス帳を参照し、送信先受付部５３から入力されるユーザ識別情報および送信方法に関連付けられている宛先を抽出する。そして、データ送信部５５は、データ受付部５１から入力されるデータと送信先受付部５３から入力されるユーザ識別情報とを、抽出した宛先に、送信先受付部５３から入力される送信方法で定まる通信プロトコルに従って送信する。通信プロトコルは、送信方法がＰＳＴＮのファクシミリ送信に対してＳＨＩＰ−ＦＡＸの通信プロトコルであり、送信方法がＩ−ＦＡＸ送信の場合はＴＣＰ／ＩＰであり、送信方法が電子メール送信の場合はＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）であり、送信方法がファイル転送ならばＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）である。
【００４３】
ハッシュ値生成部５７は、データ受付部５１から送信の対象となるデータが入力され、送信先受付部５３から送信先となるユーザのユーザ識別情報が入力される。ハッシュ値生成部５７は、データ受付部５１から入力されるデータからハッシュ値を計算する。そして計算して求めたハッシュ値と、データを識別するためのデータ識別情報と、送信先受付部５３から入力されるユーザ識別情報とを関連付けた送信情報を生成し、送信情報をフラッシュメモリ１１３に記憶する。ハッシュ値の計算方法は、周知なのでここでは説明を繰り返さない。これにより、フラッシュメモリ１１３に送信情報１１３Ａが記憶される。
【００４４】
図４は、送信情報のフォーマットの一例を示す図である。図４を参照して、送信情報は、ユーザ識別情報と、データ識別情報と、ハッシュ値との項目を含む。ユーザ識別情報の項目は、データの送信先のユーザを識別するためのユーザ識別情報が設定され、データ識別情報の項目は、送信の対象となるデータを識別するためのデータ識別情報が設定され、ハッシュ値の項目は、データから算出されたハッシュ値が設定される。
【００４５】
図３に戻って、受信確認受信部５９は、データを受信したことを示す受信確認データを受信する。データ送信部５５により送信されたデータは、後述するデータ受信装置としてのＭＦＰ１００Ａにより受信される。詳細については後述するが、データの送信先となっているユーザが、ＭＦＰ１００Ａにログインすると、ＭＦＰ１００Ａは、受信されたデータを出力するとともに、受信したことを示す受信確認データをＭＦＰ１００に送信する。この際、データ受信装置としてのＭＦＰ１００Ａは、受信したデータに基づいてログインしたユーザの電子署名データを生成し、ログインユーザのユーザ識別情報と、データのデータ識別情報と、生成した電子署名データとを含む受信確認データを送信する。電子署名データは、受信したデータから算出されるハッシュ値を、ログインユーザに割り当てられた秘密鍵で暗号化したデータである。受信確認受信部５９は、データ通信制御部１１７を制御して、ＭＦＰ１００Ａが送信する受信確認データを受信し、受信確認データを電子署名抽出部６１に出力する。なお、受信確認データに、データ識別情報を含めるのでなく、受信したデータに付されたコードを含めるようにしてもよい。要するに、データ送信装置としてのＭＦＰ１００が、受信した受信確認データから、送信したデータを特定することができる情報であればよい。
【００４６】
電子署名抽出部６１は、受信確認受信部５９から入力される受信確認データからユーザ識別情報と、データ識別情報と、電子署名データとを抽出する。ＳＨＩＰ−ＦＡＸの通信プロトコルで受信確認データを受信する場合、データのヘッダ部分にユーザ識別情報と、データ識別情報と、電子署名データとを含めるようにしてもよい。また、ユーザ識別情報と、データ識別情報と、電子署名データとを例えばバーコードの画像としてデータに合成するようにしてもよい。この場合、電子署名抽出部６１は、データからバージードの画像を抽出し、その画像を解析することによりユーザ識別情報と、データ識別情報と、電子署名データとを抽出する。電子署名抽出部６１は、抽出したユーザ識別情報と、データ識別情報と、電子署名データとを復号部６３に出力する。
【００４７】
復号部６３は、電子署名抽出部６１から入力される電子署名データを、電子署名抽出部６１から入力されるデータ識別情報のユーザに割り当てられた公開鍵で復号する。公開鍵は、ユーザ識別情報ごとに関連付けて予めフラッシュメモリ１１３に記憶されている。なお、ＰＫＩ（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）として知られる認証機関のコンピュータから公開鍵を取得するようにしてもよい。復号部６３は、電子署名データを復号して得られるハッシュ値と、データ識別情報とを検証部６５に出力する。
【００４８】
検証部６５は、フラッシュメモリ１１３に記憶されている送信情報１１３Ａのうちから電子署名抽出部６１から入力されるデータ識別情報を含む送信情報１１３Ａを抽出する。そして、送信情報１１３Ａに含まれるハッシュ値と、電子署名抽出部６１から抽出されるハッシュ値とを比較する。検証部６５は、双方が一致する場合には、送信したデータが出力されたことを、送信を指示したユーザに通知する。逆に、双方が一致しない場合、送信を指示したユーザに警告する。通知または警告は、例えば、表示部１１４への通知メッセージまたは警告メッセージの表示、データを送信したユーザに通知メッセージまたは警告メッセージを含む電子メールの送信等である。通知メッセージまたは警告メッセージは、データ識別情報および送信先のユーザのユーザ識別情報を含むのが好ましい。
【００４９】
送信したデータのハッシュ値と、受信したデータのハッシュ値が異なれば、送信したデータが途中で改ざんされている。このため、データが改ざんされたことを、データの送信を指示したユーザに通知することができる。また、受信確認データに含まれる電子署名データは、送信先のユーザにより署名されたデータなので、データが、宛先のユーザにより確かに受信されたことを確認することができる。
【００５０】
図５は、データ受信装置として機能するＭＦＰが備えるＣＰＵの機能の一例を示す機能ブロック図である。図５を参照して、データ受信装置としてのＭＦＰ１００Ａが備えるＣＰＵ１１１は、データを受信するためのデータ受信部７１と、受信されたデータを記憶するデータ記憶部７３と、ユーザを認証するためのユーザ認証部７５と、データを出力するためのデータ出力部７７と、ログインユーザによる電子署名データを取得するための電子署名取得部７９と、受信確認を送信するための受信確認送信部８１と、を含む。
【００５１】
データ受信部７１は、データ送信装置であるＭＦＰ１００からデータと、送信先のユーザを識別するためのユーザ識別情報とを受信する。データ受信部７１は、データ通信制御部１１７を制御してＭＦＰ１００からデータとユーザ識別情報とを受信し、データを送信してきたＭＦＰ１００の装置識別情報と、受信したデータおよびユーザ識別情報とを、データ記憶部７３に出力する。
【００５２】
なお、データ受信部７１は、装置識別情報を受信するようにしたが、受信したデータを返信するために宛先を特定することのできる情報であれば、装置識別情報でなくてもよい。例えば、電子メールを受信する場合には、そのヘッダに、送信先と送信元の電子メールアドレスが含まれているので、この場合、データ受信部７１は、送信先の電子メールアドレスを送信先のユーザを識別するためのユーザ識別情報として受信し、送信元の電子メールアドレスを送信元のユーザを特定するための送信元情報として受信する。データ受信部７１は、データの送信元のユーザを特定するための送信元情報を受信する場合には、装置識別情報に代えて、送信元情報をデータ記憶部７３に出力する。
【００５３】
データ記憶部７３は、データ受信部７１から入力されるデータをフラッシュメモリ１１３に記憶するとともに、そのデータを識別するためのデータ識別情報と、データ受信部７１からデータとともに入力されるユーザ識別情報と、装置識別情報と、を関連付けた管理データを生成し、管理データをフラッシュメモリ１１３に記憶する。これにより、フラッシュメモリ１１３にデータ１１３Ｂと、管理データ１１３Ｃとが記憶される。
【００５４】
図６は、管理データのフォーマットの一例を示す図である。図６を参照して、管理データ１１３Ｃは、ユーザ識別情報の項目と、データ識別情報の項目と、送信元識別情報の項目とを含む。ユーザ識別情報の項目は、データとともに受信されるユーザ識別情報が設定される。データ識別情報の項目は、受信されるデータを識別するためのデータ識別情報が設定される。ユーザ識別情報の項目に設定されるユーザ識別情報は、データ識別情報で識別されるデータの宛先となるユーザのユーザ識別情報が設定される。送信元識別情報の項目は、データの送信元を識別するための送信元情報、ここでは装置識別情報が設定される。
【００５５】
図５に戻って、ユーザ認証部７５は、ログインユーザを認証し、認証したユーザを識別するためのユーザ識別情報をデータ出力部７７および受信確認送信部８１に出力する。具体的には、ユーザ認証部７５は、ＭＦＰ１００Ａのユーザが、そのユーザが所有するＩＣカード５０Ａを、ＭＦＰ１００Ａが備えるカード置台に置くと、カードＩ／Ｆ５０を介して、ＩＣカード５０Ａと通信する。そして、ＩＣカード５０Ａからユーザ識別情報を受信すると、そのユーザ識別情報が予めＥＥＰＲＯＭ１１３に登録されていれば認証する。ここでは、ユーザ認証部７５が認証したユーザを、ログインユーザという。なお、ＩＣカード５０がカード識別情報を記憶する場合、ユーザ認証部７５は、予め記憶されたユーザ識別情報とカード識別情報とを関連付けた対応テーブルを参照して、ＩＣカード識別情報からユーザ識別情報を取得する。
【００５６】
データ出力部７７は、ユーザ認証部７５からユーザ識別情報が入力されると、フラッシュメモリ１１３に記憶された管理データ１１３Ｃを参照し、入力されるユーザ識別情報を含む管理データ１１３Ｃを抽出する。そして、抽出した管理データ１１３Ｃに含まれるデータ識別情報を取得する。複数の管理データ１１３Ｃが抽出された場合には、複数のデータ識別情報を取得する。
【００５７】
データ出力部７７は、取得されたデータ識別情報で識別されるデータをフラッシュメモリ１１３に記憶されたデータ１１３Ｂのうちから読出し、出力する。出力は、プリント、データ記憶、データ送信を含む。プリントする場合、データを画像形成部３０に出力し、画像形成部３０にデータの画像を用紙に形成させる。データを記憶する場合、データをＨＤＤ１１６の所定の領域に記憶する。データを送信する場合、データを指定された宛先に、指定された送信方法で送信する。データ出力部７７は、複数のデータ識別情報を取得する場合、複数のデータ識別情報でそれぞれ特定される複数のデータを出力する。データ出力部７７は、データを出力すると、そのデータとデータ識別情報とを電子署名取得部７９に出力する。
【００５８】
電子署名取得部７９は、データ出力部７７から入力されるデータに対する電子署名データを取得する。具体的には、データを、カードＩ／Ｆ５０を介してＩＣカード５０Ａに送信し、カードＩ／Ｆ５０がＩＣカード５０Ａから受信する電子署名データを受け付ける。そして、取得した電子書名データと、データ識別情報と、を受信確認送信部８１に出力する。
【００５９】
受信確認送信部８１は、電子署名取得部７９から入力される電子書名と、データ識別情報と、ユーザ識別情報とを含む受信確認データを、データ受信部７１で受信したデータの返信データとして送信する。ユーザ識別情報は、ログインユーザのユーザ識別情報である。受信確認データは、データ受信部７１で受信したデータに、例えばジョブＩＤなどの送信したデータを識別するための情報が含まれる場合には、その情報を含めるようにしてもよい。この場合、受信確認データは、少なくとも電子署名データを含んでいればよい。
【００６０】
上述したように、データ送信装置としてのＭＦＰ１００は、受信確認データを受信すると、送信したデータのハッシュ値と、電子署名データを復号したハッシュ値とを比較するので、送信したデータが送信先のユーザにより確かに出力されたか否かを、データを送信したユーザに通知することができる。
【００６１】
図７は、データ送信処理の流れの一例を示すフローチャートである。データ送信処理は、データ送信装置としてＭＦＰ１００が備えるＣＰＵ１１１が、データ送信プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。データ送信プログラムは、データ送受信プログラムの一部である。
【００６２】
図７を参照して、ＣＰＵ１１１は、送信する対象となるデータの指定を受け付けたか否かを判断する（ステップＳ０１）。データの指定を受け付けると処理をステップＳ０２に進め、データの指定を受け付けなければ処理をステップＳ０７に進める。画像読取部２０が原稿を読み取って出力する原稿画像を送信する場合、ユーザが操作部１１５に原稿を読み取る原稿読取処理を実行するための操作を受け付ける。ＨＤＤ１１６に記憶されたデータを送信する場合、ユーザが操作部１１５にＨＤＤ１１６に記憶されたデータのいずれかを指定する操作を受け付ける。
【００６３】
ステップＳ０２においては、送信先と送信方法とを受け付けたか否かを判断する。送信先と送信方法とを受け付けたならば処理をステップＳ０３に進め、そうでなければ処理をステップＳ０７に進める。ステップＳ０２においては、送信先として、データの送信先となるユーザを識別するためのユーザ識別情報を受け付け、送信方法として、ファクシミリ送信、電子メール送信、ファイル転送のいずれかを受け付ける。
【００６４】
ステップＳ０１とステップＳ０２とは、いずれを先に実行してもよい。すなわち、データの指定と、送信先および送信方法の指定とが受け付けられたならば処理をステップＳ０３に進めるようにすればよい。また、ユーザ識別情報ごとに送信方法別の宛先を関連付けたアドレス帳をフラッシュメモリ１１３に記憶しておくようにし、ユーザ識別情報と送信方法との組の一覧を表示部１１４に表示し、表示された一覧のうちからユーザ識別情報と送信方法との組の指定を受け付けるようにしてもよい。
【００６５】
ステップＳ０３においては、送信指示を受け付けたか否かを判断する。送信指示を受け付けたならば処理をステップＳ０４に進め、そうでなければ処理をステップＳ０７に進める。操作部１１５に予め設けられた送信ボタンが指示されたか否かを判断する。
【００６６】
ステップＳ０４においては、ステップＳ０１で受け付けられた指示で特定されるデータを、ステップＳ０２において受け付けられた送信方法で送信先に送信する。ここでは、データの送信先であるデータ受信装置としてのＭＦＰ１００Ａに送信され、ＭＦＰ１００Ａにより受信される。
【００６７】
ステップＳ０５においては、送信したデータのハッシュ値を生成する。そして、ハッシュ値をデータと関連付ける（ステップＳ０６）。具体的には、送信したデータをフラッシュメモリ１１３に記憶し、ステップＳ０２で受け付けた送信先のユーザ識別情報と、そのデータのデータ識別情報と、ハッシュ値とを含む送信情報を生成し、送信情報をフラッシュメモリ１１３に記憶する。
【００６８】
ステップＳ０７においては、受信確認データを受信したか否かを判断する。受信確認データは、ステップＳ０４において送信したデータが出力されたことを示すデータであり、ここでは、データの送信先であるデータ受信装置としてのＭＦＰ１００Ａにより送信される。受信確認データを受信したならば処理をステップＳ０８に進め、そうでなければ処理を終了する。すなわち、データ送信処理は、ステップＳ０２またはステップＳ０３においてデータの指定または送信先および送信方法が受け付けられた場合、または、ステップＳ０７において受信確認データが受信される場合に、実行される処理である。
【００６９】
ステップＳ０８においては、受信確認データからデータ識別情報、ユーザ識別情報および電子署名データを抽出する。ステップＳ０９においては、受信確認データから抽出されたデータ識別情報と関連付けられたハッシュ値をフラッシュメモリ１１３に記憶された送信情報１１３Ａから読み出す。
【００７０】
そして、送信先のユーザの公開鍵を取得する（ステップＳ１０）。送信先のユーザは、受信確認データに含まれるユーザ識別情報のユーザである。ユーザ識別情報と、公開鍵とを関連付けた鍵対応テーブルをフラッシュメモリ１１３に予め記憶しておき、その鍵対応テーブルを参照して、公開鍵を取得する。
【００７１】
そして、ステップＳ０８において抽出した電子署名データを公開鍵で復号する（ステップＳ１１）。電子署名データは、データ受信装置であるＭＦＰ１００Ａが受信したデータに基づき、ＩＣカード５０Ａによりデータから算出されたハッシュ値を秘密鍵で暗号化したデータである。したがって、電子署名データを公開鍵で復号すれば、受信したデータから算出したハッシュ値が得られる。
【００７２】
そして、読み出したハッシュ値と、電子署名データを復号したハッシュ値とを比較する（ステップＳ１２）。２つのハッシュ値が一致すれば処理をステップＳ１４に進め（ステップＳ１３でＹＥＳ）、一致しなければ処理をステップＳ１５に進める（ステップＳ１３でＮＯ）。受信確認データに含まれるデータ識別情報と関連付けられたハッシュ値は、送信したデータから算出されたハッシュ値であり、電子署名データを復号したハッシュ値は、データ受信装置であるＭＦＰ１００Ａで受信され、出力されたデータのハッシュ値である。従って、両者が一致していれば送信したデータとＭＦＰ１００Ａで出力されたデータとが一致するが、両者が一致しなければデータを送信してから出力されるまでの間に、データが改ざんされている。
【００７３】
従って、ステップＳ１４においては、正常に送信先のユーザによりデータが出力されたことを通知する。例えば、正常に送信先のユーザによりデータが出力されたことを示すメッセージを含み、データの送信を指示したユーザ宛の電子メールを生成し、送信する。一方、ステップＳ１５においては、正常に送信先のユーザによりデータが出力されなかったことを警告する。例えば、正常に送信先のユーザによりデータが出力されなかったことを示すエラーメッセージを含み、データの送信を指示したユーザ宛の電子メールを生成し、送信する。
【００７４】
図８は、データ受信処理の流れの一例を示すフローチャートである。データ受信処理は、データ受信装置としてＭＦＰ１００Ａが備えるＣＰＵ１１１が、データ受信プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。データ受信プログラムは、データ送受信プログラムの一部である。
【００７５】
図８を参照して、ＣＰＵ１１１は、データを受信したか否かを判断する。データを受信したならば処理をステップＳ２２に進め、そうでなければ処理をステップＳ２５に進める。ステップＳ２５においては、ユーザのログイン指示を受け付けたか否かを判断する。ログイン指示を受け付けたならば処理をステップＳ２６に進め、そうでなければ処理を終了する。すなわち、データ受信処理は、データを受信することを条件に、または、ログイン指示を受け付けることを条件に、実行される処理である。
【００７６】
ステップＳ２２においては、ステップＳ２１において受信されたデータをフラッシュメモリ１１３に記憶する。そして、管理データを生成する（ステップＳ２３）。ステップＳ２１において受信されたデータを識別するためのデータ識別情報と、データとともに受信されるユーザ識別情報と、装置識別情報と、を関連付けた管理データを生成する。そして、生成した管理データをフラッシュメモリ１１３に記憶する（ステップＳ２４）。
【００７７】
ステップＳ２５においては、ログイン指示を受け付けたか否かを判断する。カードＩ／Ｆ５０がＩＣカード５０Ａと通信し、ＩＣカード５０Ａからユーザ識別情報を受信すると、ログイン指示を受け付ける。そして、ユーザ認証する（ステップＳ２６）。ステップＳ０１において、ＩＣカード５０Ａから受信されたユーザ識別情報が、予め登録されているか否かを判断する。受信されたユーザ識別情報が予め登録されていれば認証し、登録されていなければ認証しない。ユーザを認証するならば処理をステップＳ２７に進め、認証しなければ処理をステップＳ３２に進める。
【００７８】
ステップＳ２７においては、ログインユーザ宛のデータを抽出する。フラッシュメモリ１１３に記憶されているデータ１１３Ｂのうちからログインユーザ宛に送信されたデータを抽出する。より具体的には、フラッシュメモリ１１３に記憶されている管理データ１１３Ｃを参照して、ステップＳ２６において受信されたユーザ識別情報を含む管理データ１１３Ｃを抽出する。そして、抽出した管理データ１１３Ｃに含まれるデータ識別情報で識別されるデータを、フラッシュメモリ１１３から読み出す。
【００７９】
ステップＳ２８においては、読み出したデータを出力する。出力方法は、ログインユーザに対して予め定められた方法で出力する。出力方法にプリントが設定されていれば、データを画像形成部３０に出力し、画像形成部３０にデータの画像を用紙に形成させる。出力方法にデータを記憶する処理が設定されていれば、データをＨＤＤ１１６の所定の領域に記憶する。出力方法にデータを送信する処理が設定されていれば、データを指定された宛先に、指定された送信方法で送信する。
【００８０】
次のステップＳ２９においては、カードＩ／Ｆ５０を介して、ＩＣカード５０ＡにステップＳ２７において読み出したデータを送信する。そして、ＩＣカード５０Ａから電子署名データを受信する（ステップＳ３０）。次のステップＳ３１においては、電子署名データを含む受信確認データを、データを送信してきたデータ送信装置であるＭＦＰ１００に返信する。ステップＳ２７において抽出した管理データ１１３Ｃの送信元情報の項目に設定されている装置識別情報からデータを送信してきたデータ送信装置を特定する。
【００８１】
一方、ステップＳ３２においては、エラー処理を実行する。エラー処理は、例えば、ログインを許可しないメッセージを表示部１１４に表示する。
【００８２】
＜変形例＞
変形例におけるデータ送信装置としてのＭＦＰ１００は、受信確認データを受信すると、外部で受信確認データを検証するようにしたものである。以下、第１の実施の形態におけるデータ送受信システムと異なる点を主に説明する。
【００８３】
図９は、変形例におけるデータ送信装置として機能するＭＦＰが備えるＣＰＵの機能の概要を示す機能ブロック図である。図９を参照して、図４と異なる点は、復号部６３および検証部６５に代えて、検証情報記録部９１を備える点である。その他の構成は同じなので、ここでは説明を繰り返さない。
【００８４】
検証情報記録部９１は、電子署名抽出部６１からユーザ識別情報と、データ識別情報と、電子署名データとが入力される。検証情報記録部９１は、フラッシュメモリ１１３に記憶されている送信情報１１３Ａのうちから電子署名抽出部６１から入力されるデータ識別情報を含む送信情報１１３Ａを抽出する。そして、抽出された送信情報１１３Ａに含まれるハッシュ値を取得するとともに、その送信情報１１３Ａに含まれるデータ識別情報で特定されるデータをフラッシュメモリ１１３から読み出す。さらに、検証情報記録部９１は、ユーザ識別情報、送信情報１１３Ａから抽出したハッシュ値、および電子署名抽出部６１から入力される電子署名データそれぞれをバーコードの画像に変換する。バーコードは、例えばＱＲ（Ｑｕｉｃｋ  Ｒｅｓｐｏｎｓｅ）コードを用いる。そして、フラッシュメモリ１１３から読み出したデータの画像に、バーコードの画像を合成し、合成画像を生成する。この合成画像を画像形成部３０に出力し、画像形成部３０に合成画像を用紙に形成させる。以下、合成画像が形成された用紙を、受信確認シートという。この際、データに対する受信確認であることを明示するための情報を表す文字の画像を合成画像に合成するようにしてもよい。データに対する受信確認であることを明示するための情報は、例えば、データ識別情報、送信元のユーザのユーザ識別情報、送信先のユーザのユーザ識別情報、送信日時、出力日時等を含む。
【００８５】
このように、受信確認シートには、受信確認データに含まれる電子署名データと、送信データのハッシュ値と、ユーザ識別情報とがバーコードの画像として形成される。変形例においては、受信確認シートに形成されたバーコードを、バーコードリーダを備えた携帯電話、パーソナルコンピュータ（ＰＣ）等で読み取り、検証する。ここでは、検証装置としてＰＣを用い、ＰＣで受信確認を検証する場合を例に説明する。
【００８６】
図１０は、ＰＣのハードウェア構成の一例を示すブロック図である。図１０を参照して、ＰＣ２００は、それぞれがバス２２０に接続されたＣＰＵ２０１と、ＣＰＵ２０１が実行するプログラム等を記憶するためのＲＯＭ２０３と、ＣＰＵ２０１の作業領域として用いられるＲＡＭ２０５と、ＨＤＤ２０７と、ＰＣ２００をネットワーク２に接続するための通信Ｉ／Ｆ２１１と、ユーザとのインターフェースとなる操作部２１３と、フラッシュメモリ２０８が装着されるカードＩ／Ｆ２０９と、バーコードリーダ２１９とを含む。
【００８７】
操作部２１３は、キーボードとマウスなどのポインティングデバイスとを含む入力部２１５と、データを表示する液晶表示装置等からなる表示部２１７とを含む。
【００８８】
なお、ここではＣＰＵ２０１がＲＯＭ２０３に記憶された検証プログラムを実行する例を説明するが、フラッシュメモリ２０８に記憶された検証プログラムをＲＡＭ２０５にロードし、実行するようにしてもよい。また、検証プログラムを記憶する記録媒体としては、フラッシュメモリ２０８に限られず、上述した他の記録媒体でもよい。さらに、ＣＰＵ２０１がインターネット２に接続されたコンピュータから検証プログラムをダウンロードしてＨＤＤ２０６に記憶するようにして、ＨＤＤ２０６に記憶された検証プログラムをＲＡＭ２１２にロードしてＣＰＵ２０１で実行するようにしてもよい。
【００８９】
図１１は、変形例におけるデータ送信処理の流れの一例を示すフローチャートである。このデータ送信処理は、データ送信装置としてＭＦＰ１００が備えるＣＰＵ１１１が、データ送信プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。データ送信プログラムは、データ送受信プログラムの一部である。
【００９０】
図１１を参照して、図７に示したデータ送信処理と異なる点は、ステップＳ１０〜ステップＳ１５に代えて、ステップＳ５１〜ステップＳ５４の処理が実行される点である。以下、図７に示したデータ送信処理と異なる点を説明する。
【００９１】
ステップＳ５１においては、ステップＳ０８において、受信確認データから抽出された電子署名データおよびユーザ識別情報と、ステップＳ０９で読み出されたハッシュ値とをバーコードに変換する。これにより、電子署名データと、ユーザ識別情報と、ハッシュ値とのバーコードの画像が形成される。
【００９２】
そして、受信確認データに含まれるデータの画像にバーコードの画像を合成し、合成画像を生成する（ステップＳ５２）。そして、合成画像を画像形成部３０に出力し、画像形成部３０に合成画像を用紙に形成させる（ステップＳ５３）。これにより、ＭＦＰ１００から受信確認シートが出力される。
【００９３】
図１２は、検証処理の流れの一例を示すフローチャートである。検証処理は、ＰＣ２００が備えるＣＰＵ２０１が、検証プログラムを実行することにより、ＣＰＵ２０１により実行される処理である。検証プログラムは、データ送受信プログラムの一部である。
【００９４】
図１２を参照して、ＣＰＵ２０１は、受信確認シートに形成されたバーコードを読み取る（ステップＳ６１）。バーコードリーダ２１９が、受信確認シートに形成されているバーコードを読み取ることにより、電子署名データと、ユーザ識別情報と、ハッシュ値とを取得する。
【００９５】
そして、ユーザ識別情報のユーザに割り当てられている公開鍵を取得する（ステップＳ６２）。ユーザ識別情報と、公開鍵とを関連付けた鍵対応テーブルをフラッシュメモリ２０８に予め記憶しておき、その鍵対応テーブルを参照して、ステップＳ６１で取得したユーザ識別情報に関連付けられた公開鍵を取得する。なお、鍵対応テーブルは、アドレス帳であってもよい。また、ＰＫＩの認証局のコンピュータから公開鍵を取得するようにしてもよい。
【００９６】
そして、ステップＳ６１において取得した電子署名データを公開鍵で復号する（ステップＳ６３）。電子署名データは、データ受信装置であるＭＦＰ１００Ａが出力したデータに基づき、ＩＣカード５０Ａにより算出されたハッシュ値を秘密鍵で暗号化したデータである。したがって、電子署名データを公開鍵で復号すれば、ＭＦＰ１００Ａにより出力されたデータから算出されたハッシュ値が得られる。
【００９７】
そして、ステップＳ６１においてバーコードで読み出したハッシュ値と、ステップＳ６３において電子署名データを復号したハッシュ値とを比較する（ステップＳ６４）。２つのハッシュ値が一致すれば処理をステップＳ６６に進め（ステップＳ６５でＹＥＳ）、一致しなければ処理をステップＳ６７に進める（ステップＳ６６でＮＯ）。ステップＳ６１においてバーコードを読とって得られたハッシュ値は、送信したデータから算出されたハッシュ値であり、電子署名データを復号したハッシュ値は、データ受信装置であるＭＦＰ１００Ａで受信され、出力されたデータのハッシュ値である。従って、両者が一致していれば、送信したデータとＭＦＰ１００Ａで受信され、出力されたデータとが一致するが、両者が一致しなければ、データを送信してから出力されるまでの間に、データが改ざんされている。
【００９８】
従って、ステップＳ６６においては、正常に送信先のユーザによりデータが出力されたことを通知する。例えば、正常に送信先のユーザによりデータが出力されたことを示すメッセージを表示部２１７に表示する。一方、ステップＳ６７においては、正常に送信先のユーザによりデータが出力されなかったことを警告する。例えば、正常に送信先のユーザによりデータが出力されなかったことを示すエラーメッセージを表示部２１７に表示する。
【００９９】
以上説明したように、本実施に形態におけるデータ送受信システム１においては、データ送信装置として機能するＭＦＰ１００は、送信の対象となるデータとそのデータの送信先となるユーザを特定するためのユーザ識別情報とを送信し、それらがデータ受信装置としてのＭＦＰ１００Ｂで受信される。データ受信装置としてのＭＦＰ１００Ａは、受信されたデータをユーザ識別情報と関連付けて記憶し、ＭＦＰ１００ＡにユーザがＩＣカード５０Ａを読み取らせると、ユーザを認証する。そして、ＭＦＰ１００Ａは、認証されたユーザのユーザ識別情報と関連付けて記憶されたデータを出力するとともに、出力したデータに対して認証されたユーザの電子署名データをＭＦＰ１００に返信する。電子署名データを受信したＭＦＰ１００は、電子署名データを復号したハッシュ値と、先に送信したデータのハッシュ値とを比較することにより、送信したデータが送信先として指定したユーザにより出力されたか否かを検証する。このため、送信したデータが改ざんされることなく送信先のユーザにより出力されたことを確認することができる。
【０１００】
なお、本実施の形態においては、データ送受信システム１について説明したが、図７、図８、図１１および図１２に示した処理を実行するデータ送受信方法または、データ送受信方法をコンピュータに実行させるためのデータ送受信プログラムとして発明を捉えることができるのは言うまでもない。
【０１０１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１０２】
【図１】本発明の実施の形態の１つにおけるデータ送受信システムの全体概要を示す図である。
【図２】ＭＦＰの回路構成の一例を示すブロック図である。
【図３】データ送信装置として機能するＭＦＰが備えるＣＰＵの機能の一例を示す機能ブロック図である。
【図４】送信情報のフォーマットの一例を示す図である。
【図５】データ受信装置として機能するＭＦＰが備えるＣＰＵの機能の一例を示す機能ブロック図である。
【図６】管理データのフォーマットの一例を示す図である。
【図７】データ送信処理の流れの一例を示すフローチャートである。
【図８】データ受信処理の流れの一例を示すフローチャートである。
【図９】変形例におけるデータ送信装置として機能するＭＦＰが備えるＣＰＵの機能の概要を示す機能ブロック図である。
【図１０】ＰＣのハードウェア構成の一例を示すブロック図である。
【図１１】変形例におけるデータ送信処理の流れの一例を示すフローチャートである。
【図１２】検証処理の流れの一例を示すフローチャートである。
【符号の説明】
【０１０３】
１  データ処理システム、５  ファクシミリ部、１０  ＡＤＦ、２０  画像読取部、３０  画像形成部、４０  給紙部、５０  ファクシミリ部、５０Ａ  ＩＣカード、６０  カードＩ／Ｆ、５１  データ受付部、５３  送信先受付部、５５  データ送信部、５７  ハッシュ値生成部、５９  受信確認受信部、６１  電子署名抽出部、６３  復号部、６５  検証部、７１  データ受信部、７３  データ記憶部、７５  ユーザ認証部、７７  データ出力部、７９  電子署名取得部、８１  検証情報記録部、９１  受信確認送信部、１００、１００Ａ，１００Ｂ，１００Ｃ  ＭＦＰ、１０１  メイン回路、１１１  ＣＰＵ、１１２  ＲＯＭ、１１３  フラッシュメモリ、１１４  表示部、１１５  操作部、１１６  ＨＤＤ、１１７  データ通信制御部、１１９Ａ  メモリカード、２００  ＰＣ、２０１  ＣＰＵ、２１９  バーコードリーダ。
【図１】
0005145814.tif 000002
【図２】
0005145814.tif 000003
【図３】
0005145814.tif 000004
【図４】
0005145814.tif 000005
【図５】
0005145814.tif 000006
【図６】
0005145814.tif 000007
【図７】
0005145814.tif 000008
【図８】
0005145814.tif 000009
【図９】
0005145814.tif 000010
【図１０】
0005145814.tif 000011
【図１１】
0005145814.tif 000012
【図１２】
0005145814.tif 000013