(57)【特許請求の範囲】
【請求項１】
非接触スマートカードの名前空間の単一のセクタに複数のアプリケーションを記憶するための、コンピュータに実装された方法であって、
前記名前空間に記憶された各アプリケーションについて、前記非接触スマートカードの名前空間の中のアプリケーションディレクトリのデータメモリブロックに、アプリケーションディレクトリエントリーを記憶するステップであって、各アプリケーションディレクトリエントリーは、
前記非接触スマートカードの名前空間の１つ以上のデータメモリブロックに記憶された各対応するソフトウェアアプリケーションの、アプリケーション識別子（ＡＩＤ）と、
前記非接触スマートカードの名前空間のセクタの中の開始メモリブロックの開始メモリブロック番号であって、前記開始メモリブロックが前記対応するソフトウェアアプリケーションの少なくとも一部を保持する、開始メモリブロック番号と、
前記対応するソフトウェアアプリケーションのサイズであって、前記ソフトウェアアプリケーション全体を記憶する前記開始メモリブロックを含む、連続したデータメモリブロックの数を定義する、サイズと、
を備える、記憶するステップを含む方法。
【請求項２】
前記非接触スマートカードは、セキュアな前記アプリケーションディレクトリと異なり、かつ前記非接触スマートカードの異なるデータメモリブロックに記憶される、デフォルトまたは既存のアプリケーションディレクトリを備える、請求項１に記載の方法。
【請求項３】
前記開始メモリブロック番号は、前記非接触スマートカードの名前空間の中の前記データメモリブロックのアドレスの絶対値を含む、１バイト値であり、前記絶対値は、ゼロに基づく番号付けシステムを使用して計算される、請求項１に記載の方法。
【請求項４】
前記開始メモリブロック番号は、前記データメモリブロックに記憶された前記ソフトウェアアプリケーションの前記サイズと前記データメモリブロックの参照インデックスとの積と、前記データメモリブロックの前記参照インデックス内の第１のメモリブロックのメモリアドレスと、の和として計算される、絶対メモリアドレスのための１バイト値である、請求項１に記載の方法。
【請求項５】
前記ソフトウェアアプリケーションの前記サイズは、前記ソフトウェアアプリケーションを記憶するように割り当てられた連続したメモリブロックの数の値を有する、１バイトの形態である、請求項１に記載の方法。
【請求項６】
前記ソフトウェアアプリケーションの前記サイズは、１バイトの形態であり、前記１バイトは、前記ソフトウェアアプリケーションを記憶するように割り当てられる前記連続したメモリブロックの数の値を伴う下位ニブルをさらに備える、請求項１に記載の方法。
【請求項７】
前記ＡＩＤを備える前記アプリケーションディレクトリエントリーは、前記データメモリブロック内に記憶する前に、昇順または降順でソートされる、請求項１に記載の方法。
【請求項８】
前記データメモリブロック内に記憶された前記アプリケーションディレクトリエントリーを読み出すための、外部カードリーダをさらに備える、請求項１に記載の方法。
【請求項９】
外部カードリーダおよび前記非接触スマートカードによって実行されるトランザクションを記録するための、一群のログメモリブロックをさらに備える、請求項１に記載の方法。
【請求項１０】
前記ＡＩＤは、前記ＡＩＤに関連するソフトウェアアプリケーションの種類を定義する、ソフトウェアコードを備え、前記ソフトウェアアプリケーションの種類は、ロイヤルティカードソフトウェアアプリケーション、クーポンソフトウェアアプリケーション、プリペイドギフトカードソフトウェアアプリケーション、およびトランジットカードソフトウェアアプリケーションの中の１つとして定義される、請求項１に記載の方法。
【請求項１１】
セキュアなアプリケーションディレクトリを伴う非接触スマートカードであって、
各セクタが複数のデータメモリブロックを備える複数のセクタを備える、名前空間と、
前記名前空間のセクタの中のアプリケーションディレクトリであって、前記アプリケーションディレクトリは、前記名前空間に記憶された各ソフトウェアアプリケーションについて、アプリケーションディレクトリエントリーを備え、各アプリケーションディレクトリエントリーは、
対応するソフトウェアアプリケーションのアプリケーション識別子（ＡＩＤ）と、
前記非接触スマートカードの名前空間のセクタの中の開始メモリブロックの開始メモリブロック番号であって、前記開始メモリブロックが前記ソフトウェアアプリケーションの少なくとも一部を保持する、開始メモリブロック番号と、
前記対応するソフトウェアアプリケーションのサイズであって、前記ソフトウェアアプリケーションの残りを記憶する前記開始メモリブロックからの、連続したデータメモリブロックの数を定義する、サイズと、
を備える、アプリケーションディレクトリと、
を備える、非接触スマートカード。
【請求項１２】
前記非接触スマートカードは、前記セキュアなアプリケーションディレクトリと異なり、かつ前記非接触スマートカードの異なるデータメモリブロックに記憶される、デフォルトまたは既存のアプリケーションディレクトリを備える、請求項１１に記載の非接触スマートカード。
【請求項１３】
前記開始メモリブロック番号は、前記非接触スマートカードの名前空間の中の前記データメモリブロックのアドレスの絶対値を含む、１バイト値であり、前記絶対値は、ゼロに基づく番号付けシステムを使用して計算される、請求項１１に記載の非接触スマートカード。
【請求項１４】
前記開始メモリブロック番号は、前記データメモリブロックに記憶された前記ソフトウェアアプリケーションの前記サイズと前記データメモリブロックの参照インデックスとの積と、前記データメモリブロックの前記参照インデックス内の第１のメモリブロックのメモリアドレスと、の和として計算される、絶対メモリアドレスのための１バイト値である、請求項１１に記載の非接触スマートカード。
【請求項１５】
前記ソフトウェアアプリケーションの前記サイズは、前記ソフトウェアアプリケーションを記憶するように割り当てられた連続したメモリブロックの数の値を有する、１バイトの形態である、請求項１１に記載の非接触スマートカード。
【請求項１６】
前記ソフトウェアアプリケーションの前記サイズは、１バイトの形態であり、前記１バイトは、前記ソフトウェアアプリケーションを記憶するように割り当てられる前記連続したメモリブロックの数の値を伴う下位ニブルをさらに備える、請求項１１に記載の非接触スマートカード。
【請求項１７】
前記ＡＩＤを備える前記アプリケーションディレクトリエントリーは、前記アプリケーションディレクトリのデータメモリブロック内に記憶する前に、昇順または降順でソートされる、請求項１１に記載の非接触スマートカード。
【請求項１８】
前記データメモリブロック内に記憶された前記アプリケーションディレクトリエントリーは、外部カードリーダにより読み出される、請求項１１に記載の非接触スマートカード。
【請求項１９】
外部カードリーダおよび前記非接触スマートカードによって実行されるトランザクションを記録するための、一群のログメモリブロックをさらに備える、請求項１１に記載の非接触スマートカード。
【請求項２０】
前記ＡＩＤは、前記ＡＩＤに関連するソフトウェアアプリケーションの種類を定義する、ソフトウェアコードを備え、前記ソフトウェアアプリケーションの種類は、ロイヤルティカードソフトウェアアプリケーション、クーポンソフトウェアアプリケーション、プリペイドギフトカードソフトウェアアプリケーション、およびトランジットカードソフトウェアアプリケーションの中の１つとして定義される、請求項１１に記載の非接触スマートカード。
【請求項２１】
非接触スマートカードの名前空間の単一のセクタに複数のアプリケーションを記憶するためのコンピュータが読み取り可能なソフトウェアコードを備える、コンピュータ読み出し可能な記憶媒体であって、
前記名前空間に記憶された各アプリケーションについて、前記非接触スマートカードの名前空間の中のアプリケーションディレクトリのデータメモリブロックに、アプリケーションディレクトリエントリーを記憶するための、コンピュータが読み取り可能なソフトウェアコードであって、各アプリケーションディレクトリエントリーは、
各対応するソフトウェアアプリケーションのアプリケーション識別子（ＡＩＤ）と、
前記非接触スマートカードの名前空間の前記セクタの中の開始メモリブロックの開始メモリブロック番号であって、前記開始メモリブロックが前記対応するソフトウェアアプリケーションの少なくとも一部を保持する、開始メモリブロック番号と、
前記対応するソフトウェアアプリケーションのサイズであって、前記ソフトウェアアプリケーションの残りを記憶する前記開始メモリブロックからの、連続したデータメモリブロックの数を定義する、サイズと、
を備える、コンピュータが読み取り可能なソフトウェアコードを備える、
コンピュータ読み出し可能な記憶媒体。
【請求項２２】
前記非接触スマートカードは、セキュアな前記アプリケーションディレクトリと異なり、かつ前記非接触スマートカードの異なるデータメモリブロックに記憶される、デフォルトまたは既存のアプリケーションディレクトリを備える、請求項２１に記載のコンピュータ読み出し可能な記憶媒体。
【請求項２３】
前記開始メモリブロック番号は、前記非接触スマートカードの名前空間の中の前記データメモリブロックのアドレスの絶対値を含む、１バイト値であり、前記絶対値は、ゼロに基づく番号付けシステムを使用して計算される、請求項２１に記載のコンピュータ読み出し可能な記憶媒体。
【請求項２４】
前記開始メモリブロック番号は、前記データメモリブロックに記憶された前記ソフトウェアアプリケーションの前記サイズと前記データメモリブロックの参照インデックスとの積と、前記データメモリブロックの前記参照インデックス内の第１のメモリブロックのメモリアドレスと、の和として計算される、絶対メモリアドレスのための１バイト値である、請求項２１に記載のコンピュータ読み出し可能な記憶媒体。
【請求項２５】
前記ソフトウェアアプリケーションの前記サイズは、１バイトの形態であり、前記１バイトは、前記ソフトウェアアプリケーションを記憶するように割り当てられる前記連続したメモリブロックの数の値を伴う下位ニブルをさらに備える、請求項２１に記載のコンピュータ読み出し可能な記憶媒体。
【請求項２６】
前記ＡＩＤを備える前記アプリケーションディレクトリエントリーは、前記アプリケーションディレクトリのデータメモリブロック内に記憶する前に、昇順または降順でソートされる、請求項２１に記載のコンピュータ読み出し可能な記憶媒体。
【請求項２７】
前記データメモリブロック内に記憶された前記アプリケーションディレクトリエントリーは、外部カードリーダにより読み出される、請求項２１に記載のコンピュータ読み出し可能な記憶媒体。
【請求項２８】
前記非接触スマートカードは、外部カードリーダおよび前記非接触スマートカードによって実行されるトランザクションを記録するための、一群のログメモリブロックをさらに備える、請求項２１に記載のコンピュータ読み出し可能な記憶媒体。
【請求項２９】
前記ＡＩＤは、前記ＡＩＤに関連するソフトウェアアプリケーションの種類を定義する、ソフトウェアコードを備え、前記ソフトウェアアプリケーションの種類は、ロイヤルティカードソフトウェアアプリケーション、クーポンソフトウェアアプリケーション、プリペイドギフトカードソフトウェアアプリケーション、およびトランジットカードソフトウェアアプリケーションの中の１つとして定義される、請求項２１に記載のコンピュータ読み出し可能な記憶媒体。
【請求項３０】
非接触スマートカードの名前空間の単一のセクタに複数のアプリケーションを記憶するための、コンピュータに実装された方法であって、
前記名前空間に記憶された各アプリケーション用に、前記非接触スマートカードの名前空間の中のアプリケーションディレクトリのデータメモリブロックに、アプリケーションディレクトリエントリーを記憶するステップであって、各アプリケーションディレクトリエントリーは、
前記非接触スマートカードの名前空間の１つ以上のデータメモリブロックに記憶される各対応するソフトウェアアプリケーションの、アプリケーション識別子（ＡＩＤ）と、
前記非接触スマートカードの名前空間のセクタの中の開始メモリブロックの開始メモリブロック番号であって、前記開始メモリブロックが前記対応するソフトウェアアプリケーションの少なくとも一部を保持する、開始メモリブロック番号と、
前記対応するソフトウェアアプリケーションのサイズであって、前記ソフトウェアアプリケーション全体を記憶する前記開始メモリブロックを含む、連続したデータメモリブロックの数を定義する、サイズと、
を備える、記憶するステップと、
前記アプリケーションディレクトリのアクセスメモリブロックに、前記アプリケーションディレクトリにアクセスして読み出すためのアクセスキーを記憶するステップと、
を含む、方法。
【請求項３１】
前記開始メモリブロック番号は、前記非接触スマートカードの名前空間の中の前記データメモリブロックのアドレスの絶対値を含む、１バイト値であり、前記絶対値は、ゼロに基づく番号付けシステムを使用して計算される、請求項３０に記載の方法。
【請求項３２】
前記開始メモリブロック番号は、前記データメモリブロックに記憶された前記ソフトウェアアプリケーションの前記サイズと前記データメモリブロックの参照インデックスとの積と、前記データメモリブロックの前記参照インデックス内の第１のメモリブロックのメモリアドレスと、の和として計算される、前記非接触スマートカードの名前空間の中の絶対メモリアドレスのための１バイト値である、請求項３０に記載の方法。
【請求項３３】
前記ソフトウェアアプリケーションの前記サイズは、前記ソフトウェアアプリケーションを記憶するように割り当てられた連続したメモリブロックの数の値を有する、１バイトの形態である、請求項３０に記載の方法。
【請求項３４】
前記ソフトウェアアプリケーションの前記サイズは、１バイトの形態であり、前記１バイトは、前記ソフトウェアアプリケーションを記憶するように割り当てられる前記連続したメモリブロックの数の値を伴う下位ニブルをさらに備える、請求項３０に記載の方法。
【請求項３５】
前記ＡＩＤを備える前記アプリケーションディレクトリエントリーは、前記データメモリブロック内に記憶する前に、昇順または降順でソートされる、請求項３０に記載の方法。
【請求項３６】
前記データメモリブロック内に記憶された前記アプリケーションディレクトリエントリーにアクセスして編集するための第２のアクセスキーが、前記アクセスメモリブロックに記憶される、請求項３０に記載の方法。
【請求項３７】
前記データメモリブロック内に記憶された前記アプリケーションディレクトリエントリーを読み出すための前記アクセスキーを使用する、外部カードリーダをさらに備える、請求項３０に記載の方法。
【請求項３８】
外部カードリーダおよび前記非接触スマートカードによって実行されるトランザクションを記録するための、一群のログメモリブロックをさらに備える、請求項３０に記載の方法。
【請求項３９】
前記ＡＩＤは、前記ＡＩＤに関連するソフトウェアアプリケーションの種類を定義する、ソフトウェアコードを備え、前記ソフトウェアアプリケーションの種類は、ロイヤルティカードソフトウェアアプリケーション、クーポンソフトウェアアプリケーション、プリペイドギフトカードソフトウェアアプリケーション、およびトランジットカードソフトウェアアプリケーションの中の１つとして定義される、請求項３０に記載の方法。
【請求項４０】
セキュアなアプリケーションディレクトリを伴う非接触スマートカードであって、
各セクタが複数のデータメモリブロックを備える複数のセクタを備える、名前空間と、
前記名前空間のセクタの中のアプリケーションディレクトリであって、前記アプリケーションディレクトリは、前記アプリケーションディレクトリにアクセスして読み出すためのアクセスメモリキーを記憶するためのアクセスメモリブロックと、前記名前空間に記憶された各ソフトウェアアプリケーションについて、前記アプリケーションディレクトリの前記データメモリブロックに記憶されたアプリケーションディレクトリエントリーとを備え、各アプリケーションディレクトリエントリーは、
対応するソフトウェアアプリケーションのアプリケーション識別子（ＡＩＤ）と、
前記非接触スマートカードの名前空間のセクタの中の開始メモリブロックの開始メモリブロック番号であって、前記開始メモリブロックが前記ソフトウェアアプリケーションの少なくとも一部を保持する、開始メモリブロック番号と、
前記対応するソフトウェアアプリケーションのサイズであって、前記ソフトウェアアプリケーションの残りを記憶する前記開始メモリブロックからの、連続したデータメモリブロックの数を定義する、サイズと、
を備える、アプリケーションディレクトリエントリーと、
を備える、非接触スマートカード。
【請求項４１】
前記開始メモリブロック番号は、前記非接触スマートカードの名前空間の中の前記データメモリブロックのアドレスの絶対値を含む、１バイト値であり、前記絶対値は、ゼロに基づく番号付けシステムを使用して計算される、請求項４０に記載の非接触スマートカード。
【請求項４２】
前記開始メモリブロック番号は、前記データメモリブロックに記憶された前記ソフトウェアアプリケーションの前記サイズと前記データメモリブロックの参照インデックスとの積と、前記データメモリブロックの前記参照インデックス内の第１のメモリブロックのメモリアドレスと、の和として計算される、絶対メモリアドレスのための１バイト値である、請求項４０に記載の非接触スマートカード。
【請求項４３】
前記ソフトウェアアプリケーションの前記サイズは、前記ソフトウェアアプリケーションを記憶するように割り当てられた連続したメモリブロックの数の値を有する、１バイトの形態である、請求項４０に記載の非接触スマートカード。
【請求項４４】
前記ソフトウェアアプリケーションの前記サイズは、１バイトの形態であり、前記１バイトは、前記ソフトウェアアプリケーションを記憶するように割り当てられる前記連続したメモリブロックの数の値を伴う下位ニブルをさらに備える、請求項４０に記載の非接触スマートカード。
【請求項４５】
前記ＡＩＤを備える前記アプリケーションディレクトリエントリーは、前記アプリケーションディレクトリのデータメモリブロック内に記憶する前に、昇順または降順でソートされる、請求項４０に記載の非接触スマートカード。
【請求項４６】
前記データメモリブロック内に記憶された前記アプリケーションディレクトリエントリーにアクセスして編集するための第２のアクセスキーが、前記アクセスメモリブロックに記憶される、請求項４０に記載の非接触スマートカード。
【請求項４７】
前記データメモリブロック内に記憶された前記アプリケーションディレクトリエントリーは、アクセスキーを使用する、外部カードリーダにより読み出される、請求項４０に記載の非接触スマートカード。
【請求項４８】
外部カードリーダおよび前記非接触スマートカードによって実行されるトランザクションを記録するための、一群のログメモリブロックをさらに備える、請求項４０に記載の非接触スマートカード。
【請求項４９】
前記ＡＩＤは、前記ＡＩＤに関連するソフトウェアアプリケーションの種類を定義する、ソフトウェアコードを備え、前記ソフトウェアアプリケーションの種類は、ロイヤルティカードソフトウェアアプリケーション、クーポンソフトウェアアプリケーション、プリペイドギフトカードソフトウェアアプリケーション、およびトランジットカードソフトウェアアプリケーションの中の１つとして定義される、請求項４０に記載の非接触スマートカード。
【請求項５０】
非接触スマートカードの名前空間の単一のセクタに複数のアプリケーションを記憶するためのコンピュータが読み取り可能なソフトウェアコードを備える、コンピュータ読み出し可能な記憶媒体であって、
前記名前空間に記憶された各アプリケーションについて、前記非接触スマートカードの名前空間の中のアプリケーションディレクトリのデータメモリブロックに、アプリケーションディレクトリエントリーを記憶するための、コンピュータが読み取り可能なソフトウェアコードであって、各アプリケーションディレクトリエントリーは、
各対応するソフトウェアアプリケーションのアプリケーション識別子（ＡＩＤ）と、
前記非接触スマートカードの名前空間の前記セクタの中の開始メモリブロックの開始メモリブロック番号であって、前記開始メモリブロックが前記対応するソフトウェアアプリケーションの少なくとも一部を保持する、開始メモリブロック番号と、
前記対応するソフトウェアアプリケーションのサイズであって、前記ソフトウェアアプリケーションの残りを記憶する前記開始メモリブロックからの、連続したデータメモリブロックの数を定義する、サイズと、
を備える、コンピュータが読み取り可能なソフトウェアコードと、
前記アプリケーションディレクトリのアクセスメモリブロックに、前記アプリケーションディレクトリにアクセスして読み出すためのアクセスキーを記憶するための、コンピュータが読み取り可能なソフトウェアコードと、
を備える、コンピュータ読み出し可能な記憶媒体。
【請求項５１】
前記開始メモリブロック番号は、前記非接触スマートカードの名前空間の中の前記データメモリブロックのアドレスの絶対値を含む、１バイト値であり、前記絶対値は、ゼロに基づく番号付けシステムを使用して計算される、請求項５０に記載のコンピュータ読み出し可能な記憶媒体。
【請求項５２】
前記開始メモリブロック番号は、前記データメモリブロックに記憶された前記ソフトウェアアプリケーションの前記サイズと前記データメモリブロックの参照インデックスとの積と、および前記データメモリブロックの前記参照インデックス内の第１のメモリブロックのメモリアドレスと、の和として計算される、絶対メモリアドレスのための１バイト値である、請求項５０に記載のコンピュータ読み出し可能な記憶媒体。
【請求項５３】
前記ソフトウェアアプリケーションの前記サイズは、１バイトの形態であり、前記１バイトは、前記ソフトウェアアプリケーションを記憶するように割り当てられる前記連続したメモリブロックの数の値を伴う下位ニブルをさらに備える、請求項５０に記載のコンピュータ読み出し可能な記憶媒体。
【請求項５４】
前記ＡＩＤを備える前記アプリケーションディレクトリエントリーは、前記アプリケーションディレクトリのデータメモリブロック内に記憶する前に、昇順または降順でソートされる、請求項５０に記載のコンピュータ読み出し可能な記憶媒体。
【請求項５５】
前記データメモリブロック内に記憶された前記アプリケーションディレクトリエントリーにアクセスして編集するための第２のアクセスキーが、前記アクセスメモリブロックに記憶される、請求項５０に記載のコンピュータ読み出し可能な記憶媒体。
【請求項５６】
前記データメモリブロック内に記憶された前記アプリケーションディレクトリエントリーは、前記アクセスキーを使用する、外部カードリーダにより読み出される、請求項５０に記載のコンピュータ読み出し可能な記憶媒体。
【請求項５７】
前記非接触スマートカードは、外部カードリーダおよび前記非接触スマートカードによって実行されるトランザクションを記録するための、一群のログメモリブロックをさらに備える、請求項５０に記載のコンピュータ読み出し可能な記憶媒体。
【請求項５８】
前記ＡＩＤは、前記ＡＩＤに関連するソフトウェアアプリケーションの種類を定義する、ソフトウェアコードを備え、前記ソフトウェアアプリケーションの種類は、ロイヤルティカードソフトウェアアプリケーション、クーポンソフトウェアアプリケーション、プリペイドギフトカードソフトウェアアプリケーション、およびトランジットカードソフトウェアアプリケーションの中の１つとして定義される、請求項５０に記載のコンピュータ読み出し可能な記憶媒体。
【請求項５９】
前記非接触スマートカードは、ＭＩＦＡＲＥ型データ構造を備える、請求項３０に記載のコンピュータに実装された方法。
【発明の詳細な説明】
【技術分野】
【０００１】
＜関連出願＞
この特許出願は、「セキュアなアプリケーションディレクトリ（Ｓｅｃｕｒｅ  Ａｐｐｒｉｃａｔｉｏｎ  Ｄｉｒｅｃｔｏｒｙ）」という名称で２０１１年９月２７日に出願された、米国特許出願第１３／２４６，４６６号に対して優先権を主張する。この出願は、「セキュアなアプリケーションディレクトリ（Ｓｅｃｕｒｅ  Ａｐｐｒｉｃａｔｉｏｎ  Ｄｉｒｅｃｔｏｒｙ）」という名称で２０１１年９月１６日に出願された、米国特許出願第１３／２３４，８４９号の継続出願であり、この出願に対して優先権を主張する。上で特定した出願の全体の開示は、参照によりその全体が本明細書に組み込まれる。
【０００２】
本開示は、概して、非接触スマートカードの中のセキュアなアプリケーションディレクトリのための、コンピュータに実装された方法、デバイス、およびコンピュータプログラムに関する。
【背景技術】
【０００３】
非接触トランザクションシステムは、トランザクションの目的で、セキュアな非接触スマートカードを使用する。いくつかの例示的なトランザクションシステムとしては、交通機関カード、認証および身分証明カード、駐車カード、ならびにテレホンカードが挙げられる。例示的なセキュアな非接触スマートカードは、ＮＸＰ  ＳｅｍｉｃｏｎｄｕｃｔｏｒｓによるＭＩＦＡＲＥ（登録商標）カード、またはＨＩＤ  ＧｌｏｂａｌによるｉＣｌａｓｓ（登録商標）カードである。特定の従来のスマートカードは、無線周波数識別（ＲＦＩＤ）規格を使用して、カードリーダデバイスに情報を送信し、また、そこから情報を受信する。ＲＦＩＤに基づく非接触スマートカードデバイスは、スマートカードおよびカードリーダのための国際標準化機構および国際電気標準会議規格（ＩＳＯ／ＩＥＣ）１４４４３によってサポートされている。特定の非接触スマートカードは、アンテナおよびセキュアなメモリ等の、複数の電子構成要素を含み得る。加えて、特定の非接触スマートカードはまた、メモリ管理ユニット、プロセッサ、および暗号発生器等の、補助的な半導体構成要素も含み得る。
【０００４】
段落４〜５は、限定的な言語を使用する。異なる種類のソフトウェアアプリケーションまたはアプリケーションデータのメモリ領域としては、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、および不揮発性フラッシュメモリが挙げられる。これらのメモリ領域は、外部のセキュアなアクセスシステム、メンバーシップ、または支払い目的等の目的でソフトウェアアプリケーションにアクセスするために必要とされる、セキュアな情報のためのセキュアなメモリ領域であり得る。さらに、各セキュアなメモリ領域には、非接触スマートカード内のセキュアな要素領域に含まれる、特定のアプリケーション機能が割り当てられる。特定のローエンドの非接触スマートカードは、大量の処理能力を提供することができない。これらのスマートカードは、受動メモリからの情報と無線周波数だけで通信し得る。
【０００５】
特定の非接触スマートカードは、ＥＭＶ（電子クレジットカード規格）およびＭＩＦＡＲＥ（登録商標）双方の動作機能をサポートする、ハードウェアおよびソフトウェアのためのプラットフォームを含む。そのようなカードは、非接触スマートカードデバイスの組み合わせた、または分離されたセキュアな要素内で異なる領域を保持するための、プロセッサをさらに含む。非接触スマートカードは、異なるメモリサイズ、例えば、４ＫＢのＥＥＰＲＯＭ（フラッシュメモリ）または１ＫＢのＥＥＰＲＯＭパッケージで利用可能である。しかしながら、特定の広く使用されているスマートカードは、いかなる知的な処理能力も有さず、特定のメモリ領域だけを特定のカードリーダによって読み出すことができるように符号化されたソフトウェアである。ＭＩＦＡＲＥ  Ｃｌａｓｓｉｃ（登録商標）等の数多くの広く使用されている非接触トランザクションカードでは、さらなる開発を可能にするために、限られた量のリソースだけしかスマートカード内で利用できない。例えば、４ＫＢのカードに関して、４ＫＢの全てが任意の所与の時点でカード内でアクティブでなければならないという要件が存在し得る。
【０００６】
「メモリ領域」とも称される、非接触カード内のいくつかのセキュアな要素の名前空間において、利用可能なメモリは、静的に分割される。カードリーダは、パーティションのうちの特定のいくつかを読み出すように符号化される。故に、カードリーダは、予め定められたパーティションだけから読み出され得る。さらに、各セキュアなメモリ領域には、非接触スマートカード内のセキュアな要素領域に含まれる、特定のアプリケーション機能が割り当てられる。４ＫＢの非接触スマートカードは、データメモリ領域を含み、この領域は、典型的に、約４０のセクタに分割され、それぞれ４つのブロックの３２のセクタ、およびそれぞれ１６のブロックの８つのセクタを伴う。１つのブロックは、非接触スマートカードの製造業者情報専用である一方で、１つのセクタは、外部カードリーダを、非接触スマートカードに記憶された複数のソフトウェアアプリケーションのうちの１つに導くように構成される、予めインストールされたアプリケーションディレクトリ専用であり得る。アプリケーションディレクトリは、外部のカードリーダを、アプリケーションが記憶されたセクタによって記憶されるアプリケーションに向け得る。故に、データメモリ領域は、セクタによってアプリケーションを記憶し、セクタの中の未使用のメモリブロックは、アイドル状態のままであり得る。
【発明の概要】
【課題を解決するための手段】
【０００７】
特定の例示的な実施形態において、非接触スマートカードの中のセキュアなアプリケーションディレクトリのためのコンピュータに実装された方法は、非接触スマートカードのデータメモリブロックに、非接触スマートカードに記憶された複数のソフトウェアアプリケーションのうちの１つのアプリケーションディレクトリエントリーを記憶することであって、アプリケーションディレクトリエントリーは、ソフトウェアアプリケーションのためのアプリケーション識別子（ＡＩＤ）と、メモリ領域の開始メモリブロックの開始メモリブロック番号であって、開始メモリブロックがソフトウェアアプリケーションの少なくとも一部を保持する、開始メモリブロック番号と、ソフトウェアアプリケーションのサイズであって、ソフトウェアアプリケーション全体を記憶するための、開始データメモリブロックからのデータメモリブロックの数を定義する、サイズとを備える、記憶することと、非接触スマートカードのアクセスメモリブロックに、データメモリブロック内に記憶されたアプリケーションディレクトリエントリーにアクセスして読み出すためのアクセスキーを記憶することとを含む。
【図面の簡単な説明】
【０００８】
【図１】特定の例示的な実施形態による、そこにセキュアな要素が記憶された、セキュアな要素を伴う非接触スマートカードと、セキュアなアプリケーションディレクトリとを含む、非接触スマートカードデバイスのためのシステムを示す図である。
【図２】特定の例示的な実施形態による、デフォルトまたは既存のアプリケーションディレクトリを伴う４ＫＢの非接触スマートカードのメモリ構造を示す図である。
【図３】特定の例示的な実施形態による、セキュアなアプリケーションディレクトリを伴う４ＫＢの非接触スマートカードのメモリ構造を示す図である。
【図４】特定の例示的な実施形態による、非接触スマートカードの中のセキュアなアプリケーションディレクトリのためのコンピュータに実装された方法を示す図である。
【発明を実施するための形態】
【０００９】
＜概要＞
アプリケーションディレクトリテーブルは、メタデータブロックとして、セキュアな要素の名前空間の中の特別なブロックを予約する。これらのブロックは、外部カードリーダデバイスに提示されるソフトウェアアプリケーションを含むスロット／ブロックに対する、アプリケーション識別子（ＡＩＤ）の論理マッピングを含む。外部カードリーダデバイスが非接触スマートカードに遭遇したときに、該デバイスは、カードリーダおよびソフトウェアアプリケーションに知られている定義済みのアクセスキーによって、ディレクトリで識別される特別なメタデータブロックを認証しようとする。ブロックが有効であったときに、カードリーダは、割り当てられたブロックの中のアプリケーションディレクトリテーブルの内容を読み出し、ルックアップを実行して、どのセクタ／ブロックにどのアプリケーションＩＤがマップされたのかを見つけ出す。一例として、小売業者のロイヤルティカードが「１０」というＡＩＤを有するときに、標的とされたカードリーダデバイスは、セキュアな要素の名前空間のデータメモリブロックの中のアプリケーションディレクトリテーブルを読み出して、ＡＩＤ「１０」をルックアップする。ディレクトリサービスは、有用なサービスであるが、ブロックおよびそのＡＩＤの名前空間を全て使用することを必要とし、第三者によって外部的に管理される。
【００１０】
非接触スマートカードのアクセスキーは、非接触スマートカード内のアプリケーションデータまたはソフトウェアアプリケーションへの異なる種類のアクセスを提供し得る。特定の例示的な実施形態において、セクタ０の「Ａキー」または「キーＡ」は、６バイトのコードを伴うパブリックセクタのアクセスキーである一方で、セクタ０の「キーＢ」または「Ｂキー」は、非接触スマートカード発行者またはカード所有者によって決定される。カード発行者は、非接触スマートカード上の、特定のアクセスキーおよび制御ソフトウェアアプリケーション、または他のソフトウェアアプリケーションの特定の態様を制御する。「カード発行者」または「カード所有者」は、本明細書で同じ意味で使用される用語であり、概して、非接触スマートカード内にセキュアな要素およびアプリケーションディレクトリを配置する、実体を指す。ＮＦＣサービスプロバイダは、カード発行者型の実体の一例であり得る。
【００１１】
Ｂキーは、関連するメモリブロック内のソフトウェアアプリケーションまたはアプリケーションデータに対して変更を行うために、プライベートに保たれる６バイトのコードであり得る。本明細書で使用される「アプリケーションデータ」は、ソフトウェアアプリケーションに対してデータを拡大する、更新する、または提供する、データを定義する。本明細書で使用される「ソフトウェアアプリケーション」は、非接触スマートカードのセキュアな要素内にインストールして実行することができる、外部コンピュータから任意のフォーマットで得られる、あらゆるソフトウェアアプリケーションを指す。さらに、「ソフトウェアアプリケーション」および「アプリケーションデータ」は、本明細書で同じ意味で使用され、外部コンピュータからセキュアな要素内に記憶されたデータの型を指す。「ソフトウェアアプリケーション」という用語はまた、特に説明されない限り、ダウンロードされたフォーマット、任意の中間的なフォーマット、および最終的な実行されるフォーマットからの、ソフトウェアアプリケーションの全てのフォーマットも含む。セキュアな要素の名前空間の中のアプリケーションディレクトリテーブルのデータメモリブロックにおいて、ソフトウェアアプリケーションは、その２バイトのアプリケーション識別子（ＡＩＤ）を使用してマップされ、１バイトをアクセス制御のためのクラスタコードとして使用し、別の１バイトをソフトウェアアプリケーションコードまたは最下位ビット（ＬＳＢ）として使用する。
【００１２】
特定の例示的な実施形態において、非接触スマートカードは、独立したカードデバイスとして種々のセキュアな機能を実行するために、アプリケーションディレクトリおよびソフトウェアアプリケーションとともにロードされ得る。特定の例示的な実施形態において、非接触スマートカードデバイスは、非接触スマートカードを組み込んで、非接触スマートカードに対するユーザインターフェースソフトウェアアプリケーションのアクセスを提供する。例示的な非接触スマートカードデバイスとしては、スマートフォン、携帯電話、携帯情報端末（ＰＤＡ）、ネットブックおよびｉＰａｄ（登録商標）等のモバイルコンピューティングデバイス、電子的に使用可能にされるキーフォブ、電子的に使用可能にされるカード型デバイス、および他の電子的に使用可能にされるデバイスが挙げられ、各デバイスは、金融取引、クーポン、チケット販売、セキュアな認証、および関連する用途が挙げられるが、これらに限定されない、複数の目的で使用することができる。
【００１３】
特定の例示的な実施形態において、特定の非接触スマートカード、または非接触スマートカードの実装において、セキュアな要素の名前空間は、例えば、Ｊａｖａ（登録商標）Ｃａｒｄプラットフォーム上のＥＭＶＣｏ、近接感知のための近距離無線通信（ＮＦＣ）、またはＭＩＦＡＲＥを含む、異なるカードの種類のための異なるパーティションに分割することができる。一実施形態では、１ＫＢの非接触スマートカードの場合、セキュアな要素の名前空間は、複数のセクタに仮想的に分割され、各セクタは、それぞれについて長さが１６バイトである４つのメモリブロックを含み、予め定義されたセクタのサイズ設定と異なるセクタのサイズ設定のためのオプションを伴い、それによって、単一のソフトウェアアプリケーションの連続したセクタにわたって連続したブロックを含む。
【００１４】
各セクタの後置ブロックは、メモリブロックの残りに対するアクセス情報を記憶するための３つのメモリセクションに分割される、専用のアクセスメモリブロックである。アクセス情報は、Ａキーと、アクセスメモリブロック内のアクセスビットと、Ｂキーとを含む。アクセスメモリブロックは、メモリブロックにアクセスするために使用される、個々のアクセスキーまたはアクセスキーの組み合わせに応じて、セクタの中のブロックの残りへのアクセスを制御する。セクタの中のメモリブロックの残りは、アプリケーションデータまたはソフトウェアアプリケーションを含む、データメモリブロックである。ソフトウェアアプリケーションはまた、その前のセクタの中のソフトウェアアプリケーションの終了バイトにポインタまたは連続情報を提供することによって、複数セクタにわたって記憶することもできる。ポインタは、ソフトウェアアプリケーションのＡＩＤ、ならびにソフトウェアアプリケーションの継続セクションのブロック位置およびセクタ位置を含み得る。
【００１５】
特定の例示的な実施形態において、アクセスメモリブロックの中のアクセスキーは、セクタ０の中のアプリケーションデータおよびアプリケーションディレクトリのデータメモリブロックに対する、異なるアクセス型をサポートする。アクセス制御ブロックは、キーＡのパーミッションを記述するように構成することができる一方で、キーＢは、制御ブロックの中でキーを回転させて、アクセス制御ブロック内のアクセスビットに上書きする能力を維持する。アプリケーションディレクトリテーブルを含むセクタ０のデータメモリブロックにおいて、キーＢは、ディレクトリを編集する、セクタ位置およびメモリブロック位置に対するＡＩＤのマッピングを変更する、およびセキュアな要素の名前空間におけるアクセス型を変更することによってメモリブロックを再割り当てするために使用され得る。これらの機能は、非接触スマートカードが、アクセスメモリブロックの中のアクセスキーおよびアクセスビットに応じて、複数のアプリケーションおよびアクセス型を機能的にサポートすることを可能にする。非接触スマートカードに対して利用可能であり得るアクセス型としては、書き込みアクセス、読み出しアクセス、インクリメントアクセス、デクリメントアクセス、または読み出しアクセス、書き込みアクセス、インクリメントアクセス、およびデクリメントアクセスのそれぞれの２つ以上の組み合わせが挙げられる。書き込みアクセスは、セキュアな要素の名前空間内のデータメモリブロックにソフトウェアアプリケーションまたはアプリケーションデータを書き込む、またはインストールする能力を含む。
【００１６】
セキュアな要素の名前空間の中のセクタのそれぞれには、そこからデバイスキーセットが得られる一意の識別子が割り当てられ、一意の識別子は、製造業者またはカード所有者において非接触スマートカードに割り当てられ得る。カード所有者は、非接触スマートカード上にセキュアな要素およびアプリケーションディレクトリ構造を展開する実体を指し得る。一例として、サービス識別モジュール（ＳＩＭ）、セキュアデジタル（ＳＤ）メモリカード、またはユニバーサル集積回路カード（ＵＩＣＣ）の製造業者は、該カードを無線サービスプロバイダに販売する前に、スマートフォンへの展開のために、セキュアな要素およびアプリケーションディレクトリ構造をＳＩＭ、ＵＩＣＣ、またはＳＤカードに埋め込むことによって、カード所有者になり得る。代替として、グローバルシステムフォーモバイルコミュニケーションズ（ＧＳＭ（登録商標））、汎用モバイル通信システム（ＵＭＴＳ）、またはコード分割多重アクセス方式（ＣＤＭＡ）の無線サービスプロバイダは、カードを販売する前に、モバイル通信を可能にするために、セキュアな要素を埋め込み、アプリケーションディレクトリを作成してもよい。
【００１７】
「カード製造業者」、「カード所有者」、または「無線サービスプロバイダ」のそれぞれは、非接触スマートカード内にセキュアな要素およびサポートアプリケーションディレクトリを提供するための「カード発行者」と称され得る。例示的な実施形態において、「カード発行者」はまた、非接触スマートカードのセキュアな要素内に制御ソフトウェアアプリケーションを作成して展開する、サービスプロバイダとも称され、制御ソフトウェアアプリケーションは、セキュアな要素の名前空間を制御、開始、および分割するために使用することができる。アプリケーションディレクトリは、埋め込み段階にある埋め込みソフトウェアアプリケーションとみなされ得る。
【００１８】
特定の例示的な実施形態において、非接触スマートカードデバイスの製造業者または非接触スマートカードデバイスのオペレーティングシステム開発者は、カード発行者であるとみなされ得る。カード発行者は、独立して、またはカード所有者と連携して、セキュアな要素または外部のセキュアな要素を介して、非接触スマートカード内の付加的なソフトウェアアプリケーションを提供し得る。付加的なソフトウェアアプリケーションは、単一のＮＦＣコントローラおよびアンテナを使用して、非接触スマートカードデバイス内の多数のカードプロトコルの中で管理的な役割を果たし得、または非接触スマートカードのセキュアな要素の名前空間を制御し得る。さらに、ソフトウェアアプリケーションプロバイダは、カード発行者サービスを使用する、または８０２．１１規格を使用する標準的な無線インターネットを通しての無線方法を介して、ソフトウェアアプリケーションを提供する。
【００１９】
セキュアな要素の各セクタは、アプリケーションディレクトリ構造の一部として、アプリケーション識別子（ＡＩＤ）を伴う単一のアプリケーションを記憶することができ、それによって、複数のソフトウェアアプリケーションが非接触スマートカード内で共存することを可能にする。セクタアドレス０の１つのメモリブロックは、製造業者のデータだけを含み得る一方で、別のメモリブロックは、カード上の一意のアプリケーションのＡＩＤを含むデータメモリブロック、およびアプリケーションディレクトリテーブルへのアクセスを提供するアクセスメモリブロックである。製造業者のデータは、品質問題が生じた場合に、集積回路（ＩＣ）の詳細を追跡するために使用することができる。よって、セキュアな要素の名前空間のセクタ０は、それぞれ１６バイトの２つのデータブロックを含むが、これは一般的に、非接触スマートカード内の他のメモリブロックの中にあるアプリケーションのＡＩＤ情報である。
【００２０】
特定の例示的な実施形態において、トランジット環境アプリケーションという状況では、非接触スマートカード上のソフトウェアアプリケーションは、カードリーダが、特定のセクタのメモリブロックにアクセスすること、トランジットシステムに入場または退場した場所を記録すること、初期値を設定すること、およびカード上の値をデクリメントすることを可能にする。回転式改札は、アクセスキーＡに限定され得るが、これは、下位セキュリティキーであり、カードリーダのある回転式改札が、カード上のアクセスメモリブロックの割り当てに応じて、カードの値を読み出すこと、および非接触スマートカードの特定のブロックに退場点または入場点を書き込むことを認証する。故に、トランジットソフトウェアアプリケーションは、値（インクリメント／デクリメント）について、および駅（入場／退場）について他のセクタを参照して、特定のブロックに記憶され得、デクリメント値は、対応するデータメモリブロックの中の駅の値割り当てから計算され得る。各セクタは、必要に応じて、異なる一組のキーＡおよびキーＢを含み得る。
【００２１】
ソフトウェアアプリケーションのプロバイダ（例えば、トランジットオフィス）は、非接触スマートカードの異なるセクタおよびメモリブロックの中の初期値設定についてキーＢへのアクセスを有することになり、セクタは、キーＢを使用して書き込むことが可能になる。故に、カードは、キーＢがデバイスにアクセスして、非接触スマートカードの所定の「初期値」データメモリブロックまたはセクタに初期値を書き込むことを可能にするように構成され得る。「駅情報」を記憶するためのセクタの異なるデータメモリブロックは、異なる一組のアクセスキー、キーＡおよびキーＢを含み、これらは、駅の入場および退場情報が登録されることを可能にする。課金値は、入場駅と退場駅との間で計算することができ、次いで、カードのユーザが駅に存在しているときに、非接触スマートカードの「初期値」データメモリブロックまたはセクタに適用され得る。トランジットシステムは、入場を可能にする前に、残っている値を読み出すために、「初期値」のデータメモリブロックまたはセクタについてキーＡを検証する。異なるキーＢは、キーＢによって割り当てられて保護された駅情報のデータメモリブロックに入場場所を書き込む。回転式改札を退場したときに、カードが認識され、入場点から退場点までの料金が計算されて初期値からデクリメントされる一方で、最初の場所を消去する。代替として、デクリメント値が初期値より大きいときに、カードは、回転式改札に信号を送って退場を阻止する。この問題は、切符販売機または会社を介して、アクセスのためのキーＢを使用してさらなる値をカードに加えることで解決される。
【００２２】
非接触スマートカードは、初期化する目的で、既知のデフォルトのキー（例えば、０ｘＦＦが、標準的なデフォルトキーである）を伴って製造することができる。デフォルトのキーが既知であるので、非接触スマートカード上に、または非接触スマートカード内に埋め込まれるセキュリティ要素が無効とみなされる場合があり、これは、セキュアな要素内のアプリケーションプログラミングインタフェース（ＡＰＩ）または異なるソフトウェアアプリケーション等の、非接触インターフェース（外部カードリーダ）または接触インターフェースを介したアクセスが阻止され得ることを意味する。セキュアな要素、またはセキュアな要素をホストする非接触スマートカードデバイスのランタイム環境は、ＡＰＩをサポートし得る。一組のアクセスキー、主アクセスキー、キーＢを使用して、カード製造業者の所在地またはカード発行者（または所有者）の所在地でデバイスを初期設定することによって、セクタの中のキーが指定されると、オーバーライドのための任意のオプションを伴うセクタへの専用の管理アクセスを有することになる。故に、キーの回転または変更は、メモリブロックの制御を維持する既知の状態に設定される。メモリブロック内のメッセージ、ソフトウェアアプリケーション、またはアプリケーションデータは、一般的に、平文フォーマットである一方で、暗号化された（適用可能なキー、ＡまたはＢによって暗号化された）メッセージは、暗号文フォーマットである。キーＢは、特定のセクタにおいてキーＡを変更するために使用され得、同様に、キーと関連するアクセスビットが、特定のセクタについて変更され得る。
【００２３】
特定の例示的な実施形態において、カードリーダ端末またはデバイスは、関連するアプリケーションディレクトリのセキュアな要素のメモリを通して閲覧し、次いで、カードリーダに指定されているように、所定のソフトウェアアプリケーションのＡＩＤまたは所定のセクタについてＡＩＤを走査することによって、非接触スマートカードを読み出す。アプリケーションディレクトリ（ＡＤ）は、ディレクトリおよびアプリケーションのエントリーについてデータ構造テーブルを構築することができ、それによって、リーダが、トランザクションを行う正しいソフトウェアアプリケーションを識別することを可能にする。カードリーダが、支払い、さらにはトランジットとしてそのようなアプリケーションを処理するための、メモリ記憶領域からのアプリケーションデータを要求するので、非接触スマートカードは、メモリ記憶領域とみなすことができる。非接触スマートカードは、典型的に、カードリーダに乱数チャレンジを提供する一方で、カードリーダは、共通の秘密キーを使用してそれ自体の応答を非接触スマートカードに返す。非接触スマートカードは、次いで、その乱数を同じ秘密キーと比較することによって、カードリーダからの応答を検証する。その後に、相互に同意した暗号化秘密キーを使用して、実際のトランザクションが処理される。
【００２４】
特定の例示的な実施形態において、非接触スマートカードのトランジットソフトウェアアプリケーションは、複数のソフトウェアアプリケーションを含み得、または異なる地域または目的のためのものであり得る。一例として、ニューヨークトランジットシステムおよびロサンゼルストランジットシステムは、非接触スマートカードデバイス内の単一の非接触スマートカードに、異なるソフトウェアアプリケーションを提供し得る。対応するカードリーダは、ＡＤを確認することによってどのディレクトリにアクセスするのかを自動的に判断することができるので、２つのソフトウェアアプリケーションを、対応する場所の端末上で使用することができる。データメモリブロックのディレクトリ部の中の情報またはアプリケーションディレクトリのデータは、ＡＤの参照セクションを提供し、ソフトウェアが割り当てられる残りの空いているカードのセクタの分配に関する情報のための、カード発行者または製造業者のセクタへのポインタを含む。
【００２５】
特定の例示的な実施形態において、セキュアな要素の名前空間は、制御ソフトウェアアプリケーションによって管理され得る。制御ソフトウェアアプリケーションは、非接触スマートカードを組み込んだ非接触スマートカードデバイスの中の異なるセキュアな要素の名前空間内のＪａｖａ（登録商標）Ｃａｒｄ仮想マシン上で実行する、Ｊａｖａ（登録商標）Ｃａｒｄアプレットであり得る。故に、Ｊａｖａ（登録商標）Ｃａｒｄアプレットは、ＡＰＩを使用して、セキュアな通信チャネルを介した非接触スマートカードのセキュアな要素と相互作用して、アクセスメモリブロックの中のアクセスキー、ソフトウェアアプリケーション、アプリケーションデータ、アプリケーションディレクトリ、およびアクセスビットの展開を制御し得る。
【００２６】
特定の例示的な実施形態において、非接触スマートカードは、２つ以上のアプリケーションディレクトリを含み得、各アプリケーションディレクトリは、外部カードリーダがアクセスキーおよびアプリケーションディレクトリの場所を知っているときに、外部カードリーダだけによって読み出し可能である。故に、４ＫＢの非接触スマートカードについて、デフォルトのアプリケーションディレクトリは、非接触スマートカードのセクタ０に記憶され得、そこでは、セクタ０にアクセスし、デフォルトのアプリケーションディレクトリを読み出し、そして、デフォルトのアプリケーションディレクトリにリンクされるソフトウェアアプリケーションによってトランザクションを行うことが可能な外部カードリーダに対して、固定数のセクタ内の種々のアプリケーションのＡＩＤが利用可能である。２つのアプリケーションディレクトリの実装は、非接触スマートカードのメモリ領域を２種類のアプリケーションに、または異なる種類の外部カードリーダのために効果的に分割し得る。
【００２７】
＜システムアーキテクチャ＞
特定の例示的な実施形態において、第２のアプリケーションディレクトリは、４ＫＢ−４０セクタの非接触スマートカードの名前空間内に記憶され得る。第２のアプリケーションディレクトリには、非接触スマートカード内のデフォルトのアプリケーションディレクトリを介した識別のための、アプリケーション識別子が割り当てられ得る。一例として、０ｘ０００というコードが、デフォルトのアプリケーションディレクトリＡＩＤであり得る。非接触スマートカードは、各セクタが１６バイトの長さであり、１セクタあたり４つのメモリブロックに３２のセクタを含むように構成され得る。残りの８つのセクタは、各メモリブロックが１６バイトの長さであり、１セクタあたり１６のメモリブロックを含むように構成され得る。例示的な実施形態において、第２のアプリケーションディレクトリは、４ＫＢの非接触スマートカードの４０のセクタのセクタ３９に記憶される。故に、セクタ３９は、１６ブロックのセクタであり、１５のメモリブロックがアプリケーションデータを記憶するためのデータメモリブロックであり得、最後のメモリブロックが、セクタのアクセスメモリブロックを形成する。アクセスメモリブロックは、セクタが利用可能な多数のアクセス状態のうちの１つを定義する、２つのアクセスキーおよびアクセスビットを含み得る。セクタ３９の中のアプリケーションディレクトリは、読み出し目的に対して、アクセスキーを介して保護され得、読み出しアクセスキーを伴う外部カードリーダだけが、第２のアプリケーションディレクトリにアクセスし得る。４ＫＢ−４０セクタの非接触スマートカードのセクタの構成設定の結果として、外部カードリーダで利用可能な複数のレベルのアプリケーションデータがある。
【００２８】
特定の例示的な実施形態において、セクタ０に記憶されたデフォルトのアプリケーションディレクトリは、デフォルトのアプリケーションデータ記憶部が利用可能な１５のセクタへのアクセスを提供する。第２のアプリケーションディレクトリをセクタ３９に記憶することによって、４ＫＢ−４０セクタの非接触スマートカードは、第２組のアプリケーションデータ記憶部のための、１５３の別個の１６バイトのデータメモリブロックを含む。これは、セクタ１６から３９まで、１つのアクセスメモリブロックを差し引くことによって計算され得、それによって、第２組のアプリケーションデータ記憶部について、１セクタあたり３つのデータメモリブロックを乗じた１６（４メモリブロック型）のセクタと、セクタ３２から３９まで、第２組のアプリケーションデータ記憶部について、１セクタあたり１５のデータメモリブロックを乗じた７つの（１６メモリブロック型）セクタとを提供する。さらに、第２のアプリケーションディレクトリは、セクタ３９の１６のメモリブロックを占有し、それによって、第２組のアプリケーション識別子（ＡＩＤ）を介してリストされる、５６の並列にインストールされるアプリケーションを提供し、第２組のＡＩＤのそれぞれは、非接触スマートカード内に記憶された第２組のソフトウェアアプリケーションに対する参照を提供する。
【００２９】
特定の例示的な実施形態では、デフォルトのアプリケーションディレクトリの場合のように、ソフトウェアアプリケーションまたはアプリケーションデータを、セクタごとに記憶する必要がない場合がある。第２のアプリケーションディレクトリは、改良されたアプリケーションディレクトリエントリーを含み、この改良されたアプリケーションディレクトリエントリーは、第２の組のソフトウェアアプリケーションのそれぞれについて、２バイトの第２のアプリケーション識別子（ＡＩＤ）と、１バイトの開始値と、１バイトのサイズ値とを含む、４バイトのエントリーである。１バイトの開始値は、非接触スマートカード内に記憶された第２組のソフトウェアアプリケーションのそれぞれに割り当てられる開始ブロック番号に対応する。１ＫＢ、１６セクタ型のスマートカードの場合、２つのアプリケーションディレクトリ、ならびに付随するデフォルトの組および第２組のソフトウェアアプリケーションを定義するための空間が限られ得る。しかしながら、そのような実装は、非接触スマートカードの名前空間を２つのアクセス型、または異なる型の外部カードリーダに区別することが明らかになり得る。
【００３０】
特定の例示的な実施形態において、開始値は、第１の利用可能なメモリセクタからのセクタあたりのメモリブロックの数を乗算し、その数を１だけ補正することによって計算される、メモリブロックの絶対メモリアドレスであり得る。一例として、ソフトウェアアプリケーションが長さ４のメモリブロックであるときの、セクタ２のメモリブロック１に記憶されたソフトウェアアプリケーションの絶対アドレス（開始メモリブロック）を見つけ出すために、計算は、製造業者の情報のためのメモリブロック０を除いて、第１の利用可能なセクタ（この場合では、セクタ０）の中のメモリブロックの数を見出すことを伴う。セクタ２について、セクタ２が４ブロックのセクタである場合、第１の利用可能なメモリブロックからのブロックの数は８であり、第１の利用可能なメモリブロックは、セクタ０の中のメモリブロック１であり、アクセスメモリブロックを含む、メモリブロック１、セクタ０からメモリブロック１、セクタ２までのメモリブロックの数は、８である。結果として生じる値は、ゼロに基づく絶対アドレス指定を説明するために１だけインクリメントされ、それによって、９という開始値をもたらす。
【００３１】
特定の例示的な実施形態において、改良されたアプリケーションディレクトリエントリーのサイズ値はさらに、下位ニブルおよび上位ニブルに分割することができ、下位ニブルは、エントリーサイズ値を記憶するためのものである一方で、上位ニブルは、将来の使用のために、または誤りフラグもしくはロギングフラグとして予約される。記憶されたソフトウェアアプリケーションのさらなるサイズ値は、アクセスメモリブロックを無視して、非接触スマートカードのセクタの中のデータメモリブロックの連続したブロックを指す。一例として、サイズ４でブロック９（セクタ２、メモリブロック１）から始まるアプリケーションは、セクタ２のブロック１および２、次いでセクタ３のブロック０および１に記憶されるが、これらの間のアクセスメモリブロックは避ける。
【００３２】
特定の例示的な実施形態において、セクタ３９に記憶された第２のアプリケーションディレクトリは、セクタ０の中の製造業者のメモリブロックに類似した、外部カードリーダによる認識のためのヘッダエントリーを含み得る。セクタ３９のヘッダメモリブロックは、２バイトの巡回冗長検査（ＣＲＣ）と、アプリケーションディレクトリプロバイダのための４バイトの一意の識別子と、１バイトのバージョンコードと、８バイトの予約領域と、１バイトのエントリーカウントとを含む。さらに、ＣＲＣ値は、アプリケーションディレクトリに対するＣＲＣ１６の検証を含み、ＣＲＣ１６の検証は、ＩＳＯ／ＩＥＣ１４４４３規格で規定されているＣＲＣ＿Ｂの定義に従う。一意の識別子は、第２のアプリケーションディレクトリの所有者または発行者を識別し、外部カードリーダは、リンクしたソフトウェアアプリケーションまたはアプリケーションデータにアクセスする前に、一意の識別子を検証し得る。
【００３３】
バージョンコードは、第２のアプリケーションディレクトリに関連した改訂情報を記憶するための空間を提供する一方で、エントリーカウントは、第２のアプリケーションディレクトリに記録されたアクティブなソフトウェアアプリケーションの数に対応する数を記憶する。さらに、第２のアプリケーションディレクトリの中のエントリーは、昇順または降順で予めソートされ得、それによって、外部カードリーダが、読み出す好適なソフトウェアアプリケーションの場所を見つけることを容易にする。別の例示的な実施形態では、第２組のソフトウェアアプリケーションに割り当てられたメモリ領域内で、トランザクションログが利用可能にされ得る。故に、トランザクションログは、０ｘｆｆｆｅ等のデフォルトのＡＩＤを伴うソフトウェアアプリケーションとして実装され、第２組のソフトウェアアプリケーションのうちの１つとして、第２のアプリケーションディレクトリに対して割り当てられた、非接触スマートカードの所定の領域内に記憶され得る。さらに、例示的な実施形態において、トランザクションログに対するアプリケーションディレクトリエントリーは、トランザクション量の１要件あたり、１ブロックの最小サイズから１５ブロックの最大サイズまでのトランザクションログと、第２のアプリケーションディレクトリのメモリ領域内に記憶された第２組のソフトウェアアプリケーションの数とを定義し得る。したがって、トランザクションログには、第２のアプリケーションディレクトリにおいてエントリーとして参照される、ＡＩＤが割り当てられ得る。
【００３４】
トランザクションログは、非接触スマートカードの第２組のソフトウェアアプリケーションが関与するアクティビティのためのコードを記憶し、一実施例では、非接触スマートカードが外部カードリーダとのトランザクションを行ったときに、トランザクションログにトランザクションステータスが記録される。トランザクションログの構造は、２バイトのＣＲＣ＿Ｂ検証コードと、１バイトのログと、トランザクションの目的で利用可能なアクティブなソフトウェアアプリケーションのＡＩＤの数のための１バイトのカウントフィールドと、非接触スマートカード上でソフトウェアアプリケーションとトランザクションを行う外部カードリーダを識別するための８バイトのリーダ識別子フィールドと、外部カードリーダとトランザクションを行うアクティブな第２のソフトウェアアプリケーションのためのＡＩＤとを含む。トランザクションログは、トランザクションログのＡＩＤが第２のアプリケーションディレクトリの中に存在するときに、外部カードリーダによって使用され得る。リーダ識別子について、最初の３バイトは、リーダデバイスの組織／所有者を識別するための組織識別子であり、この３バイトは、電気電子技術者協会（ＩＥＥＥ）の組織的に一意な識別子（ＯＵＩ）規格に従う標準識別子に合致する。リーダ識別子の中の残りの５バイトは、８バイトのリーダ識別子内の一意のコードに割り当てられ、この一意のコードは、外部カードリーダの耐用期間にわたってグローバルに一意である。一例として、４８ビットのメディアアクセスコントロール（ＭＡＣ）アドレスが、リーダ識別子の８バイトセクションの一意のコードとして使用され得る。
【００３５】
トランザクションログの中の１バイトログは、非接触スマートカードと外部カードリーダとの間のポストトランザクションの結果のログを取るために、トランザクションステータスを含む。一例として、記憶に利用可能なトランザクションステータスは、ＡＩＤの未発見ステータスコードと、ＡＩＤの読み出し成功ステータスコードと、ＡＩＤの読み出し失敗ステータスコードと、最終予約済みステータスコードとを含む。さらに、１バイトログは、外部カードリーダと相互作用するアプリケーションディレクトリステータスのログを取り得る。最終予約済みステータスコードは、アプリケーションディレクトリが外部カードリーダを選択ソフトウェアアプリケーションへと進めさせた後の、ソフトウェアアプリケーションとの実際のトランザクションのステータスを記憶するために使用され得る。
【００３６】
第２のアプリケーションディレクトリのＡＩＤは、１２ビットの業者(merchant)プレフィックスおよび４ビットのプログラムコードを含むことができる。プログラムコードは、業者の種類によって業者プレフィックスを分割する。一例として、プログラムコードにおいて、０ｘ０は、未定義／未分類のプログラムコードであり、０ｘ１は、ロイヤルティカードのプログラムコードであり、０ｘ２は、クーポンのプログラムコードであり、０ｘ３は、プリペイドギフトカードのプログラムコードであり、０ｘ４〜０ｘｆは、他のカテゴリーに予約される。コード０ｘｆｅｄ２を伴うＡＩＤは、プログラムコード０ｘ２を伴う、業者プレフィックス０ｘｆｅｄによって復号化することができる。
【００３７】
制御ソフトウェアアプリケーションまたは制御アプレット、およびウォレットソフトウェアアプリケーション（ユーザインターフェースソフトウェアアプリケーション）は、セキュアな要素の名前空間のサービスおよびプロビジョニングを実行し、かつ、ソフトウェアアプリケーションプロバイダまたはカード発行者が、正しいアプリケーションＩＤ（ＡＩＤ）を使用してメモリをプロビジョニングすることを確実にするのに好都合なインターフェースを提供する。この措置は、新しいソフトウェアアプリケーションが、セキュアな要素の名前空間の中の他のソフトウェアアプリケーションのアプリケーションソフトウェアまたはアプリケーションデータに上書きしないことを確実にする。ソフトウェアアプリケーションプロバイダが制御ソフトウェアアプリケーションと相互作用するために、カード発行者は、プロトコルを発行するが、このプロトコルは、メッセージフォーマットおよび付随するトランザクションモデルであり得る。プロビジョニングの開始は、ユーザによって、ウォレットソフトウェアアプリケーションから起動することができる。信用証明書がパートナー（多数のソフトウェアアプリケーションプロバイダのうちの１つ）用にプロビジョニングされると、ソリューションは、ソフトウェアアプリケーションプロバイダがプッシュ通知をデバイスに送達するために使用することができる、コールバック識別子を提供する。
【００３８】
特定の例示的な実施形態において、全ての制御アプレットトランザクションは、プッシュされたイベント通知の結果としてトランザクションが起こる場合であっても、ウォレットソフトウェアアプリケーションによって開始することができる。ウォレットソフトウェアアプリケーションは、トランザクションのイニシエータとすることができる。この方法において、制御ソフトウェアアプリケーションのソリューションは、制御ソフトウェアアプリケーションにおいて、ウォレットソフトウェアアプリケーションがマスターであり、ソフトウェアアプリケーションがトランザクションのスレーブであるという点で、従来のＥＭＶＣｏプロビジョニングと異なり得る。これとは逆に、ＥＭＶＣｏプロビジョニングについて、ソフトウェアアプリケーションプロバイダ（例えば、金融機関またはトランジットシステム）は、トランザクションのマスターであり、ウォレットソフトウェアアプリケーションは、どのアクションがソフトウェアアプリケーションプロバイダによってＴＳＭを介して行われているのかという知識さえも伴わないスレーブである。この設計は、ウォレットソフトウェアアプリケーションと連動する制御アプレットとして、ＴＳＭの必要性を多少なりとも解消することができ、非対称キー対の暗号アルゴリズムは、信頼できる中立かつセキュアなソフトウェアアプリケーションプロバイダの役割を果たす。制御ソフトウェアアプリケーションは、加えて、セキュアなチャネル（少なくともセキュアソケットレイヤまたはＳＳＬによって強化される）を通じて駆動されるすべての相互作用を定義してもよい。
【００３９】
特定の例示的な実施形態において、制御ソフトウェアアプリケーションの実装は、定義されたＪａｖａＳｃｒｉｐｔ（登録商標）オブジェクト通知またはＪＳＯＮフォーマットのメッセージを使用して、ステートレスクライアントサーバ構造であるレプレゼンテーショナルステートトランスファ（ＲＥＳＴｆｕｌ）インターフェースを介して実行される。制御ソフトウェアアプリケーションは、ウォレットソフトウェアアプリケーションが開始プロビジョンメッセージをパートナーデバイスに送信することから始まる一連のイベントの中で、トランザクションを伴い、パートナーデバイスは、複数のソフトウェアアプリケーションのためのリモートサーバホストとして動作する、非ＴＳＭコンピュータまたはＴＳＭコンピュータであり得る。開始メッセージは、非ＴＳＭコンピュータが、ウォレットソフトウェアアプリケーションにセキュアに返される「管理トランザクション」応答を符号化するために必要な情報を含む。パートナーは、開始トランザクションメッセージの中の情報を使用して、応答メッセージのデータを符号化する。例えば、開始メッセージは、非接触スマートカードデバイスに記憶された秘密キーと合致する、制御アプレットのための公開キーを含むことができる。
【００４０】
図１は、特定の例示的な実施形態による、そこにセキュアな要素１６０が記憶された、セキュアな要素１６０を伴う非接触スマートカード１５６と、セキュアなアプリケーションディレクトリとを含む、非接触スマートカードデバイス１４４のためのシステム１００を示す図である。ソフトウェアアプリケーションは、近距離無線通信（ＮＦＣ）サービスプロバイダ１０４またはソフトウェアアプリケーションプロバイダ１１２によってホストされるトラステッドサービスマネージャ（ＴＳＭ）１０８から、非接触スマートカードデバイス１４４に展開される。さらに、ＴＳＭは、セキュアな通信インターネットチャネル１３２を介してプロバイダ１１２からソフトウェアアプリケーションを受け取り得、プロバイダ１１２は、クレジットカード会社１１６、チケット販売会社１２０、クーポン会社１２４、および認証会社１２８等の異なる業者および業者の種類に対するソフトウェアアプリケーションをホストするサーバを含む。
【００４１】
ＴＳＭ１０８からのソフトウェアアプリケーションは、セキュアな無線接続、例えばプロキシサーバとして無線サービスプロバイダ１３６を使用するＧＳＭ（登録商標）およびＣＤＭＡ１４０を介して、非接触スマートカードデバイス１４４に展開され得る。代替として、ＴＳＭ１０８は、Ｗｉ−Ｆｉ使用可能デバイス１４４へのセキュアな無線８０２．１１規格の接続を介して、非接触スマートカード１４４にソフトウェアアプリケーションを展開する。ソフトウェアアプリケーションは、デバイス１４４上のユーザインターフェースソフトウェアアプリケーション１５２を使用するエンドユーザによって要求され得る。受信したソフトウェアアプリケーションは、非接触スマートカード１５６の中のセキュアな要素の名前空間１６０または非接触スマートカード１５６内のセキュアなメモリに直接的に展開する。非接触スマートカードは、無線周波信号を送信および受信するように構成されるＮＦＣコントローラチップ１６４およびアンテナ１６８を介して、外部カードリーダデバイス１７２と相互作用する。
【００４２】
特定の例示的な実施形態において、非接触スマートカード１５６は、ホストとしての役割を果たす任意の非接触スマートカードデバイスから独立して、外部リーダデバイス１７２と相互作用することが可能な、独立したカードデバイスである。次いで、非接触スマートカード１５６には、ソフトウェアアプリケーションまたはアプリケーションデータを名前空間の適切な領域に書き込むために、無線周波数信号および書き込みアクセスキーを使用して非接触スマートカードデバイス１５６の名前空間１６０をプロビジョニングするように特に構成される外部カードリーダデバイスを使用して、ソフトウェアアプリケーションがロードされ得る。
【００４３】
図２は、特定の例示的な実施形態による、デフォルトまたは既存のアプリケーションディレクトリ２４８Ｂを伴う４ＫＢの非接触スマートカードのメモリ構造２００を示す。セキュアな要素の名前空間２０４は、仮想的に、４０個のセクタ２０８に分割され、各セクタは、多数のメモリブロック２１２を含む。さらに、４０個のセクタは、４個のメモリブロックの３２個のセクタと、１６個のメモリブロックの８個のセクタとを含む。各セクタは、セクタ内のブロックのアクセス制御のために、少なくとも１つのアクセスメモリブロック２２０、２２８、および２５２を含む。各セクタにおいて、残りのブロックは、ソフトウェアアプリケーションまたはアプリケーションデータを記憶するためのデータメモリブロックとして予約され得る。各メモリブロックは、アクセスまたはデータ型メモリブロックについて、アクセスまたはそこに記憶されるデータの、１ブロック２１６あたり１６バイトを含む。
【００４４】
各セクタのアクセスメモリブロックは、Ａキー２２０Ａ〜Ｚと、アクセスメモリブロック２２８Ａ〜Ｚの中のアクセスビットと、セクタのメモリブロックにアクセスするためのＢキー２５２Ａ〜Ｚとを記憶し、Ａキー２２０、Ｂキー２５２、またはアクセスキー２２０および２５２双方の組み合わせのいずれかを使用して、アクセスビットとして各セクタのメモリブロック内に記憶された異なるアクセスタイプが定義され得る。一例として、特定のセクタにおいて、外部カードリーダは、記憶されたアプリケーションデータを読み出すためのデータメモリブロックだけにアクセスし得、例えば、認証カードでは、認証情報がデータメモリブロックに記憶され得、外部カードリーダは、認証情報の読み出しだけを行い得るが、編集は行わない。書き込みアクセスキーを有する特殊な外部カードリーダデバイスが、データメモリブロックの中の認証情報を編集するために使用され得る。
【００４５】
一例では、トランザクションログについて、セクタのデータメモリブロック内にトランザクションログを含むセクタは、書き込みの目的で外部カードリーダによってアクセスして、カードリーダのリーダ識別子をトランザクションログに書き込むように構成され得る。外部カードリーダは、任意の書き込みアクセスが可能になる前に、その書き込みアクセスキーを非接触スマートカードに提供する。セクタ０は、製造業者の情報に割り当てられた１つのデータメモリブロック２５６を有する。非接触スマートカードの製造業者は、カードの一意の識別子を記憶させてもよく、この識別子は、ＡキーおよびＢキーのためのデフォルトのアクセスキーを生成するために、カード発行者によって使用され得る。その後に、カード発行者は、アクセスキーを変更して、外部カードリーダによって提供される機能の種類に従って、特殊な外部カードリーダによって使用するための非接触スマートカード内に、新しいアクセスキーを記憶させてもよい。
【００４６】
図３は、特定の例示的な実施形態による、セキュアなアプリケーションディレクトリ３２８Ａ〜Ｚを伴う４ＫＢの非接触スマートカードのメモリ構造３００Ａ〜Ｂを示す。メモリ構造３００Ａの図示において、セキュアな要素名前空間３０４は、デフォルトまたは既存のアプリケーションディレクトリ３３６Ｂを含み、４０のセクタ３１２のうちの限定された数が、デフォルトのアプリケーションディレクトリに割り当てられる。これは、レガシーカードリーダが、非接触スマートカードの名前空間内の既存のソフトウェアアプリケーションを読み出すことを可能にする。デフォルトのアプリケーションディレクトリ３３６Ｂは、一般的に、セキュアな要素の名前空間のセクタ０に記憶され得、デフォルトのアプリケーションディレクトリに割り当てられるセクタ０〜１５を伴う。さらに、セクタ０〜１５は、デフォルトまたはレガシーソフトウェアアプリケーションを記憶するための、１セクタあたり４つのメモリブロック３１６型のメモリ領域であり得る。第２のアプリケーションディレクトリは、セクタ３９に記憶され、第２組のソフトウェアアプリケーションに関するＡＩＤを記憶するための１５のデータメモリブロックを含む。第２のアプリケーションディレクトリ３２８は、外部カードリーダによってアクセスされ得るが、ただし、外部カードリーダが、アプリケーションディレクトリ３２８にアクセスして見つけ出すための、ならびに第２のアプリケーションディレクトリ（例えば、３２８Ａ〜Ｚ）と関連するメモリ領域のセクタ内に記憶されたソフトウェアアプリケーションにリンクするための読み出し型に対するアクセスを有することを条件とする。セクタ０〜１５は、デフォルトのアプリケーションディレクトリと関連するので、セクタ１６〜３９は、第２組のソフトウェアアプリケーションを記憶するように構成され得る。
【００４７】
メモリ構造３００Ｂの図示は、非接触スマートカードのセクタ３９のさらなる詳細を含み、セクタ３９は、第２のアプリケーションディレクトリ３２８を記憶する。セクタ３９の中の一連のメモリブロック３１６のメモリブロック１５は、３２０Ａ、３２４Ａ、および３４０Ａを含む、アクセスメモリブロックを含む。Ａキー３２０Ａは、外部カードリーダ、例えば回転式改札および他のトランザクションデバイスに、読み出しアクセスを提供するように構成することができる。次いで、外部カードリーダには、データメモリブロック１から始まりメモリブロック１４まで続く第２のアプリケーションディレクトリを読み出すために、アクセスが提供される。セクタ３９のメモリブロック９は、ＣＲＣ、ＵＮＩＱＵＥ＿ＩＤ、バージョン、カウント、および予約済領域のための３６４Ａ〜Ｅを含む、ヘッダエントリーのために予約される。データメモリブロック０〜１６は、それぞれ、１メモリブロックあたり１６バイトであり、データメモリブロックの４バイトが、アプリケーションディレクトリエントリーである。一例として、上で詳述したように、アプリケーションディレクトリエントリーは、標的とするソフトウェアアプリケーション３５２Ａ、３５６Ａおよび３６０ＡのＡＩＤと、開始バイト値３５２Ｂ、３５６Ｂ、および３６０Ｂと、標的とするソフトウェアアプリケーションのサイズバイト値３５２Ａ、３５２Ｂ、および３５２Ｃとを含む。
【００４８】
＜システムプロセス＞
図４は、特定の例示的な実施形態による、非接触スマートカードの中のセキュアなアプリケーションディレクトリのためのコンピュータに実装された方法４００を示す。第２のアプリケーションディレクトリが、ソフトウェアアプリケーションの数、セキュアな要素の名前空間のサイズ、およびアクセス制御情報に関して定義されると、ブロック４０５では、非接触スマートカードのそれぞれのメモリブロックに情報を記憶する。ブロック４０５において、セクタ１６〜３９の中のメモリブロックに対する書き込みアクセスのパーミッションを伴う外部カードリーダデバイスは、セクタ３９にアクセスして、非接触スマートカードに記憶された多数のソフトウェアアプリケーションのうちの１つのためのアプリケーションディレクトリエントリーを書き込む。ブロック４０５の記憶プロセスは、ソフトウェアアプリケーションのためのアプリケーション識別子（ＡＩＤ）と、メモリ領域の開始メモリブロックの開始メモリブロック番号であって、開始メモリブロックがソフトウェアアプリケーションの少なくとも一部を保持する、開始メモリブロック番号と、ソフトウェアアプリケーションのサイズであって、ソフトウェアアプリケーション全体を記憶するための、開始データメモリブロックからのデータメモリブロックの数を定義する、サイズと、を書き込むことを含む。
【００４９】
ブロック４１０では、データメモリブロック内に記憶されたアプリケーションディレクトリエントリーにアクセスして読み出すためのアクセスキーを記憶するための、記憶機能を実行する。アプリケーションディレクトリを読み出すためのアクセスキーは、非接触スマートカードのアクセスメモリブロックに記憶され、アクセスメモリブロックは、アプリケーションディレクトリエントリーを含む非接触スマートカードのセクタに対するアクセス制御を提供する。
【００５０】
上で示された実施形態における例示的な方法および行為は、例証的なものであり、代替の実施形態では、特定の行為を、異なる順序で、互いに並行して、完全に省略して、および／もしくは異なる例示的な実施形態間で組み合わせて行うことができ、ならびに／または本開示の範囲および趣旨を逸脱しない範囲で、特定の付加的な行為を行うことができる。故に、そのような代替の実施形態は、本明細書で説明される開示に含まれる。
【００５１】
例示的な実施形態は、以上で説明した方法および処理機能を実行するコンピュータハードウェアおよびソフトウェアとともに使用することができる。当業者には明らかなように、本明細書で説明されるシステム、方法、および手順は、プログラム可能なコンピュータ、コンピュータが実行可能なソフトウェア、またはデジタル回路において具現化することができる。ソフトウェアは、コンピュータが読み出し可能な媒体に記憶することができる。例えば、この開示では、簡単にする目的で、「コンピュータ符号化された」、「ソフトウェア」、「スクリプト」、「コンピュータが読み出し可能なソフトウェアコード」、および「プログラム」は、同じ意味で使用されるソフトウェアコードである。さらに、「メモリ」、「コンピュータプログラム製品」、および記憶装置としては、フロッピー（登録商標）ディスク、ＲＡＭ、ＲＯＭ、ハードディスク、リムーバブル媒体、フラッシュにメモリ、メモリスティック、光媒体、光磁気媒体、ＣＤ−ＲＯＭ等のような媒体が挙げられる。
【００５２】
特定の実施形態を詳細に上で説明してきたが、この説明は、単なる例証目的に過ぎない。したがって、上で説明した多数の態様は、明示的に別段の定めがある場合を除き、必要である、または必須の要素として意図されていないことを理解されたい。上で説明したものに加えて、例示的な実施形態の開示された態様の種々の修正、およびそれらに対応する均等な行為は、以下の特許請求の範囲において定義される本発明の趣旨および範囲から逸脱することなく、本開示の利益を有しながら、当業者によって行うことができ、その範囲は、そのような修正および均等な構造を包含するように、最も広い解釈が与えられる。
【符号の説明】
【００５３】
１００  システム
１０４  近距離無線通信（ＮＦＣ）サービスプロバイダ
１０８  トラステッドサービスマネージャ（ＴＳＭ）
１１２  ソフトウェアアプリケーションプロバイダ
１１６  クレジットカード会社
１２０  チケット販売会社
１２４  クーポン会社
１２８  認証会社
１３２  通信インターネットチャネル
１３６  無線サービスプロバイダ
１４４  非接触スマートカードデバイス
１５２  ユーザインターフェースソフトウェアアプリケーション
１５６  非接触スマートカードデバイス
１６０  セキュアな要素、名前空間
１６４  コントローラチップ
１６８  アンテナ
１７２  外部カードリーダデバイス
【図１】
0005462420.tif 000002
【図２】
0005462420.tif 000003
【図３】
0005462420.tif 000004
【図４】
0005462420.tif 000005