Patent US5963980A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5963980A Expired / Lapsed US ⏱️ 0.0 years remaining

Microprocessor-based memory card that limits memory accesses by application programs and method of operation

Assignee: Gemplus SA
•
Filing: 1994-12-06
•
Granted: 1999-10-05
•
Expires: 2014-12-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Microprocessor-based cards use application programs contained in a non-volatile user memory (MU), under the control of an operating system in a read-only memory (MSYS). To provide flexibility and security of access to the various memory zones without using a specific rigidly fixed circuitry, it is proposed that the memory access instructions of the application programs (PG1, PG2, PG3) should be interpreted and not performed directly. The interpreter is in the read-only memory (MSYS) or in the user memory and it carries out an access instruction as follows: it explores a reserved zone (ZR) of the user memory to find out if the requested access (access for reading, writing or performance) is cleared for the requested address. It performs the instruction only if the clearance is present. The reserved zone (ZR) which contains these clearances is updated during the writing, in the user memory, of a new application program. The updating can be done only by the operating system.

Inventors

  • 👤 Charles Coulier
  • 👤 Edouard Gordons
  • 👤 Georges Grimonprez

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 09:08
CPC Classifications
G; G07; G07F; G07F7/00; G07F7/08; G07F7/10; G07F7/1008; G06; G06Q; G06Q20/00; G06Q20/30; G06Q20/34; G06Q20/341; G06Q20/355; G06Q20/3552; G06Q20/357; G06Q20/3576

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 284 words
A microprocessor-based memory card comprising: (A) a microprocessor; (B) memory including (1) a system memory, the system memory containing programs of an operating system, and (2) a user memory, the user memory containing (a) data elements, (b) an application program, the application program pertaining to an application of the memory card, the application program including memory access instructions that are used by the application program to access the memory, the memory access instructions not being directly executable by the microprocessor but rather requiring interpretation, and (c) a checking zone, the checking zone defining access clearances for accessing the memory; and (C) an interpreter program, the interpreter program implementing a memory access control interface that controls access to the memory by the memory access instructions based on the access clearances stored in the checking zone, the interpreter program being stored in the memory, the interpreter program interpreting the memory access instructions so as to produce executable instructions that are directly executable by the microprocessor, the interpreter program including (1) means for interpreting one of the memory access instructions so as to produce at least one of the executable instructions that is directly executable by the microprocessor, (2) means for examining a checking zone in the user memory to determine an access clearance associated with the memory access instruction, (3) means for comparing (i) an address specified by the memory access instruction and the type of access required to execute the executable instruction with (ii) the access clearance associated with the memory access instruction, and (4) means for accessing the memory in the manner specified by the memory access instruction only if the access clearance exists for the address specified and the type of access required.
Claim 2
Dependent Claim 284 words
A microprocessor-based memory card comprising: (A) a microprocessor; (B) memory including (1) a system memory, the system memory containing programs of an operating system, and (2) a user memory, the user memory containing (a) data elements, (b) an application program, the application program pertaining to an application of the memory card, the application program including memory access instructions that are used by the application program to access the memory, the memory access instructions not being directly executable by the microprocessor but rather requiring interpretation, and (c) a checking zone, the checking zone defining access clearances for accessing the memory; and (C) an interpreter program, the interpreter program implementing a memory access control interface that controls access to the memory by the memory access instructions based on the access clearances stored in the checking zone, the interpreter program being stored in the memory, the interpreter program interpreting the memory access instructions so as to produce executable instructions that are directly executable by the microprocessor, the interpreter program including (1) means for interpreting one of the memory access instructions so as to produce at least one of the executable instructions that is directly executable by the microprocessor, (2) means for examining a checking zone in the user memory to determine an access clearance associated with the memory access instruction, (3) means for comparing (i) an address specified by the memory access instruction and the type of access required to execute the executable instruction with (ii) the access clearance associated with the memory access instruction, and (4) means for accessing the memory in the manner specified by the memory access instruction only if the access clearance exists for the address specified and the type of access required.
Claim 3
Dependent Claim 28 words
A memory card according to claim 1, wherein the checking zone contains distinct access clearances for several different zones within the system memory and within the user memory.
Claim 4
Dependent Claim 72 words
A memory card according to claim 1, wherein the operating system contains a loading program that loads application programs, the loading program being capable of writing a new application program in the user memory outside the checking zone, and the loading program being capable of writing data elements in the checking zone, the data elements representing access clearances to the different memories associated with memory access instructions of the new application program.
Claim 5
Dependent Claim 28 words
A memory card according to claim 1, wherein the access clearance includes clearances for at least one of the members of the following group: reading, writing and executing.
Claim 6
Dependent Claim 32 words
A memory card according to claim 1, wherein the access clearance includes a prohibition to write in the checking zone during the performance of an application program present in the user memory.
Claim 7
Dependent Claim 83 words
A memory card according to claim 1, wherein the means for interpreting comprises an executable routine (i) that corresponds to the memory access instruction and (ii) that includes a plurality of executable instructions which are executed by the microprocessor to implement the memory access required by the memory access instruction, the plurality of executable instructions being the executable instructions that are produced by the interpretation of the memory access instruction, and wherein the memory access instruction is interpreted by executing the executable routine.
Claim 8
Dependent Claim 29 words
A memory card according to claim 6, wherein the means for interpreting, means for examining, means for comparing and means for accessing are all implemented using the executable routine.
Claim 9
Independent Claim 257 words
A method comprising: (A) providing a microprocessor-based memory card, the memory card having a microprocessor and a memory, the memory including a user memory and a system memory, the user memory having an application program stored therein and the system memory having an operating system stored therein, the application program including memory access instructions that are used by the application program to access the memory, the memory access instructions not being directly executable by the microprocessor but rather requiring interpretation; and (B) executing the application program using the operating system wherein, for each memory access instruction, the executing step includes the step of interpreting the memory access instruction using an interpreter subprogram, the interpreter subprogam implementing a memory access control interface that controls access to the memory by the memory access instructions based on access clearances stored in a checking zone, the interpreter subprogram being contained in the memory, the memory access instruction being interpreted so as to produce an executable instruction that is directly executable by the microprocessor, the interpreting step further including (1) examining the checking zone in the user memory to determine an access clearance associated with the memory access instruction, (2) comparing (i) an address specified by the memory access instruction and the type of access required to execute the executable instruction with (ii) the access clearance associated with the memory access instruction, and (3) accessing the memory in the manner specified by the memory access instruction only if the access clearance exists for the address specified and the type of access required.
Claim 10
Independent Claim 257 words
A method comprising: (A) providing a microprocessor-based memory card, the memory card having a microprocessor and a memory, the memory including a user memory and a system memory, the user memory having an application program stored therein and the system memory having an operating system stored therein, the application program including memory access instructions that are used by the application program to access the memory, the memory access instructions not being directly executable by the microprocessor but rather requiring interpretation; and (B) executing the application program using the operating system wherein, for each memory access instruction, the executing step includes the step of interpreting the memory access instruction using an interpreter subprogram, the interpreter subprogam implementing a memory access control interface that controls access to the memory by the memory access instructions based on access clearances stored in a checking zone, the interpreter subprogram being contained in the memory, the memory access instruction being interpreted so as to produce an executable instruction that is directly executable by the microprocessor, the interpreting step further including (1) examining the checking zone in the user memory to determine an access clearance associated with the memory access instruction, (2) comparing (i) an address specified by the memory access instruction and the type of access required to execute the executable instruction with (ii) the access clearance associated with the memory access instruction, and (3) accessing the memory in the manner specified by the memory access instruction only if the access clearance exists for the address specified and the type of access required.
Claim 11
Dependent Claim 62 words
A method according to claim 8, further comprising the steps of loading an additional application program into the user memory outside the checking zone using a loading program contained in the system memory, and modifying data elements of the checking zone on the basis of the loading program for the inclusion therein of the access clearances pertaining to the additional application program.
Claim 12
Dependent Claim 44 words
A method according to claim 9, wherein the loading program is designed to prevent the recording, in the checking zone, of data elements authorizing an operation of writing in the checking zone during the performance of the application programs loaded into the user memory.
Claim 13
Dependent Claim 89 words
A method according to claim 8, wherein the interpreter subprogram comprises an executable routine (i) that corresponds to the memory access instruction and (ii) that includes a plurality of executable instructions which are executed by the microprocessor to implement the memory access required by the memory access instruction, the plurality of executable instructions being the executable instructions that are produced by the interpretation of the memory access instruction during the interpreting step; and wherein, during the interpreting step, the memory access instruction is interpreted by executing the executable routine.
Claim 14
Dependent Claim 39 words
A method according to claim 11, wherein the accessing step is performed by the executable routine, the executable routine being executed to completion only if the access clearance exists for the address specified and the type of access required.
Claim 15
Dependent Claim 19 words
A method according to claim 12, wherein the examining and comparing steps are also performed by the executable routine.
Claim 16
Dependent Claim 28 words
A method according to claim 11, wherein the memory access instruction serves as a pointer to an address of the memory at which the executable routine is stored.
Claim 17
Independent Claim 325 words
A method comprising: (A) providing a microprocessor-based memory card, the memory card having a microprocessor and a memory, the memory including a user memory and a system memory, the user memory having an application program stored therein and the system memory having an operating system stored therein, the application program including memory access instructions that are used by the application program to access the memory, the memory access instructions not being directly executable by the microprocessor but rather requiring interpretation; and (B) executing the application program using the operating system, the executing step including, for each memory access instruction, the step of interpreting the memory access instruction by executing an executable routine (i) that corresponds to the memory access instruction and (ii) that includes a plurality of executable instructions which are executed by the microprocessor to implement the memory access required by the memory access instruction, the memory access instruction serving as a pointer to an address of the memory at which the executable routine is stored, the executable routine comprising a plurality of instructions that are directly executable by the microprocessor, and the interpreting step further including (1) examining a checking zone in the user memory to determine an access clearance associated with the memory access instruction, (2) comparing (i) an address specified by the memory access instruction and the type of access required to execute the executable instruction with (ii) the access clearance associated with the memory access instruction, and (3) accessing the memory in the manner specified by the memory access instruction only if the access clearance exists for the address specified and the type of access required, and wherein the examining, comparing and accessing steps are all performed by the executable routine; and wherein the interpreting step is performed by an interpreter program that implements a memory access control interface which controls access to the memory by the memory access instructions based on the access clearances stored in the checking zone.
Claim 18
Independent Claim 325 words
A method comprising: (A) providing a microprocessor-based memory card, the memory card having a microprocessor and a memory, the memory including a user memory and a system memory, the user memory having an application program stored therein and the system memory having an operating system stored therein, the application program including memory access instructions that are used by the application program to access the memory, the memory access instructions not being directly executable by the microprocessor but rather requiring interpretation; and (B) executing the application program using the operating system, the executing step including, for each memory access instruction, the step of interpreting the memory access instruction by executing an executable routine (i) that corresponds to the memory access instruction and (ii) that includes a plurality of executable instructions which are executed by the microprocessor to implement the memory access required by the memory access instruction, the memory access instruction serving as a pointer to an address of the memory at which the executable routine is stored, the executable routine comprising a plurality of instructions that are directly executable by the microprocessor, and the interpreting step further including (1) examining a checking zone in the user memory to determine an access clearance associated with the memory access instruction, (2) comparing (i) an address specified by the memory access instruction and the type of access required to execute the executable instruction with (ii) the access clearance associated with the memory access instruction, and (3) accessing the memory in the manner specified by the memory access instruction only if the access clearance exists for the address specified and the type of access required, and wherein the examining, comparing and accessing steps are all performed by the executable routine; and wherein the interpreting step is performed by an interpreter program that implements a memory access control interface which controls access to the memory by the memory access instructions based on the access clearances stored in the checking zone.
Claim 19
Dependent Claim 62 words
A method according to claim 15, further comprising the steps of loading an additional application program into the user memory outside the checking zone using a loading program contained in the system memory, and modifying data elements of the checking zone on the basis of the loading program for the inclusion therein of the access clearances pertaining to the additional application program.
Claim 20
Dependent Claim 44 words
A method according to claim 16, wherein the loading program is designed to prevent the recording, in the checking zone, of data elements authorizing an operation of writing in the checking zone during the performance of any application program loaded into the user memory.

References Cited (Backward Citations)

US5729717A Cited
US4734568A Cited
US4816654A Cited
FR2612316A1 Cited
US4868376A Cited
US5530885A Cited
FR2667171A1 Cited
US5542081A Cited
US5600818A Cited
EP0540095A1 Cited
US5452431A Cited
US5517014A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-10-04 2003-04-05 2003-10-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-10-04 2007-04-05 2007-10-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-10-04 2011-04-05 2011-10-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag