Patent ID: 7116969

Claim:
A method of providing a secure clock in a communication device in contact with a communication system, comprising: providing, in the communication device, real-time clock hardware, including a real time clock count register, programmable memory and non-volatile memory, and a back-up battery, wherein said providing includes providing a battery fail register which further provides a Boolean true/false value for indicating whether the supply current to the real time clock has failed; a clock count register; a user interface clock base for holding a time and date value which is set by the user; a secure clock base for holding a time and date value set by either the communication system or the user; a secure clock offset; and a secure clock initializer for indicating whether the time and date value in the secure clock variable has been initialized to a time and date other than a default time and date; detecting a clock event whenever a clock event occurs; wherein a clock event is taken from a group of clock events consisting of user clock events and system clock events; initializing a secure clock base, setting a secure clock flag to TRUE, and determining a secure clock offset; and setting the secure clock to a secure clock time including computing a current user interface time and storing the computed user interface time in the user interface clock base; computing a current secure clock time and storing the computed secure clock time in the secure clock base; and storing the current time in the programmable memory, wherein said computing further includes setting the real-time clock count register to zero and setting the secure clock offset to zero, respectively.