(57)【特許請求の範囲】
【請求項１】
個人情報を管理し、上記個人情報の登録者である個人情報登録者の要請によって個人情報の参照者である個人情報参照者にオンラインで上記個人情報登録者に関する個人情報を出力する個人情報管理装置であって、
前記個人情報管理装置は、ネットワークに接続されたコンピュータとして構成されており、前記ネットワークには、前記個人情報登録者と、前記個人情報参照者が、それぞれ前記個人情報管理装置にアクセスするための端末装置が接続されており、
前記個人情報管理装置は、主記憶装置に問合せコード発行プログラムと、個人情報出力プログラムとを有し、二次記憶装置には、前記個人情報登録者に関する個人情報を格納するテーブルである個人情報管理テーブルと、発行済みの問合せコードに関する情報を格納する問合せコード管理テーブルとを有し、
前記問合せコード発行プログラムは、前記個人情報登録者に関する個人情報を取得しようとする個人情報参照者に入力させる識別情報である問合せコードを、前記個人情報登録者の指示により生成して出力するプログラムであり、
前記問合せコード発行プログラムは、前記問合せコード登録者が前記端末装置から送信する要求によって起動し、前記個人情報登録者に、本人認証のための認証情報を入力させ、入力された前記認証情報を、前記個人情報管理テーブルに格納された認証情報と照合することにより本人認証を行う登録者認証機能と、
乱数により問合せコードを生成し、発生した前記問合せコードを、前記個人情報登録者の識別情報とする問合せコード生成機能と、
生成された問合せコードを出力する問合せコード出力機能を前記個人情報管理装置に実行させ、
前記個人情報出力プログラムは、前記個人情報参照者に前記問合せコードを入力させ、入力した問合せコードが正規である場合に前記個人情報登録者に関する個人情報を出力するプログラムであり、
前記個人情報出力プログラムは、前記個人情報参照者が前記端末装置から送信する要求によって起動し、前記個人情報参照者に、前記問合せコードを入力させる問合せコード入力機能と、入力された問合せコードを前記問合せコード管理テーブルと照合することにより正規の問合せコードであるか否かを判定する問合せコード検定機能と、正規である場合には前記問合せコードに対応する前記個人情報管理テーブルに格納された個人情報を出力する個人情報出力機能を前記個人情報管理装置に実行させることを特徴とした個人情報管理装置。
【請求項２】
請求項１記載の個人情報管理装置において、
前記問い合せコード検定機能は、問い合せコードが有効であると判断した場合に、前記問い合せコード管理テーブルから、前記問合せコードに関する情報を削除することを特徴とする個人情報管理装置。
【請求項３】
請求項１記載の個人情報管理装置において、
前記問い合せコード生成機能は、前記問い合せコード管理テーブルに、該問い合せコードの有効期限を記録し、
前記問い合せコード検定機能は、入力された問合せコードに対応して記録された有効期限と処理の実行日時を比較し、処理の実行日時が有効期限内である場合に、問い合せコードが有効であると判定することを特徴とする個人情報管理装置。
【請求項４】
請求項１記載の個人情報管理装置において、
前記問い合せコード生成機能は、前記個人情報登録者が自身に関する個人情報の参照者として指定する個人情報参照者を、前記問い合せコードと対応づけて記録する参照者指定情報を記録し、
前記問い合せコード検定機能は、個人情報を取得せんとする個人情報参照者の本人認証を行う参照者認証機能と、
前記参照者指定情報に記録されている個人情報参照者が、該個人情報を取得せんとする個人情報参照者との一致比較を行う参照者照合機能を有し、
前記問い合せコード検定機能は、前記参照者認証機能による本人認証と前記参照者照合機能による一致比較が共に成功した場合に、入力された問い合せコードが正しいと判定することを特徴とする個人情報管理装置。
【請求項５】
個人情報を管理し、上記個人情報の登録者である個人情報登録者の要請によって個人情報の参照者である個人情報参照者にオンラインで上記個人情報登録者に関する個人情報を出力する個人情報管理装置であって、
前記個人情報管理装置は、ネットワークに接続されたコンピュータとして構成されており、前記ネットワークには、前記個人情報登録者と、前記個人情報参照者が、それぞれ前記個人情報管理装置にアクセスするための端末装置が接続されており、
前記個人情報管理装置は、主記憶装置に問合せコード発行プログラムと、個人情報出力プログラムとを有し、二次記憶装置には、前記個人情報登録者に関する個人情報を格納するテーブルである個人情報管理テーブルと、
前記問合せコード発行プログラムは、前記個人情報登録者に関する個人情報を取得しようとする個人情報参照者に入力させる識別情報である問合せコードを、前記個人情報登録者の指示により生成して出力するプログラムであり、
前記問合せコード発行プログラムは、前記問合せコード登録者が前記端末装置から送信する要求によって起動し、前記個人情報登録者に、問い合せコード平文データ入力させ、
入力された問い合せコード平文データに対して、個人情報参照者には公開されていない関数である問い合せコード生成関数を適用することによって問い合せコードを生成し、発生した前記問合せコードを、前記個人情報登録者の識別情報とする問合せコード生成機能と、
生成された問合せコードを出力する問合せコード出力機能を前記個人情報管理装置に実行させ、
前記個人情報出力プログラムは、前記個人情報参照者に前記問合せコードを入力させ、入力した問合せコードが正規である場合に前記個人情報登録者に関する個人情報を出力するプログラムであり、
前記個人情報出力プログラムは、前記個人情報参照者が前記端末装置から送信する要求によって起動し、前記個人情報参照者に、
上記問い合せコード平文データと前記問い合せコードの双方を入力させる問合せコード入力機能と、前記問い合せコード生成関数を前記問い合せコード平文データに適用することにより問い合せコードを再計算し、
再計算された問い合せコードと、前記個人情報参照者に入力させた問い合せコードとを比較し、両者が一致した場合に前記入力された問い合せコードが有効であると判定する
問合せコード検定機能と、正規である場合には前記問合せコードに対応する前記個人情報管理テーブルに格納された個人情報を出力する個人情報出力機能を前記個人情報管理装置に実行させることを特徴とした個人情報管理装置。
【請求項６】
請求項５記載の個人情報管理装置において、
前記問い合せコード生成関数は、複数の異なる関数式が用意されており、前記個人情報登録者に応じて使用する関数式を選択することを特徴とする個人情報管理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、個人情報を電子的に記憶・管理する装置に係わり、特に、個人情報の登録者が、自身に関する個人情報を参照してよいと許可した特定の第三者に対してのみかかる個人情報をオンラインで提供することが可能な処理方法および装置に関する。さらに好ましくは、住民票や印鑑証明書などの法的な証明能力のある各種の個人情報を、個人情報の登録者がが許可した特定の第三者に対してのみオンラインで提供することが可能な処理方法および装置に関する。
【０００２】
【従来の技術】
市役所などの地方自治体では、世帯構成情報や登録印の印影データなどの個人や法人に関する情報（以後本明細書では総称して個人情報と記す）を電子化して保管しており、かかる個人情報を登録した本人の要請があれば、これらの情報の複写を、住民票や印鑑証明書として交付する業務を行っている。
【０００３】
現在、これらの証明書類の交付業務を効率化する目的で、磁気ストライプを有するカードによって申請受付事務を自動化することが実現している。この方式では、証明書の自動交付装置に、情報の登録者本人である操作者が磁気カードを挿入し、暗証番号を入力することによって証明書の複写を入手する。自動交付装置は、ホスト計算機上の個人情報データベースに問い合わせ、暗証番号の正当性を確認した上で個人情報を証明書として印刷する。続いて、かかる証明書の改竄を防止するために、証明書としての有効期限と、地方自治体の印を自動的に押印した上で出力する。操作者は、以上の手順で入手した証明書を、典型的には陸運局や公安局などの行政機関や企業に、何らかの届けや契約書類に添付して提出する。それらの行政機関や企業では、証明書に押印された地方自治体の印の正当性を根拠として、かかる証明書の記載内容を信用している。
【０００４】
上記従来技術に関する発明としては、例えば特開平８−１２９５８７の発明がある。
【０００５】
上記の証明書の自動交付装置による証明書の交付方法には、次のような二つの問題点がある。
【０００６】
（１）証明書の交付を受けようとする本人が役所に出向いていく必要があり、不便である。
【０００７】
（２）現行の証明書では、交付後に記載事項に変更が生じうることを考慮して、必ず数ヶ月程度の有効期限が設けられているため、取得した証明書が、利用前に失効した場合には、たとえ記載内容に変更が生じなかったとしても、証明書の再交付を受ける必要があり、不便である。
【０００８】
上記の２点の問題が生じる原因は、証明書が紙に印刷されているために生じていると言える。もしも、証明書が必要となった時点で証明書に記載する個人情報を保管しているホスト計算機から、かかる個人情報をオンラインで取得して、証明書の代わりに使用することができれば、これらの問題を解決することが可能であると期待できる。
【０００９】
ところが、かかるホスト計算機をオンライン化し、利用者にホスト計算機へのオンラインアクセスを単純に許可したのでは、以下のような問題が発生してしまい、個人情報をオンラインで取得してそれを証明書の代わりに使用するという目的は達せられない。
【００１０】
まず、ホスト計算機へのオンラインアクセスを、個人情報を登録した本人（以後本明細書では個人情報登録者と呼ぶ）に許可した場合には、以下の理由により取得された個人情報に、証明書としての証明能力を持たせることができなくなってしまう。すなわち、個人情報登録者が自身の個人情報をオンラインで取得して、プリンタ等によって印刷したとすると、取得した個人情報を印刷する前に、かかる個人情報登録者がかかる個人情報を改竄する余地が生じてしまうので、印刷された個人情報を証明書として第三者が信用するに足る根拠が生じない。
【００１１】
一方、ホスト計算機へのオンラインアクセスを、証明書の提出を受ける、行政機関や企業などの第三者（以後本明細書では個人情報参照者と呼ぶ）に許可した場合には、証明書を疑ってかかる立場にある者が、ホスト計算機から直接個人情報を取得するので、個人情報登録者によるデータの改竄が生じる余地はない。ところが今度は、個人情報登録者のプライバシーを保護することができなくなってしまうという別の問題が生じる。すなわち、かかる個人情報参照者は、個人情報登録者の同意なしに、ホスト計算機上の任意の個人情報を自由に参照できてしまうために、個人情報登録者のプライバシーを保護することができない。
【００１２】
以上の理由により、個人情報を保持したホスト計算機を単純にオンライン化したのでは、得られた個人情報に現行の証明書と同等の証明能力を持たせることができないか、あるいは個人情報登録者のプライバシーを守ることができなくなってしまうために、オンラインで証明書を取得するという目的は達せられない。
【００１３】
既存技術を用いて従来技術がかかえる問題点の解決を試みる別の案として、例えば「PGP:Pretty Good Privacy」（Simson Garfinkel, O'Reilly & Associates Inc.）のpp.218-227に紹介されているようなデジタル署名技術を単純に適用して個人情報の改竄を防止しようとすることも考えられるが、この場合には以下の理由により、紙に書かれた現行の各種契約書類との相性が悪いために、個人情報登録者または個人情報参照者に不便を強いることになる。
【００１４】
もしも市役所等が紙に印刷した証明書に代わって、デジタル署名を付した個人情報を格納した記憶媒体を個人情報登録者に交付したとすると、個人情報登録者は、従来紙に印刷された証明書を個人情報参照者に提出していたかわりに、かかる記憶媒体を提出する必要が生じる。現在一般的には、個人情報登録者は、個人情報参照者に、紙に書かれた何らかの契約書類に添えて証明書を提出するので、数種類の書類をまとめて提出するだけでよい現行の形式にくらべて、紙の契約書類に混じって電子的な記憶媒体を提出しなければならなくなるのは個人情報登録者にとって煩わしい。ここでさらに、電子的な記憶媒体の介在をなくすことを意図して、デジタル署名の付されたデータを、前掲書のp.224に示されるような形式で、紙に印刷するようにしたとしても、個人情報参照者がかかる印刷された個人情報の正当性を検証するためには、印刷内容を元の電子化されたデータに変換して、電子署名の検証機能を有する装置に入力しなければならないので、結局個人情報参照者に多大な手間を要求してしまう。各種の契約書類が電子化され、契約書類の提出自体がオンライン化されれば、証明書類データをデジタル署名の付されたデータとしてオンラインで授受することも現実味を帯びるが、当分の間は紙に記載された契約書類が使用され続けることが予想される。以上の理由により、デジタル署名により個人情報の改竄を防止する方法は、紙に書かれた現行の各種契約書類との相性が悪く、契約書類自身が電子化されるまでの間は、個人情報登録者や個人情報参照者に不便を強いることになる。
【００１５】
【発明が解決しようとする課題】
本発明は、上記の事情に鑑みてなされたもので、以下の課題を解決することを目的とする。すなわち、住民票データや印鑑証明データを始めとする個人情報を管理し、個人情報の持ち主の要請によって個人情報データを出力する個人情報管理装置において、
（１）  個人情報登録者が指定する特定の個人情報参照者に対してのみ、個人情報をオンラインで取得させることを可能にする。
【００１６】
（２）  個人情報登録者と、上記の特定の個人情報参照者との間で、電子化されたデータを授受する必要をなくす。
【００１７】
【課題を解決するための手段】
本発明は上記の課題を解決するために、世帯構成情報や登録印の印影データを始めとする個人情報を管理し、個人情報の持ち主の要請によって個人情報を出力するオンライン化された個人情報管理装置の個人情報管理方法において、
ある個人情報登録者に関する個人情報を取得しようとする個人情報参照者に入力させる識別情報である問い合わせコードを、該個人情報登録者の指示により生成して出力する問い合わせコード発行ステップと、
上記個人情報参照者に上記問い合わせコードを入力させ、入力された問い合わせコードが、上記問い合せコード発行ステップによって生成された正規の問い合せコードであると確認された場合に限り、該問い合せコードに対応する個人情報を出力する個人情報取得ステップを有するようにしている。
【００１８】
また、前記問い合わせコード発行ステップは、問い合わせコード発行ステップを実行させている操作者が個人情報登録者本人であることを認証する個人情報登録者認証ステップと、問い合わせコードを生成する問い合わせコード生成ステップを有するようにしている。
【００１９】
また、前記個人情報取得ステップは、入力された問い合わせコードが、正規の問いあわせコード発行ステップによって発行された問い合わせコードであるかどうかを検定する問い合わせコード検定ステップと、該問い合わせコードに対応する個人情報を出力する個人情報出力ステップとを有するようにしている。
【００２０】
本発明では、上記問い合わせコード発行ステップにおいて、問い合わせコードは個人情報登録者本人が操作した場合にのみ発行されるので、個人情報登録者本人以外の者が無断で問い合わせコード発行処理を実行させることは不可能である。すなわち、問い合わせコードは、個人情報登録者本人の要請によってのみ発行される。
【００２１】
一方、上記個人情報出力ステップでは、特定の個人情報登録者に関する個人情報を取得しようとする個人情報参照者は、対応する問い合わせコードを入力しなければならないが、かかる問い合わせコードを入手するには上記問い合わせコード発行ステップを実行させる他ない。すなわち、個人情報登録者本人が問い合わせコード発行ステップを実行させて、発行された問い合わせコードを通知してもらった場合にのみ、個人情報参照者はかかる個人情報を取得することが可能となる。これにより、個人情報登録者が指定する特定の個人情報参照者に対してのみ、個人情報をオンラインで取得させることを可能にするという本発明の第一の目的は達せられる。
【００２２】
また、問い合わせコードには、処理の通し番号や乱数によって生成した暗証番号など、書類等に人手で記入するのに不自由のない長さのデータを用いることが可能であるため、個人情報登録者が問い合わせコードを通知するのに、電子化されたデータを受け渡す必要がない。これにより、個人情報登録者と、上記の特定の個人情報参照者との間で、電子化されたデータを授受する必要をなくすという、本発明の第二の目的は達せられる。
【００２３】
【発明の実施の形態】
《第一の実施例》
以下に、本発明の一実施例を図面を用いて詳細に説明する。
【００２４】
まず、本発明の動作説明図である図４３を用いて、本実施例の構成と動作の概要について説明する。本実施例では、個人情報登録者７１と個人情報参照者７２の両者は端末装置２０を介して個人情報管理装置１０を利用する。
【００２５】
本発明の典型的な適用例では、個人情報参照者７２は個人情報登録者７１が提出する何らかの契約書類２３０の記載事項を、市役所などが発行する住民票などの証明書類とつきあわせて確認したいと考える立場にある事業者である。以下ではかかる個人情報登録者７１が本発明を利用して、個人情報参照者７２に契約書類２３０の正当性を確認させるに至る手順を説明する。
【００２６】
本装置の利用手順は、個人情報登録者７１が個人情報管理装置１０を利用するフェーズである問い合せコード発行フェーズと、個人情報参照者が個人情報管理装置１０を利用する個人情報取得フェーズとの二つのフェーズからなる。
【００２７】
まず、問い合せコード取得フェーズにおいて個人情報登録者７１は、端末装置２０を介して個人情報管理装置１０に、自身の識別子である登録者ＩＤ６２０１と、自身を認証する登録者パスワード６２０２を入力し、自身に関する個人情報を第三者に提示する意志があることを個人情報管理装置に通知する。個人情報管理装置１０は登録者ＩＤ６２０１と登録者パスワード６２０２を照合することにより、個人情報登録者７１本人が確かに要求を送信していることを確認した上で、後の個人情報取得フェーズでかかる個人情報登録者７１に関する個人情報を取得することを許可するパスワードとして機能する問い合せコードを発行し、問い合せコード通知データ６４０として端末装置２０に返送する。端末装置２０より出力された問い合せコード通知データ６４０を入手した個人情報７１は、自身の登録者ＩＤと、発行された問い合せコードを契約書類２３０に記入した上で、かかる契約書類２３０を個人情報参照者７２に渡す。
【００２８】
次に、個人情報取得フェーズにおいて個人情報参照者は、契約書類２３０の記載内容に従って、登録者ＩＤ６３０１と問い合せコード６３０２を端末装置２０に入力して個人情報管理装置１０に送信して、登録者ＩＤ６３０１に対応する個人情報を参照する意志があることを伝える。個人情報管理装置１０はかかる登録者ＩＤ６３０１に対応する個人情報登録者が、個人情報の提示に同意しているかどうかを確認するために、登録者ＩＤ６３０１と問い合せコード６３０２の対応を調べる。調べた結果、入力された問い合せコード６３０２が、問い合せコード発行フェーズにおいて発行された問い合せコードであることを確認できた場合に限り、登録者ＩＤ６３０１に対応する個人情報を個人情報通知データ６５０として端末装置２０に送信する。個人情報参照者７２は、端末装置２０から出力された個人情報通知データ６５０と、契約書類２３０の記載内容を照合することにより、契約書類２３０の記載内容を確認することができる。
【００２９】
以上の手順によれば、問い合せコード発行フェーズにおいて特定の個人情報登録者７１に対応する問い合せコードを発行させることができるのは登録者パスワード６２０２を知っている個人情報登録者７１本人に限られるので、第三者が勝手に問い合せコードを発行させることは不可能である。また、個人情報取得フェーズにおいては、個人情報参照者は、参照しようとする個人情報登録者７１に対応した登録者ＩＤ６３０１を入力しなければならないので、個人情報登録者７１から問い合せコードを入手しなければかかる個人情報を参照することは不可能である。結局、個人情報登録者７１が自身に関する個人情報を参照させようと考えた個人情報参照者７２だけが、かかる個人情報を参照
することが可能となる。
【００３０】
一方、個人情報参照者７２は個人情報管理装置１０から直接個人情報通知データ６５０をオンラインで取得するので、得られた個人情報通知データ６５０の内容は、現行の各種証明書類と同程度に信用することができる。
【００３１】
次に、本実施例の構成とその動作について詳細に説明する。
【００３２】
本実施例では、個人情報管理装置をパーソナルコンピュータ（以下パソコン）などの汎用の計算機と、その上で実行されるＨＴＴＰ（Ｈｙｐｅｒ Ｔｅｘｔ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）サーバプログラムによって構成している。また、個人情報登録者や個人情報参照者（両者を併せて以下では利用者と呼ぶ）が利用する端末装置として、パソコンなどの汎用の計算機と、その上で実行される汎用のＨＴＴＰクライアントプログラム（以下ではブラウザと呼ぶ）で構成している。個人情報管理装置と端末装置の間の通信プロトコルとしては、本実施例では既存の汎用の通信プロトコルであるＨＴＴＰを使用する。以下の説明では、通信プロトコルとしてＨＴＴＰを用いた構成について説明するが、上記の通信プロトコルとしては、メニュー画面を端末装置上に表示させ、ユーザに処理を選択させたりデータを入力させることが可能なプロトコルであれば他の汎用の通信プロトコルや独自の専用プロトコルを用いることも可能である。例えば、テキストデータをそのまま送受信するパソコン通信形式のプロトコルを用いてもかまわない。本実施例では、個人情報管理装置１０上ではＨＴＴＰサーバプログラムを実行し、端末装置２０上では汎用のＨＴＴＰクライアントプログラム（以下ではブラウザと呼ぶ）を実行させるものとして説明する。
【００３３】
また、本実施例では、個人情報管理装置が管理する個人情報の一例として住民票データを取り上げるが、同様にして例えば印鑑証明データなどの他の形式の個人情報を管理することが可能である。
【００３４】
また、本実施例では、問い合せコードを乱数により生成するが、問い合せコードとしては、乱数以外であっても、プログラムやハードウェアによる生成が可能であり、第三者による推定が困難なデータが得られれば他の方法によって生成してもよい。
【００３５】
また、本実施例では問い合せコードを個人情報登録者ごとに発行する。すなわち、特定の個人情報登録者に対して発行される複数の問い合せコードはそれぞれ別の値を取るが、異なる個人情報登録者に対して発行される別々の問い合せコードが同一の値を取る場合がありえる。そのため、問い合せコードに対応させてなんらかの情報を記録するテーブルを設ける場合には、個人情報登録者の識別子である登録者ＩＤと問い合せコードの組をテーブルのキーとして用いるようにしている。
【００３６】
図１は、本発明が提供する個人情報管理装置のシステム構成図である。図１において、本発明が提供する個人情報管理装置１０は、ネットワーク３０を経由して端末装置２０に接続されている。個人情報管理装置１０は端末装置２０を操作する利用者が入力する入力データ２１０に応じて、問い合わせコードを発行する処理と、個人情報を出力する処理のいずれかを実行して、出力データ２２０として利用者に提供する。
【００３７】
個人情報管理装置１０と端末装置２０はそれぞれ、パーソナルコンピュータ（以下パソコン）などの汎用の計算機と、その上で実行するプログラムにより構成している。
【００３８】
図２は、個人情報管理装置１０の構成図である。図２において、個人情報管理装置１０は、ＣＰＵ１１０と、ネットワークインタフェース回路１２０と、二次記憶装置制御回路１３０と主記憶装置１４０と二次記憶装置１５０から構成される。ネットワークインタフェース回路１２０はＣＰＵ１１０の指示に従い、端末装置２０上のブラウザとやりとりするネットワーク３０上のメッセージを送受信する。二次記憶装置１３０は、二次記憶装置１５０に接続されており、ＣＰＵ１１０からの指示に従い、二次記憶装置１５０上にデータを入出力する。主記憶装置１４０上には、端末装置２０を操作する個人情報登録者の指示に応じて問い合わせコードを発行する問い合わせコード発行プログラム１４２０と、問い合わせコード発行プログラム１４２０が使用するワークエリア１４４０と、端末装置２０を操作する個人情報参照者の指示に応じて個人情報を出力する個人情報出力プログラム１４３０と、個人情報出力プログラム１４３０が使用するワークエリア１４５０と、端末装置２０から送られてくるメッセージに応じて、各種の画面データを端末装置２０に送信する処理と、問い合わせコード発行プログラム１４２０や個人情報出力プログラム１４３０を起動し、それらの出力結果を端末装置２０に返送する処理を実行する通信制御プログラム１４１０と、問い合わせコード発行プログラム１４２０や個人情報出力プログラム１４３０の指示に応じて二次記憶装置１５０上の各種のテーブルを管理するテーブル管理プログラム１４６０と、個人情報管理装置１０のハードウェア資源を管理するＯＳ１４７０が格納される。ＯＳ１４７０は装置の起動時に自動的に起動され、通信制御プログラム１４１０を起動する。一旦起動されると通信制御プログラム１４１０は、端末装置からのメッセージを受信するために待機する。
【００３９】
上記の構成において、ＯＳ１４７０としては、市販の汎用ＯＳを使用することが可能であり、テーブル管理ライブラリ１４６０としては、市販のデータベース管理ライブラリを利用することが可能であり、通信制御プログラム１４１０としては、市販の汎用のＨＴＴＰサーバプログラムを使用することが可能である。一方、問い合わせコード発行プログラム１４２０と個人情報出力プログラム１４３０は、本実施例で詳細に説明する処理内容をプログラムとして実装することによって実現することが可能である。
【００４０】
問い合わせコード発行プログラム１４２０と、個人情報出力プログラム１４３０は、二次記憶装置１５０上に格納した各種のテーブルを参照ないし更新する際に、テーブル管理ライブラリ１４６０を呼び出すが、以下の説明ではこれら個々の呼び出しは自明であるため特に明記しない。同様に、各プログラムおよびライブラリからの、ＯＳ１４７０が提供するシステムコールの呼び出しについても特に明記しない。
【００４１】
問い合わせコード発行プログラム１４２０は、個人情報登録者が端末装置２０上の画面の案内に従って問い合わせコード発行処理を指示した場合に、通信制御プログラム１４１０によって起動され、個人情報登録者が端末装置２０に入力した入力データ２１０に基づいて問い合わせコードを生成し、生成した問い合わせコードを、端末装置２０が出力可能な形式の問い合わせコード通知データに変換して出力する。通信制御プログラム１４１０は、出力された問い合せコード通知データを端末装置２０に送り返し、端末装置２０はこれを個人情報登録者に表示する。
【００４２】
個人情報出力プログラム１４３０は、個人情報参照者が端末装置２０の画面の案内に従って個人情報の出力処理を指示した場合に、通信制御プログラム１４１０によって起動され、個人情報参照者が端末装置２０に入力したデータに対応する個人情報を検索し、検索した個人情報を、端末装置２０が出力可能な形式の個人情報通知データに変換して出力する。通信制御プログラム１４１０は、出力された個人情報通知データを端末装置２０に送り返し、端末装置２０はこれを個人情報参照者に表示する。
【００４３】
次に、図３を用いて二次記憶装置１５０に格納する情報について説明する。本実施例では、二次記憶装置１５０に、住民票データを格納したテーブルである個人情報テーブル１５１０と、発行した問い合わせコードを管理する問い合わせコード管理テーブル１５２０と、個人情報登録者の登録者ＩＤと登録者パスワードを管理する登録者管理テーブル１５３０と、通信制御プログラム１４１０が端末装置２０に送り返す定型の画面データを格納した複数のファイルからなる画面データファイル群１５９０を格納している。なお、本実施例では、個人情報管理装置１０が管理する個人情報の一例として住民票データを取り上げ、個人情報テーブル１５１０には住民票データを格納するが、同様の構成によって印鑑証明データなどの他の形式の個人情報を格納することも可能である。
【００４４】
次に上記の各テーブルの構成について説明する。
【００４５】
図４は、個人情報管理テーブル１５１０の構成図である。個人情報管理テーブル１５１０は、個人情報管理装置１０が管理する個人情報を記憶・管理するテーブルであり、本実施例では個人情報の一例として住民票データを格納している。本テーブルは、個人情報登録者の識別子である登録者ＩＤを格納する登録者ＩＤフィールド１５１１と、住民票データを構成する住所フィールド１５１２や、世帯主氏名フィールド１５１３等のフィールドを有する。本テーブルは登録者ＩＤフィールド１５１１をキーとして検索することにより、該当する個人情報登録者の住民票データを得ることができる。本テーブルへのデータの登録や更新のためのプログラムや操作手順は、本発明と関係ないので説明を省略する。
【００４６】
図５は、問い合わせコード管理テーブル１５２０の構成図である。問い合わせコード管理テーブル１５２０は、発行済みの問い合せコードを管理するテーブルであり、問い合せコード発行処理を指示した個人情報登録者の登録者ＩＤを記録する登録者ＩＤフィールド１５２１と、発行した問い合せコードを記録する問い合わせコードフィールド１５２２とを有する。本テーブルは登録者ＩＤフィールドと問い合せコードフィールド１５２２の組をキーとしており、登録者ＩＤと問い合せコードの組がレコードとして存在すれば、かかる登録者ＩＤと問い合せコードの組み合わせは有効であると見なせる。本テーブルのレコードは問い合せコード発行処理において作製され、個人情報取得処理において参照された後に削除される。
【００４７】
図６は、登録者管理テーブル１５３０の構成図である。登録者管理テーブル１５３０は、個人情報登録者を認証するために登録者ＩＤと登録者パスワードを対応づけて管理するためのテーブルであり、個人情報登録者の一意な識別子である登録者ＩＤを格納する登録者ＩＤフィールド１５３１と、該登録者ＩＤに対応するパスワードである登録者パスワードを格納する登録者パスワードフィールド１５３２を有する。本テーブルは、登録者ＩＤフィールド１５３１をキーとして検索することによって対応する登録者パスワードフィールド１５３２を知ることができる。本テーブルを管理するためのプログラムや操作手順は、本発明と関係ないので説明を省略する。
【００４８】
図７は、画面データファイル群１５９０の構成図である。画面データファイル群１５９０は、通信制御プログラム１４１０が端末装置２０に送り返す定型の画面データを格納したファイルの集まりであり、処理選択画面データファイル１５９１と、問い合わせコード発行申請画面データファイル１５９２と、個人情報出力申請画面データファイル１５９３から構成される。処理選択画面データファイル１５９１は、端末装置２０の利用者に問い合わせコード発行処理と個人情報出力処理から実行する処理を選択させる画面である処理選択画面に対応するファイルである。問い合わせコード発行申請画面データファイル１５９２は、上記の利用者が問い合わせコード発行処理を選択した場合に表示される画面である問い合わせコード発行申請画面に対応するファイルである。個人情報出力申請画面データファイル１５９３は、上記の利用者が個人情報出力処理を選択した場合に表示される画面である個人情報出力申請画面に対応するファイルである。
【００４９】
本実施例ではこれらの画面データファイルはＨＴＭＬ（Ｈｙｐｅｒｔｅｘｔ Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ）言語で記述されたＨＴＭＬページファイルであり、ＨＴＭＬ言語が提供するリンク機能により、画面上のボタンを利用者が選択することによって画面が切り替わるように記述されている。これらの各データファイルが、端末装置２０の画面に表示される時の表示形式を次に説明する。
【００５０】
図８は、処理選択画面データファイル１５９１が、端末装置２０で表示されたときの画面である処理選択画面６１０の構成図である。本画面は、利用者が端末装置２０を通して個人情報管理装置１０を利用する時に端末装置２０に最初に表示される画面であり、処理の選択を促す説明文と、問い合わせコード発行処理の実行を指示する問い合わせコード発行ボタン６１１１と、個人情報出力処理の実行を指示する個人情報出力ボタン６１１２を有する。それぞれのボタンは、別の画面データを取得することをブラウザに指示する指令であるＨＴＭＬリンクとして構成されており、問い合わせコード発行申請ボタン６１１１は、問い合わせコード発行申請画面データファイル１５９２へのリンクとして、また、個人情報取得ボタン６１１２は個人情報取得申請画面データファイル１５９３へのリンクとして構成されている。利用者がいずれかのボタンを選択した場合には、端末装置２０上のブラウザは、個人情報管理装置１０上の通信制御プログラム１４１０に、ボタンに関連付けられたリンクに対応するデータファイルを送信させ、かかるデータファイルを端末装置２０の画面上に表示する。
【００５１】
図９は、問い合わせコード発行申請画面データファイル１５９２が、端末装置２０に表示された時の画面である問い合わせコード発行申請画面６２０の構成図である。本画面は、端末装置２０の利用者である個人情報登録者が、処理選択画面６１０において問い合わせコード発行ボタン６１１１を選択した場合に表示され、画面上には、登録者ＩＤを入力させる登録者ＩＤ入力欄６２０１と、対応する登録者パスワードを入力させる登録者パスワード入力欄６２０２と、これらの入力欄に入力されたデータの送信を指示する発行ボタン６２０９を有する。これらの入力欄とボタンは入力データを通信制御プログラム１４１０に送信して所定のプログラムを実行させる指令であるＨＴＭＬのデータ入力フォームとして構成されており、発行ボタン６２０９を利用者が選択した場合には各入力欄の入力内容を送信した上で問い合わせコード発行プログラム１４２０が起動されるように、問い合わせコード発行申請画面データファイル１５９２は記述されている。
【００５２】
図１０は、個人情報出力申請画面データファイル１５９３が、端末装置２０に表示された時の画面である個人情報出力申請画面６３０の構成図である。本画面は、端末装置２０の利用者である個人情報参照者が、処理選択画面６１０において個人情報出力ボタン６１１２を選択した場合に表示され、画面上には、出力させたい個人情報に対応する個人情報登録者の登録者ＩＤを入力するための登録者ＩＤ入力欄６３０１と、かかる個人情報登録者から個人情報参照者が通知されたが上記の問い合わせコード発行処理の結果入手した問い合わせコードを入力するための問い合わせコード入力欄６３０２と、これらの入力欄に入力されたデータの送信を指示する取得ボタン６３０９を有する。これらの入力欄とボタンはＨＴＭＬのデータ入力フォームとして構成されていおり、取得ボタン６３０９を利用者が選択した場合にはそれぞれの入力欄の入力データを送信した上で個人情報出力プログラム１４３０が起動されるように、個人情報出力申請画面データファイルは記述されている。
【００５３】
図１１は、問い合わせコード発行プログラム１４２０の出力である問い合わせコード通知データが、端末装置２０で表示された時の画面である問い合わせコード通知画面６４０の構成図である。本画面は、問い合せコード発行申請画面６２０において個人情報登録者が自身の登録者ＩＤ６２０１と登録者パスワード６２０２を入力し、発行ボタン６２０９を選択した場合に表示される。本画面には、発行された問い合せコードが表示される。
【００５４】
図１２は、個人情報出力プログラム１４３０の出力である個人情報通知データが、端末装置２０で表示された時の画面である個人情報通知画面６５０の構成図である。本画面は、個人情報出力申請画面６３０において個人情報参照者が登録者ＩＤ６３０１と問い合せコード６３０２を入力し、取得ボタン６３０９を選択した場合に表示される。本画面には出力された個人情報が表示される。
【００５５】
次に、問い合わせコード発行プログラム１４２０の処理内容について説明する。問い合わせコード発行プログラム１４２０は、端末装置２０の利用者が、問い合わせコード発行申請画面６２０において発行ボタン６２０９を選択した場合に、通信制御プログラム１４１０により起動される。問い合せコード発行プログラム１４２０の入力は問い合わせコード発行申請画面６２０のそれぞれの入力欄に利用者である個人情報登録者が入力したデータであり、出力は、処理に成功した場合には、問い合わせコード通知画面６４０に対応する問い合わせコード通知データであり、失敗した場合には図示しないエラー画面に対応するエラー通知データである。本プログラムは、登録者パスワード６２０２が正しい場合にのみ処理に成功する。本プログラムの出力は通信制御プログラム１４１０により端末装置２０に返送され、端末装置２０上のブラウザにより画面上に表示される。問い合わせコード発行プログラムの具体的な処理内容を図１３に示すＰＡＤ図に沿って説明する。
【００５６】
（ステップ５０１０１）問い合わせコード発行プログラム１４２０は、入力された登録者ＩＤ６２０１、登録者パスワード６２０２をワークエリア１４４０に格納する。
【００５７】
（ステップ５０１０２）問い合わせコード発行プログラム１４２０は、登録者ＩＤ６２０１と登録者パスワード６２０２を照合する個人情報登録者認証ルーチン１４２1０を呼び出して、戻り値としてパスワードの正否を示す論理値を得る。
【００５８】
（ステップ５０１０３）問い合わせコード発行プログラム１４２０は、個人情報登録者認証ルーチン１４２１０の戻り値がＴＲＵＥ、すなわちパスワードが正しかった場合にはステップ５０１０４〜５０１０５を実行し、戻り値がＦＡＬＳＥ，すなわちパスワードが正しくなかった場合にはステップ５０１０６を実行する。
【００５９】
（ステップ５０１０４）問い合わせコード発行プログラム１４２０は、登録者ＩＤ６２０２に対応した問い合わせコードを発行する問い合わせコード生成ルーチン１４２２０を呼び出して、問い合わせコードを生成させ、戻り値として生成された問い合わせコードを得る。
【００６０】
（ステップ５０１０５）問い合わせコード発行プログラム１４２０は、問い合わせコード生成ルーチン１４２２０の戻り値の問い合わせコードを元に、問い合わせコード通知画面６４０に対応する問い合わせコード通知データを生成して通信制御プログラム１４１０に出力する。
【００６１】
（ステップ５０１０６）問い合わせコード発行プログラム１４２０は、パスワードが正しくないために処理が拒絶された旨を告げる、図示しないエラー通知データを通信制御プログラム１４１０に出力する。
【００６２】
本プログラムは端末装置２０に表示された問い合わせコード発行申請画面６２０に、利用者が登録者ＩＤ６２０１と登録者パスワード６２０２を入力して発行ボタン６２０９を選択した場合に起動され、登録者ＩＤ６２０１と登録者パスワード６２０２が正しい場合にのみ問い合わせコードを生成して問い合わせコード通知データを出力する。すなわち、端末装置２０を操作して本プログラムを起動し、問い合わせコードを生成させることができるのは、正しい登録者パスワードを知っている個人情報登録者本人に限られ、登録者パスワードが知られてしまわない限りは、第三者が個人情報登録者に成り代わって問い合わせコードを発行させることはできない。
【００６３】
次に、問い合せコード発行プログラムが呼び出すサブルーチンである個人情報登録者認証ルーチン１４２１０と問い合せコード生成ルーチン１４２２０の処理内容について具体的に説明する。
【００６４】
まず、一つ目のサブルーチンである個人情報登録者認証ルーチン１４２１０について説明する。個人情報登録者認証ルーチン１４２１０は、ワークエリア１４４０に格納された登録者ＩＤ６２０１と登録者パスワード６２０２を入力とし、入力された登録者パスワード６２０２を、登録者管理テーブル１５３０に記録されている登録者パスワードフィールド１５３２の内容と照合することによって個人情報登録者を認証するルーチンである。個人情報登録者認証ルーチン１４２１０の処理の各ステップを図１４に示すＰＡＤ図に従って説明する。
【００６５】
（ステップ５０２０１）個人情報登録者認証ルーチン１４２１０は、登録者ＩＤ６２０１をキーとして登録者管理テーブル１５３０のレコードを検索する。
【００６６】
（ステップ５０２０２）個人情報登録者認証ルーチン１４２１０は、該レコードが存在して、かつ該レコードのパスワードフィールド１５３２の内容と、利用者が入力したパスワード６２０２が一致する場合には入力された登録者パスワードが正しいことを意味するＴＲＵＥを返し、両者が一致しないか、そもそも上記レコードが存在しない場合には正しくないことを示すＦＡＬＳＥを返す。
【００６７】
次に、二つ目のサブルーチンである問い合せコード生成ルーチン１４２２０について説明する。問い合せコード生成ルーチン１４２２０は、問い合せコードを生成して、生成した問い合せコードを問い合せコード管理テーブル１５３０に記録した上で戻り値として返すルーチンである。本ルーチンは登録者ＩＤ６２０１と登録者パスワード６２０２の対応が認証された後に問い合せコード発行プログラム１４２０より起動される。本実施例では、問い合せコードの生成方法の例として乱数を利用する方法を示すが、乱数以外であっても、プログラムや装置による生成が可能であり、第三者による推定が困難なデータを生成できればどのような生成方法を用いてもかまわない。問い合せコード生成ルーチン１４２２０の処理の各ステップを図１５に示すＰＡＤ図に従って説明する。
【００６８】
（ステップ５０３０１）問い合せコード生成ルーチン１４２２０は、６桁の乱数値を生成して問い合せコードとする。
【００６９】
（ステップ５０３０２）問い合せコード生成ルーチン１４２２０は、生成した問い合せコードと、登録者ＩＤ６２０１の組からなるレコードを問い合せコード管理テーブル１５２０から検索する。
【００７０】
（ステップ５０３０３）問い合せコード生成ルーチン１４２２０は、上記レコードが存在した場合、すなわち、登録者ＩＤ６２０１に対応してすでに同一の問い合せコードが発行済みである場合には、問い合せコードの重複を避けるためにステップ５０３０１から処理をやりなおす。
【００７１】
（ステップ５０３０４）問い合せコード生成ルーチン１４２２０は、生成した問い合せコードと、登録者ＩＤ６２０１の組をレコードとして問い合せコード管理テーブル１５２０に追加する。
【００７２】
（ステップ５０３０５）問い合せコード生成ルーチン１４２２０は、生成した問い合せコードを戻り値として返して終了する。
【００７３】
以上説明した二つのサブルーチンを利用して問い合せコード発行プログラム１４２０は問い合せコード発行処理を実行する。
【００７４】
次に、個人情報出力プログラム１４３０の処理内容について説明する。個人情報出力プログラム１４３０は、端末装置２０の利用者が、個人情報出力申請画面６３０において取得ボタン６３０を選択した場合に、通信制御プログラム１４１０により起動される。個人情報出力プログラム１４３０の入力は個人情報出力申請画面６３０のそれぞれの入力欄に入力されたデータであり、出力は、問い合せコード６３０２が正しかった場合には個人情報通知画面６５０に対応する個人情報通知データであり、問い合せコード６３０２が正しくなかった場合には図示しないエラー通知データである。本プログラムの出力は通信制御プログラム１４１０により端末装置２０に返送され、端末装置２０上のブラウザにより画面に表示される。個人情報出力プログラム１４３０の処理内容を図１６に示すＰＡＤ図に従って説明する。
【００７５】
（ステップ５０４０１）個人情報出力プログラム１４３０は、入力された登録者ＩＤ６３０１と問い合せコード６３０２をワークエリア１４５０に格納する。
【００７６】
（ステップ５０４０２）個人情報出力プログラム１４３０は、入力された問い合せコード６３０２を検定する問い合せコード検定ルーチン１４３１０を呼び出して、登録者ＩＤ６３０１と問い合せコード６３０２を照合し、戻り値として検定の成否を表す論理値を得る。
【００７７】
（ステップ５０４０３）個人情報出力プログラム１４３０は、問い合せコード検定ルーチン１４３１０の戻り値がＦＡＬＳＥ、すなわち入力された問い合せコードが不正である場合には、図示しないエラー画面を端末装置に出力させるエラー通知データを通信制御プログラム１４１０に出力して終了する（ステップ５０４０４）。
【００７８】
（ステップ５０４０５）個人情報出力プログラム１４３０は、個人情報テーブル１５１０から登録者ＩＤ６３０１に対応するレコードを読み出し、ワークエリア１４５０に格納する。
【００７９】
（ステップ５０４０６）個人情報出力プログラム１４３０は、読み出したレコードの内容である個人情報を、個人情報通知画面６５０に対応する個人情報通知データに変換して通信制御プログラム１４１０に出力する。
【００８０】
以上説明した処理内容により、個人情報出力プログラム１４３０は、端末装置２０に表示された個人情報出力申請画面６３０に、利用者が登録者ＩＤ６３０１と問い合せコード６３０２を入力して取得ボタン６３０９を選択した場合に起動され、登録者ＩＤ６３０１と問い合せコード６３０２が正しく対応する場合にのみ、登録者ＩＤ６３０１に対応する個人情報を個人情報通知データとして出力する。すなわち、端末装置２０を操作して本プログラムを起動し、個人情報通知データを出力させることができるのは、正しい問い合せコードを知っている個人情報登録者本人か、個人情報登録者から問い合せコードを通知された個人情報参照者に限られ、問い合せコードが知られてしまわない限りは、第三者が個人情報登録者に無断で個人情報を出力させることはできない。
【００８１】
次に、個人情報出力プログラム１４３０が呼び出すサブルーチンである問い合せコード検定ルーチン１４３１０とと使用済みレコード削除ルーチン１４３２０の処理内容について具体的に説明する。
【００８２】
まず、一つ目のサブルーチンである問い合せコード検定ルーチン１４３１０について説明する。問い合せコード検定ルーチン１４３１０は、ワークエリア１４５０に格納された登録者ＩＤ６３０１と問い合せコード６３０２を、問い合せコード管理テーブル１５２０と照合して、問い合せコード６３０２が正しい場合にはＴＲＵＥ、正しくない場合にはＦＡＬＳＥを返す。さらに、問い合せコードが正しい場合には、該問い合せコードを以後無効とするために該問い合せコードに対応するレコードを問い合せコード管理テーブル１５２０から削除する。問い合せコード検定ルーチン１４３１０の具体的な処理内容を図１７に示すＰＡＤ図に従って説明する。
【００８３】
（ステップ５０５０１）問い合せコード検定ルーチン１４３１０は、入力された問い合せコード６３０２と登録者ＩＤ６３０１の対からなるレコードを問い合せコード管理テーブル１５２０から検索する。
【００８４】
（ステップ５０５０２）問い合せコード検定ルーチン１４３１０は、上記レコードが存在しない、すなわち問い合せコード６３０２が正しくなければ問い合せコードが正しくないことを意味するＦＡＬＳＥを戻り値として返して終了する（ステップ５０５０３）。
【００８５】
（ステップ５０５０４）問い合せコード検定ルーチン１４３１０は、上記レコードを削除して、問い合せコード６３０２を無効にする。
【００８６】
（ステップ５０５０５）問い合せコード検定ルーチン１４３１０は、問い合せコードが正しいことを意味するＴＲＵＥを戻り値として返して終了する。
【００８７】
次に、以上説明したように構成された個人情報管理装置１０の動作について、個人情報登録者と個人情報参照者のそれぞれが、本発明を利用して個人情報を出力させる場合の利用者の操作手順に沿って説明する。
【００８８】
まず、個人情報登録者が問い合せコードの発行を受けるための操作手順について説明する。個人情報登録者は、端末装置２０を操作するに先立ち、個人情報管理装置の運営主体に住民票情報を登録しておき、登録者ＩＤと登録者パスワードの発行を受けておく。運用主体は、個人情報を個人情報管理テーブル１５１０に、登録者ＩＤと登録者パスワードを登録者管理テーブル１５３０に登録しておくが、これらの登録処理は本発明とは直接関係ないので詳細な説明は省略する。
【００８９】
以上の事前準備を済ませた上で個人情報登録者は端末装置２０上のブラウザを起動し、個人情報管理装置１０のネットワーク上でのアドレスを入力する。するとブラウザには処理選択画面６１０が表示される。個人情報登録者はここで問い合わせコード発行ボタン６１１１を押す。すると、問い合わせコード発行申請画面６２０が表示される。この画面において個人情報登録者は、事前に発行された自身の登録者ＩＤと登録者パスワードをそれぞれ登録者ＩＤ入力欄６２０１と登録者パスワード入力欄６２０２にそれぞれ入力し、発行ボタン６２０９を選択する。この操作により、それぞれの入力欄の入力データはブラウザによって通信制御プログラム１４１０に送信され、通信制御プログラム１４１０は受信した入力データを渡して問い合わせコード発行プログラム１４２０を起動する。起動された問い合わせコード発行プログラム１４２０は、入力された登録者ＩＤと登録者パスワードが正しければ問い合わせコードを生成し、生成した問い合わせコードを、ブラウザが表示可能な問い合せコード通知データとして出力する。問い合せコード通知データは通信制御プログラム１４１０が端末装置２０に返送し、端末装置２０は、問い合せコード通知画面６４０として表示する。個人情報登録者は問い合せコード通知画面６４０に表示された問い合せコードを手で書きとめるか、画面をプリンタによって印刷するなどして記録する。上記の一連の手順においてもしも登録者パスワードが正しくなかった場合には問い合せコード通知データの代わりにエラー通知データが出力され、端末装置２０には図示しないエラー通知画面が表示される。
【００９０】
以上の処理が正常に終了した場合には、かかる個人情報登録者は、自身の登録者ＩＤと発行された問い合せコードを個人情報参照者に通知する。個人情報参照者は、通知された登録者ＩＤと問い合せコードを用いて、以下に説明する手順で上記個人情報登録者に関する個人情報を取得する。
【００９１】
個人情報参照者は、端末装置２０上のブラウザを起動し、個人情報管理装置１０のネットワーク上でのアドレスを入力する。するとブラウザには処理選択画面６１０が表示される。個人情報参照者はここで個人情報取得ボタン６１１２を選択する。すると、個人情報出力申請画面６３０が表示される。この画面において個人情報参照者は、上記個人情報登録者より通知された登録者ＩＤと問い合せコードをそれぞれ登録者ＩＤ入力欄６３０１と問い合せコード入力欄６３０２に入力し、取得ボタン６３０９を選択する。この操作により、それぞれの入力欄の入力データはブラウザによって通信制御プログラム１４１０に送信され、通信制御プログラム１４１０は、受信した入力データを渡して個人情報取得プログラム１４３０を起動する。個人情報取得プログラム１４３０は、入力された登録者ＩＤ６３０１と問い合せコード６３０２の組み合わせが正しければ、上記個人情報登録者に関する個人情報を検索し、それを端末装置２０によって出力することが可能な個人情報通知データとして出力する。個人情報通知データは通信制御プログラムが端末装置２０に送信し、端末装置２０はそれを個人情報通知画面６５０として表示する。
【００９２】
上記の一連の手順においてもしも個人情報参照者が入力した問い合せコード６３０２が正しくなかった場合には、端末装置２０の画面上には個人情報通知画面６５０の代わりに図示しないエラー画面が表示される。以上の手順により、個人情報参照者は個人情報登録者に関する個人情報を取得することができる。
【００９３】
また、本実施例では、個人情報出力プログラム１４３０は、入力された問い合せコードが正しい場合に、個人情報通知データを出力すると共に、入力された問い合せコードに対応するレコードを問い合せコード管理テーブル１５２０から削除するので、特定の問い合せコードは個人情報参照者によって一度だけ使えるようになっている。このため、個人情報参照者が個人情報を取得した後で問い合せコードが第三者に漏洩してしまったとしても、その問い合せコードを利用される恐れはない。
【００９４】
以上説明した本実施例によれば、本発明が解決しようとする２つの課題が解決される。すなわち、
（１）  個人情報登録者が指定する特定の個人情報参照者に対してのみ、個人情報をオンラインで取得させることが可能である。
【００９５】
（２）  個人情報登録者と、上記の特定の個人情報参照者との間で、電子化されたデータを授受する必要がない。
【００９６】
《第二の実施例》
第一の実施例では、有効な登録者ＩＤと問い合せコードの組合わせを知ることさえできれば、誰にでも個人情報を出力させることができてしまうので、発行された問い合せコードを第三者から秘匿しなければならないという問題があった。
【００９７】
本実施例は上記の問題を解決することを目的としており、問い合せコードが第三者に知られただけでは個人情報を無断に参照されることがないようにしている。すなわち、問い合せコード発行処理において、個人情報登録者に、個人情報参照者を指定させるようにし、個人情報出力処理においては、端末装置２０を操作する個人情報参照者が、個人情報登録者が指定した個人情報参照者本人であるかを確認した上で個人情報を出力するようにしている。
【００９８】
以下では、図面を用いて本実施例を詳細に説明する。本実施例は第一の実施例の構成を基本として構成しているので、第一の実施例との相違点について説明する。
【００９９】
図１８は、本実施例における問い合せコード発行申請画面６２０ａの構成図である。問い合せコード発行申請画面６２０ａは、問い合せコード発行申請画面６２０に、個人情報を参照させる個人情報参照者を指定するための参照者ＩＤ入力フィールド６２０３を追加した画面である。
【０１００】
図１９は、本実施例における個人情報出力申請画面６３０ａの構成図である。個人情報出力申請画面６３０ａは、個人情報出力申請画面６３０に、端末装置２０を操作している個人情報参照者の参照者ＩＤと参照者パスワードをそれぞれ入力するための参照者ＩＤ入力フィールド６３０３と参照者パスワード入力フィールド６３０４を追加した画面である。
【０１０１】
図２０は、本実施例で二次記憶装置１５０上に設ける参照者管理テーブル１５４０の構成図である。参照者管理テーブル１５４０は、個人情報参照者を認証するために、参照者ＩＤと参照者パスワードを対応づけるテーブルであり、参照者ＩＤフィールド１５４１と参照者パスワードフィールド１５４２とを有する。
【０１０２】
図２１は、本実施例で二次記憶装置１５０上に設ける参照者指定テーブル１５５０の構成図である。参照者指定テーブル１５５０は、登録者ＩＤと問い合せコードの組を参照者ＩＤと対応づけて記憶するためのテーブルであり、登録者ＩＤフィールド１５５１と、問い合せコードフィールド１５５２と参照者ＩＤフィールド１５５３とを有する。
【０１０３】
次に、本実施例における問い合せコード発行処理について説明する。本実施例では、個人情報登録者に、個人情報を参照させる個人情報参照者の参照者ＩＤを入力させ、発行する問い合せコードに対応させてかかる参照者ＩＤを記録しておくようにしている。
【０１０４】
図２２は、本実施例における問い合せコード発行プログラム１４２０ａの処理内容を示したＰＡＤ図である。問い合せコード発行プログラム１４２０ａは、第一の実施例における問い合せコード発行プログラム１４２０に、以下の各ステップを追加することにより、問い合せコードに対応づけて参照者ＩＤを記録するようにしたプログラムである。
【０１０５】
（ステップ５０６０１）問い合せコード発行プログラム１４２０ａは、入力された参照者ＩＤ６２０３をワークエリア１４４０に格納する。
【０１０６】
（ステップ５０６０２）問い合せコード発行プログラム１４２０ａは、参照者記録ルーチン１４２３０を呼び出して、問い合せコードに対応づけて参照者ＩＤ６２０３を記録する。
【０１０７】
図２３は、問い合せコード発行プログラム１４２０ａが呼び出すサブルーチンである参照者記録ルーチン１４２３０の処理内容を示すＰＡＤ図である。参照者記録ルーチン１４２３０は、ワークエリア１４４０上に格納された登録者ＩＤ６２０１と、生成された問い合せコードと、参照者ＩＤ６２０３を入力して、以下のステップにより、問い合せコードに対応させて参照者ＩＤを記録する。
【０１０８】
（ステップ５０７０１）参照者記録ルーチン１４２３０は、登録者ＩＤ６２０１、生成した問い合せコード、参照者ＩＤ６２０３の組をレコードとして参照者指定テーブル１５５０に追加する。
【０１０９】
以上説明した問い合せコード発行プログラム１４２０ａと参照者記録ルーチン１４２３０により、問い合せコード発行処理において、個人情報登録者が指定した個人情報参照者の参照者ＩＤが参照者指定テーブル１５５０に記録される。
【０１１０】
次に、本実施例における個人情報出力処理について説明する。本実施例では個人情報を出力する際に個人情報参照者に参照者ＩＤと参照者パスワードを入力させ、参照者パスワードを照合することにより個人情報参照者が本人であることを確認し、さらに問い合せコードに対応して記録されている参照者ＩＤと入力された参照者ＩＤが一致する場合にのみ個人情報を出力するようにしている。
【０１１１】
図２４は、本実施例における個人情報出力プログラム１４３０ａの処理内容を示したＰＡＤ図である。個人情報出力プログラム１４３０ａは、第一の実施例における個人情報出力プログラム１４３０に、以下の各ステップを追加することにより、個人情報参照者の認証と、問い合せコードと個人情報参照者の対応の確認をするようにしている。
【０１１２】
（ステップ５０８０１）個人情報出力プログラム１４３０ａは、入力された参照者ＩＤ６３０３と参照者パスワード６３０４をワークエリア１４５０に格納する。
【０１１３】
（ステップ５０８０２）個人情報出力プログラム１４３０ａは、参照者認証ルーチン１４３３０を呼び出して、参照者ＩＤ６３０３と参照者パスワード６３０４を照合し、戻り値として照合の結果を示す論理値を得る。
【０１１４】
（ステップ５０８０３）個人情報出力プログラム１４３０ａは、上記戻り値がＦＡＬＳＥ、すなわち参照者パスワード６３０４が不正であった場合には図示しないエラー通知画面に対応するエラー通知データを通信制御プログラム１４１０に出力して終了する（ステップ５０８０４）。
【０１１５】
（ステップ５０８０５）個人情報出力プログラム１４３０ａは、参照者一致検査ルーチン１４３４０を呼び出して、参照者ＩＤ６３０３と問い合せコード６３０２を照合し、戻り値として照合の結果を表す論理値を得る。
【０１１６】
（ステップ５０８０６）個人情報出力プログラム１４３０ａは、参照者一致検査ルーチン１４３４０の戻り値がＦＡＬＳＥ，すなわち参照者ＩＤ６３０３が指定以外の参照者ＩＤであった場合には、図示しないエラー通知画面に対応するエラー通知データを通信制御プログラム１４１０に出力して終了する（ステップ５０８０７）。
【０１１７】
以上のステップを追加することにより、個人情報出力プログラム１４３０ａは入力された参照者パスワード６３０４が正しく、かつ参照者ＩＤ６３０３と問い合せコード６３０２が対応する場合に限って個人情報を出力するようになる。
【０１１８】
次に、個人情報出力プログラム１４３０ａのサブルーチンとして本実施例で設ける参照者認証ルーチン１４３３０と、参照者一致検査ルーチン１４３４０の処理内容について説明する。
【０１１９】
まず一つ目のサブルーチンである参照者認証ルーチン１４３３０について説明する。参照者認証ルーチン１４３３０は、ワークエリア１４５０上の参照者ＩＤ６３０３と参照者パスワード６３０４の対応を照合し、参照者パスワード６３０４が正しければＴＲＵＥを、正しくなければＦＡＬＳＥを返す。以下に、参照者認証ルーチン１４３３０の処理内容を図２５に示すＰＡＤ図に従って説明する。
【０１２０】
（ステップ５０９０１）参照者認証ルーチン１４３３０は、参照者ＩＤ６３０３をキーとして参照者管理テーブル１５４０のレコードを検索する。
【０１２１】
（ステップ５０９０２）参照者認証ルーチン１４３３０は、上記のレコードが存在し、かかるレコードの参照者パスワードフィールド１５４２と入力された参照者パスワード６３０４が一致する場合には、参照者パスワード６３０４が正しいことを意味するＴＲＵＥを返し（ステップ５０９０３）、一致しない場合には正しくないことを意味するＦＡＬＳＥを返す（ステップ５０９０４）。
【０１２２】
次に、二つ目のサブルーチンである参照者一致検査ルーチン１４３４０について説明する。参照者一致検査ルーチン１４３４０は、ワークエリア１４５０上の参照者ＩＤ６３０１と問い合せコード６３０２の対応を照合し、問い合せコード６３０２が参照者ＩＤ６３０１に対応すればＴＲＵＥを返し、対応しなければＦＡＬＳＥを返す。以下に、参照者一致検査ルーチン１４３４０の処理内容を図２６に示すＰＡＤ図に従って説明する。
【０１２３】
（ステップ５１００１）参照者一致検査ルーチン１４３４０は、登録者ＩＤ６３０１と、問い合せコード６３０２の組をキーとして参照者指定テーブル１５５０のレコードを検索する。
【０１２４】
（ステップ５１００２）参照者一致検査ルーチン１４３４０は、当該レコードの参照者ＩＤフィールド１５５３の内容が、入力された参照者ＩＤ６３０３と一致した場合には、参照者ＩＤ６３０３が個人情報登録者によって指定された正しい参照者ＩＤであることを意味するＴＲＵＥを返し（ステップ５１００３）、一致しなかった場合には指定外の参照者ＩＤであることを意味するＦＡＬＳＥを返す（ステップ５１００４）。
【０１２５】
次に、以上説明したように構成された本実施例の動作について、第一の実施例の動作との相違点を中心に説明する。本実施例では、問い合せコードの発行処理において個人情報登録者は問い合せコード発行画面６２０ａにおいて登録者ＩＤ６２０１と登録者パスワード６２０３に加えて、個人情報を参照させる個人情報参照者の参照者ＩＤ６２０３を入力する。ここで入力した参照者ＩＤ６２０３は、問い合せコードの発行処理の過程で参照者記録ルーチン１４２３０により、登録者ＩＤ６２０１と生成した問い合せコードと対応づけて参照者指定テーブル１５４０に記録される。一方、個人情報出力処理においては、個人情報参照者は個人情報取得申請画面６３０ａにおいて登録者ＩＤ６３０１と問い合せコード６３０２の他に、自身の参照者ＩＤ６３０３と参照者パスワード６３０４を入力する。個人情報出力プログラム１４３０ａは、まず参照者認証ルーチン１４３３０によって参照者ＩＤ６３０３と参照者パスワード６３０４が対応が照合され、さらに参照者一致検査ルーチン１４３４０によって参照者ＩＤ６３０３と登録者ＩＤ６３０１と問い合せコード６３０２の対応が照合された後に始めて個人情報を出力する。すなわち、個人情報登録者が問い合せコードの発行を受けるときに参照者ＩＤ６２０３で指定した個人情報参照者本人が操作した場合に限り、個人情報を出力させることが可能である。そのため、問い合せコード自体は、第三者に知られてしまってもかまわない。
【０１２６】
以上説明したように、本実施例によれば、発行された問い合せコードを、個人情報を参照させたいと思う個人情報参照者以外の第三者に知られないように注意する必要性をなくすことが可能となっている。
【０１２７】
《第三の実施例》
第一または第二の実施例では、個人情報出力プログラム１４３０または１４３０ａは個人情報を一回出力すると対応する問い合せコードを問い合せコード管理テーブル１５２０から削除するので、一度しか問い合せコードを使用できない。そのため、一旦個人情報を参照した後で、個人情報の登録内容に変更があった場合などに、再び個人情報を参照しようとした場合には、個人情報登録者に再び問い合せコードを発行してもらう必要がある。本実施例ではこの問題を解決することを目的としており、問い合せコードに有効期限を設け、有効期限内であれば何度でも個人情報を出力させることを可能にしている。
【０１２８】
以下では、図面を用いて本実施例を詳細に説明する。
【０１２９】
本実施例は、第一の実施例の構成を基本として構成しているが、第二の実施例を基本として同様に構成することが可能である。
【０１３０】
図２７は、本実施例において二次記憶装置１５０上に追加する有効期限管理テーブル１５６０の構成図である。本テーブルは発行された問い合せコードの有効期限を記録するためのテーブルであり、登録者ＩＤフィールド１５６１と、問い合せコードフィールド１５６２と、問い合せコードの有効期限を記録する有効期限フィールド１５６３とを有する。本テーブルには問い合せコードの発行処理の過程で問い合せコードの有効期限が記録され、個人情報出力処理の過程で入力された問い合せコードが有効期限を超過しているかどうかが検査される。
【０１３１】
図２８は、本実施例における個人情報出力プログラム１４２０ｂの処理内容を示したＰＡＤ図である。個人情報出力プログラム１４２０ｂは、第一の実施例における個人情報出力プログラム１４２０に、以下の各ステップを追加することにより、発行する問い合せコードの有効期限を記録するようにしたプログラムである。
【０１３２】
（ステップ５１１０１）個人情報出力プログラム１４２０ｂは、有効期限記録ルーチン１４２４０を呼び出して、問い合せコードの有効期限を記録する。
【０１３３】
図２９は、個人情報出力プログラム１４２０ｂが呼び出すサブルーチンである有効期限記録ルーチン１４２４０の処理内容を示したＰＡＤ図である。本ルーチンは、生成した問い合せコードの有効期限を有効期限管理テーブル１５６０に記録するルーチンであり、以下のステップを有する。
【０１３４】
（ステップ５１２０１）有効期限管理テーブル１５６０は、登録者ＩＤ６２０１と生成した問い合せコードと所定の有効期限の組をレコードとして、有効期限管理テーブル１５６０に追加する。
【０１３５】
図３１は、本実施例における問い合せコード検定ルーチン１４３１０ａの処理内容を示したＰＡＤ図である。本ルーチンは、問い合せコード検定ルーチン１４３１０の処理内容に、有効期限の判定処理を加えたルーチンであり、問い合せコード検定ルーチン１４３１０に以下の各ステップを追加している。
【０１３６】
（ステップ５２４０１）問い合せコード検定ルーチン１４３１０ａは、参照者ＩＤ６３０１と問い合せコード６３０２をキーとして有効期限管理テーブル１５６３を検索する。
【０１３７】
（ステップ５２４０２）問い合せコード検定ルーチン１４３１０ａは、検索したレコードの有効期限フィールド１５６３が現時刻以前の時刻である、すなわち問い合せコードの有効期限が超過している場合にはステップ５０５０４〜５２４０４を実行する。
【０１３８】
（ステップ５２４０３）問い合せコード検定ルーチン１４３１０ａは、有効期限管理テーブル１５６０から上記レコードを削除する。
【０１３９】
（ステップ５２４０４）問い合せコード検定ルーチン１４３１０ａは、ＦＡＬＳＥを返す。
【０１４０】
以上の処理により、問い合せコード管理テーブル１５３０のレコードは有効期限を過ぎた場合に始めて削除されるようになる。
【０１４１】
以上説明した本実施例の構成によれば、所定の有効期限内であれば何度でも個人情報を出力することが可能である。
【０１４２】
《第四の実施例》
第一〜第三の実施例では、個人情報参照者が入力する問い合せコードが、正規の問い合せコード発行処理によって発行された問い合せコードであるかどうかを検定する方法として、問い合せコードの発行時に問い合せコード管理テーブルに記録していた問い合せコードと個人情報参照者が入力した問い合せコードを照合する方法をとっていた。そのため、問い合せコードを発行するたびごとに問い合せコード管理テーブルにレコードを追加していく必要があり、問い合せコード発行処理の回数に比例して問い合せコード管理テーブルの容量が増加してしまうという問題があった。
【０１４３】
本実施例は上記の問題を解決することを目的とし、発行する個々の問い合せコードに対応した情報を記録する必要をなくしている。本実施例では、暗号技術を応用した問い合せコード生成方法を用いることにより、発行する個々の問い合せコードに対応したレコードを記録することなしに、個人情報参照者が入力する問い合せコードを検定することを可能にしている。
【０１４４】
まず、本実施例の原理について説明する。
【０１４５】
本実施例では、問い合せコード発行処理において、個人情報登録者が入力した登録者と参照者ＩＤの関数として問い合せコードを生成する。ここで用いる関数である問い合せコード生成関数の関数式は利用者には非公開であり、登録者ＩＤと参照者ＩＤを元に利用者が正規の問い合せコード発行処理によらずに独自に問い合せコードを算出することができないようになっている。
【０１４６】
一方の個人情報出力処理では、個人情報参照者に、登録者ＩＤと参照者ＩＤと問い合せコードを入力させ、入力された登録者ＩＤと参照者ＩＤを元に問い合せコードを再計算し、入力された問い合せコードと再計算した問い合せコードとを照合する。入力された問い合せコードと再計算した問い合せコードが一致すれば、入力された問い合せコードは正規の問い合せコード発行処理によって得られたコードであるとみなすことができる。
【０１４７】
ここでもしもある個人情報参照者が、個人情報登録者に無断で個人情報を出力させようとした場合には、かかる個人情報参照者は、かかる個人情報登録者の登録者ＩＤと自身の参照者ＩＤの組み合わせに対応する問い合せコードを入手しなければならない。ところが、問い合せコードの正規の入手方法である、問い合せコード発行処理は、個人情報登録者の登録者パスワードを入力しなければ実行できないので、それを知らない、かかる個人情報参照者に問い合せコード発行処理を実行させることはできない。他方、問い合せコード発行処理を経ずに、問い合せコードを独自に算出しようとしても、問い合せコードを生成する関数式を知らない限りそれは不可能である。すなわち個人情報参照者が問い合せコードを入手するには、個人情報の持ち主である個人情報登録者が正規の問い合せコード発行処理によって問い合せコードを発行させた場合に限られる。
【０１４８】
以上の原理を図を用いて説明する。
【０１４９】
まず、図３１に、本実施例における問い合せコード生成処理の原理図を示す。本実施例では、問い合せコード生成処理において、個人情報登録者が入力した登録者ＩＤ６２０１と参照者ＩＤ６２０２を連接して二次記憶装置１４０に設ける平文領域１４９１に格納し、問い合せコード生成関数を実装したルーチンである関数型問い合せコード生成ルーチン１４８０を起動する。関数型問い合せコード生成ルーチン１４８０は平文領域１４９１の内容の関数として問い合せコード１４９２を計算して出力する。このように生成された問い合せコード１４９２は個人情報登録者に出力される。
【０１５０】
次に、図３２に、本実施例における問い合せコード検定処理の原理図を示す。本実施例では問い合せコード検定処理において、個人情報参照者が入力した登録者ＩＤ６３０１と参照者ＩＤ６３０３を連接して平文領域１４９１に格納し、関数型問い合せコード生成ルーチン１４８０を起動する。関数型問い合せコード生成ルーチン１４８０は平文領域１４９１の内容の関数として問い合せコード１４９２を計算して出力する。次に、計算した問い合せコード１４９２と個人情報参照者が入力した問い合せコード６３０２とを比較し、両者が一致したら正規の問い合せコードが入力されたとみなす。
【０１５１】
次に、本実施例の構成について説明する。
【０１５２】
本実施例は第二の実施例の構成を基本としており、二次記憶装置上に格納するテーブルの構造と、プログラムの処理内容が異なる。以下に第二の実施例との相違点について説明する。
【０１５３】
本実施例における端末装置の表示や利用者の操作方法は第二の実施例と同一である。すなわち、個人情報登録者は個人情報参照者を指定して問い合せコード発行処理を指示し、個人情報参照者は自身の参照者ＩＤと参照者パスワードを入力した上で個人情報を取得する。
【０１５４】
図３３は、本実施例で二次記憶装置１５０に格納する情報の構成図である。二次記憶装置１５０には、第二の実施例で設けていた個人情報テーブル１５１０と、登録者管理テーブル１５３０と画面データファイル群１５９０と、本実施例において新たに設ける秘密鍵ファイル１５７０を格納する。秘密鍵ファイルは問い合せコード生成関数がパラメータとして用いるデータを格納したファイルである。
【０１５５】
図３４は、秘密鍵ファイル１５７０の構成図である。秘密鍵ファイル１５７０は、関数型問い合せコード生成ルーチン１４８０が使用するパラメータである秘密鍵データ１５７１を格納している。秘密鍵データ１５７１には、装置の運用に先立って乱数により生成した値を格納しておき、その具体的な値は利用者には公開しないでおく。
【０１５６】
図３５は、本実施例における問い合せコード発行プログラム１４２０ｃの処理内容を示したＰＡＤ図である。問い合せコード発行プログラム１４２０ｃは、第二の実施例における問い合せコード発行プログラム１４２０ａに置き換えて設けるルーチンであり、以下のステップを有する。
【０１５７】
（ステップ５１５０１）問い合せコード発行プログラム１４２０ｃは、入力された登録者ＩＤ６２０１、登録者パスワード６２０２、参照者ＩＤ６２０３をワークエリア１４４０に格納する。
【０１５８】
（ステップ５１５０２）問い合せコード発行プログラム１４２０ｃは、個人情報
参照者認証ルーチン１４２１０を呼び出して、登録者ＩＤ６２０１と登録者パスワード６２０２を照合する。
【０１５９】
（ステップ５１５０３）問い合せコード発行プログラム１４２０ｃは、個人情報
参照者認証ルーチン１４２１０の戻り値がＴＲＵＥ，すなわちパスワードが正しければステップ５１５０４〜５１５０６を、戻り値がＦＡＬＳＥ、すなわちパスワードが正しくなければステップ５１５０７を実行する。
【０１６０】
（ステップ５１５０４）問い合せコード発行プログラム１４２０ｃは、登録者ＩＤ６２０１と、参照者ＩＤ６２０３を連接して平文領域１４９１に格納する。
【０１６１】
（ステップ５１５０５）問い合せコード発行プログラム１４２０ｃは、関数型問い合せコード生成ルーチン１４８０を呼び出して、問い合せコードを生成する。
【０１６２】
（ステップ５１５０６）問い合せコード発行プログラム１４２０ｃは、関数型問い合せコード生成ルーチン１４８０の戻り値の問い合せコードを元に、問い合せコード通知画面６４０に対応する問い合せコード通知データを生成して通信制御プログラム１４１０に出力する。
【０１６３】
（ステップ５１５０７）問い合せコード発行プログラム１４２０ｃは、パスワードが不正であった旨を伝えるエラー通知データを通信制御プログラム１４１０に出力して終了する。
【０１６４】
以上の処理により、問い合せコードは個人情報登録者が登録者ＩＤとそれに対応する正しい登録者パスワードを入力した場合に限り発行される。ここで発行される問い合せコードは個人情報登録者が入力した登録者ＩＤと参照者ＩＤの組の関数として計算される。
【０１６５】
図３６は、本実施例における個人情報出力プログラム１４３０ｂの処理内容を示したＰＡＤ図である。本プログラムは、第二の実施例における個人情報出力プログラム１４３０に置き換えて設けるプログラムであり、以下のステップを有する。
【０１６６】
（ステップ５１６０１）個人情報出力プログラム１４３０ｂは、入力された登録者ＩＤ６３０１と、問い合せコード６３０２と、参照者ＩＤ６３０３と参照者パスワード６３０４をワークエリア１４５０に格納する。
【０１６７】
（ステップ５１６０２）個人情報出力プログラム１４３０ｂは、参照者認証ルーチン１４３３０を呼び出して、参照者ＩＤ６３０３と参照者パスワード６３０４を照合して、戻り値として照合の結果を示す論理値を得る。
【０１６８】
（ステップ５１６０３）個人情報出力プログラム１４３０ｂは、参照者認証ルーチン１４３３０の戻り値がＦＡＬＳＥ，すなわち参照者パスワードが不正であった場合にはパスワードが不正である旨を告げるエラー通知データを通信制御プログラム１４１０に出力して終了する（ステップ５１６０４）
（ステップ５１６０５）個人情報出力プログラム１４３０ｂは、登録者ＩＤ６３０１と参照者ＩＤ６３０３を連接して平文領域１４９１に格納する。
【０１６９】
（ステップ５１６０６）個人情報出力プログラム１４３０ｂは、関数型問い合せコード検定ルーチン１４３５０を呼び出して問い合せコード６３０２を照合し、照合結果を示す論理値を戻り値として得る。
【０１７０】
（ステップ５１６０７）個人情報出力プログラム１４３０ｂは、関数型問い合せコード検定ルーチン１４３５０の戻り値がＦＡＬＳＥ、すなわち問い合せコードが不正であった場合には問い合せコードが不正である旨を告げるエラー通知データを通信制御プログラム１４１０に出力して終了する（ステップ５１６０８）。
【０１７１】
（ステップ５１６０９）個人情報出力プログラム１４３０ｂは、個人情報テーブル１５１０から登録者ＩＤ６３０１に対応するレコードを読み出し、ワークエリア１４５０に格納する。
【０１７２】
（ステップ５１６１０）個人情報出力プログラム１４３０ｂは、読み出したレコードの内容を個人情報通知画面６５０に対応する個人情報通知データに変換して通信制御プログラム１４１０に出力する。
【０１７３】
以上の処理により、個人情報参照者が入力した参照者ＩＤと参照者パスワードが対応し、さらに登録者ＩＤと参照者ＩＤの組み合わせが、個人情報参照者が入力した問い合せコードに対応した場合に限り、入力された登録者ＩＤに関する個人情報が出力される。すなわち、個人情報出力処理を実行させることができるのは参照者パスワードを知っている個人情報参照者本人であり、さらにかかる個人情報参照者は問い合せコード発行処理において個人情報登録者が参照者ＩＤによって指定した個人情報参照者である場合に限られる。
【０１７４】
図３７は、本実施例において主記憶装置１４０に設ける関数型問い合せコード生成ルーチン１４８０の処理内容を示したＰＡＤ図である。関数型問い合せコード生成ルーチン１４８０は、問い合せコード生成関数を実装したルーチンであり、主記憶装置１４０に設ける平文領域１４９１に格納されたデータから問い合せコードを関数式によって求めて出力する。
【０１７５】
本実施例では問い合せコードを算出する関数式の一例として、暗号アルゴリズムの一種として提案されているメッセージダイジェスト関数を応用した関数式を用いる。メッセージダイジェスト関数は、前掲書のp.218に紹介されているように、可変長の、典型的には長大な入力データに対して固定長の短いダイジェストデータを出力する関数であり、入力データの僅かな差異が出力データの大きな変化となって現れることを特徴としている。そのため、データの改竄を受ける危険性のある伝送路を用いてデータを送信する場合に送信対象データの改竄の検出に用いられている。メッセージダイジェスト関数の具体的な関数式としてはダイジェストデータの長さや計算量の異なる各種の関数が提案されているが、本実施例では出力されるダイジェストデータの長さが、人手によって書き移すのに不自由のない長さになれば、どのような関数式を用いてもかまわない。
【０１７６】
本実施例では平文領域１４９１に、利用者には非公開のデータである秘密鍵データ１５７１を追加してからメッセージダイジェスト関数を適用するようにしている。これにより、本ルーチン全体としての関数式は利用者には非公開の関数式になる。すなわち、本ルーチンの処理内容が第三者に知られた場合であっても秘密鍵データ１５７１の具体的な値を知ること無しに、第三者は本ルーチンに代って独自に問い合せコードを計算することは不可能である。
【０１７７】
関数型問い合せコード生成ルーチン１４８０の処理の各ステップを図３７に従って説明する。
【０１７８】
（ステップ５１７０１）関数型問い合せコード生成ルーチン１４８０は、平文領域１４９１に秘密鍵データ１５７１を追加する。
【０１７９】
（ステップ５１７０２）関数型問い合せコード生成ルーチン１４８０は、平文領域１４９１のメッセージダイジェストを計算して問い合せコードとする。
【０１８０】
（ステップ５１７０２）関数型問い合せコード生成ルーチン１４８０は、計算した問い合せコードを戻り値として返す。
【０１８１】
以上の処理により、平文領域１４９１に格納された登録者ＩＤと参照者ＩＤの関数として問い合せコードが生成される。
【０１８２】
図３８は、本実施例において設ける関数型問い合せコード検定ルーチン１４３５０の処理内容を示すＰＡＤ図である。関数型問い合せコード検定ルーチン１４３５０は、個人情報出力プログラム１４３０ｂから呼び出され、個人情報参照者が入力し、個人情報出力プログラムが平文領域１４９１に格納したデータから問い合せコードを計算し、計算された問い合せコードと個人情報参照者が入力した問い合せコードを照合することによって問い合せコードの検定を行うルーチンである。本ルーチンは以下のステップを有する。
【０１８３】
（ステップ５１８０１）関数型問い合せコード検定ルーチン１４３５０は、関数型問い合せコード生成ルーチン１４８０を呼び出して、入力されたデータから問い合せコードを計算する。
【０１８４】
（ステップ５１８０２）関数型問い合せコード検定ルーチン１４３５０は、計算した問い合せコードと入力された問い合せコード６３０２が一致する、すなわち入力された問い合せコードが正しければＴＲＵＥを返し（ステップ５１８０３）、両者が一致しない、すなわち入力された問い合せコードが誤っていればＦＡＬＳＥを返す（ステップ５１８０４）。
【０１８５】
以上の処理により、個人情報参照者が入力した登録者ＩＤと参照者ＩＤが、個人情報参照者が入力した問い合せコードと対応する場合にのみ、本ルーチンは問い合せコードの検定が成功したことを意味するＴＲＵＥを返す。
【０１８６】
以上説明したように、本実施例によれば、問い合せコード発行処理の度に二次記憶装置上のテーブルにレコードを追加する必要をなくすことが可能となる。
【０１８７】
《第五の実施例》
第四の実施例では、全ての問い合せコード発行処理において共通の秘密鍵データ１５７１を使用しているために、関数型問い合せコード生成ルーチン１４８０の処理内容と秘密鍵データ１５７１の具体的な値が個人情報参照者に知られてしまった場合には、かかる個人情報参照者は任意の登録者ＩＤと自身の参照者ＩＤに対応する問い合せコードを、独自に計算することができてしまう。その結果、かかる個人情報参照者は任意の個人情報登録者に問い合せコード発行処理を実行してもらわなくても、個人情報を取得できてしまうという問題がある。本実施例は上記の問題を解決することを目的としており、複数の秘密鍵データを用意し、登録者ＩＤに応じてそれらの秘密鍵を使い分けることによっていずれかの秘密鍵データが知られてしまった場合であっても、それが直ちに全ての個人情報登録者に関する個人情報の漏洩につながらないようにしている。秘密鍵データは登録者ＩＤと一対一にで設けてもよいが、以下で説明する構成では、固定した数の秘密鍵データを設け、それぞれの秘密鍵データに秘密鍵ＩＤを振り、登録者ＩＤの関数によって秘密鍵ＩＤを決定することにより、秘密鍵データの数を減らすようにしている。また、登録者ＩＤから秘密鍵ＩＤを決定する関数の例として本実施例では登録者ＩＤの下三桁の数字を用いている。登録者ＩＤから秘密鍵ＩＤを決定する関数として他の関数式を用いることも可能である。
【０１８８】
以下に、本実施例の構成を説明する。本実施例は第四の実施例を基本として構成されており、以下の要素が第四の実施例と異なる。
【０１８９】
図３９は本実施例において、二次記憶装置１５０に追加する秘密鍵テーブル１５８０の構成図である。秘密鍵テーブル１５８０は、秘密鍵ＩＤと対応づけて複数の秘密鍵データを記憶するためのテーブルであり、秘密鍵ＩＤフィールド１５８１と秘密鍵データフィールド１５８２を有する。
【０１９０】
秘密鍵テーブル１５８０には、個人情報管理装置１０１の運用前に、“０００”から“９９９”の間の１０００通りの秘密鍵ＩＤに対応してそれぞれ秘密鍵データを乱数によって生成して登録しておく。
【０１９１】
図４０は、第四の実施例における問い合せコード生成ルーチン１４８０に置き換えて本実施例で設ける関数型問い合せコード生成ルーチン１４８０ａの処理内容を示したＰＡＤ図である。関数型問い合せコード生成ルーチン１４８０ａは、登録者ＩＤに対応した秘密鍵データを秘密鍵テーブル１５８０から検索して問い合せコードを生成するようにしている。本ルーチンの処理内容を図に従って説明する。
【０１９２】
（ステップ５２１０１）関数型問い合せコード生成ルーチン１４８０ａは、平文領域１４９１に格納された登録者ＩＤ６２０１の下三桁を秘密鍵ＩＤとする。
【０１９３】
（ステップ５２１０２）関数型問い合せコード生成ルーチン１４８０ａは、算出した秘密鍵ＩＤをキーとして秘密鍵管理テーブル１５８０を検索する。
【０１９４】
（ステップ５２１０３）関数型問い合せコード生成ルーチン１４８０ａは、検索したレコードの秘密鍵フィールド１５８２の内容を、平文領域１４９１に追加する。
【０１９５】
（ステップ５２１０４）関数型問い合せコード生成ルーチン１４８０ａは、平文領域１４９１のメッセージダイジェストを計算して問い合せコードとする。
【０１９６】
（ステップ５２１０５）関数型問い合せコード生成ルーチン１４８０ａは、計算した問い合せコードを返す。
【０１９７】
以上の処理によれば、登録者ＩＤに応じて異なった秘密鍵データが用いられるようになる。
【０１９８】
《第六の実施例》
第一〜第５の実施例では端末装置２０として汎用の計算機を用い、個人情報管理装置１０と端末装置２０の間を通信網で接続した構成を示したが、その構成では本発明を利用しようとする個人情報登録者や個人情報参照者は通信網に接続された計算機を所有しなければならず、利用者が負担しなければならないコストが高いという問題がある。本実施例は、上記の問題点を解決して利用者が負担しなければならないコストを低減することを目的としており、端末として一般に普及しているプッシュホンやファクシミリ装置を利用している。
【０１９９】
本実施例では第一〜第五の実施例において画面上の表示として利用者に出力していた操作案内や出力結果を音声ガイドやＦＡＸの出力によって置き換えている。一方、利用者から装置への入力はプッシュホンによる発信音による入力で置き換えている。
【０２００】
図４１は、本実施例のシステム構成図である。本実施例では個人情報管理装置１０ａは電話網３０ａを経由して、個人情報登録者が端末装置として利用するプッシュホン２０ａや、個人情報参照者が端末装置として利用するファクシミリ装置２０ｂに接続されている。
【０２０１】
図４２は、本実施例における個人情報管理装置１０ａの構成図である。
【０２０２】
本実施例における個人情報管理装置１０ａは、第一の実施例における個人情報管理装置１０を基本として、以下の要素を置き換えて構成している。
【０２０３】
まず、ネットワークインタフェース回路１２０に換えて、電話網３０ａに接続された電話回線インタフェース回路１２０ａを設ける。電話回線インタフェース回路１２０ａは、ＣＰＵ１１０からの指示に従って電話の着信処理と、プッシュホンからの発信音の受信処理と、案内音声やＦＡＸデータの送信処理を行う回路である。
【０２０４】
次に、主記憶上の通信制御プログラム１４１０に換えて、音声・ＦＡＸ応答型通信制御プログラム１４１０ａを設ける。音声・ＦＡＸ応答型通信制御プログラム１４１０ａは、通信制御プログラム１４１０が端末装置２０と送受信していたデータを以下の形式に置き換えて送受信するプログラムである。
【０２０５】
（１）  操作の案内と、入力を促す画面データを出力する代わりに、その画面に相当する案内音声を出力する。個人情報出力画面６５０のように情報量が多い画面に対しては、画面に表示すべきデータをＦＡＸデータに変換して出力する。
【０２０６】
（２）  利用者に画面上で処理を選択させたり、登録者ＩＤなどのデータを入力させる代わりに、プッシュホンの発信音によってデータを入力させる。
【０２０７】
上記の構成によれば、利用者は一般に普及しているプッシュホンやファクシミリ装置を端末装置として利用することができるので、利用者が負担すべきコストを低減することが可能である。
【０２０８】
【発明の効果】
本発明によれば、住民票データや印鑑証明データを始めとする個人情報を管理し、個人情報の持ち主の要請によって個人情報データを出力する個人情報管理装置において、個人情報登録者が指定する特定の個人情報参照者に対してのみ、個人情報をオンラインで取得させることが可能となる。また、個人情報登録者と、上記の特定の個人情報参照者との間で、電子化されたデータを授受する必要をなくすことが可能となる。
【図面の簡単な説明】
【図１】第一の実施例のシステム構成図である。
【図２】個人情報管理装置１０の構成図である。
【図３】二次記憶装置１５０の構成図である。
【図４】個人情報テーブル１５１０の構成図である。
【図５】問い合せコード管理テーブル１５２０の構成図である。
【図６】登録者管理テーブル１５３０の構成図である。
【図７】画面データファイル群１５９０の構成図である。
【図８】処理選択画面６１０の構成図である。
【図９】問い合せコード発行申請画面６２０の構成図である。
【図１０】個人情報出力申請画面６３０の構成図である。
【図１１】問い合せコード通知画面６４０の構成図である。
【図１２】個人情報通知画面６５０の構成図である。
【図１３】問い合せコード発行プログラム１４２０のＰＡＤ図である。
【図１４】個人情報登録者認証ルーチン１４２１０のＰＡＤ図である。
【図１５】問い合せコード生成ルーチン１４２２０のＰＡＤ図である。
【図１６】個人情報出力プログラム１４３０のＰＡＤ図である。
【図１７】問い合せコード検定ルーチン１４３１０のＰＡＤ図である。
【図１８】問い合せコード発行申請画面６２０ａの構成図である。
【図１９】個人情報出力申請画面６３０ａの構成図である。
【図２０】参照者管理テーブル１５４０の構成図である。
【図２１】参照者指定テーブル１５５０の構成図である。
【図２２】問い合せコード発行プログラム１４２０ａのＰＡＤ図である。
【図２３】参照者記録ルーチン１４２３０のＰＡＤ図である。
【図２４】個人情報出力プログラム１４３０ａのＰＡＤ図である。
【図２５】個人情報参照者認証ルーチン１４３３０のＰＡＤ図である。
【図２６】参照者位置検査ルーチン１４３４０のＰＡＤ図である。
【図２７】有効期限管理テーブル１５６０の構成図である。
【図２８】問い合せコード発行プログラム１４２０ｂのＰＡＤ図である。
【図２９】有効期限記録ルーチン１４２４０のＰＡＤ図である。
【図３０】問い合せコード検定ルーチン１４３１０ａのＰＡＤ図である。
【図３１】第四の実施例における問い合せコードの生成方法の原理図である。
【図３２】第四の実施例における問い合せコードの検定方法の原理図である。
【図３３】第四の実施例における二次記憶装置１５０の構成図である。
【図３４】秘密鍵ファイル１５７０の構成図である。
【図３５】問い合せコード発行プログラム１４２０ｃのＰＡＤ図である。
【図３６】個人情報出力プログラム１４３０ｂのＰＡＤ図である。
【図３７】関数型問い合せコード生成ルーチン１４８０のＰＡＤ図である。
【図３８】関数型問い合せコード検定ルーチン１４３５０のＰＡＤ図である。
【図３９】秘密鍵テーブル１５８０の構成図である。
【図４０】関数型問い合せコード生成ルーチン１４８０ａのＰＡＤ図である。
【図４１】第６の実施例のシステム構成図である。
【図４２】個人情報管理装置１０ａの構成図である。
【図４３】本発明の動作説明図である。
【符号の説明】
１０…個人情報管理装置、２０…端末装置、３０…ネットワーク、１１０…ＣＰＵ、１２０…ネットワークインタフェース回路、１３０…二次記憶装置制御回路、１４０…主記憶装置、１５０…二次記憶装置、２３０…契約書類、６１０…処理選択画面、６２０…問い合せコード発行申請画面、６３０…個人情報出力申請画面、６４０…問い合せコード通知画面、６５０…個人情報通知画面、７１…個人情報登録者、７２…個人情報参照者、１４１０…通信制御プログラム、１４２０…問い合せコード発行プログラム、１４３０…個人情報出力プログラム、１４４０…ワークエリア、１４５０…ワークエリア、１４６０…テーブル管理ライブラリ、１４７０…ＯＳ、１４８０…関数型問い合せコード生成ルーチン、１５１０…個人情報テーブル、１５２０…問い合せコード管理テーブル、１５３０…登録者管理テーブル、１５４０…参照者管理テーブル、１５５０…参照者指定テーブル、１５６０…有効期限管理テーブル、１５７０…秘密鍵ファイル、１５８０…秘密鍵テーブル、１４２１０…個人情報登録者認証ルーチン、１４２２０…問い合せコード生成ルーチン、１４２３０…参照者記録ルーチン、１４２４０…有効期限記録ルーチン、１４３１０…問い合せコード検定ルーチン、１４３３０…参照者認証ルーチン、１４３４０…参照者一致検査ルーチン、１４３５０…関数型問い合せコード検定ルーチン。
【図１】
0004006796.tif 000002
【図２】
0004006796.tif 000003
【図３】
0004006796.tif 000004
【図４】
0004006796.tif 000005
【図５】
0004006796.tif 000006
【図６】
0004006796.tif 000007
【図７】
0004006796.tif 000008
【図８】
0004006796.tif 000009
【図９】
0004006796.tif 000010
【図１０】
0004006796.tif 000011
【図１１】
0004006796.tif 000012
【図１２】
0004006796.tif 000013
【図１３】
0004006796.tif 000014
【図１４】
0004006796.tif 000015
【図１５】
0004006796.tif 000016
【図１６】
0004006796.tif 000017
【図１７】
0004006796.tif 000018
【図１８】
0004006796.tif 000019
【図１９】
0004006796.tif 000020
【図２０】
0004006796.tif 000021
【図２１】
0004006796.tif 000022
【図２２】
0004006796.tif 000023
【図２３】
0004006796.tif 000024
【図２４】
0004006796.tif 000025
【図２５】
0004006796.tif 000026
【図２６】
0004006796.tif 000027
【図２７】
0004006796.tif 000028
【図２８】
0004006796.tif 000029
【図２９】
0004006796.tif 000030
【図３０】
0004006796.tif 000031
【図３１】
0004006796.tif 000032
【図３２】
0004006796.tif 000033
【図３３】
0004006796.tif 000034
【図３４】
0004006796.tif 000035
【図３５】
0004006796.tif 000036
【図３６】
0004006796.tif 000037
【図３７】
0004006796.tif 000038
【図３８】
0004006796.tif 000039
【図３９】
0004006796.tif 000040
【図４０】
0004006796.tif 000041
【図４１】
0004006796.tif 000042
【図４２】
0004006796.tif 000043
【図４３】
0004006796.tif 000044