説明

非接触IC記録媒体、記録媒体管理プログラムおよび記録媒体管理方法

【課題】正規のユーザによるICタグやICカードのデータ更新を容易にするとともに、ICタグやICカードのセキュリティを向上させること。
【解決手段】コマンド実行部130aが、WORM領域設定およびロック・アンロック設定に係る情報を含んだWORM AREA SETコマンドを受信し、該WORM AREA SETコマンドによって指定される領域を、WORM領域およびロック・アンロック状態に設定する。そして、WORM領域に設定された領域は、一度データを書き込んだ後、書き込んだデータの変更や削除が不可能となり、ロック状態に設定された領域は、データの書き込みが禁止される。また、コマンド実行部130aは、アンロック状態の領域にデータを書き込んだ後、データを書き込んだ領域をロック状態に変更する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リーダライタからの無線による指示に応答して動作する非接触IC記録媒体などに関し、特に、セキュリティを向上させることができる非接触IC記録媒体、記録媒体管理プログラムおよび記録媒体管理方法に関する。
【背景技術】
【0002】
近年、RFID(Radio Frequency Identification)が、物流管理システム、ユーザ認証システム、電子マネーシステム、交通システムなどの様々な場面で利用されつつある。例えば、物流管理システムでは、配達伝票やタグの代わりにデータが記録されたIC(Integrated Circuit)タグを利用して荷物の仕分けや、在庫管理などが行われており、ユーザ認証システムでは、個人情報などを記録したICカードを利用して、入室管理などを行っている。
【0003】
しかしながら、ICタグやICカードに記録されたデータは、パスワードによって保護されているため、パスワードが第3者に漏洩した場合には、ICタグやICカードに記録されたデータが第3者によって、不正なデータに書き換えられてしまう恐れがあり、セキュリティ上の問題があった。
【0004】
そこで、特許文献1に公開された技術では、ICタグにワンタイムパスワードを設定し、必要なデータをICタグに書き込んだ後に、ワンタイムパスワードを消去することで、ICタグのデータ改竄を防いでいる。
【0005】
また、特許文献2に公開された技術では、ICカードに非接触外部インターフェースおよび接触外部インターフェースの2種類の外部インターフェースを保持させ、ICカードは、双方の外部インターフェースにアクセスされた場合にのみ、データ書き込みを許可することで、データの不正な更新を防いでいる。
【0006】
【特許文献1】特開2003−337928号公報
【特許文献2】特開2002−24785号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、従来に係る技術では、セキュリティを向上させた反面、ICタグおよびICカードのデータを、正規のユーザが効率よく変更することができなくなるという問題があった。
【0008】
例えば、ICタグに設定されたワンタイムパスワードが消去された後、ICタグに記録したデータに誤りが見つかった場合には、誤ったデータを修正することができないため、新たなICタグを用意する必要がある。
【0009】
また、2種類の外部インターフェースを利用して、データをICカードに書き込む場合でも、正規のユーザが、データをICカードに書き込む場合に、ICカード一枚一枚に対して、定められた2種類のインターフェースを利用する必要があるため、ユーザにかかる負担が大きい。
【0010】
すなわち、正規のユーザによるICタグやICカードのデータ更新を容易にするとともに、ICタグやICカードのセキュリティを向上させることが極めて重要な課題となっている。
【0011】
この発明は、上述した従来技術による問題点を解消し、課題を解決するためになされたものであり、正規ユーザによるICタグやICカードのデータ更新を容易にしつつ、ICタグやICカードのセキュリティを向上させることができる非接触IC記録媒体、記録媒体管理プログラムおよび記録媒体管理方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
上述した課題を解決し、目的を達成するため、本発明は、リーダライタからの無線による指示に応答して動作する非接触IC記録媒体であって、データの書き込みを禁止する領域を示す書き込み禁止領域を設定する書き込み禁止領域設定手段と、書き込みデータを受信した場合に、該データを書き込む領域が、書き込み禁止領域であるか否かを判定する領域判定手段と、前記領域判定手段が、書き込み禁止領域でないと判定した場合に、該当領域にデータを書き込み、該書き込んだ領域を書き込み禁止領域に変更する書き込み処理手段と、を備えたことを備えたことを特徴とする。
【0013】
また、本発明は、上記発明において、一回目のデータ書き込みを許可し、一度書き込んだデータの消去および変更を禁止する領域を示す変更禁止領域を設定する変更禁止領域設定手段を更に備えたことを特徴とする。
【0014】
また、本発明は、上記発明において、前記書き込み禁止領域を、データ書き込み可能な通常の領域に変更する禁止領域変更手段を更に備えたことを特徴とする。
【0015】
また、本発明は、上記発明において、前記禁止領域変更手段は、前記書き込み禁止領域を、通常の領域に変更する旨の命令を受取った際に、該命令に含まれるパスワードと、前記書き込み禁止領域に対応する領域パスワードとを比較し、双方のパスワードが等しい場合に、前記書き込み禁止領域を通常の領域に変更することを特徴とする。
【0016】
また、本発明は、上記発明において、前記変更禁止領域を、データの変更および消去可能な通常の領域に変更する領域変更手段を更に備えたことを特徴とする。
【0017】
また、本発明は、上記発明において、前記領域変更手段は、前記変更禁止領域を、通常の領域に変更する旨の命令を受取った際に、該命令に含まれるパスワードと、前記変更禁止領域に対応する領域パスワードとを比較し、双方のパスワードが等しい場合に、前記変更禁止領域を、通常の領域に変更することを特徴とする。
【0018】
また、本発明は、上記発明において、前記領域パスワードを変更するパスワード変更手段を更に備えたことを特徴とする。
【0019】
また、本発明は、リーダライタからの無線による指示に応答して動作する非接触IC記録媒体を管理する記録媒体管理プログラムであって、データの書き込みを禁止する領域を示す書き込み禁止領域を設定する書き込み禁止領域設定手順と、書き込みデータを受信した場合に、該データを書き込む領域が、書き込み禁止領域であるか否かを判定する領域判定手順と、前記領域判定手順が、書き込み禁止領域でないと判定した場合に、該当領域にデータを書き込み、該書き込んだ領域を書き込み禁止領域に変更する書き込み処理手順と、をコンピュータに実行させることを特徴とする。
【0020】
また、本発明は、リーダライタからの無線による指示に応答して動作する非接触IC記録媒体を管理する記録媒体管理方法であって、データの書き込みを禁止する領域を示す書き込み禁止領域を設定する書き込み禁止領域設定工程と、書き込みデータを受信した場合に、該データを書き込む領域が、書き込み禁止領域であるか否かを判定する領域判定工程と、前記領域判定工程が、書き込み禁止領域でないと判定した場合に、該当領域にデータを書き込み、該書き込んだ領域を書き込み禁止領域に変更する書き込み処理工程と、を含んだことを特徴とする。
【発明の効果】
【0021】
本発明によれば、データの書き込みを禁止する領域を示す書き込み禁止領域を設定し、書き込みデータを受信した場合に、該データを書き込む領域が、書き込み禁止領域であるか否かを判定し、書き込み禁止領域でないと判定した場合に、該当領域にデータを書き込み、該書き込んだ領域を書き込み禁止領域に変更するので、第三者による不正なデータ改竄を防ぐとともに、正規のユーザは、効率よく非接触IC記録媒体にデータを書き込むことができる。
【発明を実施するための最良の形態】
【0022】
以下に添付図面を参照して、この発明に係る非接触IC記録媒体、記録媒体管理プログラムおよび記録媒体管理方法の好適な実施の形態を詳細に説明する。
【実施例】
【0023】
まず、本実施例に係るICタグシステムのシステム構成について説明する。図1は、本実施例に係るICタグシステムのシステム構成を示すブロック図である。同図に示すように、このICタグシステムは、IC(Integrated Circuit)タグ100と、リーダライタ200と、PC(Personal Computer)300とから構成される。また、ICタグ100およびリーダライタ200は、無線によって相互にデータ通信を行う。
【0024】
また、リーダライタ200およびPC300は、USB(Universal Serial Bus)またはLAN(Local Area Network)などによって相互に接続され、相互にデータ通信を行う。
【0025】
PC300は、ICタグ100に対する命令などを生成し、該生成した命令などを、リーダライタ200を利用してICタグ100に送信する。また、PC300は、ICタグ100に記録されたデータを、リーダライタ200を利用して受信する。また、PC300は、上位APL(Application)300a、ミドルウェア300bおよびドライバ300cを有する。
【0026】
上位APL300aは、図示しないサーバまたは入力装置などからICタグ100のID(Identification)やパスワードなどの情報を取得し、該取得したID、パスワードおよびICタグ100に対する命令などを、ミドルウェア300bに渡す。
【0027】
ミドルウェア300bは、上位APL300aおよびドライバ300c間でのデータの受け渡しをおこなう。
【0028】
ドライバ300cは、リーダライタ200とのインターフェース制御などを行う。また、ドライバ300cは、上位APL300aから渡されるデータをリーダライタ200に送信し、リーダライタ200から受信するデータを、ミドルウェア300bを介して、上位APL300aに渡す。
【0029】
リーダライタ200は、PC300から受信するデータに含まれる命令を理解し、ICタグ100にデータの書き込みを行う。また、リーダライタ200は、ICタグ100に含まれるデータを読み出して、読み出したデータをPC300に送信する。なお、リーダライタ200は、リーダライタファーム200aおよびRFモジュール200bを有する。
【0030】
リーダライタファーム200aは、PC300とのインターフェース制御や、PC300から送信される命令を理解する処理部であり、RFモジュール200bは、アンテナ(図示しない)を利用して、ICタグ100に対するデータの書き込みや読み込みを行う処理部である。
【0031】
次に、図1に示したICタグ100の構成について説明する。図2は、図1に示したICタグ100の構成を示す機能ブロック図である。同図に示すように、このICタグ100は、アンテナ110と、RF部120と、ロジック部130と、メモリ140とを有する。
【0032】
RF部120は、アンテナ110を利用して、リーダライタ200とデータ通信などを行う処理部であり、データ送受信部120aと、制御クロック生成部120bと、電源生成部120cとを有する。
【0033】
データ送受信部120aは、アンテナ110を利用してリーダライタ200からデータを受信し、受信したデータをロジック部130に渡す。また、データ送受信部120aは、ロジック部130から受取ったデータを、アンテナ110を利用してリーダライタ200に送信する。
【0034】
制御クロック生成部120bは、制御クロックを生成し、該生成した制御クロックをロジック部130に供給する。
【0035】
電源生成部120cは、アンテナ110を利用して、リーダライタ200から送信される電磁界を電力に変換し、該変換した電力をロジック部130およびメモリ140に供給する。
【0036】
ロジック部130は、RF部120から渡されるデータに含まれる命令にしたがって、メモリ140に対して所定の処理を行う処理部である。ロジック部130は、コマンド実行部130aと、コマンド判定部130bとを有する。
【0037】
コマンド実行部130aは、RF部120から渡されるデータに含まれる命令に基づいた処理を行う。なお、RF部120から渡されるデータに含まれる命令は、WORM AREA SETコマンド、WORM AREA STATUSコマンド、WRITEコマンド、KILLコマンド、READコマンド、GROUP SELECTコマンドが存在する。
【0038】
まず、コマンド実行部130aが、WORM AREA SETコマンドを受取った場合の処理について説明する。この、WORM AREA SETコマンドは、WORM(Write Once Read only Memory)領域設定およびロック・アンロック設定、または該WORM領域、ロック・アンロック設定を許可するために利用するパスワード(以下、領域設定パスワードと表記する)の変更を行うための命令である。
【0039】
ここで、WORM領域設定とは、一回のデータ書き込みは許可するが、一度書き込んだデータの変更や消去は禁止し(データの追記は許可する)、読み出すことのみ可能となるWORM領域を設定するものである。WORM領域に設定された領域では、WORM領域の設定が解除されるまで、WORM領域に書き込まれたデータの改竄などを防ぐことが可能となり、ICタグ100のセキュリティを高めることが可能となる。
【0040】
また、ロック・アンロック設定とは、特定の領域を、データの書き込みを許可しないロック状態、またはデータの書き込みを許可するアンロック状態のいずれかに設定することである。また、コマンド実行部130aは、アンロック状態の領域にデータを書き込んだ後、該アンロック状態の領域を、ロック状態に変更する。
【0041】
なお、WORM領域の設定、およびロック・アンロック設定は、領域設定パスワードを利用することで可能となるため、領域設定パスワードを知らないユーザは、WORM領域設定およびロック・アンロック設定を行うことができない。なお、領域設定パスワードの変更に関しては後述する。
【0042】
また、WORM領域設定およびロック・アンロック設定は、メモリ140に含まれるWORM設定領域140cに対して行うこととなる。図3は、WORM設定領域のデータ構造の一例を示す図である。
【0043】
図3に示すように、このWORM設定領域140cは、第1領域、第2領域、第3領域および第4領域の合計4つの領域が存在する。なお、ここでは、説明の便宜上、4つの領域のみを示したが、任意の数の領域を設定することもできる。
【0044】
また、各領域には、各領域固有の領域設定パスワードが設定されている。すなわち、第1領域のWORM領域設定およびロック・アンロック設定を行うには、第1領域パスワードが必要となり、第2領域のWORM領域設定およびロック・アンロック設定を行うためには、第2領域パスワードが必要となる。
【0045】
同様に、第3領域のWORM領域設定およびロック・アンロック設定を行うためには、第3領域パスワードが必要となり、第4領域のWORM領域設定およびロック・アンロック設定を行うためには、第4領域パスワードが必要となる。なお、領域設定パスワードが適切か否かの判断は、コマンド判定部130bが行うことになる。
【0046】
また、コマンド判定部130bは、領域パスワードが適切か否かの判断で、領域パスワードが適切でないと判断した場合には、当該領域パスワードに対応するパスワード照合不一致フラグを領域パスワード記憶部140bにセットする。このパスワード照合不一致フラグは、該当する領域パスワードの照合が成功し、WORM AREA SETコマンドのレスポンスを返却した際にリセットされる。
【0047】
なお、パスワード照合不一致フラグがセットされている間は、当該領域に対するWORM AREA SETコマンドを受付けてから領域パスワードの照合を開始するまでに所定時間のインターバルをおく。
【0048】
なお、第1領域パスワード、第2領域パスワード、第3領域パスワードおよび第4領域パスワードは、領域パスワード記憶部140bが保持する。
【0049】
また、各領域において、所定バイトごとに、WORM領域設定用フラグおよびロック・アンロック設定用フラグが存在し、該WORM領域設定フラグおよびロック・アンロック設定フラグを立てることで、対応する領域がWORM領域およびロック・アンロック状態となる。
【0050】
例えば、所定バイトからなる領域141をWORM領域かつ、ロック状態に設定する場合には、ロック・アンロック設定用フラグ領域142にビットを立て、WORM領域設定用フラグ領域143にビットを立てる。その他の領域も、対応するWORM領域設定用フラグ領域およびロック・アンロック設定用フラグ領域にビットを立てることで、WORM領域およびロック状態に設定することができる。
【0051】
なお、ロック・アンロック設定用フラグ領域にビットが立っていない場合には、対応する領域が、アンロック状態であることを示し、WORM領域設定用フラグ領域にビットが立っていない場合には、WORM領域でないことを示す。
【0052】
ところで、WORM設定領域140cの第1領域には、システムエリアが存在する。図4は、システムエリアのデータ構造の一例を示す図である。同図に示すように、システムエリアには、タグID、タグ・メーカ、タグのハードウェア種、タグメモリのレイアウトおよびシステムリザーブにかかる情報を含んでいる。
【0053】
また、システムエリアに対応する領域は、予め、WORM領域およびロック状態に設定されており、該設定の変更は行えない。すなわち、システムエリアに対するWORM領域およびロック状態の解除を行う旨の命令を、コマンド実行部130aが受取った場合には、エラーをリーダライタ200に送信することになる。
【0054】
次に、WORM AREA SETコマンドのデータ構造の説明を行う。図5は、WORM AREA SETコマンドのデータ構造の一例を示す図である。同図に示すように、WORM AREA SETコマンド400は、プリアンブル410と、デリミタ420と、コマンド430と、ID440と、アドレス450と、パスワード460と、ビットマップデータ470と、新パスワード設定領域480と、CRC(Cyclic Redundancy Check)490とを含む。
【0055】
ここで、プリアンブル410およびデリミタ420は、それぞれ、データの開始およびデータの区切りを通知するための情報を格納し、CRC480は、WORM AREA SETコマンド400にエラーが含まれているか否かを検査するためのデータを格納する。また、コマンド430は、WORM AREA SETコマンドを識別するためのデータを含む。つまり、コマンド実行部130aは、コマンド430に格納されたデータを参照することで、リーダライタ200からの命令がWORM AREA SETコマンドであることを把握する。
【0056】
ID440は、WORM AREA SETコマンドの実行対象となる1Cタグを識別するためのデータを格納する。コマンド判定部130bは、ID440に含まれるデータと、メモリ140のWORM設定領域140bに含まれるICタグ100のIDとを比較し、結果をコマンド実行部130aに通知する。
【0057】
つまり、コマンド実行部130aは、ID440に格納されたデータと、ICタグ100のIDとの双方が等しい場合に、WORM AREA SETコマンドを実行し、双方が等しくない場合には、WORM AREA SETコマンドを実行しない。
【0058】
アドレス450は、後述するビットマップデータ470に含まれるデータの内容や、該ビットマップデータ470に含まれるデータを書き込むメモリの位置を指定するための情報を格納する。具体的には、図6に示すように、アドレス450は、WORM設定領域アドレス451と、PWアドレス452とを格納している。
【0059】
WORM設定領域アドレス451は、WORM領域の設定を行う領域およびロック・アンロック設定を行う領域を特定するデータを格納する。
【0060】
PWアドレス452は、領域設定パスワードを変更する場合に、該領域設定パスワードの変更する位置を特定するためのデータを格納する。
【0061】
パスワード460は、領域設定パスワードを含んでいる。なお、領域設定パスワードは、WORM領域設定およびロック・アンロック設定をおこなう位置によって異なった領域設定パスワードとなる。
【0062】
ビットマップデータ470は、図7に示すように、ロック状態ビットマップ471と、WORM領域ビットマップ472とを格納する。
【0063】
ロック状態ビットマップ471は、WORM領域アドレス451によって特定されるWORM設定領域140cの位置から所定領域までのロック・アンロック設定に係るデータを格納する。
【0064】
また、WORM領域ビットマップ472は、WORM領域アドレス451によって特定されるWORM設定領域140cの位置から所定領域までのWORM領域設定に係るデータを格納する。
【0065】
すなわち、コマンド実行部130aは、WORM領域アドレス451と、ロック状態ビットマップ471と、WORM領域ビットマップ472とを基に、WORM設定領域140cのロック・アンロック設定用フラグ領域およびWORM領域設定用フラグ領域にビットを立てることになる。
【0066】
図8は、ロック状態ビットマップ471およびWORM領域ビットマップ472の具体例を示す図である。同図に示すように、ロック状態ビットマップ471は、b4、b5、b6およびb7を含み、WORM領域ビットマップ472は、b0、b1、b2およびb3を含む。
【0067】
ここで、b4〜7は、ロック・アンロック設定用フラグ領域のフラグを立てるか立てないかの情報を含み、b0〜3は、WORM領域設定用フラグ領域のフラグを立てるか立てないかの情報を含む。具体的には、b0〜7は、「1」または「0」のいずれかの値を保持しており、「1」を保持する場合には、フラグを立てることを意味し、「0」を保持する場合には、フラグを立てないことを意味する。
【0068】
例えば、図3に示すように、WORM領域アドレス451によって特定される領域が145の場合には、ロック・アンロック設定用フラグ領域146がb4に対応し、WORM領域設定用フラグ領域147がb0に対応する。また、ロック・アンロック設定用フラグ領域148〜150は、それぞれb5〜7に対応し、WORM領域設定用フラグ領域151〜153は、それぞれb1〜3に対応する。
【0069】
すなわち、コマンド実行部130aは、WORM領域アドレス451によって特定されるWORM設定領域140cの位置から4領域分のWORM領域設定およびロック・アンロック設定を同時に行う。
【0070】
新パスワード設定領域480は、領域設定パスワードを変更する場合に、変更後の領域設定パスワードが格納される。
【0071】
なお、コマンド実行部130aは、領域設定パスワードを変更した場合には、該変更した最新の領域設定パスワードをリーダライタ200に送信することになる。なぜなら、領域設定パスワードを変更する際には、変更前の領域設定パスワードでは変更が行えないためである。
【0072】
また、本実施例では、一回のWORM AREA SETコマンドで全ての領域設定パスワードを変更したがこれに限定されるものではなく、例えば、複数回以上のWORM AREA SETコマンドで全ての領域設定パスワードを変更しても良い。
【0073】
次に、コマンド実行部130aが、WORM AREA STATUSコマンドを受取った場合の処理について説明する。この、WORM AREA STATUSコマンドを受取った場合、コマンド実行部130aは、指定された領域に対するWORM領域設定の状況およびロック・アンロック設定の状況を、PC300に通知する。
【0074】
図9は、WORM AREA STATUSコマンドのデータ構造の一例を示す図である。同図に示すように、WORM AREA STATUSコマンド500は、プリアンブル510と、デリミタ520と、コマンド530と、ID540と、アドレス550と、CRC560とを含む。
【0075】
ここで、プリアンブル510、デリミタ520およびCRC560は、図5に示したプリアンブル410、デリミタ420およびCRC480と等しいため説明を省略する。また、コマンド530は、WORM AREA STATUSコマンドを識別するためのデータを格納する。
【0076】
ID540は、WORM AREA STATUSコマンドの実行対象となる1Cタグを識別するためのデータを含む。コマンド判定部130aは、ID540に含まれるデータと、WORM設定領域140cに含まれるICタグ100のIDとを比較し、比較結果をコマンド実行部130aに渡す。
【0077】
そして、コマンド実行部130aは、ID540に含まれるデータと、ICタグ100のIDとの双方が等しい場合に、WORM AREA STATUSコマンドを実行し、双方が等しくない場合には、WORM AREA STATUSコマンドを実行しない。
【0078】
アドレス550は、WORM設定領域140cにおいて、WORM領域設定の状況およびロック・アンロック設定の状況の調査対象となる位置を特定するための情報を含む。
【0079】
すなわち、WORM AREA STATUSコマンドを受取ったコマンド実行部130aは、アドレス550に含まれる情報を基にして、WORM設定領域140c内の領域を特定し、該特定した領域に係るWORM領域設定の状況およびロック・アンロック設定の状況を、PC300に通知することになる。
【0080】
図10は、コマンド実行部130aが作成するWORM AREA STATUSコマンドに対する出力データである。同図に示すように、この出力データは、プリアンブル570と、ビットマップ580と、CRC590とを含む。ここで、プリアンブル570およびCRC590は上述したプリアンブル410およびCRC480と同様であるため説明を省略する。
【0081】
ビットマップ580は、指定された領域に対するWORM領域設定の状況およびロック・アンロック設定の状況に係る情報を格納する。図11は、出力データのビットマップの一例を示す図である。同図に示すように、ビットマップ580は、WORM領域ビットマップ581と、ロック状態ビットマップ582とを含む。
【0082】
また、WORM領域ビットマップ581は、WORM領域の設定状況を示すb0〜b3を含み、ロック状態ビットマップ582は、ロック設定状況を示すb4〜7を含む。
【0083】
例えば、アドレス550によって指定された領域が、図3の145ならば、ロック・アンロック設定用フラグ領域146がb4に対応し、WORM領域設定用フラグ領域147が、b0に対応することになる。また、ロック・アンロック設定用フラグ領域148〜150は、b5〜7に対応し、WORM領域設定用フラグ領域151〜153は、b1〜3に対応する。そして、対応するフラグ領域にビットが立っている場合には、対応するビットマップ580のb0〜7に「1」を保持させ、ビットが立っていない場合には、「0」を保持させる。
【0084】
次に、コマンド実行部130aが、WRITEコマンドを受取った場合の処理について説明する。この、WRITEコマンドを受取った場合、コマンド実行部130aは、WRITEコマンドに含まれるデータをWORM設定領域140cに書き込む。
【0085】
図12は、WRITEコマンドのデータ構造の一例を示す図である。同図に示すように、WRITEコマンド600は、プリアンブル610と、デリミタ620と、コマンド630と、ID640と、アドレス650と、バイトマスク660と、ライトデータ670と、CRC680とを含む。
【0086】
ここで、プリアンブル610、デリミタ620、ID640およびCRC680は、それぞれ上述したプリアンブル410、デリミタ420、ID440およびCRC480とほぼ同様であるため説明を省略する。
【0087】
コマンド630は、WRITEコマンドを識別するためのデータを格納する。つまり、コマンド実行部130aは、コマンド630に格納されたデータを参照することで、リーダライタ200からの命令がWRITEコマンドであることを把握する。
【0088】
アドレス650は、ライトデータ670を記録する位置を特定するための情報が含まれている。なお、コマンド判定部130bは、アドレス650によって特定される領域が、ロック状態かアンロック状態かを判断し、ロック状態の場合には、エラーを、RF部120を介してリーダライタ200に送信する。この場合、コマンド実行部130aは、WRITEコマンドを取りやめる。
【0089】
バイトマスク660は、ライトデータ670の有効範囲を特定するデータが格納される。すなわち、コマンド実行部130aは、ライトデータ670に格納されるデータを全てWORM設定領域140cに書き込むのではなく、バイトマスク660に特定される範囲のデータのみを、WORM設定領域140cに書き込む。なお、ライトデータ670には、ICタグ100に係る情報が格納される。
【0090】
また、ライトデータ670には、PC300によってKILLコマンド有効フラグデータが格納される場合がある。このKILLコマンド有効フラグとは、後述するKILLコマンドを実行するか実行しないかを示すフラグである。すなわち、コマンド実行部130aは、KILLコマンドを受付けた際、KILLコマンド有効フラグにビットが立っている場合には、KILLコマンドを受付け、KILLコマンド有効フラグにビットが立っていない場合には、KILLコマンドを無効とする。
【0091】
図13は、KILLコマンド有効フラグデータのデータ構造の一例を示す図である。同図に示すように、KILLコマンド有効フラグデータ700は、リザーブ710と、EAS(Electronic Article Surveillance)720と、KILL-ENB(Enable)730とを含む。ここで、リザーブ710は、予備領域である。
【0092】
EAS720は、ICタグ100に取り付けられる商品等の販売状況に関する情報を格納する。具体的に、EAS720に「1」が格納されている場合には、ICタグ100に取り付けられている商品が販売済みであることを示す。一方、EAS720に「0」が格納されている場合には、ICタグ100に取り付けられている商品が未販売であることを示す。
【0093】
KILL-ENB730は、KILLコマンドを受付けるか受けつかないかの情報を格納する。具体的には、KILL-ENB730に「1」が格納されている場合には、KILLコマンドを受付ける旨を示し、KILL-ENB730に「0」が格納されている場合には、KILLコマンドを受付けない旨を示す。
【0094】
この、KILLコマンド有効フラグデータ700は、通常のライトデータ670と同様に、アドレス650に格納されるデータを基にして、WORM設定領域140cに記録される。また、コマンド判定部130bは、KILLコマンド有効フラグデータ700の記録された位置を把握し、KILLコマンドを受付けた場合に、該KILLコマンド有効フラグデータ700を基に、KILLコマンドを実行するか否かの判定を行う。
【0095】
次に、コマンド実行部130aが、READコマンドを受取った場合の処理について説明する。この、READコマンドを受取った場合、コマンド実行部130aは、READコマンドによって指定される領域のデータをWORM設定領域140cから読み取り、読み取ったデータをリーダライタ200に送信する。
【0096】
図14は、READコマンドのデータ構造の一例を示す図である。同図に示すように、このREADコマンド800は、プリアンブル810と、デリミタ820と、コマンド830と、ID840と、アドレス850と、CRC860とを含む。ここで、プリアンブル810、デリミタ820、ID840およびCRC860は、それぞれプリアンブル410、デリミタ420、ID440およびCRC480とほぼ同様であるため説明を省略する。
【0097】
コマンド830は、READコマンドを識別するためのデータを格納する。つまり、コマンド実行部130aは、コマンド830に格納されたデータを参照することで、リーダライタ200からの命令がREADコマンドであることを把握する。
【0098】
アドレス850は、データを読み取る領域の位置を特定するための情報が格納されている。したがって、コマンド実行部130aは、アドレス850に格納されたデータをもとにWORM設定領域140c内のデータを読み出す領域を特定し、該特定した領域のデータを読み取る。そして、コマンド実行部130aは、読み取ったデータを、RF部120を介してリーダライタ200に送信する。
【0099】
次に、コマンド実行部130aが、GROUP SELECTコマンドを受取った場合の処理について説明する。この、GROUP SELECTコマンドを受取った場合、コマンド実行部130aは、GROUP SELECTコマンドによって指定される領域のデータと、GROUP SELECTコマンドに含まれるデータとを比較する。そして、コマンド実行部130aは、双方のデータが等しい場合にのみタグIDを、RF部120を介して、リーダライタ200に送信する。
【0100】
一方、双方のデータが等しくない場合には、コマンド実行部130aは、レスポンスをリーダライタ200に返信せず、処理を終了することになる。
【0101】
図15は、GROUP SELECTコマンドのデータ構造の一例を示す図である。同図に示すように、このGROUP SELECTコマンド900は、プリアンブル910と、デリミタ920と、コマンド930と、アドレス940と、マスク950と、コマンドデータ960と、CRC970とを有する。ここで、プリアンブル910、デリミタ920およびCRC970は、上述したプリアンブル410、デリミタ420およびCRC480とほぼ同様であるため説明を省略する。
【0102】
コマンド930は、GROUP SELECTコマンドを識別するためのデータを格納する。つまり、コマンド実行部130aは、コマンド930に格納されたデータを参照することで、リーダライタ200からの命令が、GROUP SELECTコマンドであることを把握する。
【0103】
アドレス940は、後述するコマンドデータ960の比較対象となる領域の位置を特定するための情報を格納しており、マスク950は、コマンドデータ960に含まれるデータの有効範囲を特定する情報を格納している。
【0104】
コマンドデータ960は、アドレス940によって特定される領域に対して期待されるデータを格納する。本実施例では特に、このGROUP SELECTコマンドを、WORM設定領域140cに記録されたEASや、KILL-ENBに関する情報を調査する場合に利用する。
【0105】
したがって、EASおよびKILL-ENBに関する情報を記録した領域をアドレス940によって指定し、期待するデータをコマンドデータに格納することで、ICタグ100の販売状況や、KILL有効フラグに係る情報を取得することができる。
【0106】
例えば、PC300が、アドレス940に、EASおよびKILL-ENBに関する情報を記録した領域の位置を特定するデータを格納し、コマンドデータ960に「01」を格納して、ICタグ100に送信した際に、ICタグ100からIDを受信した場合には、EASが「0」に設定されており、KILL-ENBが「1」に設定されていることが分かる。
【0107】
すなわち、ICタグ100が付加されている商品は、「未販売」で、KILLコマンド有効フラグが「有効」になっていることが分かる。このように、コマンドデータ960に格納するデータおよびICタグ100からのレスポンスを基に、PC300は、ICタグ100の販売状況や、KILLコマンドを受付けるか否かの情報を把握することができる。
【0108】
次に、コマンド実行部130aが、KILLコマンドを受取った場合の処理について説明する。この、KILLコマンドを受取った際、コマンド実行部130aは、コマンド判定部130bが、KILLコマンド有効フラグが有効になっていると判断した場合に、KILLコマンドを実行し、ICタグの機能を停止させる。
【0109】
具体的に、コマンド実行部130aが、KILLコマンドを実行する場合には、KILL情報記憶部140aにKILLSTATUSフラグを立てる。そして、電源生成部120cから電源が供給された際に、コマンド実行部130aは、KILL情報記憶部140aにKILLSTATUSフラグが立っているか否かを確認し、KILLSTATUSフラグが立っている場合には、コマンド実行部130aは、一切の処理を行わずICタグとしての機能を無効化する。
【0110】
図16は、KILLコマンドのデータ構造の一例を示す図である。同図に示すように、このKILLコマンド1000は、プリアンブル1010と、デリミタ1020と、コマンド1030と、ID1040と、KILLパスワード1050と、CRC1060とを有する。
【0111】
ここで、プリアンブル1010、デリミタ1020、ID1040およびCRC1060は、上述したプリアンブル410、デリミタ420、ID440およびCRC480とほぼ同様であるため説明を省略する。
【0112】
コマンド1030は、KILLコマンドを識別するためのデータを格納する。つまり、コマンド実行部130aは、コマンド1030に格納されたデータを参照することで、リーダライタ200からの命令が、KILLコマンドであることを把握する。
【0113】
KILLパスワード1050は、KILLコマンドを実行するためのパスワードを格納している。したがって、コマンド判定部130bは、KILL情報記憶部140aに記録されたパスワードと、KILLパスワード1050に格納されたパスワードとが等しく、かつKILLコマンド有効フラグが有効になっている場合にのみ、コマンド実行部130aによるKILLコマンドの実行を許可することになる。
【0114】
次に、WORM AREA SETコマンドに係るICタグシステムの処理について説明する。図17は、WORM AREA SETコマンドに係るICタグシステムの処理を示すフローチャートである。同図に示すように、上位APL300aは、ICタグ100のIDと、領域パスワードを示すPWaと、ビットマップデータを示すBM(図5に示したビットマップデータ470とほぼ同様)とを、ミドルウェア300bを介してドライバ300cに渡す。
【0115】
ドライバ300cは、リーダライタファーム200aと共通のIF(Interface)暗号鍵Kiを保持している。ドライバ300cは、エンクリプトと、PWaを基にして、PWaを暗号化したPWiを作成する。そして、ドライバ300cは、IDと、PWiと、BMとをリーダライタファーム200aに送信する。
【0116】
リーダライタファーム200aは、ドライバ300cと共通のIF暗号鍵Kiと、TAG暗号鍵Kpを保持している。リーダライタファーム200aは、デクリプトと、IF暗号鍵Kiと、PWiとを基に、PWaを取り出す。
【0117】
そして、リーダライタファーム200aは、PWaと、TAG暗号鍵Kpと、エンクリプトとを基に、領域パスワードPWtを生成する。その後、リーダライタファーム200aは、IDと、PWtと、BMをRFモジュール200bに渡す。
【0118】
RFモジュール200bは、WORM AREA SETコマンド400のID440にリーダライタファーム200aから受取ったIDを格納し、パスワード460にPWtを格納し、ビットマップデータ470にBMを格納して、該WORM AREA SETコマンド400をICタグ100に送信する。
【0119】
次に、WRITEコマンドに係るICタグシステムの処理について説明する。図18は、WRITEコマンドに係るICタグシステムの処理を示すフローチャートである。なお、WRITEコマンドに係るICタグシステムの処理は、上位APL300aで書き込みデータDaを暗号化する場合と、リーダライタファーム200aで書き込みデータDaを暗号化する場合とがある。
【0120】
まず、上位APL300aで、書き込みデータDaを暗号化する場合の処理について説明する。図18に示すように、上位APL300aは、データ暗号鍵Kdを保持している。上位APL300は、書き込みデータDaと、エンクリプトEと、データ暗号鍵Kdとを基にして、書き込みデータDaを暗号化し、暗号済み書き込みデータDiを作成する。
【0121】
そして、上位APL300aは、暗号化済み書き込みデータDiおよびIDをミドルウェア300b、ドライバ300cおよびリーダライタファーム200aを介して、RFモジュール200bに渡し、RFモジュール200bは、暗号化済み書き込みデータDiおよびIDをWRITEコマンド600に格納し、WRITEコマンド600をICタグ100に送信する。
【0122】
次に、リーダライタファーム200aで、書き込みデータDaを、暗号化する場合の処理について説明する。図18に示すように、上位APL300aは、ICタグ100のIDおよび書き込みデータDaを、ミドルウェア300bを介してドライバ300cに渡す。
【0123】
ドライバ300cは、IDおよび書き込みデータDaを、上位APL300aから受取る。ドライバ300cは、IF暗号鍵Kiと、エンクリプトと、書き込みデータDaを基に、書き込みデータDaを暗号化した、暗号化済み書き込みデータDiを生成し、IDおよび暗号化済み書き込みデータDiを、リーダライタファーム200aに送信する。
【0124】
リーダライタファーム200aは、ドライバ300cからIDおよび暗号化済み書き込みデータDiを、受信する。なお、リーダライタファーム200aは、データ暗号鍵Kd1をさらに保持する。
【0125】
そして、リーダライタファーム200aは、IF暗号鍵Kiと、暗号化済み書き込みデータDiと、デリクプトDとを基にして、書き込みデータDaを取り出す。
【0126】
その後、リーダライタファーム200aは、データ暗号鍵Kd1と、書き込みデータDaと、エンクリプトとを基に、暗号化済み書き込みデータDtを生成し、IDおよび暗号化済み書き込みデータDtをRFモジュール200bに渡す。
【0127】
RFモジュール200bは、IDおよび暗号化済み書き込みデータDtを、WRITEコマンド600に格納し、WRITEコマンド600をICタグ100に送信する。
【0128】
次に、KILLコマンドに係るICタグシステムの処理について説明する。図19は、KILLコマンドに係るICタグシステムの処理を示すフローチャートである。同図に示すように、上位APL300は、KILL暗号鍵Kkを保持しており、KILLデータをKILL暗号鍵Kkで暗号化し、KILLaとする。そして、上位APL300aは、KILLaと、IDとをミドルウェア300bを介してドライバ300cに渡す。
【0129】
ドライバ300cは、IF暗号鍵Kiと、KILLaと、エンクリプトとを基に、KILLaを暗号化し、KILLiを生成する。そして、ドライバ300cは、IDおよびKILLiを、リーダライタファーム200aに送信する。
【0130】
リーダライタファーム200aは、KILL暗号鍵Kkを保持している。リーダライタファーム200aは、ドライバ300cからIDおよびKILLiを受信し、IF暗号鍵Kiと、KILLiと、デクリプトとを基にKILLaを取り出す。
【0131】
そして、リーダライタファーム200aは、KILL暗号鍵Kkと、KILLaと、エンクリプトとを基にKILLaを暗号化し、KILLtを生成する。
【0132】
そして、リーダライタファーム200aは、IDおよびKILLtを、RFモジュール200bに渡す。RFモジュール200bは、KILLtをKILLコマンド1000に格納し、KILLコマンド1000をICタグ100に送信する。
【0133】
上述したように、本実施例では、コマンド実行部130aが、WORM領域設定およびロック・アンロック設定に係る情報を含んだWORM AREA SETコマンドを受信し、該WORM AREA SETコマンドによって指定される領域を、WORM領域およびロック・アンロック状態に設定する。そして、WORM領域に設定された領域は、一度データを書き込んだ後、書き込んだデータの変更や削除が不可能となるので、領域設定パスワードを知らない第3者による、データの改竄等を防ぐことが可能となる。
【0134】
また、アンロック状態の領域にデータを書き込んだ後、コマンド実行部130aが自動的に、データを書き込んだ領域をロック状態に遷移させるので、正規のユーザは、パスワードを知らなくとも、ICタグ100にデータを書き込むことが可能であり、データを書き込んだ後、領域パスワードを知らない一般のユーザは、ロック状態を解除することができず、ICタグ100のセキュリティを高めることができる。
【0135】
また、ICタグ100に係るパスワードを利用するのは、WORM領域設定およびロック・アンロック設定を行う一部の管理者のみであり、正規のユーザは、ICタグ100のパスワードを利用する必要が無いため、パスワードの漏洩を防ぐことができる。
【0136】
なお、本実施の形態では、PCとリーダライタ200とをUSBやLANなどで接続し、ICタグ100に対するデータの書き込みや読み込みを行ったが、これに限定されるものではなく、例えば、図20に示すようにハンディターミナル350を利用して、ICタグ100に対するデータの書き込みや読み込みを行うことができる。
【0137】
ハンディターミナル350は、上位APL350aと、ミドルウェア350bと、ドライバ350cと、RFモジュール350dとを有する。なお、上位APL350a、ミドルウェア350b、ドライバ350cおよびRFモジュール350dは、第1図に示した上位APL300a、ミドルウェア300b、ドライバ300cおよびRFモジュール300dとほぼ同様であるため詳しい説明は省略する。
【0138】
また、本実施例では、本発明をICタグに適応した場合を示したが、ICカードに対しても同様に適応することができる。図21は、本発明に係るICカードの構成を示す機能ブロック図である。
【0139】
同図に示すように、ICカード150は、制御部160を有する。その他の構成および動作は、図2に示したICタグ100とほぼ同様であるので同一の構成要素には同一の符号を付して説明を省略する。
【0140】
制御部160は、暗号・復号処理部160aと、コマンド実行部160bと、コマンド判定部160cとを有する。
【0141】
ここで、コマンド実行部160aと、コマンド判定部160cは、図2に示したコマンド実行部130aおよびコマンド判定部130bとほぼ同様の処理を行うため、説明を省略する。
【0142】
暗号・復号化処理部160aは、リーダライタおよびICカード150間のデータ通信を暗号化して行うことを可能とする処理部である。具体的には、リーダライタから送信される暗号化されたコマンドを復号化し、該復号化したコマンドを、コマンド実行部160bに渡す。
【0143】
また、暗号・復号処理部160aは、コマンド実行部160bが作成するコマンドに対するレスポンスデータを受け取り、該受取ったレスポンスデータを暗号化する。そして、暗号・復号処理部160aは、暗号化したレスポンスデータをリーダライタに送信する。
【0144】
すなわち、ICタグでは、暗号化・復号化といった複雑な処理を行えないため、リーダライタおよびICタグ間で送受されるデータが盗聴される危険があったが、暗号・復号処理部160aを利用して、データを暗号化することで、データの盗聴を防止し、セキュリティを高めることができる。
【0145】
(付記1)リーダライタからの無線による指示に応答して動作する非接触IC記録媒体であって、
データの書き込みを禁止する領域を示す書き込み禁止領域を設定する書き込み禁止領域設定手段と、
書き込みデータを受信した場合に、該データを書き込む領域が、書き込み禁止領域であるか否かを判定する領域判定手段と、
前記領域判定手段が、書き込み禁止領域でないと判定した場合に、該当領域にデータを書き込み、該書き込んだ領域を書き込み禁止領域に変更する書き込み処理手段と、
を備えたことを特徴とする非接触IC記録媒体。
【0146】
(付記2)一回目のデータ書き込みを許可し、一度書き込んだデータの消去および変更を禁止する領域を示す変更禁止領域を設定する変更禁止領域設定手段を更に備えたことを特徴とする付記1に記載の非接触IC記録媒体。
【0147】
(付記3)前記書き込み禁止領域を、データ書き込み可能な通常の領域に変更する禁止領域変更手段を更に備えたことを特徴とする付記1に記載の非接触IC記録媒体。
【0148】
(付記4)前記禁止領域変更手段は、前記書き込み禁止領域を、通常の領域に変更する旨の命令を受取った際に、該命令に含まれるパスワードと、前記書き込み禁止領域に対応する領域パスワードとを比較し、双方のパスワードが等しい場合に、前記書き込み禁止領域を通常の領域に変更することを特徴とする付記3に記載の非接触IC記録媒体。
【0149】
(付記5)前記変更禁止領域を、データの変更および消去可能な通常の領域に変更する領域変更手段を更に備えたことを特徴とする付記2に記載の非接触IC記録媒体。
【0150】
(付記6)前記領域変更手段は、前記変更禁止領域を、通常の領域に変更する旨の命令を受取った際に、該命令に含まれるパスワードと、前記変更禁止領域に対応する領域パスワードとを比較し、双方のパスワードが等しい場合に、前記変更禁止領域を、通常の領域に変更することを特徴とする付記5に記載の非接触IC記録媒体。
【0151】
(付記7)前記領域パスワードを変更するパスワード変更手段を更に備えたことを特徴とする付記4または6に記載の非接触IC記録媒体。
【0152】
(付記8)リーダライタからの無線による指示に応答して動作する非接触IC記録媒体を管理する記録媒体管理プログラムであって、
データの書き込みを禁止する領域を示す書き込み禁止領域を設定する書き込み禁止領域設定手順と、
書き込みデータを受信した場合に、該データを書き込む領域が、書き込み禁止領域であるか否かを判定する領域判定手順と、
前記領域判定手順が、書き込み禁止領域でないと判定した場合に、該当領域にデータを書き込み、該書き込んだ領域を書き込み禁止領域に変更する書き込み処理手順と、
をコンピュータに実行させることを特徴とする記録媒体管理プログラム。
【0153】
(付記9)一回目のデータ書き込みを許可し、一度書き込んだデータの消去および変更を禁止する領域を示す変更禁止領域を設定する変更禁止領域設定手順を更にコンピュータに実行させることを特徴とする付記8に記載の記録媒体管理プログラム。
【0154】
(付記10)前記書き込み禁止領域を、データ書き込み可能な通常の領域に変更する禁止領域変更手順を更にコンピュータに実行させることを特徴とする付記8に記載の記録媒体管理プログラム。
【0155】
(付記11)リーダライタからの無線による指示に応答して動作する非接触IC記録媒体を管理する記録媒体管理方法であって、
データの書き込みを禁止する領域を示す書き込み禁止領域を設定する書き込み禁止領域設定工程と、
書き込みデータを受信した場合に、該データを書き込む領域が、書き込み禁止領域であるか否かを判定する領域判定工程と、
前記領域判定工程が、書き込み禁止領域でないと判定した場合に、該当領域にデータを書き込み、該書き込んだ領域を書き込み禁止領域に変更する書き込み処理工程と、
を含んだことを特徴とする記録媒体管理方法。
【0156】
(付記12)一回目のデータ書き込みを許可し、一度書き込んだデータの消去および変更を禁止する領域を示す変更禁止領域を設定する変更禁止領域設定工程を更に含んだことを特徴とする付記11に記載の記録媒体管理方法。
【0157】
(付記13)前記書き込み禁止領域を、データ書き込み可能な通常の領域に変更する禁止領域変更工程を更に含んだことを特徴とする付記11に記載の記録媒体管理方法。
【産業上の利用可能性】
【0158】
以上のように、本発明にかかる非接触IC記録媒体、記録媒体管理プログラムおよび記録媒体管理方法は、重要なデータを保持するICタグやICカードなどに有用であり、特に、ICタグやICカードに係るパスワードを通知するユーザを最小限に抑える場合に適している。
【図面の簡単な説明】
【0159】
【図1】ICタグシステムのシステム構成を示すブロック図である。
【図2】図1に示したICタグの構成を示すブロック図である。
【図3】WORM設定領域のデータ構造の一例を示す図である。
【図4】システムエリアのデータ構造の一例を示す図である。
【図5】WORM AREA SETコマンドのデータ構造の一例を示す図である。
【図6】アドレスのデータ構造の一例を示す図である。
【図7】ビットマップデータのデータ構造の一例を示す図である。
【図8】ロック状態ビットマップおよびWORM領域ビットマップの具体例を示す図である。
【図9】WORM AREA STATUSコマンドのデータ構造の一例を示す図である。
【図10】WORM AREA STATUSコマンドに対する出力データを示す図である。
【図11】出力データのビットマップの一例を示す図である。
【図12】WRITEコマンドのデータ構造の一例を示す図である。
【図13】KILLコマンド有効フラグデータのデータ構造の一例を示す図である。
【図14】READコマンドのデータ構造の一例を示す図である。
【図15】GROUP SELECTコマンドのデータ構造の一例を示す図である。
【図16】KILLコマンドのデータ構造の一例を示す図である。
【図17】WORM AREA SETコマンドに係るICタグシステムの処理を示すフローチャートである。
【図18】WRITEコマンドに係るICタグシステムの処理を示すフローチャートである。
【図19】KILLコマンドに係るICタグシステムの処理を示すフローチャートである。
【図20】ハンディターミナルを利用した場合のICタグシステムを示す図である。
【図21】本発明に係るICカードの構成を示す機能ブロック図である。
【符号の説明】
【0160】
100 ICタグ
110 アンテナ
120 RF部
120a データ送受信部
120b 制御クロック生成部
120c 電源生成部
130 ロジック部
130a コマンド実行部
130c コマンド判定部
140 メモリ
140a KILL情報記憶部
140b 領域パスワード記憶部
140c WORM設定領域
140d 認証情報記録部
200 リーダライタファーム
200a ファーム
200b RFモジュール
300 PC
300a 上位APL
300b ミドルウェア
300c ドライバ

【特許請求の範囲】
【請求項1】
リーダライタからの無線による指示に応答して動作する非接触IC記録媒体であって、
データの書き込みを禁止する領域を示す書き込み禁止領域を設定する書き込み禁止領域設定手段と、
書き込みデータを受信した場合に、該データを書き込む領域が、書き込み禁止領域であるか否かを判定する領域判定手段と、
前記領域判定手段が、書き込み禁止領域でないと判定した場合に、該当領域にデータを書き込み、該書き込んだ領域を書き込み禁止領域に変更する書き込み処理手段と、
を備えたことを特徴とする非接触IC記録媒体。
【請求項2】
一回目のデータ書き込みを許可し、一度書き込んだデータの消去および変更を禁止する領域を示す変更禁止領域を設定する変更禁止領域設定手段を更に備えたことを特徴とする請求項1に記載の非接触IC記録媒体。
【請求項3】
前記書き込み禁止領域を、データ書き込み可能な通常の領域に変更する禁止領域変更手段を更に備えたことを特徴とする請求項1に記載の非接触IC記録媒体。
【請求項4】
前記禁止領域変更手段は、前記書き込み禁止領域を、通常の領域に変更する旨の命令を受取った際に、該命令に含まれるパスワードと、前記書き込み禁止領域に対応する領域パスワードとを比較し、双方のパスワードが等しい場合に、前記書き込み禁止領域を通常の領域に変更することを特徴とする請求項3に記載の非接触IC記録媒体。
【請求項5】
前記変更禁止領域を、データの変更および消去可能な通常の領域に変更する領域変更手段を更に備えたことを特徴とする請求項2に記載の非接触IC記録媒体。
【請求項6】
前記領域変更手段は、前記変更禁止領域を、通常の領域に変更する旨の命令を受取った際に、該命令に含まれるパスワードと、前記変更禁止領域に対応する領域パスワードとを比較し、双方のパスワードが等しい場合に、前記変更禁止領域を、通常の領域に変更することを特徴とする請求項5に記載の非接触IC記録媒体。
【請求項7】
前記領域パスワードを変更するパスワード変更手段を更に備えたことを特徴とする請求項4または6に記載の非接触IC記録媒体。
【請求項8】
リーダライタからの無線による指示に応答して動作する非接触IC記録媒体を管理する記録媒体管理プログラムであって、
データの書き込みを禁止する領域を示す書き込み禁止領域を設定する書き込み禁止領域設定手順と、
書き込みデータを受信した場合に、該データを書き込む領域が、書き込み禁止領域であるか否かを判定する領域判定手順と、
前記領域判定手順が、書き込み禁止領域でないと判定した場合に、該当領域にデータを書き込み、該書き込んだ領域を書き込み禁止領域に変更する書き込み処理手順と、
をコンピュータに実行させることを特徴とする記録媒体管理プログラム。
【請求項9】
一回目のデータ書き込みを許可し、一度書き込んだデータの消去および変更を禁止する領域を示す変更禁止領域を設定する変更禁止領域設定手順を更にコンピュータに実行させることを特徴とする請求項8に記載の記録媒体管理プログラム。
【請求項10】
リーダライタからの無線による指示に応答して動作する非接触IC記録媒体を管理する記録媒体管理方法であって、
データの書き込みを禁止する領域を示す書き込み禁止領域を設定する書き込み禁止領域設定工程と、
書き込みデータを受信した場合に、該データを書き込む領域が、書き込み禁止領域であるか否かを判定する領域判定工程と、
前記領域判定工程が、書き込み禁止領域でないと判定した場合に、該当領域にデータを書き込み、該書き込んだ領域を書き込み禁止領域に変更する書き込み処理工程と、
を含んだことを特徴とする記録媒体管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2006−24012(P2006−24012A)
【公開日】平成18年1月26日(2006.1.26)
【国際特許分類】
【出願番号】特願2004−201923(P2004−201923)
【出願日】平成16年7月8日(2004.7.8)
【出願人】(000005223)富士通株式会社 (25,993)
【出願人】(000237639)富士通フロンテック株式会社 (667)
【Fターム(参考)】