US8464012B2 - Method for controlling access to a data file of an IC card - Google Patents

Method for controlling access to a data file of an IC card Download PDF

Info

Publication number
US8464012B2
US8464012B2 US12/832,514 US83251410A US8464012B2 US 8464012 B2 US8464012 B2 US 8464012B2 US 83251410 A US83251410 A US 83251410A US 8464012 B2 US8464012 B2 US 8464012B2
Authority
US
United States
Prior art keywords
access
file
card
data file
conditions
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, expires
Application number
US12/832,514
Other versions
US20110010516A1 (en
Inventor
Saverio Donatiello
Giovanni Fontana
Corrado Guidobaldi
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.)
STMICROELECTRONICS INTERNATIONAL NV
STMicroelectronics NV
Original Assignee
Incard SA
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 Incard SA filed Critical Incard SA
Assigned to INCARD S.A. reassignment INCARD S.A. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FONTANA, GIOVANNI, GUIDOBALDI, CORRADO, DONATIELLO, SAVERIO
Publication of US20110010516A1 publication Critical patent/US20110010516A1/en
Application granted granted Critical
Publication of US8464012B2 publication Critical patent/US8464012B2/en
Assigned to STMICROELECTRONICS N.V. reassignment STMICROELECTRONICS N.V. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INCARD SA
Assigned to STMICROELECTRONICS INTERNATIONAL N.V. reassignment STMICROELECTRONICS INTERNATIONAL N.V. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: STMICROELECTRONICS N.V.
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones

Definitions

  • the present disclosure relates to a method for controlling access to a data file of an integrated circuit (IC) card including storing a plurality of access conditions to be evaluated for accessing the data file and enabling the access to the file if the access conditions are satisfied, and a related IC card.
  • IC integrated circuit
  • a method controls access to a data file of an IC card and includes storing a plurality of access conditions to be evaluated for accessing the data file and evaluating the access condition for enabling or denying access to the data file. The access is enabled if the access conditions are satisfied or otherwise it is denied.
  • a data file 2 to be accessed includes a body portion 2 b which stores data and a header portion 2 a including a field 9 storing a file identifier 03 of the data file 2 .
  • the access conditions are stored in a logic file 6 , which is schematically represented in FIG. 2 , including a respective header portion 6 a having a first field 7 , which stores a file identifier 07 of the logical file 6 and a body portion 6 b comprising the access conditions 66 , 67 to be evaluated.
  • another field 8 of the header portion 2 a of the data file 2 stores the file identifier 7 of the logic file 6 in order to retrieve the corresponding access conditions 66 , 67 when an access to the data file 2 is requested, for example, by an IC card program or file.
  • the evaluation of the access conditions is executed by reading the file identifier 03 of the data file 2 , reading from the header portion 2 a of such data file 2 the file identifier 07 of the logic file 6 and the corresponding access conditions 66 , 67 , and evaluating the access conditions.
  • the access conditions of the logic file 6 are in the form of Boolean operands A, B and a Boolean operator & and the step of evaluating the access conditions “A & B” substantially provides to apply the Boolean operator & to the Boolean operands A, B and to calculate a resulting value which enable or deny access.
  • the data file 2 may be associated to a plurality of access conditions, for example, the access conditions “((A & B) ⁇ C) & D” schematically represented in FIG. 3 .
  • the parenthesis “(” and “)” specify the order or precedence in which the access conditions may be evaluated, i.e. initially the access conditions “A & B” may be evaluated, resulting in a corresponding Boolean operand or value X.
  • the result X may be evaluated with C and operator ⁇ , i.e. “X ⁇ C,” and the corresponding resulting Boolean operand Y may be evaluated with & operator and D, i.e. “Y & D.”
  • the method provides to store the access condition “A & B” to be evaluated firstly, in a first logic file 60 a which is schematically represented in FIG. 3 a , having file identifier 05 and body portion 6 b storing the access condition “A & B.” Since the result of the evaluation of the access condition “A & B” may be evaluated with C and operator ⁇ , the method may further provide to store in the body portion 6 b of a second logic file 60 b , schematically represented in FIG.
  • the file identifier 05 wherefrom it may retrieve the result X of the evaluation of the access condition “A & B” and the access conditions to be evaluated with such result X, i.e. C and operator ⁇ .
  • the header portion 6 a of the second logic file 60 b comprises the corresponding file identifier 06 .
  • the method further stores in the body portion 6 b of a third logic file 60 c , schematically represented in FIG. 3 c , the file identifier 06 wherefrom it may retrieve the result Y of the evaluation of the access condition “05 ⁇ C” and the access condition to be evaluated with such result, i.e. D and operator &.
  • the header portion 6 a of the third logic file 60 c comprises the corresponding file identifier 07 .
  • the evaluation of the access conditions associated to the data file of FIG. 1 may be executed by only reading all the logic files 60 a - 60 c thereto associated, i.e. reading the file identifier 03 of the data file 2 and reading from the header portion 2 a of such data file 2 the file identifier 07 of the third logic file 60 c and the corresponding access conditions (“06 & D”).
  • the access conditions (“05 ⁇ C”) of such second logic file 60 b are read.
  • the access conditions (“A ⁇ B”) of such first logic file 60 a are read.
  • the method for controlling access includes evaluating the access condition “A & B”, calculating the corresponding result X, returning back to the evaluation of access conditions “X ⁇ C” and to the evaluation of access conditions “Y & D”.
  • the problem at the base of the present disclosure may be to reduce the number of logic files involved in the storage of access conditions associated to a data file and, at the same time, providing a simple and easy way to specify an order in which the access conditions may be evaluated, thus reducing the memory space used to store them and the time involved for their evaluation. This may overcome the problems that currently affect the prior art methods for evaluating access conditions to the data file in the IC card.
  • a method for controlling access to a data file of an IC card may include storing a plurality of access conditions to be evaluated for accessing the data file, enabling the access to the file if the access conditions are satisfied, ordering the access conditions to be evaluated in a Reverse Polish Notation inside a memory queue of the IC card, and evaluating the access conditions starting from a head of the memory queue.
  • Another aspect is directed to an IC card storing a data file to be accessed and a plurality of access conditions to be evaluated for accessing the data file and means or a module for enabling the access to the file if the access conditions are satisfied.
  • the access conditions to be evaluated may be ordered in Reverse Polish Notation inside a memory queue of the IC card and the module is programmed to evaluate the access conditions from a head of the memory queue.
  • the access conditions are evaluated in the order in which they are stored in queue memory and are read from only the single memory queue.
  • the memory space involved in storing the access conditions may be reduced, since only one memory queue associated to the data file is used, and also the time for evaluating the access conditions may be reduced, since only one memory queue is identified and accessed for retrieving a plurality of access conditions.
  • FIG. 1 is a schematic diagram of a data file of an IC card to be accessed, according to the prior art
  • FIG. 2 is a schematic diagram of a logic file of the IC card for controlling an access to the data file of FIG. 1 , according to the prior art;
  • FIG. 3 is a schematic diagram of access conditions to be evaluated for enabling access to the IC card of FIG. 1 ;
  • FIGS. 3 a - 3 c are schematic diagrams of three logic files for controlling the access to the data file of FIG. 1 , according to the prior art;
  • FIG. 4 is a schematic diagram of a data file of an IC card to be accessed, according to the present invention.
  • FIG. 5 is a schematic diagram of a memory queue including the access conditions to be evaluated for enabling access to the data file of FIG. 4 , according to the present invention
  • FIG. 6 is a schematic diagram of a stack storing access conditions of the memory queue of FIG. 5 ;
  • FIG. 7 is a schematic diagram of a file for controlling the access to the data file of FIG. 4 , according to the present invention.
  • the steps of the method for controlling an access to a data file 2 of an IC card according to the present disclosure are schematically represented, the data file 2 including a body portion 2 b which stores data and a header portion 2 a including a field 9 which stores a file identifier 03 of the data file 2 .
  • a plurality of access conditions 3 to be evaluated are associated to the data file 2 in order to deny or allow access to the body portion 2 b , for example, to a requesting program of the IC card or to another IC card file. More particularly, the access to the body portion 2 b of the data file 2 is enabled if the access conditions 3 thereto associated are satisfied or it is denied, otherwise.
  • the access conditions 3 to be evaluated are stored in a Reverse Polish Notation format inside a memory queue 4 , i.e. in a specified format wherein each access condition A, B, &, . . . corresponds to an operand A, B, . . . or to an operator &, . . . and an operator & always follows the corresponding operands A, B, . . . , as schematically represented in FIG. 5 .
  • the step of evaluating the access conditions 3 is executed starting from a head 5 of the memory queue 4 . More particularly, the access conditions or operands A, B in FIG. 5 are followed by the corresponding access condition or operator &, thus a corresponding operation “A B &” is executed, resulting in a corresponding result X, not represented.
  • the access conditions C and ⁇ in FIG. 5 are stored in compliance with Reverse Polish Notation format, and thus the result X of the first access conditions “A B &” evaluated from the head 5 of the memory queue 4 is used to evaluate the access conditions “X C ⁇ ”.
  • the access condition X which results from the evaluation of the access conditions “A B &”, and the access conditions C ⁇ , are stored in the single memory queue 5 and not in a plurality of different logic files.
  • complex access conditions like the access conditions “((A & B) ⁇ C) & D” schematically represented in FIG. 3 , are stored in the single memory queue 4 in Reverse Polish Notation Format, i.e. as “A B & C ⁇ D &” ( FIG. 5 ).
  • the method of access to the single memory queue 4 finds all the access conditions to be evaluated to enable or deny access.
  • the step of evaluating comprises reading each access condition 3 from the memory queue 4 , starting from the head 5 , and processing each access condition as described below.
  • the access condition read is an operand A, B
  • it is pushed on a top of a stack 10 , schematically represented in FIG. 6 , which is a memory portion 10 of the IC card used to temporarily store the operands used to execute a corresponding operation.
  • the evaluation of the access conditions stored in Reverse Polish Notation through the stack is simple and fast, because the operands are pushed onto the stack in the order in which they are stored in the memory queue 4 and retrieved there from when a first operator is read from the memory queue 4 .
  • a pop operation is executed to retrieve one or more access conditions A, B stored onto the stack 10 and to execute an operation thereon, i.e. applying the operator & to the popped operands A, B, and calculating the corresponding result X.
  • the result X is calculated, it is pushed on the top of the stack 10 , in order to be used as an operand for the evaluation of following access conditions C, ⁇ .
  • the evaluation of the access condition stored in Reverse Polish Notation with a stack is simple and fast also because the first operator & read starting from the head 5 of the memory queue 4 is applied to the operands A, B stored onto the top of the stack 10 , thus maintaining the precedence between the operators &, ⁇ , & of the queue memory.
  • the access conditions 3 comprises Boolean operands 0 , 1 and Boolean operators &, ⁇ , . . . .
  • the result of each step of evaluating access conditions “A & B” is always a Boolean value 0, 1, and the access conditions 3 are satisfied, i.e. the access to the body portion 2 b is enabled if the result on the top of the stack 10 after the processing of all the queue elements corresponds to a predetermined enabling Boolean value.
  • the Boolean value associated to the enabling of the access to the body portion 2 b is the Boolean value 1
  • the value associated to the denying of such access is the Boolean value 0.
  • the access conditions 3 comprises further expressions, which are evaluated before being pushed onto the top of the stack 10 .
  • the further expressions are processed from a sub-procedure nested within a program associated to the evaluation of the memory queue, which returns a corresponding Boolean operand 0 , 1 .
  • the operand 0 , 1 returned is then pushed on the top of the stack 10 , after the sub-procedure is terminated.
  • the method comprises the step of associating the memory queue 4 to an access control file 6 of the IC card, and the step of storing the access conditions 3 to be evaluated inside a body portion 6 b of the access control file 6 , as schematically represented in FIG. 7 .
  • the method provides to store a file identifier 07 of the access control file 6 in a first field 8 of a header portion 2 a of the data file 2 , and to store the file identifier 07 of the access control file 6 in a first field 7 of a header portion 6 a of the access control file 6 itself.
  • the field 8 of the data file 2 allows a simple and fast retrieval of the access control file 6 storing the corresponding access conditions to be evaluated for the data file 2 .
  • An IC card program which substantially implements the security of the IC card, receives a request to access the data file 2 .
  • the request includes a file identifier 03 of the data file 2 , which is stored in a second field 9 of the respective header portion 2 a.
  • the program reads the file identifier 07 of the corresponding access control file 6 from the first field 8 of the header portion 2 a of the data file 2 .
  • the program reads the access control file 6 , identifying the body portion 6 b and executes the step of evaluating the access conditions 3 therein stored to determine if the access to the body portion 2 b of the data file 2 may be enabled or denied.
  • the present disclosure relates to an IC card implementing the method for controlling the access to a data file described above. More particularly, the IC card stores a data file 2 to be accessed, a plurality of access conditions 3 to be evaluated for accessing the data file 2 , and means or a module for enabling the access to the file 2 if the access conditions 3 are satisfied.
  • the access conditions 3 to be evaluated are stored in Reverse Polish Notation format inside a memory queue 4 of the IC card, and the module is programmed to evaluate the access conditions 3 from a head 5 of the memory queue 4 .
  • the memory queue 4 is associated to an access control file 6 of the IC card, and the access conditions 3 to be evaluated are stored in a body portion 6 b of the access control file 6 .
  • a first field 8 of a header portion 2 a of the data file 2 stores a file identifier 07 of the access control file 6
  • a first field 7 of a header portion 6 a of the access control file 6 stores the file identifier 07 of the access control file 6
  • the module of the IC card comprises an input to receive a request to access the data file 2 .
  • the request includes a file identifier 03 of the data file 2 , which is stored in a second field 9 of the header portion 2 a of the data file 2 , such header portion 2 a further comprising the file identifier 07 of the access control file 6 to be evaluated.
  • the access conditions are evaluated in the order in which they are stored in the memory queue and reading only such memory queue, i.e. avoiding a plurality of accesses to logic files linked together and corresponding reading operations.
  • the memory space involved in storing the access conditions is reduced, since only one memory queue associated to the data file is used, and the storage of a plurality of header portions 6 a of logic files are avoided.
  • the time for evaluating the access conditions is reduced since only the memory queue may be identified and accessed for retrieving a plurality of access conditions and since the Reverse Polish Notation allows for evaluating access conditions in the order in which they are stored in the memory queue.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

A method is for controlling access to a data file of an IC card and may include storing a plurality of access conditions to be evaluated for accessing the data file, and enabling access to the file if the access conditions are satisfied. The method may further include ordering the access conditions to be evaluated in a Reverse Polish Notation inside a memory queue of the IC card, and evaluating the access conditions starting from a head of the memory queue.

Description

FIELD OF THE INVENTION
The present disclosure relates to a method for controlling access to a data file of an integrated circuit (IC) card including storing a plurality of access conditions to be evaluated for accessing the data file and enabling the access to the file if the access conditions are satisfied, and a related IC card.
BACKGROUND OF THE INVENTION
A method controls access to a data file of an IC card and includes storing a plurality of access conditions to be evaluated for accessing the data file and evaluating the access condition for enabling or denying access to the data file. The access is enabled if the access conditions are satisfied or otherwise it is denied.
With reference to FIG. 1, a data file 2 to be accessed includes a body portion 2 b which stores data and a header portion 2 a including a field 9 storing a file identifier 03 of the data file 2. The access conditions are stored in a logic file 6, which is schematically represented in FIG. 2, including a respective header portion 6 a having a first field 7, which stores a file identifier 07 of the logical file 6 and a body portion 6 b comprising the access conditions 66, 67 to be evaluated.
As it is schematically represented in FIG. 1, another field 8 of the header portion 2 a of the data file 2 stores the file identifier 7 of the logic file 6 in order to retrieve the corresponding access conditions 66, 67 when an access to the data file 2 is requested, for example, by an IC card program or file.
According to this method, the evaluation of the access conditions is executed by reading the file identifier 03 of the data file 2, reading from the header portion 2 a of such data file 2 the file identifier 07 of the logic file 6 and the corresponding access conditions 66, 67, and evaluating the access conditions. More particularly, the access conditions of the logic file 6 are in the form of Boolean operands A, B and a Boolean operator & and the step of evaluating the access conditions “A & B” substantially provides to apply the Boolean operator & to the Boolean operands A, B and to calculate a resulting value which enable or deny access. For example, the method may allow access to the data file 2 if the result of the evaluation “A & B” corresponds to the value 1, i.e. both A=1 and B=1. The data file 2 may be associated to a plurality of access conditions, for example, the access conditions “((A & B)∥C) & D” schematically represented in FIG. 3.
The parenthesis “(” and “)” specify the order or precedence in which the access conditions may be evaluated, i.e. initially the access conditions “A & B” may be evaluated, resulting in a corresponding Boolean operand or value X. The result X may be evaluated with C and operator ∥, i.e. “X∥C,” and the corresponding resulting Boolean operand Y may be evaluated with & operator and D, i.e. “Y & D.”
With reference to the example given above, in order to specify the precedence of the access conditions to be evaluated, the method provides to store the access condition “A & B” to be evaluated firstly, in a first logic file 60 a which is schematically represented in FIG. 3 a, having file identifier 05 and body portion 6 b storing the access condition “A & B.” Since the result of the evaluation of the access condition “A & B” may be evaluated with C and operator ∥, the method may further provide to store in the body portion 6 b of a second logic file 60 b, schematically represented in FIG. 3 b, the file identifier 05 wherefrom it may retrieve the result X of the evaluation of the access condition “A & B” and the access conditions to be evaluated with such result X, i.e. C and operator ∥. The header portion 6 a of the second logic file 60 b comprises the corresponding file identifier 06.
Substantially as described above, the method further stores in the body portion 6 b of a third logic file 60 c, schematically represented in FIG. 3 c, the file identifier 06 wherefrom it may retrieve the result Y of the evaluation of the access condition “05∥C” and the access condition to be evaluated with such result, i.e. D and operator &. The header portion 6 a of the third logic file 60 c comprises the corresponding file identifier 07.
Thus, the evaluation of the access conditions associated to the data file of FIG. 1, i.e. the evaluation of “((A & B)∥C) & D”, may be executed by only reading all the logic files 60 a-60 c thereto associated, i.e. reading the file identifier 03 of the data file 2 and reading from the header portion 2 a of such data file 2 the file identifier 07 of the third logic file 60 c and the corresponding access conditions (“06 & D”). Before executing the step of evaluating, since an access condition 06 of the third file 60 c corresponds to the file identifier 06 of the second logic file 60 b, the access conditions (“05∥C”) of such second logic file 60 b are read. Moreover, since an access condition 05 of the second file 60 b corresponds to another file identifier 05 of the first logic file 60 a, the access conditions (“A∥B”) of such first logic file 60 a are read.
Only at this stage, the method for controlling access includes evaluating the access condition “A & B”, calculating the corresponding result X, returning back to the evaluation of access conditions “X∥C” and to the evaluation of access conditions “Y & D”.
SUMMARY OF THE INVENTION
The problem at the base of the present disclosure may be to reduce the number of logic files involved in the storage of access conditions associated to a data file and, at the same time, providing a simple and easy way to specify an order in which the access conditions may be evaluated, thus reducing the memory space used to store them and the time involved for their evaluation. This may overcome the problems that currently affect the prior art methods for evaluating access conditions to the data file in the IC card.
The approach of the present disclosure is to store the access conditions to be evaluated for accessing a data file in a single memory queue wherein the access conditions are ordered in a Reverse Polish Notation. According to this approach, a method for controlling access to a data file of an IC card may include storing a plurality of access conditions to be evaluated for accessing the data file, enabling the access to the file if the access conditions are satisfied, ordering the access conditions to be evaluated in a Reverse Polish Notation inside a memory queue of the IC card, and evaluating the access conditions starting from a head of the memory queue.
Another aspect is directed to an IC card storing a data file to be accessed and a plurality of access conditions to be evaluated for accessing the data file and means or a module for enabling the access to the file if the access conditions are satisfied. The access conditions to be evaluated may be ordered in Reverse Polish Notation inside a memory queue of the IC card and the module is programmed to evaluate the access conditions from a head of the memory queue.
Advantageously, the access conditions are evaluated in the order in which they are stored in queue memory and are read from only the single memory queue. Advantageously, the memory space involved in storing the access conditions may be reduced, since only one memory queue associated to the data file is used, and also the time for evaluating the access conditions may be reduced, since only one memory queue is identified and accessed for retrieving a plurality of access conditions.
Further features and advantages of the method and system of the present disclosure may be apparent from the description given below only for exemplificative purpose and without limiting the scope of protection of the present disclosure.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic diagram of a data file of an IC card to be accessed, according to the prior art;
FIG. 2 is a schematic diagram of a logic file of the IC card for controlling an access to the data file of FIG. 1, according to the prior art;
FIG. 3 is a schematic diagram of access conditions to be evaluated for enabling access to the IC card of FIG. 1;
FIGS. 3 a-3 c are schematic diagrams of three logic files for controlling the access to the data file of FIG. 1, according to the prior art;
FIG. 4 is a schematic diagram of a data file of an IC card to be accessed, according to the present invention;
FIG. 5 is a schematic diagram of a memory queue including the access conditions to be evaluated for enabling access to the data file of FIG. 4, according to the present invention;
FIG. 6 is a schematic diagram of a stack storing access conditions of the memory queue of FIG. 5; and
FIG. 7 is a schematic diagram of a file for controlling the access to the data file of FIG. 4, according to the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
With reference to FIGS. 4-7, the steps of the method for controlling an access to a data file 2 of an IC card according to the present disclosure are schematically represented, the data file 2 including a body portion 2 b which stores data and a header portion 2 a including a field 9 which stores a file identifier 03 of the data file 2. A plurality of access conditions 3 to be evaluated are associated to the data file 2 in order to deny or allow access to the body portion 2 b, for example, to a requesting program of the IC card or to another IC card file. More particularly, the access to the body portion 2 b of the data file 2 is enabled if the access conditions 3 thereto associated are satisfied or it is denied, otherwise.
According to the method of the present disclosure, the access conditions 3 to be evaluated are stored in a Reverse Polish Notation format inside a memory queue 4, i.e. in a specified format wherein each access condition A, B, &, . . . corresponds to an operand A, B, . . . or to an operator &, . . . and an operator & always follows the corresponding operands A, B, . . . , as schematically represented in FIG. 5. The step of evaluating the access conditions 3 is executed starting from a head 5 of the memory queue 4. More particularly, the access conditions or operands A, B in FIG. 5 are followed by the corresponding access condition or operator &, thus a corresponding operation “A B &” is executed, resulting in a corresponding result X, not represented.
Also, the access conditions C and ∥ in FIG. 5 are stored in compliance with Reverse Polish Notation format, and thus the result X of the first access conditions “A B &” evaluated from the head 5 of the memory queue 4 is used to evaluate the access conditions “X C∥”. Advantageously, the access condition X, which results from the evaluation of the access conditions “A B &”, and the access conditions C∥, are stored in the single memory queue 5 and not in a plurality of different logic files.
Advantageously, complex access conditions, like the access conditions “((A & B)∥C) & D” schematically represented in FIG. 3, are stored in the single memory queue 4 in Reverse Polish Notation Format, i.e. as “A B & C∥D &” (FIG. 5). Thus, the method of access to the single memory queue 4 finds all the access conditions to be evaluated to enable or deny access.
According to an aspect of the present disclosure, the step of evaluating comprises reading each access condition 3 from the memory queue 4, starting from the head 5, and processing each access condition as described below. In particular, if the access condition read is an operand A, B, it is pushed on a top of a stack 10, schematically represented in FIG. 6, which is a memory portion 10 of the IC card used to temporarily store the operands used to execute a corresponding operation. Advantageously, the evaluation of the access conditions stored in Reverse Polish Notation through the stack is simple and fast, because the operands are pushed onto the stack in the order in which they are stored in the memory queue 4 and retrieved there from when a first operator is read from the memory queue 4.
More particularly, if the access condition read is an operand &, a pop operation is executed to retrieve one or more access conditions A, B stored onto the stack 10 and to execute an operation thereon, i.e. applying the operator & to the popped operands A, B, and calculating the corresponding result X. When the result X is calculated, it is pushed on the top of the stack 10, in order to be used as an operand for the evaluation of following access conditions C, ∥.
Advantageously, the evaluation of the access condition stored in Reverse Polish Notation with a stack is simple and fast also because the first operator & read starting from the head 5 of the memory queue 4 is applied to the operands A, B stored onto the top of the stack 10, thus maintaining the precedence between the operators &, ∥, & of the queue memory.
According to another aspect of the present disclosure, the access conditions 3 comprises Boolean operands 0, 1 and Boolean operators &, ∥, . . . . The result of each step of evaluating access conditions “A & B” is always a Boolean value 0, 1, and the access conditions 3 are satisfied, i.e. the access to the body portion 2 b is enabled if the result on the top of the stack 10 after the processing of all the queue elements corresponds to a predetermined enabling Boolean value. For example, the Boolean value associated to the enabling of the access to the body portion 2 b is the Boolean value 1, and the value associated to the denying of such access is the Boolean value 0.
In a further aspect of the present condition, the access conditions 3 comprises further expressions, which are evaluated before being pushed onto the top of the stack 10. For example, the further expressions are processed from a sub-procedure nested within a program associated to the evaluation of the memory queue, which returns a corresponding Boolean operand 0, 1. The operand 0, 1 returned is then pushed on the top of the stack 10, after the sub-procedure is terminated.
In a preferred embodiment of the present disclosure, the method comprises the step of associating the memory queue 4 to an access control file 6 of the IC card, and the step of storing the access conditions 3 to be evaluated inside a body portion 6 b of the access control file 6, as schematically represented in FIG. 7. More particularly, the method provides to store a file identifier 07 of the access control file 6 in a first field 8 of a header portion 2 a of the data file 2, and to store the file identifier 07 of the access control file 6 in a first field 7 of a header portion 6 a of the access control file 6 itself. Advantageously, the field 8 of the data file 2 allows a simple and fast retrieval of the access control file 6 storing the corresponding access conditions to be evaluated for the data file 2.
According to this preferred embodiment, hereinbelow is described in more detail how the access conditions of a data file 2 are evaluated. An IC card program, which substantially implements the security of the IC card, receives a request to access the data file 2. The request includes a file identifier 03 of the data file 2, which is stored in a second field 9 of the respective header portion 2 a.
More particularly, the program reads the file identifier 07 of the corresponding access control file 6 from the first field 8 of the header portion 2 a of the data file 2. The program reads the access control file 6, identifying the body portion 6 b and executes the step of evaluating the access conditions 3 therein stored to determine if the access to the body portion 2 b of the data file 2 may be enabled or denied.
According to another aspect, the present disclosure relates to an IC card implementing the method for controlling the access to a data file described above. More particularly, the IC card stores a data file 2 to be accessed, a plurality of access conditions 3 to be evaluated for accessing the data file 2, and means or a module for enabling the access to the file 2 if the access conditions 3 are satisfied.
According to the IC card of the present disclosure, the access conditions 3 to be evaluated are stored in Reverse Polish Notation format inside a memory queue 4 of the IC card, and the module is programmed to evaluate the access conditions 3 from a head 5 of the memory queue 4. Preferably, the memory queue 4 is associated to an access control file 6 of the IC card, and the access conditions 3 to be evaluated are stored in a body portion 6 b of the access control file 6.
More particularly, a first field 8 of a header portion 2 a of the data file 2 stores a file identifier 07 of the access control file 6, and a first field 7 of a header portion 6 a of the access control file 6 stores the file identifier 07 of the access control file 6. The module of the IC card comprises an input to receive a request to access the data file 2. More particularly, the request includes a file identifier 03 of the data file 2, which is stored in a second field 9 of the header portion 2 a of the data file 2, such header portion 2 a further comprising the file identifier 07 of the access control file 6 to be evaluated. Advantageously, according to the method and IC card of the present disclosure, the access conditions are evaluated in the order in which they are stored in the memory queue and reading only such memory queue, i.e. avoiding a plurality of accesses to logic files linked together and corresponding reading operations.
Advantageously, the memory space involved in storing the access conditions is reduced, since only one memory queue associated to the data file is used, and the storage of a plurality of header portions 6 a of logic files are avoided. Advantageously, the time for evaluating the access conditions is reduced since only the memory queue may be identified and accessed for retrieving a plurality of access conditions and since the Reverse Polish Notation allows for evaluating access conditions in the order in which they are stored in the memory queue.

Claims (22)

That which is claimed is:
1. A method for controlling access to a data file of an integrated circuit (IC) card comprising:
storing a plurality of access conditions to be evaluated for accessing the data file; and
enabling the access to the file if the access conditions are satisfied by at least
ordering the plurality of access conditions to be evaluated in a Reverse Polish Notation (RPN) in a memory queue of the IC card, and
evaluating the plurality of access conditions starting from a head of the memory queue.
2. The method according to claim 1 further comprising:
associating the memory queue to an access control file of the IC card; and
storing the plurality of access conditions to be evaluated in a body portion of the access control file.
3. The method according to claim 2 further comprising:
storing a file identifier of the access control file in a first field of a header portion of the data file; and
storing the file identifier of the access control file in a first field of a header portion of the access control file.
4. The method according to claim 3 further comprising:
receiving a request to access the data file, the request including the file identifier of the data file stored in a second field of the respective header portion;
reading the file identifier of the corresponding access control file from the header portion of the data file; and
evaluating the plurality of access conditions stored in the body portion of the access control file to enable or deny access.
5. The method according to claim 1 wherein the evaluating comprises:
reading each access condition from the memory queue;
if the respective access condition is an operand, pushing the respective access condition on top of a stack; and
if the respective access condition is an operator, popping at least one access condition from the stack and executing an operation thereon, and pushing a corresponding result on top of the stack.
6. The method according to claim 5 wherein the plurality of access conditions comprise Boolean operands and Boolean operators; and wherein the plurality of access conditions are satisfied and the access is enabled if the result on top of the stack after the processing of the queue corresponds to a predetermined enabling Boolean value.
7. The method according to claim 6 wherein the plurality of access conditions comprise additional expressions evaluated before being pushed on top of the stack, the additional expressions resulting in a Boolean operand.
8. A method for controlling access to a data file of an integrated circuit (IC) card comprising:
associating a memory queue of the IC card to an access control file of the IC card;
storing a plurality of access conditions to be evaluated in a body portion of the access control file; and
enabling the access to the file if the access conditions are satisfied by at least
ordering the plurality of access conditions to be evaluated in a Reverse Polish Notation (RPN) in the memory queue of the IC card, and
evaluating the plurality of access conditions starting from a head of the memory queue by at least
reading each access condition from the memory queue,
if the respective access condition is an operand, pushing the respective access condition on top of a stack, and
if the respective access condition is an operator, popping at least one access condition from the stack and executing an operation thereon, and pushing a corresponding result on top of the stack.
9. The method according to claim 1 wherein the ordering of the plurality of access conditions is stored in a single memory queue of the IC card.
10. The method according to claim 8 further comprising:
storing a file identifier of the access control file in a first field of a header portion of the data file; and
storing the file identifier of the access control file in a first field of a header portion of the access control file.
11. The method according to claim 10 further comprising:
receiving a request to access the data file, the request including the file identifier of the data file stored in a second field of the respective header portion;
reading the file identifier of the corresponding access control file from the header portion of the data file; and
evaluating the plurality of access conditions stored in the body portion of the access control file to enable or deny access.
12. The method according to claim 8 wherein the plurality of access conditions comprise Boolean operands and Boolean operators; and wherein the plurality of access conditions are satisfied and the access is enabled if the result on top of the stack after the processing of the queue corresponds to a predetermined enabling Boolean value.
13. The method according to claim 12 wherein the plurality of access conditions comprise additional expressions evaluated before being pushed on top of the stack, the additional expressions resulting in a Boolean operand.
14. The method according to claim 8 wherein the ordering of the plurality of access conditions is stored in a single memory queue of the IC card.
15. An integrated circuit (IC) card comprising:
a memory for storing a data file to be accessed and a plurality of access conditions to be evaluated for accessing the data file; and
a module cooperating with said memory and configured to enable the access to the data file if the plurality of access conditions are satisfied by at least performing
ordering the plurality of access conditions to be evaluated in a Reverse Polish Notation (RPN) in a memory queue of said memory, and
evaluating the plurality of access conditions starting from a head of the memory queue.
16. The IC card according to claim 15 wherein the memory queue is associated to an access control file of the IC card; wherein the access control file comprises a body portion; and wherein the plurality of access conditions to be evaluated are stored in the body portion of the access control file.
17. The IC card according to claim 16 wherein the data file has a header portion with a first field for storing a file identifier of the access control file; and wherein the access control file has a header portion with a first field for storing the file identifier of the access control file.
18. The IC card according to claim 17 wherein said module comprises an input to receive a request to access the data file, the request including a file identifier of the data file; and wherein the file identifier of the data file being is stored in a second field of the header portion of the access control file.
19. The IC card according to claim 15 wherein said memory is configured to:
store a stack including a top whereon said module is configured to push the plurality of access conditions read from the memory queue;
if the respective access condition is an operand, push the respective access condition on top of a stack; and
if the respective access condition is an operator, pop at least one access condition from the stack and executing an operation thereon, and pushing a corresponding result on top of the stack.
20. The IC card according to claim 19 wherein the plurality of access conditions comprises Boolean operands and Boolean operators; and wherein said module is configured to enable the access if the result on the top of the stack after the processing of the memory queue corresponds to a predetermined enabling Boolean value.
21. The IC card according to claim 20 wherein the plurality of access conditions comprises additional expressions to be evaluated; and wherein said module is configured to evaluate the expressions before pushing on the stack a corresponding Boolean operand.
22. The IC card according to claim 15 wherein the ordering of the plurality of access conditions is stored in a single memory queue of the IC card.
US12/832,514 2009-07-09 2010-07-08 Method for controlling access to a data file of an IC card Active 2031-07-25 US8464012B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
ITMI2009A1224 2009-07-09
ITMI2009A001224 2009-07-09
ITMI20091224 2009-07-09

