医師資格証(HPKIカード)について
電子署名と認証の
役割
技術について -公開鍵暗号方式-
認証局の技術は、暗号技術の中の「公開鍵暗号」という方法を用いています。公開鍵暗号という技術は、以下のような特殊な特性を持っています。
- 対となる2つの暗号鍵を作成します。この対の鍵を仮に鍵Aと鍵Bと呼びます。
- 鍵Aで暗号化した電子情報は、鍵Bでしか復号できません。逆に、鍵Bで暗号化した電子情報は鍵Aでしか復号できません。
- 鍵Aと鍵Bのうち、どちらかは本人のみが扱えるように厳密な管理の上で保管しますが、もう一方の鍵は誰でも使えるようにインターネット等に公開します。
- 厳密に管理された鍵を「秘密鍵」、公開された鍵を「公開鍵」、と呼びます。(ここでは、鍵Aが秘密鍵、鍵Bが公開鍵とします)
この作成される鍵のうち、秘密にする鍵Aは「電子証明書」と呼ばれていて、多くは厳格な管理をするために、IC(Integrated Circuit:集積回路)チップ内に格納されています。昨今のクレジットカードやキャッシュカードに金色のチップ(ICチップ)が付いていますが、そのチップが付いたカードがICカードです。
イメージにすると次のようになります。


署名の仕組み -本人の証明と改ざん検知-
電子署名をする場合、秘密鍵Aと公開鍵Bは次のようにして使います。
太郎さんのみが保有する秘密鍵Aを使って電子情報を暗号化します。情報をもらった花子さんは太郎さんの公開鍵Bをインターネットから取ってきて復号します。この場合、誰でも情報を復号できるので、秘密情報のやり取りはできませんが、太郎さんしか持っていない秘密鍵Aと対になる太郎さんの公開鍵Bで復号ができたということは、送られてきた電子情報が確実に太郎さんによって暗号化されたことになり、太郎さんが書いた電子情報であることが分かります。
更に、暗号化されていた文書に変更が加わると復号できなくなるため、そのまま復号できた事実によって、通信途中で変更を加えられるなどの改ざんがされていなかったことも検知できるようになります。
ただし、技術的には電子文書をそのまま暗号化するには処理時間がかかるため、ハッシュ関数と言われる一方向にしか暗号化できない(元に戻せない)関数を使って、元の文書から小さい情報の塊である「メッセージダイジェスト」といわれるものを生成して、それを秘密鍵Aで暗号化しています。ハッシュ関数は、元の文書が一文字でも変更されると異なるメッセージダイジェストを生成するという特性があるので、メッセージダイジェストが一致することを確認すれば、文書が改ざんされていないことが証明できるという特性を持っています。
このように、秘密鍵Aと公開鍵Bを使うことで電子署名を実現しています。また、同時に電子文書の改ざんを検知するという重要な機能も持ち合わせています。
これらをイメージにすると次のようになります。


認証の仕組み -チャレンジ&レスポンス-
認証をする場合、秘密鍵Aと公開鍵Bは次のようにして使います。
太郎さんが、データセンターにある患者さんの情報にアクセスして、情報を閲覧したり、操作したりしたいとします。
まず、太郎さんは閲覧・操作したい情報が存在する患者さんのデータベースに閲覧・操作の許可を求めるためデータセンターにアクセスします。(下図①)
そうすると、データセンターがメッセージダイジェストを太郎さんに送ってくるので(同②)、太郎さんは自分の秘密鍵Aでメッセージダイジェストに電子署名をします。(同③)
電子署名されたメッセージダイジェストを受け取ったデータセンターは、太郎さんの公開鍵Bをインターネットから取ってきて、暗号化されたメッセージダイジェストを復号して、元々送ったメッセージダイジェストと比較をします。これらが一致すれば、確かに太郎さんであることの確認ができるため、太郎さんに対してデータベースの閲覧・操作を許可します。(同④)
この一連の流れをチャレンジ&レスポンスと呼んでいます。
これらをイメージにすると次のようになります。


認証局の役割 -「信頼できる組織」の重要性-
電子署名と認証の仕組みと役割で説明したように、秘密鍵Aと公開鍵Bがあれば電子情報の暗号化や作成者の確認、改ざんの検知、認証ということができるようになります。ところが、そもそも、その秘密鍵Aと公開鍵Bを「誰が作ったのか?」、「誰が持っている鍵なのか?」という点が最も大事になります。
コンピューターが進歩して、いまでは誰でもコンピューターを使って秘密鍵Aと公開鍵Bを作成することができるようになっています。このため、見ず知らずの人が秘密鍵Aと公開鍵Bを作って電子署名をして送ってきたり、認証したりしても、そもそも秘密鍵Aと公開鍵B自体が誰のものか不明であれば、まったく信用できないものになってしまいます。
したがって
- 対になる「秘密鍵A」と「公開鍵B」は誰が作るのか?
- 誰が「秘密鍵A」と「公開鍵B」の所有者を保証するのか?
ということが非常に重要になってきます。
そこで、その秘密鍵Aと公開鍵Bを作成し、鍵の所有者を保証する組織が必要になります。それを保証するのが「認証局」です。このため、認証局の役割は大変重要であり、秘密鍵Aと公開鍵Bを作成して欲しいと依頼があった本人が本当に依頼して来た本人その人であるか、厳密に審査し、確実に本人に秘密鍵を届ける役割を担う必要があります。
一方、依頼する側や世間からみた場合、その認証局がどこまで信頼できる組織であるか、世間的に認知された組織であるかが重要となり、聞いたこともない組織が作成した秘密鍵Aと公開鍵Bを安易に信頼することはできません。
したがって、認証局は
- 厳密な本人確認審査ができる組織体であること。
- 世間から一定程度信頼されていること。
が必要になります。
情報化社会において、技術は日進月歩であり、認証局を支える暗号技術はこれからも進歩し続けるため、必ずしも現在使われている公開鍵暗号が使われ続けるとは言えませんが、新たな技術が登場した場合、それはその技術に置き換えることができます。
一方、認証局のもうひとつの側面である組織的な部分に関しては、技術とはまったく関係なく、現実世界における組織としての体制、信頼度が重要であり、それらの総合的な信頼度が「認証局」を運営しようとする組織にとって非常に重要になります。
このことから、本センターは日本医師会の内部付属機関として、保健医療福祉分野における信頼できる組織として認証局を運営しています。