(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022058803
(43)【公開日】2022-04-12
(54)【発明の名称】コンピュータに実装される方法、ホストコンピュータ、コンピュータ読み取り可能な媒体
(51)【国際特許分類】
H04L 9/08 20060101AFI20220405BHJP
G06F 21/60 20130101ALI20220405BHJP
G06F 21/31 20130101ALI20220405BHJP
【FI】
H04L9/08 B
H04L9/08 F
G06F21/60 320
G06F21/60 360
G06F21/31
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022013161
(22)【出願日】2022-01-31
(62)【分割の表示】P 2017161001の分割
【原出願日】2017-08-24
(31)【優先権主張番号】62/381,430
(32)【優先日】2016-08-30
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000139403
【氏名又は名称】株式会社ワコム
(74)【代理人】
【識別番号】100130982
【弁理士】
【氏名又は名称】黒瀬 泰之
(72)【発明者】
【氏名】マーティン ホールデン
(57)【要約】 (修正有)
【課題】電子署名を入力するためのサインタブレット及びサインタブレットとコンピュータとの間の認証方法並びにデータ通信方法を提供する。
【解決手段】方法は、アプリケーションを実行するホストコンピュータが、該ホストコンピュータに格納された、それぞれ画像領域と文字アルファベットとの間の個別の割付けを有する複数の画像ファイルを含む画像ファイルセットから画像ファイルを選択し、選択した画像を暗号化し、暗号化した画像を、TLS接続を通じてサインタブレットに送信し、TLS接続を通じてサインタブレットから暗号化されたペンデータを受信し、暗号化されたペンデータを復号し、復号したペンデータと、選択した画像ファイルに関連付けられた画像領域と文字アルファベットとの間の割付けとに基づいて、少なくとも1つの文字を特定する。
【選択図】
図8
【特許請求の範囲】
【請求項1】
コンピュータに実装される方法であって、
サインタブレットとアプリケーションを実行するホストコンピュータとの間にトランスポート層セキュリティ(TLS)接続を確立し、
前記ホストコンピュータが、前記ホストコンピュータに格納された複数の画像ファイルであって、それぞれ画像領域と文字アルファベットとの間の個別の割付けを有する複数の画像ファイルを含む画像ファイルセットから画像ファイルを選択し、
前記ホストコンピュータが、選択した前記画像を暗号化し、
前記ホストコンピュータが、暗号化した前記画像を、前記TLS接続を通じて前記サインタブレットに送信し、
前記ホストコンピュータが、前記TLS接続を通じて前記サインタブレットから暗号化されたペンデータを受信し、
前記ホストコンピュータが、暗号化された前記ペンデータを復号し、
前記ホストコンピュータが、復号した前記ペンデータと、選択した前記画像ファイルに関連付けられた画像領域と前記文字アルファベットとの間の前記割付けとに基づいて、少なくとも1つの文字を特定することを含む方法。
【請求項2】
前記画像ファイルセット中の各画像ファイルは、PINを入力するための個別の文字レイアウトを表す
請求項1に記載の方法。
【請求項3】
暗号化された前記ペンデータは、ユーザによる前記PIN内の文字の選択を表す
請求項2に記載の方法。
【請求項4】
前記TLS接続を、USBインタフェースを介して前記サインタブレットと前記ホストコンピュータとの間に確立する
請求項1に記載の方法。
【請求項5】
暗号化された前記ペンデータを、USBバルク転送によって前記サインタブレットから受信する
請求項4に記載の方法。
【請求項6】
暗号化された前記画像データを、USBバルク転送によって前記サインタブレットに送信する
請求項4に記載の方法。
【請求項7】
前記ホストコンピュータが、前記TLS接続を確立したインタフェースを介して前記サインタブレットに装置公開鍵を含む第1の鍵ペアを生成するようにコマンドを送信し、
前記ホストコンピュータが、前記インタフェースを介して前記サインタブレットから前記装置公開鍵を含む証明書署名要求(CSR)を受信し、
前記ホストコンピュータが、前記CSRをユーザ認証局に送信し、
前記ホストコンピュータが、前記ユーザ認証局から前記ユーザ認証局の秘密鍵によって暗号化された前記装置公開鍵を含む第1の公開鍵証明書、及び、ルート局の秘密鍵によって暗号化された前記ユーザ認証局の公開鍵を含む第2の公開鍵証明書を受信し、
前記ホストコンピュータが、前記インタフェースを介して前記第1の公開鍵証明書及び前記第2の公開鍵証明書を前記サインタブレットに送信する、
請求項1に記載の方法。
【請求項8】
請求項1に記載の方法を実行するようにプログラムされたホストコンピュータ。
【請求項9】
ホストコンピュータに請求項1に記載の方法を実行させるように構成された命令を格納したコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【0001】
電子署名を入力するためのサインタブレット、および、サインタブレットとコンピュータとの間の認証方法およびデータ通信方法に関する。
【背景技術】
【0002】
電子手書きは様々な場面で次第に重要になっている。例えば、電子手書きは、クレジットカード所持者によるクレジットカードトランザクションの承認を得るためにペン及び紙の代わりに用いられるのが今や一般的である。他の例として、銀行、小売店その他の、法的に拘束される書類への署名を得る場所において、サインパッド(署名パッド)及びサインタブレットが用いられる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許第8,700,905号
【特許文献2】米国特許第7,933,840号
【発明の概要】
【発明が解決しようとする課題】
【0004】
このような用途の機密性を前提に、コンピュータが現在接続しているサインタブレット(署名装置、シグネチャタブレットとも呼ばれる)が本来接続を意図していたサインタブレットであるかを認証することは重要である。また、サインタブレットと他のコンピュータとの間で転送されるデータのセキュリティが、このような装置のサプライヤ及びユーザにとって重大な問題となる。所有者のセキュリティ施策及び暗号施策が可能であるが、それらは、このような施策の設計者とその顧客との間の高レベルの信頼に加えて、著しい労力及び費用を要する。
【0005】
例えば、特許文献1は、手書き署名(シグネチャ)をキャプチャして署名データ(シグネチャデータ)を暗号化する署名キャプチャ装置を開示している。例えば、特許文献2は、ホストコンピュータによって提供されたトランザクションデータを用いて署名データを暗号化するサインタブレットを開示している。
【0006】
しかしながら、サインタブレットとサインタブレットが接続されるコンピュータとの間で互いのデバイスが接続を意図していた真正の装置であるかを保障するものではない。また、所定の暗号化をおこなったとしても、サインタブレットとコンピュータとの間の通信に中間者攻撃を受けた場合に、そのデータ通信の保護は十分ではなかった。
【課題を解決するための手段】
【0007】
本概要を提供することによって単純化した概念の抽出を導入し、これらを後で詳細な説明において詳述する。本概要は、特許請求する主題の主要な特徴を特定することを意図したものでなく、また特許請求する主題の範囲を決定することに役立つものとして用いることを意図したものでもない。
【0008】
一態様において、インタフェース(例えば、USB(universal serial bus)インタフェース)を介して、サインタブレットとホストコンピュータとの間に接続を確立し、前記インタフェースを介して前記サインタブレットと前記ホストコンピュータとの間にTLS(transport layer security)接続を確立する。前記ホストコンピュータは、前記インタフェースを介して前記サインタブレットに新たな鍵を生成するようにコマンドを送信し、前記インタフェースを介して前記サインタブレットから証明書署名要求(CSR(certificate signing request))を受信し、前記CSRをユーザ認証局(CA(certificate authority))に送信し、前記ユーザCAから公開鍵証明書を受信し、前記インタフェースを介して前記公開鍵証明書を前記サインタブレットに送信する。
【0009】
他の態様において、USBインタフェースを介して、サインタブレットとホストコンピュータとの間に接続を確立し、前記USBインタフェースを介して前記サインタブレットと前記ホストコンピュータとの間にTLS接続を確立する。前記サインタブレットはTLSサーバとして動作し、前記ホストコンピュータはTLSクライアントして動作する。
【0010】
他の態様において、サインタブレットとアプリケーションを実行するホストコンピュータとの間に、(例えば、USBインタフェースを介して)TLS接続を確立する。前記ホストコンピュータは、前記ホストコンピュータに格納された(例えば、PIN(personal identification number)を入力するのに供される個別の文字レイアウトを表す)画像ファイルセットから画像ファイルを選択し、前記画像ファイルセット中の各画像ファイルは、画像領域と文字アルファベットとの間の個別の割付けを有する。前記ホストコンピュータは、選択した前記画像を暗号化し、前記TLS接続を通じて、選択した前記画像を前記サインタブレットに送信し、前記TLS接続を通じて前記サインタブレットから(例えば、ユーザによるPIN内の文字の選択を表す)暗号化されたペンデータを受信し、暗号化された前記ペンデータを復号し、復号した前記ペンデータと、選択した前記画像ファイルに関連付けられた画像領域と前記文字アルファベットとの間の前記割付けとに基づいて、少なくとも1つの文字を特定する。
【0011】
他の態様において、サインタブレットとアプリケーションを実行するホストコンピュータとの間に(例えば、USBインタフェースを介して)TLS接続が確立された後に、前記サインタブレットは前記TLS接続を通じて、前記ホストコンピュータに格納された画像セットから選択された、暗号化された画像を受信し、暗号化された前記画像を復号し、前記TLS接続を通じて前記ホストコンピュータに暗号化したペンデータを送信する。前記画像セットにおける各画像は画像領域と文字アルファベットとの間の個別の割付けを有し、暗号化した前記ペンデータはユーザによるPIN内の文字の選択を表す。
【0012】
他の態様において、外部コンピュータとの併用に供されるサインタブレットは、一連のペンデータを取得するように構成されたセンサ部と、公開鍵及び秘密鍵を生成し、前記公開鍵に対する第三者証明書を取得し、前記第三者により署名された前記公開鍵を用いることによって前記外部コンピュータとの安全な接続を確立し、前記一連のペンデータを取得すると前記安全な接続を通じて前記一連のペンデータを送信するように構成されたコントローラとを備える。
【0013】
いくつかの態様において、ペンデータ、制御データ、または画像データなどのデータは、USBバルク転送方式によって受信または送信され得る。
【0014】
他の態様において、サインタブレットは外部コンピュータと通信する。前記サインタブレットは、入力センサ(例えば、電磁共鳴(EMR(electromagnetic resonance)センサ)、入力センサコントローラ(例えば、EMRコントローラ)、及び主コントローラを備える。前記主コントローラは、周辺機器インタフェース(例えば、USBインタフェース)及びメモリを備える。前記サインタブレットは、さらに、ディスプレイ(例えば、LCD(liquid crystal display)画面)を備え得る。前記入力センサコントローラは、一連のペン位置を検出して一連のペンデータを生成するように構成されている。前記メモリは、公開鍵と秘密鍵とからなる鍵ペア、前記公開鍵に対するサーバ証明書、及びファームウェアを格納する。前記ファームウェアは、前記主コントローラに、前記周辺機器インタフェースが前記外部コンピュータに接続されていることが検出されると、前記周辺機器インタフェースを通じて前記外部コンピュータとの接続を確立させ、前記公開鍵を含む前記サーバ証明書を、前記接続を通じて前記外部コンピュータへ提供させ、前記サーバ証明書が前記外部コンピュータによって信頼されることを示す応答が受信される場合に、前記一連のペンデータを前記外部コンピュータへ送信させるように構成されている。前記外部コンピュータは、前記接続を通じて、前記公開鍵を含む前記サーバ証明書を受信し、前記サーバ証明書が信頼されるか否かを判定し、前記サーバ証明書が信頼される場合に前記サーバ証明書が信頼されることを示す前記応答を前記サインタブレットに送信し、前記一連のペンデータを受信するようにプログラムされ得る。
【0015】
前記ファームウェアは、さらに、前記主コントローラに、前記外部コンピュータによって生成された、暗号化された共有秘密鍵を、前記サーバ証明書が前記外部コンピュータによって信頼されることを示す前記応答として前記接続を通じて(例えば、前記USB周辺機器インタフェースを通じた前記接続を直接に介して確立された安全なTLSまたはSSL(secure socket layer)セッションを介して)受信させ、前記共有秘密鍵を用いて前記一連のペンデータを暗号化することによって、前記一連のペンデータを送信させるように構成され得る。前記ファームウェアは、さらに、前記主コントローラに、前記周辺機器インタフェースを通じた前記外部コンピュータとの双方向通信に供される、USB装置特性を交換する既定のパイプとUSBバルク転送に供される2つのパイプとを確立させるように構成され得る。前記一連のペンデータは、USBバルク転送に供される前記2つのパイプを介して確立された前記TLSセッションを通じて送信され得る。
【0016】
前記サインタブレットはCSRを発行し得る。例えば、前記ファームウェアは、さらに、前記主コントローラに、コマンドに応答して第1の鍵ペアを生成させ、CAによって署名された前記サーバ証明書を取得するために前記公開鍵に対するCSRを送信させ、前記公開鍵を含む前記サーバ証明書を前記メモリに格納させるように構成され得る。前記ファームウェアは、さらに、前記主コントローラに、他のコマンドに応答して新たな公開鍵と新たな秘密鍵とからなる新たな鍵ペアを生成させ、第2のCAによって署名された前記公開鍵を取得するために前記新たな公開鍵に対するCSRを送信させ、前記メモリを、前記新たな鍵ペアと前記第2のCAによって署名された前記新たな公開鍵に対するサーバ証明書とを格納するように更新させるように構成され得る。
【0017】
相互認証に適するように、前記ファームウェアは、さらに、前記主コントローラに、前記外部コンピュータから前記外部コンピュータの公開鍵を含むクライアント証明書を取り出させ、前記クライアント証明書が信頼されるか否かを判定させ、前記クライアント証明書が信頼され、かつ前記サーバ証明書が前記外部コンピュータによって信頼されることを示す前記応答が受信される場合に、前記一連のペンデータを前記外部コンピュータへ送信させるように構成され得る。
【0018】
PIN入力に適するように、前記ファームウェアは、さらに、前記サインタブレットに、前記接続を通じて前記外部コンピュータから送信された、暗号化された画像データを復号して画像データを取得させ、前記ペンの前記位置の経路を、前記経路が前記ディスプレイに表示されるときに前記画像データにオーバレイされるように表示させるように構成され得る。前記画像データは、手書き署名を入力するのに供される第1の画像と、PINを入力するのに供される文字レイアウトを示す第2の画像とのいずれかを表し得る。前記ファームウェアは、さらに、前記サインタブレットに、前記ペンの前記位置の前記経路を、前記経路が前記第1の画像にオーバレイされるように表示させ、前記位置によって選択された文字を強調して表示させるように構成され得る。
【図面の簡単な説明】
【0019】
添付の図面を併用して以下の詳細な説明を参照することにより、上述の態様及びそれらに伴う本発明の利点の多くに対する理解が深まるとともに、理解がより容易になる。
【
図1】説明に係る実施形態が実装され得る例示的なシステムのブロック図である。
【
図2】説明に係る実施形態において用いられ得る、認証局の階層例のブロック図である。
【
図3A】第1の実施例に従う処理のフロー図である。
【
図3B】第1の実施例に従う処理のフロー図である。
【
図4A】第2の実施例に従う処理のフロー図である。
【
図4B】第2の実施例に従う処理のフロー図である。
【
図4C】第3の実施例に従う処理のフロー図である。
【
図7】第5の実施例が実装され得るシステムのブロック図である。
【
図8】第5の実施例に従って実行され得る処理のフローチャートである。
【
図9】第6の実施例に従うシステム例のブロック図である。
【
図10】説明に係る実施形態に従う使用に適したコンピューティング装置例の態様を示すブロック図である。
【発明を実施するための形態】
【0020】
(詳細な説明)
添付の図面に関連して以下で言及する詳細な説明は、同様の符号が同様の要素を指すが、開示した主題の様々な実施形態の説明として意図しており、唯一の実施形態を表すことを意図していない。本開示において説明する各実施形態は、単に例または図示として提供され、他の実施形態に照らして、好ましいとも有利であるとも解釈されるべきではない。本稿で提供される実施例を、包括的とすることも、特許請求する主題を詳細な開示形態に限定することも意図していない。
【0021】
以下の説明においては、本開示の例示的な実施形態の完全な理解を提供するために、数多くの具体的詳細に言及する。しかし、当業者にとって、当該具体的詳細の一部または全部を用いずに本開示の多くの実施形態を実施し得ることは明らかであろう。いくつかの例においては、本開示の様々な態様を不必要に不明瞭にしないように、周知の処理ステップを詳細には説明していない。また、本開示の実施形態が、本稿で説明する特徴の任意の組合せを利用し得ることは理解できるであろう。
【0022】
I.導入
上述したように、例えば、特許文献1は、手書き署名をキャプチャして署名データを暗号化する署名キャプチャ装置を開示し、例えば、特許文献2は、ホストコンピュータによって提供されたトランザクションデータを用いて署名データを暗号化するサインタブレットを開示している。しかし、サインタブレットとホストコンピュータとの間のいずれか一方(片方向または双方向)の方式である認証方式に対する実際的な解決手法は提供されるに至っていない。事前に共有した鍵または一時的に共有したトランザクションデータを暗号鍵として用いることは、中間者攻撃から保護するには、または、サインタブレットが発送された後、(例えば、銀行またはユーザサイトに)新たに設置完了される前にサインタブレットが第三者によって置き換えられてしまう事態を解消するには十分でない。
【0023】
また、種々のUSB転送方式を用いてデータをサインタブレットからUSBを介してホストPCに送信することにより送信を保護することができるが、サインタブレットとホストPCとの間で様々なUSB転送方式(例えば、制御転送、インタラプト転送)を用いて様々な種類のデータ(例えば、構成または制御データ、ペンデータ、画像データその他のデータ)を暗号化し送信する種々の暗号方式を提供する複雑な手法を用いることがこれまで必要であった。USBを通じてデータを安全に送信する、より簡単な方式が望ましい。
【0024】
一般のコンピューティングにおいて、TLSは、双方向通信チャネルの保護に関する業界標準プロトコルである。以前はSSLとして知られたが、TLSは、TCP/IPリンクを安全なHTTPS接続として保護するようにウェブブラウザ及びウェブサーバにおいて用いられることが多い。TLSは、OpenSSL Software Foundationによって提供されるOpenSSL、またはwolfSSL社によって提供されるwolfSSL(旧CyaSSL)などのオープンソースライブラリ及びツールキットを用いて実装され得る。TLS標準の現在のバージョンであるTLS1.2はRFC5246において規定され、インターネットエンジニアリングタスクフォース(IETF)より入手可能なドキュメントである。
【0025】
TLSは公開鍵暗号を用い、メッセージを暗号化する者が正当者の暗号アルゴリズムを用いていることの保証を要する。そうでなければ、メッセージは中間者攻撃に対して脆弱となり、無権限者がトランザクションに対する実際の当事者になりすまして、当該無権限者が暗号化されていないメッセージを見ることが可能となり得る。公開鍵基盤(PKI(public key infrastructure))は、信頼される認証局(CA)の形態により解決策を提供する。CAは、メッセージに対する公開鍵証明書を提供する。公開鍵証明書は、CAのデジタル証明書を、当事者の公開鍵及び当事者の文字列識別子とともに含む。公開鍵証明書は、公開鍵が目的の受信者に所有されていることを、暗号化する者に保証する。
【0026】
しかし、一般のコンピューティングアプリケーションにおけるTLSのようなプロトコルの存在にも関わらず、電子サインタブレットという特定の分野において通信チャネルをセキュリティ保護する簡単な解決策は見出されていない。
【0027】
本稿で説明する実施形態において、上述した技術的問題の1つまたは複数に対する解決策を提供する。例えば、実施形態によっては、TLSプロトコルは、認証に用いられるとともに、サインタブレットと当該サインタブレットが通信するコンピュータとの間のリンクを保護するのに用いられる。TLSをこれらの目的に用いることにはいくつかの利点がある。例えば、サインタブレットと当該サインタブレットが通信しているコンピュータとの間において双方向にデータを保護することが可能である。他の例として、TLSは十分にサポート及び理解された業界標準であり、TLSはOpenSSLまたはwolfSSLなどの、オープンソースライブラリ及びツールキットを用いて実装され得る。
【0028】
サインタブレットは、USBポートを用いて他のコンピュータと通信することが多い。説明に係る実施形態において、TLSは、USBを通じた認証に供されるとともに、サインタブレットと他のコンピュータとの間のUSB接続を保護するようになっている。説明に係る実施形態は、さらに、USBチャネルを通じて、サインタブレットと他のコンピュータとの間の相互認証を可能とする。
【0029】
説明に係る実施形態を、サインタブレットと当該サインタブレットが通信するコンピュータとの相互認証を提供するのに用いることが可能であり、サインタブレットへの無権限コンピュータの試行接続、及び悪意あるUSB接続乗っ取りなどのセキュリティ侵害に対する防御として用いることが可能である。
【0030】
本開示は、使用し得る種々のセキュリティレベルを提供する。第1のレベル、または既定のレベルでは、サインタブレットは、ホストコンピュータソフトウェアを用いて配布され得る、当該サインタブレットの製造者が保持する秘密鍵によって署名された公開鍵証明書、及び公開検証鍵を用いて、セキュリティを提供することが可能である。既定のレベルにおいて、製造者はサインタブレット上のオリジナルの証明書に対するCAである。第2のレベルでは、既定のレベルを強化するものとして、ユーザ証明書と秘密鍵とのペアを提供する。第2のレベルでは、製造者によって提供された既定のレベルの鍵ペアは、サインタブレットにおいて生成された第2のレベルの鍵ペアによって置き換えられ得る。任意のセキュリティレベルにおいて、鍵ペアの秘密鍵部はサインタブレットにおいて生成及び格納され、これにより、鍵ペアが適切に生成されて安全に保持されることを確保しやすくすることが可能である。
【0031】
TLSリンクにおいて、クライアントとして指定された装置は、通常、サーバとして指定された装置を認証する。本稿で説明するいくつかの実施形態において、サインタブレットはTLSサーバとして動作し、ホストコンピュータはTLSクライアントとして動作する。サインタブレットの認証が望まれる場合に、ホストコンピュータは、証明書がCAによって署名されている場合にのみサインタブレットから証明書を受領し得る。同様に、サインタブレットによるホストコンピュータの認証が望まれる場合に、サインタブレットは、証明書がCAによって署名されている場合にのみホストコンピュータから証明書を受領し得る。相互認証は、これらの認証形態の両方を含み得る。
【0032】
さらに、クライアントサイド証明書を提供することが可能である。一想定例において、サインタブレットに送信されたコマンド(例えば、鍵ペアを生成するコマンド)は、TLS接続におけるクライアントサイド証明書に対する要件を特定する。クライアント(例えば、ホストPC)がサインタブレットに証明書付き鍵を返信すると、サインタブレットはルート証明書を証明書鍵チェーンに格納することが可能であり、これを検証鍵として用いて、サインタブレットに接続され得るTLSクライアントの真正性を確認することが可能である。証明書失効リスト(CRL(certificate revocation list))を用いて、権限がなくなった証明書を特定することが可能である。これによって、サインタブレットに接続される無権限コンピュータからの保護を提供することが可能である。
【0033】
本稿では、「サインタブレット」との用語は、署名としての手書き入力をキャプチャする装置を指す。サインタブレットは、署名パッド装置などの専用の署名収集装置として、または、適切に構成されたスマートフォンまたはタブレットコンピュータなどの汎用装置として実装され得る。サインタブレットは必ずしも厳密に入力装置ではなく、他の機能(例えば、表示機能、データ送信機能など)を含んでいてもよい。サインタブレット例に関するさらなる詳細を以下で提供する。
【0034】
図1は、説明に係る実施形態が実装され得る例示的なシステムのブロック図である。
図1に示す例において、サインタブレット100は、双方向の、TLSによって保護されたUSBチャネルを通じてホストコンピュータ200と通信する。ホストコンピュータ200は、署名アプリケーション205と、署名制御インスタンス210及び関連ライブラリ(例えば、署名SDK(software development kit)ライブラリ)と、ホストコンピュータがTLSチャネルを通じてサインタブレット100と通信することを可能とするTLS通信ハンドラ220とを備える。本例において、TLSチャネルは、ホストコンピュータ200及びサインタブレット100のUSBポートを介したUSB接続を通じて提供される。
図1は、説明を容易にするために、単一のホストコンピュータ及び単一のサインタブレットを示すが、本例及び本稿で説明する他の例との関連において、1つまたは複数の追加のサインタブレット及びホストコンピュータが存在してもよく、ホストコンピュータが1つより多いサインタブレットと通信してもよく、またサインタブレットが1つより多いホストコンピュータと通信してもよいことを断っておく。
【0035】
署名制御インスタンス210は、サインタブレット100を制御する制御モジュール(不図示)と、サインタブレットから署名データを受信するデータモジュール(不図示)とを含み得るとともに、さらに、画像データを表示に供されるようにサインタブレットに送信し得る。制御インスタンス210によって扱われるデータの内容は、例えば、署名アプリケーション205またはサインタブレット100の、構成または機能に依存し得る。サインタブレット100から受信した署名データは、通常、ペンイベントデータ(例えば、座標データ及び圧力データ)を含み、さらに、署名の画像、生体データなどの他のデータを含み得る。
【0036】
図1に示された例において、サインタブレットは、例えば、ペン装置102を用いて署名が作成され得る署名領域を用いて電子書類を表示し得るLCD画面101を備える。サインタブレット100は、サインタブレットの全般的な動作に対するシステム制御モジュール110と、サインタブレットがTLSチャネルを通じてホストコンピュータ200と通信することを可能とするTLS通信ハンドラ120とを備える。システム制御モジュール110は、サインタブレット100を制御し、また、サインタブレット100または場合によってはペン102などの他の装置に備えられ得る1つまたは複数のセンサモジュール(不図示)から、センサデータを受信する。センサデータは、座標データ及び圧力データなどの、ペンイベントデータに変換され得る。
【0037】
一般に、サインタブレットは、デジタイザがペンの動きを検出するセンサボードを組み込んでいるとともにセンサボード表面により生成される磁場によってペンの共振回路にエネルギーが誘起される、電磁共鳴(EMR)技術を用い得る。この場合に、ペンの共振回路は、このエネルギーを利用してセンサボード表面に磁気信号を返す。ボードは、電子ペンがセンサボード表面にタッチしていなくても、ペンから信号を受信し続けることが可能なようにペンがセンサボードに十分近接した範囲内に留まる限り、規則的な時間間隔でペンの座標位置を検出する。(実効的な信号範囲は、用いられる個々の技術に応じて変化し得るが、一般に数ミリメートルのオーダである。)
【0038】
これに代えて、他の手書き入力技術を用いることが可能である。例えば、電子ペンは、他の無線技術を用い得る、または有線によってデジタイザに接続され得る。他の例として、電子ペンは、デジタイザの表面から離れたところで検出可能であってもなくてもよい。他の例として、電子ペンは電源供給されてもよく、電源供給されなくてもよい。電源供給されるペンは、外部電源に接続された配線を介して、またはオンボードバッテリを介して電源を受け取り得る。他の例として、電子ペンを用いずに(例えば、圧力に感応するデジタルライティングパッド上のスタイラス、タッチスクリーン、または電子ペンを必要としない何らかの他の入力装置を介して)手書きデータを入力することが可能である。
【0039】
手書きデータはいかようにも収集され得るが、サインタブレットによって提供される手書きデータは、ペンイベント情報、装置情報、及び/または手書きがなされた状況に関する状況情報を含み得る。ペンイベント情報は、デジタイザ表面上またはデジタイザ表面の上方のペン先のx/y位置と、手書きの開始からの時間とを含み得る。x/y座標値の他に、ペンイベント情報は、圧力(ペンフォース)、角度(方位、高度、及び/または回転)、及びペンダウンステータスなどの、サインタブレットの機能に属する付加情報を適宜含み得る。ペンイベント情報は、通常、署名処理中に規則的な間隔で収集される。ペンイベント情報を収集し得るサンプリングレートは、システム設計及びシステム構成に応じて変化し得る。
【0040】
図1に示す例に戻って、サインタブレット100は、ハードコードされてファームウェア画像内に含められるとともに、装置証明書及び秘密鍵164と装置の固有シリアル番号162(
図1にUID2と表記した)とを設定する初期装置設定においてのみ用いられる、ブートストラップ証明書及び鍵160を備える。上述したように、また以下でさらに詳細に説明するように、装置証明書は、サインタブレット100が使用に供される前に(例えば、工場において)インストールされる。
【0041】
上述したように、また以下でさらに詳細に説明するように、所望のセキュリティレベル及びシステム全体の設計に応じて、サインタブレット100は、さらに、サインタブレット上で生成されてエンドユーザのCAによって署名された鍵ペアである、ユーザ証明書及び秘密鍵166を格納し得る。クライアントサイド証明書に対して、サインタブレット100は、さらに、権限がなくなった証明書を特定するクライアントサイドCRL(証明書失効リスト)168を格納し得る。これにより、サインタブレット100に接続される無権限コンピュータからの保護を提供し得る。サインタブレット100は1つより多い証明書を有し得るが、一度に1つのみを使用することが可能である。ユーザ証明書166は、存在する場合は使用されることとなる。そうでない場合は、装置証明書164が用いられることとなる。上述したように、ブートストラップ証明書160は、装置証明書164及びID162を設定する初期装置設定においてのみ使用される。
【0042】
図2は、CAの階層例のブロック図である。
図2に示すCA例を用いて、
図1に示す装置証明書164及びユーザ証明書166とファームウェア証明書(
図1に示さず)とを提供してもよく、このことはサインタブレットがファームウェア更新を受け入れるためにファームウェアがデジタル署名されなければならない場面において有用となり得る。
図2に示す例において、サインタブレットルート局280は、1つまたは複数の独立した工場に対する1つまたは複数の工場CA282、284とファームウェアCA286との設置を容易にする。独立した工場に対する個別のCAを設置することは、セキュリティ問題を生じる第三者工場の潜在リスクを隔絶させるのに役立つ。その場合に、その工場によって初期化されたサインタブレットを隔絶させることも可能である。
【0043】
図2は、さらに、ユーザCA290を示している。上述したように、また以下でさらに詳細に説明するように、ユーザ証明書と秘密鍵とのペアは既定のセキュリティレベルを強化するものとして提供され得るとともに、製造者によって供給される既定レベルの鍵ペアはユーザ証明書と秘密鍵とのペアによって置き換えられ得る。ユーザ証明書を生成する状況において、サインタブレットの「ユーザ」または「エンドユーザ」との用語は、装置の任意の所有者(例えば、銀行その他の企業または組織)、または任意の有権限者もしくはユーザ証明書に対するCAを選択するエンティティを指し得るが、必ずしも、銀行内の顧客のような当該装置を使用して署名するだけの者を指さないことを断っておく。
【0044】
A.第1の実施例
本セクションでは、サインタブレットが使用に供される前に装置証明書(例えばサインタブレットの製造者が保持する秘密鍵によって署名された公開鍵証明書)がサインタブレットにインストールされる第1の実施例を説明する。
【0045】
図3Aは、サインタブレット300(
図3Aにおいて「STU」と略称化されている)などのサインタブレットにおける装置証明書のインストール処理例のフロー図である。
図3Aに示す例において、タブレット300は、工場においてホストコンピュータ302と通信する。ホストコンピュータ302は、タブレット300に、新たな装置鍵ペア及び証明書署名要求(CSR)を生成するように要求する。タブレット300は、新たな鍵ペア及びCSRを生成し、CSRをホストコンピュータ302に送信する。ホストコンピュータ302は、CAの秘密鍵によって署名された証明書を生成し、当該証明書をタブレット300に返信する。タブレット300は、装置証明書及び装置鍵ペアを格納する。
【0046】
図3Bは、
図1に示すサインタブレット100などのサインタブレットにおける装置証明書の他のインストール処理例のフロー図である。
図3Bに示す例において、タブレットは工場Aにおいてホストコンピュータと通信する。タブレットのファームウェア画像内に含められたブートストラップ証明書及び鍵を用いて、TLSクライアントとして動作する工場ホストコンピュータから、装置の暗号化された固有シリアル番号(UID2)を取得する。工場ホストコンピュータは、さらに、新たな鍵ペアを生成するように、暗号化された「新たな鍵」コマンドを送信する。タブレットは、タブレットのブートストラップ秘密鍵(F_PR)を用いて装置シリアル番号を復号し、当該装置シリアル番号をタブレットに格納する(ステップ311)。タブレットは、さらに、新たな鍵コマンドを復号し、装置公開鍵(D_PU)及び装置秘密鍵(D_PR)からなる新たな鍵ペアを生成する(ステップ313)。
【0047】
ステップ314において、タブレットは、装置公開鍵に対する証明書署名要求(CSR)を発行し、このCSRを工場ホストコンピュータに送信し、工場ホストコンピュータはCSRを工場CAに転送する。(
図3に示すように、別途、工場CAは、ルート局によって署名された公開鍵を用いて自身の公開鍵(W_PU)及び秘密鍵(W_PR)を事前に生成する。)CSRは、装置公開鍵及び装置シリアル番号を含む。ステップ315において、工場CAは、CA秘密鍵(W_PR)を用いて装置公開鍵を暗号化し、装置公開鍵に対するCAのデジタル署名を提供する。ステップ316において、工場CAは、CA秘密鍵(W_PR)を用いて装置シリアル番号を暗号化し、装置シリアル番号に対するCAのデジタル署名を提供する。工場CAは、次いで、署名された装置公開鍵(D_PU)と装置シリアル番号(UID2)とを付帯した証明書を、CAの署名された公開鍵(W_PU)を付帯した証明書とともにタブレットに返信する。
【0048】
ステップ317において、タブレットは、CAの署名された公開鍵(W_PU)を用いて、署名された装置公開鍵(D_PU)を復号する。復号された装置公開鍵がタブレット上に既に存在するバージョンと整合すれば、タブレットは工場ホストコンピュータに成功通知を返信し、工場ホストコンピュータは、装置公開鍵と装置シリアル番号と工場公開鍵との適切な署名を示す装置証明書付きの装置鍵ペアを格納するようにコマンドを送信する。ステップ319においてタブレットは装置証明書を格納し、ステップ321においてタブレットは装置鍵ペアを格納する一方、ステップ322において装置に対する2つの証明書をCAによって記録する。
【0049】
この状態において、タブレットは、TLSクライアントとして動作するユーザのホストコンピュータ(例えば、銀行のホストコンピュータ)と通信するときに、TLSサーバとして動作することが可能である。
【0050】
B.第2の実施例
本セクションでは、サインタブレットがUSB接続を介してユーザのホストコンピュータ(例えば、銀行のホストコンピュータ)とのTLS通信を確立する第2の実施例を説明する。
【0051】
図4Aは、サインタブレット300(
図4Aにおいて「STU」と略称化されている)などのサインタブレットがユーザのホストコンピュータ304(例えば、銀行のホストコンピュータ)との通信を確立する処理例のフロー図である。
図4Aに示す例において、タブレット300はユーザのホストコンピュータ304に接続され、ホストコンピュータは、タブレット300に新たな装置鍵ペア及び証明書署名要求(CSR)を生成するように要求する。タブレット300は、新たな鍵ペア及びCSRを生成し、ホストコンピュータ304に証明書を送信する。ホストコンピュータ304は、証明書を検証し、乱数を生成し、当該乱数からセッション鍵を生成し、タブレットの公開鍵を用いて当該乱数を暗号化し、暗号化した乱数をタブレット300に送信する。タブレット300は当該乱数を復号し、当該乱数からセッション鍵を生成する。
【0052】
図4Bは、サインタブレット(例えば、
図1に示すサインタブレット100)がユーザのホストコンピュータ(例えば、銀行のホストコンピュータ)との通信を確立する他の処理例のフロー図である。
図4Bに示す例において、タブレットは、装置公開鍵(D_PU)と装置シリアル番号(UID2)と工場CA公開鍵(W_PU)との適切な署名を示す装置証明書付きの、装置公開鍵(D_PU)及び装置秘密鍵(D_PR)からなる装置鍵ペアを格納している。
【0053】
タブレットはユーザのホストコンピュータに接続され、ホストコンピュータはTLS通信を要求する。この要求に応答して、TLS通信に対するパラメータがネゴシエートされ得る。ステップ411において、タブレットは装置証明書を提供する。ホストコンピュータは、次いで、ホストコンピュータが権限を有するタブレットと通信していると確定するためにいくつかの確認を実行する。ステップ413において、ホストコンピュータは、証明書が有効であるか否かを判定する。証明書が有効であれば、ステップ414において、ホストコンピュータは、装置証明書内の情報を復号し、装置公開鍵(D_PU)及び装置シリアル番号(UID2)が工場CAの秘密鍵(W_PR)によって署名されているか否かを判定する。そうであれば、ステップ415において、ホストコンピュータは、装置証明書が工場CAによって無効化されていないと確定する。上述したように、証明書失効リスト(CRL)を用いて、権限がなくなった証明書を特定することが可能である。
図4Bに示す例において、ホストコンピュータは、工場CAに更新されたCRLを要求し、装置証明書が権限を有し続けていることを確認する。
【0054】
ホストコンピュータが装置証明書は工場CAによって無効化されていないと確定すると、ホストコンピュータは、ステップ417において共有秘密鍵(KEY-USB)を生成し、ステップ419において装置公開鍵(D_PU)を用いて当該共有秘密鍵を暗号化する。ホストコンピュータは、次いで、暗号化した共有秘密鍵(KEY-USB)をタブレットに送信し、ステップ421においてタブレットは装置秘密鍵(D_PR)を用いて当該共有秘密鍵を復号する。共有秘密鍵は、次いで、安全なTLS通信に用いられ得る。
【0055】
C.第3の実施例
本セクションでは、サインタブレットがUSB接続を介してユーザのホストコンピュータ(例えば、銀行のホストコンピュータ)に、TLS通信を用いてペンイベントデータを送信する第3の実施例を説明する。
【0056】
図4Cは、TLSサーバとして動作するサインタブレット(例えば、
図1に示すサインタブレット100)が、
図4Bを参照して説明した共有秘密鍵を用いて、TLSクライアントとして動作するユーザのホストコンピュータ(例えば、銀行のホストコンピュータ)にペンイベントデータを送信する処理例のフロー図である。
図4Cに示す例において、ペンイベントデータを送信するために、USBバルク転送方式が用いられる。タブレット及びホストコンピュータはそれぞれ、安全なTLS通信に供される共有秘密鍵(KEY-USB)を格納している。ステップ431において、タブレットは、共有秘密鍵(KEY-USB)を用いてペンデータを暗号化する。ステップ432において、タブレットは、USBバルクOUTエンドポイントを介して、暗号化したペンデータを送信する。さらに、ホストコンピュータは、USBバルク転送方式により確認応答を返信し得る。ステップ433において、ホストコンピュータは、USBバルクINエンドポイントを介して、暗号化されたペンデータを受信し、共有秘密鍵(KEY-USB)を用いて、暗号化されたペンデータを復号する。これらのステップは、ペンデータ送信が完了するまで繰り返され得る。
【0057】
D.第4の実施例
上述したように、ユーザ証明書及び鍵ペアは既定のセキュリティレベルを強化するもの(例えば、上述した装置証明書)として提供され得るとともに、製造者によって提供された既定レベルの鍵ペアはユーザ証明書及び鍵ペアによって置き換えられ得る。この置換えは、既定レベルの保護を用いてサインタブレットをホストコンピュータに接続し、次いで新たな鍵ペアを生成するとともに対応する証明書を要求することによって実行され得る。上述したように、「ユーザ」または「エンドユーザ」との用語は、サインタブレットの任意の所有者(例えば、銀行その他の企業または組織)、または任意の有権限者もしくはユーザ証明書に対するCAを選択するエンティティを指し得るが、必ずしも、銀行内の顧客のような当該装置を使用して署名するだけの者を指さないことを断っておく。
【0058】
本セクションでは、ユーザ証明書がサインタブレットにインストールされて装置証明書を置き換える第4の実施例を説明する。一想定例において、ユーザのホストコンピュータは、サインタブレットにユーザ鍵ペアを生成するようにコマンドを送信する。サインタブレットは、ユーザ鍵ペアを生成し、新たな公開鍵に対するCSRをホストコンピュータに返信する。ホストコンピュータは、次いで、エンドユーザによって選択された第2のCA(ユーザCA)にCSRを送信し得る。ホストコンピュータは、ユーザCAから新たな公開鍵に対する証明書を取得し、当該証明書をサインタブレットに転送する。サインタブレットは、新たな証明書をユーザ鍵ペアとともに格納する。装置鍵ペアは、オリジナルの装置構成を復元する工場リセットなどの何らかの状況において回復され得るが、利用不可とされる。
【0059】
図5は、サインタブレット(例えば、
図5において「STU」と略称化されたサインタブレット300)がユーザのホストコンピュータ304(例えば、銀行のホストコンピュータ)と通信し、カスタムユーザ鍵ペアを生成する処理例のフロー図である。
図5に示す例において、タブレット300はユーザのホストコンピュータ304に接続され、当該ホストコンピュータは、タブレット300に新たな装置鍵ペア及び証明書署名要求(CSR)を生成するように要求する。タブレット300は、新たな鍵ペア及びCSRを生成して当該CSRをホストコンピュータ304に送信し、当該ホストコンピュータはCSRをCA306に転送する。CA306は、CAの秘密鍵によって署名された証明書を生成し、当該証明書をホストコンピュータ304に返信し、当該ホストコンピュータは当該証明書をタブレット300に転送する。タブレット300は、証明書及びカスタムユーザ鍵ペアを格納する。
【0060】
ユーザ証明書は、さらに、装置証明書を取得することに対して
図3Bに示したより詳細な処理と同様の処理によって取得され得る。このような想定において、ユーザ鍵ペアが生成されると、タブレットは、ユーザ公開鍵に対する証明書署名要求(CSR)を発行して、このCSRをユーザのホストコンピュータに送信し、当該ホストコンピュータはCSRをユーザのCAに転送する。CAは、CAの秘密鍵を用いてユーザ公開鍵を暗号化し、ユーザ公開鍵に対するCAのデジタル署名を提供する。CAは、次いで、署名されたユーザ公開鍵を付帯した証明書を、CAの署名された公開鍵を付帯した証明書とともにタブレットに返信する。タブレットは、CAの署名された公開鍵を用いて、署名されたユーザ公開鍵を復号する。復号されたユーザ公開鍵がタブレット上に既に存在するバージョンと整合すれば、タブレットはユーザのホストコンピュータに成功通知を返信し、ユーザのホストコンピュータは、適切な署名を有するユーザ証明書付きのユーザ鍵ペアを格納するようにコマンドを送信する。タブレットは、次いで、ユーザ証明書及びユーザ鍵ペアを今後の使用に備えて格納し、装置鍵ペア及び装置証明書を利用不可とする。
【0061】
本実施例において、TLS通信に対する共有秘密鍵は、
図4Bに示す処理と同様の処理において取得され得る。例えば、タブレットはユーザ証明書をホストコンピュータに提供し、ホストコンピュータは、当該ユーザ証明書が有効であるか否かを判定し、CAによる適切なデジタル署名を確認し、ユーザ証明書がCAによって無効化されていないと確定する。そのように確定されると、ホストコンピュータは、共有秘密鍵を生成し、ユーザ公開鍵を用いて当該共有秘密鍵を暗号化し得る。ホストコンピュータは、次いで、暗号化された共有秘密鍵をタブレットに送信し得るとともに、タブレットはユーザ秘密鍵を用いて当該暗号化された共有秘密鍵を復号し得る。共有秘密鍵は、次いで、安全なTLS通信に用いられ得る。サインタブレットとホストコンピュータとの間にTLS通信が確立されると、サインタブレットは、次いで、
図4Cに示す処理と同様の処理を用いて、USB接続を介してホストコンピュータにデータを安全に送信することが可能である。
【0062】
図6は、第4の実施例に従って実行され得る例示的な処理600のフローチャートである。
図6に示す例では、ステップ610において、USBインタフェースなどのインタフェースを介して、サインタブレットとホストコンピュータとの間に接続を確立する。ステップ620において、当該インタフェースを介して、サインタブレットとホストコンピュータとの間にTLS接続を確立する。このことは、ユーザ証明書及び鍵ペアを取得する前に、一時的な通信に対してTLS接続を確立することが可能であるサインタブレット上の装置証明書及び鍵ペアによって容易になる。ステップ630において、ホストコンピュータは、インタフェースを介してサインタブレットに新たな鍵ペアを生成するようにコマンドを送信する。ステップ640において、サインタブレットによって新たな鍵ペアが生成された後に、ホストコンピュータは、インタフェースを介してサインタブレットからCSRを受信する。当該CSRは新たな公開鍵を含む。ステップ650において、ホストコンピュータは、ユーザによって選択された第三者CAに当該CSRを送信する。ステップ660において、ホストコンピュータは、CAから新たな公開鍵証明書を受信する。ステップ670において、ホストコンピュータは、インタフェースを介して当該新たな公開鍵証明書をサインタブレットに送信する。この時点において、サインタブレットとホストコンピュータ(または、他のホストコンピュータ)との間に、ユーザ証明書及び鍵ペアを用いて新たなTLS接続を確立することが可能である。これらの新たなTLS接続を用いて、ユーザのCAにより提供された付加的な信頼レベルを有する接続を通じて、暗号化されたペンデータまたは他のデータを送信することが可能である。
【0063】
E.第5の実施例
本セクションでは、サインタブレットがUSB接続を介してユーザのホストコンピュータ(例えば、銀行のホストコンピュータ)に、TLS通信を用いてデータを送信する第5の実施例を説明する。
【0064】
図7は、第5の実施例が実装され得るシステム例のブロック図である。
図7に示すように、サインタブレット100は、双方向の、TLSによって保護されたUSBチャネルを介してホストコンピュータ200と通信する。サインタブレット100及びホストコンピュータ200は、
図1に示すものと同様の構成要素を含むが、説明を容易にするために、これらの構成要素の多くを
図7に示していない。
図7に示す例において、ホストコンピュータ200は、PINパッドをなす複数の画像710、720を有する署名アプリケーション205と、画像選択機能730と、PINパッド内の特定の文字を各画像710、720の特定の領域に割り付ける画像マップ740とを備える。
【0065】
画像710はPINパッドの第1の構成を表し、画像720はPINパッドのスクランブル化された構成を表す。複数のPINパッド構成が可能なことは、ペン位置データが送信中に傍受される場合に、いずれの画像が用いられたかを知らずにペン位置データをPINパッド上の特定の文字に容易に割り付けることができないことを意味する。説明を容易にするために2つの画像のみを示すが、より多くの画像を容易に含めることが可能であり、そのような追加のスクランブル化されたPINパッドレイアウトが追加のセキュリティを提供するのに好ましい場合があることを断っておく。
【0066】
画像選択機能730は、画像720をサインタブレット100における表示に選択する。次いで、ホストコンピュータ200は、選択した画像720を暗号化し、表示に供されるようにサインタブレット100に送信する。サインタブレットは、画像720を復号して表示する。次いで、ユーザ(例えば、銀行顧客)が、所望の文字に対応する画像の領域にタッチすることによってPINを入力し、ペンデータを生成し得る。次いで、このペンデータは暗号化されてサインタブレットに返信されて、復号と、画像マップ740に基づくPINの特定の文字への割付けとに供され得る。次いで、ホストコンピュータ(バンキング情報サーバなどの他のコンピュータと組み合わせられることがある)上の他のソフトウェアを用いて、ユーザにより入力されたPINが有効であるか否かを判定し得る。
【0067】
図8は、第5の実施例に従って実行され得る例示的な処理800のフローチャートである。
図8に示す例では、ステップ810において、サインタブレットとアプリケーションを実行するホストコンピュータとの間にTLS接続を確立する。例えば、サインタブレットとホストコンピュータとがUSBインタフェースを介して接続される場合に、TLS接続を、当該USBインタフェースを介して確立し得る。ステップ820において、ホストコンピュータは、当該ホストコンピュータに格納された画像ファイルセットの中から画像ファイルを選択する。各画像ファイルは、画像領域と文字アルファベットとの間の個別の割付けを有する。少なくとも1つの実施形態において、画像ファイルセット中の各画像ファイルは、(例えば、銀行口座にアクセスするための)PINを入力するのに供される個別の文字レイアウトを表す。ステップ830において、ホストコンピュータは、選択した画像を暗号化する。ステップ840において、ホストコンピュータは、TLS接続を通じて、暗号化した画像をサインタブレットに送信する。ステップ850において、ホストコンピュータは、TLS接続を通じて、サインタブレットから暗号化されたペンデータを受信する。ステップ860において、ホストコンピュータは、暗号化されたペンデータを復号する。ステップ870において、ホストコンピュータは、復号したペンデータと、選択した画像ファイルに関連付けられた画像領域と文字アルファベットとの間の割付けとに基づいて、少なくとも1つの文字を特定する。
【0068】
F.第6の実施例
本セクションでは、サインタブレットを用いて外部コンピュータ(例えば、銀行のホストコンピュータ)と通信する第6の実施例を説明する。サインタブレットは、サーバ証明書を有するTLSサーバとして動作し得る。
【0069】
図9は、第6の実施例に従う例示的なシステム900のブロック図である。
図9に示す例において、サインタブレット910は、外部コンピュータ920と通信する。サインタブレットは、入力センサ912(例えば、EMRセンサ)、入力センサコントローラ914(例えば、EMRコントローラ)、及び主コントローラ916を備える。主コントローラは、周辺機器インタフェース917(例えば、USBインタフェース)及びメモリ918を備える。サインタブレットは、さらに、ディスプレイ919(例えば、LCD画面)を備え得る。
【0070】
本実施例において、入力センサコントローラは、一連のペン位置を検出して一連のペンデータを生成するように構成されている。メモリ918は、公開鍵と秘密鍵とからなる鍵ペア、公開鍵に対するサーバ証明書、及びファームウェアを格納する。ファームウェアは、主コントローラ916に、周辺機器インタフェース917が外部コンピュータ920に接続されていることが検出されると、周辺機器インタフェース917を通じて外部コンピュータ920との接続を確立させ、公開鍵を含むサーバ証明書を、当該接続を通じて外部コンピュータ920へ提供させ、サーバ証明書が当該外部コンピュータによって信頼されることを含む応答が受信される場合に、一連のペンデータを外部コンピュータ920へ送信させるように構成されている。外部コンピュータ920は、当該接続を通じて公開鍵を含むサーバ証明書を受信し、サーバ証明書が信頼されるか否かを判定し、サーバ証明書が信頼される場合に、サーバ証明書が信頼されることを示す応答をサインタブレット910に送信し、一連のペンデータを受信するようにプログラムされ得る。
【0071】
当該ファームウェアは、さらに、主コントローラ916に、外部コンピュータ920によって生成された、暗号化された共有秘密鍵を、サーバ証明書が当該外部コンピュータによって信頼されることを示す応答として当該接続を通じて(例えば、USB周辺機器インタフェースを通じた当該接続を直接に介して確立された安全なTLSまたはSSLセッションを介して)受信させ、共有秘密鍵を用いて一連のペンデータを暗号化することによって一連のペンデータを送信させるように構成され得る。当該ファームウェアは、さらに、主コントローラ916に、周辺機器インタフェース917を通じた外部コンピュータ920との双方向通信に供される、USB装置特性を交換する既定のパイプとUSBバルク転送に供される2つのパイプとを確立させるように構成され得る。一連のペンデータは、USBバルク転送に供される当該2つのパイプを介して確立されたTLSセッションを通じて送信され得る。
【0072】
サインタブレット910は、証明書署名要求(CSR)を発行し得る。例えば、当該ファームウェアは、さらに、主コントローラ916に、コマンドに応答して第1の鍵ペアを生成させ、認証局(CA)によって署名されたサーバ証明書を取得するために、公開鍵に対するCSRを送信させ、公開鍵を含むサーバ証明書をメモリ918に格納させるように構成され得る。当該ファームウェアは、さらに、主コントローラ916に、他のコマンドに応答して新たな公開鍵と新たな秘密鍵とからなる新たな鍵ペアを生成させ、第2のCAによって署名された公開鍵を取得するために、新たな公開鍵に対するCSRを送信させ、新たな鍵ペアと第2のCAによって署名された新たな公開鍵に対するサーバ証明書とを格納するようにメモリ918を更新させるように構成され得る。
【0073】
相互認証に適するように、当該ファームウェアは、さらに、主コントローラ916に、外部コンピュータ920から外部コンピュータ920の公開鍵を含むクライアント証明書を取り出させ、クライアント証明書が信頼されるか否かを判定させ、クライアント証明書が信頼され、かつサーバ証明書が外部コンピュータ920によって信頼されることを示す応答が受信される場合に、一連のペンデータを外部コンピュータ920へ送信させるように構成され得る。
【0074】
PIN入力に適するように、当該ファームウェアは、さらに、サインタブレット910に、当該接続を通じて外部コンピュータ920から送信された、暗号化された画像データを復号して画像データを取得させ、ペン位置の経路を、当該経路がディスプレイ919に表示されるときに画像データにオーバレイされるように表示させるように構成され得る。画像データは、手書き署名を入力するのに供される第1の画像と、PINを入力するのに供される文字レイアウトを示す第2の画像とのいずれかを表し得る。当該ファームウェアは、さらに、サインタブレットに、ペン位置の経路を、当該経路が第1の画像にオーバレイされるように表示させ、当該位置によって選択された文字を強調して表示させるように構成され得る。
【0075】
III.コンピューティング環境
特定の例に関連して別途特定しない場合は、本稿で説明する実施形態または他の実施形態は、限定されるものではないが、ラップトップコンピュータ、デスクトップコンピュータ、スマートフォン、タブレットコンピュータ、専用のサインタブレット、またはこのような装置の組合せを含む、任意の適切なコンピューティング装置によって実装され得る。
【0076】
図10は、本開示の実施形態に従う使用に適した例示的なコンピューティング装置1000の態様を示すブロック図である。以下の説明は、サーバ、パーソナルコンピュータ、モバイルフォン、スマートフォン、タブレットコンピュータ、組込みコンピューティング装置その他の、本開示の実施形態に従って用いられ得る、現在入手可能な、またはこれから開発される装置に適用可能である。
【0077】
コンピューティング装置1000は、その最も基本的な構成において、通信バス1006によって接続された、少なくとも1つのプロセッサ1002及びシステムメモリ1004を備える。装置の正確な構成及び種類に応じて、システムメモリ1004は、リードオンリーメモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、EEPROM、フラッシュメモリ、または他のメモリ技術などの、揮発性メモリまたは不揮発性メモリからなり得る。当業者等は、システムメモリ1004が、通常、プロセッサ1002によって直接アクセス可能な及び/または同時に動作する、データモジュール及び/またはプログラムモジュールを格納することを認識するであろう。この場合に、プロセッサ1002は、命令の実行をサポートすることによって、コンピューティング装置1000の計算中枢として機能し得る。
【0078】
図10にさらに示すように、コンピューティング装置1000は、ネットワークを通じて他の装置と通信する1つまたは複数のコンポーネントを有するネットワークインタフェース1010を備え得る。本開示の実施形態は、ネットワークインタフェース1010を利用する基本サービスにアクセスして、共通のネットワークプロトコルを用いる通信を実行し得る。ネットワークインタフェース1010は、さらに、WiFi、2G、3G、4G、LTE、WiMAX、ブルートゥース(登録商標)などの1つまたは複数の無線通信プロトコルを介して通信するように構成された無線ネットワークインタフェースを備え得る。
【0079】
図10において、コンピューティング装置1000は、さらに、記録媒体1008を備える。しかし、データをローカルな記録媒体に固定保持する手段を備えないコンピューティング装置を用いてサービスにアクセスし得る。したがって、
図10に示す記録媒体1008は任意選択による。いずれにせよ、記録媒体1008は、ハードドライブ、ソリッドステートドライブ、CD-ROM、DVDその他のディスク記憶装置、磁気テープ、磁気ディスク記憶装置など、限定されるものではないが、情報を格納することが可能な任意の技術を用いて実装される、揮発性または不揮発性、リムーバブルまたは非リムーバブルであり得る。
【0080】
本稿で用いる用語「コンピュータ読み取り可能な媒体」には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納することが可能な任意の方法または技術によって実装された、揮発性媒体及び不揮発性媒体ならびにリムーバブル媒体及び非リムーバブル媒体が含まれる。この場合に、
図10に示すシステムメモリ1004及び記録媒体1008は、コンピュータ読み取り可能な媒体の例である。
【0081】
説明を簡単にするため、また特許請求する主題の理解には重要でないため、
図10は、多くのコンピューティング装置のいくつかの通常の構成要素を示していない。この場合に、コンピューティング装置1000は、キーボード、キーパッド、マウス、トラックボール、マイクロフォン、ビデオカメラ、タッチパッド、タッチスクリーン、スタイラスなどの入力装置を備え得る。このような入力装置は、RF(radio frequency)、赤外、シリアル、パラレル、ブルートゥース(登録商標)、USBその他の、無線接続または物理接続を用いる適切な接続プロトコルを含む有線接続または無線接続によってコンピューティング装置1000に結合され得る。
【0082】
任意の説明例において、データを入力装置(例えば、サインタブレット)によってキャプチャし、その後の処理に向けて送信または格納し得る。当該処理には、出力装置による表示のために後で復号化することができるようにデータを符号化することが含まれ得る。入力装置は、コンピューティング装置1000から分離されるとともにコンピューティング装置1000に対して通信するように結合され得る、またはコンピューティング装置1000の集積構成要素となり得る。コンピューティング装置1000は、さらに、ディスプレイまたはタッチスクリーンなどの出力装置を備えてもよい。当該出力装置はコンピューティング装置1000から分離されるとともにコンピューティング装置1000に対して通信するように結合され得る、またはコンピューティング装置1000の集積構成要素となり得る。入力機能及び出力機能を同一の入力/出力装置(例えば、タッチスクリーン)に集積してもよい。現在知られている、または将来開発される適切な入力装置、出力装置、または組合せによる入力/出力装置を、説明に係るシステムとともに用い得る。
【0083】
一般に、本稿で説明したコンピューティング装置の機能は、ハードウェアまたはソフトウェア命令に埋め込んだコンピューティングロジック内に実装可能であり、C、C++、COBOL、JAVA(登録商標)、PHP、Perl、Python、Ruby、HTML、CSS、JavaScript(登録商標),VBScript、ASPX、C#などのMicrosoft.NET(tm)言語といったプログラミング言語で記述可能である。コンピューティングロジックを、実行可能なプログラムにコンパイルしてもよいし、インタープリタ型のプログラミング言語で記述してもよい。一般に、本稿で説明した機能を、増設してより大きな処理能力を提供する、他のモジュールと統合する、またはサブモジュールに分割することが可能なロジックモジュールとして実装することができる。コンピューティングロジックを、任意の種類のコンピュータ読み取り可能な媒体(例えば、メモリまたは記録媒体などの非一時的な媒体)、またはコンピュータ記憶装置に格納し、また1つまたは複数の汎用または専用のプロセッサ上に格納して当該プロセッサによって実行することができ、これにより本稿で説明した機能を提供するように構成された専用のコンピューティング装置を生成する。
【0084】
IV.拡張機能及び代替手段
本稿で説明した実施形態に対する多くの代替手段及び変形が考えられる。例えば、本稿で説明した態様を、TLS仕様の現在または後続のバージョンに組み込まれる方式、アルゴリズム、及び暗号技術に適合させ得る。1つのあり得る変更として、完全前方秘匿性(PFS(perfect forward secrecy))が、暗号鍵を確立する付加的な工程を提供する。本稿で説明した態様を、この付加的なセキュリティを利用するように容易に適合させることが可能であり、これは完全にTLSフレームワーク内に含まれる。
【0085】
一般に、本稿で説明したシステム及び装置に対する多くの代替手法が可能である。例えば、個々のモジュールまたはサブシステムを付加的なモジュールまたはサブシステムに分離する、またはより少ない数のモジュールまたはサブシステムに結合することができる。他の例として、モジュールまたはサブシステムを省略する、または他のモジュールまたはサブシステムを用いて補充することができる。他の例として、個々の装置、モジュール、またはサブシステムによって実行されるものとして示した機能を、1つまたは複数の他の装置、モジュール、またはサブシステムによって代わりに実行し得る。本開示中のいくつかの例は、特定の配置を取る特定のハードウェア構成要素を備える装置の説明を含んでいるが、本稿で説明する技術及びツールを変形して、異なるハードウェア構成要素、組合せ、または配置に適応させることができる。また、本開示のいくつかの例は特定の使用を想定した説明を含んでいるが、本稿で説明する技術及びツールを変形して、異なる使用の想定に適応させることができる。ソフトウェアに実装されるものとして説明した機能を、代わりにハードウェアに実装することができ、その逆も可能である。
【0086】
本稿で説明した技術に対する多くの代替手段が考えられる。例えば、種々の技術における処理段階を付加的な段階に分離する、またはより少ない数の段階に結合することができる。他の例として、種々の技術における処理段階を省略する、または他の技術または処理段階を用いて補充することができる。他の例として、特定の順序で生じるものとして説明した処理段階は、代わりに異なる順序で生じ得る。他の例として、一連のステップで実行されるとして説明した処理段階を、示した処理段階の1つまたは複数を同時に処理する複数のモジュールまたはソフトウェア処理を用いた並列方式で代わりに処理し得る。他の例として、個々の装置またはモジュールによって実行されるものとして示した処理段階を、1つまたは複数の他の装置またはモジュールによって代わりに実行し得る。
【0087】
本開示の原理、代表的な実施形態、及び動作のモードを以上で説明してきた。しかし、保護されることを意図した本開示の態様は、開示した個々の実施形態に限定されるものと解釈すべきではない。また、本稿で説明した実施形態は、限定的ではなく例示的であるとみなすべきである。本開示の精神から逸脱することなく、他の者によって変形及び変更がなされ、等価物が採用され得ることは理解することができるであろう。本発明の例示的な実施形態を図示及び説明してきたが、本発明の精神及び範囲から逸脱することなく種々の変更がなされ得ることは理解することができるであろう。
【0088】
排他的所有権または特権を主張する本発明の態様は以下のように規定される。