JP5400611B2 - メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置 - Google Patents

メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置 Download PDF

Info

Publication number
JP5400611B2
JP5400611B2 JP2009516180A JP2009516180A JP5400611B2 JP 5400611 B2 JP5400611 B2 JP 5400611B2 JP 2009516180 A JP2009516180 A JP 2009516180A JP 2009516180 A JP2009516180 A JP 2009516180A JP 5400611 B2 JP5400611 B2 JP 5400611B2
Authority
JP
Japan
Prior art keywords
data
application
signature
card
hash
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.)
Active
Application number
JP2009516180A
Other languages
English (en)
Other versions
JPWO2008146476A1 (ja
Inventor
広和 宗
康雄 竹内
佳彦 高木
理 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2009516180A priority Critical patent/JP5400611B2/ja
Publication of JPWO2008146476A1 publication Critical patent/JPWO2008146476A1/ja
Application granted granted Critical
Publication of JP5400611B2 publication Critical patent/JP5400611B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Description

本発明は、不揮発性メモリの制御を行うメモリコントローラ、不揮発性メモリを備えた半導体メモリカード等の不揮発性記憶装置、不揮発性記憶装置にアクセス装置を構成要件として加えた不揮発性記憶システム及びアクセス装置に関する。
書き換え可能な不揮発性メモリを備える不揮発性記憶装置は、半導体メモリカードを中心にその需要が広まっている。半導体メモリカードは、光ディスクやテープメディアなどと比較して高価格なものではあるが、小型・軽量・耐震性・取り扱いの簡便さ等のメリットにより、デジタルスチルカメラや携帯電話などのポータブル機器の記録媒体としてその需要が広まり、最近では民生用動画記録機器や放送局向けのプロ用動画記録機器の記録媒体として利用されるようになってきた。更には、ポータブル機器だけではなくデジタルテレビやDVDレコーダ等の据え置き機器にも半導体メモリカード用のスロットが標準装備され、デジタルスチルカメラで撮影した静止画をデジタルテレビで閲覧したり、民生用動画記録機器で撮影した動画をDVDレコーダにダビングできるようになってきた。
不揮発性記憶装置の中には、特定の目的を持つアプリケーションを搭載可能なものもあり、内部に格納するデータを暗号化し、外部に出力する際に復号するような秘匿性を高めた機能や、著作権保護機能付きのカードがある。また、発行後にアプリケーションを追加できるダウンロード可能なカードも登場している。
このようなアプリケーションを後から発行する場合、カードはデータを受信し、カード内で動作するようにインストールと呼ばれるデータ変換、配置処理をする仕組みが必要になる。カードには、不揮発性の主記憶メモリとしてフラッシュメモリを備え、それを制御するメモリコントローラを有しており、前述の処理の場合、別のチップを搭載せずにメモリコントローラで実現することもできる。
搭載するアプリケーションに対して、カード上の動作を制御して異常動作をさせないように安全に実行できるVM(Virtual Machine)を使った方法の他に、カード外で予めアプリケーションの動作をチェックし、安全なアプリケーションだと確認できたアプリケーションだけをカードにインストールする方法もある。後者の場合、カードにVMのようなチェック機構を搭載しなくて良い分、カード1枚当たりのコストが安くなる利点がある。
カードが外部からの受信したアプリケーションを正しいものとして確認する方法に、特許文献1がある。この文献では、アプリケーション(ロードモジュール)もしくは実行可能なプログラムに対して署名データを付与し、アプリケーションとその署名をカードに送付し、正当性をカード内で検証することで、アプリケーションをカード内で実行可能にするものである。この文献に開示された技術を応用することによって、アプリケーションに対する正当性を確認することができる。
米国特許6157721号公報
しかしながら、送付するアプリケーションとカードが持つ管理状態との関係によって、カードに送付するデータに署名を含まない場合がある。また、アプリケーションと同時、もしくはその後に署名データを受信すると、署名データ自体が正しく復号できない場合でも、署名データと比較して大容量であるアプリケーションを必ず受信するため、負担が大きい。
そこで本発明は上記問題点に鑑み、アプリケーションを受信する前にカード内の管理状態を確認し、署名処理やアプリケーションの受信処理にかかる負担を軽減できるメモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システムを提供することを目的とする。
前記目的を達成するため、本発明においては以下の技術的手段を講じた。すなわち、本発明における技術的手段は、外部からのアプリケーションを識別するためのアプリケーション識別子とアプリケーションと、前記アプリケーションが参照する参照データと、前記アプリケーションに対する署名を受信し、前記アプリケーションと前記参照データの書き込みを行うメモリコントローラであって、前記メモリコントローラは、外部からデータを受信する通信手段を持ち、前記アプリケーション識別子を受信した後、前記アプリケーション識別子とアプリケーションの管理状態を管理する記憶手段(1005)にアクセスし、対象となるアプリケーションの管理状態を読み出し、その前記管理状態によって、必要なデータを判断する状態判断手段(1008)を持ち、前記通信手段を使用して前記状態判断手段が算出した結果を外部に通知することを特徴とする。
また、前記状態判断手段(1008)からの制御によって、署名検証が必要な場合は、前記署名の検証を行う暗号処理手段にアクセスし、前記署名と前記アプリケーションを渡し、アプリケーションの正当性を検証したのち、アプリケーションが正当であれば、アプリケーションを実行可能として前記記憶手段で管理する前記管理状態を変更する登録手段を有することを特徴とする。
また、前記暗号処理手段は、データの暗復号を行うデータ暗復号手段、データのハッシュを生成するハッシュ生成手段、生成した前記ハッシュと署名を復号して算出したハッシュを照合する照合手段と、を有していることが好ましい。
また、前記管理状態は、アプリケーションと参照データの両方が登録されている、アプリケーションだけが登録されている、参照データだけが登録されている、何も登録されていない、のうちの少なくとも1つであることが好ましい。
また、前記通信手段が受信するデータは、少なくとも2分割されて送信され、前記署名が第1のデータに含まれ、前記署名対象データが第2のデータに含まれており、前記署名を前記暗復号手段で復号し、前記復号データに特定の文字列が含まれていない場合に、前記第2のデータを送信しないことを外部に通知することを特徴とする。
また、本発明における技術的手段は、不揮発性メモリと、前記不揮発メモリに対してデータの読み出し、書き込みを行う前記メモリコントローラと、前記暗号処理を行う暗号処理手段と、を有した不揮発性記憶装置であって、前記不揮発性記憶装置は外部からアプリケーション識別子とアプリケーションと、前記アプリケーションが参照する参照データと、前記アプリケーションに対する署名を受信する通信手段を持ち、前記メモリコントローラは前記アプリケーション識別子を受信した後、前記アプリケーション識別子(L01)とアプリケーションの管理状態(L02)を管理する記憶手段にアクセスし、対象となるアプリケーションの前記管理状態(L02)を読み出し、その前記管理状態によって、必要なデータを判断する状態判断手段(1008)を持ち、前記通信手段を使用して前記状態判断手段が算出した結果を外部に通知することを特徴とする。
また、前記状態判断手段(1008)からの制御によって、署名検証が必要な場合、前記署名検証を行う前記暗号処理手段にアクセスし、前記署名と前記アプリケーションを渡し、アプリケーションの正当性を検証したのち、前記アプリケーションが正当であれば、前記アプリケーションを実行可能として前記記憶手段で管理する前記管理状態を変更する登録手段を有することを特徴とする。
また、前記通信手段が受信するデータは、少なくとも2分割されて送信され、前記署名が第1のデータに含まれ、前記署名対象データが第2のデータに含まれており、前記署名を前記暗復号手段で復号し、前記復号データに特定の文字列が含まれていない場合に、記第2のデータを送信しないことを外部に通知することを特徴とする。
また、本発明における技術的手段は、アプリケーションと、アプリケーションが参照する参照データと、アプリケーション識別子と、アプリケーションに対する署名を持ち、不揮発性記憶装置と通信ができるアクセス装置と、前記アクセス装置からのアクセス指示に応じてデータの読み出し、書き込みを行う不揮発性記憶装置とを有した不揮発性記憶システムであって、前記不揮発性記憶装置は、不揮発性メモリと、前記メモリからの読み出しもしくは書き込みを制御する前記メモリコントローラを有することを特徴とする。
また、本発明における技術的手段は、不揮発性メモリを有する不揮発性記憶装置と接続して使用するアクセス装置であって、前記アクセス装置は、前記不揮発性記憶装置に送信するデータを記憶する記憶手段と、前記記憶手段から前記不揮発性記憶装置に送信するデータを読み出し、前記不揮発性記憶装置が受信可能なデータに変換するプロトコル変換手段とを有し、前記不揮発性記憶装置から通知される署名検証が必要性かどうかの結果を受信し、前記結果に基づき、データの送信を制御することを特徴とする。
また、前記記憶手段は、前記アクセス装置の外部にあり通信路によって接続されている第2のアクセス装置内にあることを特徴とする。
アプリケーションを受信する前に、先に受信するアプリケーション識別子からデータ送信の必要性を検証し、無駄なデータ送信を抑えることができる。
図1はサーバ、外部機器、カードの関係図である。 図2はカード構成図である。 図3はサーバ、外部機器、カードの構成図である。 図4はプレイヤーの関係図である。 図5はアプリ開発者、サービス提供者、カード製造者、カード間での処理フローである。 図6はサーバ運用者、サービス提供者間での処理フローである。 図7Aはサーバ運用者、サーバ、外部機器、カード間での処理フロー1である。 図7Bはサーバ運用者、サーバ、外部機器、カード間での処理フロー2である。 図7Cはサーバ運用者、サーバ、外部機器、カード間での処理フロー3である。 図8は個別データである。 図9は管理データフォーマットである。 図10はサーバでのデータ格納構成とカードバージョン情報との関係図である。 図11は領域制御手段を含むカード構成図である。 図12はカードと外部機器間の通信フローである。 図13は2系統保持するカードと外部機器間の通信フローである。 図14はデータ更新時での通信フローである。 図15Aはデータ更新時の処理フロー1である。 図15Bはデータ更新時の処理フロー2である。 図16Aは2系統保持するカードとの処理フロー1である。 図16Bは2系統保持するカードとの処理フロー2である。 図16Cは2系統保持するカードとの処理フロー3である。 図16Cは2系統保持するカードとの処理フロー4である。 図17はアプリケーション識別子と管理状態の関係図である。 図18はアプリケーションに対する状態遷移図である。
符号の説明
100 カード
1001 通信手段
1002 コマンド解釈手段
1003 記憶制御手段
1004 数値計算手段
1005 記憶手段
1006 暗復号手段
1007 照合手段
1008 状態判断手段
1009 ハッシュ生成手段
1010 領域制御手段
200 外部機器
2001 通信手段
2002 プロトコル変換手段
2003 一時記憶手段
300 サーバ
3001 通信手段
3002 記憶制御手段
3003 記憶手段
P1 カード製造者
P2 アプリケーション開発者
P3 サービス提供者
P4 サーバ運用者
P5 ユーザ
P6 カード販売者
M01 製造者公開鍵
M02 製造者秘密鍵
MO3 カード公開鍵
M04 カード秘密鍵
A01 アプリケーション暗号鍵
A02 アプリケーション
A03 暗号化アプリケーション
A04 暗号化アプリケーション暗号鍵
A05 署名
H01 個別データ暗号鍵
H02 個別データ
H03 暗号化個別データ
H04 暗号化個別データ暗号鍵
H05 個別データから生成したハッシュ
H06 共通データ
H07 管理データ
H08 管理データ暗号鍵
H09 暗号化した管理データ
H10 暗号化した管理データ暗号鍵
H11 署名から取得したハッシュ
(第1の実施の形態)
本実施の形態では、図1、図3に示す通り、サーバ(300)、外部機器(200)、カード(100)の3つの機器から構成されるシステムについて説明する。サーバ(300)は、記憶手段(3003)にアプリケーションの実体となるアプリケーションコード、アプリケーションが参照するアプリケーションデータ、対応するカード情報、その他外部端末に関する情報を保持しており、記憶制御手段(3002)を経由して外部に出力する通信手段(3001)をもつ。アプリケーションコード、プログラムなど実行コード、実行可能プログラムに当たる用語を、以後アプリケーション(A02)と記載する。記憶制御手段(3002)は、通信手段(3001)経由で外部からの要求に受け、前記要求に応じて、選択的にデータを読み出すことができる。外部機器(200)は、サーバから受信したデータやコードを通信手段(2001)で受信し、カードに送信可能なコマンドに変換するプロトコル変換手段(2002)で変換した後、通信手段(2001)を使ってカードにコマンドを渡す。サーバ(300)から予めカードのコマンド仕様に準じたデータを受信した場合、外部機器(200)は、受信したデータをそのままカード(100)に送信するだけになる。カード(100)(図2参照)は、通信手段(1001)を用いて受信したコマンドを解釈するコマンド解釈手段(1002)を持ち、受信したコマンドを解釈した結果に応じて、データの配置およびデータの変換、データの演算を行う数値計算手段(1004)にデータを渡す。数値計算手段(1004)では、必要に応じて暗復号処理を行う暗復号手段(1006)とデータの比較、照合を行う照合手段(1007)、データのハッシュ値を生成するハッシュ生成手段(1009)と記憶手段(1005)を制御する記憶制御手段(1003)を用いて、暗号処理を行う。記憶手段(1005)は、カード内のデータを保持しておく部分であり、記憶制御手段(1004)を介してアクセスされる。また、記憶手段(1005)が持つアプリケーション識別子とアプリケーションの状態から署名検証が必要であるかを判断する状態判断手段(1008)を持つ。
本実施の形態では、上記システム構成とは別に、図4に示す外部機器を操作して、カードに対するデータをサーバに要求するトリガーを投げるプレイヤー(P5)(以後、ユーザとする)、アプリケーションを開発するプレイヤー(P2)(以後、アプリ開発者とする)、サービスを提供するプレイヤー(P3)(以後、サービス提供者とする)、サーバの運用を行うプレイヤー(P4)(以後、サーバ運用者とする)、カードを製造・発行するプレイヤー(P1)(以後、カード製造者とする)の5者が存在する。カード(100)をユーザに販売するプレイヤー(P6)としてカード販売者が運用上は存在するが、本実施の形態には直接関係無いので省略する。その他のプレイヤーは、ユーザから見た場合、特に意識されるものではないが、システム上、実施する処理内容が異なると想定し、分けて考える。アプリ開発者(P2)は、共通的、汎用的に配布可能なアプリケーションを開発すると想定する。そのため、このアプリケーションは、サービスを提供する複数のサービス提供者に汎用的に提供することが可能であり、サービス提供者(P3)が識別情報や鍵情報などのサービス固有の情報を入れることで、アプリケーションをカスタマイズすることができる。サービス提供者(P3)は前述したアプリケーションをカスタマイズして、実際のサービスを運営するものであると想定する。サーバ運用者(P4)は、外部機器(200)からの要求に応じて、データを出力する一般的なWebサーバを運用することを想定している。カード製造者(P1)は、カードの製造からカードに必要なデータを設定して市場で使うことができるカードの有効化までを行うものであり、アプリ開発者(P2)に開発環境の貸し出しやアプリケーションの署名付けを行うことを想定している。ここで考えたプレイヤーモデルはあくまで一例に過ぎず、一プレイヤーがいくつかのプレイヤーを兼任する場合や、もしくは一プレイヤーの処理がより細分化される場合も、本特許の範疇に含まれる。例えば、カード製造者(P1)は、カードの製造のみを行い、カードの有効化および開発環境の貸し出し、アプリケーションの署名付けを別のプレイヤーが行う場合もあり、前記では説明を省略したカード販売者が店頭でカードの有効化を行う場合やサービス提供者が作成したデータをカード製造者が受けてカードに設定する場合も想定できる。尚、サービス提供者(P3)やカード製造者(P1)がアプリ開発者(P2)を兼任する場合も考えられる。
次に図5、図6、図7A、図7B、図7Cを使って、各プレイヤーが行う処理を説明する。まず、カード製造者(P1)は、カード製造者のRSA鍵ペアを事前に生成する(S01)。そして、生成した鍵のうち、製造者のRSA公開鍵(M01)をカードに設定する(S02)。公開鍵の対称となる秘密鍵(M02)は、アプリ開発者が作成したアプリケーションに対する署名付けを行う際に用いる。また、製造するカードに格納するRSA鍵ペアを事前に生成する(S03)。生成した鍵のうち、カードのRSA公開鍵(M03)は、アプリ開発者、サービス提供者に配布される(S04)。カードのRSA秘密鍵(M04)はカードに格納される(S05)。尚、カード製造者が生成する鍵(M01、M02、M03、M04)はRSA鍵に限定されるものではなく、楕円暗号方式、DH鍵配送方式、エルガマル暗号方式など他の公開鍵暗号方式を利用しても構わない。尚、同様にRSAの鍵長も1024bit、2048bitに限定されるわけではなく、カード運用のセキュリティポリシーに則って自由に変更しても構わない。
署名付けは、アプリ開発者による申請(アプリケーション(A02)の送付)(S06)によって行われる。カード製造者は、提出されたアプリケーションの動作内容を確認し、問題がなければ、提出されたアプリケーションのハッシュデータを作成しパディング処理を施し、それに対してカード製造者のRSA秘密鍵を使って、署名を生成する(S07)。生成された署名(A05)は、アプリ開発者に提供される(S08)。尚、署名付けは、カード製造者のセキュリティポリシーによっては、アプリ開発者、またはサービス提供者に任される場合がある。その場合、カード製造者は署名付けを行うためのRSA秘密鍵(M02)を提供するか、またはRSA秘密鍵(M02)を使って、新規に生成した公開鍵ペア、もしくはアプリ開発者、またはサービス提供者が生成した公開鍵ペアに対して、証明書を生成する。その証明書をカードに送信し、カードがその証明書の有効性を確認できれば、一時的に証明書に記載された公開鍵をRSA公開鍵(M01)の代わりに署名検証処理に用いることができる。
アプリ開発者(P2)は、カード製造者(P1)から事前にカード(100)に対応した開発環境とカードの公開鍵(M03)を受託している。その開発環境を利用して、アプリ開発者はカードに対応したアプリケーション開発を行う(S09)。完成したアプリケーション(A02)は、カード製造者(P1)に送信され(S06)、署名(A05)を付与してもらう(S08)。アプリ開発者は、作成したアプリケーションをサービス提供者(P3)に譲渡するが、その際に暗号化して渡す。暗号化する理由は、カード製造者が配布した開発環境を用いて開発できるのはアプリ開発者だけであり、それを使って開発したアプリケーション内容をサービス提供者が閲覧可能であるのは秘情報の流出になるからである。プレイヤーをまたいで秘情報の共有をしている時に情報が漏洩した際、どちらの責任で漏洩が発生したかは曖昧になってしまい、最悪の場合切り分けができない事態に陥ることが考えられる。それに対して、本実施の形態では、まず、アプリ開発者が、独自に作成した鍵(A01)(以下、アプリケーション暗号鍵と呼ぶ)でアプリケーション(A02)を暗号化し、暗号化したアプリケーション(A03)を生成する(S10)。またアプリケーション暗号鍵(A01)を事前に配布されたカードの公開鍵(M03)で暗号化し、暗号化された鍵(A04)を生成する(S11)。サービス提供者(P3)には、暗号化したアプリケーション(A03)と暗号化された鍵(A04)とアプリケーションの署名(A05)を譲渡する(S12)。サービス提供者(P3)は、受け取ったどちらの暗号データ(A03、A04)も復号することができない。
サービス提供者(P3)は、アプリ開発者(P2)から受け取ったアプリケーションを個別にカスタマイズするためのデータ(以下、個別データとする)を作成する(図6:S20)。尚、作成するすべてのデータをアプリケーション1つ1つ個別にデータを変更するか、あるデータは共通化するか等については、サービスの運用ポリシーに因るところであり、考慮しない。サービス提供者(P3)が個別データ(H02)を作成する場合には、別途アプリ開発者(P2)からアプリケーションの外部仕様を受け取る必要がある。例として、最初の100バイトは識別情報、次の1000バイトは自己証明書データ、次の1000バイトはルート証明書データ、次の3000バイトはファイルシステム情報としてアプリケーションから参照するという外部仕様とする(図8を参照)。データの開始地点には長さを示す情報を設定し、その領域のどこまでを有効なデータとしてアプリケーションが参照するべきかを示す。
サービス提供者(P3)は、アプリ開発者(P2)と同様に、作成した個別データ(H02)を独自に作成した鍵(H01)(以下、個別データ暗号鍵という)で暗号化し(S21)する。そして暗号化した個別データ(H03)を作成し、個別データ暗号鍵(H01)を事前にカード製造者(P1)から配布されているカードの公開鍵(M03)で暗号化し(S22)、暗号化した個別データ暗号鍵(H04)を作成する。この際、作成した個別データ(H02)に対してハッシュ(H05)を生成する(S23)。
サービス提供者(P3)は、生成したハッシュ(H05)と、アプリ開発者から受け取った署名(A05)と、その他にサービス提供者(P3)が作成する(S24)アプリケーションを識別するための識別情報や著作権情報などのアプリケーション管理情報やサービス提供者情報(以下、共通データ(H06)という)と一緒に管理する。これを以下、管理データ(H07)という。図9に管理データ(H07)のフォーマット例を記載する。サービス提供者(P3)は、管理データ(H07)を独自に生成した鍵(以下、管理データ暗号鍵(H08)という)で暗号化し、暗号化した管理データ(H09)を作成し(S25)、管理データ暗号鍵(H08)を事前にカード製造者(P1)から配布されているカードの公開鍵(M03)で暗号化し、暗号化した管理データ暗号鍵(H10)を作成する(S26)。
個別データ暗号鍵(H01)と管理データ暗号鍵(H08)はサービス提供者自身が作成し管理するものなので、一緒でも、別途用意しても良い。別にした場合、管理の手間が増えるが、鍵漏洩におけるセキュリティ対策はより強固になるので、本実施の形態では別に用意した場合について記載する。
サービス提供者(P3)は、アプリ提供者(P2)から受け取った暗号化されたアプリケーション(A03)とアプリケーション暗号鍵を暗号化したデータ(A04)、暗号化した個別データ(H03)と個別データ暗号鍵を暗号化したデータ(H04)、暗号化した管理データ(H09)と管理データ暗号鍵(H08)を暗号化したデータ(H10)をサーバ運用者(P4)に配布する(S27)。サーバ運用者(P4)は、受け取ったすべての暗号データ(A03、A04、H03、H04、H09、H10)を復号することができない。
本実施の形態では、アプリケーション暗号鍵(A01)、個別データ暗号鍵(H01)、管理データ暗号鍵(H08)の3つの鍵に用いている暗号アルゴリズムを共通鍵暗号方式とする。ここではデータの暗復号にかかる時間や鍵長を考慮して共通鍵を選択しており、共通鍵に限定していた仕様ではなく、公開鍵暗号方式を用いてもかまわない。尚、本実施の形態では共通鍵暗号方式のAESを用いているが、何ら限定しているわけではなく、DESやT−DES、MISTY、Camellia、RC6など知られている共通鍵暗号方式でもかまわない。尚、カードが暗号方式に対応するのであれば、今後公表される共通鍵暗号方式にも対応することは可能である。
サーバ運用者(P4)は、受け取ったデータ(A03),(A04),(H03),(H04),(H09),(H10)をサーバ(300)の記憶手段(3003)に登録する(図7A:S30)。登録する際、サービス提供者(P3)から受け取ったデータが、どのカードの、どのバージョンに対応したものであるかを知る必要がある。前記情報はカードの識別情報であり、外部機器(200)がカード(100)から取得し、サーバ(300)に対してデータ要求する際に一緒にサーバ(300)に送信される情報である。サーバ(300)は前記識別情報に対応する複数の暗号データを外部機器に送信するために事前に知る必要があり、これらのデータは、サービス提供者、もしくはアプリ開発者から別途通知される情報である。カードが出力するバージョン情報とそれに対応したサーバ上のデータ管理形式の例を図10に示す。カードが前記の識別情報を出力するためにコマンドが規定されており、そのコマンドに対応したレスポンスデータで外部機器に通知される。コマンドは、カードに搭載されているアプリケーションや通信レイヤーで規定されたネゴシエーション時にやりとりされるものである。尚、1枚の1バージョンのカードだけを運用する場合には、カードの種別やバージョン情報は必要ない。
サーバ(300)が外部機器(200)からのデータ要求に対して、データを送信する順番は、管理データ暗号鍵、共通データ、個別データ暗号鍵、個別データ、アプリケーション暗号鍵、アプリケーションの順とする。尚、前記の順番は、カード内でできるだけデータを一時的に保持せず、順次処理するために行っているものであり、カードに十分な一時記憶領域が存在する場合は、これに限定するものではない。
カード(100)と外部機器(200)間の通信フローを図12に示す。まず、通信手段(1001)は管理データ暗号鍵を暗号化したデータ(H10)を外部機器(200)経由で受信し(C01)、コマンド解釈手段(1002)に渡す。コマンド解釈手段(1002)は、前記データに付与されているコマンドをチェックし、そのコマンドが何を示しているか、どの目的で使われているのかを解釈する。本実施の形態では、コマンドの内容は、カードへのアプリケーションのインストールと想定して以下の動作を記載する。コマンド解釈手段(1002)は、数値計算手段(1004)にアプリケーションのインストールであることを通知し、受信データを渡す。数値計算手段(1004)は、記憶手段(1005)が保持するカードRSA秘密鍵(M04)を記憶制御手段(1003)経由で取得し、受信データを暗復号手段(1006)で復号する(S31)。数値計算手段(1004)は復号した管理データ暗号鍵(H08)を記憶制御手段(1003)を経由して記憶手段(1005)で保持する。前記の処理が問題なく行えれば、外部機器(200)に対して正常終了という意味合いを持つコードを出力する(C02)。
次に通信手段(1001)は暗号化された管理データ(H09)を外部機器経由で受信する(C03)。数値計算手段(1004)は、前記の管理データ暗号鍵(H08)を用いて、暗復号手段(1006)で暗号化された管理データ(H09)の復号を行う(S32)。復号した管理データ(H07)は、予め規定してあるフォーマット(図9)に従っているので、数値計算手段(1004)は前記フォーマットに従って、データを読み出す。管理データ(H07)に含まれる共通データ(H06)内にあるアプリケーションを識別するためのアプリケーション識別子(L01)は、カード内の記憶手段(1005)に格納されている管理状態(L02)を読み出すために用いる。アプリケーション識別子(L01)とアプリケーションの管理状態(L02)は対で管理されている。
管理状態(L02)は、アプリケーション(A02)と個別データ(H02)の両方がインストールされているInstalled状態(J04)と、アプリケーションだけがインストールされている個別データdeleted状態(J02)と、個別データだけがインストールされているアプリケーションdeleted状態(J03)が存在し、何もインストールされていない状態(J01)を合わせて、4状態を管理状態(L02)から知る事ができる。アプリケーション識別子(L01)と管理状態(L02)の対応表を示したのが、図17である。また、それぞれの管理状態は、外部からの操作によって、遷移することが可能である(図18)。インストールされていない状態(J01)から正常にインストール処理(J05)が完了すると、Installed状態(J04)になる。Installed状態(J04)から個別データDelete処理(J09)を行うと、個別データDeleted状態(J02)になる。Installed状態(J04)からアプリケーションDelete処理(J10)を行うと、アプリケーションDeleted状態(J03)になる。また、個別データDeleted状態(J02)から個別データだけをインストールする処理(J06)を行うと、Installed状態(J04)に戻る。アプリケーションDeleted状態(J03)からアプリケーションだけをインストールする処理(J07)を行っても、Installed状態(J04)に戻る。それぞれの状態(J02、J03、J04)でAll Delete処理(J08)を行うと、未インストール状態(J01)になる。この場合、一度インストールしたアプリケーション識別子を消さないで、前記の未インストール状態として管理しても、アプリケーション識別子と状態を合わせて、図17の対応表から削除しても何ら影響はない。そのため、対象となるアプリケーション識別子が記憶手段内にない場合、もしくはアプリケーション識別子があっても未インストール状態(J01)の場合、まだインストールされていないアプリケーションとなる。
アプリケーション識別子(L01)を使って、管理状態(L02)を取得する(S33)。管理状態(L02)によって、受信した管理データから必要とするデータが変わってくる。つまり、未インストール状態(J01)であれば、すべての管理データが必要であるが、個別データDeleted状態(J02)であれば、管理データ(H07)の中からと個別データのハッシュ(H05)だけが必要になる。アプリケーションDeleted状態(J03)であれば、管理データ(H07)の中から署名(A05)だけが必要になる。管理データの中に不要なデータが含まれている場合、無視して処理を行わない。そのため、最初に送付する時点で、無視されるデータは送信しなくても、何ら問題ない。逆に、必要なデータが含まれていない場合は、エラーとなる。その場合、数値計算手段(1004)は、外部機器(200)に結果を出力する(C04)際、正常終了ではなく、フォーマット異常により終了したというエラーコードを出力する。問題なければ、管理状態(L02)よって必要な共通データ(H06)内のデータを記憶制御手段(1003)経由で記憶手段(1005)に仮格納する(S34)。尚、上記のエラーに限定したものではなく、異常動作をした場合は、事前に外部と取り交わされたその旨を示すコードを出力する。本実施の形態では、未インストール状態(J01)であり、すべての管理データが必要な場合とする。
状態によって、署名(A05)が必須のデータとなっている場合、署名に対して事前に復号処理を行う。数値計算手段(1004)は、製造者の公開鍵(M01)を使って署名(A05)を暗復号手段(1006)で復号する。復号したデータに対して、適切なパディング処理をしているか確認する。適切なパディング処理であることを確認できた場合、少なくとも適切な秘密鍵で作成された署名であることが確認できたので、対象となるハッシュ(H11)を取得する(S34−1)。
適切なパディングが確認できなかった場合は、エラーとなる。問題が無かった場合には、正常であることを外部端末(200)に通知する(C04)。正常終了であることを通知するだけではなく、次に個別データを送る必要があることを外部端末(200)に伝える方が処理を効率的にできるため好ましい。
アプリケーションの送付前に署名の復号を行う事により、署名と比べて大規模なアプリケーション(A02)が送信される前に、エラーのチェックができ、エラーの場合に無駄になる通信をなくすことができる。また、署名データが2048bitのRSAで作成されている場合、署名データサイズは256バイトになるが、ハッシュにSHA−1を利用している場合復号した後のハッシュデータだけだと20バイトになり、ハッシュだけを取りだしておく方がカード内で必要とするメモリを節約する事ができる。
次に、通信手段(1001)は個別データ暗号鍵を暗号化したデータ(H04)を外部機器(200)経由で受信し(図7B:C05)、数値計算手段(1004)に渡す。数値計算手段(1004)は、記憶手段(1005)で保持するカードRSA秘密鍵(M04)を使って、暗復号手段(1006)で復号する(S35)。復号した個別データ暗号鍵(H01)をカード内の記憶手段(1005)で保持する。次に通信手段(1001)は暗号化された個別データ(H03)を外部機器(200)経由で受信する(C07)。通信手段(1001)は、前記データを数値計算手段(1004)に渡す。数値計算手段(1004)は、前記の個別データ暗号鍵(H03)を用いて、暗号化された個別データの復号を暗復号手段(1006)で行う(S36)。個別データ(H02)の内容は、後述のアプリケーション(A02)が解釈するものであり、カードが解釈する必要はない。数値計算手段(1004)は、復号した個別データ(H02)のハッシュをハッシュ生成手段(1009)で生成し(S37)、管理データに含まれていた個別データのハッシュ(H05)と同じであるかを照合手段(1007)を用いて確認する(S38)。同じであれば、数値計算手段(1004)は、個別データを記憶制御手段(1003)経由で記憶手段(1005)に仮格納する(S39)。異なる場合、数値計算手段(1004)はインストール処理を中止する(S40)。外部機器に結果を出力する(C08)際、正常終了ではなく、ハッシュが異なるという旨を示すエラーコードを出力する。問題が無かった場合には、正常であることを外部端末(200)に通知する(C08)。正常終了であることを通知するだけではなく、次にアプリケーション(A02)を送る必要があることを外部端末(200)に伝える方が処理を効率的にできるため好ましい。
次に、通信手段(1001)は、アプリケーション暗号鍵を暗号化したデータ(A04)を外部機器(200)経由で受信し(図7C:C09)、数値計算手段(1004)に渡す。数値計算手段(1004)は、記憶手段(1005)で保持するカードRSA秘密鍵(MO4)を使って、暗復号手段(1006)で復号する(S41)。復号したアプリケーション暗号鍵(A01)をカード内の記憶手段(1005)で保持する。次に通信手段(1001)は暗号化されたアプリケーション(A03)を外部機器(200)経由で受信する(C11)。通信手段(1001)は、前記データを数値計算手段(1004)に渡す。数値計算手段(1004)は、前記のアプリケーション暗号鍵(A01)を用いて、暗号化されたアプリケーションの復号を暗復号手段(1006)で行う(S42)。アプリケーションは、事前に製造者によって動作確認されているという前提があるので、カードで新たに前記アプリケーションの動作を検証する必要はない。数値計算手段(1004)は、アプリケーションを記憶制御手段(1003)経由で記憶手段(1005)に仮格納する(S43)。カードは復号したアプリケーション(A02)のハッシュをハッシュ生成手段(1009)で生成する(S44)。署名から取得したハッシュ(H11)と、前記生成したアプリケーションのハッシュを照合手段(1007)で照合する(S45)。同じであれば、数値計算手段(1004)は、アプリケーション(A02)を記憶手段(1005)に格納する。異なる場合、数値計算手段(1004)はインストール処理を中止する(S46)。数値計算手段(1004)は、外部機器(200)に結果を出力する(C10)際、正常終了ではなく、署名が異なるという旨を示すエラーコードを出力する。同じである場合、数値計算手段(1004)はすべてのデータが正常であることを確認し、インストール処理を終了する。数値計算手段(1004)は、署名が正当である場合、署名と一緒に暗号化されていた個別データのハッシュ、共通データを正当であると判断し、該当アプリケーションに関連する共通データ、個別データ、アプリケーションをカード内で動作可能な状態として、Installed状態(J04)に変更する。具体的には、外部機器(200)からの要求によって、数値計算手段(1004)が記憶制御手段(1003)経由で記憶手段から前記管理状態(L02)を確認し、アプリケーションとして動作可能であるInstalled状態(J04)と示されていれば、アプリケーションを呼び出し、コマンド解釈手段(1002)から送られてくるコマンドをアプリケーションに渡すように動作することになる。
本発明の不揮発性記憶装置は、アプリケーション識別子(L01)とその管理状態(L02)をカード内で管理することにより、送信されてきたデータから必要なデータを取捨選択することができる。そのため、すべての処理を一律行うのではなく、必要な処理だけを行うため、インストール処理を効率的に行う事が出来る。
取捨選択することにより、カード内のリソースの消費を最小限に抑えることができ、かつ処理時間を最小化することが出来る。
また、管理状態(L02)によって署名(A05)を取得し処理できるため、事前に署名対象データを送信してよいかが分かり、カードは外部機器(200)にその情報を通知するため、外部機器(200)はカードに不要なデータを送ることがなくなり、無駄な通信を省く事が出来る。
次に、上記データの更新を行う手順を説明する。相互認証をしない場合、サーバ、カードお互いに相手のなりすましを防ぐ方法がないため、サーバはどのカードにアプリケーションがインストールされたのか管理することができず、カードは、どのサービス提供者のアプリケーションをインストールしたのか分からない。そのため、カード上のアプリケーションを更新する場合、同じサービス提供者から配布されたアプリケーションであるかをカードが確認することができない。そのため、一旦アプリケーションを削除して、再度インストールすることはできるが、更新時に最初のアプリケーションとの関連性が立証できないため、一部のデータをカードに残しておき、データ処理部だけを変更するといった更新処理を実現することが出来ない課題がある。そこで、前述のインストール方法を用いてインストールしたアプリケーションを更新する際、外部認証無しで適切なサービス提供者からのアプリケーションの更新であることを検証し、更新処理を実現する方法を以下に説明する。
データには前述したように、管理データ、個別データ、アプリケーションの3つが存在する。管理データは、個別データとアプリケーションに関連したデータを格納するため必ず存在するが、個別データ、もしくはアプリケーションだけを更新する場合が存在する。
個別データだけを更新する場合は、管理データの中に、個別データのハッシュ(H05)と、更新するアプリケーション識別子(L01)を共通データ(H06)に格納して暗号化し、暗号化した個別データと一緒に送信する。アプリケーションだけを更新する場合、管理データの中に、アプリケーションの署名と、更新するアプリケーション識別子(L01)を共通データ(H06)に格納して暗号化し、暗号化したアプリケーションと一緒に送信する。
前記の通り、本発明の不揮発性記憶装置は、個別データだけの更新の場合、署名(A05)が含まれておらず、カードは信頼性を確立できない。そのため、更新を行う場合に備え、最初にインストールする際に、個別データ暗号鍵を一緒に保存しておき、更新時には公開鍵で暗号化された鍵データから鍵を復号するのではなく、予めカード内で保持している個別データ暗号鍵を利用して復号を行う。サービス提供者しか知りえない個別データ暗号鍵を使うことができ、復号したデータのハッシュが管理データで送られてきたハッシュと一致するということは、最初にインストールしたサービス提供者(P3)、またはそれに準ずる情報を持つ代理のサービス提供者であることが分かる。この方法を使うことにより、カードによる外部認証をせず、サーバによるアプリケーション管理をすることなく、カードだけで最初のインストール時と同一のサービス提供者だけを更新可能なプレイヤーに制限できる。
アプリケーションについても、上記の方法を利用することで、最初にインストールした時のアプリ開発者(P2)だけに制限した更新処理にすることができる。アプリケーションには署名(A05)が付いているため、アプリケーション自体を改ざんすることができないが、更新時には、個別データ(H02)との関連性が見出せないため、すでにカードにインストール済みの他の個別データを持つアプリケーションに対して、アプリケーション部分だけをすり替えて他のアプリケーションの個別データを参照することができてしまう。そのため、上記のような対策により更新を行うものに対して制限を付けることが重要である。
カード(100)と外部機器(200)間の通信フローを図14で示し、図15A、図15Bを使って、各プレイヤーが行う処理フローを説明する。アプリ開発者が再度アプリケーションを開発し、サービス提供者を通じてサーバ運用者(P04)に納入され、サーバ運用者が暗号化されたアプリケーションを登録する部分について、新規インストールでのデータ準備と比較して、サービス提供者が個別データを生成しない点と個別データのハッシュを管理データに含めない点が異なるだけなので、フローについては割愛する。
サーバ運用者は、サービス提供者から納入された暗号化したアプリケーション(A03)、暗号化した管理データ(H09)、暗号化した暗号用鍵(H10)を更新用アプリケーションとして、サーバに登録する(Z00)。外部機器からの要求に対応するために、更新用アプリケーションのバージョン情報や説明などを付与して外部から明示的に分かるようにしておく。または外部機器(200)からの更新要求に予めなんらかの情報が含まれている場合は、サーバ(300)は前記情報に対応して、アプリケーションを配信することになる。その際、外部機器(200)から送信される前記情報には、アプリケーションの識別情報やカードに格納されている現在のアプリケーションのバージョン情報、カード識別情報などがある。
まず、通信手段(1001)は管理データ暗号鍵を暗号化したデータ(H10)を外部機器(200)経由で受信し(Z01)、コマンド解釈手段(1002)に渡す。コマンド解釈手段(1002)は、前記データに付与されているコマンドをチェックし、そのコマンドが何を示しているか、どの目的で使われているのかを解釈する。コマンドの内容は、アプリケーションの更新処理と想定して以下の動作を記載する。更新作業を判別する部分については、コマンド解釈手段で更新処理であるかを確認する方法と、インストール処理として最初は処理し、アプリケーションの識別子に対応するアプリケーションの状態を確認することで、次に行う処理を更新処理としてカードが自動的に認識する方法がある。本実施の形態では、コマンドによる解釈を行い、処理内容を確定する場合を記載する。
コマンド解釈手段(1002)は、数値計算手段(1004)にアプリケーションの更新処理であることを通知し、受信データを渡す。数値計算手段(1004)は、記憶手段(1005)が保持するカードRSA秘密鍵(M04)を記憶制御手段(1003)経由で取得し、受信データを暗復号手段(1006)で復号する。数値計算手段(1004)は復号した管理データ暗号鍵(H08)を記憶制御手段(1003)経由で記憶手段(1005)に保持する(S51)。前述の処理が問題なく行えれば、外部機器(200)に対して正常終了という意味合いを持つコードを出力する(Z02)。
次に通信手段(1001)は暗号化された管理データ(H09)を外部機器経由で受信する(Z03)。数値計算手段(1004)は、前述の管理データ暗号鍵(H08)を用いて、暗復号手段(1006)で暗号化された管理データ(H09)の復号を行う(S52)。復号した管理データ(H07)は、予め規定してあるフォーマット(図9)に従っているので、数値計算手段(1004)は前記フォーマットに従って、データを読み出す。更新の場合、すべてのデータが埋められているわけではなく、更新時に必要な情報が含まれていればよい。本実施の形態の場合は、アプリケーションの更新にあたるため、個別データのバージョン情報、個別データのサイズ、個別データのハッシュが記載されていなくて良く、アプリケーション識別子長、アプリケーション識別子(L01)、アプリケーションのバージョン情報、アプリケーションサイズ、アプリケーションの署名(A05)が必須になる。アプリケーションを識別するための情報は、更新するアプリケーションがカード内にあるかを調べるために用いる(S53)。また更新対象のアプリケーションが更新可能な状態を保持しているかを、記憶手段で保持しているアプリケーション識別子とその管理状態(L02)の対応表(図17)から確認する。同じ値を持つ識別子がない場合は、何も登録されていないため新規インストール処理として扱われることになるが、送信するデータには、新規インストール処理で必要なデータを含んでいる必要がある。
すでにInstalled状態(J04)の場合は、数値計算手段はインストール処理を中止する。数値計算手段は、外部機器に結果を出力する(Z04)際、正常終了ではなく、インストール済みであることを示すエラーコードを出力する。アプリケーションDeleted状態(J03)であれば、共通データを記憶制御手段(1003)経由で記憶手段(1005)に仮格納する(S54)。
アプリケーションDeleted状態(J03)は、署名(A05)が必須のデータとなっているため、署名に対して事前に復号処理を行う。数値計算手段(1004)は、製造者の公開鍵(M01)を使って署名(A05)を暗復号手段(1006)で復号する。復号したデータに対して、適切なパディング処理をしているか確認する。適切なパディング処理であることを確認できた場合、少なくとも適切な秘密鍵で作成された署名であることが確認できたので、対象となるハッシュ(H11)を取得する(S54−1)。
尚、上記のエラーに限定したものではなく、異常動作をした場合は、事前に外部と取り交わされたその旨を示すコードを出力する。問題が無かった場合には、正常であることを外部端末(200)に通知する(Z04)。正常終了であることを通知するだけではなく、次にアプリケーション(A02)を送る必要があることを外部端末(200)に伝える方が処理を効率的にできるため好ましい。
次に通信手段(1001)は暗号化されたアプリケーション(A03)を外部機器(200)経由で受信する(図15B:Z05)。通信手段(1001)は、前記データを数値計算手段(1004)に渡す。数値計算手段(1004)は、更新対象のアプリケーション識別子(L01)と管理状態がアプリケーションDeleted状態(J03)という情報から、最初のデータ格納時にデータを復号したアプリケーション暗号鍵(A01)を記憶手段(1005)から取得する(S55)。前記のアプリケーション暗号鍵(A01)を用いて、暗号化されたアプリケーションの復号を暗復号手段(1006)で行う(S56)。アプリケーションは、事前に製造者によって動作確認されているという前提があるので、カードで新たに前記アプリケーションの動作を検証する必要はない。数値計算手段(1004)は、アプリケーションを記憶制御手段(1003)経由で記憶手段(1005)に仮格納する(S57)。カードは復号したアプリケーション(A02)のハッシュをハッシュ生成手段(1009)で生成する(S58)。署名から取得したハッシュ(H11)と、前記生成したアプリケーションのハッシュを照合手段(1007)で照合する(S59)。同じであれば、数値計算手段(1004)は、アプリケーション(A02)を記憶手段(1005)に格納する。異なる場合、数値計算手段(1004)はインストール処理を中止する(S60)。数値計算手段(1004)は、外部機器(200)に結果を出力する(Z06)際、正常終了ではなく、署名が異なるという旨を示すエラーコードを出力する。同じである場合、数値計算手段(1004)はすべてのデータが正常であることを確認し、インストール処理を終了する。数値計算手段(1004)は、署名が正当である場合、署名と一緒に暗号化されていた共通データを正当であると判断し、すでにインストールされている個別データと合わせて、該当アプリケーションに関連する共通データ、アプリケーションをカード内で動作可能なInstalled状態(J04)に変更する。
また、前記の説明では、外部機器(200)とカード(100)間の通信路について詳細に記載していないが、高速に記憶部にアクセスできるが事前に領域指定ができないといけない通信路(以下、高速通信路と呼ぶ)と、それより速度は劣るが領域指定を内部で解釈して行ってくれる通信路(以下、低速通信路と呼ぶ)の2系統を保持するカード(図11)がある。
カードが複数の通信方式に対応している場合、その処理内容によって、インストール途中で方式の切り替えをしたい場合がある。サーバ上のデータが暗号化されている場合、サーバ、外部機器は、その内容を見ることができず、切り替えるタイミングを把握することができない。また、サーバが事前に切り替えるタイミングを別の平文情報として持っていても、外部機器経由で切り替えを指定した場合に、外部機器を認証ができていないカードは、そのコマンドを信用することができない課題がある。そこで、前述のダウンロード、インストール方法を用いても、カードがもつ複数の通信方法を適切に動的に切り替える方法を提供する。
カード(100)が内容を解釈してデータを格納する管理データ(H07)は、低速通信路を使ってデータを書き込む必要があるが、カードが内容を解釈しない個別データ(H02)、アプリケーションデータ(A02)は、高速通信路を使ってデータを書き込むことができる。特に個別データ、アプリケーションデータが大容量である場合は、その効果は大きく、インストール時間の短縮を図ることができる。また、低速通信路と高速通信路に分けた場合、そのデータが正常な外部機器から送られてきたかが不確かになるが、その部分は前記署名データ(A05)と前記ハッシュ(H05)が2つの通信路の関連性を保障できるため問題ない。
カードが2系統通信路を保持している場合のカード(100)と外部機器(200)間の通信フローを図13で示し、図16A、図16B、図16C、図16Dを使って、各プレイヤーが行う処理フローを説明する。
まず、通信手段(1001)は管理データ暗号鍵を暗号化したデータ(H10)を外部機器(200)経由で受信し(C01)、コマンド解釈手段(1002)に渡す。コマンド解釈手段は、前記データに付与されているコマンドをチェックし、そのコマンドが何を示しているか、どの目的で使われているのかを解釈する。本実施の形態では、コマンドの内容は、カードへのアプリケーションのインストールと想定して以下の動作を記載する。コマンド解釈手段(1002)は、数値計算手段(1004)にアプリケーションのインストールであることを通知し、受信データを渡す。数値計算手段(1004)は、記憶手段(1005)が保持するカードRSA秘密鍵(M04)を記憶制御手段(1003)経由で取得し、受信データを暗復号手段(1006)で復号する(S31)。数値計算手段(1004)は復号した管理データ暗号鍵(H08)を記憶制御手段(1003)を経由して記憶手段(1005)で保持する。前記の処理が問題なく行えれば、外部機器(200)に対して正常終了という意味合いを持つコードを出力する(C02)。
次に通信手段(1001)は暗号化された管理データ(H09)を外部機器(200)経由で受信する(C03)。数値計算手段(1004)は、前記の管理データ暗号鍵(H08)を用いて、暗復号手段(1006)で暗号化された管理データ(H09)の復号を行う(S32)。復号した管理データ(H07)は、予め規定してあるフォーマット(図9)に従っているので、数値計算手段(1004)は前記フォーマットに従って、データを読み出す。管理データ(H07)に含まれる共通データ(H06)内にあるアプリケーションを識別するためのアプリケーション識別子(L01)は、カード内の記憶手段(1005)に格納されている管理状態(L02)を読み出すために用いる。アプリケーション識別子(L01)とアプリケーションの管理状態(L02)は対で管理されている。
アプリケーション識別子(L01)を使って、管理状態(L02)を取得する(S33)。管理状態(L02)によって、受信した管理データから必要とするデータが変わってくる。つまり、未インストール状態(J01)であれば、すべての管理データが必要であるが、個別データDeleted状態(J02)であれば、管理データ(H07)の中からと個別データのハッシュ(H05)だけが必要になる。アプリケーションDeleted状態(J03)であれば、管理データ(H07)の中から署名(A05)だけが必要になる。管理データの中に不要なデータが含まれている場合、無視して処理を行わない。そのため、最初に送付する時点で、数値計算手段(1004)に無視されるデータは送信しなくても、何ら問題ない。逆に、必要なデータが含まれていない場合は、エラーとなる。その場合、数値計算手段(1004)は、外部機器(200)に結果を出力する(C04)際、正常終了ではなく、フォーマット異常により終了したというエラーコードを出力する。問題なければ、管理状態(L02)よって必要な共通データ(H06)内のデータを記憶制御手段(1003)経由で記憶手段(1005)に仮格納する(S34)。尚、上記のエラーに限定したものではなく、異常動作をした場合は、事前に外部と取り交わされたその旨を示すコードを出力する。本実施の形態では、未インストール状態(J01)であり、すべての管理データが必要な場合とする。
状態によって、署名(A05)が必須のデータとなっている場合、署名に対して事前に復号処理を行う。数値計算手段(1004)は、製造者の公開鍵(M01)を使って署名(A05)を暗復号手段(1006)で復号する。数値計算手段(1004)は、復号したデータに対して、適切なパディング処理をしているかを確認する。数値計算手段(1004)適切なパディング処理であることを確認できた場合、少なくとも適切な秘密鍵で作成された署名であることが確認できたので、対象となるハッシュ(H11)を取得する(S34−1)。
適切なパディングが確認できなかった場合は、エラーとなる。問題が無かった場合には、正常であることを外部端末(200)に通知する(C04)。
次に、通信手段(1001)は個別データ暗号鍵を暗号化したデータ(H04)を外部機器(200)経由で受信し(図16B:C05)、数値計算手段(1004)に渡す。数値計算手段(1004)は、記憶手段(1005)で保持するカードRSA秘密鍵(M04)を使って、暗復号手段(1006)で復号する(S35)。復号した個別データ暗号鍵(H01)をカード内の記憶手段(1005)で保持する。数値計算手段(1004)は、次の個別データを低速通信路ではなく、高速通信路を使ってデータを受信する判断をし、記憶制御手段(1003)からデータを展開するアドレス情報を取得し、領域制御手段(1010)に通知する(S80)。数値計算手段(1004)は、復号した個別データ暗号鍵(H01)を、領域制御手段(1010)に通知する。領域制御手段(1010)は、受信したアドレス情報を保持し、アドレス情報に対応した外部に公開するためのエリア番地とエリアサイズ(以下、前記2つの情報を合わせてエリア情報とする)を生成し、数値計算手段(1004)に送信する。数値計算手段(1004)は、前記エリア情報を外部機器に出力する(D01)。領域制御手段(1010)は、受信した個別データ暗号鍵(H01)を復号用鍵として設定する。前記エリア情報を通知するだけではなく、次に送る必要があるデータが個別データであることを識別子にして送ると、外部端末(200)は効率的に処理を行う事ができるため好ましい。
外部機器(200)は、受信したエリア情報を使って、高速通信路を利用して、書き込むエリア番地と書き込むエリアサイズをカードに通知するコマンド(以下、領域情報設定コマンドとする)を送信する(D02)。エリアサイズは、通知されたサイズより小さくなってもかまわない。通信手段(1001)は、前記領域情報設定コマンドを受信し、そのデータをコマンド解釈手段(1002)に送信する。コマンド解釈手段(1002)は、前記領域情報設定コマンドを解釈し、領域制御手段にエリア番地と書き込むサイズを通知する。領域制御手段(1004)は、エリア番地を確認し、書込みサイズを設定する(S81)。番地が異なる場合や、サイズが予め通知したサイズより大きい場合はエラーとなる。
次に通信手段(1001)は、高速通信路を使って送信された暗号化された個別データ(H03)を受信する(D03)。通信手段(1001)は、前記データをコマンド解釈手段に渡す。コマンド解釈手段(1002)は、受信したデータを領域制御手段(1010)に送信する。
領域制御手段(1010)は、前記の個別データ暗号鍵(H01)を用いて、暗号化された個別データ(H03)の復号を暗復号手段(1006)で行い(S82)、復号した個別データ(H02)を記憶手段(1005)に仮格納する(S84)。そして図16Cにおいて、領域制御手段(1010)は個別データ(H02)のハッシュをハッシュ生成手段(1009)で生成する(S83)。
次に、通信手段(1001)は、アプリケーション暗号鍵を暗号化したデータ(A04)を外部機器(200)経由で受信し(D04)、数値計算手段(1004)に渡す。数値計算手段(1004)は、領域制御手段(1010)で生成したハッシュを取得し、管理データに含まれていた個別データのハッシュ(H05)と同じであるかを照合手段(1007)を用いて確認する(S85)。異なる場合、数値計算手段(1004)はインストール処理を中止する。外部機器(200)に結果を出力する(D05)際、正常終了ではなく、ハッシュが異なるという旨を示すエラーコードを出力する(S86)。数値計算手段(1004)は、記憶手段(1005)で保持するカードRSA秘密鍵(MO4)を使って、暗復号手段(1006)でアプリケーション暗号鍵を暗号化したデータ(A04)を復号し、アプリケーション暗号鍵(A01)を取得する(S87)。次のアプリケーションデータを低速通信路ではなく、高速通信路を使ってデータを受信する判断をし、記憶制御手段(1003)からデータを展開するアドレス情報を取得し、領域制御手段(1010)に通知する。数値計算手段(1004)は、復号したアプリケーション暗号鍵(A01)を、領域制御手段(1010)に通知する。領域制御手段(1010)は、受信したアドレス情報を保持し、アドレス情報に対応した外部に公開するためのエリア番地とエリアサイズ(以下、前記2つの情報を合わせてエリア情報とする)を生成し、数値計算手段(1004)に送信する(S88)。数値計算手段(1004)は、前記エリア情報を外部機器(200)に出力する(D05)。領域制御手段(1004)は、受信したアプリケーション暗号鍵(A01)を復号用鍵として設定する。前記エリア情報を通知するだけではなく、次に送る必要があるデータがアプリケーションであることを識別子にして送ると、外部端末(200)は効率的に処理を行う事ができるため好ましい。
外部機器(200)は、受信したエリア情報を使って、高速通信路を利用して、書き込むエリア番地と書き込むエリアサイズをカードに通知するコマンド(以下、領域情報設定コマンドとする)を送信する(D06)。エリアサイズは、通知されたサイズより小さくなってもかまわない。通信手段(1001)は、前記領域情報設定コマンドを受信し、そのデータをコマンド解釈手段(1002)に送信する。次いで図16Dにおいて、コマンド解釈手段(1002)は、前記領域情報設定コマンドを解釈し、領域制御手段(1010)にエリア番地と書き込むサイズを通知する。領域制御手段(1010)は、エリア番地を確認し、書込みサイズを設定する(S89)。番地が異なる場合や、サイズが予め通知したサイズより大きい場合はエラーとなる。
次に通信手段(1001)は、高速通信路を使って送信された暗号化されたアプリケーションデータ(A03)を受信する(D07)。通信手段(1001)は、前記データをコマンド解釈手段(1002)に渡す。コマンド解釈手段(1002)は、受信したデータを領域制御手段(1010)に送信する。
領域制御手段(1010)は、前記のアプリケーション暗号鍵(A01)を用いて、暗復号手段(1006)で暗号化された個別データの復号を行う(S90)。領域制御手段(1010)はアプリケーション(A02)のハッシュをハッシュ生成手段(1009)で生成する(S91)。領域制御手段(1010)は、復号したアプリケーション(A02)を記憶手段(1005)に仮格納する(S92)。
次に、通信手段(1001)は、照合を要求するコマンドを外部機器(200)から受信し(D08)、数値計算手段(1004)に渡す。数値計算手段(1004)は、署名から取得したハッシュ(H11)と、前記取得したアプリケーションのハッシュを照合手段(1007)で照合する(S93)。異なる場合、数値計算手段(1004)はインストール処理を中止する。数値計算手段(1004)は、外部機器(200)に結果を出力する(D09)際、正常終了ではなく、ハッシュが異なるという旨を示すエラーコードを出力する。同じである場合、数値計算手段(1004)は、インストール処理を終了する(S94)。数値計算手段(1004)は、署名が正当である場合、署名と一緒に暗号化されていた個別データのハッシュ、共通データを正当であると判断し、該当アプリケーションに関連する共通データ、個別データ、アプリケーションをカード内で動作可能な状態にするために記憶手段(1005)が持つ管理状態(L02)をInstalled状態(J04)に変更する。数値計算手段(1004)は、正常終了した旨を示すコードを外部機器(200)に出力する(D09)。
本発明では、外部機器(200)は、カードからの出力データに付与された領域情報(D01、D05)を使って、高速通信路を使うタイミングと書き込み対象領域、対象領域サイズを知ることができる。外部端末は受信した前記領域情報をカードに送信して、次に高速通信路を使って書き込む領域情報とサイズをカードに伝える(D02、D06)。その次に高速通信路を使って、カードにデータ(個別データ、アプリケーションデータ)を書き込む(D03、D07)。
外部機器(200)は、前記の通信路の本数についてはカードの識別情報から判別することも可能であり、タイミングについてはカードに送信する暗号データの種別を事前に外部機器(200)が知っていれば、切り替えることが可能である。だが、データの書き込む領域についてはカードから情報を取得しないと知ることが不可能である。そのため前記領域情報を取得した時に切り替え作業を行う方が、他の判別方法を使わずに済み、効率が良い。
また、アプリ開発者(P2)がカード製造者(P1)に対して署名の申請をする方法において、アプリ開発者を物理的、視覚的、社会的に確認する方法は、システムの規定外であり、公共機関、金融機関等が実施している本人確認方法を利用しても構わない。また、生成された署名を配送する仕組みや、カード製造者(P1)からアプリ開発者(P2)に配布される開発環境を配送する仕組みにおいても同様に、一般的な配布方法を採用するとし言及しない。また、上記の開発環境を使って、署名の申請を行い、アプリ開発者先にある開発環境と製造者間で暗号セッションを構築し署名を配送することも可能であるが、開発環境の配布が正しく安全にできないと実現できない。
本実施の形態では、プレイヤーとしてアプリ開発者、サービス提供者、サーバ運用者の3者に分けているが、3者の処理内容として、共通に使うデータを構築する、個別に使うデータを構築する、それを配信するという形態に限定されるわけではない。
尚、本実施の形態で記載しているハッシュを生成する方法は一方向性関数を使っており、従来技術では、SHA−1やMD5、SHA−256などを指している。使用する目的とするところは、大規模なデータを要約し、少ないデータ量で識別することであり、前記データがすでに小さいもので、ハッシュを生成する必要がなければそのままの値を比較しても良い。
尚、本実施の形態で記載している署名は公開鍵暗号方式の場合に限って記載しているのではなく、利用する暗号アルゴリズムが共通鍵暗号方式であれば、署名はメッセージ認証コード(MAC:Massage Authentication Code)に当たる。署名の生成方法に関して、本実施の形態ではハッシュを作成してから秘密鍵にて署名を施しているが、前記ハッシュを生成する方法でも記載したが、データがすでに小さいものであれば、前記データをハッシュとして利用しても構わない。
尚、本実施の形態では、サーバと外部機器間の通信路については、HTTP、もしくはHTTPSと記載したが、それに限定されるものではなく、有線、無線に関連無く、一般的にサーバと外部機器が通信する方法であれば、本発明に何ら影響はない。よって、サーバと外部機器が独自に暗号通信を行うことも可能であり、前記暗号通信を行うことによってカードの振る舞いは変わらない。
本実施の形態において、カード(100)は、不揮発性記憶装置であり、記憶手段(1005)が不揮発性メモリであり、それ以外の通信手段(1001)、コマンド解釈手段(1002)、記憶制御手段(1003)、数値計算手段(1004)、暗復号手段(1006)、照合手段(1007)、ハッシュ生成手段(1009)がメモリコントローラで実現する機能である。
外部機器(200)は、前記不揮発性記憶装置と通信するアクセス装置であり、サーバ(300)は、前記不揮発性記憶装置に対するデータを保存しておく装置であり、アクセス装置自体が持つ記憶装置として含まれていても、何ら問題はない。この場合、前記アクセス装置と前記不揮発性記憶装置の2つを指して、不揮発性記憶システムとする。
本発明にかかる不揮発性記憶システムは、不揮発性記憶装置に対して、データの格納処理を冗長にしないために提案するものであり、半導体メモリカードはいうまでもなく、半導体メモリカード等の不揮発性記憶装置を使用した静止画記録再生装置や動画記録再生装置、あるいは携帯電話においても有益である。

Claims (9)

  1. アプリケーションを識別するためのアプリケーション識別子と前記アプリケーションの有無及び前記アプリケーションを個別にカスタマイズするためのデータである個別データの有無によって決定されるアプリケーションの管理状態とを保持する記憶手段と、
    外部と通信するための通信手段と、
    外部から受信したアプリケーション識別子を含むインストールに関するデータを解釈するための解釈手段と、
    前記解釈手段により、外部から受信した前記データから前記アプリケーション識別子を取得し、前記アプリケーション識別子から前記アプリケーションの管理状態を取得し、前記管理状態から署名検証の必要性を判断する状態判断手段と、
    前記状態判断手段からの結果を受けて、
    前記解釈手段により、外部から受信した前記データから署名対象データ、署名を取得し、
    前記署名対象データに対してハッシュ処理を行うハッシュ生成手段と、
    前記署名に対して復号処理を行う暗復号手段と、
    前記ハッシュ生成手段が生成したハッシュと前記署名を復号した際に取得したハッシュを照合する照合手段と、
    前記通信手段を使用して前記照合手段が判断した結果を外部に通知することを特徴とする不揮発性記憶装置。
  2. 前記照合手段によって、前記署名対象データの正当性を検証した結果、正当であれば前記署名対象データを実行可能として前記記憶手段で保持する前記アプリケーションの管理状態を変更する登録手段を有することを特徴とする請求項1に記載の不揮発性記憶装置。
  3. 前記通信手段が受信するデータは、少なくとも2分割されて送信され、前記署名が第1のデータに含まれ、前記署名対象データが第2のデータに含まれており、前記署名を前記暗復号手段で復号し、前記復号データに適切なパディング結果が含まれていない場合に、前記第2のデータを送信しないことを外部に通知することを特徴とする請求項2に記載の不揮発性記憶装置。
  4. アプリケーションを識別するためのアプリケーション識別子と前記アプリケーションの有無及び前記アプリケーションを個別にカスタマイズするためのデータである個別データの有無によって決定されるアプリケーションの管理状態とを保持する記憶手段にアクセスするための記憶制御手段と、
    外部と通信するための通信手段と、
    外部から受信したアプリケーション識別子を含むインストールに関するデータを解釈するための解釈手段と、
    前記解釈手段により、外部から受信した前記データから前記アプリケーション識別子を取得し、前記アプリケーション識別子から前記アプリケーションの管理状態を取得し、前記管理状態から署名検証の必要性を判断する状態判断手段と、
    前記状態判断手段からの結果を受けて、
    前記解釈手段により、外部から受信した前記データから署名対象データ、署名を取得し、
    前記署名対象データに対してハッシュ処理を行うハッシュ生成手段と、
    前記署名に対して復号処理を行う暗復号手段と、
    前記ハッシュ生成手段が生成したハッシュと前記署名を復号した際に取得したハッシュを照合する照合手段と、
    前記通信手段を使用して前記照合手段が判断した結果を外部に通知することを特徴とするメモリコントローラ。
  5. 前記照合手段によって、前記署名対象データの正当性を検証した結果、正当であれば前記署名対象データを実行可能として前記記憶手段で保持する前記アプリケーションの管理状態を変更する登録手段を有することを特徴とする請求項4に記載のメモリコントローラ。
  6. 前記通信手段が受信するデータは、少なくとも2分割されて送信され、前記署名が第1のデータに含まれ、前記署名対象データが第2のデータに含まれており、前記署名を前記暗復号手段で復号し、前記復号データに適切なパディング結果が含まれていない場合に、前記第2のデータを送信しないことを外部に通知することを特徴とする請求項5に記載のメモリコントローラ。
  7. アクセス装置と、前記アクセス装置からのアクセス指示に応じてデータの読み出し、書き込みを行う不揮発性記憶装置とを有した不揮発性記憶システムであって、
    前記不揮発性記憶装置は、
    不揮発性メモリと、
    アプリケーションを識別するためのアプリケーション識別子と前記アプリケーションの有無及び前記アプリケーションを個別にカスタマイズするためのデータである個別データの有無によって決定されるアプリケーションの管理状態とを保持する前記不揮発性記憶装置にアクセスするための記憶制御手段と、
    前記アクセス装置と通信するための通信手段と、
    前記アクセス装置から受信したアプリケーション識別子を含むインストールに関するデータを解釈するための解釈手段と、
    前記解釈手段により、外部から受信した前記データから前記アプリケーション識別子を取得し、前記アプリケーション識別子から前記アプリケーションの管理状態を取得し、前記管理状態から署名検証の必要性を判断する状態判断手段と、
    前記状態判断手段からの結果を受けて、
    前記解釈手段により、外部から受信した前記データから署名対象データ、署名を取得し、
    前記署名対象データに対してハッシュ処理を行うハッシュ生成手段と、
    前記署名に対して復号処理を行う暗復号手段と、
    前記ハッシュ生成手段が生成したハッシュと前記署名を復号した際に取得したハッシュを照合する照合手段からなるメモリコントローラを有し、
    前記通信手段を使用して前記照合手段が判断した結果を前記アクセス装置に通知することを特徴とする不揮発性記憶システム。
  8. 請求項1に記載の不揮発性記憶装置と接続して使用するアクセス装置であって、
    前記アクセス装置は、
    前記不揮発性記憶装置と通信するための通信手段と、
    前記不揮発性記憶装置に送信するアプリケーション識別子を含むインストールに関するデータを記憶する記憶手段と、
    前記記憶手段から前記不揮発性記憶装置に送信する前記データを読み出し、前記不揮発性記憶装置が受信可能なデータに変換するプロトコル変換手段を有し、
    前記不揮発性記憶装置から通知される署名検証が必要かどうかの結果を受信し、前記結果に基づき、前記不揮発性記憶装置との通信を制御することを特徴とするアクセス装置。
  9. 前記記憶手段は、前記アクセス装置の外部にあり通信路によって接続されている第2のアクセス装置内にあることを特徴とする請求項8に記載のアクセス装置。
JP2009516180A 2007-05-24 2008-05-23 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置 Active JP5400611B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009516180A JP5400611B2 (ja) 2007-05-24 2008-05-23 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007137649 2007-05-24
JP2007137649 2007-05-24
PCT/JP2008/001289 WO2008146476A1 (ja) 2007-05-24 2008-05-23 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置
JP2009516180A JP5400611B2 (ja) 2007-05-24 2008-05-23 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置

Publications (2)

Publication Number Publication Date
JPWO2008146476A1 JPWO2008146476A1 (ja) 2010-08-19
JP5400611B2 true JP5400611B2 (ja) 2014-01-29

Family

ID=40074751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009516180A Active JP5400611B2 (ja) 2007-05-24 2008-05-23 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置

Country Status (3)

Country Link
US (2) US20100083006A1 (ja)
JP (1) JP5400611B2 (ja)
WO (1) WO2008146476A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5400611B2 (ja) * 2007-05-24 2014-01-29 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置
JP5369916B2 (ja) * 2009-06-11 2013-12-18 ソニー株式会社 カード管理装置およびカード管理システム
KR101671188B1 (ko) * 2009-06-16 2016-11-01 주식회사 케이티 범용 가입자 식별 모듈 인증 방법 및 그 시스템
KR101279213B1 (ko) * 2010-07-21 2013-06-26 삼성에스디에스 주식회사 시스템 온 칩 기반의 안티-멀웨어 서비스를 제공할 수 있는 디바이스 및 그 방법과 인터페이스 방법
US8874696B1 (en) * 2010-12-17 2014-10-28 Emc Corporation Common cache service
US20120331303A1 (en) * 2011-06-23 2012-12-27 Andersson Jonathan E Method and system for preventing execution of malware
CN102842007B (zh) * 2012-07-16 2015-03-11 腾讯科技(深圳)有限公司 移动终端应用程序的访问控制方法和系统
JP6131551B2 (ja) * 2012-09-18 2017-05-24 株式会社リコー 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
JP6426411B2 (ja) * 2014-09-10 2018-11-21 株式会社東芝 Icカード及び携帯可能電子装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008146476A1 (ja) * 2007-05-24 2008-12-04 Panasonic Corporation メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157721A (en) * 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
JPH08315090A (ja) * 1995-05-23 1996-11-29 Toshiba Corp Icカードリーダライタおよびデータ伝送方法
US5960086A (en) * 1995-11-02 1999-09-28 Tri-Strata Security, Inc. Unified end-to-end security methods and systems for operating on insecure networks
US6496930B1 (en) * 1997-12-18 2002-12-17 Matsushita Electric Industrial Co., Ltd. Message receiving apparatus and message transmitting apparatus
EP1125262A1 (en) * 1998-10-27 2001-08-22 Visa International Service Association Delegated management of smart card applications
EP1179240B1 (en) * 2000-03-09 2014-01-08 Panasonic Corporation Audio data playback management system
JP2002318692A (ja) * 2001-04-19 2002-10-31 Sony Corp インストール支援システム、インストール支援装置、インストール支援方法、インストールを支援するためのプログラムおよびそのプログラムを記録した記録媒体
US7631107B2 (en) * 2002-06-11 2009-12-08 Pandya Ashish A Runtime adaptable protocol processor
US20040088262A1 (en) * 2002-11-06 2004-05-06 Alacritech, Inc. Enabling an enhanced function of an electronic device
US20050195975A1 (en) * 2003-01-21 2005-09-08 Kevin Kawakita Digital media distribution cryptography using media ticket smart cards
US7337324B2 (en) * 2003-12-01 2008-02-26 Microsoft Corp. System and method for non-interactive human answerable challenges
JP4164036B2 (ja) * 2004-02-05 2008-10-08 トレンドマイクロ株式会社 ネットワークを介して提供されるプログラムに対する受信装置上でのセキュリティの確保
JP2008527847A (ja) * 2005-01-06 2008-07-24 テーベラ・インコーポレーテッド 終端間パブリッシュ/サブスクライブ・ミドルウェア・アーキテクチャ
CN101853353B (zh) * 2005-02-14 2012-07-18 松下电器产业株式会社 应用程序执行装置、应用程序执行方法
WO2006129813A1 (en) * 2005-05-31 2006-12-07 Matsushita Electric Industrial Co., Ltd. Broadcast recording and reproduction apparatus with expiration date management unit
JP4774811B2 (ja) * 2005-06-03 2011-09-14 大日本印刷株式会社 Icカード用icモジュール、icカード及びicカードのプログラム
WO2008108084A1 (ja) * 2007-03-02 2008-09-12 Panasonic Corporation 再生装置、システムlsi、初期化方法
JP4956292B2 (ja) * 2007-06-25 2012-06-20 パナソニック株式会社 情報セキュリティ装置およびカウンタ制御方法
JP4371327B2 (ja) * 2007-10-24 2009-11-25 富士通株式会社 申請処理プログラム、申請処理方法、および仲介サーバ装置、並びに仲介サーバシステム
EP2326102A1 (en) * 2008-09-18 2011-05-25 Panasonic Corporation Reproduction device, reproduction method, and reproduction program for stereoscopically reproducing video content
JP5155441B2 (ja) * 2009-02-17 2013-03-06 パナソニック株式会社 再生方法、再生装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008146476A1 (ja) * 2007-05-24 2008-12-04 Panasonic Corporation メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置

Also Published As

Publication number Publication date
US20100083006A1 (en) 2010-04-01
JPWO2008146476A1 (ja) 2010-08-19
US20140040631A1 (en) 2014-02-06
WO2008146476A1 (ja) 2008-12-04

Similar Documents

Publication Publication Date Title
JP5400611B2 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置
US7162645B2 (en) Storage device including a non-volatile memory
US7219227B2 (en) Data distribution system and recording device and data provision device used therefor
US7844819B2 (en) Application authentication system
JPWO2008018457A1 (ja) メモリコントローラ、セキュアメモリカード、及びセキュアメモリカードシステム
DK2271140T3 (en) Robust and flexible management of digital rights (DRM) with an IDENTITY module secured against manipulation
US7958353B2 (en) Information security device
JP4701733B2 (ja) 管理サーバ、機器、およびライセンス管理システム
US7496756B2 (en) Content usage-right management system and management method
JP4790021B2 (ja) Srmのデジタル著作権管理方法及び装置
US20060168580A1 (en) Software-management system, recording medium, and information-processing device
US20110131421A1 (en) Method for installing an application on a sim card
CN102075513B (zh) 用于可再生性的装置、系统和方法与数字内容保护系统
US20030051016A1 (en) Address management system, anycast address setting apparatus, communication terminal, information storage device, address management method, and computer program
WO2009157133A1 (ja) 情報処理装置、情報処理方法、これらを実現するコンピュータプログラム及び集積回路
US20090013193A1 (en) Circuit Building Device
WO2003075599A1 (en) Server device, communication device, and program for managing contents usage
JP5391743B2 (ja) 決済処理セキュリティ情報配信方法、決済処理セキュリティ情報配信システム、そのセンタ装置、サーバ装置、決済端末、及びプログラム
JP4755772B2 (ja) 端末装置のプログラムデータ遠隔更新システム
JP4610651B2 (ja) 装置管理におけるブートストラップメッセージ保安送信方法及び装置
JP2007528527A (ja) ライセンス情報管理装置およびライセンス情報管理方法
JP4708754B2 (ja) サーバクライアントシステム、クライアント、データ処理方法、およびプログラム
WO2023042258A1 (ja) 電子機器、電子機器の制御方法、及びプログラム
JP2004252578A (ja) 提供元のicカード、提供先のicカード、情報授受媒介装置、icカード間情報授受システム、icカードプログラム、プログラム及びicカード間情報授受方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110428

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120207

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130905

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131025

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250