Publications (2)

Publication Number Publication Date
US20110010516A1 US20110010516A1 (en) 2011-01-13
US8464012B2 true US8464012B2 (en) 2013-06-11

Family

ID=41566127

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/832,514 Active 2031-07-25 US8464012B2 (en) 2009-07-09 2010-07-08 Method for controlling access to a data file of an IC card

Country Status (3)

Country Link
US (1) US8464012B2 (en)
EP (1) EP2278563A1 (en)
BR (1) BRPI1004122A2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120270535A1 (en) * 2009-12-17 2012-10-25 Texas Instruments Incorporated Implicit CSI Feedback for DL Multiuser MIMO Transmission
US11080684B2 (en) * 2014-12-08 2021-08-03 Infineon Technologies Ag Processing data on smartcard
US11003786B2 (en) * 2018-05-30 2021-05-11 Dell Products L.P. System and method to manage file access rights in an information handling system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754262A (en) * 1995-04-11 1998-05-19 Litton Systems, Inc. Daylight readable liquid crystal display
US6003134A (en) * 1997-01-13 1999-12-14 Kuo; Chih-Cheng Secure open smart card architecture
US20060107049A1 (en) 1999-11-05 2006-05-18 Microsoft Corporation Integrated Circuit Card with Situation Dependent Identity Authentication
US20080237333A1 (en) * 2007-03-29 2008-10-02 Kabushiki Kaisha Toshiba Portable electronic device and control method of portable electronic device
US20100235905A1 (en) * 2009-03-13 2010-09-16 Assa Abloy Ab Realization of access control conditions as boolean expressions in credential authentications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754262A (en) * 1995-04-11 1998-05-19 Litton Systems, Inc. Daylight readable liquid crystal display
US6003134A (en) * 1997-01-13 1999-12-14 Kuo; Chih-Cheng Secure open smart card architecture
US20060107049A1 (en) 1999-11-05 2006-05-18 Microsoft Corporation Integrated Circuit Card with Situation Dependent Identity Authentication
US20080237333A1 (en) * 2007-03-29 2008-10-02 Kabushiki Kaisha Toshiba Portable electronic device and control method of portable electronic device
US20100235905A1 (en) * 2009-03-13 2010-09-16 Assa Abloy Ab Realization of access control conditions as boolean expressions in credential authentications

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Smart Card Handbook, Access to Resources in Accordance with ISO/IEC 7816-9" Jan. 2003, pp. 280-288, Jan. 1, 2003.
"Stack-oriented programming language," Mar. 31, 2009, Retrieved from Internet: URL:http//en.wikipedia.org/w/index.php?title=Stack-oriented-programming-language&oldid=280881044.
Slater et al., "Automated Deduction on a Smart Card", 1998, pp. 239-247.

Also Published As

Publication number Publication date
BRPI1004122A2 (en) 2012-04-10
EP2278563A1 (en) 2011-01-26
US20110010516A1 (en) 2011-01-13

Similar Documents

Publication Publication Date Title
KR101883155B1 (en) A memory controller and method of operation of such a memory controller
CN105190571B (en) Page table data management
US7716396B1 (en) Multi-reader multi-writer circular buffer memory
JPWO2008155827A1 (en) Cache control apparatus and control method
CN107622211A (en) A kind of large data sets monarchial power limit access control method and device
US11307784B2 (en) Method and apparatus for storing memory attributes
US8464012B2 (en) Method for controlling access to a data file of an IC card
WO2008020389A2 (en) Flash memory access circuit
EP0889412B1 (en) Split write data processing mechanism for memory controllers
CN101546293B (en) Cache control apparatus, information processing apparatus, and cache control method
US7376762B2 (en) Systems and methods for direct memory access
JP2002543540A (en) Method for managing commands in some application files and microchip card for implementing this method
EP3824397A1 (en) Version-based table locking
US8793438B2 (en) Atomic compare and write memory
US20230195339A1 (en) Control method, information processing device, non-transitory computer-readable recording medium storing control program, and information processing system
CN106933533A (en) The method that access instruction reads data in memory hierarchy and memory hierarchy
CN116483745A (en) Data transmission method, device, power module and storage medium
US7647532B2 (en) Trace controller, microprocessor, and trace control method
CN106056329A (en) Verification method and system of merchandise inventory
CN110334034A (en) Method, apparatus, computer equipment and the storage medium of mapping table dynamically load
US11614985B2 (en) Insert operation
US8095784B2 (en) Computer system and method for activating basic program therein
US20030120973A1 (en) Microprocessor and processing method of microprocessor
CN111176726A (en) Configurable command cancellation method and device thereof
US8478970B2 (en) Accessing value for local variable from function call stack upon offset matching with instruction extracted stack pointer offset or from cache

Legal Events

Date Code Title Description
AS Assignment

Owner name: INCARD S.A., SWITZERLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DONATIELLO, SAVERIO;FONTANA, GIOVANNI;GUIDOBALDI, CORRADO;SIGNING DATES FROM 20100913 TO 20100916;REEL/FRAME:025087/0360

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: STMICROELECTRONICS INTERNATIONAL N.V., SWITZERLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:STMICROELECTRONICS N.V.;REEL/FRAME:030669/0257

Effective date: 20130410

Owner name: STMICROELECTRONICS N.V., SWITZERLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INCARD SA;REEL/FRAME:030669/0192

Effective date: 20130521

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8