(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-08
(54)【発明の名称】スキャンされた文書のデジタル証明
(51)【国際特許分類】
H04L 9/32 20060101AFI20241001BHJP
G06F 21/64 20130101ALI20241001BHJP
【FI】
H04L9/32 200B
H04L9/32 200E
G06F21/64
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024522366
(86)(22)【出願日】2022-10-10
(85)【翻訳文提出日】2024-06-12
(86)【国際出願番号】 EP2022078119
(87)【国際公開番号】W WO2023061947
(87)【国際公開日】2023-04-20
(32)【優先日】2021-10-15
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】509228994
【氏名又は名称】アマデウス エス.アー.エス.
【氏名又は名称原語表記】AMADEUS S.A.S.
【住所又は居所原語表記】485 Route du Pin Montard,Sophia Antipolis,F-06410 Biot,France
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】マルタン・フォン・シュレードルン
(72)【発明者】
【氏名】セバスチャン・ビルドナー
(72)【発明者】
【氏名】レンジス・カリマッタティル・サシドハラン
(72)【発明者】
【氏名】スワガット・パリダ
(72)【発明者】
【氏名】トマ・シュタルク
(57)【要約】
本発明は、紙ベースの経費領収書などの原文書のデジタルコピーを証明するためのシステムおよび方法を対象とする。ユーザデバイス上で実行されているクライアントアプリケーションから送信された、デジタル署名済みの電子文書および対応するデジタル署名済みのデータペイロードの真正性を証明するための証明サーバが提供される。証明サーバは、送信された電子文書および対応するデータペイロードを真正性認証したことに応答して、信頼できるデータベースの、クライアントアプリケーションにリンクされたユーザおよび/またはユーザ組織に関連付けられた一部分の中に、真正性認証済みの電子文書および真正性認証済みのデータペイロードから取得された関連付けられたデータ項目を含む対応するデータレコードを生成し、それに応じて、一意の識別番号、およびデータレコードの生成に関連付けられたタイムスタンプを返すように構成される。
【特許請求の範囲】
【請求項1】
データ証明サーバ(200)において原文書のデジタルコピーの真正性を証明するための方法であって、
ユーザの電子デバイス上で実行されているクライアントアプリケーション(100)から、原文書に関連付けられた、デジタル署名済みのデータペイロード(112)および対応するデジタル署名済みの電子文書(111)を受信するステップであって、
前記デジタル署名済みの電子文書(111)は、1つまたは複数のページを含む原文書のデジタルコピー(113)、および生成されたデジタル署名を含み、
前記デジタル署名済みのデータペイロード(112)は、前記デジタル署名済みの電子文書(111)、前記原文書に関連付けられたデータ項目、および生成されたデジタル署名を含む、
ステップと、
前記受信されたデジタル署名済みのデータペイロード(112)および対応する前記電子文書(111)を、
前記デジタル署名済みのデータペイロード(112)および前記デジタル署名済みの電子文書(111)に対応する前記デジタル署名を再計算し、前記再計算された署名を、前記クライアントアプリケーション(100)において適用された前記デジタル署名と比較するステップ、
前記電子文書と前記データペイロードがマッチするとの決定に応答して、前記証明サーバの証明データベースから取り出された真正性認証証明書を適用することによって、前記電子文書(111)および対応する前記データペイロード(112)を真正性認証するステップ、
信頼できるデータベース(240)の、前記クライアントアプリケーション(100)にリンクされた前記ユーザおよび/またはユーザ組織に関連付けられた一部分の中に、前記真正性認証済みの電子文書および前記真正性認証済みのデータペイロードから取得された関連付けられたデータ項目を含むデータレコード(247_1~n)を生成するステップ、ならびに
一意の識別番号(247)、および前記データレコード(247_1~n)の前記生成に関連付けられたタイムスタンプを返すステップ
を実施することによって、証明し、格納するステップと
を含む、方法。
【請求項2】
データレコードを生成する前記ステップは、前記信頼できるデータベースの、前記クライアントアプリケーションがリンクされた前記ユーザおよび/またはユーザ組織に関連付けられたデジタル台帳内に、新規のデータブロックを生成するステップであって、前記デジタル台帳の各データブロックは、対応する前記データレコードの前記タイムスタンプ情報に従って時系列順に配置される、ステップを含む、請求項1に記載の方法。
【請求項3】
前記デジタル台帳内の各データブロックに、少なくとも前記電子文書の前記デジタル署名および前記データペイロードの前記デジタル署名に基づいて計算された一意のデジタル署名が割り当てられる、請求項3に記載の方法。
【請求項4】
前記証明サーバは、前記ユーザに関連付けられた前記デジタル台帳内に指定の時間枠にわたって作成された前記データブロック内に含まれる情報を、
データブロックの前記時系列順に基づいて、前記デジタル台帳内の、前記指定の時間枠に関連付けられた最初と最後のデータブロックの前記一意のデジタル署名を取り出すステップと、
前記取り出されたデジタル署名に基づいて、前記指定の時間枠のための閉鎖署名を計算するステップと、
前記計算された閉鎖署名に、前記証明データベースから取り出された真正性認証証明書を適用するステップと
を実施することによって、真正性認証するように構成される、請求項3または4のいずれか一項に記載の方法。
【請求項5】
前記真正性認証済みの電子文書に前記真正性認証証明書を適用するステップは、
前記真正性認証済みの電子文書を第1のデジタルフォーマットから第2の事前定義されたデジタルフォーマットに変換するステップと、
前記変換された電子文書にメタデータを追加するステップと、
前記変換された電子文書に、前記取り出された真正性認証証明書を適用するステップと
を含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記証明データベースから真正性認証証明書を取り出すステップは、
各真正性認証証明書に埋め込まれたリンクを介して、前記選択された真正性認証証明書の有効性および/または失効状態をチェックせよとの要求を証明サービスに発行することによって、前記選択された真正性認証証明書の有効性をチェックするステップ
を含み、
前記証明サービスから受信された応答が、前記選択された証明書は無効であること、および/または失効していることを示す場合、前記証明サーバは、
前記証明書データベースから前記無効な証明書を除去するステップと、
前記証明書データベースから新規の真正性認証証明書を選択するステップと、
前記新規の真正性認証証明書の有効性をチェックするステップと
を実施するように構成される、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記電子文書および前記データペイロードの真正性を決定する前記ステップは、
前記データペイロードに適用された前記デジタル署名を、前記データペイロード内に含まれる前記データおよび共有暗号鍵に基づいて再計算し、前記再計算されたデジタル署名を前記データペイロードの前記デジタル署名と比較するステップと、
前記再計算された署名は前記データペイロードの前記デジタル署名に等しいとの決定に応答して、前記有効性確認済みのデータペイロードから前記電子文書のハッシュ値を抽出するステップと、
前記有効性確認済みのデータペイロードから抽出された前記ハッシュ値を、前記証明サーバにおいて受信された前記署名済みの電子文書の前記再計算されたハッシュ値と比較するステップと
を含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
一意の識別番号、および前記データレコードの前記生成に関連付けられたタイムスタンプを返す前記ステップは、前記データレコードのコピーを1つまたは複数の接続されたクライアントアプリケーションに通信するステップを含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
原文書のデジタルコピーの真正性を証明するためのシステムであって、
ユーザの電子デバイス上で実行されているクライアントアプリケーション(100)であって、原文書のデジタルコピーを証明することを求める証明要求をユーザから受け取ったことに応答して、
前記原文書の各ページの証明されるべきデジタルコピー、および対応するデータ項目を獲得すること、
前記原文書の前記ページに関連付けられた前記獲得されたデジタルコピーを含む第1のデジタルフォーマットの電子文書を生成し、前記生成された電子文書、および前記原文書に関連付けられた前記データ項目を含むデータペイロードを生成すること、
前記データペイロードおよび前記電子文書に対応するデジタル署名を計算することによって、前記データペイロードおよび前記電子文書にデジタル署名することであって、前記電子文書の前記デジタル署名は、前記データペイロード内に含まれる前記データに追加される、デジタル署名すること、ならびに
前記署名済みのデータペイロードおよび前記署名済みの電子文書を、前記データ証明サーバに通信すること
を行うように構成された、クライアントアプリケーション(100)と、
前記クライアントアプリケーションに通信可能に結合された証明サーバ(200)であって、前記署名済みのデータペイロードおよび前記署名済みの電子文書を受信したことに応答して、請求項1から10に記載の方法の前記ステップを実施するように構成された、証明サーバ(200)と
を含む、システム。
【請求項10】
前記クライアントアプリケーション(100)は、前記データペイロードを真正性認証トークン内にラッピングすることによって前記データペイロードにデジタル署名するように構成され、前記真正性認証トークンは、前記データペイロード内に含まれる前記データおよび前記クライアントアプリケーションと前記証明サーバとの間で共有される暗号鍵に基づいて計算された署名を含む、請求項9に記載のシステム。
【請求項11】
前記クライアントアプリケーションは、ハッシュ関数を使用して前記電子文書のハッシュをさらに計算することによって、前記データペイロードにデジタル署名するように構成される、請求項10に記載のシステム。
【請求項12】
前記原文書および対応する前記デジタルコピーは、経費情報を含む、紙ベースの経費領収書の形を取る、請求項9から11のいずれか一項に記載のシステム。
【請求項13】
前記証明サーバの前記信頼できるデータベースは、前記クライアントアプリケーションとリンクされたユーザおよび/またはユーザ組織に各々が関連付けられた、複数の部分に分割される、請求項9から12のいずれか一項に記載のシステム。
【請求項14】
前記証明サーバは、前記クライアントアプリケーションから送信された情報に基づいて、前記ユーザおよび/または前記ユーザ組織の識別情報を識別し、それに応じて、前記信頼できるデータベースの対応する部分にデータを向けるように構成される、請求項13に記載のシステム。
【請求項15】
コンピュータ可読媒体上に格納されたプログラムコード命令を備えるコンピュータプログラム製品であって、前記プログラムコード命令は、署名済みのデータペイロードおよび署名済みの電子文書を証明することを求める要求をクライアントアプリケーションから受信したことに応答して、前記証明サーバのプロセッサモジュールによって実行されると、請求項1から8のいずれか一項に記載の方法の前記ステップを証明サーバに実施させる、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スキャンされた文書のデジタルコピーをデジタル証明し、格納するためのシステムおよび方法に関する。
【背景技術】
【0002】
原文書(original document)のデジタルコピーは、原文書内に含まれる情報のデジタル処理およびデジタル送信、例えばデジタルアーカイブ、デジタル経費報告などを含む、さまざまな用途において使用される。多くの場合、対応するデジタルコピーの真正性を証明するために、原文書を維持することが必要とされる。例えば、ある時間期間にわたって収集されたスキャンされた領収書のデジタル画像を含むデジタル経費報告書を、清算のためにサブミットするとき、例えば税務監査の場合には、経費報告書内に含まれる情報の真正性を証明するために領収書原本を維持することが必要となる。
【0003】
原文書を維持する理由は、スキャンされた文書のデジタルコピーは、適切なソフトウェアアプリケーションを使用して容易に修正されることが可能であるためである。例えば、経費報告書をサブミットするユーザが、電子デバイスのカメラを使用して原文書をスキャンして、対応するデジタル画像を取得することがあり、これらの画像は、経費報告サービスに清算のために送信される前に、所望のソフトウェアを使用して処理されることが可能である。しかし、デジタル画像をサブミットする前に、ユーザには、デジタル画像内に表された情報を修正する機会が与えられる。例えば、ユーザは、領収書のデジタルコピー内に記載された金額を改変するようにデジタル画像を後処理したり、日付や時間などの情報を変更したりし得る。結果として、原文書のデジタルコピーは、不正行為に対して脆弱であるとみなされ、対応する原本を維持することが必要になる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
したがって、スキャンされた文書解決策のデジタルコピーの真正性を確実なものにするための改善された解決策を提供することが、必要とされている。
【課題を解決するための手段】
【0005】
本発明の一目的は、原文書のデジタルコピー内に提示された情報の真正性を確実なものにすること、さらには、証明済みのデジタルコピーが作成された、および/または処理のためにサブミットされた時系列順を維持する、アクセス可能な信頼できるデータベース内に、証明済みのデジタルコピーが格納されることを確実なものにすることである。
【0006】
本発明のこの目的は、独立請求項の特徴を示すシステム、方法、およびコンピュータプログラム製品に従って達成される。好ましい実施形態は、従属請求項に記載されている。
【0007】
本発明の一態様によれば、データ証明サーバにおいて原文書のデジタルコピーの真正性を証明するための方法であって、
ユーザの電子デバイス上で実行されているクライアントアプリケーションから、原文書に関連付けられた、デジタル署名済みのデータペイロードおよび対応するデジタル署名済みの電子文書を受信するステップであって、
デジタル署名済みの電子文書は、1つまたは複数のページを含む原文書のデジタルコピー、および生成されたデジタル署名を備え、
デジタル署名済みのデータペイロードは、デジタル署名済みの電子文書、原文書に関連付けられたデータ項目、および生成されたデジタル署名を含む、
受信するステップと、
受信されたデジタル署名済みのデータペイロードおよび対応する電子文書を、
デジタル署名済みのデータペイロードおよびデジタル署名済みの電子文書に対応するデジタル署名を再計算し、再計算された署名を、クライアントアプリケーションにおいて適用されたデジタル署名と比較するステップ、
電子文書とデータペイロードがマッチするとの決定に応答して、証明サーバの証明データベースから取り出された真正性認証証明書を適用することによって、電子文書および対応するデータペイロードを真正性認証する(authenticate)ステップ、
信頼できるデータベースの、クライアントアプリケーションにリンクされたユーザおよび/またはユーザ組織に関連付けられた一部分の中に、真正性認証済みの電子文書および真正性認証済みのデータペイロードから取得された関連付けられたデータ項目を含むデータレコード(247_1~n)を生成するステップ、ならびに
データレコードの生成に関連付けられた、一意の識別番号およびタイムスタンプを返すステップ
を実施することによって、証明し、格納するステップとを含む、方法が提示される。
【0008】
本明細書において提示される解決策は、クライアントアプリケーションにおいて生成された、電子文書およびデータペイロードのデジタル署名を、証明サーバにおいて生成された、対応する再計算されたデジタル署名と比較することによって、原文書のデジタルコピーの証明を可能にするものである。少なくともデータペイロードのデジタル署名が、電子文書のデジタル署名を含む、データペイロード内に含まれるデータに基づいて計算される。結果として、デジタル署名が適用された後でデータペイロードおよび/または電子文書に加えられたいかなる変更も、証明サーバにおける、対応する再計算された署名に反映されることになる。したがって、電子文書および/またはデータペイロードのいかなる修正後変更も、証明サーバにおける真正性認証手順においてエラーを招くことになり、それが、例えばクライアントアプリケーション内で、登録されたユーザにアラートをトリガしうる。このようにして、電子文書に加えられた修正後変更を検出すること、ならびにデータペイロードおよび電子文書を少なくとも含む送信された情報の真正性を確実なものにすることが可能である。データペイロード内に含まれるデータ項目は、原文書のデジタルコピーから直接抽出され、および/またはユーザによって提供されうる。データ項目は、原文書および/またはユーザに関連付けられたさまざまな情報を含みうる。例えば、スキャンされた領収書に関連付けられたデータ項目は、日付、時間、購入された品目、および対応する金額など、原領収書の画像から抽出された情報を含みうる。それと同時に、ユーザがさらに、個人情報、タックスコード、支払詳細などの追加情報を追加してもよい。本開示によれば、クライアントアプリケーションのユーザには、必要な情報を追加するための、および/またはスキャンされた原文書のデジタルコピーから抽出された情報を検証するためのメニューが提供されうる。デジタルコピーは、クライアントアプリケーションを実行している電子デバイスのカメラを使用して取得された画像の形を取り得る。各画像は、単一の原文書のページのデジタルコピーを表しうる。対応する原文書から取得されたデジタルコピー同士は、第1のデータフォーマット、例えばポータブルドキュメントフォーマット(PDF)を有する単一の電子ファイルにまとめられる。電子文書内の各ページは、原文書のページのデジタルコピーを表しえ、必要に応じてより多くのページが追加されうる。したがって、原文書、例えば、レストランの請求書などの紙ベースの経費領収書などごとに、別の電子文書が生成されることになる。各電子文書は、証明され、信頼できるデータベース内にスタンドアロンのエントリとして格納されることになる。
【0009】
本開示の実施形態によれば、データレコードを生成するステップは、信頼できるデータベースの、クライアントアプリケーションがリンクされたユーザおよび/またはユーザ組織に関連付けられたデジタル台帳内に、新規のデータブロックを生成するステップであって、デジタル台帳の各データブロックは、対応するデータレコードのタイムスタンプ情報に従って時系列順に配置される、ステップを含む。
【0010】
真正性認証済みの電子文書と、真正性認証済みのデータペイロード内に含まれるデータ項目の少なくとも一部分はともに、信頼できるデータベースの、アプリケーションとリンクされたユーザおよび/またはユーザ組織に関連付けられた一部分の中に、データレコードとして格納される。各データレコードは、信頼できるデータベースの一部分であるデータベース台帳内の新規のデータブロックの形を取り得る。データベース台帳は、ブロックチェーンや類似のものなど、既存の台帳技術に基づいてよく、その際、各データブロックには、一意のデジタル署名、およびデータベース台帳内にそのデータブロックがいつ作成されたかを示すタイムスタンプが与えられる。タイムスタンプは、データベース台帳内でイベントがいつ発生したかを識別するとともに時間、日付などの情報を提供する、文字または符号化された情報の系列でありうる。デジタル台帳の各データブロックは、対応するデータレコードのタイムスタンプ情報に従って時系列順に配置される。デジタル台帳は、作成されたデータブロックおよびそれらの時系列順を常に把握し、それにより、データブロック内に含まれる情報に加えられる変更を防ぎ、および/または記録する。
【0011】
本開示の実施形態によれば、データペイロードは真正性認証トークン内にラッピングされ、この真正性認証トークンは、データペイロード内に含まれるデータおよびクライアントアプリケーションと証明サーバとの間の共有暗号鍵から計算されたデジタル署名を使用して、デジタル署名される。真正性認証トークンは、データペイロード内に含まれるデータのデジタル署名および/または暗号化物を含むJSONウェブトークンまたは類似のものでありうる。結果として、真正性認証トークン内に含まれるデータを変更しようとするいかなる試みも、証明サーバにおいて実施される、対応するデジタル署名の再計算に反映されることになる。このようにして、本明細書において説明される解決策は、データペイロードおよび/または電子文書内のデータの不正な事後修正を防ぐためのさらなる保護手段を提供する。
【0012】
本開示の実施形態によれば、データペイロードおよび/または電子文書のデジタル署名は、SHA-265ハッシュ関数アルゴリズムや類似のものなどのハッシュ関数を共有鍵とともに使用して計算されうる。
【0013】
本開示の実施形態によれば、デジタル台帳内の各データブロックに、少なくとも、データレコード内に格納された電子文書のデジタル署名およびデータペイロードのデジタル署名に基づいて計算された、一意のデジタル署名が割り当てられる。さらに、デジタル台帳内の各データブロックのデジタル署名は、デジタル台帳内の先行するデータブロックのデジタル署名にさらに基づきうる。例えば、データブロックのデジタル署名は、専用テーブル内の1つまたは複数のデータ項目、例えば第1のデータ項目のデジタル署名および/もしくは暗号値、ならびに/またはデータペイロードおよび電子文書に割り当てられたデジタル署名に基づいて計算されうる。したがって、原文書から抽出されたデータに加えられたいかなる事後修正も、データブロックのデジタル署名に反映されることになり、それにより、信頼できるデータベース内に格納された情報に加えられる事後修正を防ぎ、検出するためのさらなる保護手段がもたらされる。一般に、本開示は、確実に、証明済みのデータを含むデータブロックが除去、改変、または順序変更されれば必ずデータベース台帳の完全性が破壊され、それにより、不正行為を示すアラートがトリガされることになるようにするための、メカニズムを提供する。
【0014】
本開示の実施形態によれば、証明サーバは、ユーザに関連付けられたデジタル台帳内に指定の時間枠にわたって作成されたデータブロック内に含まれる情報を、
データブロックの時系列順に基づいて、デジタル台帳内の、指定の時間枠に関連付けられた最初と最後のデータブロックの一意のデジタル署名を取り出すステップと、
取り出されたデジタル署名に基づいて、指定の時間枠のための閉鎖署名(closure signature)を計算するステップと、
計算された閉鎖署名に、証明データベースから取り出された真正性認証証明書を適用するステップと
を実施することによって、真正性認証するように構成される。
【0015】
証明サーバは、ユーザに関連付けられたデジタル台帳内に指定の時間枠、例えば会計期間や類似のものにわたって作成されたデータブロック内に含まれる情報を真正性認証するように構成される。本開示の解決策は、指定の時間枠に関連付けられたさまざまなデータブロックからの情報を集約できる可能性を提供する。例えば、経費報告の場合、会計期間にわたって清算のためにサブミットされた経費報告書からの情報を、収集し集約することが通例である。本解決策は、各顧客についてその顧客の設定(configuration)に基づいて、例えば各クライアントについて該当する会計情報に基づいて、データベース台帳内で現在の会計期間を閉鎖し、新規の会計期間を作成することを可能にする。各会計期間は、分散台帳内の、指定の時間枠、例えば会計期間に関連付けられた最初と最後のデータブロックから取得されたデジタル署名に基づいて生成された閉鎖デジタル署名によって、閉鎖される。各指定の時間期間の終わりに、生成された閉鎖署名および指定の時間枠のデータブロック内に含まれるデータの真正性を示すための真正性認証証明書を含む期間終了データブロックが、デジタル台帳内に作成される。期間終了データブロックは、指定の時間枠の閉鎖地点および他の、例えば税務会計期間の開始地点を示す。期間終了データブロックの閉鎖デジタル署名内に含まれる情報は、チェーン内の各ブロックを個別にチェックする必要なく指定の時間枠に関連付けられた先行する各データブロック内に記録された個別のトランザクションを検証するために、使用されうる。
【0016】
本開示の実施形態によれば、真正性認証済みの電子文書に真正性認証証明書を適用するステップは、
真正性認証済みの電子文書を第1のデジタルフォーマットから第2の事前定義されたデジタルフォーマットに変換するステップと、
変換された電子文書にメタデータを追加するステップと
を含む。
【0017】
証明サーバは、真正性認証済みのペイロードおよび真正性認証済みの電子文書に真正性認証証明書を適用する前に、電子文書を第1のデジタルフォーマットから第2のデジタルフォーマットに、例えばPDFからPDF/Aまたは同等のものに変換する。さらに、電子文書の変換の間、電子文書にクライアントアプリケーションバージョン、取込み日付/時間、ソフトウェア名、ソフトウェアバージョンなどのメタデータ情報のセットが追加される。
【0018】
本開示の実施形態によれば、証明データベースから真正性認証証明書を取り出すステップは、
各真正性認証証明書に埋め込まれたリンクを介して、選択された真正性認証証明書の有効性および/または失効状態をチェックせよとの要求を証明サービスに発行することによって、選択された真正性認証証明書の有効性をチェックするステップ
を含み、
証明サービスから受信された応答が、選択された証明書が無効であること、および/または失効していることを示す場合、証明サーバは、
証明書データベースからこの無効な証明書を除去するステップと、
証明書データベースから新規の真正性認証証明書を選択するステップと、
新規の真正性認証証明書の有効性をチェックするステップと
を実施するように構成される。
【0019】
本開示の実施形態によれば、証明サーバは、証明書データベース内に格納すべき新規の真正性認証証明書の発行を証明サービスに要求するように構成されうる。
【0020】
本開示の実施形態によれば、電子文書およびデータペイロードの真正性を決定するステップは、
データペイロードに適用されたデジタル署名を、データペイロード内に含まれるデータおよび共有暗号鍵に基づいて再計算し、再計算されたデジタル署名をデータペイロードのデジタル署名と比較するステップと、
再計算された署名がデータペイロードのデジタル署名に等しいとの決定に応答して、有効性確認済みのデータペイロードから電子文書ハッシュ値を抽出するステップと、
有効性確認済みのデータペイロードから抽出されたハッシュ値を、証明サーバにおいて受信された署名済みの電子文書の再計算されたハッシュ値と比較するステップと
を含む。
【0021】
本開示の実施形態によれば、一意の識別番号およびデータレコードの生成に関連付けられたタイムスタンプを返すステップは、データレコードのコピーを1つまたは複数の接続されたクライアントアプリケーションに通信するステップを含む。
【0022】
真正性認証済みのデータペイロードおよび真正性認証済みの電子文書に適用される真正性認証証明書は、分散台帳内に指定の時間枠ごとに生成された閉鎖データブロックのデジタル閉鎖署名にも適用されうる。真正性認証証明書は、証明サービスから取得された複数の真正性認証証明書を含む証明データベースから選択され、この証明データベースは、証明サーバおよび/またはサードパーティサービスの一部でありうる。真正性認証証明書を適用する前に、証明サーバは、各真正性認証証明書内に設けられた埋込みリンクを介して証明サービスに接触することによって、証明書の有効性をチェックする。証明サービスからの応答が、選択された真正性認証証明書が無効であることまたは失効していることを示す否定的なものである場合、証明サーバは、データベースから新規の証明書を選択する。
【0023】
本開示の第2の態様によれば、原文書のデジタルコピーの真正性を証明するためのシステムであって、
ユーザの電子デバイス上で実行されているクライアントアプリケーションであって、原文書のデジタルコピーを証明することを求める証明要求をユーザから受け取ったことに応答して、
原文書の各ページの証明されるべきデジタルコピー、および対応するデータ項目を獲得すること、
原文書のページに関連付けられた獲得されたデジタルコピーを含む第1のデジタルフォーマットの電子文書を生成し、生成された電子文書、および原文書に関連付けられたデータ項目を含むデータペイロードを生成すること、
データペイロードおよび電子文書に対応するデジタル署名を計算することによって、データペイロードおよび電子文書にデジタル署名することであって、電子文書のデジタル署名はデータペイロード内に含まれるデータに追加される、デジタル署名すること、ならびに
署名済みのデータペイロードおよび署名済みの電子文書を、データ証明サーバに通信すること
を行うように構成された、クライアントアプリケーションと、
クライアントアプリケーションに通信可能に結合された証明サーバであって、署名済みのデータペイロードおよび署名済みの電子文書を受信したことに応答して、第1の態様の実施形態による方法のステップを実施するように構成された、証明サーバと
を含む、システムが提供される。
【0024】
第2の実施形態の実施形態によれば、クライアントアプリケーションは、データペイロードを真正性認証トークン内にラッピングすることによってデータペイロードにデジタル署名するように構成され、この真正性認証トークンは、データペイロード内に含まれるデータおよびクライアントアプリケーションと証明サーバとの間で共有される暗号鍵に基づいて計算された署名を含む。
【0025】
第2の実施形態の実施形態によれば、クライアントアプリケーションは、ハッシュ関数を使用して電子文書のハッシュをさらに計算することによって、データペイロードにデジタル署名するように構成される。
【0026】
第2の実施形態の実施形態によれば、原文書および対応するデジタルコピーは、経費情報を含む、紙ベースの経費領収書の形を取る。本開示の方法およびシステムを使用して他のタイプの文書が証明されうることに留意されたい。
【0027】
第2の実施形態の実施形態によれば、証明サーバの信頼できるデータベースは、クライアントアプリケーションとリンクされたユーザおよび/またはユーザ組織に各々が関連付けられた、複数の部分に分割される。信頼できるデータベースを独立した部分に分割することには、管理がより容易になるという利点があり、というのも、異なるユーザ間の情報の隔離を確実なものにしながら、1つのデータベースだけが維持されればよいためである。
【0028】
第2の実施形態の実施形態によれば、証明サーバは、クライアントアプリケーションから送信された情報に基づいて、ユーザおよび/またはユーザ組織の識別情報を識別し、それに応じて、信頼できるデータベースの対応する部分にデータを向けるように構成される。
【0029】
本開示のさらなる一態様によれば、コンピュータ可読媒体上に格納されたプログラムコード命令を含むコンピュータプログラム製品であって、プログラムコード命令は、署名済みのデータペイロードおよび署名済みの電子文書を証明することを求める要求をクライアントアプリケーションから受信したことに応答して、証明サーバのプロセッサモジュールによって実行されると、第1の態様の実施形態による、受信されたデータペイロードおよび電子文書を証明し、格納するステップを証明サーバに実施させる、コンピュータプログラム製品が提供される。
【0030】
添付の図面は、本発明のさまざまな態様についてさらに解説し、説明するための一例として提供される。
【図面の簡単な説明】
【0031】
【
図1】本開示の実施形態による、原文書のデジタルコピーの真正性を証明するためのシステムの例示的な一実装形態を示す図である。
【
図2】本開示の実施形態による、
図1のシステムの証明サーバの例示的なシステムアーキテクチャを示す図である。
【
図3】本開示の実施形態による、経費証明システムの例示的な一実装形態を示す図である。
【
図4】本開示の実施形態による、信頼できるデータベースのデータベース台帳の例示的な一実装形態を示す図である。
【
図5】本開示の実施形態による、原文書のデジタルコピーの真正性を証明するための例示的な方法を示す図である。
【発明を実施するための形態】
【0032】
本発明は、図中に示された例示的な実施形態を使用して例証され、これらの例示的な実施形態については、以下でより詳細に説明される。寸法に対してなされるいかなる言及も、例示にすぎず、いかなる形であれ本発明を限定するものではないことに、留意されたい。本発明については、そのいくつかの例証された実施形態に即して示し説明されてきたが、本発明の範囲から逸脱することなく形態および詳細のさまざまな変更が本発明に加えられうることが、当業者には理解されよう。
【0033】
図1は、本開示の実施形態による、原文書のデジタルコピーの真正性を証明するためのシステムの例示的な一実装形態を示す。本開示のシステムには、ラップトップ機、モバイル電話、タブレット機などの電子デバイス上で実行されているクライアントアプリケーション100が設けられている。ユーザが、グラフィックユーザインターフェース(GUI)を介してクライアントアプリケーション100を動作させて、文書を証明のためにサブミットする。クライアントアプリケーション100は、1つまたは複数の原文書、例えば紙ベースの経費領収書を証明せよとのユーザ要求を、GUIを通じて受け取ったことに応答して、原文書をスキャンして、対応するデジタルコピーを取得する。例えば、クライアントアプリケーション100は、電子デバイスのカメラを動作させて、原文書の画像を取得してよく、それらの画像はその後、電子デバイスのメモリ内に、所望のフォーマット、例えばJPG、PNGなどで格納されうる。クライアントアプリケーション100は、獲得された画像を処理して、スキャンされた文書に関連付けられたデータ項目を抽出する。例えば、経費領収書の場合、クライアントアプリケーション100は、経費項目、対応する金額、通貨、日付および時間、支払われた合計金額などに関連付けられたデータ項目を抽出しうる。クライアントアプリケーション100は、証明に使用されることの可能な、原文書に関連付けられたさらなる情報を追加するためのオプションのセットを、ユーザにさらに提供しうる。クライアントアプリケーション100は、証明に求められる、原文書のデジタルコピーおよび原文書に関連付けられたデータ項目を含む必要な情報を収集した後で、収集された情報を証明のために準備する。準備段階の間、原文書のページの各デジタルコピーが、ポータブルドキュメントフォーマット(PDF)などの所望のデジタルフォーマットの単一の電子文書にまとめられ、この電子文書はその後、暗号学的ハッシュアルゴリズム、例えばSHA-256や類似のものを使用してデジタル署名される。証明要求の間に収集された対応するデータ項目は、データペイロードにグループ化される。データ項目は、電子文書から抽出されえ、および/またはユーザによって提供されうる。データペイロードは、原文書に関連付けられたデータ項目、クライアントアプリケーション100から収集されたメタデータ、電子文書の生成されたデジタル署名などのさまざまな情報を含む。クライアントアプリケーション100は、データペイロードにデジタル署名を適用し、このデジタル署名は、データペイロード内に含まれる情報および証明サーバ200と共有される鍵に基づいて計算される。結果として、データペイロード内に含まれる情報に対するいかなる変更も、デジタル署名の変化を生じさせることになる。さらなる保護として、データペイロードは、真正性認証トークン内にラッピングされえ、この真正性認証トークンは、データペイロード内に含まれる情報および暗号鍵に基づいて計算されたデジタル署名を使用して、デジタル署名される。真正性認証トークンは、サードパーティサービスによって生成されうる。したがって、トークンの真正性認証には、対応する暗号鍵の知識が必要になることになる。暗号トークンは、JSONウェブトークンまたは同等のものでありうる。クライアントアプリケーション100は、デジタル署名済みの電子文書、および真正性認証トークンの形を取り得るデジタル署名済みのデータペイロードを、原文書のデジタルコピーおよび対応するデータを証明するように構成された証明サーバ200に送信する。証明サーバ200は、外部クライアントシステムなどのさまざまな外部アプリケーションサービス300に通信可能に結合されている。証明サーバ200は、クライアントアプリケーションから送信された情報の真正性を証明し、真正性認証済みの情報を安全に格納するように、構成される。
【0034】
図2は、本開示の実施形態による、証明サーバ200のための例示的なアーキテクチャを示す。証明サーバ200には、対応するユーザ電子デバイス上で実行されているクライアントアプリケーション100および/またはサードパーティアプリケーション300間のデータ交換を容易にするように構成された通信モジュール210が設けられている。したがって、通信モジュールは、クライアントアプリケーションから送信された情報を受信するように構成され、この情報は、先に説明されたように、デジタル署名済みの電子文書、および真正性認証トークンの形を取り得るデータペイロードを含む。通信モジュールにおいて受信された情報は、データ処理モジュール220によって処理され、その際、デジタル署名済みのペイロード内に含まれる情報が抽出され、デジタルペイロードおよび/またはデジタルペイロードを含む真正性認証トークンに適用されたデジタル署名が再計算される。デジタル署名は、デジタル署名モジュール230によって再計算され、デジタル署名モジュール230には、クライアントアプリケーション100において適用されたデジタル署名プロセスを重複して行うのに必要な暗号アルゴリズムおよび暗号鍵が設けられている。結果として、データペイロード内に含まれるデータが変更されないままである場合、デジタル署名モジュール230によって計算されたデジタル署名は、クライアントアプリケーションによって適用されたデジタル署名とマッチするはずである。そうではなく、再計算されたデジタル署名とクライアントアプリケーションによって適用されたデジタル署名との間に差異がある場合、データ処理モジュール220は、データペイロード内のデータが事後修正されており、したがって、原文書から取得されたデータに対応しない、とみなすことになる。データペイロードが真正性認証されてしまえば、デジタル署名とも呼ばれ、クライアントアプリケーションによって電子文書に適用され、データペイロード内に含まれるハッシュは、真正であるとみなされることになる。したがって、証明サーバ200における真正性認証手順の間、真正性認証済みのデータペイロードから取得された電子文書のデジタル署名が、データ処理モジュール220によって、クライアントアプリケーション100によって送信されたデジタル署名済みの電子文書の再計算されたデジタル署名と比較される。データペイロードに適用された比較プロセスと同様に、データペイロードから取得された電子文書のデジタル署名が、再計算されたデジタル署名とマッチした場合、送信された電子文書は真正であるとみなされる。そうではなく、マッチしないことが識別された場合、電子文書は改ざんされており、証明プロセスから棄却される。結果として、最初にデータペイロードが真正性認証され、次いで電子文書が真正性認証される、2段階真正性認証プロセスを提供することによって、電子文書内およびデータペイロード内の両方で行われた事後修正を識別することが可能になる。電子文書のデジタル署名およびデータペイロードのデジタル署名が真正性認証された後で、電子文書111は、所望のフォーマットに、例えばPDFからPDF/Aに変換され、変換された電子文書にデジタル署名が適用される。その後、変換された電子文書232、およびデータペイロードまたはデータペイロード内に含まれる情報の一部が、信頼できるデータベース240の、クライアントアプリケーション100にリンクされたユーザおよび/またはユーザ組織に関連付けられた一部分の中に格納される。信頼できるデータベース240は、生成されたレコードについての、参照識別番号およびタイムスタンプを返し、それらは、クライアントアプリケーションおよび/またはサードパーティサービスに転送されうる。
【0035】
図3は、本開示の実施形態による、紙ベースの経費領収書に関連付けられたデジタルコピーおよび対応するデータの真正性を証明するための、
図1のシステムの例示的な一実装形態を示す。ユーザの電子デバイス上で実行されているクライアントアプリケーション100が、ユーザによって、原経費領収書およびそれに伴うデータをデジタル化するために使用される。クライアントアプリケーション100は、ユーザの要求時に空のPDF文書111を作成し、このPDF文書111が、スキャンされた経費領収書の画像を含むことになる。PDF文書111が開かれた後で、クライアントアプリケーション100は、電子デバイスのカメラ、例えば一体化された電話カメラ(integrated phone camera)を使用して、経費領収書の画像を取得する。クライアントアプリケーション100は、取得された各画像を、撮影された写真に対してフレーム検出アルゴリズムを実行することにより処理して、PDF文書111に追加すべき文書ページを生成する。クライアントアプリケーション100は、フレーム検出アルゴリズムの結果に基づいて、文書ページをトリミングおよびデスキューし、処理された文書ページを、文書の正確さ、鮮明さ、および可読性を確実なものにするための承認を得るべく、ユーザに提示する。ユーザの承認時に、クライアントアプリケーション100は、生成された文書ページをPDF文書111に追加する。上で概説された手順と同じ手順に従って、原領収書のページごとに、新規の文書ページが生成され、PDF文書に追加される。クライアントアプリケーション100は、個人情報、タックスコードなど、タックスホモロゲーション(tax homologation)用の追加データを追加するためのフォームまたはメニューをユーザにさらに提示する。さらに、クライアントアプリケーション100は、経費領収書に関連付けられた画像から、購入された各品目の金額、時間および日付、国、領収書番号などのデータを抽出しうる。ユーザは、収集された情報の正確さを確実なものにするために、経費領収書およびタックスホモロゲーションに関連付けられた情報に同意するように要求される。ユーザが情報の正確さを承認した後で、クライアントアプリケーションは、SHA-256や類似のものなどの知られているハッシュ関数アルゴリズムを使用して一意のハッシュ値を計算することによって、PDF文書にデジタル署名する。PDF文書111に加えて、クライアントアプリケーション100は、さまざまなものの中でもとりわけ、ユーザおよび画像から収集されたデータ、ならびにPDF文書111のハッシュ値を含む、アップロードされるべきデータペイロードも準備する。
図3に示すように、データ抽出およびタックスホモロゲーションは、証明サーバ200側においてそれぞれに対応するシステム221および画像リーダモジュール221を使用して実施されえ、システム221および画像リーダモジュール221は、証明サーバ200の処理モジュール220の一部でありうる。クライアントアプリケーション100は、データペイロード、ならびにデータペイロードおよびクライアントアプリケーション100と証明サーバ200との間で共有される暗号鍵に基づいて計算されたデジタル署名を含む、対応するJSONウェブトークン112を作成する。クライアントアプリケーション100は、デジタル署名済みのPDF文書、およびJSONウェブトークンを、証明サーバ200の通信モジュール210の一部である通信ゲートウェイ211にアップロードする。
【0036】
通信ゲートウェイ211は、クライアントアプリケーションから、PDF文書111およびJSONウェブトークン(JWT)112を含むアップロード要求を受信する。通信ゲートウェイ211において、受信されたペイロードおよび共有暗号鍵に基づいてデジタル署名を再計算することによって、JWTが有効性確認される。再計算された署名が、アップロードされたJWTのデジタル署名とマッチする場合、JWT112は完全な状態であるとみなされ、JWT112内に含まれる情報は真正であるとみなされる。有効性確認済みのJWT112は、PDF文書111とともに、デジタル署名モジュール230の一部である署名サービス231に、有効性確認のために転送される。
署名サービス231は、通信ゲートウェイ211から、PDF文書111およびJWT112を含むアップロード要求を受け取る。JWT112の有効性は通信ゲートウェイ211によってすでにチェックされているので、署名サービス231は、JWT112内に含まれる情報も真性であるとみなす。したがって、デジタル署名サービス231は、JWT112からPDF文書ファイル111のハッシュを抽出し、それを、アップロードされたPDF文書111の再計算されたハッシュと比較する。それらの署名がマッチする場合、アップロードされたPDF文書111は真正であるとみなされ、すなわち、事後処理修正は検出されない。それらの署名がマッチしない場合、PDF文書は棄却され、PDF文書が有効ではないことを示すアラートが出される。それと同じプロセスが、無効なJWT112が検出されたときに通信ゲートウェイ211によってたどられる。有効性確認済みのPDF文書111は、PDFフォーマットからPDF/A-3Uフォーマットまたは類似のものに変換される。署名サービス231において、取込み日付、ソフトウェア名、ソフトウェアバージョン、タックスホモロゲーションコードなどのメタデータ情報を含むさらなる情報が、変換されたPDF/A文書に追加されうる。PDF/A文書は、証明データベースからのデジタル真正性認証証明書を適用することによって、デジタル署名される。デジタル署名サービス231は、選択されたデジタル真正性認証証明書の状態を、外部証明サービス310に接触することによって有効性確認しうる。証明書が有効である場合、署名済みのPDF/Aが、PDF/A 3U標準に照らして準拠しているかどうか確認される。証明書が有効ではない場合、証明データベースから新規の証明書が選択される。一般に、証明データベースは、1つまたは複数の真正性認証証明書を備えてもよく、この証明書は定期的に事前ロードおよび/またはリフレッシュされうる。有効性確認済みのPDF/A文書232およびアノテートされた経費データは、信頼できるデータベース240に格納のためにアップロードされる。それに応答して、信頼できるデータベース240は、PDF文書のデータレコード_ID(例えばインボイス_ID)、受領_id、および挿入タイムスタンプを生成する。デジタル署名サービス231は、信頼できるデータベースからこれらの情報を受け取ったことに応答して、PDF/Aファイルの最初のページの画像を抽出し、それを、アノテートされた経費データから取られた値とともに、JWT112内に含まれるクライアントアカウント情報を使用して経費モジュール233にアップロードする。
【0037】
信頼できるデータベース240は、PDF/A文書232およびアノテートされた経費データをアップロードせよとの要求を受け取ったことに応答して、テーブル内、例えばテーブルの、ユーザに関連付けられた区画内の、最終エントリを取り出す。信頼できるデータベース240は、インクリメントされた受領_id、署名済みのPDFファイルのハッシュ、および経費データのハッシュを含む、新規のエントリを挿入する。信頼できるデータベースは、PDFファイルに追加された一意の識別(ID)番号、例えばインボイス_IDをチェックし、それがテーブル内にすでに存在する場合、テーブル内に新規のエントリを作成するのではなく、署名サービス231の既存のデータレコード識別(ID)番号(インボイス_id)、受領_id、およびタイムスタンプを返す。一意のIDが存在しない場合、信頼できるデータベースは、PDF/A文書232のデジタル署名を使用してインボイスにリンクされたPDF/A文書を新規のファイルとして挿入し、またインボイス_ID、およびこの最初の経費_データエントリのハッシュにリンクされた、アノテートされた経費データを、経費テーブルに挿入する。経費項目とともに、ランダムソルト値も格納される。信頼できるデータベースは署名サービス231に、一意のグローバルインボイス_idを、受領_id(このシステムにとってのみ一意である)および挿入タイムスタンプとともに返す。
【0038】
信頼できるデータベース240は、署名済みのPDF/A文書232を、アノテートされた経費データとともに格納する。さらに、信頼できるDBサービス240は、格納された領収書の有効性および完全性を証明するために、記録された全ての、署名済みのPDF/A表現物によるインボイスおよび経費データを含む、ハッシュチェーンを書き込む。さらに、信頼できるDBサービス240は、各顧客についてその顧客の設定に基づいて、現在の会計期間を閉鎖し、新規の会計期間を作成することも担う。各会計期間は、その会計期間の開始と終了のハッシュを含む署名によって閉鎖されなければならない。PDF/Aファイルに署名するのに使用されるのと同じ証明書がこの場合も、期間閉鎖に署名するための閉鎖用署名を、署名サービス(SIG)231を使用して作成するために使用される。
【0039】
図4は、トランザクションを一意のハッシュデータブロック243_1~243_n内に記録するための、信頼できるデータベース240内に作成された代表的なハッシュチェーン242を示す。初期設定段階の間、電子文書のデジタル署名244およびJSONのデジタル署名245を含む第1のデータレコード247_1が生成される。デジタル署名244および245は、ハッシュコードの形を取り得る。デジタルレコード247_1には、参照識別番号247「受領_1」が割り当てられ、これは、後続のデータレコード247_1~nについてインクリメントされる。データレコード247_1内に含まれるデジタル署名244および245に基づいて、ハッシュチェーン242内にデータブロック243_1が生成され、データブロック243_1には、一意のハッシュコード246_1が割り当てられる。第1のデータブロック243_1のハッシュコード246_1は、少なくとも電子文書のハッシュコード244およびJSONのハッシュコード245に基づいて生成される。新規のデータレコード247_nに対応する後続のデータブロック243_nでは、各ハッシュブロック243_1~243_nの一意のハッシュコード246_1~246_nが、先行するデータブロック243_n-1のハッシュコード246_n-1にさらに基づき、それにより、確実に新規のデータブロックが先行するデータブロックにリンクされるようになっていてよい。特定の時系列期間、例えば会計期間にわたって生成されたデータブロック243_1~nは、対応する1人または複数のユーザによってある時間期間にわたってサブミットされた個別のデータ領収書を表しうる。信頼できるデータベースサービス240は、各顧客およびそれらの対応するユーザについて顧客の設定に基づいて、現在の時系列期間、例えば会計期間を閉鎖し、新規の時系列期間、例えば会計期間を作成するために、使用されうる。各会計期間は、指定の会計期間の最初と最後のデータブロック243_1~nに適用された最初のデジタル署名246_1および最後のデジタル署名246_nに基づいて生成された署名249aによって閉鎖されうる。閉鎖用署名249aは、各データレコード247_1~n内に格納された情報を別途処理する必要なく指定の期間にわたって行われたトランザクションを検証するために、使用される。閉鎖用署名249aは、署名サービス231によって使用される証明書を使用して署名されうる。
【0040】
一般に、経費リーダモジュール212には、スキャンのためにサブミットされた原文書を検出し、処理するための、自己トレーニング済みの畳み込みニューラルネットワーク(CNN)を使用したフレーム検出アルゴリズムが設けられている。フレーム検出の結果は、紙ベースの原文書を表示する取り込まれた画像の一部をトリミングおよびデスキューするために使用される。フレーム編集を防ぐために、クライアントアプリケーション100は、スキャンプロセスの間の人間との対話を妨げる。クライアントアプリケーション100はさらに、ユーザに、複数のインボイスまたは単一のインボイスの複数のページを同時に含む画像、例えば複数の経費領収書を示す画像を撮影させないようにする。この目的のために、経費リーダモジュール211は、トレーニング済みの小規模ニューラルネットワークを使用して、カメラの視野内に複数の領収書が示されているかどうかを検出し、ユーザに写真を撮影させないようにしてよい。経費リーダモジュール212は、証明サーバ200の一部であるとして示されているが、同じく、電子デバイス上で実行されているクライアントアプリケーション110の一部とすることができることに留意されたい。
【0041】
経費リーダモジュール212は、PDFのための入力画像フォーマットとして、ラスタ画像、例えばJPEGを使用しうる。ラスタ画像をPDF内に追加するというのは、入力画像(例えばPNG、GIF、JPEG、JPEG2Kなど)を埋め込むということではなく、入力画像は、PDF標準によって規定された内部フィルタによってサポートされる内部エンコーディングに変換されている。例えば、DCT Decodeは、たまたまJPEG標準の実装にかなり近いが、必ずしもJPEG標準に準拠しているとは限らない。画像を内部エンコーディングフォーマットに変換することによって、将来的に内部の実装と公式標準が異なったときでさえ確実にPDF文書が画像のコンテンツを表示できるようになる。
【0042】
一般に、オンライン証明書状態プロトコル(OCSP)310は、サードパーティプロバイダによって提供される、真正性認証証明書の有効性をチェックするためのサービスである。デジタル署名サービス231、または信頼できるデータベース240、または真正性認証証明書を適用するタスクを課された他のサービスが、証明書の有効性をチェックせよとの要求を、証明書に埋め込まれたURLリンクを使用して、サードパーティプロバイダに出しうる。OCSPサービス310は、証明書の無効および/または失効に関するアラートを提供するように予め構成されてもよく、アラートはキャッシュメモリ内に格納されうる。証明サーバによってOCSP310に出された要求の結果は、特定の期間、例えば2日にわたって有効とみなされうる。ネットワーク負荷を低減するため、また接続性障害が署名プロセスと確実に干渉しないようにするために、OSCPの応答は、事前定義された時間枠にわたってキャッシュされてもよく、この時間枠は、証明書の有効性よりも短くてもよく、例えば6時間にわたりうる。この時間の後で、キャッシュされたOCSP応答はリフレッシュされうる。接続性の問題のためリフレッシュが失敗した場合、それでもなお、接続性の問題を解決するかまたは証明書を置き換える、例えば新規の証明書を取得するための時間はある。
【0043】
署名サービス231は、証明データベース内に格納された署名証明書のプールを含んでおり、そこから、アクティブな証明書が選択される。デジタル署名を適用する前に、アクティブな証明書の満了日およびキャッシュされた失効状態がチェックされる。OCSP310の応答が、証明書が失効したかまたは証明書が満了したことを示す場合、証明書は証明書プールから除去され、次の証明書が選ばれる。証明書プールをリフレッシュするために、新規の証明書が発行されうる。
【0044】
原文書のデジタルコピーを証明するための例示的な方法500が、
図5に提示されている。プロセスは、クライアントアプリケーション100において、原文書、例えば経費領収書のデジタル証明を求める要求を受け取ることから開始する。クライアントアプリケーション100は、ステップ510において、原文書の証明されるべきデジタルコピー、および原文書に関連付けられた対応するデータ項目を獲得する。例えば、先に説明されたように、原文書の画像が、ユーザの電子デバイスのカメラを使用して取得されうる。ステップ520において、クライアントアプリケーション100は、獲得された画像を含む、第1のデジタルフォーマット、例えばPDFの電子文書111、および各原文書に関連付けられたデータ項目を含むデータペイロード112を生成する。ステップ530において、PDF文書111およびデータペイロードは、それぞれのデジタル署名を計算することによってデジタル署名される。電子文書111のデジタル署名は、データペイロード内に含まれるデータに追加される。ステップ530において、クライアントアプリケーション100は、署名済みのPDF文書111、およびJSONウェブトークンの形を取り得る署名済みのデータペイロード112を通信する。ステップ540において、アップロードされたデータペイロード112およびPDF文書111が、証明サーバ200において受信され、そこでデータペイロード112およびPDF文書111は、先に説明されたように、それらの真正性を決定するように処理される。データペイロード112およびPDF文書111の真正性が検証された後で、ステップ550において、上述されたように、署名サービス231によって真正性認証証明書が適用される。ステップ560において、真正性認証済みのPDF文書111および真正性認証済みのデータペイロード112は、真正性認証済みの電子文書および真正性認証済みのデータペイロードから取得された関連付けられたデータ項目を含むデータレコードを生成することによって、信頼できるデータベース240内に格納される。データレコードを生成したことに応答して、信頼できるデータベースは一意の識別番号、およびデータレコードの生成に関連付けられたタイムスタンプを返す。
【0045】
いくつかの実施形態では、方法は、上述されたコンピューティングリソース機能の割り振りを管理するためのシステムのいずれか1つに対応する方法ステップを含む。
【符号の説明】
【0046】
100 クライアントアプリケーション
110 クライアントアプリケーション
111 電子文書、PDF文書、PDF文書ファイル
112 JSONウェブトークン、JWT、データペイロード
113 デジタルコピー
200 データ証明サーバ
210 データ通信モジュール
211 通信ゲートウェイ、経費リーダモジュール
212 経費リーダモジュール
220 データ処理モジュール
221 システム、画像リーダモジュール
230 デジタル署名モジュール
231 デジタル署名サービス
232 変換された電子文書、PDF/A文書
233 経費モジュール
240 信頼できるデータベース、信頼できるDBサービス、信頼できるデータベースサービス
242 ハッシュチェーン
243_1 ハッシュデータブロック、第1のデータブロック、ハッシュブロック
243_n-1 データブロック
243_n ハッシュデータブロック、ハッシュブロック
244 デジタル署名、ハッシュコード
245 デジタル署名、ハッシュコード
246_1 ハッシュコード、最初のデジタル署名
246_n-1 ハッシュコード
246_n ハッシュコード、最後のデジタル署名
247 参照識別番号
247_1 第1のデータレコード、デジタルレコード
247_n データレコード
249a 閉鎖用署名
300 外部アプリケーションサービス、サードパーティアプリケーション
310 外部証明サービス、オンライン証明書状態プロトコル(OCSP)、OCSPサービス
500 方法
【手続補正書】
【提出日】2024-06-13
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
データ証明サーバ(200)において原文書のデジタルコピーの真正性を証明するための方法であって、
ユーザの電子デバイス上で実行されているクライアントアプリケーション(100)から、原文書に関連付けられた、デジタル署名済みのデータペイロード(112)および対応するデジタル署名済みの電子文書(111)を受信するステップであって、
前記デジタル署名済みの電子文書(111)は、1つまたは複数のページを含む原文書のデジタルコピー(113)、および生成されたデジタル署名を含み、
前記デジタル署名済みのデータペイロード(112)は、前記デジタル署名済みの電子文書(111)、前記原文書に関連付けられたデータ項目、および生成されたデジタル署名を含む、
ステップと、
前記受信されたデジタル署名済みのデータペイロード(112)および対応する前記電子文書(111)を、
前記デジタル署名済みのデータペイロード(112)および前記デジタル署名済みの電子文書(111)に対応する前記デジタル署名を再計算し、前記再計算された署名を、前記クライアントアプリケーション(100)において適用された前記デジタル署名と比較するステップ、
前記電子文書と前記データペイロードがマッチするとの決定に応答して、前記証明サーバの証明データベースから取り出された真正性認証証明書を適用することによって、前記電子文書(111)および対応する前記データペイロード(112)を真正性認証するステップ、
信頼できるデータベース(240)の、前記クライアントアプリケーション(100)にリンクされた前記ユーザおよび/またはユーザ組織に関連付けられた一部分の中に、前記真正性認証済みの電子文書および前記真正性認証済みのデータペイロードから取得された関連付けられたデータ項目を含むデータレコード(247_1~n)を生成するステップ、ならびに
一意の識別番号(247)、および前記データレコード(247_1~n)の前記生成に関連付けられたタイムスタンプを返すステップ
を実施することによって、証明し、格納するステップと
を含む、方法。
【請求項2】
データレコードを生成する前記ステップは、前記信頼できるデータベースの、前記クライアントアプリケーションがリンクされた前記ユーザおよび/またはユーザ組織に関連付けられたデジタル台帳内に、新規のデータブロックを生成するステップであって、前記デジタル台帳の各データブロックは、対応する前記データレコードの前記タイムスタンプ情報に従って時系列順に配置される、ステップを含む、請求項1に記載の方法。
【請求項3】
前記デジタル台帳内の各データブロックに、少なくとも前記電子文書の前記デジタル署名および前記データペイロードの前記デジタル署名に基づいて計算された一意のデジタル署名が割り当てられる、請求項
2に記載の方法。
【請求項4】
前記証明サーバは、前記ユーザに関連付けられた前記デジタル台帳内に指定の時間枠にわたって作成された前記データブロック内に含まれる情報を、
データブロックの前記時系列順に基づいて、前記デジタル台帳内の、前記指定の時間枠に関連付けられた最初と最後のデータブロックの前記一意のデジタル署名を取り出すステップと、
前記取り出されたデジタル署名に基づいて、前記指定の時間枠のための閉鎖署名を計算するステップと、
前記計算された閉鎖署名に、前記証明データベースから取り出された真正性認証証明書を適用するステップと
を実施することによって、真正性認証するように構成される、請求項
2に記載の方法。
【請求項5】
前記真正性認証済みの電子文書に前記真正性認証証明書を適用するステップは、
前記真正性認証済みの電子文書を第1のデジタルフォーマットから第2の事前定義されたデジタルフォーマットに変換するステップと、
前記変換された電子文書にメタデータを追加するステップと、
前記変換された電子文書に、前記取り出された真正性認証証明書を適用するステップと
を含む、請求項
1に記載の方法。
【請求項6】
前記証明データベースから真正性認証証明書を取り出すステップは、
各真正性認証証明書に埋め込まれたリンクを介して、前記選択された真正性認証証明書の有効性および/または失効状態をチェックせよとの要求を証明サービスに発行することによって、前記選択された真正性認証証明書の有効性をチェックするステップ
を含み、
前記証明サービスから受信された応答が、前記選択された証明書は無効であること、および/または失効していることを示す場合、前記証明サーバは、
前記証明書データベースから前記無効な証明書を除去するステップと、
前記証明書データベースから新規の真正性認証証明書を選択するステップと、
前記新規の真正性認証証明書の有効性をチェックするステップと
を実施するように構成される、請求項
1に記載の方法。
【請求項7】
前記電子文書および前記データペイロードの真正性を決定する前記ステップは、
前記データペイロードに適用された前記デジタル署名を、前記データペイロード内に含まれる前記データおよび共有暗号鍵に基づいて再計算し、前記再計算されたデジタル署名を前記データペイロードの前記デジタル署名と比較するステップと、
前記再計算された署名は前記データペイロードの前記デジタル署名に等しいとの決定に応答して、前記有効性確認済みのデータペイロードから前記電子文書のハッシュ値を抽出するステップと、
前記有効性確認済みのデータペイロードから抽出された前記ハッシュ値を、前記証明サーバにおいて受信された前記署名済みの電子文書の前記再計算されたハッシュ値と比較するステップと
を含む、請求項
1に記載の方法。
【請求項8】
一意の識別番号、および前記データレコードの前記生成に関連付けられたタイムスタンプを返す前記ステップは、前記データレコードのコピーを1つまたは複数の接続されたクライアントアプリケーションに通信するステップを含む、請求項
1に記載の方法。
【請求項9】
原文書のデジタルコピーの真正性を証明するためのシステムであって、
ユーザの電子デバイス上で実行されているクライアントアプリケーション(100)であって、原文書のデジタルコピーを証明することを求める証明要求をユーザから受け取ったことに応答して、
前記原文書の各ページの証明されるべきデジタルコピー、および対応するデータ項目を獲得すること、
前記原文書の前記ページに関連付けられた前記獲得されたデジタルコピーを含む第1のデジタルフォーマットの電子文書を生成し、前記生成された電子文書、および前記原文書に関連付けられた前記データ項目を含むデータペイロードを生成すること、
前記データペイロードおよび前記電子文書に対応するデジタル署名を計算することによって、前記データペイロードおよび前記電子文書にデジタル署名することであって、前記電子文書の前記デジタル署名は、前記データペイロード内に含まれる前記データに追加される、デジタル署名すること、ならびに
前記署名済みのデータペイロードおよび前記署名済みの電子文書を、前記データ証明サーバに通信すること
を行うように構成された、クライアントアプリケーション(100)と、
前記クライアントアプリケーションに通信可能に結合された証明サーバ(200)であって、前記署名済みのデータペイロードおよび前記署名済みの電子文書を受信したことに応答して、請求項1から
8のうちいずれか一項に記載の方法の前記ステップを実施するように構成された、証明サーバ(200)と
を含む、システム。
【請求項10】
前記クライアントアプリケーション(100)は、前記データペイロードを真正性認証トークン内にラッピングすることによって前記データペイロードにデジタル署名するように構成され、前記真正性認証トークンは、前記データペイロード内に含まれる前記データおよび前記クライアントアプリケーションと前記証明サーバとの間で共有される暗号鍵に基づいて計算された署名を含む、請求項9に記載のシステム。
【請求項11】
前記クライアントアプリケーションは、ハッシュ関数を使用して前記電子文書のハッシュをさらに計算することによって、前記データペイロードにデジタル署名するように構成される、請求項10に記載のシステム。
【請求項12】
前記原文書および対応する前記デジタルコピーは、経費情報を含む、紙ベースの経費領収書の形を取る、請求項
9に記載のシステム。
【請求項13】
前記証明サーバの前記信頼できるデータベースは、前記クライアントアプリケーションとリンクされたユーザおよび/またはユーザ組織に各々が関連付けられた、複数の部分に分割される、請求項
9に記載のシステム。
【請求項14】
前記証明サーバは、前記クライアントアプリケーションから送信された情報に基づいて、前記ユーザおよび/または前記ユーザ組織の識別情報を識別し、それに応じて、前記信頼できるデータベースの対応する部分にデータを向けるように構成される、請求項13に記載のシステム。
【請求項15】
コンピュータプログラ
ムであって
、署名済みのデータペイロードおよび署名済みの電子文書を証明することを求める要求をクライアントアプリケーションから受信したことに応答して、前記証明サーバのプロセッサモジュールによって実行されると、請求項1から8のいずれか一項に記載の方法の前記ステップを証明サーバに実施させる、コンピュータプログラ
ム。
【国際調査報告】