JP4599812B2 - Service providing system, service providing server, device authentication program, storage medium, terminal device, device authentication server, and public key confirmation information update program - Google Patents

Service providing system, service providing server, device authentication program, storage medium, terminal device, device authentication server, and public key confirmation information update program Download PDF

Info

Publication number
JP4599812B2
JP4599812B2 JP2003188140A JP2003188140A JP4599812B2 JP 4599812 B2 JP4599812 B2 JP 4599812B2 JP 2003188140 A JP2003188140 A JP 2003188140A JP 2003188140 A JP2003188140 A JP 2003188140A JP 4599812 B2 JP4599812 B2 JP 4599812B2
Authority
JP
Japan
Prior art keywords
information
public key
server
terminal
key
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
JP2003188140A
Other languages
Japanese (ja)
Other versions
JP2005026842A (en
JP2005026842A5 (en
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2003188140A priority Critical patent/JP4599812B2/en
Publication of JP2005026842A publication Critical patent/JP2005026842A/en
Publication of JP2005026842A5 publication Critical patent/JP2005026842A5/ja
Application granted granted Critical
Publication of JP4599812B2 publication Critical patent/JP4599812B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は機器認証システムなどに関し、特に、デジタル証明書を用いることにより、個々のサービスサーバにて機器認証を行うものに関する。
【0002】
【従来の技術】
近年、CE(CE:Consumer Electronics)機器の普及が広まりつつある。CE機器とは、例えば、ビデオデッキ、ステレオ、テレビなどのオーディオビジュアル機器や、炊飯器、冷蔵庫などの家電製品や、その他の電子機器にコンピュータを内蔵させ、ネットワークを介したサービスを利用できるものである。
このため、CE機器には、機器認証用の機器認証情報が内蔵されており、サービスを提供するサービスサーバは、機器認証サーバにて機器認証を行った後に、当該CE機器にサービスを提供するように構成されている。
【0003】
図10は、従来のサービス提供システムの構成の一例を示した図である。
サービスサーバ107、107、…は、CE機器109にサービスを提供するサーバ装置である。
CE機器109は、サービスサーバ107、107、…からサービスの提供を受ける場合、まず、機器認証サーバ105で機器認証し、その機器認証結果をサービスサーバ107、107、…に送信する。
【0004】
これに対し、サービスサーバ107、107、…は、CE機器109から受信した機器認証結果が正しいものであるか否か確認するために機器認証サーバ105に機器認証結果を問い合わせる。そして、機器認証結果が正しいものであると確認できた場合、サービスサーバ107、107、…は、CE機器109にサービスを提供する。
このように、認証サーバがクライアントを認証する発明として、次のものがある。
この文献で公開されている発明は、公開鍵と秘密鍵のペアを用いてユーザ認証を行うものである。
【0005】
【特許文献1】
特開2001−236321
【0006】
この発明では、まず、クライアント側で秘密鍵を所有し、認証サーバ側でユーザに対応する公開鍵を所有する。
そして、認証サーバで発生した乱数(コード)を公開鍵で暗号化した後、クライアントに送信する。そして、クライアントが暗号化された乱数を秘密鍵で正しく復号できるか否かを判断することにより、クライアントを認証するものである。
【0007】
なお、この発明では、秘密鍵と対を成す公開鍵は、特定のサーバ装置で一括管理している。
そのため、大量に市場に出回り、日々生産、及び廃棄されるCE機器の認証方法としては必ずしも効率がよくない。
なぜなら、この発明では、CE機器の生産、廃棄、所有者の移転に伴い、一括管理している公開鍵をその都度更新しなくてはならなず、公開鍵のメンテナンスにコストと手間がかかるためである。
【0008】
【発明が解決しようとする課題】
ところが、従来のサービス提供システムでは、機器認証が機器認証サーバ105に集中してしまうという問題があった。
このため、機器認証サーバ105に負荷が集中し、機器認証を効率よく行うことが困難な場合が生じる可能性があった。
【0009】
そこで、本発明の目的は、機器認証を行う機能を分散させることにより、機器認証負荷の集中を低減することである。
【0010】
【課題を解決するための手段】
本発明は、前記目的を達成するために、端末機器と、前記端末機器と相互機器認証して前記端末機器にサービスを提供するサービス提供サーバから構成されたサービス提供システムであって、前記端末機器は、端末秘密鍵と、前記端末秘密鍵と対を成す端末公開鍵と、前記端末公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いる前記機器認証機関で発行された端末公開鍵確認情報と、を記憶しており、前記サービス提供サーバにサービスの提供を要求する場合に、前記記憶した端末公開鍵と、端末公開鍵確認情報と、を前記サービス提供サーバに送信し、前記サービス提供サーバは、前記端末公開鍵確認情報を用いて前記端末公開鍵が前記機器認証機関によって認められたものであることを確認し、前記端末機器と前記サービス提供サーバとで共有する共通鍵を秘密情報として、前記秘密情報を前記確認した端末公開鍵で暗号化することによって、第1の暗号化秘密情報を生成し、第1のID情報と、第1のコード情報と、前記共通鍵と、を対応付けて記憶し、前記第1の暗号化秘密情報と、前記第1のID情報と、前記第1のコード情報と、を前記端末機器に送信し、前記端末機器は、前記記憶した端末秘密鍵を用いて、前記受信した第1の暗号化秘密情報を復号化することによって、前記秘密情報である前記共通鍵を取得し、前記取得した共通鍵を用いて、前記第1のコード情報を暗号化し、前記暗号化された第1のコード情報を、前記端末機器が前記秘密情報を復号化したことを前記サービス提供サーバが確認するための第1の復号化確認情報として生成し、前記生成した第1の復号化確認情報と、前記第1のID情報と、を前記サービス提供サーバに送信し、前記サービス提供サーバは、前記受信した第1のID情報から、前記第1のID情報と対応付けられた前記第1のコード情報と、前記共通鍵と、を取得し、前記受信した第1の復号化確認情報と、自身が前記共通鍵を用いて暗号化した前記第1のコード情報と、を比較して、前記端末機器において前記送信した第1の暗号化秘密情報から前記秘密情報が復号化されたことを確認することによって、前記端末機器を認証し、サーバ秘密鍵と、前記サーバ秘密鍵と対を成すサーバ公開鍵と、前記サーバ公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いるサーバ公開鍵確認情報と、を記憶しており、第2のID情報と、前記共通鍵と、を対応付けて記憶し、前記記憶したサーバ公開鍵と、サーバ公開鍵確認情報と、第2のID情報と、を前記端末機器に送信し、前記端末機器は、前記サーバ公開鍵確認情報を用いて前記受信したサーバ公開鍵が前記機器認証機関によって認められたものであることを確認し、前記確認したサーバ公開鍵と前記共通鍵の一方を用いて、第2のコード情報を暗号化した後、他方を用いてさらに暗号化することによって、第2の暗号化秘密情報を生成し、前記生成した第2の暗号化秘密情報と、前記第2のID情報と、を前記サービス提供サーバに送信し、前記サービス提供サーバは、前記受信した第2のID情報から、前記第2のID情報と対応付けられた前記共通鍵を取得し、前記受信した第2の暗号化秘密情報を、前記共通鍵と前記記憶したサーバ秘密鍵の一方を用いて復号化した後、他方を用いてさらに復号化することによって、前記第2のコード情報を取得し、前記取得した第2のコード情報を、前記サービス提供サーバが前記第2のコード情報を復号化したことを前記端末機器が確認するための第2の復号化確認情報として、前記端末機器に送信し、前記端末機器は、前記受信した第2の復号化確認情報と、前記記憶した第2のコード情報とを比較して、前記サービス提供サーバで前記送信した第2の暗号化秘密情報から前記第2のコード情報が復号化されたことを確認することによって、前記サービス提供サーバを認証し、前記サービス提供サーバにサービスの提供を要求することを特徴とするサービス提供システムを提供する(第1の構成)。
また、本発明は、端末機器と相互機器認証してからサービスを提供するサービス提供サーバであって、前記端末機器は、端末秘密鍵と、前記端末秘密鍵と対を成す端末公開鍵と、前記端末公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いる端末公開鍵確認情報と、を記憶しており、前記端末機器から、前記端末公開鍵と、前記端末公開鍵確認情報とを受信する公開鍵受信手段と、前記受信した端末公開鍵確認情報を用いて前記受信した端末公開鍵が前記機器認証機関によって認められたものであること確認する端末公開鍵確認手段と、前記端末機器と前記サービス提供サーバとで共有する共通鍵を秘密情報として、前記秘密情報を前記確認した端末公開鍵を用いて暗号化した第1の暗号化秘密情報を生成し、第1のID情報と、第1のコード情報と、前記共通鍵と、を対応付けて記憶してから、前記第1の暗号化秘密情報と、前記第1のID情報と、前記第1のコード情報と、を前記端末機器に送信する暗号化秘密情報送信手段と、前記端末機器から、前記送信した第1の前記暗号化秘密情報から前記秘密情報を復号化したことを確認するための第1の復号化確認情報と、前記第1のID情報とを受信する復号化確認情報受信手段と、前記受信した第1のID情報から、前記第1のID情報と対応付けられた前記第1のコード情報と、前記共通鍵と、を取得し、前記受信した第1の復号化確認情報と、自身が前記共通鍵を用いて暗号化した前記第1のコード情報と、を比較して、前記端末機器において前記送信した第1の暗号化秘密情報から前記秘密情報が復号化されたことを確認する復号化確認手段と、サーバ秘密鍵と、前記サーバ秘密鍵と対を成すサーバ公開鍵と、前記サーバ公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いるサーバ公開鍵確認情報と、を記憶する鍵情報記憶手段と、第2のID情報と、前記共通鍵と、を対応付けて記憶してから、前記記憶したサーバ公開鍵と、前記サーバ公開鍵確認情報と、第2のID情報と、を前記端末機器に送信するサーバ公開鍵送信手段と、前記送信したサーバ公開鍵に対応して、前記端末機器が送信してきた第2の暗号化秘密情報と、前記第2のID情報と、を受信する暗号化秘密情報受信手段と、
前記受信した第2のID情報から、前記第2のID情報と対応付けられた前記共通鍵を取得し、前記受信した第2の暗号化秘密情報を、前記共通鍵と前記記憶したサーバ秘密鍵の一方を用いて復号化した後、他方を用いてさらに復号化することによって、前記第2のコード情報を取得するコード情報復号化手段と、前記取得した第2のコード情報を、前記サービス提供サーバが前記第2のコード情報を復号化したことを前記端末機器が確認するための第2の復号化確認情報として、前記端末機器に送信する復号化確認情報送信手段と、を具備したことを特徴とするサービス提供サーバを提供する(第2の構成)。
また、本発明は、端末秘密鍵と、前記端末秘密鍵と対を成す端末公開鍵と、前記端末公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いる端末公開鍵確認情報と、を記憶している端末機器と相互機器認証してからサービスを提供するコンピュータで構成されたサービス提供サーバで相互機器認証機能を実現する機器認証プログラムであって、コンピュータを、前記端末機器から、前記端末公開鍵と、前記端末公開鍵確認情報とを受信する公開鍵受信手段と、前記受信した端末公開鍵確認情報を用いて前記受信した端末公開鍵が前記機器認証機関によって認められたものであること確認する端末公開鍵確認手段と、前記端末機器と前記サービス提供サーバとで共有する共通鍵を秘密情報として、前記秘密情報を前記確認した端末公開鍵を用いて暗号化した第1の暗号化秘密情報を生成し、第1のID情報と、第1のコード情報と、前記共通鍵と、を対応付けて記憶してから、前記第1の暗号化秘密情報と、前記第1のID情報と、前記第1のコード情報と、を前記端末機器に送信する暗号化秘密情報送信手段と、前記端末機器から、前記送信した第1の前記暗号化秘密情報から前記秘密情報を復号化したことを確認するための第1の復号化確認情報と、前記第1のID情報とを受信する復号化確認情報受信手段と、前記受信した第1のID情報から、前記第1のID情報と対応付けられた前記第1のコード情報と、前記共通鍵と、を取得し、前記受信した第1の復号化確認情報と、自身が前記共通鍵を用いて暗号化した前記第1のコード情報と、を比較して、前記端末機器において前記送信した第1の暗号化秘密情報から前記秘密情報が復号化されたことを確認する復号化確認手段と、サーバ秘密鍵と、前記サーバ秘密鍵と対を成すサーバ公開鍵と、前記サーバ公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いるサーバ公開鍵確認情報と、を記憶する鍵情報記憶手段と、第2のID情報と、前記共通鍵と、を対応付けて記憶してから、前記記憶したサーバ公開鍵と、前記サーバ公開鍵確認情報と、第2のID情報と、を前記端末機器に送信するサーバ公開鍵送信手段と、前記送信したサーバ公開鍵に対応して、前記端末機器が送信してきた第2の暗号化秘密情報と、前記第2のID情報と、を受信する暗号化秘密情報受信手段と、前記受信した第2のID情報から、前記第2のID情報と対応付けられた前記共通鍵を取得し、前記受信した第2の暗号化秘密情報を、前記共通鍵と前記記憶したサーバ秘密鍵の一方を用いて復号化した後、他方を用いてさらに復号化することによって、前記第2のコード情報を取得するコード情報復号化手段と、前記取得した第2のコード情報を、前記サービス提供サーバが前記第2のコード情報を復号化したことを前記端末機器が確認するための第2の復号化確認情報として、前記端末機器に送信する復号化確認情報送信手段として機能させるための機器認証プログラムを提供する(第3の構成)。
また、本発明は、端末秘密鍵と、前記端末秘密鍵と対を成す端末公開鍵と、前記端末公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いる端末公開鍵確認情報と、を記憶している端末機器と相互機器認証してからサービスを提供するコンピュータで構成されたサービス提供サーバで相互機器認証機能を実現する機器認証プログラムを記憶した記憶媒体であって、コンピュータを、前記端末機器から、前記端末公開鍵と、前記端末公開鍵確認情報とを受信する公開鍵受信手段と、前記受信した端末公開鍵確認情報を用いて前記受信した端末公開鍵が前記機器認証機関によって認められたものであること確認する端末公開鍵確認手段と、前記端末機器と前記サービス提供サーバとで共有する共通鍵を秘密情報として、前記秘密情報を前記確認した端末公開鍵を用いて暗号化した第1の暗号化秘密情報を生成し、第1のID情報と、第1のコード情報と、前記共通鍵と、を対応付けて記憶してから、前記第1の暗号化秘密情報と、前記第1のID情報と、前記第1のコード情報と、を前記端末機器に送信する暗号化秘密情報送信手段と、前記端末機器から、前記送信した第1の前記暗号化秘密情報から前記秘密情報を復号化したことを確認するための第1の復号化確認情報と、前記第1のID情報とを受信する復号化確認情報受信手段と、前記受信した第1のID情報から、前記第1のID情報と対応付けられた前記第1のコード情報と、前記共通鍵と、を取得し、前記受信した第1の復号化確認情報と、自身が前記共通鍵を用いて暗号化した前記第1のコード情報と、を比較して、前記端末機器において前記送信した第1の暗号化秘密情報から前記秘密情報が復号化されたことを確認する復号化確認手段と、サーバ秘密鍵と、前記サーバ秘密鍵と対を成すサーバ公開鍵と、前記サーバ公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いるサーバ公開鍵確認情報と、を記憶する鍵情報記憶手段と、第2のID情報と、前記共通鍵と、を対応付けて記憶してから、前記記憶したサーバ公開鍵と、前記サーバ公開鍵確認情報と、第2のID情報と、を前記端末機器に送信するサーバ公開鍵送信手段と、前記送信したサーバ公開鍵に対応して、前記端末機器が送信してきた第2の暗号化秘密情報と、前記第2のID情報と、を受信する暗号化秘密情報受信手段と、前記受信した第2のID情報から、前記第2のID情報と対応付けられた前記共通鍵を取得し、前記受信した第2の暗号化秘密情報を、前記共通鍵と前記記憶したサーバ秘密鍵の一方を用いて復号化した後、他方を用いてさらに復号化することによって、前記第2のコード情報を取得するコード情報復号化手段と、前記取得した第2のコード情報を、前記サービス提供サーバが前記第2のコード情報を復号化したことを前記端末機器が確認するための第2の復号化確認情報として、前記端末機器に送信する復号化確認情報送信手段として機能させるための機器認証プログラムを記憶したコンピュータが読み取り可能な記憶媒体を提供する(第4の構成)。
また、本発明は、端末秘密鍵を記憶する端末秘密鍵記憶手段と、前記端末秘密鍵と対を成す端末公開鍵と、前記端末公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いる端末公開鍵確認情報と、を記憶する端末公開鍵記憶手段と、サービス提供サーバにサービスの提供を要求する場合に、前記記憶した端末公開鍵と端末公開鍵確認情報とを、前記サービス提供サーバに送信する端末公開鍵送信手段と、前記送信した端末公開鍵と端末公開鍵確認情報に対応して、前記サービス提供サーバから返信されてきた第1の暗号化秘密情報と、第1のID情報と、第1のコード情報と、を受信する暗号化秘密情報受信手段と、前記受信した第1の暗号化秘密情報を前記記憶した端末秘密鍵で復号化することによって、秘密情報である前記端末機器と前記サービス提供サーバとで共有する共通鍵を取得する復号化手段と、前記取得した前記共通鍵を用いて、前記サービス提供サーバが前記秘密情報を復号化したことを確認するために、前記取得した共通鍵を用いて、前記第1のコード情報を暗号化し、前記暗号化された第1のコード情報を、第1の復号化確認情報として生成する復号化確認情報生成手段と、前記生成した第1の復号化確認情報と、前記第1のID情報と、を前記サービス提供サーバに送信する復号化確認情報送信手段と、サーバ秘密鍵と、前記サーバ秘密鍵と対を成すサーバ公開鍵と、前記サーバ公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いるサーバ公開鍵確認情報とを記憶している前記サービス提供サーバから、前記サーバ公開鍵と、前記サーバ公開鍵確認情報と、第2のID情報と、を受信するサーバ公開鍵受信手段と、前記受信したサーバ公開鍵確認情報を用いて前記受信したサーバ公開鍵が前記機器認証機関によって認められたものであることを確認するサーバ公開鍵確認手段と、前記確認したサーバ公開鍵と前記共通鍵の一方を用いて第2のコード情報を暗号化した後、他方を用いてさらに暗号化することによって、第2の暗号化秘密情報を生成する暗号化秘密情報生成手段と、前記生成した第2の暗号化秘密情報と、前記第2のID情報と、を前記サービス提供サーバに送信する暗号化秘密情報送信手段と、前記サービス提供サーバで前記送信した第2の暗号化秘密情報から前記第2のコード情報が復号化されたことを確認するための第2の復号化確認情報を前記サービス提供サーバから受信する復号化確認情報受信手段と、前記受信した第2の復号化確認情報と、前記記憶した第2のコード情報とを比較して、前記サービス提供サーバで前記送信した第2の暗号化秘密情報から前記第2のコード情報が復号化されたことを確認する復号化確認手段と、を具備したことを特徴とする端末機器を提供する(第5の構成)。
また、本発明は、端末機器を構成するコンピュータで相互機器認証機能を実現する機器認証プログラムであって、コンピュータを、端末秘密鍵を記憶する端末秘密鍵記憶手段と、前記端末秘密鍵と対を成す端末公開鍵と、前記端末公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いる端末公開鍵確認情報と、を記憶する端末公開鍵記憶手段と、サービス提供サーバにサービスの提供を要求する場合に、前記記憶した端末公開鍵と端末公開鍵確認情報とを、前記サービス提供サーバに送信する端末公開鍵送信手段と、前記送信した端末公開鍵と端末公開鍵確認情報に対応して、前記サービス提供サーバから返信されてきた第1の暗号化秘密情報と、第1のID情報と、第1のコード情報と、を受信する暗号化秘密情報受信手段と、前記受信した第1の暗号化秘密情報を前記記憶した端末秘密鍵で復号化することによって、秘密情報である前記端末機器と前記サービス提供サーバとで共有する共通鍵を取得する復号化手段と、前記取得した前記共通鍵を用いて、前記サービス提供サーバが前記秘密情報を復号化したことを確認するために、前記取得した共通鍵を用いて、前記第1のコード情報を暗号化し、前記暗号化された第1のコード情報を、第1の復号化確認情報として生成する復号化確認情報生成手段と、前記生成した第1の復号化確認情報と、前記第1のID情報と、を前記サービス提供サーバに送信する復号化確認情報送信手段と、サーバ秘密鍵と、前記サーバ秘密鍵と対を成すサーバ公開鍵と、前記サーバ公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いるサーバ公開鍵確認情報とを記憶している前記サービス提供サーバから、前記サーバ公開鍵と、前記サーバ公開鍵確認情報と、第2のID情報と、を受信するサーバ公開鍵受信手段と、前記受信したサーバ公開鍵確認情報を用いて前記受信したサーバ公開鍵が前記機器認証機関によって認められたものであることを確認するサーバ公開鍵確認手段と、前記確認したサーバ公開鍵と前記共通鍵の一方を用いて第2のコード情報を暗号化した後、他方を用いてさらに暗号化することによって、第2の暗号化秘密情報を生成する暗号化秘密情報生成手段と、前記生成した第2の暗号化秘密情報と、前記第2のID情報と、を前記サービス提供サーバに送信する暗号化秘密情報送信手段と、前記サービス提供サーバで前記送信した第2の暗号化秘密情報から前記第2のコード情報が復号化されたことを確認するための第2の復号化確認情報を前記サービス提供サーバから受信する復号化確認情報受信手段と、前記受信した第2の復号化確認情報と、前記記憶した第2のコード情報とを比較して、前記サービス提供サーバで前記送信した第2の暗号化秘密情報から前記第2のコード情報が復号化されたことを確認する復号化確認手段として機能させるための機器認証プログラムを提供する(第6の構成)。
また、本発明は、端末機器を構成するコンピュータで相互機器認証機能を実現する機器認証プログラムを記憶した記憶媒体であって、コンピュータを、端末秘密鍵を記憶する端末秘密鍵記憶手段と、前記端末秘密鍵と対を成す端末公開鍵と、前記端末公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いる端末公開鍵確認情報と、を記憶する端末公開鍵記憶手段と、サービス提供サーバにサービスの提供を要求する場合に、前記記憶した端末公開鍵と端末公開鍵確認情報とを、前記サービス提供サーバに送信する端末公開鍵送信手段と、前記送信した端末公開鍵と端末公開鍵確認情報に対応して、前記サービス提供サーバから返信されてきた第1の暗号化秘密情報と、第1のID情報と、第1のコード情報と、を受信する暗号化秘密情報受信手段と、前記受信した第1の暗号化秘密情報を前記記憶した端末秘密鍵で復号化することによって、秘密情報である前記端末機器と前記サービス提供サーバとで共有する共通鍵を取得する復号化手段と、前記取得した前記共通鍵を用いて、前記サービス提供サーバが前記秘密情報を復号化したことを確認するために、前記取得した共通鍵を用いて、前記第1のコード情報を暗号化し、前記暗号化された第1のコード情報を、第1の復号化確認情報として生成する復号化確認情報生成手段と、前記生成した第1の復号化確認情報と、前記第1のID情報と、を前記サービス提供サーバに送信する復号化確認情報送信手段と、サーバ秘密鍵と、前記サーバ秘密鍵と対を成すサーバ公開鍵と、前記サーバ公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いるサーバ公開鍵確認情報とを記憶している前記サービス提供サーバから、前記サーバ公開鍵と、前記サーバ公開鍵確認情報と、第2のID情報と、を受信するサーバ公開鍵受信手段と、前記受信したサーバ公開鍵確認情報を用いて前記受信したサーバ公開鍵が前記機器認証機関によって認められたものであることを確認するサーバ公開鍵確認手段と、前記確認したサーバ公開鍵と前記共通鍵の一方を用いて第2のコード情報を暗号化した後、他方を用いてさらに暗号化することによって、第2の暗号化秘密情報を生成する暗号化秘密情報生成手段と、前記生成した第2の暗号化秘密情報と、前記第2のID情報と、を前記サービス提供サーバに送信する暗号化秘密情報送信手段と、前記サービス提供サーバで前記送信した第2の暗号化秘密情報から前記第2のコード情報が復号化されたことを確認するための第2の復号化確認情報を前記サービス提供サーバから受信する復号化確認情報受信手段と、前記受信した第2の復号化確認情報と、前記記憶した第2のコード情報とを比較して、前記サービス提供サーバで前記送信した第2の暗号化秘密情報から前記第2のコード情報が復号化されたことを確認する復号化確認手段として機能させるための機器認証プログラムを記憶したコンピュータが読み取り可能な記憶媒体を提供する(第7の構成)。
【0011】
【発明の実施の形態】
以下、本発明の好適な実施の形態について、図を参照して詳細に説明する。
[実施形態の概要]
図1は、本実施の形態のサービス提供システムの構成の一例を示した図である。
サービスサーバ7、7、7、…(以下、サービスサーバ7)は、ネットワークを介してCE機器9にサービスを提供するサーバ装置である。
CE機器9は、デジタル証明書(以下、CE証明書)を記憶しており、これをサービスサーバ7に送信する。
このCE証明書には、CE機器9が保持する秘密鍵に対応する公開鍵が含まれている。
【0012】
サービスサーバ7は、CE機器9から公開鍵を受信し、この公開鍵が機器認証機関によって認められたものであることを証明書の署名(後述)により確認した後、秘密情報をこの公開鍵で暗号化してCE機器9に送信する。
一方、CE機器9は、この暗号化された秘密情報を秘密鍵で復号化する。
CE機器9は、CE機器9で秘密情報が復号化されたことを確認することにより、CE機器9の機器認証を行う。
【0013】
即ち、この公開鍵で暗号化した秘密情報を復号化できるのは、この公開鍵と対を成す秘密鍵を持っているCE機器9だけであり、更に、この公開鍵が機器認証機関により認められたものであることが確認できるため、証明書を用いて機器認証を行うことができる。
【0014】
なお、本実施の形態では、この秘密情報として、サービスサーバ7が動的に生成する共通鍵(セッション鍵)を使用する。そのため、機器認証後には、CE機器9とサービスサーバ7で共通鍵を共有することができ、この共通鍵を用いた効率のよいサービス提供を行うことができる。
【0015】
このように、本実施の形態では、機器認証を個々のサービスサーバ7で行うため、機器認証機能をサービス提供システムで分散することができ、機器認証に伴う負荷の集中を防ぐことができる。
また、本実施の形態では、CE機器9内部で秘密鍵と公開鍵の対を管理するため、CE機器9の生産、廃棄などによってサービス提供システム内で流通している公開鍵が変動しても、サービス提供システムとしてはこれを管理する必要がない。
更に、公開鍵はCE機器9内部で管理されるが、機器認証機関による証明書により、公開鍵の真正を担保することができる。
【0016】
[実施形態の詳細]
図2は、本実施の形態のCE機器9の論理的な構成を説明するための図である。
CE機器9は、耐タンパチップ10をハードウェアとして備えており、また、機器認証に用いるCE証明書12を記憶装置に記憶している。
耐タンパチップ10は、改竄や複製、内部の論理構造の解読などの不正行為に対して十分な防御手段を講じた耐タンパ装置であり、集積回路を格納したICチップなどで構成されている。
耐タンパチップ10には、秘密鍵(以下、CE秘密鍵)が記憶されている(秘密鍵記憶手段)。耐タンパチップ10は、後述するCE証明書12に含まれるCE公開鍵で暗号化された情報の復号化の依頼を受け、復号化された結果を出力する。
【0017】
CE証明書12は、CE機器9の記憶装置に記憶されており(公開鍵記憶手段)、CE機器9の機器ID、CE秘密鍵に対応した公開鍵(以下、CE公開鍵)、有効期限などのメッセージに、機器認証機関が、これらのメッセージの真正を保証するために行ったデジタル署名(以下、署名)などから構成されている。
即ち、CE証明書12を受信したサービスサーバ7は、署名を確認することにより、CE証明書12に含まれている内容が、機器認証機関が認証したものであることを確認することができる。
【0018】
そのため、署名は、CE公開鍵が、機器認証機関により認められたものであることを確認するための公開鍵確認情報を構成している。
また、サービスサーバ7は、CE証明書12に含まれる機器IDから、CE機器9の機器IDを認識することができ、また、有効期限からCE公開鍵の有効期限を知ることができる。
【0019】
機器認証モジュール11は、耐タンパチップ10やCE証明書12を用いながらサービスサーバ7と情報の送受信を行い、CE機器9の機器認証をサービスサーバ7に行わせるモジュールである。
【0020】
図3は、サービスサーバ7がCE機器9を機器認証する手順を説明するためのフローチャートである。
まず、機器認証モジュール11は、サービスサーバ7にCE証明書12を送信する(ステップ2)。
機器認証モジュール11は、CE証明書12により、サービスサーバ7に公開鍵を送信する。このように、CE機器9は、公開鍵送信手段を備えている。
サービスサーバ7は、CE機器9からCE証明書12を受信し(公開鍵受信手段)、CE証明書12の真正を確認する(ステップ20)。
サービスサーバ7は、CE証明書12の真正を署名を用いて確認し、これによってCE公開鍵の真正を確認する(公開鍵確認手段)。具体的な確認方法については後述する。
【0021】
次に、サービスサーバ7は、セッション鍵を生成する(ステップ22)。
なお、このセッション鍵は、サービス提供時にサービスサーバ7とCE機器9で共有される共通鍵として利用される。
なお、セキュリティレベルを高めるために、セッション鍵は動的に生成され、毎回異なったものとする。
【0022】
サービスサーバ7は、CE証明書12からCE公開鍵を取り出し、これを用いて先に生成したセッション鍵を暗号化する(ステップ24)。
本実施の形態で、セッション鍵を秘密情報として利用する。即ち、セッション鍵をCE公開鍵で暗号化し、これがCE機器9で復号できたことが確認できれば、CE機器9を機器認証できると共に、CE機器9と共通鍵を共有することができる。
【0023】
なお、以下では、暗号化した情報Aを暗号化(情報A)などと記すことにする。このように暗号化された情報の記載方法を定義すると、ステップ24で生成された情報は、暗号化(セッション鍵)と表すことができる。暗号化(セッション鍵)は、暗号化秘密情報を構成している。
【0024】
次に、サービスサーバ7は、セッションIDと乱数(以下、乱数Aとする)を生成する(ステップ26)。
セッションIDは、セッションを維持するために用いるID情報であり、乱数Aは、CE機器9でセッション鍵が復号できたことを確認するためのコード情報である。
【0025】
そして、サービスサーバ7は、ステップ22で生成したセッション鍵と、ステップ26で生成したセッションID、及び乱数Aを対応付けて記憶する(ステップ28)。
次に、サービスサーバ7は、ステップ26で生成したセッションID、乱数A、及びステップ24で生成した暗号化(セッション鍵)をCE機器9に送信する(暗号化秘密情報送信手段)。
【0026】
CE機器9は、これらの情報を受信し(暗号化秘密情報受信手段)、機器認証モジュール11は、暗号化(セッション鍵)の復号化を耐タンパチップ10に依頼する(ステップ4)。
耐タンパチップ10は、暗号化(セッション鍵)を復号化してセッション鍵を生成し、機器認証モジュール11に提供する(ステップ10)。
このように、耐タンパチップ10は、暗号化秘密情報をCE秘密鍵で復号化する復号化手段を構成している。
機器認証モジュール11は、耐タンパチップ10からセッション鍵を取得する。
【0027】
これで、CE機器9は、サービスサーバ7と共通鍵(セッション鍵)を共有することができる。
そして、機器認証モジュール11は、このセッション鍵を用いてサービスサーバ7から受信した乱数Aを暗号化し、暗号化(乱数A)を生成する(復号化確認情報生成手段)(ステップ6)。
この暗号化(乱数A)は、CE機器9が秘密情報の復号化に成功したことをサービスサーバ7が確認するための復号化確認情報を構成している。
【0028】
機器認証モジュール11は、ステップ30でサービスサーバ7から送信されたセッションIDとステップ6で生成した暗号化(乱数A)をサービスサーバ7に送信する(復号化確認情報送信手段)(ステップ8)。
【0029】
サービスサーバ7は、CE機器9からセッションIDと暗号化(乱数A)を受信する(復号化確認情報受信手段)。
そして、CE機器9から受信したセッションIDと、ステップ28で記憶した対応関係から、乱数Aとセッション鍵を取得する(ステップ32)。
【0030】
次に、サービスサーバ7は、ステップ32で取得したセッション鍵で乱数Aを暗号化し、暗号化(乱数A)を生成する(暗号化コード情報生成手段)(ステップ34)。
そして、サービスサーバ7は、ステップ34で生成した暗号化(乱数A)と、CE機器9から受信した暗号化(乱数A)を比較し、一致するか否かを判断する(復号化確認手段)(ステップ36)。
両者が一致した場合、CE機器9の機器認証が成功したと判断し、CE機器9に対してサービスの提供を開始する(ステップ38)。
両者が一致しなかった場合、CE機器9の機器認証が失敗したと判断し、CE機器9に対するサービスの提供は行わない。
【0031】
このように、サービスサーバ7は、CE機器9がセッション鍵を復号化できたことを確認することにより、CE機器9がCE秘密鍵を所有していることを確認することができる。即ち、CE機器9が真正のCE機器であることを確認することができる。
また、機器認証後にサービスサーバ7がセッション鍵を共有鍵として使用し、CE機器9にサービスを提供することもできる。
【0032】
更に、本実施の形態では、サービスサーバ7がセッション鍵をCE公開鍵で暗号化してCE機器9に送信することにより、CE機器9とサービスサーバ7でセッション鍵を共通鍵として共有することができ、CE機器9がこの共通鍵で暗号化した情報をサービスサーバ7が確認するように構成することによりセキュリティレベルを強化することができる。
この場合、単に、サービスサーバ7がCE公開鍵で暗号化した情報をCE機器9が秘密鍵で復号化できたことを確認することにより、CE機器9を機器認証する場合よりもセキュリティレベルが高い。
【0033】
なお、本実施の形態では、セッション鍵を秘密情報として使用したが、例えば、乱数などのコード情報を秘密情報として利用することができる。
この場合、サービスサーバ7は、CE公開鍵で乱数を暗号化してCE機器9に送信する。
これに対して、CE機器9は、CE秘密鍵で乱数を復号化し、サービスサーバ7に送信する。
サービスサーバ7は、CE機器9から受信した乱数と、CE機器9に送信した乱数が同一であることを確認し、CE機器9を機器認証する。
【0034】
次に、ステップ20のCE証明書12の真正確認について説明する。
本実施の形態では、CE証明書12などの証明書を、何らかの方法によって、証明書に含まれている情報が正しい情報であると確認できる電子情報をいうものとする。
このように、証明書中の内容が正しいものであるということを確認する方法としては、例えば、証明書を信頼できる認証機関の発行する秘密鍵で署名するものがある。
【0035】
この方法では、証明書の提供者(以下、提供者、CE機器9に相当する)と証明書の受領者(以下、受領者、サービスサーバ7に相当する)、及び証明書に署名する認証機関が存在する。
まず、提供者は、証明書によって証明したいメッセージを認証機関に提出する。
認証機関は、認証機関用の秘密鍵と公開鍵のペアを持っており、提供者から提出されたメッセージのハッシュ値を生成した後、これを秘密鍵で暗号化する。この秘密鍵で暗号化された情報が署名となる。
認証機関は、メッセージに署名を貼付して証明書とし、これを提供者に発行する。
【0036】
一方、提供者からこの証明書を受領した受領者は、認証機関の提供する公開鍵により署名を復号化する。認証機関の公開鍵で復号化できる情報は、認証機関の秘密鍵で暗号化された情報に限られるので、認証機関の公開鍵により署名が復号できたことで、この証明書が認証機関により認証されたものであることを確認することができる。
次に、受領者は、証明書中のメッセージのハッシュ値を生成し、署名から復号化されたハッシュ値と照合する。
両者が一致することにより、メッセージが改竄されていないことを確認することができる。
【0037】
このように、証明書の受領者は、署名が認証機関の公開鍵で復号化できることにより、証明書が認証機関から発行されたものであることを確認することができ、更に、ハッシュ値を比較することによりメッセージが改竄されていないことを確認することができる。
【0038】
なお、ハッシュ値とは、ハッシュ関数と呼ばれる一方向性関数により、メッセージを変換した変換値であり、メッセージが同じであれば同じ変換値が得られ、メッセージが異なれば、変換値も異なるようになっている。そのため、ハッシュ値を比較することにより、メッセージの改竄を検出することができる。
また、ハッシュ関数は、変換値から元のメッセージを復元する逆変換が困難なように構成されている。
【0039】
以上と同様にして、サービスサーバ7は、CE証明書12に含まれている署名を用いてCE証明書12の真正を確認することができる。
即ち、サービスサーバ7は、CE証明書12に含まれる署名を復号化する公開鍵と、メッセージを比較するためのハッシュ値生成手段を備えていればよい。
なお、以上の方法は一例であり、CE証明書12の真正が確認できるものであれば採用することができる。
【0040】
ところで、証明書の真正を証明する証明書が存在し、更に、その証明書の真正を証明する証明書が存在するといったように信頼チェーンが形成されている場合がある。この場合は、サービスサーバ7が信頼チェーンのパスの検証を行う。
【0041】
例えば、図4に示したような信頼チェーンが形成されている場合、サービスサーバ7は、図中の太線で示したようにパスを辿って行き、CE証明書12の信頼チェーンがルート証明書13につながっていることを確認する。つながっていない場合、CE証明書12は信用できないことになる。
ルート証明書13とは、信頼できる機器認証機関が発行した証明書である。
【0042】
あるいは、サービスサーバ7が、CE証明書12の信頼チェーンがルート証明書13につながっていることを検証するサービスを提供する検証サービスサーバに確認作業を委託するように構成することもできる。
検証サービスサーバは、サービスサーバ7の運営者と信頼関係のある者によって運営されているサーバであり、図4に示したのと同様にしてCE証明書12の信頼チェーンがルート証明書13につながるか確認する。
このように、CE証明書12の真正確認作業を外部に委託することにより、サービスサーバ7は、CE証明書12確認機能を備える必要がなくなる。
【0043】
以上のように、本実施の形態では、サービスサーバ7は、CE機器9から取得したCE証明書12の真正を確認することができ、更に、CE機器9がCE証明書12中のCE公開鍵に対応するCE秘密鍵を所有していることを確認することができるため、第三者によるなりすましを防止することができ、CE機器9を適切に機器認証することができる。
【0044】
即ち、たとえ、第三者がCE証明書12を複製して他のCE機器で使用したとしても、このCE機器は、CE証明書12のCE公開鍵に対応するCE秘密鍵を記憶していないため、サービスサーバ7から機器認証を受けることができない。
また、CE秘密鍵は、耐タンパチップ10に格納されているため、第三者に奪取されて使用されることはない。
【0045】
次に、CE機器9の製造方法について説明する。
本実施の形態では、耐タンパチップ工場で、CE秘密鍵を埋め込んだ耐タンパチップ10を製造し、組立工場でこのチップをCE機器9本体に埋め込む。
また、鍵管理システムでCE証明書12を生成し、これを組立工場にてCE機器9に記憶させる。
【0046】
図5は、CE機器9に機器認証関係の情報を埋め込む工程を説明するためのフローチャートである。
まず、耐タンパチップ工場システムは、鍵管理システムに対し、機器IDの利用枠を要求する(ステップ40)。
鍵管理システムは、機器IDを管理しており、耐タンパチップ工場システムから要求があった場合に、要求分の機器IDを耐タンパチップ工場システムに提供するようになっている。
【0047】
鍵管理システムは、耐タンパチップ工場システムからの要求を受け、機器IDの振り出しを行う(ステップ50)。
耐タンパチップ工場システムは、鍵管理システムから機器IDを受信すると共に、CE公開鍵とCE秘密鍵のペアを生成する(ステップ42)。
【0048】
次に、耐タンパチップ工場システムは、ステップ42で受信した機器IDと、精製したCE秘密鍵を耐タンパチップ10に埋め込む(ステップ44)。
なお、耐タンパチップ工場システムは、秘密鍵を耐タンパチップ10に埋め込んだ後、耐タンパチップ工場システム内の秘密鍵は安全に消去する。
【0049】
耐タンパチップ10は、この埋め込み作業により、CE秘密鍵と機器IDを記憶し(ステップ70)、組立工場に出荷され、組立工場にて、CE機器9に組み込まれる。
一方、耐タンパチップ工場システムは、鍵管理システムに、ステップ44で耐タンパチップ10に埋め込んだ機器IDと、ステップ42で生成したCE公開鍵を送信し、埋め込み完了報告を行う(ステップ46)。
【0050】
鍵管理システムは、耐タンパチップ工場システムから受信した機器IDとCE公開鍵を用いてCE証明書12を作成し(ステップ52)、組立工場システムに配布する(ステップ54)。
この場合、鍵管理システムがCE証明書12の機器認証機関として機能している。
組立工場システムは、鍵管理システムから配布されたCE証明書12を、CE機器9に組み込むために保管する。
【0051】
組立工場システムは、CE機器9に対して機器IDの提供を要求する(ステップ60)。
なお、組立工場システムは、コネクタなどにより、CE機器9と接続し、CE機器9と通信できるものとする。
また、このとき、耐タンパチップ10は、既にCE機器9に組み込まれており、機器認証モジュール11からアクセス可能となっているものとする。
機器認証モジュール11は、組立工場システムからの要求に対し、耐タンパチップ10に機器IDの提供を要求する(ステップ82)。
【0052】
これに応じて、耐タンパチップ10は、機器認証モジュール11に機器IDを提供する(ステップ74)。
機器認証モジュール11は、耐タンパチップ10から機器IDを取得し、組立工場システムに提供する(ステップ84)。
【0053】
組立工場システムは、CE機器9から取得した機器IDと、ステップ54で配布されたCE証明書12に含まれる機器IDとを照合し、CE機器9から提供された機器IDと合致するCE証明書12をCE機器9の記憶装置に埋め込む(ステップ62)。
CE機器9は、このCE証明書12を記憶する(ステップ86)。
【0054】
以上のようにして、CE機器9に、CE秘密鍵を記憶した耐タンパチップ10と、CE公開鍵を含むCE証明書12を埋め込むことができる。
【0055】
次に、CE機器9に埋め込んだCE証明書12の更新手順について説明する。
CE証明書12には有効期限が設定されているため、有効期限後もCE証明書12による機器認証を利用するには、CE証明書12を更新する必要がある。
【0056】
図6は、CE証明書12の更新手順を説明するためのフローチャートである。
まず、機器認証モジュール11は、耐タンパチップ10に対して機器IDの提供を要求する(ステップ120)。
これに対し、耐タンパチップ10は、機器認証モジュール11に機器IDを提供する(ステップ110)。
機器認証モジュール11は、耐タンパチップ10から機器IDを取得し、これを鍵管理システムに送信する(更新要求送信手段)(ステップ122)。
【0057】
鍵管理システムは、CE機器9から機器IDを受信し(発行要求受信手段)、この機器IDに対応するCE公開鍵を取得する(ステップ100)。
鍵管理システムは、ステップ46(図5)で耐タンパチップ工場システムから送信されてきた機器IDとCE公開鍵の組合せを記憶しており、これを用いてCE公開鍵を特定する。
【0058】
次に、鍵管理システムは、CE機器9から受信した機器IDと、ステップ100で取得したCE公開鍵を用いて新規のCE証明書12を生成する(ステップ102)。
【0059】
次に、鍵管理システムは、生成した新規のCE証明書12を鍵管理システムの秘密鍵で署名し(ステップ104)、CE機器9に送信する(更新公開鍵確認情報送信手段)(ステップ106)。
CE機器9は、この新規のCE証明書12を受信し(更新公開鍵確認情報受信手段)、機器認証モジュール11が新規のCE証明書12を用いて古いCE証明書12を上書きする(更新手段)(ステップ124)。
以上のようにして、有効期限の切れたCE証明書12を更新することができる。
【0060】
次に、CE機器9とサービスサーバ7との証明書を用いた相互認証について説明する。
先に、図3のフローチャートで説明した機器認証では、サービスサーバ7側がCE機器9を機器認証した後、CE機器9にサービスの提供を開始している。
【0061】
これに対し、相互認証では、サービスサーバ7からCE機器9を機器認証すると共に、CE機器9もサービスサーバ7が適切なサーバ装置であるか否かを認証する。
そして、両者の認証が成功した後、サービスサーバ7はサービスの提供を開始する。
【0062】
以下に、図7、及び図8のフローチャートを用いて相互認証の手順について説明する。
【0063】
図7は、相互認証において、サービスサーバ7がCE機器9を機器認証する手順を説明するためのフローチャートである。
ステップ2からステップ36までの各ステップは、図3と同様であるので説明を省略する。
【0064】
サービスサーバ7は、ステップ36においてCE機器9の機器認証に成功した後、第2のセッションID(以下、セッションID#2)を生成し、サービスサーバ7側の証明書(以下、SP証明書)と、セッションID#2をCE機器9に送信する(サーバ公開鍵送信手段)(ステップ39)。
また、サービスサーバ7は、セッションID#2を生成する際に、セッションID#2とセッション鍵の対応関係を記憶しておく。
【0065】
これは、後にCE機器9からセッションID#2が送信されてきた場合に(図8のステップ150)、対応するセッション鍵を取得するためである。
また、ここで、サービスサーバ7がCE機器を認証するプロセスで生成されたセッションID#1と異なるセッションID#2を改めて生成している。同じセッションID番号を用いても良いが、異なるセッションID番号を用いることによって、どの認証プロセスを行なっているかが容易に確認できる。
また、サービスサーバ7は、機器認証機関から発行されたSP証明書を記憶しており、このSP証明書には、サービスサーバ7の公開鍵(以下、SP公開鍵)が含まれているものとする。
SP証明書により、SP公開鍵が真正であることを機器認証機関が保証している。
更に、サービスサーバ7は、SP公開鍵に対応するSP秘密鍵を記憶しているものとする。
【0066】
図8は、サービスサーバ7がSP証明書とセッションID#2をCE機器9に送信した後、CE機器9がサービスサーバ7をSP証明書により認証する手順を説明するためのフローチャートである。
まず、CE機器9では、機器認証モジュール11が、サービスサーバ7から受信したSP証明書の真正を確認する(サーバ公開鍵確認手段)(ステップ130)。確認方法は、サービスサーバ7がCE機器9のCE証明書12の真正を確認する方法と同じである(図3のステップ20)。
【0067】
次に、機器認証モジュール11は、乱数(乱数Bとする)を生成し(ステップ132)、これをSP証明書に含まれているSP公開鍵で暗号化する(ステップ134)。この結果、暗号化(乱数B)が生成される。ここで、乱数Bは、第2のコード情報に対応する。
【0068】
次に、機器認証モジュール11は、暗号化(乱数B)をセッション鍵で更に暗号化する(ステップ136)。また、機器認証モジュール11は、後にステップ156でサービスサーバ7が送信してくる乱数Bと比較するために乱数Bを記憶しておく。
【0069】
ここで、暗号化された情報Aである暗号化(情報A)が、更に暗号化された場合、これを再度暗号化(情報A)などと記すことにする。このように表記方法を定義すると、ステップ136により生成された情報は、再度暗号化(乱数B)と表される。
再度暗号化(乱数B)は、第2の暗号化秘密情報を構成し、SP公開鍵とセッション鍵を用いて暗号化されている(第2の暗号化秘密情報生成手段)。
【0070】
次に、機器認証モジュール11は、再度暗号化(乱数B)と、セッションID#2をサービスサーバ7に送信する(第2の暗号化秘密情報送信手段)(ステップ138)。
サービスサーバ7は、これを受信し(第2の暗号化秘密情報受信手段)、セッションID#2からセッション鍵を取得する(ステップ150)。
【0071】
次に、サービスサーバ7は、このセッション鍵で再度暗号化(乱数B)を復号化して暗号化(乱数B)を取得し(ステップ152)、更に、これをSP秘密鍵で復号化して乱数Bを取得する(第2のコード情報復号化手段)(ステップ154)。
【0072】
次に、サービスサーバ7は、第3のセッションID(以下、セッションID#3)を生成し、復号化した乱数BとセッションID#3をCE機器9に送信する(第2のコード情報送信手段)(ステップ156)。
CE機器9は、サービスサーバ7からセッションID#3と復号化した乱数B(第2の復号化確認情報)を受信する(第2の復号化確認情報受信手段)。
CE機器9では、機器認証モジュール11が先に記憶しておいた乱数Bと、サービスサーバ7から受信した乱数Bを比較し、同一のものであるか否かを判断する(第2の復号化確認手段)(ステップ140)。
【0073】
同一のものであった場合、サービスサーバ7の認証に成功したことになり、同一のものでなかった場合、認証に失敗したことになる。
即ち、乱数Bが同一のものであった場合、サービスサーバ7が再度暗号化(乱数B)から乱数Bを取り出せたということになる。
【0074】
これは、サービスサーバ7が、セッションID#2に対応付けられたセッション鍵を所有すると共に、SP証明書に含まれるSP公開鍵に対応する秘密鍵を所有していることを意味し、これにより、CE機器9は、サービスサーバ7が正当なサーバ装置であることを確認することができるためである。
【0075】
ここでは、サービスサーバ7の認証に成功したものとし、機器認証モジュール11は、相互認証処理を完了し、セッションの開始をサービスサーバ7に要求する(ステップ142)。
これに対し、サービスサーバ7は、サービスの提供を開始する(ステップ158)。
【0076】
以上に、説明したような相互認証を用いると、サービスサーバ7がCE機器9を機器認証するのみならず、CE機器9もサービスサーバ7の正当性を認証することができる。
このため、CE機器9が、サービスサーバ7になりすました第三者の運営するサービスサーバに接続するのを防ぐことができる。
サービスサーバ7は、CE機器7と相互認証処理が行なわれるとセッションID#3を新たに生成して送信している。先述したように、セッションID番号は同一のものを用いても良いが、セッションID番号を変えることによって、認証プロセスの確認も可能となる。ここでは、例えば、セッションID#3を保有するCE機器7は相互認証が完了しているため、サービスサーバ7はCE機器7に対してサービス提供可能であることが分かる。
【0077】
なお、本実施の形態では、乱数BをSP公開鍵で暗号化した後、セッション鍵で再度暗号化したが、逆に、セッション鍵で暗号化した後、SP公開鍵で再度暗号化するように構成することもできる。
また、CE機器9では、単に、乱数BをSP公開鍵で暗号化し、これをサービスサーバ7がSP秘密鍵で復号化することにより、機器認証するように構成することもできる。
【0078】
図9は、CE機器9のハードウェア的な構成の一例を示した図である。
CPU(Central Processing Unit)121は、ROM(Read Only Memory)122に記憶されているプログラムや、記憶部128からRAM(Random Access Memory)123にロードされたプログラムに従って各種の処理を実行する中央処理装置である。
【0079】
ROM122は、CE機器9を機能させる上で必要な基本的なプログラムやパラメータなどが記憶されている。
RAM123は、CPU121が各種の処理を実行する上で必要なワーキングエリアを提供する。
【0080】
記憶部128は、CE機器9が機能するために必要な各プログラムやデータを記憶しており、例えば、ハードディスクや半導体メモリなどの記憶装置により構成されている。
【0081】
記憶部128に記憶されている情報としては、例えば、機器認証用の証明書や、機器認証モジュール11を構成するための機器認証プログラム、ファイルの入出力を行ったり、CE機器9の各部を制御したりなど、基本的な機能を実現するためのOS(Operating System)などがある。
機器認証プログラムがCPU121により実行されると、機器認証モジュール11が構成される。
【0082】
耐タンパチップ10は、CE秘密鍵を記憶している他、このCE秘密鍵を用いた暗号化、及び復号化処理を行う。
外部から暗号化命令と暗号化する情報を入力すると、CE秘密鍵により暗号化された情報を出力し、また、復号化命令と復号化する情報を入力すると、CE秘密鍵により復号化された情報を出力する2つの動作モードを有している。
【0083】
また、耐タンパチップ10は、一種のブラックボックスとなっており、内部の論理構造やCE秘密鍵は外部からわからないようになっている。
更に、耐タンパチップ10を物理的に分解して内部を調べようとした場合、内部の情報が自動的に破壊されるように、構成することもできる。
このように、耐タンパチップ10は、複製、改竄防止処置がとられたICチップである。
【0084】
CPU121、ROM122、RAM123、及び耐タンパチップ10は、バス124を介して相互に接続されている。このバス124には、入出力インターフェース125も接続されている。
【0085】
入出力インターフェース125には、キーボード、マウスなどよりなる入力部126、CRT(Cathode−ray Tube)、LCD(LiquidCrystal Display)などよりなるディスプレイ、並びにスピーカなどによりなる出力部127、ハードディスクなどにより構成される記憶部128、モデム、ターミナルアダプタなどにより構成される通信部129が接続されている。
【0086】
通信部129は、ネットワークを介しての通信処理を行う機能部であり、例えば、サービスサーバ7と接続して機器認証関係の情報を送受信したり、あるいは、サービスサーバ7から提供されるサービスデータを受信したりする。
【0087】
また、入出力インターフェース125には、必要に応じてドライブ130が接続され、磁気ディスク141、光ディスク142、光磁気ディスク143、又はメモリカード144などが適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部128にインストールされる。
なお、サービスサーバ7の構成は基本的にCE機器9と同様であるので説明は省略する。
【0088】
以上に説明した本実施の形態により、次のような効果を得ることができる。
(1)CE証明書12を用いてCE機器9とサービスサーバ7を運営するサービスプロバイダ間で信頼関係を築くことにより、サービスサーバ7での機器認証を行い、CE機器9の真正を確認することができる。
(2)サービスサーバ7で機器認証を行うことにより、集中管理型の機器認証サーバを用いる必要がなく、機器認証に伴うシステムの負荷を分散することができる。
【0089】
(3)CE秘密鍵の格納に耐タンパチップ10を用いることにより、セキュリティを高めることができ、なりすましなどの不正利用を防止することができる。
(4)CE機器9は、CE証明書12をダウンロードして更新することができ、証明書失効に伴う煩雑な処理を軽減することができる。
する。
【0090】
(5)サービスサーバ7は、セッション鍵をCE公開鍵で暗号化してCE機器9に送信し、セッション鍵を共通鍵として使用することにより、セキュリティレベルを強化することができる。
(6)CE証明書12のCE公開鍵が信頼される認証機関から発行された者であることを確認することで信頼性を高めることができる。
(7)相互認証を行うことにより、サービスサーバ7がCE機器9を機器認証するのみならず、CE機器9もサービスサーバ7を認証することができる。
【0091】
(8)CE秘密鍵と、CE公開鍵のペアはCE機器9で管理するため、他にCE秘密鍵と、CE公開鍵を一括管理するシステムは必要ない。
そのため、例え、ユーザがCE機器9を廃棄したり、新規にCE機器9を購入したとしても、これに伴ってサービス提供システム側の調整は必要ない。
特に、CE機器9は、市場に大量に出回るため、これらのCE秘密鍵と、CE公開鍵を他のシステム(例えば、公開鍵の真正を保証する機器認証機関が運営するシステム)などで管理するのは困難である。
【0092】
【発明の効果】
本発明によれば、機器認証を行う機能を分散させることができ、機器認証に伴うサービス提供システムの負荷の集中を低減することができる。
【図面の簡単な説明】
【図1】本実施の形態のサービス提供システムの構成の一例を示した図である。
【図2】本実施の形態のCE機器の論理的な構成を説明するための図である。
【図3】サービスサーバがCE機器の機器認証を行う手順を説明するためのフローチャートである。
【図4】信頼チェーンの一例を説明するための図である。
【図5】CE機器に機器認証関係の情報を埋め込む工程を説明するためのフローチャートである。
【図6】CE証明書の更新手順を説明するためのフローチャートである。
【図7】相互認証の手順を説明するためのフローチャートである。
【図8】相互認証の手順を説明するためのフローチャートである。
【図9】CE機器のハードウェア的な構成の一例を示した図である。
【図10】従来のサービス提供システムの構成の一例を示した図である。
【符号の説明】
7 サービスサーバ 9 CE機器
10 耐タンパチップ 11 機器認証モジュール
12 CE証明書
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a device authentication system and the like, and more particularly to a device authentication performed by each service server by using a digital certificate.
[0002]
[Prior art]
In recent years, the spread of CE (Consumer Electronics) equipment has been spreading. A CE device is a device that has a built-in computer in an audio-visual device such as a video deck, stereo, or TV, a household appliance such as a rice cooker or a refrigerator, or other electronic devices, and can use services via a network. is there.
For this reason, device authentication information for device authentication is built in the CE device, and the service server that provides the service provides the CE device with the service after performing device authentication on the device authentication server. It is configured.
[0003]
FIG. 10 is a diagram illustrating an example of a configuration of a conventional service providing system.
The service servers 107, 107,... Are server devices that provide services to the CE device 109.
When receiving the service from the service servers 107, 107,..., The CE device 109 first authenticates the device with the device authentication server 105, and transmits the device authentication result to the service servers 107, 107,.
[0004]
On the other hand, the service servers 107, 107,... Inquire the device authentication server 105 about the device authentication result in order to check whether the device authentication result received from the CE device 109 is correct. If the device authentication result is confirmed to be correct, the service servers 107, 107,... Provide a service to the CE device 109.
As described above, the invention in which the authentication server authenticates the client includes the following.
The invention disclosed in this document performs user authentication using a public key / private key pair.
[0005]
[Patent Document 1]
JP 2001-236321 A
[0006]
In the present invention, first, the client side owns the secret key, and the authentication server side owns the public key corresponding to the user.
Then, the random number (code) generated in the authentication server is encrypted with the public key and then transmitted to the client. Then, the client is authenticated by judging whether or not the encrypted random number can be correctly decrypted with the secret key.
[0007]
In the present invention, the public key that is paired with the secret key is collectively managed by a specific server device.
Therefore, it is not always efficient as an authentication method for CE devices that are marketed in large quantities and are produced and discarded every day.
This is because, in the present invention, as the CE device is produced, discarded, and the owner is transferred, the public key that is collectively managed must be updated each time, and maintenance of the public key is costly and labor-intensive. It is.
[0008]
[Problems to be solved by the invention]
However, the conventional service providing system has a problem that device authentication is concentrated on the device authentication server 105.
For this reason, a load may be concentrated on the device authentication server 105, and it may be difficult to perform device authentication efficiently.
[0009]
Therefore, an object of the present invention is to reduce the concentration of device authentication load by distributing the device authentication function.
[0010]
[Means for Solving the Problems]
In order to achieve the above object, the present invention is a service providing system comprising a terminal device and a service providing server that authenticates each other with the terminal device and provides a service to the terminal device. Issued by the device authentication authority used to confirm that the terminal private key, the terminal public key paired with the terminal private key, and the terminal public key are recognized by a predetermined device authentication authority Terminal public key confirmation information stored therein, and when the service providing server is requested to provide a service, the stored terminal public key and terminal public key confirmation information are stored in the service providing server. The service providing server uses the terminal public key confirmation information to confirm that the terminal public key is approved by the device authentication authority, and First secret secret information is generated by encrypting the secret information with the confirmed terminal public key using a common key shared between the device and the service providing server as secret information, and first ID information And the first code information and the common key are stored in association with each other, and the first encrypted secret information, the first ID information, and the first code information are stored in the terminal. The terminal device acquires the common key which is the secret information by decrypting the received first encrypted secret information using the stored terminal secret key, and the terminal device Using the acquired common key, the service providing server confirms that the first code information is encrypted, and the terminal device decrypts the encrypted first code information. First decryption confirmation for The first decryption confirmation information and the first ID information generated are transmitted to the service providing server, and the service providing server uses the received first ID information, The first code information associated with the first ID information and the common key are acquired, and the received first decryption confirmation information is encrypted using the common key. The terminal device authenticates the terminal device by comparing the first code information and confirming that the secret information has been decrypted from the transmitted first encrypted secret information in the terminal device. A server private key, a server public key paired with the server private key, server public key confirmation information used to confirm that the server public key is approved by a predetermined device authentication authority, Remember The second ID information and the common key are stored in association with each other, and the stored server public key, server public key confirmation information, and second ID information are transmitted to the terminal device. The terminal device uses the server public key confirmation information to confirm that the received server public key is recognized by the device certification authority, and confirms one of the confirmed server public key and the common key. After encrypting the second code information using the second code information, the second code secret information is generated by further encrypting using the other, and the generated second encrypted secret information, Second ID information is transmitted to the service providing server, and the service providing server obtains the common key associated with the second ID information from the received second ID information, The received second cipher The second code information is obtained by decrypting the secret information using one of the common key and the stored server secret key, and further decrypted using the other, and the obtained second code Is transmitted to the terminal device as second decoding confirmation information for the terminal device to confirm that the service providing server has decrypted the second code information, and the terminal device The received second decryption confirmation information is compared with the stored second code information, and the second code information is obtained from the second encrypted secret information transmitted by the service providing server. A service providing system is provided that authenticates the service providing server by confirming that the data has been decrypted, and requests the service providing server to provide the service. 1 configuration).
Further, the present invention is a service providing server for providing a service after mutual device authentication with a terminal device, wherein the terminal device includes a terminal secret key, a terminal public key paired with the terminal secret key, Terminal public key confirmation information used for confirming that the terminal public key is approved by a predetermined device certification authority, and storing the terminal public key and the terminal public key from the terminal device Public key receiving means for receiving key confirmation information, and terminal public key confirmation means for confirming that the received terminal public key is recognized by the device authentication authority using the received terminal public key confirmation information And using the common key shared between the terminal device and the service providing server as secret information, and generating first encrypted secret information obtained by encrypting the secret information using the confirmed terminal public key. First ID information, first code information, and the common key are stored in association with each other, and then the first encrypted secret information, the first ID information, and the first ID information are stored. Encrypted secret information transmitting means for transmitting the code information to the terminal device, and a first unit for confirming that the secret information has been decrypted from the transmitted first encrypted secret information from the terminal device. The decoding confirmation information receiving means for receiving the first decoding confirmation information and the first ID information, and the first ID information associated with the first ID information from the received first ID information. The code information and the common key are obtained, and the received first decryption confirmation information is compared with the first code information that is encrypted with the common key. From the transmitted first encrypted secret information in the terminal device, Decryption confirmation means for confirming that secret information has been decrypted, a server private key, a server public key that forms a pair with the server private key, and the server public key that has been approved by a predetermined device authentication authority And storing the server public key confirmation information used for confirming that the key information storage means, the second ID information, and the common key are stored in association with each other. The terminal device transmits the public key, the server public key confirmation information, and the second ID information to the terminal device, and the terminal device transmits the public key, corresponding to the transmitted server public key. Encrypted secret information receiving means for receiving the second encrypted secret information and the second ID information;
The common key associated with the second ID information is acquired from the received second ID information, and the received second encrypted secret information is used as the common key and the stored server secret key. The code information decoding means for acquiring the second code information by decoding using the other, and further providing the service with the acquired second code information. Decoding confirmation information transmitting means for transmitting to the terminal device as second decoding confirmation information for the terminal device to confirm that the server has decrypted the second code information. A characteristic service providing server is provided (second configuration).
The present invention also provides: A terminal secret key, a terminal public key paired with the terminal secret key, and a terminal public key confirmation information used for confirming that the terminal public key is recognized by a predetermined device authentication authority, Remember A device authentication program that implements a mutual device authentication function with a service providing server configured by a computer that provides services after mutual device authentication with a terminal device, Computer Public key reception for receiving the terminal public key and the terminal public key confirmation information from the terminal device means And terminal public key confirmation for confirming that the received terminal public key is recognized by the device authentication authority using the received terminal public key confirmation information. means And generating a first encrypted secret information obtained by encrypting the secret information using the confirmed terminal public key, with a common key shared between the terminal device and the service providing server as secret information, The ID information, the first code information, and the common key are stored in association with each other, and then the first encrypted secret information, the first ID information, and the first code information are stored. And transmitting the encrypted secret information to the terminal device means Receiving, from the terminal device, first decryption confirmation information for confirming that the secret information has been decrypted from the transmitted first encrypted secret information, and the first ID information. Decryption confirmation information received means The first code information associated with the first ID information and the common key are obtained from the received first ID information, and the received first decryption confirmation information And the first code information encrypted by itself using the common key, and the secret information is decrypted from the transmitted first encrypted secret information in the terminal device. Confirm the decryption means A server private key, a server public key paired with the server private key, and server public key confirmation information used for confirming that the server public key has been approved by a predetermined device authentication authority; , Memorize key information means And the second ID information and the common key are stored in association with each other, and the stored server public key, the server public key confirmation information, and the second ID information are stored in the terminal device. Server public key transmission to send to means And receiving the second encrypted secret information transmitted by the terminal device and the second ID information corresponding to the transmitted server public key. means And acquiring the common key associated with the second ID information from the received second ID information, and storing the received second encrypted secret information with the common key and the stored server. Code information decryption for obtaining the second code information by decrypting with one of the secret keys and further decrypting with the other means Then, the obtained second code information is transmitted to the terminal device as second decoding confirmation information for the terminal device to confirm that the service providing server has decrypted the second code information. Send decryption confirmation information to be sent means , To function as A device authentication program is provided (third configuration).
The present invention also provides: A terminal secret key, a terminal public key paired with the terminal secret key, and a terminal public key confirmation information used for confirming that the terminal public key is recognized by a predetermined device authentication authority, Remember A storage medium storing a device authentication program for realizing a mutual device authentication function in a service providing server configured by a computer that provides a service after mutual device authentication with a terminal device, Computer Public key reception for receiving the terminal public key and the terminal public key confirmation information from the terminal device means And terminal public key confirmation for confirming that the received terminal public key is recognized by the device authentication authority using the received terminal public key confirmation information. means And generating a first encrypted secret information obtained by encrypting the secret information by using the confirmed terminal public key with a common key shared between the terminal device and the service providing server as secret information, The ID information, the first code information, and the common key are stored in association with each other, and then the first encrypted secret information, the first ID information, and the first code information are stored. And transmitting the encrypted secret information to the terminal device means Receiving, from the terminal device, first decryption confirmation information for confirming that the secret information has been decrypted from the transmitted first encrypted secret information, and the first ID information. Decryption confirmation information received means The first code information associated with the first ID information and the common key are obtained from the received first ID information, and the received first decryption confirmation information And the first code information encrypted by itself using the common key, and the secret information is decrypted from the transmitted first encrypted secret information in the terminal device. Confirm the decryption means A server private key, a server public key paired with the server private key, and server public key confirmation information used for confirming that the server public key has been approved by a predetermined device authentication authority; , Memorize key information means And the second ID information and the common key are stored in association with each other, and the stored server public key, the server public key confirmation information, and the second ID information are stored in the terminal device. Server public key transmission to send to means And receiving the second encrypted secret information transmitted by the terminal device and the second ID information corresponding to the transmitted server public key. means And acquiring the common key associated with the second ID information from the received second ID information, and storing the received second encrypted secret information with the common key and the stored server. Code information decryption for obtaining the second code information by decrypting with one of the secret keys and further decrypting with the other means Then, the obtained second code information is transmitted to the terminal device as second decoding confirmation information for the terminal device to confirm that the service providing server has decrypted the second code information. Send decryption confirmation information to be sent means , To function as A computer-readable storage medium storing a device authentication program is provided (fourth configuration).
In the present invention, a terminal secret key storage unit that stores a terminal secret key, a terminal public key that forms a pair with the terminal secret key, and the terminal public key are recognized by a predetermined device authentication authority. The terminal public key storage means for storing the terminal public key confirmation information, and the service providing server, when requesting the provision of the service, the stored terminal public key and the terminal public key confirmation information. A terminal public key transmitting means for transmitting to the service providing server; first encrypted secret information returned from the service providing server in response to the transmitted terminal public key and terminal public key confirmation information; Encrypted secret information receiving means for receiving the first ID information and the first code information, and decrypting the received first encrypted secret information with the stored terminal secret key Confirming that the service providing server has decrypted the secret information by using the decrypting means for acquiring a common key shared by the terminal device and the service providing server, which is information, and the acquired common key In order to do this, the first code information is encrypted using the acquired common key, and the encrypted first code information is generated as the first decryption confirmation information. A decryption confirmation information transmitting means for transmitting the generated first decryption confirmation information and the first ID information to the service providing server, a server secret key, and the server secret key. And a server public key confirmation information used for confirming that the server public key is recognized by a predetermined device authentication authority. Server public key receiving means for receiving the server public key, the server public key confirmation information, and the second ID information from the server, and the received server public key using the received server public key confirmation information. After encrypting the second code information using one of the confirmed server public key and the common key, a server public key confirming means for confirming that the key is approved by the device certification authority, Encrypted secret information generating means for generating second encrypted secret information by further encrypting using the other, the generated second encrypted secret information, and the second ID information, To confirm that the second code information is decrypted from the encrypted secret information transmitting means for transmitting to the service providing server and the second encrypted secret information transmitted by the service providing server. The decoding confirmation information receiving means for receiving the second decoding confirmation information from the service providing server, comparing the received second decoding confirmation information with the stored second code information, There is provided a terminal device comprising: a decryption confirmation means for confirming that the second code information is decrypted from the transmitted second encrypted secret information by the service providing server. (Fifth configuration).
Further, the present invention is a device authentication program for realizing a mutual device authentication function by a computer constituting a terminal device, Computer Terminal secret key memory for storing terminal secret key means A terminal public key paired with the terminal secret key, and a terminal public key confirmation information used for confirming that the terminal public key is recognized by a predetermined device authentication authority Public key memory means Terminal public key transmission for transmitting the stored terminal public key and terminal public key confirmation information to the service providing server when requesting the service providing server to provide the service means Corresponding to the transmitted terminal public key and terminal public key confirmation information, first encrypted secret information returned from the service providing server, first ID information, first code information, , Receive encrypted secret information means And decrypting the received first encrypted secret information with the stored terminal secret key to obtain a common key shared by the terminal device and the service providing server, which is secret information means And using the acquired common key to encrypt the first code information using the acquired common key in order to confirm that the service providing server has decrypted the secret information. Decryption confirmation information generation for generating the encrypted first code information as first decryption confirmation information means Decryption confirmation information transmission for transmitting the generated first decryption confirmation information and the first ID information to the service providing server means A server private key, a server public key paired with the server private key, and server public key confirmation information used for confirming that the server public key has been approved by a predetermined device authentication authority; Server public key reception for receiving the server public key, the server public key confirmation information, and the second ID information from the service providing server storing means And a server public key confirmation that uses the received server public key confirmation information to confirm that the received server public key has been approved by the device certification authority. means And encrypting the second code information using one of the confirmed server public key and the common key, and further encrypting the second code information using the other, thereby generating second encrypted secret information Secret information generation means And transmitting the generated second encrypted secret information and the second ID information to the service providing server. means And receiving from the service providing server second decryption confirmation information for confirming that the second code information has been decrypted from the transmitted second encrypted secret information. Decryption confirmation information received means And the received second decryption confirmation information and the stored second code information, and the second code information is obtained from the second encrypted secret information transmitted by the service providing server. Decryption confirmation to confirm that has been decrypted means , To function as A device authentication program is provided (sixth configuration).
Further, the present invention is a storage medium storing a device authentication program for realizing a mutual device authentication function with a computer constituting a terminal device, Computer Terminal secret key memory for storing terminal secret key means A terminal public key paired with the terminal secret key, and a terminal public key confirmation information used for confirming that the terminal public key is recognized by a predetermined device authentication authority Public key memory means Terminal public key transmission for transmitting the stored terminal public key and terminal public key confirmation information to the service providing server when requesting the service providing server to provide the service means Corresponding to the transmitted terminal public key and terminal public key confirmation information, first encrypted secret information returned from the service providing server, first ID information, first code information, , Receive encrypted secret information means And decrypting the received first encrypted secret information with the stored terminal secret key to obtain a common key shared by the terminal device and the service providing server, which is secret information means And using the acquired common key to encrypt the first code information using the acquired common key in order to confirm that the service providing server has decrypted the secret information. Decryption confirmation information generation for generating the encrypted first code information as first decryption confirmation information means Decryption confirmation information transmission for transmitting the generated first decryption confirmation information and the first ID information to the service providing server means A server private key, a server public key paired with the server private key, and server public key confirmation information used for confirming that the server public key has been approved by a predetermined device authentication authority; Server public key reception for receiving the server public key, the server public key confirmation information, and the second ID information from the service providing server storing means And a server public key confirmation that uses the received server public key confirmation information to confirm that the received server public key has been approved by the device certification authority. means And encrypting the second code information using one of the confirmed server public key and the common key, and further encrypting the second code information using the other, thereby generating second encrypted secret information Secret information generation means And transmitting the generated second encrypted secret information and the second ID information to the service providing server. means And receiving from the service providing server second decryption confirmation information for confirming that the second code information has been decrypted from the transmitted second encrypted secret information. Decryption confirmation information received means And the received second decryption confirmation information and the stored second code information, and the second code information is obtained from the second encrypted secret information transmitted by the service providing server. Decryption confirmation to confirm that has been decrypted means , To function as A computer-readable storage medium storing a device authentication program is provided (seventh configuration).
[0011]
DETAILED DESCRIPTION OF THE INVENTION
DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, preferred embodiments of the invention will be described in detail with reference to the drawings.
[Outline of Embodiment]
FIG. 1 is a diagram illustrating an example of a configuration of a service providing system according to the present embodiment.
Service servers 7, 7, 7,... (Hereinafter referred to as service server 7) are server devices that provide services to the CE device 9 via a network.
The CE device 9 stores a digital certificate (hereinafter referred to as a CE certificate) and transmits it to the service server 7.
This CE certificate includes a public key corresponding to the private key held by the CE device 9.
[0012]
The service server 7 receives the public key from the CE device 9 and confirms that the public key is recognized by the device certification authority by the signature of the certificate (described later), and then uses the public key to store the secret information. The data is encrypted and transmitted to the CE device 9.
On the other hand, the CE device 9 decrypts the encrypted secret information with the secret key.
The CE device 9 authenticates the CE device 9 by confirming that the secret information has been decrypted by the CE device 9.
[0013]
That is, only the CE device 9 having a secret key that is paired with this public key can decrypt the secret information encrypted with this public key, and this public key is recognized by the device certification authority. Therefore, device authentication can be performed using a certificate.
[0014]
In this embodiment, a common key (session key) dynamically generated by the service server 7 is used as the secret information. Therefore, after device authentication, the CE device 9 and the service server 7 can share a common key, and efficient service provision using this common key can be performed.
[0015]
Thus, in this embodiment, since device authentication is performed by each service server 7, the device authentication function can be distributed by the service providing system, and concentration of load associated with device authentication can be prevented.
In the present embodiment, since the pair of the secret key and the public key is managed inside the CE device 9, even if the public key distributed in the service providing system fluctuates due to production or disposal of the CE device 9. As a service providing system, it is not necessary to manage this.
Furthermore, although the public key is managed inside the CE device 9, the authenticity of the public key can be secured by a certificate issued by the device certification authority.
[0016]
[Details of the embodiment]
FIG. 2 is a diagram for explaining a logical configuration of the CE device 9 according to the present embodiment.
The CE device 9 includes a tamper-resistant chip 10 as hardware, and stores a CE certificate 12 used for device authentication in a storage device.
The tamper-resistant chip 10 is a tamper-resistant device in which sufficient measures are taken against fraud such as tampering, duplication, and decoding of an internal logical structure, and is configured by an IC chip that stores an integrated circuit.
The tamper resistant chip 10 stores a secret key (hereinafter referred to as a CE secret key) (secret key storage means). The tamper resistant chip 10 receives a request for decryption of information encrypted with a CE public key included in a CE certificate 12 described later, and outputs the decrypted result.
[0017]
The CE certificate 12 is stored in the storage device of the CE device 9 (public key storage means), the device ID of the CE device 9, the public key corresponding to the CE private key (hereinafter referred to as the CE public key), the expiration date, etc. The message is composed of a digital signature (hereinafter referred to as a signature), etc., which is made by the device certification authority to guarantee the authenticity of these messages.
In other words, the service server 7 that has received the CE certificate 12 can confirm that the content included in the CE certificate 12 has been authenticated by the device certification authority by confirming the signature.
[0018]
Therefore, the signature constitutes public key confirmation information for confirming that the CE public key is approved by the device certification authority.
Further, the service server 7 can recognize the device ID of the CE device 9 from the device ID included in the CE certificate 12, and can know the expiration date of the CE public key from the expiration date.
[0019]
The device authentication module 11 is a module that transmits and receives information to and from the service server 7 using the tamper-resistant chip 10 and the CE certificate 12 and causes the service server 7 to perform device authentication of the CE device 9.
[0020]
FIG. 3 is a flowchart for explaining a procedure in which the service server 7 authenticates the CE device 9.
First, the device authentication module 11 transmits the CE certificate 12 to the service server 7 (step 2).
The device authentication module 11 transmits the public key to the service server 7 using the CE certificate 12. As described above, the CE device 9 includes public key transmission means.
The service server 7 receives the CE certificate 12 from the CE device 9 (public key receiving means), and confirms the authenticity of the CE certificate 12 (step 20).
The service server 7 confirms the authenticity of the CE certificate 12 using the signature, thereby confirming the authenticity of the CE public key (public key confirming means). A specific confirmation method will be described later.
[0021]
Next, the service server 7 generates a session key (step 22).
The session key is used as a common key shared between the service server 7 and the CE device 9 when providing the service.
In order to increase the security level, the session key is dynamically generated and is different every time.
[0022]
The service server 7 extracts the CE public key from the CE certificate 12, and encrypts the session key generated previously using this (step 24).
In this embodiment, the session key is used as secret information. That is, if it is confirmed that the session key is encrypted with the CE public key and decrypted by the CE device 9, the CE device 9 can be authenticated, and the common key can be shared with the CE device 9.
[0023]
Hereinafter, the encrypted information A is referred to as encryption (information A) or the like. If a method for describing the encrypted information is defined in this way, the information generated in step 24 can be expressed as encryption (session key). Encryption (session key) constitutes encryption secret information.
[0024]
Next, the service server 7 generates a session ID and a random number (hereinafter referred to as a random number A) (step 26).
The session ID is ID information used for maintaining the session, and the random number A is code information for confirming that the session key can be decrypted by the CE device 9.
[0025]
Then, the service server 7 stores the session key generated at step 22 in association with the session ID generated at step 26 and the random number A (step 28).
Next, the service server 7 transmits the session ID generated in step 26, the random number A, and the encryption (session key) generated in step 24 to the CE device 9 (encrypted secret information transmission unit).
[0026]
The CE device 9 receives these pieces of information (encrypted secret information receiving means), and the device authentication module 11 requests the tamper resistant chip 10 to decrypt the encryption (session key) (step 4).
The tamper resistant chip 10 decrypts the encryption (session key) to generate a session key, and provides it to the device authentication module 11 (step 10).
In this way, the tamper resistant chip 10 constitutes a decryption means for decrypting the encrypted secret information with the CE secret key.
The device authentication module 11 acquires a session key from the tamper resistant chip 10.
[0027]
Thus, the CE device 9 can share a common key (session key) with the service server 7.
Then, the device authentication module 11 encrypts the random number A received from the service server 7 using this session key, and generates encryption (random number A) (decryption confirmation information generating means) (step 6).
This encryption (random number A) constitutes decryption confirmation information for the service server 7 to confirm that the CE device 9 has successfully decrypted the secret information.
[0028]
The device authentication module 11 transmits the session ID transmitted from the service server 7 in step 30 and the encryption (random number A) generated in step 6 to the service server 7 (decryption confirmation information transmitting means) (step 8).
[0029]
The service server 7 receives the session ID and encryption (random number A) from the CE device 9 (decryption confirmation information receiving means).
Then, the random number A and the session key are acquired from the session ID received from the CE device 9 and the correspondence stored in step 28 (step 32).
[0030]
Next, the service server 7 encrypts the random number A with the session key acquired in step 32, and generates encryption (random number A) (encrypted code information generation means) (step 34).
Then, the service server 7 compares the encryption (random number A) generated in step 34 with the encryption (random number A) received from the CE device 9, and determines whether or not they match (decryption confirmation means). (Step 36).
If the two match, it is determined that the device authentication of the CE device 9 has succeeded, and service provision to the CE device 9 is started (step 38).
If they do not match, it is determined that device authentication of the CE device 9 has failed, and no service is provided to the CE device 9.
[0031]
As described above, the service server 7 can confirm that the CE device 9 possesses the CE private key by confirming that the CE device 9 can decrypt the session key. That is, it can be confirmed that the CE device 9 is a genuine CE device.
In addition, after the device authentication, the service server 7 can provide a service to the CE device 9 by using the session key as a shared key.
[0032]
Furthermore, in the present embodiment, the service server 7 encrypts the session key with the CE public key and transmits it to the CE device 9, so that the CE device 9 and the service server 7 can share the session key as a common key. The security level can be enhanced by configuring the CE server 9 so that the service server 7 confirms the information encrypted by the common key.
In this case, the security level is higher than when the CE device 9 is authenticated by simply confirming that the information encrypted by the service server 7 using the CE public key can be decrypted by the CE device 9 using the private key. .
[0033]
In the present embodiment, the session key is used as secret information. However, for example, code information such as a random number can be used as secret information.
In this case, the service server 7 encrypts the random number with the CE public key and transmits it to the CE device 9.
In response to this, the CE device 9 decrypts the random number with the CE secret key and transmits it to the service server 7.
The service server 7 confirms that the random number received from the CE device 9 is the same as the random number transmitted to the CE device 9, and authenticates the CE device 9.
[0034]
Next, authenticity confirmation of the CE certificate 12 in step 20 will be described.
In the present embodiment, a certificate such as the CE certificate 12 is assumed to be electronic information that can confirm that the information included in the certificate is correct information by some method.
As described above, as a method for confirming that the content of the certificate is correct, for example, there is a method of signing the certificate with a private key issued by a trusted certification authority.
[0035]
In this method, the certificate provider (hereinafter, the provider, corresponding to the CE device 9), the certificate recipient (hereinafter, the receiver, corresponding to the service server 7), and the certification authority that signs the certificate. Exists.
First, the provider submits a message to be certified by a certificate to the certification authority.
The certificate authority has a private key / public key pair for the certificate authority, generates a hash value of the message submitted by the provider, and encrypts it with the secret key. Information encrypted with this secret key is a signature.
The certification authority attaches a signature to the message to give a certificate and issues it to the provider.
[0036]
On the other hand, the recipient who receives this certificate from the provider decrypts the signature with the public key provided by the certification authority. Information that can be decrypted with the public key of the certification authority is limited to information encrypted with the private key of the certification authority, so that the certificate can be authenticated by the certification authority because the signature can be decrypted with the public key of the certification authority. Can be confirmed.
Next, the recipient generates a hash value of the message in the certificate and checks it against the hash value decrypted from the signature.
By matching the two, it can be confirmed that the message has not been tampered with.
[0037]
In this way, the recipient of the certificate can confirm that the certificate is issued by the certificate authority by being able to decrypt the signature with the public key of the certificate authority, and further compare the hash values. By doing so, it can be confirmed that the message has not been tampered with.
[0038]
A hash value is a conversion value obtained by converting a message by a one-way function called a hash function. If the message is the same, the same conversion value is obtained, and if the message is different, the conversion value is also different. It has become. Therefore, it is possible to detect message tampering by comparing hash values.
In addition, the hash function is configured so that it is difficult to perform reverse conversion to restore the original message from the converted value.
[0039]
In the same manner as described above, the service server 7 can confirm the authenticity of the CE certificate 12 by using the signature included in the CE certificate 12.
In other words, the service server 7 only needs to include a public key for decrypting the signature included in the CE certificate 12 and a hash value generation means for comparing the message.
The above method is merely an example, and any method that can confirm the authenticity of the CE certificate 12 can be employed.
[0040]
By the way, there is a case where a trust chain is formed such that there is a certificate that proves the authenticity of the certificate, and there is a certificate that proves the authenticity of the certificate. In this case, the service server 7 verifies the path of the trust chain.
[0041]
For example, when the trust chain as shown in FIG. 4 is formed, the service server 7 follows the path as shown by the thick line in the figure, and the trust chain of the CE certificate 12 is the root certificate 13. Make sure it ’s connected to If it is not connected, the CE certificate 12 cannot be trusted.
The root certificate 13 is a certificate issued by a reliable device certification authority.
[0042]
Alternatively, the service server 7 can be configured to entrust the verification work to a verification service server that provides a service for verifying that the trust chain of the CE certificate 12 is connected to the root certificate 13.
The verification service server is a server operated by a person who has a trust relationship with the operator of the service server 7, and the trust chain of the CE certificate 12 is connected to the root certificate 13 in the same manner as shown in FIG. Make sure.
Thus, by entrusting the authenticity confirmation work of the CE certificate 12 to the outside, the service server 7 does not need to have the CE certificate 12 confirmation function.
[0043]
As described above, in the present embodiment, the service server 7 can confirm the authenticity of the CE certificate 12 acquired from the CE device 9, and the CE device 9 can further confirm the CE public key in the CE certificate 12. Since it is possible to confirm that the CE private key corresponding to is possessed, spoofing by a third party can be prevented, and the CE device 9 can be appropriately authenticated.
[0044]
That is, even if a third party duplicates the CE certificate 12 and uses it on another CE device, the CE device does not store the CE private key corresponding to the CE public key of the CE certificate 12. Therefore, the device authentication cannot be received from the service server 7.
Further, since the CE private key is stored in the tamper resistant chip 10, it is not taken and used by a third party.
[0045]
Next, a method for manufacturing the CE device 9 will be described.
In the present embodiment, the tamper resistant chip 10 in which the CE secret key is embedded is manufactured in the tamper resistant chip factory, and this chip is embedded in the CE device 9 body in the assembly factory.
Further, the CE certificate 12 is generated by the key management system, and is stored in the CE device 9 at the assembly factory.
[0046]
FIG. 5 is a flowchart for explaining a process of embedding device authentication-related information in the CE device 9.
First, the tamper resistant chip factory system requests a device ID usage frame from the key management system (step 40).
The key management system manages the device ID, and when there is a request from the tamper resistant chip factory system, provides the requested device ID to the tamper resistant chip factory system.
[0047]
The key management system receives a request from the tamper-resistant chip factory system and extracts the device ID (step 50).
The tamper resistant chip factory system receives the device ID from the key management system and generates a CE public key and CE private key pair (step 42).
[0048]
Next, the tamper resistant chip factory system embeds the device ID received in step 42 and the refined CE secret key in the tamper resistant chip 10 (step 44).
In the tamper resistant chip factory system, after the secret key is embedded in the tamper resistant chip 10, the secret key in the tamper resistant chip factory system is safely deleted.
[0049]
The tamper resistant chip 10 stores the CE private key and the device ID by this embedding work (step 70), is shipped to the assembly factory, and is incorporated into the CE device 9 at the assembly factory.
On the other hand, the tamper resistant chip factory system transmits the device ID embedded in the tamper resistant chip 10 in step 44 and the CE public key generated in step 42 to the key management system and reports the completion of embedding (step 46).
[0050]
The key management system creates the CE certificate 12 using the device ID and CE public key received from the tamper-resistant chip factory system (step 52) and distributes them to the assembly factory system (step 54).
In this case, the key management system functions as a device certification authority for the CE certificate 12.
The assembly factory system stores the CE certificate 12 distributed from the key management system for incorporation into the CE device 9.
[0051]
The assembly plant system requests the CE device 9 to provide a device ID (step 60).
Note that the assembly factory system is connected to the CE device 9 by a connector or the like and can communicate with the CE device 9.
At this time, the tamper resistant chip 10 is already incorporated in the CE device 9 and is accessible from the device authentication module 11.
In response to the request from the assembly plant system, the device authentication module 11 requests the tamper resistant chip 10 to provide a device ID (step 82).
[0052]
In response to this, the tamper resistant chip 10 provides a device ID to the device authentication module 11 (step 74).
The device authentication module 11 acquires the device ID from the tamper resistant chip 10 and provides it to the assembly factory system (step 84).
[0053]
The assembly factory system collates the device ID acquired from the CE device 9 with the device ID included in the CE certificate 12 distributed in step 54, and matches the device ID provided from the CE device 9. 12 is embedded in the storage device of the CE device 9 (step 62).
The CE device 9 stores the CE certificate 12 (step 86).
[0054]
As described above, the CE device 9 can embed the tamper-resistant chip 10 storing the CE secret key and the CE certificate 12 including the CE public key.
[0055]
Next, a procedure for updating the CE certificate 12 embedded in the CE device 9 will be described.
Since an expiration date is set for the CE certificate 12, it is necessary to update the CE certificate 12 in order to use device authentication by the CE certificate 12 even after the expiration date.
[0056]
FIG. 6 is a flowchart for explaining a procedure for updating the CE certificate 12.
First, the device authentication module 11 requests the tamper resistant chip 10 to provide a device ID (step 120).
On the other hand, the tamper resistant chip 10 provides a device ID to the device authentication module 11 (step 110).
The device authentication module 11 acquires the device ID from the tamper resistant chip 10 and transmits it to the key management system (update request transmitting means) (step 122).
[0057]
The key management system receives the device ID from the CE device 9 (issue request receiving means), and acquires the CE public key corresponding to this device ID (step 100).
The key management system stores the combination of the device ID and the CE public key transmitted from the tamper resistant chip factory system in step 46 (FIG. 5), and uses this to specify the CE public key.
[0058]
Next, the key management system generates a new CE certificate 12 using the device ID received from the CE device 9 and the CE public key acquired in Step 100 (Step 102).
[0059]
Next, the key management system signs the generated new CE certificate 12 with the private key of the key management system (step 104), and transmits it to the CE device 9 (update public key confirmation information transmission means) (step 106). .
The CE device 9 receives this new CE certificate 12 (update public key confirmation information receiving means), and the device authentication module 11 overwrites the old CE certificate 12 using the new CE certificate 12 (update means). (Step 124).
As described above, the expired CE certificate 12 can be updated.
[0060]
Next, mutual authentication using a certificate between the CE device 9 and the service server 7 will be described.
In the device authentication described with reference to the flowchart of FIG. 3, the service server 7 starts authenticating the CE device 9 and then starts providing the service to the CE device 9.
[0061]
On the other hand, in the mutual authentication, the CE server 9 is authenticated from the service server 7 and the CE device 9 also authenticates whether the service server 7 is an appropriate server device.
And after both authentication succeeds, the service server 7 starts provision of a service.
[0062]
The mutual authentication procedure will be described below with reference to the flowcharts of FIGS.
[0063]
FIG. 7 is a flowchart for explaining a procedure in which the service server 7 authenticates the CE device 9 in mutual authentication.
Each step from Step 2 to Step 36 is the same as that in FIG.
[0064]
After successfully authenticating the CE device 9 in step 36, the service server 7 generates a second session ID (hereinafter referred to as session ID # 2) and a certificate on the service server 7 side (hereinafter referred to as SP certificate). Then, the session ID # 2 is transmitted to the CE device 9 (server public key transmission means) (step 39).
Further, the service server 7 stores the correspondence between the session ID # 2 and the session key when generating the session ID # 2.
[0065]
This is to acquire a corresponding session key when session ID # 2 is transmitted later from CE device 9 (step 150 in FIG. 8).
Here, the service server 7 newly generates a session ID # 2 that is different from the session ID # 1 generated in the process of authenticating the CE device. The same session ID number may be used, but by using different session ID numbers, it can be easily confirmed which authentication process is being performed.
Further, the service server 7 stores an SP certificate issued from the device authentication authority, and the SP certificate includes the public key (hereinafter, SP public key) of the service server 7. To do.
The SP certificate guarantees that the SP public key is authentic by the SP certificate.
Furthermore, it is assumed that the service server 7 stores an SP private key corresponding to the SP public key.
[0066]
FIG. 8 is a flowchart for explaining a procedure in which the CE device 9 authenticates the service server 7 with the SP certificate after the service server 7 transmits the SP certificate and the session ID # 2 to the CE device 9.
First, in the CE device 9, the device authentication module 11 confirms the authenticity of the SP certificate received from the service server 7 (server public key confirmation means) (step 130). The confirmation method is the same as the method in which the service server 7 confirms the authenticity of the CE certificate 12 of the CE device 9 (step 20 in FIG. 3).
[0067]
Next, the device authentication module 11 generates a random number (referred to as random number B) (step 132), and encrypts it with the SP public key included in the SP certificate (step 134). As a result, encryption (random number B) is generated. Here, the random number B corresponds to the second code information.
[0068]
Next, the device authentication module 11 further encrypts encryption (random number B) with the session key (step 136). The device authentication module 11 stores the random number B for comparison with the random number B transmitted by the service server 7 in step 156 later.
[0069]
Here, when the encryption (information A), which is the encrypted information A, is further encrypted, it is referred to as encryption (information A) again. When the notation method is defined in this way, the information generated in step 136 is again expressed as encryption (random number B).
The encryption (random number B) again constitutes the second encrypted secret information and is encrypted using the SP public key and the session key (second encrypted secret information generating means).
[0070]
Next, the device authentication module 11 again encrypts (random number B) and transmits the session ID # 2 to the service server 7 (second encrypted secret information transmitting means) (step 138).
The service server 7 receives this (second encrypted secret information receiving means), and acquires a session key from the session ID # 2 (step 150).
[0071]
Next, the service server 7 decrypts the encryption (random number B) again with this session key to obtain the encryption (random number B) (step 152), and further decrypts it with the SP private key to generate the random number B. Is acquired (second code information decoding means) (step 154).
[0072]
Next, the service server 7 generates a third session ID (hereinafter referred to as session ID # 3), and transmits the decrypted random number B and session ID # 3 to the CE device 9 (second code information transmission means) (Step 156).
The CE device 9 receives the session ID # 3 and the decrypted random number B (second decryption confirmation information) from the service server 7 (second decryption confirmation information receiving means).
The CE device 9 compares the random number B previously stored in the device authentication module 11 with the random number B received from the service server 7 and determines whether or not they are the same (second decryption). Confirming means) (step 140).
[0073]
If they are the same, the service server 7 has been successfully authenticated, and if they are not the same, the authentication has failed.
That is, when the random numbers B are the same, it means that the service server 7 can extract the random number B from the encryption (random number B) again.
[0074]
This means that the service server 7 has a session key associated with the session ID # 2 and also has a private key corresponding to the SP public key included in the SP certificate. This is because the CE device 9 can confirm that the service server 7 is a valid server device.
[0075]
Here, it is assumed that the service server 7 has been successfully authenticated, and the device authentication module 11 completes the mutual authentication process and requests the service server 7 to start a session (step 142).
In response to this, the service server 7 starts providing the service (step 158).
[0076]
As described above, when the mutual authentication as described above is used, not only the service server 7 authenticates the CE device 9 but also the CE device 9 can authenticate the validity of the service server 7.
For this reason, it is possible to prevent the CE device 9 from connecting to a service server operated by a third party pretending to be the service server 7.
When the mutual authentication processing with the CE device 7 is performed, the service server 7 newly generates and sends a session ID # 3. As described above, the same session ID number may be used, but the authentication process can be confirmed by changing the session ID number. Here, for example, since the CE device 7 having the session ID # 3 has completed mutual authentication, it can be seen that the service server 7 can provide a service to the CE device 7.
[0077]
In this embodiment, the random number B is encrypted with the SP public key and then re-encrypted with the session key. Conversely, after encrypting with the session key, the random number B is re-encrypted with the SP public key. It can also be configured.
The CE device 9 may be configured to simply authenticate the random number B with the SP public key and to authenticate the device by the service server 7 decrypting it with the SP private key.
[0078]
FIG. 9 is a diagram illustrating an example of a hardware configuration of the CE device 9.
A CPU (Central Processing Unit) 121 is a central processing unit that executes various processes according to programs stored in a ROM (Read Only Memory) 122 and programs loaded from a storage unit 128 to a RAM (Random Access Memory) 123. It is.
[0079]
The ROM 122 stores basic programs and parameters necessary for causing the CE device 9 to function.
The RAM 123 provides a working area necessary for the CPU 121 to execute various processes.
[0080]
The storage unit 128 stores programs and data necessary for the CE device 9 to function, and includes a storage device such as a hard disk or a semiconductor memory, for example.
[0081]
Information stored in the storage unit 128 includes, for example, a device authentication certificate, a device authentication program for configuring the device authentication module 11, file input / output, and control of each unit of the CE device 9. There are OS (Operating System) for realizing basic functions.
When the device authentication program is executed by the CPU 121, the device authentication module 11 is configured.
[0082]
The tamper resistant chip 10 stores the CE secret key, and performs encryption and decryption processing using the CE secret key.
When an encryption command and information to be encrypted are input from the outside, information encrypted with the CE secret key is output. When a decryption command and information to be decrypted are input, the information decrypted with the CE secret key is output. Has two operation modes.
[0083]
The tamper resistant chip 10 is a kind of black box, and the internal logical structure and CE secret key are not known from the outside.
Further, when the tamper resistant chip 10 is physically disassembled and the inside is to be examined, the internal information can be automatically destroyed.
As described above, the tamper resistant chip 10 is an IC chip that has been subjected to duplication and tampering prevention measures.
[0084]
The CPU 121, ROM 122, RAM 123, and tamper-resistant chip 10 are connected to each other via a bus 124. An input / output interface 125 is also connected to the bus 124.
[0085]
The input / output interface 125 includes an input unit 126 including a keyboard and a mouse, a display including a CRT (Cathode-Ray Tube), an LCD (Liquid Crystal Display), an output unit 127 including a speaker, a hard disk, and the like. A communication unit 129 including a storage unit 128, a modem, a terminal adapter, and the like is connected.
[0086]
The communication unit 129 is a functional unit that performs communication processing via a network. For example, the communication unit 129 is connected to the service server 7 to transmit / receive information related to device authentication, or service data provided from the service server 7 is received. Or receive.
[0087]
A drive 130 is connected to the input / output interface 125 as necessary, and a magnetic disk 141, an optical disk 142, a magneto-optical disk 143, a memory card 144, or the like is appropriately mounted, and a computer program read therefrom is It is installed in the storage unit 128 as necessary.
Note that the configuration of the service server 7 is basically the same as that of the CE device 9, and the description thereof is omitted.
[0088]
According to the embodiment described above, the following effects can be obtained.
(1) The CE server 12 authenticates the device by confirming the authenticity of the CE device 9 by establishing a trust relationship between the CE device 9 and the service provider operating the service server 7 using the CE certificate 12. Can do.
(2) By performing device authentication with the service server 7, it is not necessary to use a centralized device authentication server, and the system load accompanying device authentication can be distributed.
[0089]
(3) By using the tamper resistant chip 10 for storing the CE secret key, security can be improved and unauthorized use such as impersonation can be prevented.
(4) The CE device 9 can download and update the CE certificate 12, and can reduce troublesome processing associated with certificate revocation.
To do.
[0090]
(5) The service server 7 can reinforce the security level by encrypting the session key with the CE public key and transmitting it to the CE device 9 and using the session key as a common key.
(6) The reliability can be improved by confirming that the CE public key of the CE certificate 12 is issued by a trusted certificate authority.
(7) By performing mutual authentication, not only the service server 7 authenticates the CE device 9, but also the CE device 9 can authenticate the service server 7.
[0091]
(8) Since the CE secret key and CE public key pair are managed by the CE device 9, no other system for collectively managing the CE secret key and the CE public key is required.
For this reason, even if the user discards the CE device 9 or purchases a new CE device 9, no adjustment on the service providing system side is required.
In particular, since the CE device 9 is on the market in large quantities, the CE secret key and the CE public key are managed by another system (for example, a system operated by a device authentication organization that guarantees the authenticity of the public key). It is difficult.
[0092]
【The invention's effect】
ADVANTAGE OF THE INVENTION According to this invention, the function which performs apparatus authentication can be distributed, and concentration of the load of the service provision system accompanying apparatus authentication can be reduced.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating an example of a configuration of a service providing system according to an embodiment.
FIG. 2 is a diagram for explaining a logical configuration of a CE device according to the present embodiment.
FIG. 3 is a flowchart for explaining a procedure in which a service server performs device authentication of a CE device.
FIG. 4 is a diagram for explaining an example of a trust chain.
FIG. 5 is a flowchart for explaining a process of embedding device authentication-related information in a CE device.
FIG. 6 is a flowchart for explaining a CE certificate update procedure;
FIG. 7 is a flowchart for explaining a mutual authentication procedure;
FIG. 8 is a flowchart for explaining a mutual authentication procedure;
FIG. 9 is a diagram illustrating an example of a hardware configuration of a CE device.
FIG. 10 is a diagram illustrating an example of a configuration of a conventional service providing system.
[Explanation of symbols]
7 Service server 9 CE equipment
10 Tamper resistant chip 11 Device authentication module
12 CE certificate

Claims (7)

端末機器と、前記端末機器と相互機器認証して前記端末機器にサービスを提供するサービス提供サーバから構成されたサービス提供システムであって、
前記端末機器は、
端末秘密鍵と、前記端末秘密鍵と対を成す端末公開鍵と、前記端末公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いる前記機器認証機関で発行された端末公開鍵確認情報と、を記憶しており、
前記サービス提供サーバにサービスの提供を要求する場合に、前記記憶した端末公開鍵と、端末公開鍵確認情報と、を前記サービス提供サーバに送信し、
前記サービス提供サーバは、
前記端末公開鍵確認情報を用いて前記端末公開鍵が前記機器認証機関によって認められたものであることを確認し、
前記端末機器と前記サービス提供サーバとで共有する共通鍵を秘密情報として、前記秘密情報を前記確認した端末公開鍵で暗号化することによって、第1の暗号化秘密情報を生成し、
第1のID情報と、第1のコード情報と、前記共通鍵と、を対応付けて記憶し、
前記第1の暗号化秘密情報と、前記第1のID情報と、前記第1のコード情報と、を前記端末機器に送信し、
前記端末機器は、
前記記憶した端末秘密鍵を用いて、前記受信した第1の暗号化秘密情報を復号化することによって、前記秘密情報である前記共通鍵を取得し、
前記取得した共通鍵を用いて、前記第1のコード情報を暗号化し、前記暗号化された第1のコード情報を、前記端末機器が前記秘密情報を復号化したことを前記サービス提供サーバが確認するための第1の復号化確認情報として生成し、
前記生成した第1の復号化確認情報と、前記第1のID情報と、を前記サービス提供サーバに送信し、
前記サービス提供サーバは、
前記受信した第1のID情報から、前記第1のID情報と対応付けられた前記第1のコード情報と、前記共通鍵と、を取得し、前記受信した第1の復号化確認情報と、自身が前記共通鍵を用いて暗号化した前記第1のコード情報と、を比較して、前記端末機器において前記送信した第1の暗号化秘密情報から前記秘密情報が復号化されたことを確認することによって、前記端末機器を認証し、
サーバ秘密鍵と、前記サーバ秘密鍵と対を成すサーバ公開鍵と、前記サーバ公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いるサーバ公開鍵確認情報と、を記憶しており、
第2のID情報と、前記共通鍵と、を対応付けて記憶し、
前記記憶したサーバ公開鍵と、サーバ公開鍵確認情報と、前記第2のID情報と、を前記端末機器に送信し、
前記端末機器は、
前記サーバ公開鍵確認情報を用いて前記受信したサーバ公開鍵が前記機器認証機関によって認められたものであることを確認し、
前記確認したサーバ公開鍵と前記共通鍵の一方を用いて、第2のコード情報を暗号化した後、他方を用いてさらに暗号化することによって、第2の暗号化秘密情報を生成し、
前記生成した第2の暗号化秘密情報と、前記第2のID情報と、を前記サービス提供サーバに送信し、
前記サービス提供サーバは、
前記受信した第2のID情報から、前記第2のID情報と対応付けられた前記共通鍵を取得し、前記受信した第2の暗号化秘密情報を、前記共通鍵と前記記憶したサーバ秘密鍵の一方を用いて復号化した後、他方を用いてさらに復号化することによって、前記第2のコード情報を取得し、
前記取得した第2のコード情報を、前記サービス提供サーバが前記第2のコード情報を復号化したことを前記端末機器が確認するための第2の復号化確認情報として、前記端末機器に送信し、
前記端末機器は、
前記受信した第2の復号化確認情報と、前記記憶した第2のコード情報とを比較して、前記サービス提供サーバで前記送信した第2の暗号化秘密情報から前記第2のコード情報が復号化されたことを確認することによって、前記サービス提供サーバを認証し、
前記サービス提供サーバにサービスの提供を要求する
ことを特徴とするサービス提供システム。
A service providing system comprising a terminal device and a service providing server that provides mutual terminal authentication with the terminal device and provides a service to the terminal device;
The terminal device is
Issued by the device authentication authority used to confirm that the terminal private key, the terminal public key paired with the terminal private key, and the terminal public key are recognized by a predetermined device authentication authority Terminal public key confirmation information, and
When requesting the service providing server to provide a service, the stored terminal public key and terminal public key confirmation information are transmitted to the service providing server,
The service providing server includes:
Using the terminal public key confirmation information to confirm that the terminal public key is recognized by the device certification authority,
Generating a first encrypted secret information by encrypting the secret information with the confirmed terminal public key as a secret information shared by the terminal device and the service providing server;
Storing the first ID information, the first code information, and the common key in association with each other;
Transmitting the first encrypted secret information, the first ID information, and the first code information to the terminal device;
The terminal device is
By using the stored terminal secret key, the received first encrypted secret information is decrypted to obtain the common key that is the secret information,
Using the acquired common key, the service providing server confirms that the first code information is encrypted and the terminal device decrypts the encrypted first code information. To generate the first decryption confirmation information for
Transmitting the generated first decryption confirmation information and the first ID information to the service providing server;
The service providing server includes:
The first code information associated with the first ID information and the common key are acquired from the received first ID information, and the received first decryption confirmation information; The terminal device compares the first code information encrypted using the common key and confirms that the secret information has been decrypted from the transmitted first encrypted secret information in the terminal device. To authenticate the terminal device,
A server private key, a server public key that forms a pair with the server private key, and server public key confirmation information used to confirm that the server public key is recognized by a predetermined device authentication authority. Remember,
Storing second ID information and the common key in association with each other;
Transmitting the stored server public key, server public key confirmation information, and the second ID information to the terminal device;
The terminal device is
Using the server public key confirmation information to confirm that the received server public key is recognized by the device certification authority,
The second code information is encrypted using one of the confirmed server public key and the common key and then further encrypted using the other to generate second encrypted secret information,
Transmitting the generated second encrypted secret information and the second ID information to the service providing server;
The service providing server includes:
The common key associated with the second ID information is acquired from the received second ID information, and the received second encrypted secret information is used as the common key and the stored server secret key. The second code information is obtained by decoding using one of the two and further decoding using the other,
The acquired second code information is transmitted to the terminal device as second decoding confirmation information for the terminal device to confirm that the service providing server has decrypted the second code information. ,
The terminal device is
The received second decryption confirmation information is compared with the stored second code information, and the second code information is decrypted from the transmitted second encrypted secret information by the service providing server. Authenticating the service providing server by confirming that
A service providing system that requests the service providing server to provide a service.
端末機器と相互機器認証してからサービスを提供するサービス提供サーバであって、
前記端末機器は、端末秘密鍵と、前記端末秘密鍵と対を成す端末公開鍵と、前記端末公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いる端末公開鍵確認情報と、を記憶しており、
前記端末機器から、前記端末公開鍵と、前記端末公開鍵確認情報とを受信する公開鍵受信手段と、
前記受信した端末公開鍵確認情報を用いて前記受信した端末公開鍵が前記機器認証機関によって認められたものであること確認する端末公開鍵確認手段と、
前記端末機器と前記サービス提供サーバとで共有する共通鍵を秘密情報として、前記秘密情報を前記確認した端末公開鍵を用いて暗号化した第1の暗号化秘密情報を生成し、第1のID情報と、第1のコード情報と、前記共通鍵と、を対応付けて記憶してから、前記第1の暗号化秘密情報と、前記第1のID情報と、前記第1のコード情報と、を前記端末機器に送信する暗号化秘密情報送信手段と、
前記端末機器から、前記送信した第1の前記暗号化秘密情報から前記秘密情報を復号化したことを確認するための第1の復号化確認情報と、前記第1のID情報とを受信する復号化確認情報受信手段と、
前記受信した第1のID情報から、前記第1のID情報と対応付けられた前記第1のコード情報と、前記共通鍵と、を取得し、前記受信した第1の復号化確認情報と、自身が前記共通鍵を用いて暗号化した前記第1のコード情報と、を比較して、前記端末機器において前記送信した第1の暗号化秘密情報から前記秘密情報が復号化されたことを確認する復号化確認手段と、
サーバ秘密鍵と、前記サーバ秘密鍵と対を成すサーバ公開鍵と、前記サーバ公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いるサーバ公開鍵確認情報と、を記憶する鍵情報記憶手段と、
第2のID情報と、前記共通鍵と、を対応付けて記憶してから、前記記憶したサーバ公開鍵と、前記サーバ公開鍵確認情報と、第2のID情報と、を前記端末機器に送信するサーバ公開鍵送信手段と、
前記送信したサーバ公開鍵に対応して、前記端末機器が送信してきた第2の暗号化秘密情報と、前記第2のID情報と、を受信する暗号化秘密情報受信手段と、
前記受信した第2のID情報から、前記第2のID情報と対応付けられた前記共通鍵を取得し、前記受信した第2の暗号化秘密情報を、前記共通鍵と前記記憶したサーバ秘密鍵の一方を用いて復号化した後、他方を用いてさらに復号化することによって、前記第2のコード情報を取得するコード情報復号化手段と、
前記取得した第2のコード情報を、前記サービス提供サーバが前記第2のコード情報を復号化したことを前記端末機器が確認するための第2の復号化確認情報として、前記端末機器に送信する復号化確認情報送信手段と、
を具備したことを特徴とするサービス提供サーバ。
A service providing server that provides services after mutual device authentication with a terminal device,
The terminal device includes a terminal secret key, a terminal public key paired with the terminal secret key, and a terminal public key used for confirming that the terminal public key is recognized by a predetermined device authentication authority. Confirmation information,
Public key receiving means for receiving the terminal public key and the terminal public key confirmation information from the terminal device;
Terminal public key confirmation means for confirming that the received terminal public key is recognized by the device authentication authority using the received terminal public key confirmation information;
Using the common key shared by the terminal device and the service providing server as secret information, generating first encrypted secret information obtained by encrypting the secret information using the confirmed terminal public key, and generating a first ID Information, first code information, and the common key are stored in association with each other, and then the first encrypted secret information, the first ID information, the first code information, Encrypted secret information transmitting means for transmitting to the terminal device;
Decryption receiving first decryption confirmation information for confirming that the secret information has been decrypted from the transmitted first encrypted secret information and the first ID information from the terminal device Confirmation information receiving means,
The first code information associated with the first ID information and the common key are acquired from the received first ID information, and the received first decryption confirmation information; The terminal device compares the first code information encrypted using the common key and confirms that the secret information has been decrypted from the transmitted first encrypted secret information in the terminal device. Decryption confirmation means to
A server private key, a server public key that forms a pair with the server private key, and server public key confirmation information used to confirm that the server public key is recognized by a predetermined device authentication authority. Key information storage means for storing;
Second ID information and the common key are stored in association with each other, and the stored server public key, server public key confirmation information, and second ID information are transmitted to the terminal device. A server public key transmission means to perform,
In correspondence with the transmitted server public key, encrypted secret information receiving means for receiving the second encrypted secret information transmitted by the terminal device and the second ID information;
The common key associated with the second ID information is acquired from the received second ID information, and the received second encrypted secret information is used as the common key and the stored server secret key. Code information decoding means for acquiring the second code information by decoding using one of the two and further decoding using the other;
The acquired second code information is transmitted to the terminal device as second decoding confirmation information for the terminal device to confirm that the service providing server has decrypted the second code information. Decryption confirmation information transmitting means;
A service providing server comprising:
端末秘密鍵と、前記端末秘密鍵と対を成す端末公開鍵と、前記端末公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いる端末公開鍵確認情報と、を記憶している端末機器と相互機器認証してからサービスを提供するコンピュータで構成されたサービス提供サーバで相互機器認証機能を実現する機器認証プログラムであって、コンピュータを、
前記端末機器から、前記端末公開鍵と、前記端末公開鍵確認情報とを受信する公開鍵受信手段と、
前記受信した端末公開鍵確認情報を用いて前記受信した端末公開鍵が前記機器認証機関によって認められたものであること確認する端末公開鍵確認手段と、
前記端末機器と前記サービス提供サーバとで共有する共通鍵を秘密情報として、前記秘密情報を前記確認した端末公開鍵を用いて暗号化した第1の暗号化秘密情報を生成し、第1のID情報と、第1のコード情報と、前記共通鍵と、を対応付けて記憶してから、前記第1の暗号化秘密情報と、前記第1のID情報と、前記第1のコード情報と、を前記端末機器に送信する暗号化秘密情報送信手段と、
前記端末機器から、前記送信した第1の前記暗号化秘密情報から前記秘密情報を復号化したことを確認するための第1の復号化確認情報と、前記第1のID情報とを受信する復号化確認情報受信手段と、
前記受信した第1のID情報から、前記第1のID情報と対応付けられた前記第1のコード情報と、前記共通鍵と、を取得し、前記受信した第1の復号化確認情報と、自身が前記共通鍵を用いて暗号化した前記第1のコード情報と、を比較して、前記端末機器において前記送信した第1の暗号化秘密情報から前記秘密情報が復号化されたことを確認する復号化確認手段と、
サーバ秘密鍵と、前記サーバ秘密鍵と対を成すサーバ公開鍵と、前記サーバ公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いるサーバ公開鍵確認情報と、を記憶する鍵情報記憶手段と、
第2のID情報と、前記共通鍵と、を対応付けて記憶してから、前記記憶したサーバ公開鍵と、前記サーバ公開鍵確認情報と、第2のID情報と、を前記端末機器に送信するサーバ公開鍵送信手段と、
前記送信したサーバ公開鍵に対応して、前記端末機器が送信してきた第2の暗号化秘密情報と、前記第2のID情報と、を受信する暗号化秘密情報受信手段と、
前記受信した第2のID情報から、前記第2のID情報と対応付けられた前記共通鍵を取得し、前記受信した第2の暗号化秘密情報を、前記共通鍵と前記記憶したサーバ秘密鍵の一方を用いて復号化した後、他方を用いてさらに復号化することによって、前記第2のコード情報を取得するコード情報復号化手段と、
前記取得した第2のコード情報を、前記サービス提供サーバが前記第2のコード情報を復号化したことを前記端末機器が確認するための第2の復号化確認情報として、前記端末機器に送信する復号化確認情報送信手段
として機能させるための機器認証プログラム。
A terminal secret key, a terminal public key paired with the terminal secret key, and a terminal public key confirmation information used for confirming that the terminal public key is recognized by a predetermined device authentication authority, A device authentication program that realizes a mutual device authentication function with a service providing server configured by a computer that provides services after mutual device authentication with a stored terminal device, the computer comprising:
Public key receiving means for receiving the terminal public key and the terminal public key confirmation information from the terminal device;
A terminal public key verification means for verifying that the terminal public key thus received using the received terminal public key confirmation information is being granted by the device authentication authority,
Using the common key shared by the terminal device and the service providing server as secret information, generating first encrypted secret information obtained by encrypting the secret information using the confirmed terminal public key, and generating a first ID Information, first code information, and the common key are stored in association with each other, and then the first encrypted secret information, the first ID information, the first code information, Encrypted secret information transmitting means for transmitting to the terminal device;
Decryption receiving first decryption confirmation information for confirming that the secret information has been decrypted from the transmitted first encrypted secret information and the first ID information from the terminal device Confirmation information receiving means ,
The first code information associated with the first ID information and the common key are acquired from the received first ID information, and the received first decryption confirmation information; The terminal device compares the first code information encrypted using the common key and confirms that the secret information has been decrypted from the transmitted first encrypted secret information in the terminal device. Decryption confirmation means to
A server private key, a server public key that forms a pair with the server private key, and server public key confirmation information used to confirm that the server public key is recognized by a predetermined device authentication authority. Key information storage means for storing;
After storing the second ID information and the common key in association with each other, the stored server public key, the server public key confirmation information, and the second ID information are transmitted to the terminal device. A server public key transmission means to perform,
In correspondence with the transmitted server public key, encrypted secret information receiving means for receiving the second encrypted secret information transmitted by the terminal device and the second ID information;
The common key associated with the second ID information is acquired from the received second ID information, and the received second encrypted secret information is used as the common key and the stored server secret key. Code information decoding means for acquiring the second code information by decoding using one of the two and further decoding using the other;
The acquired second code information is transmitted to the terminal device as second decoding confirmation information for the terminal device to confirm that the service providing server has decrypted the second code information. Decryption confirmation information transmission means ,
Device authentication program to function as
端末秘密鍵と、前記端末秘密鍵と対を成す端末公開鍵と、前記端末公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いる端末公開鍵確認情報と、を記憶している端末機器と相互機器認証してからサービスを提供するコンピュータで構成されたサービス提供サーバで相互機器認証機能を実現する機器認証プログラムを記憶した記憶媒体であって、コンピュータを、
前記端末機器から、前記端末公開鍵と、前記端末公開鍵確認情報とを受信する公開鍵受信手段と、
前記受信した端末公開鍵確認情報を用いて前記受信した端末公開鍵が前記機器認証機関によって認められたものであること確認する端末公開鍵確認手段と、
前記端末機器と前記サービス提供サーバとで共有する共通鍵を秘密情報として、前記秘密情報を前記確認した端末公開鍵を用いて暗号化した第1の暗号化秘密情報を生成し、第1のID情報と、第1のコード情報と、前記共通鍵と、を対応付けて記憶してから、前記第1の暗号化秘密情報と、前記第1のID情報と、前記第1のコード情報と、を前記端末機器に送信する暗号化秘密情報送信手段と、
前記端末機器から、前記送信した第1の前記暗号化秘密情報から前記秘密情報を復号化したことを確認するための第1の復号化確認情報と、前記第1のID情報とを受信する復号化確認情報受信手段と、
前記受信した第1の復号化確認情報と、自身が前記共通鍵を用いて暗号化した前記第1のコード情報と、を比較して、前記端末機器において前記送信した第1の暗号化秘密情報から前記秘密情報が復号化されたことを確認する第1の復号化確認手段と、
サーバ秘密鍵と、前記サーバ秘密鍵と対を成すサーバ公開鍵と、前記サーバ公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いるサーバ公開鍵確認情報と、を記憶する鍵情報記憶手段と、
第2のID情報と、前記共通鍵と、を対応付けて記憶してから、前記記憶したサーバ公開鍵と、前記サーバ公開鍵確認情報と、第2のID情報と、を前記端末機器に送信するサーバ公開鍵送信手段と、
前記送信したサーバ公開鍵に対応して、前記端末機器が送信してきた第2の暗号化秘密情報と、前記第2のID情報と、を受信する暗号化秘密情報受信手段と、
前記受信した第2のID情報から、前記第2のID情報と対応付けられた前記共通鍵を取得し、前記受信した第2の暗号化秘密情報を、前記共通鍵と前記記憶したサーバ秘密鍵の一方を用いて復号化した後、他方を用いてさらに復号化することによって、前記第2のコード情報を取得するコード情報復号化手段と、
前記取得した第2のコード情報を、前記サービス提供サーバが前記第2のコード情報を復号化したことを前記端末機器が確認するための第2の復号化確認情報として、前記端末機器に送信する復号化確認情報送信手段
として機能させるための機器認証プログラムを記憶したコンピュータが読み取り可能な記憶媒体。
A terminal secret key, a terminal public key paired with the terminal secret key, and a terminal public key confirmation information used for confirming that the terminal public key is recognized by a predetermined device authentication authority, A storage medium storing a device authentication program for realizing a mutual device authentication function in a service providing server configured by a computer that provides a service after mutual device authentication with a stored terminal device, the computer comprising:
Public key receiving means for receiving the terminal public key and the terminal public key confirmation information from the terminal device;
A terminal public key verification means for verifying that the terminal public key thus received using the received terminal public key confirmation information is being granted by the device authentication authority,
Using the common key shared by the terminal device and the service providing server as secret information, generating first encrypted secret information obtained by encrypting the secret information using the confirmed terminal public key, and generating a first ID Information, first code information, and the common key are stored in association with each other, and then the first encrypted secret information, the first ID information, the first code information, Encrypted secret information transmitting means for transmitting to the terminal device;
Decryption receiving first decryption confirmation information for confirming that the secret information has been decrypted from the transmitted first encrypted secret information and the first ID information from the terminal device Confirmation information receiving means ,
The received first decryption confirmation information is compared with the first code information encrypted by itself using the common key, and the transmitted first encrypted secret information in the terminal device First decryption confirmation means for confirming that the secret information is decrypted from:
A server private key, a server public key that forms a pair with the server private key, and server public key confirmation information used to confirm that the server public key is recognized by a predetermined device authentication authority. Key information storage means for storing;
After storing the second ID information and the common key in association with each other, the stored server public key, the server public key confirmation information, and the second ID information are transmitted to the terminal device. A server public key transmission means to perform,
In correspondence with the transmitted server public key, encrypted secret information receiving means for receiving the second encrypted secret information transmitted by the terminal device and the second ID information;
The common key associated with the second ID information is acquired from the received second ID information, and the received second encrypted secret information is used as the common key and the stored server secret key. Code information decoding means for acquiring the second code information by decoding using one of the two and further decoding using the other;
The acquired second code information is transmitted to the terminal device as second decoding confirmation information for the terminal device to confirm that the service providing server has decrypted the second code information. Decryption confirmation information transmission means ,
A computer-readable storage medium that stores a device authentication program for functioning as a computer.
端末秘密鍵を記憶する端末秘密鍵記憶手段と、
前記端末秘密鍵と対を成す端末公開鍵と、前記端末公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いる端末公開鍵確認情報と、を記憶する端末公開鍵記憶手段と、
サービス提供サーバにサービスの提供を要求する場合に、前記記憶した端末公開鍵と端末公開鍵確認情報とを、前記サービス提供サーバに送信する端末公開鍵送信手段と、
前記送信した端末公開鍵と端末公開鍵確認情報に対応して、前記サービス提供サーバから返信されてきた第1の暗号化秘密情報と、第1のID情報と、第1のコード情報と、を受信する暗号化秘密情報受信手段と、
前記受信した第1の暗号化秘密情報を前記記憶した端末秘密鍵で復号化することによって、秘密情報である前記端末機器と前記サービス提供サーバとで共有する共通鍵を取得する復号化手段と、
前記取得した前記共通鍵を用いて、前記サービス提供サーバが前記秘密情報を復号化したことを確認するために、前記取得した共通鍵を用いて、前記第1のコード情報を暗号化し、前記暗号化された第1のコード情報を、第1の復号化確認情報として生成する復号化確認情報生成手段と、
前記生成した第1の復号化確認情報と、前記第1のID情報と、を前記サービス提供サーバに送信する復号化確認情報送信手段と、
サーバ秘密鍵と、前記サーバ秘密鍵と対を成すサーバ公開鍵と、前記サーバ公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いるサーバ公開鍵確認情報とを記憶している前記サービス提供サーバから、前記サーバ公開鍵と、前記サーバ公開鍵確認情報と、第2のID情報と、を受信するサーバ公開鍵受信手段と、
前記受信したサーバ公開鍵確認情報を用いて前記受信したサーバ公開鍵が前記機器認証機関によって認められたものであることを確認するサーバ公開鍵確認手段と、
前記確認したサーバ公開鍵と前記共通鍵の一方を用いて第2のコード情報を暗号化した後、他方を用いてさらに暗号化することによって、第2の暗号化秘密情報を生成する暗号化秘密情報生成手段と、
前記生成した第2の暗号化秘密情報と、前記第2のID情報と、を前記サービス提供サーバに送信する暗号化秘密情報送信手段と、
前記サービス提供サーバで前記送信した第2の暗号化秘密情報から前記第2のコード情報が復号化されたことを確認するための第2の復号化確認情報を前記サービス提供サーバから受信する復号化確認情報受信手段と、
前記受信した第2の復号化確認情報と、前記記憶した第2のコード情報とを比較して、前記サービス提供サーバで前記送信した第2の暗号化秘密情報から前記第2のコード情報が復号化されたことを確認する復号化確認手段と、
を具備したことを特徴とする端末機器。
Terminal secret key storage means for storing the terminal secret key;
A terminal public key that stores a terminal public key that forms a pair with the terminal secret key, and terminal public key confirmation information that is used to confirm that the terminal public key is recognized by a predetermined device authentication authority Storage means;
A terminal public key transmitting means for transmitting the stored terminal public key and terminal public key confirmation information to the service providing server when requesting the service providing server to provide a service;
Corresponding to the transmitted terminal public key and terminal public key confirmation information, first encrypted secret information returned from the service providing server, first ID information, and first code information, Means for receiving encrypted secret information;
Decryption means for obtaining a common key shared between the terminal device and the service providing server, which is secret information, by decrypting the received first encrypted secret information with the stored terminal secret key;
In order to confirm that the service providing server has decrypted the secret information using the acquired common key, the first code information is encrypted using the acquired common key, and the encryption Decoding confirmation information generating means for generating the converted first code information as first decoding confirmation information;
Decryption confirmation information transmitting means for transmitting the generated first decryption confirmation information and the first ID information to the service providing server;
A server private key, a server public key that forms a pair with the server private key, and server public key confirmation information used to confirm that the server public key is recognized by a predetermined device authentication authority are stored. Server public key receiving means for receiving the server public key, the server public key confirmation information, and the second ID information from the service providing server.
Server public key confirmation means for confirming that the received server public key is recognized by the device certification authority using the received server public key confirmation information;
The encrypted secret for generating the second encrypted secret information by encrypting the second code information using one of the confirmed server public key and the common key and then further encrypting the second code information using the other Information generating means;
Encrypted secret information transmitting means for transmitting the generated second encrypted secret information and the second ID information to the service providing server;
Decryption for receiving from the service providing server second decryption confirmation information for confirming that the second code information has been decrypted from the transmitted second encrypted secret information by the service providing server. Confirmation information receiving means;
The received second decryption confirmation information is compared with the stored second code information, and the second code information is decrypted from the transmitted second encrypted secret information by the service providing server. Decryption confirmation means for confirming that
A terminal device comprising:
端末機器を構成するコンピュータで相互機器認証機能を実現する機器認証プログラムであって、コンピュータを、
端末秘密鍵を記憶する端末秘密鍵記憶手段と、
前記端末秘密鍵と対を成す端末公開鍵と、前記端末公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いる端末公開鍵確認情報と、を記憶する端末公開鍵記憶手段と、
サービス提供サーバにサービスの提供を要求する場合に、前記記憶した端末公開鍵と端末公開鍵確認情報とを、前記サービス提供サーバに送信する端末公開鍵送信手段と、
前記送信した端末公開鍵と端末公開鍵確認情報に対応して、前記サービス提供サーバから返信されてきた第1の暗号化秘密情報と、第1のID情報と、第1のコード情報と、を受信する暗号化秘密情報受信手段と、
前記受信した第1の暗号化秘密情報を前記記憶した端末秘密鍵で復号化することによって、秘密情報である前記端末機器と前記サービス提供サーバとで共有する共通鍵を取得する復号化手段と、
前記取得した前記共通鍵を用いて、前記サービス提供サーバが前記秘密情報を復号化したことを確認するために、前記取得した共通鍵を用いて、前記第1のコード情報を暗号化し、前記暗号化された第1のコード情報を、第1の復号化確認情報として生成する復号化確認情報生成手段と、
前記生成した第1の復号化確認情報と、前記第1のID情報と、を前記サービス提供サーバに送信する復号化確認情報送信手段と、
サーバ秘密鍵と、前記サーバ秘密鍵と対を成すサーバ公開鍵と、前記サーバ公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いるサーバ公開鍵確認情報とを記憶している前記サービス提供サーバから、前記サーバ公開鍵と、前記サーバ公開鍵確認情報と、第2のID情報と、を受信するサーバ公開鍵受信手段と、
前記受信したサーバ公開鍵確認情報を用いて前記受信したサーバ公開鍵が前記機器認証機関によって認められたものであることを確認するサーバ公開鍵確認手段と、
前記確認したサーバ公開鍵と前記共通鍵の一方を用いて第2のコード情報を暗号化した後、他方を用いてさらに暗号化することによって、第2の暗号化秘密情報を生成する暗号化秘密情報生成手段と、
前記生成した第2の暗号化秘密情報と、前記第2のID情報と、を前記サービス提供サーバに送信する暗号化秘密情報送信手段と、
前記サービス提供サーバで前記送信した第2の暗号化秘密情報から前記第2のコード情報が復号化されたことを確認するための第2の復号化確認情報を前記サービス提供サーバから受信する復号化確認情報受信手段と、
前記受信した第2の復号化確認情報と、前記記憶した第2のコード情報とを比較して、前記サービス提供サーバで前記送信した第2の暗号化秘密情報から前記第2のコード情報が復号化されたことを確認する復号化確認手段
として機能させるための機器認証プログラム。
A device authentication program for realizing a mutual device authentication function on a computer constituting a terminal device, the computer comprising:
Terminal secret key storage means for storing the terminal secret key;
A terminal public key that stores a terminal public key that forms a pair with the terminal secret key, and terminal public key confirmation information that is used to confirm that the terminal public key is recognized by a predetermined device authentication authority Storage means ;
A terminal public key transmitting means for transmitting the stored terminal public key and terminal public key confirmation information to the service providing server when requesting the service providing server to provide a service;
Corresponding to the transmitted terminal public key and terminal public key confirmation information, first encrypted secret information returned from the service providing server, first ID information, and first code information, Means for receiving encrypted secret information;
Decryption means for obtaining a common key shared between the terminal device and the service providing server, which is secret information, by decrypting the received first encrypted secret information with the stored terminal secret key;
In order to confirm that the service providing server has decrypted the secret information using the acquired common key, the first code information is encrypted using the acquired common key, and the encryption Decoding confirmation information generating means for generating the converted first code information as first decoding confirmation information;
Decryption confirmation information transmitting means for transmitting the generated first decryption confirmation information and the first ID information to the service providing server;
A server private key, a server public key that forms a pair with the server private key, and server public key confirmation information used to confirm that the server public key is recognized by a predetermined device authentication authority are stored. Server public key receiving means for receiving the server public key, the server public key confirmation information, and the second ID information from the service providing server.
Server public key confirmation means for confirming that the received server public key is recognized by the device certification authority using the received server public key confirmation information;
The encrypted secret for generating the second encrypted secret information by encrypting the second code information using one of the confirmed server public key and the common key and then further encrypting the second code information using the other Information generating means ;
Encrypted secret information transmitting means for transmitting the generated second encrypted secret information and the second ID information to the service providing server;
Decryption for receiving from the service providing server second decryption confirmation information for confirming that the second code information has been decrypted from the transmitted second encrypted secret information by the service providing server. Confirmation information receiving means ;
The received second decryption confirmation information is compared with the stored second code information, and the second code information is decrypted from the transmitted second encrypted secret information by the service providing server. Decryption confirmation means for confirming that
Device authentication program to function as
端末機器を構成するコンピュータで相互機器認証機能を実現する機器認証プログラムを記憶した記憶媒体であって、コンピュータを、
端末秘密鍵を記憶する端末秘密鍵記憶手段と、
前記端末秘密鍵と対を成す端末公開鍵と、前記端末公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いる端末公開鍵確認情報と、を記憶する端末公開鍵記憶手段と、
サービス提供サーバにサービスの提供を要求する場合に、前記記憶した端末公開鍵と端末公開鍵確認情報とを、前記サービス提供サーバに送信する端末公開鍵送信手段と、
前記送信した端末公開鍵と端末公開鍵確認情報に対応して、前記サービス提供サーバから返信されてきた第1の暗号化秘密情報と、第1のID情報と、第1のコード情報と、を受信する暗号化秘密情報受信手段と、
前記受信した第1の暗号化秘密情報を前記記憶した端末秘密鍵で復号化することによって、秘密情報である前記端末機器と前記サービス提供サーバとで共有する共通鍵を取得する復号化手段と、
前記取得した前記共通鍵を用いて、前記サービス提供サーバが前記秘密情報を復号化したことを確認するために、前記取得した共通鍵を用いて、前記第1のコード情報を暗号化し、前記暗号化された第1のコード情報を、第1の復号化確認情報として生成する復号化確認情報生成手段と、
前記生成した第1の復号化確認情報と、前記第1のID情報と、を前記サービス提供サーバに送信する復号化確認情報送信手段と、
サーバ秘密鍵と、前記サーバ秘密鍵と対を成すサーバ公開鍵と、前記サーバ公開鍵が所定の機器認証機関によって認められたものであることを確認するのに用いるサーバ公開鍵確認情報とを記憶している前記サービス提供サーバから、前記サーバ公開鍵と、前記サーバ公開鍵確認情報と、第2のID情報と、を受信するサーバ公開鍵受信手段と、
前記受信したサーバ公開鍵確認情報を用いて前記受信したサーバ公開鍵が前記機器認証機関によって認められたものであることを確認するサーバ公開鍵確認手段と、
前記確認したサーバ公開鍵と前記共通鍵の一方を用いて第2のコード情報を暗号化した後、他方用いてさらに暗号化することによって、第2の暗号化秘密情報を生成する暗号化秘密情報生成手段と、
前記生成した第2の暗号化秘密情報と、前記第2のID情報と、を前記サービス提供サーバに送信する暗号化秘密情報送信手段と、
前記サービス提供サーバで前記送信した第2の暗号化秘密情報から前記第2のコード情報が復号化されたことを確認するための第2の復号化確認情報を前記サービス提供サーバから受信する復号化確認情報受信手段と、
前記受信した第2の復号化確認情報と、前記記憶した第2のコード情報とを比較して、前記サービス提供サーバで前記送信した第2の暗号化秘密情報から前記第2のコード情報が復号化されたことを確認する復号化確認手段
として機能させるための機器認証プログラムを記憶したコンピュータが読み取り可能な記憶媒体。
A storage medium storing a device authentication program for realizing a mutual device authentication function on a computer constituting a terminal device, the computer comprising:
Terminal secret key storage means for storing the terminal secret key;
A terminal public key that stores a terminal public key that forms a pair with the terminal secret key, and terminal public key confirmation information that is used to confirm that the terminal public key is recognized by a predetermined device authentication authority Storage means ;
A terminal public key transmitting means for transmitting the stored terminal public key and terminal public key confirmation information to the service providing server when requesting the service providing server to provide a service;
Corresponding to the transmitted terminal public key and terminal public key confirmation information, first encrypted secret information returned from the service providing server, first ID information, and first code information, Means for receiving encrypted secret information;
Decryption means for obtaining a common key shared between the terminal device and the service providing server, which is secret information, by decrypting the received first encrypted secret information with the stored terminal secret key;
In order to confirm that the service providing server has decrypted the secret information using the acquired common key, the first code information is encrypted using the acquired common key, and the encryption Decoding confirmation information generating means for generating the converted first code information as first decoding confirmation information;
Decryption confirmation information transmitting means for transmitting the generated first decryption confirmation information and the first ID information to the service providing server;
A server private key, a server public key that forms a pair with the server private key, and server public key confirmation information used to confirm that the server public key is recognized by a predetermined device authentication authority are stored. Server public key receiving means for receiving the server public key, the server public key confirmation information, and the second ID information from the service providing server.
Server public key confirmation means for confirming that the received server public key is recognized by the device certification authority using the received server public key confirmation information;
Encrypted secret information for generating second encrypted secret information by encrypting the second code information using one of the confirmed server public key and the common key and then encrypting the second code information using the other Generating means ;
Encrypted secret information transmitting means for transmitting the generated second encrypted secret information and the second ID information to the service providing server;
Decryption for receiving from the service providing server second decryption confirmation information for confirming that the second code information has been decrypted from the transmitted second encrypted secret information by the service providing server. Confirmation information receiving means ;
The received second decryption confirmation information is compared with the stored second code information, and the second code information is decrypted from the transmitted second encrypted secret information by the service providing server. Decryption confirmation means for confirming that
A computer-readable storage medium that stores a device authentication program for functioning as a computer.
JP2003188140A 2003-06-30 2003-06-30 Service providing system, service providing server, device authentication program, storage medium, terminal device, device authentication server, and public key confirmation information update program Expired - Fee Related JP4599812B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003188140A JP4599812B2 (en) 2003-06-30 2003-06-30 Service providing system, service providing server, device authentication program, storage medium, terminal device, device authentication server, and public key confirmation information update program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003188140A JP4599812B2 (en) 2003-06-30 2003-06-30 Service providing system, service providing server, device authentication program, storage medium, terminal device, device authentication server, and public key confirmation information update program

Publications (3)

Publication Number Publication Date
JP2005026842A JP2005026842A (en) 2005-01-27
JP2005026842A5 JP2005026842A5 (en) 2006-07-20
JP4599812B2 true JP4599812B2 (en) 2010-12-15

Family

ID=34186772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003188140A Expired - Fee Related JP4599812B2 (en) 2003-06-30 2003-06-30 Service providing system, service providing server, device authentication program, storage medium, terminal device, device authentication server, and public key confirmation information update program

Country Status (1)

Country Link
JP (1) JP4599812B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4570986B2 (en) * 2005-02-25 2010-10-27 京セラ株式会社 Base station apparatus, base station apparatus control method, and communication control program
JP4969821B2 (en) * 2005-09-15 2012-07-04 Kddi株式会社 Program and content decryption method
JP6331031B2 (en) * 2015-03-26 2018-05-30 パナソニックIpマネジメント株式会社 Authentication method, authentication system, and communication device
CN108156126B (en) * 2016-12-02 2020-12-08 阿里巴巴集团控股有限公司 Burning verification method and device and identity authentication method and device for Internet of things equipment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002374240A (en) * 2001-04-12 2002-12-26 Matsushita Electric Ind Co Ltd Reception terminal, key apparatus, and key updating method for public key cryptosystem

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3308561B2 (en) * 1990-11-14 2002-07-29 株式会社東芝 E-mail communication method and sender terminal
JP3541522B2 (en) * 1995-10-09 2004-07-14 松下電器産業株式会社 Communication protection system and equipment between devices
DE10118267A1 (en) * 2001-04-12 2002-10-24 Bosch Gmbh Robert Method for authorizing a user accessing a software based system using an unsecured access medium has a two stage encryption process that ensures users are authorized before the system can be accessed

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002374240A (en) * 2001-04-12 2002-12-26 Matsushita Electric Ind Co Ltd Reception terminal, key apparatus, and key updating method for public key cryptosystem

Also Published As

Publication number Publication date
JP2005026842A (en) 2005-01-27

Similar Documents

Publication Publication Date Title
JP4617763B2 (en) Device authentication system, device authentication server, terminal device, device authentication method, and device authentication program
KR100925329B1 (en) Method and apparatus of mutual authentication and key distribution for downloadable conditional access system in digital cable broadcasting network
US9544297B2 (en) Method for secured data processing
CN1961523B (en) Token provision
US9160732B2 (en) System and methods for online authentication
US7386722B2 (en) Certificate management system and method
CN106713279B (en) video terminal identity authentication system
KR20090041365A (en) Biometric credential verification framework
WO2020206014A1 (en) Digital rights management authorization token pairing
DK2414983T3 (en) Secure computer system
CN112565265B (en) Authentication method, authentication system and communication method between terminal devices of Internet of things
US7451307B2 (en) Communication apparatus, communication system, communication apparatus control method and implementation program thereof
US20210392004A1 (en) Apparatus and method for authenticating device based on certificate using physical unclonable function
CA2561644C (en) A method to leverage a secure device to grant trust and identity to a second device
JP4599812B2 (en) Service providing system, service providing server, device authentication program, storage medium, terminal device, device authentication server, and public key confirmation information update program
US20030009662A1 (en) Password exposure elimination for digital signature coupling with a host identity
JP2014022920A (en) Electronic signature system, electronic signature method, and electronic signature program
KR101868564B1 (en) Apparatus for authenticating user in association with user-identification-registration and local-authentication and method for using the same
KR20020040378A (en) Method for Authentication without Password Transmission on the basis of Public Key
JP2005020580A (en) Network system
JP4071474B2 (en) Expiration confirmation device and method
KR100559152B1 (en) Method and apparatus for maintaining the security of contents
CN115883104B (en) Secure login method and device for terminal equipment and nonvolatile storage medium
WO2023199619A1 (en) Remote signature system and anti-tamper device
CN113918984A (en) Application access method and system based on block chain, storage medium and electronic equipment

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050518

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060530

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100811

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: 20100831

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100913

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees