JP5417628B2 - 署名サーバ、署名システム、および、署名処理方法 - Google Patents

署名サーバ、署名システム、および、署名処理方法 Download PDF

Info

Publication number
JP5417628B2
JP5417628B2 JP2011086121A JP2011086121A JP5417628B2 JP 5417628 B2 JP5417628 B2 JP 5417628B2 JP 2011086121 A JP2011086121 A JP 2011086121A JP 2011086121 A JP2011086121 A JP 2011086121A JP 5417628 B2 JP5417628 B2 JP 5417628B2
Authority
JP
Japan
Prior art keywords
signature
signer
server
request
certificate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011086121A
Other languages
English (en)
Other versions
JP2012222594A (ja
Inventor
大介 鬼頭
慎吾 羽根
千恵美 鎌倉
広行 曽根
順子 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2011086121A priority Critical patent/JP5417628B2/ja
Publication of JP2012222594A publication Critical patent/JP2012222594A/ja
Application granted granted Critical
Publication of JP5417628B2 publication Critical patent/JP5417628B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、電子署名を依頼する署名サーバに関し、特に、依頼者が署名者に電子署名を依頼する場合に、署名者の電子署名の正当性を確保・検証する技術に関する。
近年、様々な分野で紙の電子化が進んでいる。電子文書の正当性を保証する技術として、電子署名技術がある。電子署名を用いることで、文書が改竄されてないか、誰が署名したか等を確認することができる。
依頼者が他者に電子署名の実施を依頼する公知技術として、特許文献1がある。特許文献1の技術によれば、署名の依頼者は、署名させたい情報を事前に文書に書込んでおき、署名者はその文書を見て署名を実施する。これにより、依頼者と署名者間で、何に対しての署名か、文書内容に同意したか等について、意識の相違を防止し、意思の一致ができるようになる。
また、上記以外の公知技術として、署名の依頼、実施をワークフロー形式でシステム化し、複数署名者が連続して署名する場合でも効率的に処理する技術がある(非特許文献1、非特許文献2)。非特許文献1及び非特許文献2では、署名サーバをホスティングサービスとして提供し、署名依頼者や署名者など、署名に関わるユーザは皆、一つの署名サーバを利用する。当該サービスでは、異なる企業のユーザ間であっても、署名の依頼、実施を行うことができる。署名依頼者は、署名者や署名対象、選択すべき署名理由などを設定して処理フローを行うことで、自分が意図したように署名者に署名させることが可能になる。
米国特許出願公開2007/0061578号公報
"CertaSign Online Help Contents"、[online]、Gemini Security Solutions, Inc.、[平成22年12月10日検索]、インターネット<URL:https://app.certasign.com/help/Helpv1.aspx> "MySignatureBook 1.1.3 FAQ"、[online]、TriCipher, Inc.、[平成22年12月10日検索]、インターネット<URL:https://safe-msb.tricipher.com/signaturebook/MSB_help.pdf>
上記の公知技術では、全ての署名者が同一の署名サーバ上で署名を行う必要がある。しかしながら、必ずしも全ての署名者が同じ署名サーバを使うケースばかりとは限らない。例えば、署名者が別の署名環境を使う場合(自社で集中管理する署名サーバを使う場合や、クライアントマシン側の署名ソフトを使う場合など)も考えられ、上記公知技術では、そのような場合に署名依頼を行うことができないという問題がある。特に異なる企業のユーザ間で署名の依頼、作成を行う場合は、企業によって使用する署名環境も異なると考えられる。例えば、一方のユーザは、ホスティングサービスの署名サーバを使用し、他方のユーザは、自社の署名サーバを使用して署名する等の状況が多数生じると考えられる。
上記のような署名環境の異なるユーザ間で署名の依頼・作成を行う状況でも署名依頼者が指定する条件で署名者に署名させるには、実施された署名が署名依頼者の指定した条件に合致するか検証する仕組みが別途必要である。
また、上記公知技術では、署名者の署名環境(例えば、署名依頼者により指定された証明書を持っているか、また、そもそも署名機能を持っているか等)までは考慮しておらず、署名者が署名環境を持ってない場合の処理については示されていない。
本発明は、上述した問題に鑑みてなされたものであり、署名者の署名環境を判別し、署名者の署名環境が様々である場合でも、署名依頼者が意図した署名条件で署名者に署名させることが可能な署名システムを提供することを目的とする。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、一以上の計算機に接続される署名サーバであって、前記署名サーバは、前記計算機に接続される一以上のインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、前記署名サーバは、署名依頼先の署名者を特定する署名者特定部と、前記特定された署名者が前記署名サーバの利用を許可されている内部ユーザであるか否かを判定するユーザ判定部と、前記署名者が内部ユーザであると判定された場合、前記署名者が使用する計算機に対して前記署名サーバを利用した署名実施を依頼し、前記署名者が内部ユーザではないと判定された場合、前記署名者が使用する計算機に対して前記署名サーバの利用要否を問い合わせるユーザ連携部と、前記署名サーバの利用要否の問い合わせに対して、前記署名サーバを利用するとの応答があった場合、前記署名者の証明書を取得できるときは、前記証明書を取得、取得した前記証明書が適正ではないと判定すると、前記署名者が使用する計算機に対して前記署名者の前記証明書の適正化を依頼する署名環境判定部と、署名を実施する署名生成部と、を備え、前記ユーザ連携部は、前記署名環境判定部が取得した前記証明書が適正であると判定された場合、または、適正化された前記証明書を前記署名者が使用する計算機から取得した場合には、前記署名者が使用する計算機に対して前記署名サーバを利用した署名実施を依頼し、前記ユーザ連携部は、前記署名サーバの利用要否の問い合わせに対して、署名者側で署名を実施するとの応答があった場合、前記署名者が使用する計算機に署名者側での署名実施を依頼前記署名生成部は、前記ユーザ連携部が、前記署名者が使用する計算機に対して前記署名サーバを利用した署名実施を依頼した場合、前記署名者が使用する計算機からの指示に応じて、前記署名者の適正な証明書を使用して署名を実施する、ことを特徴とする。
本発明の代表的な実施の形態によれば、署名者の署名環境が様々である場合でも、署名依頼者が意図した署名条件で署名者に署名させることができる。
本発明の第1の実施形態における署名システムのハードウェアおよびソフトウェア構成を示すブロック図である。 第1の実施形態におけるアカウント情報の一例を示す図である。 第1の実施形態における署名依頼情報の一例を示す図である。 署名条件情報の一例を示す図である。 第2の実施形態の変形例における署名条件情報の一例を示す図である。 署名フィールドについて説明するための図である。 本発明の第1の実施形態における外部サーバ情報の一例を示す図である。 本発明の第1の実施形態における署名サーバが実行する、署名依頼、署名環境の判別、署名の実施および検証についての処理の一例を示すフローチャートである。 本発明の第2の実施形態における署名サーバが実行する、署名依頼、署名環境の判別、署名の実施および検証についての処理の一例を示すフローチャートである。 本発明の第3の実施形態における署名システムで行われる署名の依頼、代行処理の一例を示すフローチャートである。 本発明の第3の実施形態における署名システムの構成を示す図である。
以下、本発明の実施の形態について説明する。尚、以下に説明する実施の形態は一例であって、本発明はこれに限定されるものではない。
<第1の実施形態>
図1は、本発明の第1の実施形態における署名システムのハードウェアおよびソフトウェア構成を示すブロック図である。第1の実施形態における署名システムは、1以上の署名サーバ101a及び101b(以下、これらを総称して署名サーバ101とも記載する)と、1以上の自社署名サーバ128と、1以上のOCSPサーバ117と、1以上のタイムスタンプサーバ118と、署名機能を持たない1以上のクライアント端末119a及び119b(以下、これらを総称してクライアント端末119とも記載する)と、署名機能を備える1以上のクライアント端末120と、を備える。
自社署名サーバ128は、同じ組織内のクライアント端末119bからアクセス可能である。
署名サーバ101、クライアント端末120、自社署名サーバ128は、それぞれI/F104、123、131を介してネットワークに接続される。署名サーバ101は、I/F104を介して、クライアント端末119等の外部機器に対して、操作要求の受付けや操作の指示を行う。
署名サーバ101は、メモリ102、CPU103、およびI/F104を備える。
CPU103は、I/F104を介して、クライアント端末119等の外部機器からの操作要求の受信および当該操作の実行や、外部機器に対して署名依頼の通知や操作結果の送信などを行う。
メモリ102は、アカウント管理プログラム105、署名生成プログラム106、署名検証プログラム107、署名条件管理プログラム108、ユーザ連携プログラム109、署名環境判定プログラム110、外部サーバ連携プログラム111、アカウント情報112、署名依頼情報113、署名条件情報114、外部サーバ情報115、署名文書情報116を備え、CPU103およびI/F104と接続されている。
クライアント端末120は、CPU122、メモリ121およびI/F123を備える。
CPU122は、I/F123を介して、署名サーバ101等への操作要求や、署名サーバ101等からの操作指示の受付を行う。メモリ121は、署名生成プログラム124、署名検証プログラム125、外部サーバ連携プログラム126を備え、CPU122およびI/F123と接続されている。
自社署名サーバ128は、メモリ129、CPU130、およびI/F131を備え、クライアント端末119bと接続されている。メモリ129は、署名生成プログラム132、署名検証プログラム133、外部サーバ連携プログラム134を備え、CPU130、およびI/F131と接続されている。CPU130は、I/F131を介して、署名サーバ101やクライアント端末119b等と通信を行う。
次に、本実施形態における署名システムのソフトウェア構成の詳細について説明する。
最初に、署名サーバ101のメモリ102に格納されているプログラム以外の情報について説明し、その後、メモリ102に格納されているプログラム情報について説明する。
アカウント情報112は、署名サーバ101を使用するユーザを認証するために使用する情報である。
図2は、第1の実施形態におけるアカウント情報112の一例を示す図である。アカウント情報112には、項目201、202、203、204の四つのデータ項目が含まれる。項目201は、ユーザを一意に識別するためのユーザIDを示す。項目202は、署名サーバにログインする際に必要なパスワードを示す。項目203は、ユーザのメールアドレスの情報を示す。項目204は、署名サーバを使うためのアカウントの発行ライセンスがユーザにあるか否かを示す。例えば図2において、userAはライセンス数が10であるので、10個のアカウントを発行する権限があることを示す。例えば、自分以外のユーザにも署名サーバを利用させたい場合に、当該ユーザに対して署名サーバのアカウントを発行する等ができる。図2において、userBはライセンス数が0であり、アカウントを発行することはできない。
署名依頼情報113は、署名依頼者が署名者に署名依頼するにあたり、誰にどんな条件で何に署名させるかを示す情報である。
図3は、第1の実施形態における署名依頼情報113の一例を示す図である。署名依頼情報113には、項目301、302、303、304、305、306の六つのデータ項目が含まれる。項目301は、署名依頼者が行なっている署名依頼を識別するための依頼番号を示す。項目302は、署名依頼を行っている依頼者の情報を示す。項目303は、当該署名依頼によって署名させたいユーザ(署名者)を示す。
項目304は、どのような条件で署名者に署名させるかの署名条件の情報を示す。本項目は、後述する署名条件情報114を参照する。項目305は、当該署名依頼において署名して貰いたい文書を示す。項目306は、当該署名依頼の進捗状況を示す。例えば図3において、依頼番号1のステータスは「済」であり、依頼した署名者による署名が完了していることを示す。依頼番号2のステータスは「未済(1/2)」であり、依頼した署名者2人のうち1人目の署名までが終わっていることを示す。
署名条件情報114は、署名依頼者が署名者に署名依頼する際の署名の条件(例えば署名の期限など)を示す情報であり、署名依頼者が署名依頼する前に設定する。
図4は、署名条件情報114の一例を示す図である。図4(a)は、第1の実施形態における署名条件情報114の一例を示し、図4(b)は、後述する第2の実施形態における署名条件情報114の一例を示す。
署名条件情報114は、1以上の署名条件304で構成される。署名条件304には、項目401、402、403、404、405、406、407の7つのデータ項目が含まれる。項目401は、署名者の署名理由を示す。例えば、文書を署名者に確認させたいという意図で署名を求める場合には「確認」を設定し、文書を署名者に承認させたいという意図で署名を求める場合には「承認」を設定する。また、「確認」と「承認」の両方を設定して署名者にどちらかを選ばせるようにしてもよいし、ユーザに自由に指定させるようにしてもよい。
項目402は、署名させたい署名者の情報を示す。図4に示す例では、署名者のメールアドレスを指定しているが、例えば署名サーバのアカウントIDなど、署名者を特定できるその他の情報でもよい。項目403は、署名の期限を示す。例えば、設定された期限までに署名が行われなかった場合に、署名サーバは署名依頼者に対してアラートを出す等してもよい。
項目404は、文書内において署名データを入れるフィールドの情報であり、文書のどの部分に署名させるかを示す。署名フィールドについて図6を用いて説明する。例えば、上述した項目404で「フィールド1」が設定されていた場合、署名者は、図6の署名フィールド601の部分に署名し、「フィールド2」が設定されていた場合には、署名フィールド602の部分に署名する。
項目405は、依頼する署名において、署名者が署名を実施する際に使用可能な証明書のタイプを示す。例えば、図4に示す例では、証明書タイプは「sampleCA」であり、署名者は、sampleCA、またはその下位の中間CAの発行する証明書であれば、署名に使っていいことを示す。
項目406は、文書への署名において、証明書の有効・無効の検証情報も文書に含める必要があるか否かを示す。例えば、本項目が「要」であれば、署名者またはその他のユーザが、署名に使われた証明書の有効性検証結果も文書に含める。項目407は、文書への署名において、さらにタイムスタンプも文書に含める必要があるか否かを示す。
なお、署名条件情報114に、上記401〜407の項目以外の署名条件に関する情報を含めるようにしてもよい。
外部サーバ情報115は、署名サーバ101が連携する外部のサーバのアドレスを示す情報である。
図7は、本発明の第1の実施形態における外部サーバ情報115の一例を示す図である。外部サーバ情報115には、項目701、702、703の三つのデータ項目が含まれる。
項目701は、証明書の有効性確認に使用するOCSPサーバのアドレス情報である。項目702は、タイムスタンプサーバ118のアドレス情報である。項目703は、その他の署名サーバのアドレス情報である。署名依頼者が署名サーバ101aを使用する場合、その他の署名サーバとは、例えば、署名サーバ101bである。また、その他の署名サーバの例として、電子実験ノートシステムに用いられるサーバが挙げられる。なお、上記以外のサーバ情報があってもいいし、同種類のサーバの情報が複数登録されていてもいい。また、サーバのアドレス情報をURL等で指定してもいい。
署名文書情報116は、署名対象とする文書である。署名文書情報116は、署名依頼者等が署名依頼を行う前に、署名サーバ101にアップロードする等して登録する。なお、署名依頼によって署名された文書や、署名途中の文書を保存するようにしてもよい。
次に、署名サーバ101のメモリ102に格納されているプログラム情報について説明する。
アカウント管理プログラム105は、アカウント情報112に基づいて、署名サーバ101を使用するユーザを認証し、ユーザが要求する操作の実行を許可、または禁止する等の処理を実行するためのプログラムである。
署名生成プログラム106は、文書への署名を行うためのプログラムである。署名処理としては、例えば文書のハッシュ値を生成し、そのハッシュ値を署名者の秘密鍵で暗号化し、この暗号化した値を署名値として文書に付加する。なお、文書のハッシュ値を署名者が使用するクライアント端末に送り、署名者側で当該ハッシュ値をもとに署名値を作成し、署名サーバは、署名者から当該署名値を貰って文書に付加するなど、上記以外の処理でもよい。
署名検証プログラム107は、署名者が実施した署名が適正か否かの検証を行うためのプログラムである。具体的には、署名値が正しいか否か、実施された署名が署名依頼条件を満たしているか等を検証する。
署名条件管理プログラム108は、署名依頼者等の要求に基づき、署名依頼情報113や署名条件情報114の作成、変更、削除等を行うためのプログラムである。署名依頼者は、本プログラムを用いて署名に関する条件を設定し、署名者に署名を依頼することができる。例えば署名依頼者は、本プログラムを用いて署名の依頼内容や条件を設定し、設定した署名依頼の実施要求を署名サーバ101に対して出す。署名サーバ101は、設定した署名依頼で指定された署名者に対して、署名の依頼通知を行う。
ユーザ連携プログラム109は、署名依頼者が設定した署名依頼情報に基づき、署名者への署名依頼通知や署名結果の送信、署名者側で実施した署名の受信等を行うためのプログラムである。例えば、図3の依頼番号1の署名依頼の場合、ユーザ連携プログラム109は、test@test.comのユーザに対して署名依頼通知を出す。
署名環境判定プログラム110は、署名者から受信した署名方法に関する応答結果に基づいて、署名者の署名環境の取得・判別を行うためのプログラムである。署名環境判定プログラム110は、また、署名者の署名環境が署名依頼者の指定する条件に合致するか検証し、合致しない場合は、署名者の署名環境を適正化する等の処理を行うためのプログラムでもある。
外部サーバ連携プログラム111は、外部のサーバ、例えば他の署名サーバ101bやOCSPサーバ117、タイムスタンプサーバ118と連携し、外部の署名サーバへの署名依頼や、OCSP結果やタイムスタンプの取得を行う。
次に、クライアント端末120のメモリ121に格納されている情報、および、自社署名サーバ128のメモリ129に格納されている情報について説明する。
署名生成プログラム124、132は、署名生成プログラム106と同様に、文書への署名を行うためのプログラムである。署名検証プログラム125、133は、署名者が作成した署名が適正か否かの検証を行うためのプログラムである。外部サーバ連携プログラム126、134は、外部のサーバ、例えばOCSPサーバ117等へアクセスして、操作要求、操作結果の受信等を行うためのプログラムである。なお、メモリ121、129は、上記以外の情報、例えばメモリ102に格納されている情報などを含んでもよい。
なお、図1において、クライアント端末A119a、クライアント端末B120、クライアント端末C119bは、それぞれ異なる組織(組織A、組織B、組織C)に属している。例えば、組織Aは、医療機関であり、組織Bは製薬会社である。また、組織A、組織B、組織Cは、それぞれ異なる企業同士である。ただし、これらのクライアント端末が全てまたは一部同じ組織内にあってもよく、また、同じ組織内に異なる署名環境があってもよい。
以上が本実施形態における署名システムのハードウェアおよびソフトウェア構成である。
次に、上述したハードウェアおよびソフトウェア構成に基づいて、本実施形態における署名者への署名依頼、署名環境の判別、署名の実施および検証までの一連の処理の詳細について説明する。なお、署名依頼処理において、署名依頼情報113と署名条件情報114は、署名依頼者によって署名条件管理プログラム108を用いて事前に設定されている。署名サーバ101は、署名依頼者からの署名依頼の実施要求(例えば、図3において依頼番号1の実施要求)を受けて、署名者に対して署名依頼を行う。処理の詳細を以下で説明する。
図8は、本発明の第1の実施形態における署名サーバ101が実行する、署名依頼、署名環境の判別、署名の実施および検証についての処理の一例を示すフローチャートである。
署名依頼者からの署名依頼の実施要求を受け、アカウント管理プログラム105は、当該依頼内容を見て、署名者が署名サーバ101に登録されている内部ユーザか、未登録のユーザ(以下、外部のユーザとも呼ぶ)か判断する。署名サーバ101に登録されている内部ユーザとは、署名サーバ101の利用を許可されているユーザのことである。アカウント管理プログラム105は、署名依頼情報113の項目303の内容に基づいて署名者を判別し、次にアカウント情報112の項目201や203の内容に基づいて、当該署名者が外部ユーザであるか判断する(S801)。
当該署名者が署名サーバ101に登録されている内部ユーザであると判定すると、ユーザ連携プログラム109は、署名者に対して、署名依頼があることをメール等で通知し、署名依頼に対応する署名を署名サーバ101上で実施するよう要求する(S802、S808)。
続いて、署名者からの指示に基づいて、署名生成プログラム106および署名検証プログラム107は、署名の実施、検証を行う(S809)。具体的には、署名依頼情報で指定された署名条件304の各項目401〜407を満たすように、署名を実施するとともに、署名の検証を行う。署名の実施については、例えば項目406が「要」の場合は、署名文書に証明書検証結果も付加し、項目407が「要」の場合は、署名文書にタイムスタンプも付加する。
なお、署名サーバ101側で署名させる場合、署名サーバ101の処理を制御して、署名依頼で指定された条件でしか署名できなくする(例えば、署名理由であれば、項目401で指定したものしかユーザには選択できなくするなど)ことも可能である。その場合、署名文書について署名条件304の全ての項目を検証するのではなく、サーバ側だけでは制御できない部分(例えば署名期限は守られたか、指定の証明書は使われたか)の検証のみ行うようにしてもよい。
署名検証プログラム107による署名の検証によって、署名が正しく行われたと判定すると、署名条件管理プログラム108は、署名依頼情報113のステータス306を更新し、依頼された署名が終了したことを署名サーバ101上やメール等で署名依頼者に対して通知し、処理を終了する(S810、S812、S813)。
なお、署名された文書は、署名サーバ101上で保存して署名依頼者等に閲覧可能にしてもよいし、署名依頼者にメール等で直接送信してもよい。
一方、ステップS810において、署名が正しく行われなかったと判定すると、署名者に対して再度署名し直して貰うよう通知してもよいし、例えば署名期限を過ぎた場合や、署名者から署名拒否の要求があった場合などは、署名依頼者に対して署名サーバ101上やメール等でアラートを通知する。署名条件管理プログラム108は、署名依頼者からの指示に基づいて、署名依頼の継続、内容変更、中止などの処理を実施し、処理を終了する(S811)。なお、上記においても、ステータス306を更新(アラート状態など)してもよい。
ステップS802において、署名者が外部ユーザであると判定すると、ユーザ連携プログラム109は、署名者に対して署名依頼があることをメール等で通知し、署名依頼に対応する署名を署名サーバ101上で実施するか、または、署名者側で実施するか問い合わせる(S803)。署名者側で署名を行う例としては、署名者側が有する署名ソフトを用いた署名や、署名サーバ101とは異なる署名サーバを利用した署名等である。なお、署名サーバ101は、署名者からの応答をメール等で受付けてもよいし、署名サーバ101の一時アカウントを発行して、署名サーバ101上で応答させるなどしてもよい。
署名者から、署名サーバ101上で署名するという応答があった場合、署名環境判定プログラム110は、署名者の署名環境を判別するために署名者が使用しているクライアント端末119にアクセスし、署名環境に関する情報を取得する(S804、S805)。署名サーバ101上で署名するという応答があった場合とは、例えば、署名者が署名サーバ101の一時アカウントを使って署名サーバにログインし、署名依頼に対して署名サーバ101上で署名する選択を行った場合である。例えば、署名サーバ101は、ユーザがアクセスする署名サーバのWebページなど(htmlファイルなど)に、ユーザの署名環境取得のための管理プログラム(例えば、ActiveX(登録商標)やJAVA(登録商標)アプレット等)を埋め込んでおき、ユーザによる署名サーバ利用要求応答時(例えば、当該Webページの専用ボタン押下時など)に、当該管理プログラムをユーザのクライアント端末にダウンロードさせる。
クライアント端末は、管理プログラムをクライアント端末上で実行し、ユーザの署名の証明書(例えば、クライアント端末に接続されたUSBやICカード等の媒体に格納されている証明書や、クライアント端末内に格納されている証明書)にアクセスし、取得した情報を署名サーバ101に送信する。一例としては、署名サーバ101は、クライアント端末に接続されたUSBやICカード等に対して、証明書取得や署名作成の要求を行う場合、管理プログラムを介して、PKCS#11等の標準的なICカードアクセスインタフェースに準拠したコマンドを使う等してアクセス可能である。クライアント端末内の証明書の場合は、ブラウザの証明書ストアにアクセスする等によって取得可能である。
署名環境判定プログラム110は、上述した方法で取得した署名者の署名環境を検証し、署名環境が適正であるか否か判断する(S806)。検証方法としては、取得した証明書の期限は有効か、当該証明書は当該署名依頼における署名条件情報114の項目405で指定されたタイプの証明書かなどを検証する。それ以外の検証、例えば証明書に記載された所有者メールアドレスが項目402で指定されたメールアドレスと一致するかや、サンプルデータに署名して貰う等までの検証を行ってもよい。
署名環境判定プログラム110は、署名者の署名環境が適正であると判定すると、署名者に対して、署名サーバ101を使うためのアカウントを発行して、当該アカウントで署名を行うように依頼し、ステップS809へ進む(S807、S808)。なお、アカウント発行については、任意に発行を許可するのでなく、署名依頼者にライセンス204がある場合にのみ発行を許可するなどの制御をしてもよい。
一方、署名者の署名環境が適正ではない場合もある。例えば、署名者の証明書を格納するUSB等の媒体が、管理プログラムからのアクセスのためのインタフェース(PKCS#11等)に対応してない場合など(媒体に所定のコマンドを送っても正しい応答が帰ってこないなど)、署名者の署名環境を取得できない場合もある。その場合、ステップS806において、署名環境判定プログラム110は、署名者の署名環境は適正でないと判定する。
ステップS806において、署名者の署名環境が適正ではないと判定すると、署名環境判定プログラム110は、署名者の署名環境を適正化する(S814)。例えば、証明書の有効期限切れや、証明書タイプ405の不適合などのように、証明書に問題がある場合には、署名者に対して、証明書を更新してから再度、署名サーバ101にアクセスして処理を行うよう通知して待機する。また、署名サーバ101の外部サーバ連携プログラム111が、署名条件情報114の項目405で指定された証明書発行機関に対して、当該署名者の証明書の発行要求を行い、署名者に証明書発行機関にアクセスさせて証明書をダウンロードさせるようにしてもよいし、当該証明書が記録された媒体を署名者に送付するようにしてもよい。
一方、証明書の問題でなく、署名者の証明書を格納する媒体にアクセスできない等の理由により、署名環境を取得できない問題の場合、署名環境判定プログラム110は、例えば署名者の許可があった場合は、署名処理のためのプログラム(ソフトウェアトークン)を署名者のクライアント端末に送信し、署名者に対して当該ソフトウェアトークンを使って署名するように依頼する(S814)。なお、署名環境を取得できない場合に、署名者の署名環境を適正化できないと判定するようにしてもよい。
署名環境が適正化された場合には、ステップS807に進む(S815)。一方、署名環境が適正化できない場合、環境判定プログラム110は、署名者や署名依頼者にエラー通知を出し、ステータス306を更新(例えばエラー状態など)して、ステップS811に進む(S816)。
ステップS804において、署名者が署名サーバ上で署名しないという応答の場合、ユーザ連携プログラム109は、署名者側で署名するように、署名者に依頼する(S817)。署名者側での署名とは、例えば、署名者側の署名ソフトを用いての署名や、署名者側の独自の署名サーバを用いての署名である。
なお、署名者に署名を依頼する場合、署名対象の文書と署名条件情報114をメール等で署名者に送信してもよいし、署名サーバ101の一時アカウントを発行して、署名サーバ101から署名に必要な情報をダウンロードさせる等してもよい。また、署名条件情報114のうち、ユーザの選択の余地がないもの、例えば署名理由において「確認」のみ許可されている場合などは、文書に事前にこの情報を埋込んでから署名者に送ってもよい。
ユーザ連携プログラム109は、署名者が実施した署名文書を受取り、署名検証プログラム107で検証する(S818)。具体的には、署名依頼情報113で指定された署名条件304の各項目401〜407を満たすように署名されたか否かを検証する。
署名サーバ101を使用せずに署名者側で署名させる場合、署名サーバ101側で署名処理を制御することができないので、全ての項目を検証する必要がある。具体的には、受信した署名文書を見て、署名理由、署名者が項目401、402と合致するか、署名期限は守られているか、項目404で指定した署名フィールドに署名されているか、署名に使用された証明書のタイプは項目405に合致するか、証明書検証情報やタイムスタンプは指定された署名条件通りに署名文書に付加されている/付加されていないか、などを検証する。検証の結果、受信した署名文書が適正であると判定するとステップS812に進む(S819)。
一方、受信した署名文書が不適正であると判定すると、当該不適正が既定回数(例えば、3回)以下であるか否かを判定し(S820)、規定回数以下であると判定すると、ステップS817に戻って、署名者に署名し直しを要求する。一方、不適正の回数が規定回数を超えたと判定すると、署名者や署名依頼者にエラー通知を出して、ステータスを更新し、ステップS811に進む(S821)。
なお、ステップS819において、署名条件情報の証明書検証情報が「要」であるにも関わらず、署名文書に証明書検証情報が付加されていなかった場合には、署名文書が不適正であると判定してもよい。ただし、外部サーバ連携プログラム111が当該署名に使用された証明書の有効性をOCSPサーバ117に問合わせて検証し、証明書が有効であれば、検証結果を署名文書に付加して終了(署名文書は適正であると判定する)してもよい。ただし、証明書が無効であった場合や、署名者が署名を実施してから外部サーバ連携プログラム111が証明書の有効性を検証するまでの間に証明書が失効した場合などでは、署名サーバ101は、再度署名者に対して署名し直して貰うよう通知する。
なお、ステップS817において、署名者側で署名を実施する場合、署名者のクライアント端末で署名する以外に、自社の署名サーバや、署名サーバ101とは異なるプロバイダの署名サーバを使って署名するなどしてもよい。その場合、上記と同様の処理方法でもよいし、以下のような処理を行ってもよい。以下、上記とは処理が異なる部分(ステップS817)についてのみ説明する。
署名者から、署名サーバ101ではなく、署名者が指定(例えばURLで指定等)する別の署名サーバで署名するとの応答を得た場合の処理について説明する。署名サーバ101は、別の署名サーバに対して、誰がどんな条件で署名する必要があるか等の情報を含む署名依頼の通知を出す。具体的には、署名サーバ101は、署名対象の文書とともに、当該署名者に関する署名依頼情報113と署名条件情報114を別の署名サーバに送る。別の署名サーバは、受信した情報(例えば、署名条件情報に記載の署名者のメールアドレス等)に基づいて署名者を特定し、当該署名者に対して署名を行うように通知する。別の署名サーバは、当該署名者と連携して、指定された条件または当該署名者からの入力に基づいて署名を行い、署名結果を署名サーバ101へ送信する。
なお、署名サーバ101と別の署名サーバ間の通信において互いを認証し、正当な署名サーバからの要求のみ受付けるようにしてもよい。また、署名者側で署名を実施させる場合は、文書の改竄を検知、防止するために、署名サーバ101で署名対象の文書のハッシュ値を取得して保存し、署名者から取得した署名文書と比較したり、署名対象の文書に改竄検知のための署名をつけてから送信するなどしてもいい。
また、署名者側で署名を実施する場合でも、ステップS805のように、署名者の署名環境を取得して、正当な場合のみ署名依頼するようにしてもよい。また、署名者の署名環境が一部不適正な場合(例えば、署名者の証明書は署名条件を満たすが、その他の条件、例えば署名文書への証明書検証結果の追加が不可などの場合)は、署名者側で署名を実施する応答があっても、署名サーバ101上で署名を実施するように依頼してもよい。なお、署名環境の取得については、上述したように、署名者のクライアント端末に署名環境を取得しにいってもよいし、署名者が使用する署名サーバに対して、署名者情報(メールアドレス等)を指定して取得しにいってもよい。
また、ステップS803における署名サーバ101の利用の問い合わせに対して、署名者が応答を間違えることがある。例えば、署名者が署名サーバ101を利用して署名したいのに、誤って署名者側で署名すると回答してしまう場合がある。このような問題に対応するため、署名サーバ101は、例えば一定期限内に署名者から署名文書の送信がない場合には、署名依頼者等にアラート通知を出したり、署名者から署名依頼者にアラート通知を出せる機能を備えてもよい。
また、ステップS805において署名者の署名環境の取得を行っているが、例えば一度署名環境を取得済みの署名者に対しては、署名者の署名環境を全面的に信頼して、再度の署名環境の取得を行わないようにしてもよい。
以上、第1の実施形態における署名システムによれば、署名依頼対象の署名者を特定して、署名サーバの利用を許可されている内部ユーザであるか否かを判定する。署名者が内部ユーザであると判定すると、署名者の使用する計算機に対して署名サーバを利用した署名実施を依頼し、署名者が内部ユーザではないと判定すると、署名者の使用する計算機に対して署名サーバの利用要否を問い合わせる。署名サーバの利用要否の問い合わせに対して、署名サーバを利用するとの応答があった場合には、署名者の使用する計算機に対して、署名者の署名環境を取得し、取得した署名環境が適正ではないと判断すると、取得した署名環境の適正化を行う。そして、署名サーバの利用要否の問い合わせに対して、署名者側で署名を実施するとの応答があった場合には、署名者の使用する計算機に対して署名者側での署名実施を依頼するとともに、署名者の署名環境が適正であると判定した場合、または、署名環境の適正化が行われた場合には、署名サーバを利用した署名実施を依頼する。これにより、署名者の署名環境が様々である場合でも、署名者への署名依頼が可能となる。従って、署名者が、署名依頼者が署名依頼で使う署名サーバとは異なる署名環境で署名する場合でも、署名依頼者が意図する署名条件で署名させることができる。
また、署名環境の適正化処理として、署名者が署名に使う証明書を適正な証明書にさせるか、または、署名処理のためのプログラムを署名者に送信する処理を行うので、署名者は、適切な署名環境にて署名することができる。
また、署名サーバの利用要否の問い合わせに対して、署名者側で署名を実施するとの応答があった場合に、署名の条件を示す署名条件情報、署名の依頼内容を示す署名依頼情報、および、署名対象の文書を、署名者の使用する計算機に対して送信する。これにより、署名者は、受信した署名条件情報、署名依頼情報、および、署名対象の文書に基づいて、署名依頼書の意図した署名条件で署名を実施することができる。
また、署名サーバは、署名者が行った署名が署名条件を満たすか否かの検証を行うので、署名者側で署名が行われた場合でも、署名者の意図した条件で署名が行われたか否かを検証することができる。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。第1の実施形態では、一回の署名依頼で一人の署名者に署名依頼する例を説明した。第2の実施形態では、ワークフロー形式で、複数の署名者に署名依頼する例について説明する。
第2の実施形態における署名システムの構成は、第1の実施形態における署名システムの構成と同じである(図1参照)。従って、システム構成についての詳しい説明は省略する。
第1の実施形態における署名システムで用いられる署名条件情報114の一例を図4(a)に示した。第2の実施形態における署名システムで用いられる署名条件情報114の一例を図4(b)に示す。図4(b)に示す署名条件情報は、図4(a)に示す署名条件情報と比較すると、新たな署名条件項目として、署名者の順番を示す順番410が追加されている。すなわち、署名者として一人の署名者だけでなく、第一署名者、第二署名者というように、複数の署名者を指定できるようになっている。
なお、第2の実施形態における構成及び処理のうち、第1の実施形態と同じものについては、詳しい説明を省略する。以下では、第2の実施形態において、署名者への署名依頼の処理の詳細について説明する。
図9は、本発明の第2の実施形態における署名サーバ101が実行する、署名依頼、署名環境の判別、署名の実施および検証についての処理の一例を示すフローチャートである。ただし、本実施形態のうち、第1の実施形態の署名依頼、署名環境の判別、署名の実施および検証の処理(図8参照)と同様のものについては、それらを引用して差異部分についてのみ説明する。
署名条件管理プログラム108は、ステップS812において、署名依頼情報113のステータス306を更新する(S901)。署名条件管理プログラム108は、更新されたステータス306が「未済」か否か判断する(S902)。ステータス306が「未済」でなく「済」の場合にはステップS813に進む(S904)。
一方、ステータス306が「未済」の場合には、次の署名者を判別して、ステップS801に戻り、次の署名者に対して署名依頼する(S903)。例えば、署名条件情報が図4(b)に示すようなものである場合、第一署名者の次の署名者は第二署名者であるので、第一署名者の署名処理終了後は、第二署名者に署名依頼する。第一署名者と第二署名者に対して、同じ文書に続けて署名させる場合は、第一署名者が署名した文書に署名するよう第二署名者に依頼する。
なお、上記の署名依頼では、署名依頼を受けたユーザは署名を行うものとしているが、例えば文書の閲覧だけ行うユーザなど、署名をしなくてもいいユーザを含めた依頼内容にしてもよい。また、本実施例では、上記の処理以外に、ステップS818の処理が第1の実施形態と異なる。以下で、その詳細について説明する。
署名検証プログラム107は、署名者から署名文書を受取り、署名の検証を行う。検証の結果、当該署名者の署名が適正であった場合、署名検証プログラム107は、当該署名文書において、当該署名者の署名よりも以前に行われた署名があるか判別する。例えば、図4(b)において、署名条件304が条件1の場合、第二署名者の署名よりも前に第一署名者の署名が存在する。このように、署名サーバ101は、署名条件情報104に基づいて判別してもいいし、署名文書の中身を調べて判別してもよい。署名検証プログラム107は、当該署名者の署名よりも前に行われた署名が署名文書に含まれている場合、前に行われた署名についても同様に、署名の検証を行う。当該署名者の署名よりも前に行われた署名が署名文書に含まれていない場合は、検証処理を終了する。
続いて、本発明の第2の実施形態の変形例について説明する。本変形例では、署名条件情報114に、新たな署名条件項目を追加した例について説明する。
図5(a)は、本変形例における署名条件情報114の一例を示す図である。図4(b)に示す、第2の実施形態における署名条件情報114と比較すると、図5(a)に示す署名条件情報114では、署名条件項目405〜407の代わりに、新たな署名条件項目として、準拠すべき署名の標準を示す署名標準420が設けられている。
署名標準とは、例えばSAFE(登録商標)やHPKIといった所定の署名基準である。署名標準420は、署名文書内容に関する要件421と、その他の要件422を含んで定義される(図5(b)参照)。署名文書内容に関する要件421は、署名標準に準拠するためにどんな形式で文書に署名する必要があるかを定める。その他の要件422は、署名文書の中身に関する要件ではないが、署名標準に準拠するために、署名サーバ101が行わなければならない処理を定義する。
図5(b)に示す例では、二つの標準(標準1とHPKI)がそれぞれ定義されているが、その他の標準が含まれていてもよい。項目421において、証明書タイプ、証明書検証情報、タイムスタンプは、図4(a)および図4(b)と同様である。
図5(b)において、署名ロゴとは、署名の見た目を示すイメージデータである。署名ロゴにより、署名を実施した際に、どんなイメージを画面表示させるか指定することができる。
図5(b)の項目422において、「操作ログ」は、署名者など、署名サーバ101を利用するユーザの操作ログを署名サーバ101で取る必要があるか否かを定める。「署名文書のアーカイブ」は、署名サーバ101が署名文書をアーカイブする必要があるか否かを定める。例えば、項目422において、標準1の場合、操作ログは「必要」であるため、署名サーバ101は、署名者の操作ログを取得するよう動作する必要がある。
なお、項目421、422ともに、上記以外の定義を含んでもいい。また項目421、422は、署名システムの管理者等が署名システムで定義しておく、または、署名標準を定義している機関等から定義情報を取得して署名システムに設定し、その定義済みのものを署名依頼者が利用する。ただし、これに限らず、その他の設定方法でもよい。
以下に、第2の実施形態の変形例における、署名者への署名依頼の処理について説明する。処理の流れは、第2の実施形態(図8参照)と同様である。以下では、処理の異なる部分、すなわち、署名の実施および検証についてのみ説明する。
署名サーバ101は、ステップS808において、署名者に署名サーバ101上で署名するよう依頼する。このため、署名サーバ101は、署名者の署名標準を判別し、当該署名標準に準拠するよう動作する。具体的には、署名者の署名標準に対応するその他の要件422を参照し、操作ログが「要」であれば、署名者からの操作ログを取得し保管する。署名文書のアーカイブが「要」であれば、署名が終了した後に、文書のアーカイブを行う。なお、操作ログの取得は、例えば署名依頼者が文書をアップロードした時点から行うなど、より前の段階から行うようにしてもよい。また、操作ログは、当該署名者の操作ログだけでなく、当該署名対象の文書へのあらゆるユーザの操作ログを取るようにしてもよい。署名の実施については、第2の実施形態と同様に、項目401〜404、410、420を満たすように行う。
署名の検証については、署名サーバ101側でなく、署名者側で署名を実施した場合の処理が異なる(図8のステップS817、S818に対応)。署名サーバ101は、ステップS817で、署名者に署名者側で署名するよう依頼する。この際、署名サーバ101は、署名者の署名標準を判別し、当該署名標準に準拠するよう、どんな条件で署名すればいいか通知する。具体的には、署名者の署名条件情報として、項目401〜404、項目420が示す項目421、422の情報を署名対象の文書と合せて通知する。
署名サーバ101は、署名者が実施した署名文書を受取り、署名を検証する。具体的には、第2の実施形態と同様に、署名文書が項目401〜404、および、項目421の条件を満たすように署名されているか検証する。さらに、項目422の条件も満たしているか検証する。例えば、操作ログが「要」であれば、署名文書とともに操作ログ情報も送付されているか検証する。操作ログについては、第三者による改竄防止のため、署名者側で操作ログへの電子署名をつける等してもよい。署名文書のアーカイブが「要」であれば、署名文書とともに、署名文書のアーカイブも送付されているか検証する。なお、署名文書のアーカイブが送付されてない場合には、署名サーバ101側でアーカイブを行うようにしてもよい。
なお、図5(a)において、第一署名者の署名標準は「標準1」で、第二署名者の署名標準は「HPKI」である。この場合、署名サーバ101は、第一署名者の署名を実施・検証する場合は、「標準1」に対応した動作を行い、第二署名者の署名を実施・検証する場合は、「HPKI」に対応した動作を行う。例えば、図5(a)に示す署名条件情報114の場合、第一署名者の場合は操作ログが必要で、第二署名者の場合は操作ログが不要というように、署名サーバ101は動作する。
なお、複数の署名者の署名を要求する署名依頼の場合、署名者のうち一人でも項目412の要素が「要」の人がいれば、その他の署名者についても、全て当該要素を「要」として処理するようにしてもいい。すなわち、署名サーバ101は、署名依頼するにあたり、当該署名依頼の署名者が複数か判別する。複数の場合は、各署名者に対応する署名標準420の要件である項目422を調べる。項目422の各要素について、署名者のうち一人でも「要」の人がいれば、本署名依頼において、他の署名者についても「要」として処理する。
例えば、図5(a)に示す署名条件情報114において、第一署名者と第二署名者の一方が操作ログ「要」であるため、第二署名者についても操作ログを取得する。署名サーバ101は、署名者からの操作要求のたびに、当該署名者の署名標準を参照して上記の動作方法を決めてもいいし、各署名依頼において、現在の署名サーバの動作方法を判別するための動作設定情報(例えば、"「標準1」に準拠"かつ"他署名者との兼合いで文書アーカイブも「要」"など)を別途設けて、それに基づいて動作方法を決めてもいい。
なお、署名標準420については、複数の標準から任意のものを署名者に選ばせるようにしてもよい。その場合、署名者側で実施した署名の検証については、当該署名がどの署名標準に合致するか、各署名標準の要件と照らして逐一検証して判断してもいいし、署名者が使った証明書の情報に基づいて、どの署名標準を使ったか判断(例えば、署名標準−証明書発行機関の対応関係情報を持っておき、どの機関から発行された証明書を使ったかで判断)して当該標準について検証してもよい。また、どの署名標準を使ったか、署名者から情報を受信して、当該標準について検証してもよい。なお、第1の実施形態においても、上述した署名標準を使う処理方式としてもよい。
以上、第2の実施形態における署名システムによれば、署名依頼対象の署名者が複数存在する場合に、署名の条件を示す署名条件情報に基づいて、全ての署名者が署名を行ったか否かを判定し、全ての署名者が署名を行っていないと判定すると、次の署名者に署名実施を依頼する。これにより、署名依頼対象の署名者が複数存在する場合でも、全ての署名者に対して署名依頼を行うことができる。
また、署名実施を依頼する際に、所定の署名基準である署名標準に関する情報を含む署名条件情報を、署名者の使用する計算機に送信することにより、署名標準に応じた署名の実施を依頼することができる。
<第3の実施形態>
続いて、本発明の第3の実施形態における署名システムについて説明する。第3の実施形態では、ある署名者への依頼を、別の署名者に代理で処理させる例について説明する。例えば、製薬会社や医療機関では、CRO(開発業務受託機関)やSMO(治験実施施設管理機関)等の機関に、業務の一部を委託、代行させることがある。本実施形態は、例えばそのような委託や代理の場合の署名依頼に関する。
図11は、第3の実施形態における署名システムの構成を示す図である。なお、図11では、署名サーバやクライアント端末のソフトウェア構成(メモリ等に格納されているプログラム情報など)を図示していないが、第1の実施形態または第2の実施形態の構成と同様であり、説明を省略する。
第3の実施形態における署名システムは、1以上の署名サーバ1001(または/および署名サーバ1002)と、1以上のOCSPサーバ1003と、1以上のタイムスタンプサーバ1004と、署名機能を持たない1以上のクライアント端末1005(または/およびクライアント端末1006)と、1以上のクライアント端末1007(または/およびクライアント端末1008)とを備える。なお、第1の実施形態や第2の実施形態と同様に、自社署名サーバ128やその他の機器を含んでもいい。
クライアント端末1006は、クライアント端末1005からの依頼をうけて、クライアント端末1005の業務を代行する。クライアント端末1008は、クライアント端末1007からの依頼を受けて、クライアント端末1008の業務を代行する。
なお、本実施形態のうち、第2の実施形態の署名依頼、署名環境の判別、署名の実施および検証の処理と同様のものについては、それらを引用して、差異部分についてのみ説明する。
図10は、本発明の第3の実施形態における署名システムで行われる署名の依頼、代行処理の一例を示すフローチャートである。
署名依頼者からの署名依頼の実施要求を受け、アカウント管理プログラム105は、署名依頼の内容に基づいて、署名者を判別する。ユーザ連携プログラム109は、当該署名者に対し、署名依頼があることをメール等で通知し、依頼処理を自分で行うか代行させるかを問合わせる(S911)。署名者から、代行させない応答があった場合には、ステップS801に進み、代行させる応答があった場合には、署名者から代行者の指定を受付けて、依頼内容を更新する(S912、S913、S915)。
具体的には、署名サーバ101は、署名者に対して一時アカウントを発行するか、もしくは既存のアカウントを使って貰う等して、署名者から代行者を指定して貰う。代行者の指定は、例えば、メールアドレス等を指定してもらうことにより行う。署名サーバ101は、代行者の指定を受けて、署名依頼情報113と署名条件情報114を更新する。署名依頼情報113については、項目303において新たに代行者を追加し、項目306も例えば署名者が増えるなら、それに応じて更新する。
署名条件情報114については、代行要求を行った署名者の署名条件をそのまま代行者の署名条件として設定してもいいし、署名依頼者や代行要求者が新たに署名条件を設定し直してもいい。例えば、図4(b)に示す署名条件情報おいて、第一署名者が代行を要求すると、第一署名者と第二署名者の間の列に新たに代行者の署名条件を作成し、第一署名者と同じ署名条件を設定する。第一署名者の署名条件には、代行中であることを示す値が設定される。
なお、署名条件情報において、各署名者の代行の有無を判別するための情報を別途設けてもよい。図4(b)に示す署名条件情報おいて、第一署名者が代行要求を行った場合、代行者の署名実施後に、次の署名者として第二署名者に署名依頼を行うが、それ以外に、例えば代行者の署名実施後に代行結果を一旦第一署名者に確認(承認や署名等)してもらってから、次の署名者に署名依頼するようにしてもよい。
ユーザ連携プログラム109は、代行者に対し、署名依頼があることをメール等で通知し、署名依頼処理を自分で行うか代行させるかを問合わせて、ステップSS912に進む(S914)。なお、第1の実施形態においても、上記の署名代行を行う処理方式としてもよい。
以上、第3の実施形態における署名システムによれば、署名者の使用する計算機から署名の代行要求を受け付けると、代行要求に基づいて、署名の条件を示す署名条件情報、および、署名の依頼内容を示す署名依頼情報の内容を更新して、代行者の使用する計算機に対して署名実施を依頼する。これにより、署名者ではなく、署名者に代わって署名を行う代行者に対しても、署名実施を依頼することができる。
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計なども含まれる。
101…署名サーバ、102,121,129…メモリ、103,122,130…CPU、104,123,131…I/F、105…アカウント管理プログラム、106…署名生成プログラム、107…署名検証プログラム、108…署名条件管理プログラム、109…ユーザ連携プログラム、110…署名環境判定プログラム、111…外部サーバ連携プログラム、112…アカウント情報、113…署名依頼情報、114…署名条件情報、115…外部サーバ情報、116…署名文書情報、117…OCSPサーバ、118…タイムスタンプサーバ、119,120…クライアント端末、124…署名生成プログラム、125…署名検証プログラム、126…外部サーバ連携プログラム、128…自社署名サーバ、132…署名生成プログラム、133署名検証プログラム、134…外部サーバ連携プログラム、1001…署名サーバA、1002…署名サーバB、1003…OCSPサーバ、1004…タイムスタンプサーバ、1005…クライアント端末A、1006…クライアント端末C、1007…クライアント端末B、1008…クライアント端末D

Claims (18)

  1. 一以上の計算機に接続される署名サーバであって、
    前記署名サーバは、前記計算機に接続される一以上のインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記署名サーバは、
    署名依頼先の署名者を特定する署名者特定部と、
    前記特定された署名者が前記署名サーバの利用を許可されている内部ユーザであるか否かを判定するユーザ判定部と、
    前記署名者が内部ユーザであると判定された場合、前記署名者が使用する計算機に対して前記署名サーバを利用した署名実施を依頼し、前記署名者が内部ユーザではないと判定された場合、前記署名者が使用する計算機に対して前記署名サーバの利用要否を問い合わせるユーザ連携部と、
    前記署名サーバの利用要否の問い合わせに対して、前記署名サーバを利用するとの応答があった場合、前記署名者の証明書を取得できるときは、前記証明書を取得、取得した前記証明書が適正ではないと判定すると、前記署名者が使用する計算機に対して前記署名者の前記証明書の適正化を依頼する署名環境判定部と、
    署名を実施する署名生成部と、
    を備え、
    前記ユーザ連携部は、前記署名環境判定部が取得した前記証明書が適正であると判定された場合、または、適正化された前記証明書を前記署名者が使用する計算機から取得した場合には、前記署名者が使用する計算機に対して前記署名サーバを利用した署名実施を依頼し、前記ユーザ連携部は、前記署名サーバの利用要否の問い合わせに対して、署名者側で署名を実施するとの応答があった場合、前記署名者が使用する計算機に署名者側での署名実施を依頼
    前記署名生成部は、前記ユーザ連携部が、前記署名者が使用する計算機に対して前記署名サーバを利用した署名実施を依頼した場合、前記署名者が使用する計算機からの指示に応じて、前記署名者の適正な証明書を使用して署名を実施する、
    ことを特徴とする署名サーバ。
  2. 前記署名環境判定部は、前記証明書を取得できない場合に前記署名サーバを利用した署名処理のためのプログラムを署名者が使用する計算機に送信する処理を行う、
    ことを特徴とする請求項1に記載の署名サーバ。
  3. 前記ユーザ連携部は、前記署名サーバの利用要否の問い合わせに対して、署名者側で署名を実施するとの応答があった場合、署名の条件を示す署名条件情報、署名の依頼内容を示す署名依頼情報、および、署名対象の文書を、署名者が使用する計算機に対して送信する、
    ことを特徴とする請求項1に記載の署名サーバ。
  4. 前記署名サーバは、署名者が実施した署名が署名条件を満たすか否かを検証する署名検証部をさらに備える、
    ことを特徴とする請求項1に記載の署名サーバ。
  5. 前記ユーザ連携部は、署名依頼先の署名者が複数存在する場合、署名の条件を示す署名条件情報に基づいて、全ての署名者が署名を実施したか否かを判定し、署名を実施していない署名者がいると判定すると、次の署名者に署名実施を依頼する、
    ことを特徴とする請求項1に記載の署名サーバ。
  6. 前記ユーザ連携部は、前記署名者が使用する計算機に、署名標準に基づいた署名実施を依頼する、
    ことを特徴とする請求項1に記載の署名サーバ。
  7. 前記ユーザ連携部は、前記署名者が使用する計算機から署名の代行要求を受け付けると、前記代行要求に基づいて、署名の条件を示す署名条件情報、および、署名の依頼内容を示す署名依頼情報を更新して、代行者が使用する計算機に署名実施を依頼する、
    ことを特徴とする請求項1に記載の署名サーバ。
  8. 一以上の計算機と、第1署名サーバと、前記第1署名サーバとは別のサーバである外部サーバと、前記一以上の計算機の少なくとも一つ、前記第1署名サーバ、および前記外部サーバ間に接続されるネットワークと、を備える署名システムであって、
    前記第1署名サーバは、前記計算機に接続される一以上のインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記第1署名サーバは、
    署名依頼先の署名者を特定する署名者特定部と、
    前記特定された署名者が前記第1署名サーバの利用を許可されている内部ユーザであるか否かを判定するユーザ判定部と、
    前記署名者が内部ユーザであると判定された場合、前記署名者が使用する計算機に対して前記第1署名サーバを利用した署名実施を依頼し、前記署名者が内部ユーザではないと判定された場合、前記署名者が使用する計算機に対して前記第1署名サーバの利用要否を問い合わせるユーザ連携部と、
    前記第1署名サーバの利用要否の問い合わせに対して、前記第1署名サーバを利用するとの応答があった場合、前記署名者の証明書を取得できるときは、前記証明書を取得、取得した前記証明書が適正ではないと判定すると、前記署名者が使用する計算機に対して前記署名者の前記証明書の適正化を依頼する署名環境判定部と、
    署名を実施する署名生成部と、
    を備え、
    前記ユーザ連携部は、前記署名環境判定部によって取得した前記証明書が適正であると判定された場合、または、適正化された前記証明書を前記署名者が使用する計算機から取得した場合には、前記署名者が使用する計算機に対して前記第1署名サーバを利用した署名実施を依頼し、前記ユーザ連携部は、前記第1署名サーバの利用要否の問い合わせに対して、署名者側で署名を実施するとの応答があった場合、前記署名者が使用する計算機に署名者側での署名実施を依頼
    前記署名生成部は、前記ユーザ連携部が、前記署名者が使用する計算機に対して前記第1署名サーバを利用した署名実施を依頼した場合、前記署名者が使用する計算機からの指示に応じて、前記署名者の適正な証明書を使用して署名を実施する、
    ことを特徴とする署名システム。
  9. 前記署名システムはさらに、前記第1署名サーバとは別の第2署名サーバを備え、
    前記第1署名サーバは、前記第1署名サーバの利用要否の問い合わせに対して、前記第2署名サーバを利用した署名を実施するとの応答があった場合に、署名の条件を示す署名条件情報、署名の依頼内容を示す署名依頼情報、および、署名対象の文書を、前記第2署名サーバに送信する、
    ことを特徴とする請求項8に記載の署名システム。
  10. 一以上の計算機に接続される署名サーバを利用した署名処理方法であって、
    前記署名サーバは、前記計算機に接続される一以上のインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記署名処理方法は、
    前記署名サーバが署名依頼対象の署名者を特定するステップと、
    前記署名サーバが、前記特定した署名者が前記署名サーバの利用を許可されている内部ユーザであるか否かを判定するステップと、
    前記署名者が内部ユーザであると判定した場合、前記署名サーバが、前記署名者が使用する計算機に対して前記署名サーバを利用した署名実施を依頼するステップと、
    前記署名者が内部ユーザではないと判定した場合、前記署名サーバが、前記署名者が使用する計算機に対して前記署名サーバの利用要否を問い合わせるステップと、
    前記署名サーバの利用要否の問い合わせに対して、前記署名サーバを利用するとの応答があった場合、前記署名サーバが前記署名者の証明書を取得できるときは、前記証明書を取得、取得した前記証明書が適正ではないと判定すると、前記署名者が使用する計算機に対して前記署名者の前記証明書の適正化を依頼するステップと、
    取得した前記証明書が適正であると判定された場合、または、適正化された前記証明書を前記署名者が使用する計算機から取得した場合には、前記署名サーバが、前記署名者が使用する計算機に対して前記署名サーバを利用した署名実施を依頼するステップと、
    前記署名サーバの利用要否の問い合わせに対して、署名者側で署名を実施するとの応答があった場合、前記署名サーバが、前記署名者が使用する計算機に対して署名者側での署名実施を依頼するステップと、
    前記署名者が使用する計算機に対して前記署名サーバを利用した署名実施を依頼した場合、前記署名サーバが、前記署名者が使用する計算機からの指示に応じて、前記署名者の適正な証明書を使用して署名を実施するステップと、
    を含むことを特徴とする署名処理方法。
  11. 前記署名者の前記証明書の適正化を依頼するステップでは、前記証明書を取得できない場合に前記署名サーバを利用した署名処理のためのプログラムを署名者が使用する計算機に送信する、
    ことを特徴とする請求項10に記載の署名処理方法。
  12. 前記署名者側での署名実施を依頼するステップでは、署名の条件を示す署名条件情報、署名の依頼内容を示す署名依頼情報、および、署名対象の文書を、署名者が使用する計算機に対して送信する、
    ことを特徴とする請求項10に記載の署名処理方法。
  13. 前記署名処理方法は、
    前記署名サーバが、署名者が行った署名が署名条件を満たすか否かを検証するステップをさらに含む、
    ことを特徴とする請求項10に記載の署名処理方法。
  14. 前記署名処理方法は、
    署名依頼対象の署名者が複数存在する場合、前記署名サーバが署名の条件を示す署名条件情報に基づいて全ての署名者が署名を実施したか否かを判定し、署名を実施していない署名者がいると判定すると、次の署名者に署名実施を依頼するステップをさらに含む、
    ことを特徴とする請求項10に記載の署名処理方法。
  15. 前記署名者が使用する計算機に対して署名実施を依頼するステップでは、署名標準に基づいた署名実施を依頼する、
    ことを特徴とする請求項10に記載の署名処理方法。
  16. 前記署名処理方法は、
    前記署名サーバが、前記署名者が使用する計算機から署名の代行要求を受け付けると、前記代行要求に基づいて、署名の条件を示す署名条件情報、および、署名の依頼内容を示す署名依頼情報を更新して、代行者が使用する計算機に対して署名実施を依頼するステップをさらに含む、
    ことを特徴とする請求項10に記載の署名処理方法。
  17. 前記署名処理方法は、
    前記署名サーバが、署名の条件を示す署名条件情報のうち、前記署名サーバが保持しない情報を外部サーバから取得するステップをさらに含む、
    ことを特徴とする請求項10に記載の署名処理方法。
  18. 前記署名処理方法は、
    前記署名サーバの利用要否の問い合わせに対して、前記署名サーバとは別の署名サーバを利用した署名を実施するとの応答があった場合、前記署名サーバが、署名の条件を示す署名条件情報、署名の依頼内容を示す署名依頼情報、および、署名対象の文書を、前記別の署名サーバに送信するステップをさらに含む、
    ことを特徴とする請求項10に記載の署名処理方法。
JP2011086121A 2011-04-08 2011-04-08 署名サーバ、署名システム、および、署名処理方法 Expired - Fee Related JP5417628B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011086121A JP5417628B2 (ja) 2011-04-08 2011-04-08 署名サーバ、署名システム、および、署名処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011086121A JP5417628B2 (ja) 2011-04-08 2011-04-08 署名サーバ、署名システム、および、署名処理方法

Publications (2)

Publication Number Publication Date
JP2012222594A JP2012222594A (ja) 2012-11-12
JP5417628B2 true JP5417628B2 (ja) 2014-02-19

Family

ID=47273650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011086121A Expired - Fee Related JP5417628B2 (ja) 2011-04-08 2011-04-08 署名サーバ、署名システム、および、署名処理方法

Country Status (1)

Country Link
JP (1) JP5417628B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101634571B1 (ko) * 2014-07-31 2016-07-08 주식회사 파수닷컴 문서 동기화 방법 및 컴퓨터 프로그램, 그 기록매체
JP6807734B2 (ja) * 2016-12-27 2021-01-06 セイコーソリューションズ株式会社 中継サーバ、及び中継プログラム
JP7032626B1 (ja) * 2020-11-20 2022-03-09 アズウェル株式会社 図書データ保存装置
JP7177874B2 (ja) * 2021-03-10 2022-11-24 三菱電機インフォメーションシステムズ株式会社 組織署名システム、組織署名サーバおよび組織署名クライアント端末

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116693A (ja) * 2000-10-10 2002-04-19 Mitsubishi Materials Corp 電子署名サーバ、電子署名管理方法およびその記録媒体
JP4109470B2 (ja) * 2002-03-13 2008-07-02 富士通エフ・アイ・ピー株式会社 ディジタル証明書管理方法、ディジタル証明書配布サーバ、ディジタル証明書送信クライアント、ディジタル証明書管理プログラム及び記録媒体
US7395424B2 (en) * 2003-07-17 2008-07-01 International Business Machines Corporation Method and system for stepping up to certificate-based authentication without breaking an existing SSL session
JP2006222507A (ja) * 2005-02-08 2006-08-24 Canon Inc 電子署名機能付き文書管理システム
US8819440B2 (en) * 2005-09-09 2014-08-26 Microsoft Corporation Directed signature workflow

Also Published As

Publication number Publication date
JP2012222594A (ja) 2012-11-12

Similar Documents

Publication Publication Date Title
CN111213350B (zh) 用于创建去中心化标识的系统和方法
CN111066020B (zh) 用于创建去中心化标识的系统和方法
CN111095865B (zh) 用于发布可验证声明的系统和方法
CN111095327B (zh) 用于验证可验证声明的系统和方法
US9264236B2 (en) Embedded extrinsic source for digital certificate validation
US20220239499A1 (en) System and method for high trust cloud digital signing
US20200019714A1 (en) Distributed data storage by means of authorisation token
CA2494513C (en) Digital-signed digital document exchange supporting method and information processor
CN111316267B (zh) 使用委托身份的认证
GB2569278A (en) Methods and apparatus for verifying a user transaction
JP4818664B2 (ja) 機器情報送信方法、機器情報送信装置、機器情報送信プログラム
JP5644770B2 (ja) アクセス制御システム、サーバ、およびアクセス制御方法
JP2017225054A (ja) プロファイルデータ配信制御装置、プロファイルデータ配信制御方法およびプロファイルデータ配信制御プログラム
JP5417628B2 (ja) 署名サーバ、署名システム、および、署名処理方法
JP5452374B2 (ja) 認証装置、認証方法及び認証プログラム
EP3195551B1 (en) Method and system for managing fine-grained policies for requiring user approval of device management operations
JP7171504B2 (ja) 個人情報管理サーバ、個人情報管理方法及び個人情報管理システム
JP2007272600A (ja) 環境認証と連携した本人認証方法、環境認証と連携した本人認証システムおよび環境認証と連携した本人認証用プログラム
JP5707204B2 (ja) 身元確認システムおよび身元確認方法
JP5958544B2 (ja) 情報処理システム,情報処理方法,プログラム
US20230224309A1 (en) Method and system for digital identity and transaction verification
JP7205793B2 (ja) 情報提供システム、情報提供方法及び情報提供プログラム
JP7267349B2 (ja) プログラム、情報処理装置、及び情報処理方法
JP6299101B2 (ja) サービス提供システム、サービス提供方法及びプログラム
JP7106325B2 (ja) プログラムおよびタイムスタンプ管理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130930

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131022

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131029

R150 Certificate of patent or registration of utility model

Ref document number: 5417628

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees