WO2007148602A1 - 情報処理端末および状態通知方法 - Google Patents

情報処理端末および状態通知方法 Download PDF

Info

Publication number
WO2007148602A1
WO2007148602A1 PCT/JP2007/062035 JP2007062035W WO2007148602A1 WO 2007148602 A1 WO2007148602 A1 WO 2007148602A1 JP 2007062035 W JP2007062035 W JP 2007062035W WO 2007148602 A1 WO2007148602 A1 WO 2007148602A1
Authority
WO
WIPO (PCT)
Prior art keywords
entry
log
accumulation
information processing
processing terminal
Prior art date
Application number
PCT/JP2007/062035
Other languages
English (en)
French (fr)
Inventor
Hiroshi Takekawa
Hisashi Takayama
Original Assignee
Panasonic Corporation
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 Panasonic Corporation filed Critical Panasonic Corporation
Priority to CN2007800234337A priority Critical patent/CN101473335B/zh
Priority to US12/305,126 priority patent/US8086861B2/en
Publication of WO2007148602A1 publication Critical patent/WO2007148602A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Definitions

  • the present invention relates to a technology in which an information processing terminal such as a personal computer that receives various services notifies a server that provides various services via a network of the status of the terminal itself.
  • TCG Trusted Computing Group
  • Patent Document 1 Patent Document 1
  • FIG. 14 shows an example of a system in which the verification server 1410 verifies software executed on the information processing terminal 1400 based on a technique proposed by TCG or the like.
  • TPM Trusted Platform Module
  • the information processing terminal 1400 calculates a hash of the code of the software executed when the CPU 1402 starts up, such as the BIOS, loader, and kernel, and stores them in the TPM 1401.
  • the verification server 1410 Since the TPM 1401 can present a digitally signed hash to the verification server 1410 that is an external entity trying to verify the state of this information processing terminal, the verification server 1410 corrects and compares it with the hash. Thus, it is possible to prove that the information processing terminal is correct and the code is being executed.
  • the target to be deleted is more generalized, and data (hereinafter referred to as an entry) that expresses information about the event that has occurred, such as when the software is started or the driver is loaded. Including.
  • the program name and hash of its code can be entered in the entry, and the contents of the information that combines the entries (hereinafter referred to as event log or simply log) are guaranteed.
  • the CPU 1402 of the information processing terminal 1400 calculates the respective hashes (hash calculation 1421) when executing the BIOS, Loader, Kernel, App A, App B and software code.
  • the hash 1422 thus transmitted is transmitted to the TPM 1401, and the entry 14 24 is added to the event log 1403 and stored.
  • the TPM1401 concatenates the stored value and the sent value, performs a no-shush operation, and stores it as a single hash in the PCR (Platform Configuration Register) 1404. (Cumulative processing 1423).
  • the verification server 1410 verifies the software executed on the information processing terminal 1400, first, the verification server 1410 transmits a challenge 1425 to the information processing terminal 1400, and the TPM 1401 receives the challenge 1425 and the PCR 1404 received.
  • the cumulative hash stored in the database is concatenated and digitally signed (electronic signature processing 1426), and the certificate and event log 1403 are concatenated and transmitted as verification information 1427 to the verification server 1410.
  • the verification server 1410 first verifies the signature of the certificate, then verifies the electronic signature, and then In addition, the received event log 1403 entry is registered in the verification data DB 1411 and the entry is verified, and the cumulative hash is calculated again to match the cumulative hash included in the received verification information 1427. Furthermore, by verifying the challenge 1425 and the challenge included in the received verification information 1427, the software executed on the information processing terminal 1400 is verified.
  • the software has several hierarchical capabilities, and even if the lower layer is the same, the upper layer may be different, so there are various combinations, and one cumulative hash for all states. Can be difficult to verify. Therefore, the TPM can hold multiple cumulative hashes, and there are 16 registers from PCR0 to PCR15.
  • the CPU 1402 has a power number (hereinafter referred to as a cumulative hash) to update which cumulative hash when sending the hash to the TPM. Number).
  • Patent Document 1 Japanese Translation of Special Publication 2002-536757
  • the present invention solves the above-mentioned conventional problems, while protecting privacy information,
  • the purpose is to provide an information processing terminal that can notify the status of its own terminal in a form that can detect falsification of the event log.
  • An information processing terminal is an information processing terminal that notifies a plurality of notification partners of the accumulation of entries, which is data indicating a change in state, and the accumulation of entries used to detect falsification of entry logs. For each of the plurality of notification partners, and a log instructing to update the accumulation of the plurality of entries respectively corresponding to the plurality of notification partners held by the accumulation storage unit based on one entry A plurality of measuring means; and a verification requesting means for sending data including data obtained by applying an electronic signature to the accumulation of entries held by the cumulative storage means corresponding to the notification partner to the notification partner.
  • the information processing terminal of the present invention is an information processing terminal for notifying a plurality of notification partners of the accumulation of entries, which is data indicating a change in state, and notifies whether or not the entry is capable of notification.
  • the disclosure presence / absence determination means for each partner, the log concealment means for generating the concealed entry, the log storage means for storing the entries, and the accumulation of entries used for log falsification detection are retained for each notification partner.
  • the cumulative number of entries held by the cumulative storage means corresponding to the notification partner that cannot be notified of the entry is updated based on the concealed entry,
  • the accumulation of entries held by the accumulation storage means corresponding to the notification partner capable of notifying entries is concealed, and should be updated based on the entries!
  • the entries that cannot be notified to the notification partner based on the multiple log measurement means to be displayed and the determination result of the disclosure presence / absence determination means are entries that have been concealed, and the entries that can be notified to the notification partner are
  • the log storage means stores the concealment process so that it becomes an entry, and generates a log for notifying the notification partner from the entry, and the cumulative storage means corresponding to the notification partner Verification requesting means for transmitting data including data to which the electronic signature is applied to the accumulation of entries held by the log and the log generated by the log configuration means to the notification partner.
  • the information processing terminal is characterized in that the accumulation of entries held by the accumulation storage means is a cumulative hash of entries.
  • the notification partner can verify that the log has not been tampered with by calculating the cumulative hash for the received log and checking it against the cumulative entry.
  • the processing terminal can reduce the memory capacity required for the cumulative storage means.
  • the secure device of the present invention includes an accumulation storage unit that retains the accumulation of entries, which is data indicating a change in the state of the information processing terminal, and an update of the accumulation of entries held in the accumulation storage unit. Accumulating calculation means, signing means for digitally signing the entry accumulation, verification means for verifying the data received from the information processing terminal, and when the verification by the verification means is successful. And a service server that provides the service.
  • the contents of the log sent to each notification partner are changed to protect the privacy information, and the other party such as a server is notified so that tampering can be detected, so the partner verifies the notified log.
  • the service can be provided to authorized users after confirmation.
  • important personal information is stored in a secure device, and the verification is successful. Allowing personal information to be acquired and manipulated only by applications verified by the service server makes it possible to use personal information safely.
  • the secure device of the present invention further includes execution environment providing means for providing an execution environment and execution environment storage means for storing the execution environment.
  • the verification unit receives the accumulation of entries held by the accumulation storage unit via the internal interface of the secure device.
  • the verification means since the verification means receives the accumulation of entries via the internal interface of the secure device, the contents of the accumulation of entries can be trusted even if an electronic signature is not applied, and the accumulation of entries can be trusted.
  • the verification process can be performed at a high speed because it is no longer necessary to carry out an electronic signature.
  • the information processing terminal of the present invention includes a verification unit that verifies the data received from the verification request unit, and a service server that provides a service when the verification by the verification unit is successful. are further provided.
  • the verification unit receives the accumulation of entries held by the accumulation storage unit via the internal interface without passing through the verification request unit.
  • the verification means receives the accumulation of entries via the internal interface. Even if the electronic signature is not applied, the accumulated contents of the entry can be trusted, and the verification process can be performed at a high speed because the electronic signature is not necessary for the accumulation of the entry.
  • the multiple log measurement unit of the information processing terminal according to the present invention has only one cumulative storage unit when the cumulative value of entries corresponding to the notification partner is the same even when the notification partner is different.
  • the cumulative value of the entry corresponding to the notification partner is different, the cumulative value of the one entry is copied and updated individually, and the cumulative storage means stores the individually updated plural items. Keep the cumulative number of entries.
  • the log concealing means holds the master key, generates an encryption key from the entry ID encrypted with the master key, and uses the encryption key to store the entry. It is something to encrypt.
  • the log concealment unit randomly generates an encryption key, encrypts the entry with the encryption key, and stores the encryption key as concealment information.
  • Information storage means is provided. Therefore, the encryption key can be made random and the security can be improved.
  • the log concealment unit deletes part or all of the contents of the entry. Therefore, it is possible to limit the contents that can be disclosed according to the notification partner, and improve security.
  • the information processing terminal of the present invention includes an ID assigning unit that assigns a different entry ID for each entry, a concealment information storage unit that stores concealment information related to concealment for each entry in association with the entry ID, When disclosure of a concealed entry is requested, do not acquire or generate information to cancel concealment for the entry ID, and disclose it to the requesting party.
  • the hidden entry at the time of notification can be released later if necessary.
  • Information that is concealed can be disclosed later if necessary, such as when analyzing problems or frauds that occur on the information processing terminal.
  • the log disclosure determination unit determines whether or not to disclose, it may present the entry whose concealment is released to the user and disclose the entry to the user. This is what makes it clear.
  • the status notification method of the present invention is a method in which the information processing terminal notifies the server of a log that is the history of the status change of the terminal itself, concealing the entry for servers that cannot be notified. Generating a log; generating a signed log in which the log, data obtained by applying an electronic signature to a cumulative hash corresponding to the log, and a certificate for verifying the electronic signature are combined; Transmitting the signed log to the server.
  • the server can first verify that the cumulative hash itself has not been tampered with by verifying the electronic signature, and further check the log power of the received entry by checking the cumulative hash. Since it can be confirmed that this has not been done, privacy information can be protected by changing the contents of the log sent for each notification partner, and the server can be notified so that tampering can be detected.
  • the information processing terminal of the present invention it is possible to notify the event log in a form that can detect falsification while protecting the privacy information by changing the concealment of each entry depending on the server to notify. It is.
  • the information processing terminal of the present invention it is possible to disclose the information concealed as necessary, such as when analyzing a malfunction or fraud that has occurred on the information processing terminal when receiving a service. is there.
  • FIG. 1 is a configuration diagram of a first embodiment of the present invention.
  • FIG. 2 is a configuration diagram in the second embodiment of the present invention.
  • FIG. 3 is a configuration diagram according to a third embodiment of the present invention.
  • FIG. 4 is a configuration diagram according to a fourth embodiment of the present invention.
  • FIG. 5 is an explanatory diagram of cumulative operation in the first embodiment of the present invention.
  • FIG. 6 (a) Description of the notification operation in the information processing terminal in the first embodiment of the present invention. (B) Explanatory diagram of the server verification operation in the first embodiment of the present invention. (C) Explanatory drawing of the operation for disclosing a hidden entry in the first embodiment
  • FIG. 7 is a diagram for explaining the disclosed operation in the first embodiment of the present invention.
  • FIG. 8 is an explanatory diagram of a specific example of the first embodiment of the present invention.
  • FIG. 9 is an explanatory diagram of a specific example of data according to the first embodiment of this invention.
  • FIG. 10 is an explanatory diagram of cumulative operation in the third embodiment of the present invention.
  • FIG. 11 is an explanatory diagram of a notification operation in the third embodiment of the present invention.
  • FIG. 12 is an explanatory diagram of a specific example in the third embodiment of the present invention.
  • FIG. 13 is a software stack diagram according to the second embodiment of the present invention.
  • FIG.14 Explanatory diagram of a system for verifying software running on an information processing terminal based on conventional technology
  • the present invention is an information processing terminal equipped with a tamper-resistant storage area and a security module that implements a processing device, accumulates a startup power event log, updates a cumulative hash, Data obtained by concatenating a log, data obtained by applying an electronic signature to the cumulative hash corresponding to the event log, and a certificate for verifying the electronic signature (
  • a processing device that accumulates a startup power event log, updates a cumulative hash, Data obtained by concatenating a log, data obtained by applying an electronic signature to the cumulative hash corresponding to the event log, and a certificate for verifying the electronic signature
  • FIG. 1 is a configuration diagram in the first embodiment of the present invention. The configuration is described using Fig. 1.
  • the information processing terminal 10 includes a disclosure presence / absence determination unit 1001 that determines to which server the entry can be disclosed, a log concealment unit 1002 that conceals the entry for the server without disclosure, and an entry and concealment that are not hidden.
  • the log multiple measurement unit 1003 that instructs to update a plurality of cumulative hashes according to the determination result of the public entry determination unit 100 1, the log configuration unit 1004 that configures the log according to the notification server, and the signed log
  • a verification request unit 1005 that notifies the server and requests verification
  • a policy storage unit 1006 that stores policy data
  • a log storage unit 1007 that stores entries
  • an ID grant unit 1008 that assigns entry IDs to entries
  • Concealment information storage means 1009 for storing concealment information indicating whether or not such concealment is performed, and a port for determining whether or not to disclose the entry corresponding to the input entry ID And shows determination unit 1010, and a service client 1011 which receives the service from the server, the.
  • the secure module 20 includes a cumulative operation unit 2001 that receives a hash and a cumulative hash number and updates a corresponding cumulative hash, a signature unit 2002 that calculates a digital signature using the cumulative hash, and a cumulative hash storage that stores the cumulative hash. Means 2003.
  • the secure module 20 is preferably tamper resistant! /
  • the server 30 verifies the log with the verification unit 3001 that verifies the signed log, the log disclosure unit 3002 that receives the concealment information and releases the concealment of the entry, the log storage unit 3003 that stores the log, and Server DB3004 in which data for recording is recorded, and a service server 3005 that provides a service.
  • the information processing terminal 10 is, for example, a personal computer or a mobile phone, and includes a disclosure presence / absence determination unit 1001, a mouth concealment unit 1002, a log multiple measurement unit 1003, a log configuration unit 1004, a verification request unit 1005, an ID assignment unit 1008,
  • the log disclosure determination unit 1010 and the service client 1011 are realized as software executed by the CPU included in the information processing terminal 10.
  • the policy storage means 1006, log storage means 1007, and concealment information storage means 1009 are constituted by storage devices such as HDDs and semiconductor memories.
  • the secure module 20 is a tamper-resistant chip such as TPM, for example, and the cumulative calculation unit 2001 and the signature unit 2002 are realized by the installed processing device, and the cumulative hash storage is performed by the installed storage device. Means 2003 is realized.
  • the server 30 is, for example, a high-performance personal computer, and the verification unit 3001, the log disclosure unit 3002, the service server 3005, and the like are realized as software executed by a provided CPU.
  • the log storage means 3003 and the server DB 3004 are configured by storage devices such as HDDs and semiconductor memories.
  • the ID assigning unit 1008 assigns an entry ID that can uniquely identify the entry to the entry (ID assigning step S101).
  • the disclosure presence / absence determination unit 1001 determines to which server the entry can be disclosed using policy data stored in the policy storage unit 1006 (disclosure presence / absence determination step S102).
  • the software provider of the entry the system administrator of the information system including the information processing terminal 10 or the user of the information processing terminal 10 makes the policy data available to whom. Can be set.
  • the log concealment unit 1002 stores the entry in the log storage unit 1007, and further performs concealment processing on the entry for a server that is not disclosed (log concealment step S103). At this time, the mouth guin pay unit 1002 stores concealment information indicating the concealment in the concealment information storage unit 1009.
  • the concealment process is, for example, performing encryption with a randomly generated key.
  • the encryption key is stored as concealment information in association with the entry ID.
  • a device-specific encryption key called a master key may be kept secret, and a key used for concealment may be generated from data obtained by encrypting the entry ID with this master key.
  • it may be completely deleted or only a part of information may be left. In that case, if disclosure is possible after the fact, the entry itself is stored as concealment information.
  • the log multiple measurement unit 1003 receives both the entry that is not hidden and the entry that is hidden,
  • the secure module 20 is instructed to update a plurality of cumulative hashes according to the determination result of the open / close determination unit 1001 (log multiple measurement step S104). More specifically, the cumulative hash corresponding to each server is instructed by passing the cumulative hash number and hash to the secure module 20 and the cumulative hash of the entry that has been concealed as necessary.
  • the cumulative calculation unit 2001 of the secure module 20 receives the hash and the cumulative hash number, and updates the corresponding cumulative hash.
  • the cumulative hash is stored in the cumulative hash storage means 2003 (cumulative calculation processing step S105).
  • the service client notifies the service server to confirm that the current information processing terminal is in the desired state in order to receive the service from the service server.
  • the service client 1011 requests verification from the verification request unit 1005 (verification request step S111).
  • the verification request unit 1005 requests a log with a signature from the log configuration unit 1004 (signed log request step S112).
  • the log configuration unit 1004 extracts the corresponding entry from the log storage unit 1007, performs concealment processing as necessary, configures a log corresponding to the notification server, specifies a cumulative hash number corresponding to the notification server, and signs it.
  • Request a signature from part 2002 (signature request step S113).
  • the signature unit 2002 calculates an electronic signature for the cumulative hash of the designated cumulative hash number (signature processing step S 114).
  • This digital signature operation is typically an operation in which the accumulated nose is processed by the signature key of the secure module 20, and is calculated by a well-known method such as RSA. Since the hash for the same data string has the same value, and depending on the algorithm, the result of the electronic signature is the same, use a random number received from Sano or take measures against retransmission attacks by including a time stamp in the entry. Is desirable.
  • This electronic signature is an electronic signature for the cumulative hash corresponding to the reconstructed log, and the verification request unit 1005 that has received the electronic signature from the signature unit 2002 generates a signed log. It is sent to the verification unit 3001 (signed log transmission step S115). [0066] The verification unit 3001 receives the signed log, first verifies the certificate, and further alters the cumulative hash by verifying the signature applied to the cumulative hash using the public key included in the certificate. It is verified that there is no inconsistency between the received cumulative hash and the entry log by calculating the cumulative hash from the received entry log and comparing it with the received cumulative hash.
  • the verification unit 3001 stores the received signed log in the log storage unit 3003.
  • the service sano 3005 receives the confirmation that there is no problem in the operation state of the service client 1011 and provides the service (service provision step S117).
  • the session key is shared between the service client 1011 and the service server 3005 in this series of notification and verification communication, and is used for communication at the time of service provision.
  • the log disclosure determination unit 1010 of the information processing terminal 10 determines whether or not the entry specified by the entry ID can be disclosed (log disclosure determination step S121), and when it is determined that disclosure is possible, the concealment information storage unit The concealment information of the entry is extracted from 1009 and transmitted to the disclosure destination (concealment information transmission step S122).
  • the log disclosure requester is, for example, a user who has found a malfunction in the operation or a server administrator suspected of fraud, and designates an entry requesting disclosure by an entry ID.
  • the disclosure determination is automatically performed by the log disclosure determination unit 1010 according to a certain rule (for example, disclosure is made only for a request from an authenticated user or an authenticated sano). Since the information to be disclosed may include privacy information, an instruction input from the user may be included in the element of the disclosure determination performed by the log disclosure determination unit 1010. In this case, the user judges the contents of the entry and the necessity of disclosure, and inputs an instruction to the information processing terminal.
  • a hidden entry instead of the entry ID may be input to the log disclosure determination unit 1010.
  • the entry whose concealment is released may be transmitted to the entry disclosure destination.
  • the log disclosure unit 3002 of the server 30 extracts the concealed entry from the log storage unit 3003, and releases the concealment of the entry (concealment release step S123).
  • FIG. Fig. 8 (a) shows a specific example of entry data.
  • the first line is the entry ID.
  • the second line is a time stamp showing the time when the event occurred.
  • the third line indicates the type of event, which indicates that the component has been loaded. Other than loading, for example, unloading can be a type.
  • the fourth line is a name that identifies the component involved.
  • the fifth line is a hash of the component.
  • the sixth line represents the version. Some lines are not required depending on the type of event.
  • FIG. 8C is a specific example of policy data.
  • the first line is the name of the service.
  • the second line is a list of component names for which service capabilities are also provided.
  • the third line is the name of the server that provides the service. In addition, you may include the name of the server (or service) that is allowed to notify you.
  • BIOS BIOS
  • Loader Loader
  • Kernel are executed in this order, and the event is measured. After that, measurement and application execution are performed by the Kernel function.
  • the generated event is determined as to which service it belongs to, and it is further determined and measured which server can be notified.
  • the entries in plain text are accumulated for the cumulative hashes corresponding to the servers that may be notified at this time, and the entries are partially encrypted for the cumulative hashes corresponding to the servers that should not be notified. Is accumulated.
  • a log to be notified to the server is composed of entries, and the corresponding cumulative hash is signed and transmitted to the server.
  • the server verifies that the received log has not been falsified, and verifies that it has not been falsified. From the log contents, confirm that the required legitimate components are activated and provide services.
  • BIOS When a component is executed, an event occurs and an entry is generated.
  • This entry contains the time stamp, type, name, text, version, and version mentioned above.
  • BIOS, Loader, Kernel, App A, App B, and App C are executed in this order.
  • O BIOS ⁇ Loader, Kernel, App A, App B, and App C each have multiple components. In that case, an entry is generated for each component execution.
  • App A is client software for service A.
  • Ap p B and App C are client software for service B and service C, respectively.
  • the ID assigning unit 1008 sequentially assigns numbers to the generated entries. This number starts monotonically and increases monotonically. This value is not reset even when the power is turned off.
  • the disclosure presence / absence determination unit 1001 receives an entry to which an entry ID is assigned, and determines to which server the entry is to be notified using the policy stored in the policy storage unit 1006.
  • the service to which the component belongs and the server corresponding to the service are specified, and it is determined that the server can be notified.
  • the disclosure presence / absence determination unit 1001 obtains the name “drm-b.dll” for entry power, and searches for the name in the Service eFiles column of the policy. Policy A ( Figure 8 (c)) is not included, but policy B ( Figure 8 (d)) is included, so it corresponds to App B. It turns out that it is an entry.
  • the name of the server that can be notified is the contents of the Server column of policy B. In this column f, drm. Example, org. In this way, it is determined that drm. Example. Org (assuming this is server B) can be notified, and other notifications are not possible.
  • the log concealment unit 1002 passes the entry as it is to the system measurement unit 1014. In other cases, the concealment process is performed on the entry, and the original entry and the concealed entry are passed to the log multiple measurement unit 1003. In the figure, the diagonal line over the entry shows that the concealment process is performed.
  • FIG. 8 (b) shows an example of hidden entries. In this method, nothing is stored as concealment information. This is because the key for decryption can be generated by receiving the first line from Sano. When randomly generating a key to be used for this encryption key, store the entry ID and the key in association with each other.
  • the log storage means 1007 stores the original entry and a list of servers that can be notified. If the concealed entry is also stored, the processing speed at the time of notification will be excessively stored, so it can be used according to the capacity of the log storage means 1007.
  • the system measurement unit 1014 calculates the hash of the entry, and transmits it to the cumulative calculation unit 2001 together with the cumulative hash number corresponding to the system.
  • the accumulation operation unit 2001 accumulates an accumulation hash S that is an accumulation hash corresponding to the system.
  • the log multiple measurement unit 1003 receives the original entry and the concealed entry, and accumulates the hash of the entry processed for each server together with the cumulative nose number corresponding to each server for all servers. Transmit to the arithmetic unit 2001.
  • the cumulative hash number is assigned the number of the cumulative hash that has not been used when the entry is accumulated for the first time, and is stored in association with the server for later use.
  • Cumulative operation unit 2001 adds the hash of the entry for server A to cumulative hash A.
  • the hash of the entry for server B is accumulated in cumulative hash B and in the cumulative hash corresponding to each server.
  • the hash associated with App A is accumulated as it is in the cumulative hash A
  • the hash of the hidden entry is accumulated as the entry associated with App B.
  • the entries related to App A are accumulated, and the entries related to App B are accumulated as they are.
  • cumulative hashes for servers of services corresponding to applications that have not yet been activated are also accumulated. It is assumed that many services allow notifications only to their own server. Since the entries of other services are accumulated with respect to the cumulative hash of the service corresponding to the application, the hidden entries are accumulated in many cases. In this case, the cumulative hash values for the servers of services corresponding to multiple applications that have not yet started are equal. Using this property, when the cumulative hash values are equal, they are accumulated as one cumulative hash, and when the cumulative hash values are different, the cumulative hash is copied and thereafter accumulated separately. The amount of computation required for accumulation can be reduced.
  • the above is the cumulative flow. Next, notification will be described.
  • the service client receiving the service passes the notification server name to the log component for notification and requests a signed log.
  • the log configuration unit 1004 extracts entries from the log storage unit 1007 and concatenates them to configure a log. In this case, if the notification server name is included in the list of servers that can be notified, the entry subjected to the concealment process is linked if it is not included. If concealment processing is performed when it is accumulated, it is used. Sarako asks the signature unit 2002 to sign the cumulative hash corresponding to the system log and the cumulative hash corresponding to the service.
  • the signature unit 2002 applies a signature to the designated cumulative hash.
  • the log composition unit 1004 returns this log and signature to the verification request unit 1005, and the verification request unit 1005 further concatenates the certificates to generate a signed log and notifies the server.
  • server A301 has a cumulative hash S and Cumulative Hash A are each signed data, App B entry concealed log, and a signed log A consisting of a certificate.
  • Server B302 receives cumulative hash S and cumulative hash A. Receive a signed log B consisting of data signed for hash B, a log with the App A entry hidden, and a certificate.
  • Each server stores a log in log storage means 3003.
  • Each server first verifies the certificate, and further verifies that the log has not been tampered with by verifying the signature applied to the cumulative hash using the public key included in the certificate, and receives the received entry. It is verified that there is no inconsistency between the received cumulative hash and the log of entries by calculating the cumulative hash from the log and comparing it with the received cumulative hash. At this time, for the hidden entries, the hash is calculated by calculating the hash as in the case of the non-hidden entries.
  • Each server can know the necessary and sufficient entries to provide the service, and can check whether the status of the information processing terminal is in trouble by providing the service using the information in the server DB. .
  • the App A component has not been tampered with, the unauthorized component is not running, or another component that is necessary (for example, drm-b.dll) Can be confirmed.
  • the terminal users do not have to disclose unnecessary entries for the time being, and privacy is protected.
  • the server A user notices that the service service client does not operate normally and cannot receive the service, and notifies server A accordingly.
  • the log disclosure determination unit 1010 Request the disclosure of the entry by sending the entry ID of the hidden entry.
  • the log disclosure determination unit 1010 determines whether or not the entry corresponding to the entry ID may be disclosed.
  • the concealed entry force entry ID is taken out, the data force encrypted with the master key is generated, the encryption key is generated, the concealment is released, the contents of the entry are presented to the user, and the user Judge whether disclosure is possible.
  • the user confirms the entry contents related to App B, determines that disclosure is possible, and notifies that
  • the information processing terminal 10 transmits the entry whose concealment is released to the server A.
  • Server A calculates a hash of the plaintext of the hidden part, and the corresponding hash value contained in the hidden entry (the hash value in the third line in the example shown in Fig. 8 (b)). To confirm that the content is correct.
  • a cumulative hash of entries is held for each server, and a cumulative hash with an electronic signature and a log of reconfigured entries are sent to the server. It is done.
  • the server verifies the integrity of the digital signature verification process and the cumulative hash and entry log.
  • the server verifies the digital signature applied to the cumulative hash to verify that it is the cumulative hash stored in the information processing terminal.
  • the log power of the received entry also indicates the cumulative hash.
  • each server has been described as a server that provides a service at an application layer such as App A and App B.
  • each server has a BIOS, Kernel, It may be a server that provides services for different layers of software such as applications.
  • each server may be a manufacturer server that provides a mobile phone as a device or an operator server that provides a network service. Even in that case, the cumulative hash of the entry is maintained for each server.
  • the ID assigning unit 1008 may assign an entry ID that can uniquely identify the entry to the entry, and may assign the same ID to entries having the same content.
  • the disclosure presence / absence determination unit 1001 determines only the servers that can be disclosed, and determines only the presence / absence of concealment for each server, but determines to perform different concealment processing for each server. Also good.
  • the server checks each component, but the information processing terminal 10 may perform verification using, for example, a certificate and include the result in the entry.
  • all entries belonging to the system are publicly disclosed, and the content notified for each server may be changed. For example, you may restrict the entry of systems that users may provide policies for. For example, it is not necessary to know the device used by not notifying the entry about the device driver that does not need to be notified.
  • Fig. 2 is a configuration diagram in the second embodiment of the present invention. The configuration is described using Fig. 2.
  • the information processing terminal 10 includes a virtual execution environment 1012 realized by a kernel different from the activated kernel, and virtualization software 1013 that enables execution of the virtual execution environment 1012 And further.
  • the operation will be described.
  • the virtualization software 1013 is measured and started.
  • a virtual execution environment 1012 is prepared and executed by the virtualization software 1013.
  • the virtual execution environment 1012 and the original execution environment are separated by the virtualization software 1013, and the virtual execution environment and the applications running on it cannot directly affect the original execution environment.
  • the service client 1011 is executed on the virtual execution environment 1012. At this time, even if the service client 1011 is used, the execution environment of the measured force is used for the measurement and accumulates in a different hash from the accumulated hash.
  • a plurality of service clients 1011 are executed, a plurality is accumulated as in the first embodiment, but these are also accumulated in a hash different from the accumulated hash used in the original execution environment.
  • Service clients that run on the original execution environment use the cumulative hash of the original execution environment
  • service clients that run on the virtual execution environment use the cumulative hash of the virtual execution environment.
  • BIOS BIOS
  • Loader kernel
  • VL abbreviation of virtualization layer, it is virtualization software
  • Kernel virtual execution environment
  • FIG. 13 (a) shows the software stack in this state.
  • BIOS BIOS, Loader, Kernel, VL, and Kernel 'are system entries and should be made public.
  • BIOS, Loader, Kernel, VL, App A, and App B are accumulated as in the first embodiment. After VL activation, Kernel 'is activated, and then App C and App D are activated. The entries in the virtual execution environment after Kernel 'are accumulated in a separate and independent manner from the original execution environment.
  • the arrows in FIG. 12 indicate which entries are accumulated in which accumulated hashes. For example, in the cumulative hash A, the App A entry is kept as it is, and the App B entry is concealed and accumulated. App C and App D entries are not accumulated. Similarly, in the cumulative hash C, App C is kept as it is, and App D is concealed and accumulated. App A and App B entries are cumulative Not stacked.
  • Each server is notified of the execution environment itself in which the service client is operating and the logs generated from the entries! / And the applications operating in that execution environment. For example, server A is notified of a signed log A that includes cumulative hash S and cumulative hash A that are each signed, and server C is each signed cumulative hash S ′ and cumulative hash that are signed. Signed log C including C is notified.
  • VL guarantees that each other's execution environments do not affect each other, and does not cause malfunctions or frauds. Therefore, for components that operate in different execution environments, There is no need to notify the entry.
  • the virtualization software 1013 is a force that operates after the Kernel is started. As shown in Fig. 13 (b), the first program to be started is the virtualization software 1013. On top of that, the Kernel and another Kernel may be activated.
  • the third embodiment of the present invention describes an information processing terminal equipped with a tamper-resistant storage area and a removable secure device that mounts a processing device.
  • FIG. 3 is a configuration diagram in the third embodiment of the present invention.
  • the configuration will be described with reference to FIG.
  • the processing content of each component block is the same as in the first embodiment.
  • the information processing terminal 10 includes a disclosure presence / absence determination unit 1001, a log concealment unit 1002, a log multiple measurement unit 1003, a log configuration unit 1004, a verification request unit 1005, a policy storage unit 1006, a log storage unit 1007, And a service client 1011.
  • the secure device 40 includes a cumulative calculation unit 4001, a signature unit 4002, a cumulative hash storage unit 4003, a verification table 4004, a Sano DB 4005, and a service Sano 4006.
  • the disclosure presence / absence determination unit 1001 determines to which server the entry can be disclosed by using the policy data stored in the policy storage means (disclosure presence / absence determination step S201). At this time, the disclosure presence / absence determination unit 1001 performs a service on the secure device 40. Judge against Sano 4006.
  • the log concealment unit 1002 performs concealment processing on entries for servers that do not disclose entries.
  • the multiple log measurement unit 1003 receives both the non-hidden entry and the hidden entry, and sends a command to the secure device 40 to instruct the update of multiple cumulative hashes according to the determination result of the public presence / absence determination unit 1001 ( Log multiple measurement step S203). More specifically, the command to be sent to the secure device 40 includes the cumulative hash number and hash, and is necessary for the cumulative hash corresponding to each server (including the service server 4006 on the secure device 40). Correspondingly, the accumulation processing of the hash of the entry that has been concealed is instructed.
  • the cumulative operation unit 4001 of the secure device 40 receives the command including the hash, the cumulative hash number, and updates the corresponding cumulative hash.
  • the cumulative hash is stored in the cumulative hash storage unit 4003 (cumulative calculation processing step S204).
  • the service client 1011 requests verification from the verification request unit 1005 (verification request step S211).
  • the verification request unit 1005 requests a log with a signature from the log configuration unit 1004 (signed log request step S212).
  • the log configuration unit 1004 extracts the corresponding entry from the log storage unit 1007, performs concealment processing as necessary, configures a log according to the notification server, and requests the signature from the signature unit 4002 (signature request step S 213).
  • the signature unit 4002 calculates an electronic signature by the cumulative hash of the designated cumulative hash number (signature processing step S214).
  • This digital signature calculation is typically an operation in which the accumulated hash is processed by the signature key of the secure device 40, and is calculated by a well-known method such as RSA.
  • This electronic signature is an electronic signature for the cumulative hash corresponding to the reconstructed log, and the verification request unit 1005 that has received the electronic signature from the signature unit 2002 generates a signed log.
  • the data is sent to the verification unit 4004 (signed log transmission step S215).
  • the verification unit 4004 receives the signed log, first verifies the certificate, and further verifies the cumulative hash by verifying the signature applied to the cumulative hash using the public key included in the certificate. It is verified that there is no inconsistency between the received cumulative hash and the entry log by calculating the cumulative hash from the received entry log and comparing it with the received cumulative hash. Further, data for verifying the log is extracted from the server DB 4005 and the log is verified (log verification step S216).
  • the service sano 006 receives the confirmation that the operation state of the service client 1011 is satisfactory, and provides the service (service provision step S217).
  • the session key is shared between the service client 1011 and the service server 4006 in this series of notification and verification communication, and is used for communication at the time of service provision.
  • the verification unit 4004 stores the signature-added cumulative hash in the cumulative hash storage unit 4004 via the internal interface of the secure device that is assumed to receive the verification request unit 1005 of the information processing terminal 10. It is also possible to receive the accumulated hash and receive only the reconstructed log from the verification request unit 1005.
  • FIG. 4 is a configuration diagram in the fourth embodiment of the present invention.
  • the information processing terminal 10 includes a virtual execution environment 1012 realized by a kernel different from the started Kernel, and a virtual execution environment 1012 that enables execution of the virtual execution environment 1012. And software 1013.
  • the secure device 40 further includes an execution environment providing unit 4007 that provides a virtual execution environment in addition to the secure device of the third embodiment, and an execution environment storage means 4008 that stores the virtual execution environment. I have. [0138] Next, the operation will be described. After the information processing terminal 10 is turned on and the Kernel is started, the virtualization software 1013 is measured and started.
  • the virtualization software 1013 requests the execution environment from the execution environment providing unit 4007 of the secure device 40.
  • the execution environment providing unit 4007 extracts the virtual execution environment image from the execution environment storage unit 4008 and transmits it to the virtualization software 1013.
  • the virtualization software 1013 executes a virtual execution environment 1012.
  • the virtual execution environment 1012 and the original execution environment are separated by the virtualization software 1013, and the virtual execution environment and the applications running on it are not directly affected by the original execution environment.
  • the service client 1011 is executed on the virtual execution environment 1012. At this time, the service client 1011 is also measured, but the original execution environment is used for the measurement, and is accumulated in a different node from the accumulated node.
  • a plurality of service clients 1011 are executed, a plurality is accumulated as in the third embodiment, but these are also accumulated in a hash different from the accumulated hash used in the original execution environment.
  • Service clients running on the original execution environment should notify the service server using the cumulative hash of the original execution environment, and service clients running on the virtual execution environment using the cumulative hash of the virtual execution environment. Thus, privacy can be further improved.
  • the verification unit 4004 verifies the notified log and confirms the contents using the data of the server DB4005.
  • Service Sano 006 receives the result and determines whether to provide the service.
  • the execution environment providing unit 4007 does not answer anything other than a request from an application running on the virtual execution environment 1012.
  • the execution environment providing unit 4007 provides only the virtual execution environment 1012, but an application that operates on the virtual execution environment 1012 may be provided.
  • the verification unit 4004 stores the signature-added cumulative hash in the cumulative hash storage unit 4004 via the internal interface of the secure device that has been received from the verification request unit 1005 of the information processing terminal 10. It is also possible to receive the accumulated hash being received, and to receive only the reconstructed log from the verification request unit 1005.
  • the cumulative calculation unit, the cumulative hash storage means, and the signature unit are provided only on the secure device. However, as in the first embodiment, it is secured to the information processing terminal. A module may be provided, and some measurements such as the system may be realized using the function of the information processing terminal. You can also reset the cumulative hash held by the secure device when the secure device is attached.
  • the information processing terminal of the present invention can notify the state of the information processing terminal while protecting the privacy information, it is possible to achieve both security and privacy. It can be applied to various information processing terminals such as terminals (PDAs), personal computers, music playback (and recording) devices, cameras, video cameras, etc.
  • PDAs terminals
  • personal computers music playback (and recording) devices
  • cameras video cameras, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

 本発明は、サーバに対して情報処理端末の状態を通知する際に、プライバシーとセキュリティを両立させることができる情報処理端末、状態通知システムおよび状態通知方法を提供することを目的とする。  情報処理端末10は、エントリごとに通知可能な相手を判定する公開有無判定部1001と、エントリを隠蔽するログ隠蔽部1002と、複数の通知相手についてハッシュの更新を指示するログ複数測定部1003と、通知相手向けのログを構成し署名させるログ構成部1004と、検証を要求する検証要求部1005と、通知可能な相手の判定に用いるポリシーを記憶するポリシー記憶手段1006と、エントリを記憶するログ記憶手段1007と、を備え、エントリに通知相手ごとの適した隠蔽処理などの処理を施したもののハッシュによる累積を指示する。

Description

明 細 書
情報処理端末および状態通知方法
技術分野
[0001] 本発明は、ネットワークを介してさまざまなサービスを提供するサーバに、それらの サービスを受けるパソコンなどの情報処理端末が、 自端末の状態を通知する技術に 関する。
背景技術
[0002] 近年、ネットワークを介して提供されるサービスは、音楽や映像と!/ヽつた著作物の提 供や、企業の機密情報の送受、オンラインバンキングなど、多岐かつ高価なものにな つてきている。多岐に渡るサービスに対応するため、パソコン、携帯端末、携帯電話、 デジタル家電などの情報処理端末には、多くのクライアントソフトウェア力インストール される。また、それらのソフトウェアにはサービスを受ける機能そのものの他に、高価 な情報を保護するための機能が実装されて 、る。
[0003] こうしたサービスで得られる価値が高まるにつれ、情報処理端末上のソフトウェアに 不正な変更を加えるなどの方法でソフトウェアが課している制限を迂回されることによ る被害が深刻化しており、サービスを提供しょうとしている情報処理端末のクライアン トソフトウェアおよびそれが動作するオペレーティングシステムを含んだ実行環境に 不正な変更が加えられて 、な 、かどうか検証する必要性が増して 、る。
[0004] そうした必要性に応えるため、 TCG(Trusted Computing Group)などによって、情報 処理端末にぉ 、て実行されて 、るソフトウェアの情報を正確に伝える技術が提案さ れている。上記の TCGなどによって提案されている技術は、例えば特許文献 1に公 開されている。
[0005] 図 14は、 TCGなどによって提案されている技術に基づき、検証サーバ 1410が情 報処理端末 1400上で実行されているソフトウェアを検証するシステムの一例を示し ており、情報処理端末 1400には、 TPM(Trusted Platform Module) 1401と呼ばれる 耐タンパモジュールが実装され、このモジュールによりセキュリティ上重要な情報であ る秘密鍵やハッシュ値を保護し、またセキュリティ上重要な処理を安全に実行する。 [0006] 情報処理端末 1400は、 CPU1402が起動時から BIOSやローダ、カーネルといつ た実行されるソフトウェアのコードのハッシュを計算し、 TPM1401に記憶させる。 TP M 1401は、この情報処理端末の状態を検証しょうとする外部の存在である検証サー ノ 1410に対して、デジタル署名したハッシュを提示可能なため、検証サーバ 1410 が正し 、ハッシュと比較することで情報処理端末が正し 、コードが実行された状態に あることを証明することが可能である。
[0007] ノ、ッシュをとる対象は、より一般ィ匕され、ソフトウェアが起動した、ドライバがロードさ れた、のように生起したイベントについての情報を表現したデータ(以下エントリと呼 ぶ)も含む。この形式の場合、プログラム名やそのコードのハッシュをエントリに入れる ことも可能であり、各エントリを結合した情報(以下イベントログあるいは単にログと呼 ぶ)の内容が保証対象になる。
[0008] 具体的には、情報処理端末 1400の CPU1402は、 BIOS, Loader, Kernel, App A, App Bとソフトウェアのコードを実行する際に、それぞれのハッシュを計算し (ハッシュ 計算 1421)、計算したハッシュ 1422を TPM1401に送信し、さらに、そのエントリ 14 24をイベントログ 1403に追加して記憶する。 TPM1401はハッシュ 1422が送られて くると、既に記憶している値と送られてきた値を連結し、ノ、ッシュ演算を実行して、ひと つのハッシュにして PCR (Platform Configuration Register) 1404に記憶する(累積演 算処理 1423)。
[0009] このように後から改ざん検知の対象になるデータが増えた場合でも、順序も含めて ひとつのハッシュで保証することが可能である。状態を累積していくため、以降このハ ッシュを累積ハッシュと呼ぶ。またこのようにノ、ッシュを計算して累積して 、く処理を測 定とも呼ぶ。
[0010] 検証サーバ 1410が情報処理端末 1400上で実行されているソフトウェアを検証す る場合、まず、検証サーバ 1410から情報処理端末 1400にチャレンジ 1425が送信 され、 TPM1401は、受信したチャレンジ 1425と PCR1404に格納された累積ハツ シュとを連結してそれに電子署名を施し (電子署名処理 1426)、さらに、証明書と、ィ ベントログ 1403と連結して検証情報 1427として検証サーバ 1410に送信する。
[0011] 検証サーバ 1410は、まず、証明書の署名を検証し、次に、電子署名を検証し、次 に、受信したイベントログ 1403のエントリと検証データ DB1411に登録されて!、るェ ントリとを照合し、さらに、改めて累積ハッシュを算出して受信した検証情報 1427に 含まれる累積ハッシュと照合し、さらにチャレンジ 1425と受信した検証情報 1427に 含まれるチャレンジとを照合することで、情報処理端末 1400上で実行されて 、るソフ トウエアを検証する。
[0012] このように、署名された累積ハッシュだけでなぐイベントログも通知することにより、 より詳細に及んだ検証をすることも可能である。累積ハッシュにより、このイベントログ も正 、ことを検証することが可能なためである。
[0013] 現実的には、ソフトウエアはいくつかの階層力 なり、下層が同じであっても上層が 違うなどの場合があるため、組み合わせが多様であり、全ての状態に一つの累積ハツ シュを割りあてると検証が困難になりうる。そのため、 TPMは複数の累積ハッシュを保 持可能になっており、 PCR0から PCR15まで 16個のレジスタがあり、 CPU1402はハツ シュを TPMに送る際にどの累積ハッシュを更新する力番号 (以下累積ハッシュ番号) で指定する。
特許文献 1:特表 2002— 536757号公報
発明の開示
発明が解決しょうとする課題
[0014] し力しながら、検証サーバ 1410にイベントログを通知することによって、より詳しい 検証が可能である反面、この場合、どのようなソフトウェア、どのようなネットワークサー ビスを利用しているかといったことまでが検証サーバ 1410側に知られることになるの で、プライバシー情報の漏洩が懸念され、セキュリティとの兼ね合いを考慮にいれる べきである。
[0015] プライバシー情報保護の観点からは、実行状態を通知する対象である対象サーバ に応じて、通知する内容の一部を削除または隠蔽できるのが望ましい。しかしながら 、前記従来の構成では、累積ハッシュの更新後にイベントログを変更すると、改ざん されたと解釈されるため、イベントログの内容を削除したり隠蔽したりするような変更は できない。
[0016] 本発明は、前記従来の課題を解決するもので、プライバシー情報を保護しながら、 イベントログの改ざん検知が可能な形で、自端末の状態を通知することが可能な情 報処理端末を提供することを目的とする。
課題を解決するための手段
[0017] 本発明の情報処理端末は、状態の変化を示すデータであるエントリの累積を複数 の通知相手に対して通知する情報処理端末であって、エントリのログの改ざん検知に 用いるエントリの累積を前記複数の通知相手ごとに保持する累積記憶手段と、一つ のエントリに基づき前記累積記憶手段が保持する複数の通知相手にそれぞれ対応 する複数のエントリの累積をそれぞれ更新するように指示するログ複数測定手段と、 前記通知相手に対応する前記累積記憶手段が保持するエントリの累積に電子署名 を施したデータを含むデータを前記通知相手に送信する検証要求手段と、を備える
[0018] そのため、通知相手ごとに改ざん検知が可能なように状態の累積を行い、その累積 を各通知相手に通知することができる。すなわち、アプリ Aというアプリケーションが起 動して ヽることを条件としてサービスを提供する通知相手に対して、アプリ Aが起動し て 、るように成り済ますことや、アプリ Bと 、うアプリケーションが起動して 、ることを条 件としてサービスを提供する別の通知相手に対して、アプリ Bが起動して 、るように成 り済ますことを防止することが出来る。
[0019] また、本発明の情報処理端末は、状態の変化を示すデータであるエントリの累積を 複数の通知相手に対して通知する情報処理端末であって、エントリが通知可能力否 かを通知相手ごとに判定する公開有無判定手段と、隠蔽処理を施したエントリを生成 するログ隠蔽手段と、エントリを記憶するログ記憶手段と、ログの改ざん検知に用いる エントリの累積を通知相手ごとに保持する累積記憶手段と、前記公開有無判定手段 の判定結果に基づきエントリの通知が不可の通知相手に対応する前記累積記憶手 段が保持するエントリの累積は隠蔽処理を施したエントリに基づいて更新し、エントリ の通知が可能な通知相手に対応する前記累積記憶手段が保持するエントリの累積 は隠蔽処理を施して ヽな 、エントリに基づ!/、て更新するよう指示するログ複数測定手 段と、前記公開有無判定手段の判定結果に基づき通知相手に対して通知が不可の エントリは隠蔽処理を施したエントリとなり通知相手に対して通知が可能なエントリは 隠蔽処理を施して 、な 、エントリとなるように前記ログ記憶手段が記憶して 、るェント リから通知相手に通知するログを生成するログ構成手段と、通知相手に対応する前 記累積記憶手段が保持するエントリの累積に電子署名を施したデータと前記ログ構 成手段が生成したログとを含むデータを前記通知相手に送信する検証要求手段と、 を備える。
[0020] そのため、通知相手ごとに送信するログの内容を変えてプライバシー情報を保護で き、なおかつ、改ざん検知が可能なように状態の累積を行うことができる。すなわち、 アプリ Bというアプリケーションが起動しているにもかかわらず、アプリ Aに成りすまして 、イベントログでは、アプリ Aが起動しているようにすることや、実際にはアプリ C (スパ ィウェアなど)が起動しているにもかかわらず、イベントログには何の痕跡も残さないよ うにするイベントログの改ざんを検知可能な形でサーバに通知するとともに、各ェント リの隠蔽の有無を通知相手ごとに変えてプライバシー情報を保護することができる。
[0021] また、本発明の情報処理端末は、前記累積記憶手段が保持するエントリの累積が エントリの累積ハッシュであることを特徴とする。
[0022] そのため、通知相手では、受信したログに対して累積ハッシュを計算し、受信したェ ントリの累積と照合することで、ログが改ざんされていないことを検証することができ、 また、情報処理端末では累積記憶手段に必要となるメモリの容量を小さくすることが 出来る。
[0023] また、本発明のセキュアデバイスは、情報処理端末の状態の変化を示すデータで あるエントリの累積を保持する累積記憶手段と、前記累積記憶手段に保持されるェン トリの累積の更新を行う累積演算手段と、前記エントリの累積に電子署名を行う署名 手段と、前記情報処理端末から受信した前記データを検証する検証手段と、前記検 証手段による前記データの検証が成功した場合にサービスを提供するサービスサー バと、を備える。
[0024] そのため、通知相手ごとに送信するログの内容を変えてプライバシー情報を保護し 、なおかつ、改ざん検知が可能なようにサーバ等の相手に通知するので、相手は、 通知されたログを検証、確認したうえで正当なユーザにサービスを提供することがで きる。また、重要な個人情報をセキュアデバイスに格納しておき、検証に成功したサ 一ビスサーバが検証したアプリケーションにだけ個人情報の取得や操作を許可する ことで、安全に個人情報を利用することが可能になる。
[0025] また、本発明のセキュアデバイスは、実行環境を提供する実行環境提供手段と、実 行環境を記憶する実行環境記憶手段と、をさらに備える。
[0026] そのため、自身が提供した実行環境からのアクセスのみ許可するといつたアクセス 制御が可能になる。すなわち、実行環境のソフトウェアは、セキュアデバイス力も情報 処理端末へ提供されるので、セキュアデバイスは、情報処理端末上で実行環境を実 現するために、どのソフトウェアが起動されているべきかを知っており、情報処理端末 力 受信したログと照合することで、自身が提供した実行環境力ものアクセスかどうか を判断し、自身が提供した実行環境力 のアクセスのみ許可することにより、セキユリ ティを向上させることができる。
[0027] また、本発明のセキュアデバイスは、前記累積記憶手段が保持するエントリの累積 をセキュアデバイスの内部インターフェイスを介して前記検証手段が受信する。
[0028] この場合、検証手段はセキュアデバイスの内部インターフェイスを介してエントリの 累積を受信するので、電子署名が施されていなくてもエントリの累積の内容を信用す ることができ、エントリの累積に電子署名を行う必要がなくなる分、検証処理を高速に 行うことができる。
[0029] また、本発明の情報処理端末は、前記検証要求手段から受信した前記データを検 証する検証手段と、前記検証手段による前記データの検証が成功した場合にサービ スを提供するサービスサーバと、をさらに備える。
[0030] そのため、例えば、重要な個人情報をサービスサーバに格納しておき、検証に成 功したサービスサーバが検証したアプリケーションにだけ個人情報の取得や操作を 許可することで、情報処理端末において安全に個人情報を利用することが可能にな る。
[0031] また、本発明の情報処理端末は、前記累積記憶手段が保持するエントリの累積を 前記検証要求手段を介さずに内部インターフェイスを介して前記検証手段が受信す る。
[0032] この場合、検証手段は内部インターフェイスを介してエントリの累積を受信するので 、電子署名が施されていなくてもエントリの累積の内容を信用することができ、エントリ の累積に電子署名を行う必要がなくなる分、検証処理を高速に行うことができる。
[0033] また、本発明の情報処理端末のログ複数測定手段は、通知相手が異なる場合であ つても通知相手に対応するエントリの累積の値が等しい場合には、前記累積記憶手 段は一つのエントリの累積を保持し、通知相手に対応するエントリの累積の値が異な る場合には、前記一つのエントリの累積をコピーし個別に更新し、前記累積記憶手段 は前記個別に更新した複数のエントリの累積を保持する。
[0034] そのため、エントリの累積の余分な更新演算を省くことができるので、エントリの累積 を更新する処理を高速化することができる。
[0035] また、本発明の情報処理端末は、ログ隠蔽手段が、マスターキーを保持し、エントリ IDを前記マスターキーにより暗号ィ匕したものから暗号鍵を生成し、エントリを前記暗 号鍵で暗号ィ匕するものである。
[0036] そのため、事後の開示要求に応えるために保持しておかなければならない情報を なくすことができるので、情報処理端末の記憶容量を削減することができる。
[0037] また、本発明の情報処理端末は、ログ隠蔽手段が、暗号鍵をランダムに生成し、ェ ントリを前記暗号鍵で暗号化するものであり、前記暗号鍵を隠蔽情報として記憶する 隠蔽情報記憶手段を備える。そのため、暗号鍵をランダムにすることができ、セキユリ ティを向上させることができる。
[0038] また、本発明の情報処理端末は、ログ隠蔽手段がエントリの内容の一部または全部 を削除するものである。そのため、通知相手に応じて公開できる内容を制限すること ができ、セキュリティを向上させることができる。
[0039] また、本発明の情報処理端末は、エントリごとに異なるエントリ IDを付与する ID付与 手段と、エントリごとの隠蔽に関する隠蔽情報をエントリ IDと対応づけて記憶する隠 蔽情報記憶手段と、隠蔽されたエントリの開示を要求された際に、エントリ IDに対して 隠蔽を解除する情報を取得な 、しは生成し、要求してきた相手に開示してょ 、か判 断し、開示してよいと判断した場合に、隠蔽を解除する情報または解除したエントリを 渡すログ開示判定手段とを、さらに備える。
[0040] そのため、通知時には隠蔽したエントリを、必要に応じて後から解除できるので、情 報処理端末上で発生した不具合や不正につ ヽて分析する際など、必要に応じて隠 蔽した情報を後から開示することが可能である。
[0041] また、本発明の情報処理端末は、ログ開示判定手段が、開示してよいか判断する 際に、隠蔽を解除したエントリを利用者に提示し、利用者にエントリを開示してよいか 旨定させるものである。
[0042] そのため、利用者自身力 開示するエントリの内容を確認し、開示してよいか判断 することができるので、利用者のプライバシー保護を向上させることができる。
[0043] また、本発明の状態通知方法は、情報処理端末が自端末の状態変化の履歴であ るログをサーバに通知する方法であって、通知可能でないサーバ向けにエントリを隠 蔽してログを生成するステップと、前記ログと、前記ログに対応する累積ハッシュに電 子署名を施したデータと、前記電子署名を検証するための証明書とを連結した署名 付ログを生成するステップと、前記署名付ログを前記サーバに送信するステップと、を 有する。
[0044] そのため、サーバでは、まず、電子署名を検証することで、累積ハッシュ自体が改 ざんされていないことが確認でき、さらに、累積ハッシュを照合することで、受信したェ ントリのログ力 改ざんされていないことが確認できるので、通知相手ごとに送信する ログの内容を変えてプライバシー情報を保護し、なおかつ、改ざん検知が可能なよう にサーバに通知することができる。
発明の効果
[0045] 本発明の情報処理端末によれば、通知するサーバによって各エントリの隠蔽の有 無を変えることでプライバシー情報を保護しながら、イベントログの改ざん検知が可能 な形で通知することが可能である。また、本発明の情報処理端末によれば、サービス を受ける上で、情報処理端末上で発生した不具合や不正について分析する際など、 必要に応じて隠蔽した情報を後から開示することが可能である。
図面の簡単な説明
[0046] [図 1]本発明の第 1の実施形態における構成図
[図 2]本発明の第 2の実施形態における構成図
[図 3]本発明の第 3の実施形態における構成図 [図 4]本発明の第 4の実施形態における構成図
[図 5]本発明の第 1の実施形態における累積動作の説明図
[図 6] (a)本発明の第 1の実施形態における情報処理端末における通知動作の説明 図 (b)本発明の第 1の実施形態におけるサーバの検証動作の説明図 (c)本発明 の第 1の実施形態における隠蔽したエントリを開示する動作の説明図
[図 7]本発明の第 1の実施形態における開示動作説明図
[図 8]本発明の第 1の実施形態の具体例の説明図
[図 9]本発明の第 1の実施形態のデータの具体例の説明図
[図 10]本発明の第 3の実施形態における累積動作の説明図
[図 11]本発明の第 3の実施形態における通知動作の説明図
[図 12]本発明の第 3の実施形態における具体例の説明図
[図 13]本発明の第 2の実施形態におけるソフトウェアスタックの図
[図 14]従来の技術に基づく情報処理端末上で実行されているソフトウェアを検証する システムの説明図
符号の説明
10 情報処理端末
1001 公開有無判定部
1002 ログ隠蔽部
1003 ログ複数測定部
1004 ログ構成部
1005 検証要求部
1006 ポリシー記憶手段
1007 ログ記憶手段
1008 ID付与部
1009 隠蔽情報記憶手段
1010 ログ開示判定部
1011 サービスクライアント
1012 仮想実行環境 1013 仮想化ソフトウェア
1014 システム測定部
20 セキュアモジユーノレ
2001 累積演算部
2002 署名部
2003 累積ハッシュ記憶手段
30 サーバ
3001 検証部
3002 ログ開示部
3003 ログ保存手段
3004 サーバ DB
3005 サービスサーバ
40 セキュアデバイス
4001 累積演算部
4002 署名部
4003 累積ハッシュ記憶手段
4004 検証部
4005 サーバ DB
4006 サービスサーバ
4007 実行環境提供部
4008 実行環境記憶手段
発明を実施するための最良の形態
[0048] 以下本発明の実施の形態について、図面を参照しながら説明する。
[0049] (第 1の実施形態)
本発明の第 1の実施形態では、耐タンパな記憶領域と処理装置を実装するセキュ ァモジュールを搭載した情報処理端末であり、起動時力 イベントログを蓄積し、累 積ハッシュを更新し、イベントログと、そのイベントログに対応する累積ハッシュに電子 署名を施したデータと、その電子署名を検証するための証明書とを連結したデータ( 以下では、この連結したデータを「署名付ログ」と呼ぶ)をサーバに送信し、検証して もらうことで、サービスを受ける情報処理端末について記載する。
[0050] 図 1は、本発明の第 1の実施形態における構成図である。図 1を用いて構成を述べ る。情報処理端末 10は、エントリをどのサーバに対して公開可能かを判定する公開 有無判定部 1001と、公開しな 、サーバ向けにエントリに隠蔽処理を施すログ隠蔽部 1002と、隠蔽しないエントリと隠蔽したエントリの両方を受けとり公開有無判定部 100 1の判定結果に従って複数の累積ハッシュの更新を指示するログ複数測定部 1003 と、通知サーバに応じたログを構成するログ構成部 1004と、署名付ログをサーバに 通知し検証を要求する検証要求部 1005と、ポリシーデータを記憶するポリシー記憶 手段 1006と、エントリを記憶するログ記憶手段 1007と、エントリにエントリ IDを付与 する ID付与部 1008と、どのような隠蔽をしたかの隠蔽情報を記憶する隠蔽情報記 憶手段 1009と、入力されたエントリ IDに対応するエントリの開示の可否を判定する口 グ開示判定部 1010と、サーバからサービスを受けるサービスクライアント 1011と、を 備えている。
[0051] セキュアモジュール 20は、ハッシュと累積ハッシュ番号を受けとり対応する累積ハツ シュを更新する累積演算部 2001と、累積ハッシュによる電子署名を演算する署名部 2002と、累積ハッシュを記憶する累積ハッシュ記憶手段 2003と、を備えている。セ キュアモジュール 20は望ましくは、耐タンパ性を備えて!/、る。
[0052] サーバ 30は、署名付ログを検証する検証部 3001と、隠蔽情報を受けとつてエントリ の隠蔽を解除するログ開示部 3002と、ログを保存するログ保存手段 3003と、ログを 検証するためのデータが記録されたサーバ DB3004と、サービスを提供するサービ スサーバ 3005と、を備えている。
[0053] 情報処理端末 10は、例えばパソコンや携帯電話であり、公開有無判定部 1001、口 グ隠蔽部 1002、ログ複数測定部 1003、ログ構成部 1004、検証要求部 1005、 ID 付与部 1008、ログ開示判定部 1010、サービスクライアント 1011は、情報処理端末 1 0が備える CPUによって実行されるソフトウェアとして実現される。また、ポリシー記憶 手段 1006、ログ記憶手段 1007、隠蔽情報記憶手段 1009は、 HDDや半導体メモリ などの記憶装置によって構成される。 [0054] セキュアモジュール 20は、例えば TPMのような耐タンパ性を持ったチップであり、 搭載された処理装置により累積演算部 2001、署名部 2002が実現され、搭載された 記憶装置により累積ハッシュ記憶手段 2003が実現される。
[0055] サーバ 30は、例えば高性能なパソコンであり、検証部 3001、ログ開示部 3002、サ 一ビスサーバ 3005などは備えられた CPUによって実行されるソフトウェアとして実現 される。また、ログ保存手段 3003、サーバ DB3004は、 HDDや半導体メモリなどの 記憶装置によって構成される。
[0056] 次に図 5を用いて、イベント発生時にハッシュを累積する測定の動作について述べ る。情報処理端末 10で発生したイベント情報のエントリは ID付与部 1008に渡される 。 ID付与部 1008はエントリにそのエントリを一意に特定可能なエントリ IDを付与する (ID付与 ステップ S 101)。
[0057] 公開有無判定部 1001は、エントリをどのサーバに対して公開可能かをポリシー記 憶手段 1006に記憶されているポリシーデータを用いて判定する(公開有無判定 ス テツプ S102)。なお、この場合、そのエントリのソフトウェアの提供者、または、情報処 理端末 10を含む情報システムのシステム管理者、または、情報処理端末 10の利用 者は、そのポリシーデータを誰に公開可能にするかを設定することができる。
[0058] ログ隠蔽部 1002は、エントリをログ記憶手段 1007に記憶して、さらに、公開しない サーバ向けにエントリに隠蔽処理を施す (ログ隠蔽 ステップ S103)。このとき、口グイ ンペイ部 1002は、どのような隠蔽をしたかを表す隠蔽情報を隠蔽情報記憶手段 100 9に記憶する。
[0059] 隠蔽処理は、例えば、ランダムに生成した鍵で暗号ィ匕を施すことであり、その場合 は、その暗号鍵をエントリ IDと対応づけて隠蔽情報として記憶する。あるいは、マスタ 一キーと呼ばれる機器固有の暗号鍵を秘匿しておき、エントリ IDをこのマスターキー で暗号ィ匕したデータから隠蔽に用いる鍵を生成してもよい。また、他の隠蔽処理とし ては、完全に削除してしまってもよいし、一部の情報だけを残すようにしてもよい。そ の場合、事後に開示を可能にする場合は、エントリそのものを隠蔽情報として記憶す る。
[0060] ログ複数測定部 1003は、隠蔽しないエントリと隠蔽したエントリの両方を受けとり公 開有無判定部 1001の判定結果に従って複数の累積ハッシュの更新をセキュアモジ ユール 20に対して指示する(ログ複数測定 ステップ S104)。より具体的には各サー バに対応した累積ハッシュに、必要に応じて隠蔽処理の施されたエントリのハッシュ の累積処理を、セキュアモジュール 20に累積ハッシュ番号とハッシュを渡して指示す る。
[0061] セキュアモジュール 20の累積演算部 2001は、ハッシュと累積ハッシュ番号を受け とり、対応する累積ハッシュを更新する。累積ハッシュは累積ハッシュ記憶手段 2003 に記憶される(累積演算処理 ステップ S 105)。
[0062] 次に図 6 (a) (b)を用いて、サービスクライアントがサービスサーバに対して状態を通 知する動作について述べる。この動作により、サービスクライアントは、サービスサー ノからサービスを受けるために、現在の情報処理端末の状態が、望ましい状態にあ ることを、サービスサーバが確認できるよう通知する。まず、サービスクライアント 1011 は、検証要求部 1005に検証を要求する (検証要求 ステップ S 111)。
[0063] 検証要求部 1005は、ログ構成部 1004に署名付ログを要求する(署名付ログ要求 ステップ S112)。ログ構成部 1004は、ログ記憶手段 1007から対応するエントリを 取りだし、必要に応じて隠蔽処理を施して、通知サーバに応じたログを構成し、通知 サーバに応じた累積ハッシュ番号を指定して署名部 2002に署名を要求する(署名 要求 ステップ S 113)。
[0064] 署名部 2002は、指定された累積ハッシュ番号の累積ハッシュに対する電子署名を 演算する(署名処理 ステップ S 114)。この電子署名の演算は、典型的には累積ノヽ ッシュをセキュアモジュール 20の署名鍵により処理する演算であり、 RSA等のよく知 られた手法で演算する。同じデータ列に対するハッシュは同じ値になり、アルゴリズム によっては電子署名の結果も同じものになるため、サーノから受け取った乱数を使う 、エントリにタイムスタンプを含むなどして、再送攻撃に対する対策を施すことが望ま しい。
[0065] この電子署名は、再構成されたログに対応する累積ハッシュに対する電子署名で あり、署名部 2002から電子署名を受信した検証要求部 1005は署名付ログを生成し 、この署名付ログが検証部 3001に送られる(署名付ログ送信 ステップ S115)。 [0066] 検証部 3001は、署名付ログを受信し、まず、証明書を検証し、さらに証明書に含ま れる公開鍵を用いて累積ハッシュに施された署名の検証により累積ハッシュが改ざ んされていないことを確認し、受信したエントリのログから累積ハッシュを計算し、受信 した累積ハッシュと照合することで、受信した累積ハッシュとエントリのログに不整合が 無いことを検証する。
さらに、サーバ DB3004からログを検証するためのデータを取りだして、ログを検証 する(ログ検証 ステップ S116)。また、検証部 3001は受信した署名付ログをログ保 存手段 3003に保存する。
[0067] サービスサーノ 3005は、サービスクライアント 1011の動作状態が問題ないことの 確認を受け、サービスを提供する(サービス提供 ステップ S117)。望ましくは、この 一連の通知'検証の通信の中でサービスクライアント 1011とサービスサーバ 3005と の間でセッション鍵を共有し、サービス提供時の通信に用いる。
[0068] 次に図 7および図 6 (c)を用いて、情報処理端末 10がサーバ 30に通知した時には 隠蔽したエントリを開示する動作について述べる。
[0069] 情報処理端末 10のログ開示判定部 1010は、エントリ IDにより指定されたエントリの 開示の可否を判定し (ログ開示判定 ステップ S121)、開示可能と判定された際に、 隠蔽情報記憶手段 1009からそのエントリの隠蔽情報を取りだし、開示先に送信する (隠蔽情報送信 ステップ S122)。
[0070] ログの開示要求者は、例えば、動作の不具合を発見した利用者、または、不正の疑 いを持ったサーバ管理者であり、開示を要求するエントリをエントリ IDで指定する。開 示の判定は、ログ開示判定部 1010が一定のルール (例えば、認証済みの利用者、 または、認証済みのサーノからの要求に対してのみ開示するなど)に従って自動的 に行う。開示される情報にはプライバシー情報が含まれる場合があるので、利用者か ら入力される指示をログ開示判定部 1010が行う開示判定の要素に含めるようにして も良い。この場合、利用者は、エントリの内容と開示の必要性力 判断し、情報処理 端末に指示を入力する。また、エントリの開示の要求では、エントリ IDではなく隠蔽し たエントリをログ開示判定部 1010に入力してもよい。また、エントリの開示先に対して 、隠蔽情報ではなく隠蔽を解除したエントリを送信するようにしてもよい。 [0071] サーバ 30のログ開示部 3002は、隠蔽情報を受けとつてログ保存手段 3003から隠 蔽されたエントリを取りだし、エントリの隠蔽を解除する(隠蔽解除 ステップ S123)。
[0072] 次に図 8を用いてデータの具体例について説明する。図 8(a)は、エントリのデータの 具体例である。一行目は、エントリ IDである。二行目は、イベントが発生した時刻を表 わすタイムスタンプである。三行目はイベントのタイプを表わしており、ここでは、コン ポーネントがロードされたことを示している。ロード以外には例えばアンロードがタイプ としてありうる。四行目は、関与したコンポーネントを特定できる名前である。五行目は 、コンポーネントのハッシュである。六行目は、バージョンを表わしている。イベントの タイプによっては、不要な行もある。
[0073] 図 8(c)は、ポリシーのデータの具体例である。一行目は、サービスの名称である。二 行目は、サービス力も提供されたコンポーネント名の一覧である。三行目は、サービ スを提供するサーバの名称である。この他に、通知を許可するサーバ(あるいはサー ビス)の名称を含められてもよ 、。
[0074] これから具体例について説明するが、まず概要を述べる。情報処理端末では、電 源が入ると BIOS、 Loader, Kernelの順に実行され、そのイベントが測定される。そ の後、 Kernelの機能により、測定やアプリケーションの実行がなされる。
[0075] 発生したイベントはどのサービスに属するもの力判別され、さらにどのサーバに通知 して良いかが判断され、測定される。このとき通知してもよいサーバに対応する累積 ハッシュに対しては平文のままのエントリが累積され、通知してはいけないサーバに 対応する累積ハッシュに対しては一部が暗号ィ匕されたエントリが累積される。
[0076] アプリケーションがサーバに接続する時など必要な時に、そのサーバに対して通知 すべきログがエントリから構成され、対応する累積ハッシュに署名がつけられサーバ に送信される。サーバは、受け取ったログが改ざんされていないか検証し、改ざんが されていないことを確認すると、ログを検証する。ログの内容から、必要な正規のコン ポーネントが起動して 、ることを確認し、サービスを提供する。
[0077] サービス提供開始後、他のサービスのコンポーネントが存在することで不具合が発 生し、当該コンポーネントのエントリの中身をサーバの管理者に確認してもらうために 開示する。 [0078] 次に図 9を用いて第 1の実施形態の具体例について説明する。この具体例におい て、システムについてのログはサーバによって変えることなく常に全て送信されるため 、効率上、別に測定する。そのため、システム測定部を新たに設けたが、この構成は 必須ではない。
[0079] まず、コンポーネントが実行されるとイベントが発生し、エントリが生成される。このェ ントリには前述のタイムスタンプ、タイプ、名前、ノ、ッシュ、バージョンが記載される。こ の例では、 BIOS, Loader, Kernel, App A、 App B、 App Cの順で実行される o BIOSゝ Loader, Kernel, App A、 App B、 App Cは、それぞれ、複数のコンポ 一ネントを含んでいても良ぐその場合にも個々のコンポーネントの実行に対してェン トリが生成される。 App Aは、サービス Aのクライアントソフトウェアである。同様に Ap p B、 App Cはそれぞれサービス B、サービス Cのクライアントソフトウェアである。こ の後の説明は、厳密には kernelより後の測定について当てはまる力 BIOS, Loade r、 Kernelにつ!/、ても同様の処理が行われたものとする。
[0080] ID付与部 1008は、生成されたエントリに順に数字を割りあてていく。この数字は、 1 力も始まり、単調に増加する。この値は電源を切ってもリセットされず保持される。
[0081] 公開有無判定部 1001は、エントリ IDの割り当てられたエントリを受けとり、ポリシー 記憶手段 1006に記憶されているポリシーを利用して、エントリをどのサーバに対して 通知してよいか判定する。コンポーネントの属するサービスとそのサービスに対応す るサーバを特定し、そのサーバへは通知可能と判定する。
[0082] その他、関連するサーバへの通知を認めてもょ 、。その場合はポリシーにその旨記 載される。この例では、 BIOS, Loader, Kernelがシステムのエントリ、 App Aがサ ーバ Aへ通知可能、 App Bがサーバ Bに通知可能、 App Cはサーバ Aとサーバ B に通知可能と判定されて ヽる。
[0083] 図 8(a)に例示したエントリと図 8(c)に例示したポリシー Aおよび (d)に例示したポリシ 一 Bを用いて具体的に説明する。
[0084] 公開有無判定部 1001は、エントリ力も名前 drm— b. dllを得て、ポリシーの Servic eFiles欄にその名前が含まれているか探していく。ポリシー A (図 8(c))の中には、含 まれていないが、ポリシー B (図 8(d))の中には含まれているので、 App Bに対応する エントリであることがわかる。そのポリシー Bの Server欄の内容が通知可能なサーバ 名であり、この f列では、 drm. example, orgである。こっして、 drm. example. org ( これがサーバ Bであるとする)に通知可能、他には通知不可と判定される。
[0085] 望ましくはデータベースを用いるなど名前力もサービスを高速に探すために、名前 力もサービスを索けるよう効率的なデータの保持の仕方をする。
[0086] ログ隠蔽部 1002は、システムに属するエントリの場合はシステム測定部 1014にそ のままエントリを渡す。それ以外の場合は、エントリに隠蔽処理を施し、ログ複数測定 部 1003にもとのエントリと隠蔽したエントリを渡す。なお、図中、エントリにかかってい る斜線は隠蔽処理が施されて ヽることを図示して 、る。
[0087] 隠蔽処理の例を説明する。エントリ IDとタイムスタンプは隠蔽せずに残すものとする 。まず、隠蔽する部分の平文のハッシュを計算し、三行目に挿入する。次に、エントリ I Dをマスターキーで暗号ィ匕したデータから暗号ィ匕に使う鍵を生成する。最後に、ェン トリの四行目以降を暗号ィ匕することで隠蔽処理とする。図 8(b)に隠蔽したエントリの例 を示した。この方法では、隠蔽情報として特に何も保存しなくてよい。一行目をサー ノから受けとることで復号するための鍵を生成できるからである。この暗号ィ匕に使う鍵 をランダムに生成する場合はエントリ IDと鍵を対応づけて記憶しておく。
[0088] ログ記憶手段 1007には、もとのエントリと通知可能なサーバ一覧を記憶させる。隠 蔽処理を施したエントリも記憶させておくと通知時の処理が高速になる力 余分に記 憶させることになるため、ログ記憶手段 1007の容量に応じて使いわける。
[0089] システム測定部 1014は、エントリのハッシュを計算し、システムに対応した累積ハツ シュ番号とともに累積演算部 2001に送信する。累積演算部 2001は、システムに対 応した累積ハッシュである累積ハッシュ Sに累積する。
[0090] ログ複数測定部 1003は、もとのエントリと隠蔽されたエントリを受けとり、全サーバに 対して、各サーバ向けに処理されたエントリのハッシュを各サーバに対応した累積ノヽ ッシュ番号とともに累積演算部 2001に送信する。累積ハッシュ番号は、初めてェント リを累積するときにまだ使用されていない累積ハッシュの番号が割り当てられ、後の 使用のためにサーバに対応付けて記憶される。
[0091] 累積演算部 2001は、サーバ Aに対するエントリのハッシュは累積ハッシュ Aに、サ ーバ Bに対するエントリのハッシュは累積ハッシュ Bにと、各サーバに対応する累積ノヽ ッシュに累積する。図 9に示した具体例の場合、累積ハッシュ Aには、 App Aに関連 するエントリはエントリのハッシュがそのまま累積され、 App Bに関連するエントリは 隠蔽されたエントリのハッシュが累積される。逆に、累積ハッシュ Bには、 App Aに関 連するエントリは隠蔽されたエントリのノ、ッシュが累積され、 App Bに関連するェント リはエントリのハッシュがそのまま累積される。
[0092] 累積の際には、まだ起動されていないアプリケーションに対応するサービスのサー バに対する累積ハッシュついても累積することになる。多くのサービスは、自身のサ ーバにしか通知を許可しな 、ことが想定される。起動されて!、な 、アプリケーションに 対応するサービスのサーバに対する累積ハッシュに対しては、他のサービスのェント リが累積されていくため、多くの場合、隠蔽されたエントリが累積される。この場合、ま だ起動されていない複数のアプリケーションに対応するサービスのサーバに対するそ れぞれの累積ハッシュの値は等しくなる。この性質を用いて、累積ハッシュの値が等 しい間は一つの累積ハッシュとして累積しておき、累積ハッシュの値が異なる場合に は累積ハッシュをコピーしてそれ以降は個別に累積していくと、累積に必要な演算量 を減らすことができる。
[0093] 以上が累積の流れである。続いて通知について説明する。サービスを受けるサービ スクライアントが、通知のためにログ構成部に通知サーバ名を渡して、署名されたログ を要求する。
[0094] ログ構成部 1004は、ログ記憶手段 1007から、エントリを取りだし連結してログを構 成する。この際、通知サーバ名が通知可能なサーバ一覧に含まれている場合はその まま、含まれていない場合は隠蔽処理が施されたエントリを連結する。累積時に隠蔽 処理を施したものを記憶してあればそれを用いる。さら〖こ、システムのログに対応する 累積ハッシュとサービスに対応する累積ハッシュへの署名を署名部 2002に要求する
[0095] 署名部 2002は、指定された累積ハッシュに署名を施す。ログ構成部 1004は、この ログと署名とを検証要求部 1005に返し、検証要求部 1005はさらに証明書を連結し て署名付ログを生成し、サーバに通知する。例えば、サーバ A301は、累積ハッシュ Sと累積ハッシュ Aにそれぞれ署名が施されたデータと、 App Bのエントリが隠蔽さ れたログと、証明書とから構成される署名付ログ Aを受け取り、サーバ B302は累積ハ ッシュ Sと累積ハッシュ Bにそれぞれ署名が施されたデータと、 App Aのエントリが隠 蔽されたログと、証明書とから構成される署名付ログ Bを受けとる。
[0096] 各サーバともログ保存手段 3003にログを記憶する。各サーバは、まず、証明書を 検証し、さらに証明書に含まれる公開鍵を用いて累積ハッシュに施された署名を検 証することにより、ログが改ざんされていないことを確認し、受信したエントリのログから 累積ハッシュを計算し、受信した累積ハッシュと照合することで、受信した累積ハツシ ュとエントリのログに不整合が無いことを検証する。この時、隠蔽されたエントリについ ても、隠蔽されていないエントリの場合と同様にハッシュを計算して累積ハッシュを計 算する。各サーバは、サービスを提供するために必要十分なエントリを知ることができ 、さらに、サーバ DBの情報を用いて情報処理端末の状態がサービスを提供して問 題な 、状態にあるか確認できる。
[0097] 例えば、 App Aのコンポーネントに不正な改ざんがなされていないことや、不正な コンポーネントが動作していないこと、あるいや逆に必要な別のコンポーネント(例え ば、 drm— b. dllなど)が動作していることを確認できる。一方、端末の利用者は、さし あたり不要なエントリを開示しなくてすみ、プライバシーが保護される。
[0098] 以上が通知の流れである。続、て開示にっ 、て説明する。サーバ Aの利用者がサ 一ビスのサービスクライアントが正常に動作せず、サービスを受けられないことに気づ き、サーバ Aにその旨通知したとする。サーバ Aの管理者は、その通知を受け、不具 合の検証のために、隠蔽されたエントリ(App Bについてのエントリ)の内容を知る必 要があると考えた場合に、ログ開示判定部 1010に、隠蔽されたエントリのエントリ ID を送信して、そのエントリの開示を要求する。
[0099] ログ開示判定部 1010は、エントリ IDに対応するエントリを開示してよいか判定する 。この例では、隠蔽されたエントリ力 エントリ IDを取りだし、それらをマスターキーで 暗号ィ匕したデータ力 暗号鍵を生成して、隠蔽を解除し、利用者にエントリの内容を 提示し、利用者が開示の可否を判定する。
[0100] 利用者が、 App Bに関するエントリ内容を確認し、開示が可能と判定してその旨の 指示を入力すると、情報処理端末 10は隠蔽を解除したエントリをサーバ Aに送信す る。サーバ Aは隠蔽されていた部分の平文のハッシュを計算し、隠蔽されたエントリの 中に含まれる対応するノ、ッシュ値(図 8 (b)に示した例における三行目のノ、ッシュ値 に相当)と比較することで、正しい内容であることを確認する。
[0101] 以上が開示の流れである。このように、通知時は隠蔽したエントリの内容を、後日開 示する必要があった場合に、開示することが可能である。
[0102] 以上説明したように、本実施の形態では、各サーバごとにエントリの累積ハッシュが 保持され、サーバへは、電子署名が施された累積ハッシュと、再構成されたエントリの ログが送られる。サーバでは、電子署名の検証処理と、累積ハッシュとエントリのログ との整合性を検証する。サーバは、まず、累積ハッシュに施された電子署名を検証す ることで、情報処理端末に保存されていた累積ハッシュであることを検証し、次に、受 信したエントリのログ力も累積ハッシュを計算し、受信した累積ハッシュと照合すること で、受信した累積ハッシュとエントリのログに不整合が無いことを検証する。これにより 、セキュリティとプライバシー情報の保護を両立することが可能である。
[0103] なお、本実施の形態では、説明を簡単にするために、各サーバは、 App Aや App Bといったアプリケーション ·レイヤーでのサービスを提供するサーバとして説明したが 、それぞれが BIOSや Kernel、アプリケーションといった異なるレイヤーのソフトウェア に対するサービスを提供するサーバであってもよい。また、各サーバは、情報処理端 末が携帯電話の場合には、デバイスとしての携帯電話を提供する製造者のサーバや ネットワークサービスを提供するオペレータのサーバであってもよい。その場合にも、 各サーバごとにエントリの累積ハッシュが保持される。
[0104] なお、本実施の形態において、 ID付与部 1008はエントリにそのエントリを一意に特 定可能なエントリ IDを付与した力 同一内容のエントリには同一 IDを付与してもよい。
[0105] なお、本実施の形態において、公開有無判定部 1001は公開可能なサーバだけを 判定し、サーバごとに隠蔽の有無だけを判定したが、サーバごとに異なる隠蔽処理を 行うよう判定してもよい。なお、本実施の形態において、各コンポーネントの確認はサ ーバが行っているが、情報処理端末 10上で、例えば証明書による検証を行い、その 結果をエントリに含めてもょ 、。 [0106] なお、本実施の形態において、システムに属するエントリは全て公開している力 こ れらについても、サーバ毎に通知する内容を変えるようにしてもよい。例えば、利用者 がポリシーを提供してもよぐシステムのエントリについて制限してもよい。例えば、通 知する必要のないデバイスドライバに関するエントリを通知しないことで使用している デバイスを知られずにすむと ヽつた具合である。
[0107] (第 2の実施形態)
本発明の第 2の実施形態では、サービスクライアントが仮想実行環境上で実行され ている場合について記載する。仮想実行環境は仮想化ソフトウェアにより Kernelによ る実行環境と分離されるため、相互に影響を与えることがなぐ異なる実行環境上で 動作するコンポーネントを通知する必要がなくなる。ただし、そのためには仮想化ソフ トウエアと仮想化ソフトウェアが実行されるまでのコンポーネントについては検証可能 でなければならない。
[0108] 図 2は、本発明の第 2の実施形態における構成図である。図 2を用いて構成を述べ る。情報処理端末 10は、第 1の実施形態の情報処理端末に加え、起動した Kernelと は別の Kernelにより実現される仮想実行環境 1012と、仮想実行環境 1012の実行 を可能にする仮想化ソフトウェア 1013と、をさらに備えている。
[0109] 次に動作につ!ヽて述べる。情報処理端末 10の電源が入れられ、 Kernelが起動し た後、仮想化ソフトウェア 1013が測定され起動される。仮想化ソフトウェア 1013によ り、仮想実行環境 1012が用意され実行される。仮想実行環境 1012と、もとの実行環 境とは仮想化ソフトウェア 1013により分離され、仮想実行環境およびその上で動作 するアプリケーションはもとの実行環境に直接影響を与えられない。
[0110] サービスクライアント 1011は仮想実行環境 1012上で実行される。この際、サービ スクライアント 1011につ 、ても測定される力 もとの実行環境が測定に使って 、る累 積ハッシュとは異なるノ、ッシュに累積する。サービスクライアント 1011が複数実行さ れる際には第 1の実施形態と同様に複数累積をするが、これらももとの実行環境が使 つている累積ハッシュとは異なるハッシュに累積する。
[0111] もとの実行環境上で動くサービスクライアントは、もとの実行環境の累積ハッシュを、 仮想実行環境上で動くサービスクライアントは、仮想実行環境の累積ハッシュを用い てサービスサーバに通知することにより、よりプライバシーを向上させることができる。
[0112] リソースを多く使うが、実行環境を複数用意し、一つの実行環境に割りあてるサービ スクライアントの数を減らすことで、さらにプライバシーを向上させることができる。これ を押しすすめると、一つのサービスクライアントに一つの実行環境を割りあてることも できる。この場合、不具合が発生した場合、サービスクライアント自身か、その実行環 境、仮想化ソフトウェア、あるいはさらに下のコンポーネントのいずれかが原因と特定 できる。
[0113] 図 12を用いて、具体例で説明する。情報処理端末が起動後、 BIOS, Loader, Ke rnel、 VL (Virtualization Layerの略で、仮想化ソフトウェアのことである)、 Kernel' ( 仮想実行環境のことである)、もとの実行環境で、 App A、 App B、仮想実行環境 で App C、App Dの順で各ソフトウェアが起動される。図 13(a)にこの状態のソフト ウェアスタックの図を示した。
[0114] 各サービスは、いずれも自分のサーバにのみ自分のエントリの通知を許可している ものとする。 BIOS、 Loader, Kernel, VL、 Kernel'はシステムのエントリであり公開 するものとする。
[0115] 仮想実行環境の状態の正しさを保証するためには、もとの実行環境の正しさも保証 される必要があるため、もとの実行環境についてのエントリを仮想実行環境に引き継 ぐ。これは仮想化ソフトウェアを経由して、仮想実行環境に引き継がれる。引き継がれ たエントリと仮想実行環境になる Kernel'のエントリとが累積されて仮想実行環境とし ての累積ハッシュ S 'が形成される。
[0116] BIOS, Loader, Kernel, VL, App A, App Bは第一の実施形態と同様に累積 される。 VL起動後に、 Kernel'が起動され、その上で、 App C、 App Dが起動され る。 Kernel'より後の仮想実行環境上のエントリは、もとの実行環境とは独立した累積 ノ、ッシュに累積される。
[0117] 図 12の矢印は、どのエントリがどの累積ハッシュに累積されるかを表している。例え ば、累積ハッシュ Aには、 App Aのエントリをそのまま、 App Bのエントリを隠蔽して 累積する。 App C、App Dのエントリは累積されない。同様に、累積ハッシュ Cにも , App Cをそのまま、 App Dを隠蔽して累積する。 App A, App Bのエントリは累 積されない。
[0118] 各サーバには、サービスクライアントが動作している実行環境自身とその実行環境 上で動作して!/、るアプリケーションにつ!/、てのエントリから生成されたログが通知され る。例えば、サーバ Aには、それぞれ署名が施された累積ハッシュ Sと累積ハッシュ A とを含む署名付ログ Aが通知され、サーバ Cには、それぞれ署名が施された累積ハツ シュ S 'と累積ハッシュ Cとを含む署名付ログ Cが通知される。
[0119] このように、 VLにより互いの実行環境が影響を与えないことが保証され、不具合や 不正の原因にはならな 、ため、異なる実行環境で動 ヽて 、るコンポーネントにつ 、て のエントリは通知しなくて済む。
[0120] なお、本実施の形態において、仮想化ソフトウェア 1013は、 Kernelの起動した後 に動作した力 図 13(b)のように、最初に起動されるプログラムが仮想化ソフトウェア 1 013であり、その上で、 Kernelとまた別の Kernel,が起動する形でもよい。
[0121] (第 3の実施形態)
本発明の第 3の実施形態では、耐タンパな記憶領域と処理装置を実装する着脱可 能なセキュアデバイスを装着した情報処理端末について記載する。図 3は、本発明 の第 3の実施形態における構成図である。
[0122] 図 3を用いて構成を述べる。各構成ブロックの処理内容は第 1の実施形態と同様で ある。情報処理端末 10は、公開有無判定部 1001と、ログ隠蔽部 1002と、ログ複数 測定部 1003と、ログ構成部 1004と、検証要求部 1005と、ポリシー記憶手段 1006と 、ログ記憶手段 1007と、サービスクライアント 1011と、を備えている。
[0123] セキュアデバイス 40は、累積演算部 4001と、署名部 4002と、累積ハッシュ記憶手 段 4003と、検証咅4004と、サーノ DB4005と、サービスサーノ 4006と、を備えて いる。
[0124] 次に図 10を用いて、イベント発生時にハッシュを累積し測定する動作について述 ベる。情報処理端末 10で発生したイベント情報のエントリは公開有無判定部 1001に 渡される。公開有無判定部 1001は、エントリをどのサーバに対して公開可能かをポリ シー記憶手段に記憶されて 、るポリシーデータを用いて判定する (公開有無判定 ス テツプ S201)。この時、公開有無判定部 1001は、セキュアデバイス 40上のサービス サーノ 4006に対しても判定する。
[0125] ログ隠蔽部 1002は、エントリを公開しないサーバ向けにエントリに隠蔽処理を施す
(ログ隠蔽 ステップ S 202)。このとき、隠蔽処理を施したエントリをログ記憶手段 100 7に記憶する。
[0126] ログ複数測定部 1003は、隠蔽しないエントリと隠蔽したエントリの両方を受けとり公 開有無判定部 1001の判定結果に従って複数の累積ハッシュの更新を指示するコマ ンドをセキュアデバイス 40に送信する(ログ複数測定 ステップ S203)。より具体的に は、セキュアデバイス 40に送信するコマンドの中に、累積ハッシュ番号とハッシュを含 めて各サーバ(セキュアデバイス 40上のサービスサーバ 4006を含む)に対応した累 積ハッシュに、必要に応じて隠蔽処理の施されたエントリのハッシュの累積処理を指 示する。
[0127] セキュアデバイス 40の累積演算部 4001は、ノ、ッシュと累積ハッシュ番号を含んだ コマンドを受けとり、対応する累積ハッシュを更新する。累積ハッシュは累積ハッシュ 記憶手段 4003に記憶される(累積演算処理 ステップ S204)。
[0128] 次に図 11を用いて、サービスクライアントがサービスサーバに対して状態を通知す る動作について述べる。サービスクライアント 1011は、検証要求部 1005に検証を要 求する(検証要求 ステップ S211)。
[0129] 検証要求部 1005は、ログ構成部 1004に署名付ログを要求する(署名付ログ要求 ステップ S212)。ログ構成部 1004は、ログ記憶手段 1007から対応するエントリを 取りだし、必要に応じて隠蔽処理を施して、通知サーバに応じたログを構成し、署名 部 4002に署名を要求する(署名要求 ステップ S 213)。
[0130] 署名部 4002は、指定された累積ハッシュ番号の累積ハッシュによる電子署名を演 算する(署名処理 ステップ S214)。この電子署名の演算は、典型的には累積ハツシ ュをセキュアデバイス 40の署名鍵により処理する演算であり、 RSA等のよく知られた 手法で演算する。
[0131] この電子署名は、再構成されたログに対応する累積ハッシュに対する電子署名で あり、署名部 2002から電子署名を受信した検証要求部 1005は署名付ログを生成し 、この署名付ログが検証部 4004に送られる(署名付ログ送信 ステップ S215)。 [0132] 検証部 4004は、署名付ログを受信し、まず、証明書を検証し、さらに証明書に含ま れる公開鍵を用いて累積ハッシュに施された署名の検証により累積ハッシュが改ざ んされていないことを確認し、受信したエントリのログから累積ハッシュを計算し、受信 した累積ハッシュと照合することで、受信した累積ハッシュとエントリのログに不整合が 無いことを検証する。さらにサーバ DB4005からログを検証するためのデータを取り だして、ログを検証する(ログ検証 ステップ S216)。
[0133] サービスサーノ 006は、サービスクライアント 1011の動作状態が問題ないことの 確認を受け、サービスを提供する(サービス提供 ステップ S217)。望ましくは、この 一連の通知'検証の通信の中でサービスクライアント 1011とサービスサーバ 4006と の間でセッション鍵を共有し、サービス提供時の通信に用いる。
[0134] このように、例えば、重要な個人情報をセキュアデバイスに格納しておき、検証に成 功したサービスクライアントにだけ個人情報の取得や操作を許可することで、安全に 個人情報を利用することが可能になる。なお、本実施の形態において、セキュアデバ イス上にサーバ機能を実装した力 もちろん通常のネットワーク上のサーバであって もよい。また、以上では、検証部 4004は、署名が施された累積ハッシュを情報処理 端末 10の検証要求部 1005から受信するとした力 セキュアデバイスの内部のインタ 一フェイスを介して累積ハッシュ記憶手段 4004に格納されている累積ハッシュを受 信し、検証要求部 1005からは、再構成されたログだけを受信するようにしても良い。
[0135] (第 4の実施形態)
本発明の第 4の実施形態では、第 3の実施形態において、サービスクライアントが 仮想実行環境上で実行されている場合について記載する。図 4は、本発明の第 4の 実施形態における構成図である。
[0136] 情報処理端末 10は、第 3の実施形態の情報処理端末に加え、起動した Kernelと は別の Kernelにより実現される仮想実行環境 1012と、仮想実行環境 1012の実行 を可能にする仮想化ソフトウェア 1013と、をさらに備えている。
[0137] セキュアデバイス 40は、第 3の実施形態のセキュアデバイスにカ卩え、仮想実行環境 を提供する実行環境提供部 4007と、仮想実行環境を記憶する実行環境記憶手段 4 008と、をさらに備えている。 [0138] 次に動作につ!ヽて述べる。情報処理端末 10の電源が入れられ、 Kernelが起動し た後、仮想化ソフトウェア 1013が測定され起動される。
[0139] 仮想化ソフトウェア 1013は、セキュアデバイス 40の実行環境提供部 4007に実行 環境を要求する。実行環境提供部 4007は、実行環境記憶手段 4008から仮想実行 環境のイメージを取り出し、仮想化ソフトウェア 1013に送信する。仮想化ソフトウェア 1013は、仮想実行環境 1012を実行する。仮想実行環境 1012と、もとの実行環境と は仮想化ソフトウェア 1013により分離され、仮想実行環境およびその上で動作する アプリケーションはもとの実行環境に直接影響を与えられない。
[0140] サービスクライアント 1011が仮想実行環境 1012上で実行される。この際、サービス クライアント 1011につ 、ても測定されるが、もとの実行環境が測定に使って 、る累積 ノ、ッシュとは異なるノ、ッシュに累積する。サービスクライアント 1011が複数実行される 際には第 3の実施形態と同様に複数累積をするが、これらももとの実行環境が使って いる累積ハッシュとは異なるハッシュに累積する。
[0141] もとの実行環境上で動くサービスクライアントは、もとの実行環境の累積ハッシュを、 仮想実行環境上で動くサービスクライアントは、仮想実行環境の累積ハッシュを用い てサービスサーバに通知することにより、よりプライバシーを向上させることができる。
[0142] 検証部 4004が通知されたログを検証し、サーバ DB4005のデータを用いて内容を 確認する。サービスサーノ 006は、その結果を受け、サービスを提供するかどうか 判断する。例えば、実行環境提供部 4007が送信した仮想実行環境 1012の上で動 いているアプリケーションからの要求以外は答えないといった具合である。なお、本実 施の形態において、実行環境提供部 4007は、仮想実行環境 1012だけ提供したが 、さらにその上で動作するアプリケーションを提供してもよい。また、以上では、検証 部 4004は、署名が施された累積ハッシュを情報処理端末 10の検証要求部 1005か ら受信するとした力 セキュアデバイスの内部のインターフェイスを介して累積ハツシ ュ記憶手段 4004に格納されている累積ハッシュを受信し、検証要求部 1005からは 、再構成されたログだけを受信するようにしても良 ヽ。
[0143] なお、本実施の形態において、セキュアデバイス上にだけ、累積演算部と累積ハツ シュ記憶手段と署名部があつたが、第 1の実施形態のように情報処理端末にセキュア モジュールを備えさせ、システムにつ 、てなど一部の測定は情報処理端末の機能を 用いて実現してもよい。さらに、セキュアデバイスの装着時などにセキュアデバイスが 保持する累積ハッシュをリセットしてもよ 、。
[0144] 本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲 を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明ら かである。
本出願は、 2006年 6月 21日出願の日本特許出願 (特願 2006— 171727)に基づくも のであり、その内容はここに参照として取り込まれる。
産業上の利用可能性
[0145] 本発明の情報処理端末は、プライバシー情報を保護したまま、情報処理端末の状 態を通知可能であるため、セキュリティとプライバシーを両立することが可能であり、 例えば、携帯電話、携帯情報端末 (PDA)、パーソナルコンピュータ、音楽再生 (及 び録音)装置、カメラ、ビデオカメラ等、各種の情報処理端末に適用することができる

Claims

請求の範囲
[1] 状態の変化を示すデータであるエントリの累積を複数の通知相手に対して通知す る情報処理端末であって、
エントリのログの改ざん検知に用いるエントリの累積を前記複数の通知相手ごとに 保持する累積記憶手段と、
一つのエントリに基づき前記累積記憶手段が保持する複数の通知相手にそれぞれ 対応する複数のエントリの累積をそれぞれ更新するように指示するログ複数測定手 段と、
前記通知相手に対応する前記累積記憶手段が保持するエントリの累積に電子署 名を施したデータを含むデータを前記通知相手に送信する検証要求手段と、 を備えた情報処理端末。
[2] 状態の変化を示すデータであるエントリの累積を複数の通知相手に対して通知す る情報処理端末であって、
エントリが通知可能か否力を通知相手ごとに判定する公開有無判定手段と、 隠蔽処理を施したエントリを生成するログ隠蔽手段と、
エントリを記憶するログ記憶手段と、
ログの改ざん検知に用いるエントリの累積を通知相手ごとに保持する累積記憶手段 と、
前記公開有無判定手段の判定結果に基づき、
エントリの通知が不可の通知相手に対応する前記累積記憶手段が保持するェント リの累積は隠蔽処理を施したエントリに基づ 、て更新し、
エントリの通知が可能な通知相手に対応する前記累積記憶手段が保持するエントリ の累積は隠蔽処理を施して 、な 、エントリに基づ 、て更新するよう指示する、 ログ複数測定手段と、
前記公開有無判定手段の判定結果に基づき、
通知相手に対して通知が不可のエントリは隠蔽処理を施したエントリとなり、 通知相手に対して通知が可能なエントリは隠蔽処理を施していないエントリとなるよ うに前記ログ記憶手段が記憶して 、るエントリから通知相手に通知するログを生成す るログ構成手段と、
通知相手に対応する前記累積記憶手段が保持するエントリの累積に電子署名を施 したデータと前記ログ構成手段が生成したログとを含むデータを前記通知相手に送 信する検証要求手段と、
を備えた情報処理端末。
[3] 前記累積記憶手段が保持するエントリの累積がエントリの累積ハッシュであることを 特徴とする請求項 1に記載の情報処理端末。
[4] 請求項 1に記載の情報処理端末に装着されるセキュアデバイスであって、
情報処理端末の状態の変化を示すデータであるエントリの累積を保持する累積記 憶手段と、
前記累積記憶手段に保持されるエントリの累積の更新を行う累積演算手段と、 前記エントリの累積に電子署名を行う署名手段と、
前記情報処理端末から受信した前記データを検証する検証手段と、
前記検証手段による前記データの検証が成功した場合にサービスを提供するサー ビスサーバと、
を備えたセキュアデバイス。
[5] 前記累積記憶手段が保持するエントリの累積をセキュアデバイスの内部インターフ イスを介して前記検証手段が受信する
ことを特徴とする請求項 4記載のセキュアデバイス。
[6] 実行環境を提供する実行環境提供手段と、
実行環境を記憶する実行環境記憶手段と、
をさらに備えた請求項 4に記載のセキュアデバイス。
[7] 前記検証要求手段から受信した前記データを検証する検証手段と、
前記検証手段による前記データの検証が成功した場合にサービスを提供するサー ビスサーバと、
をさらに備えることを特徴とする請求項 1に記載の情報処理端末。
[8] 前記累積記憶手段が保持するエントリの累積を前記検証要求手段を介さずに内部 インターフェイスを介して前記検証手段が受信する ことを特徴とする請求項 7記載の情報処理端末。
[9] 通知相手が異なる場合であっても通知相手に対応するエントリの累積の値が等し い場合には、前記累積記憶手段は一つのエントリの累積を保持し、通知相手に対応 するエントリの累積の値が異なる場合には、前記一つのエントリの累積をコピーし個 別に更新し、前記累積記憶手段は前記個別に更新した複数のエントリの累積を保持 する
ことを特徴とする請求項 1に記載の情報処理端末。
[10] 前記ログ隠蔽手段は、マスターキーを保持し、エントリ IDを前記マスターキーにより 暗号ィ匕したものから暗号鍵を生成し、エントリを前記暗号鍵で暗号ィ匕することを特徴 とする請求項 2に記載の情報処理端末。
[11] 前記ログ隠蔽手段は、暗号鍵をランダムに生成し、エントリを前記暗号鍵で暗号ィ匕 し、
前記暗号鍵を隠蔽情報として記憶する隠蔽情報記憶手段を備えることを特徴とす る請求項 2に記載の情報処理端末。
[12] 前記ログ隠蔽手段が、エントリの内容の一部または全部を削除することを特徴とす る請求項 2に記載の情報処理端末。
[13] エントリごとに異なるエントリ IDを付与する ID付与手段と、
エントリごとの隠蔽に関する隠蔽情報をエントリ IDと対応づけて記憶する隠蔽情報 記憶手段と、
隠蔽されたエントリの開示を要求された際に、エントリ IDに対して隠蔽を解除する情 報を取得ないしは生成し、要求してきた相手に開示してよいか判断し、開示してよい と判断した場合に、前記隠蔽を解除する情報または解除したエントリを渡すログ開示 判定手段と、
をさらに備えた請求項 2に記載の情報処理端末。
[14] 前記ログ開示判定手段が、開示してよいか判断する際に、隠蔽を解除したエントリ を利用者に提示し、利用者にエントリを開示してよ!、か指定させることを特徴とする請 求項 13に記載の情報処理端末。
[15] 情報処理端末が自端末の状態変化の履歴であるログをサーバに通知する方法で あって、
通知可能でないサーバ向けにエントリを隠蔽してログを生成するステップと、 前記ログと、前記ログに対応する累積ハッシュに電子署名を施したデータと、前記 電子署名を検証するための証明書とを連結した署名付ログを生成するステップと、 前記署名付ログを前記サーバに送信するステップと、
を有する状態通知方法。
PCT/JP2007/062035 2006-06-21 2007-06-14 情報処理端末および状態通知方法 WO2007148602A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2007800234337A CN101473335B (zh) 2006-06-21 2007-06-14 信息处理终端、安全设备、在信息处理终端中使用的方法
US12/305,126 US8086861B2 (en) 2006-06-21 2007-06-14 Information processing terminal and status notification method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006171727A JP4939851B2 (ja) 2006-06-21 2006-06-21 情報処理端末、セキュアデバイスおよび状態処理方法
JP2006-171727 2006-06-21

Publications (1)

Publication Number Publication Date
WO2007148602A1 true WO2007148602A1 (ja) 2007-12-27

Family

ID=38833344

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/062035 WO2007148602A1 (ja) 2006-06-21 2007-06-14 情報処理端末および状態通知方法

Country Status (4)

Country Link
US (1) US8086861B2 (ja)
JP (1) JP4939851B2 (ja)
CN (1) CN101473335B (ja)
WO (1) WO2007148602A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5114994B2 (ja) * 2007-03-27 2013-01-09 日本電気株式会社 自動収集システム、通信端末、サーバー、自動収集方法、及びプログラム
JP4872875B2 (ja) * 2007-09-28 2012-02-08 ブラザー工業株式会社 ログ管理装置、及びログ管理プログラム
JP2010039882A (ja) * 2008-08-07 2010-02-18 Kenwood Corp サーバ装置、車載装置、コンテンツ配信方法、及びコンテンツ配信受領方法
US8776247B2 (en) * 2008-08-22 2014-07-08 Telit Automotive Solutions Nv Verification of process integrity
US9490984B2 (en) * 2009-09-14 2016-11-08 Interdigital Patent Holdings, Inc. Method and apparatus for trusted authentication and logon
US8935487B2 (en) * 2010-05-05 2015-01-13 Microsoft Corporation Fast and low-RAM-footprint indexing for data deduplication
US20120272167A1 (en) * 2011-04-20 2012-10-25 Nokia Corporation Methods, apparatuses and computer program products for providing a mechanism for same origin widget interworking
US8689299B2 (en) 2011-12-22 2014-04-01 Blackberry Limited System and method for accessing a software application
EP2608098B1 (en) * 2011-12-22 2017-05-10 BlackBerry Limited System and method for accessing a software application
US20140122897A1 (en) * 2011-12-31 2014-05-01 Rakesh Dodeja Securing device environment for trust provisioning
US8793504B2 (en) * 2012-02-22 2014-07-29 International Business Machines Corporation Validating a system with multiple subsystems using trusted platform modules and virtual platform modules
US20140245020A1 (en) * 2013-02-22 2014-08-28 Guardtime Ip Holdings Limited Verification System and Method with Extra Security for Lower-Entropy Input Records
JP6123350B2 (ja) * 2013-02-26 2017-05-10 日本電気株式会社 検証装置、検証方法、及びプログラム
JP6054225B2 (ja) * 2013-03-26 2016-12-27 株式会社富士通エフサス 構成情報管理装置および構成情報管理方法
EA035011B1 (ru) 2013-10-07 2020-04-16 ФОРНЕТИКС ЭлЭлСи Способ управления, объединения и распространения ключей шифрования
US9338013B2 (en) 2013-12-30 2016-05-10 Palantir Technologies Inc. Verifiable redactable audit log
US9692599B1 (en) * 2014-09-16 2017-06-27 Google Inc. Security module endorsement
US10871878B1 (en) 2015-12-29 2020-12-22 Palantir Technologies Inc. System log analysis and object user interaction correlation system
KR102509594B1 (ko) * 2016-06-28 2023-03-14 삼성전자주식회사 어플리케이션 코드의 위변조 여부 탐지 방법 및 이를 지원하는 전자 장치
JP7088627B2 (ja) * 2016-10-31 2022-06-21 ヤフー株式会社 証明書発行プログラム、証明書発行装置及び証明書発行方法
JP6942601B2 (ja) * 2017-10-18 2021-09-29 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
CN110335125A (zh) * 2019-07-12 2019-10-15 政采云有限公司 一种信息报备方法及装置
US11843619B1 (en) * 2022-10-07 2023-12-12 Uab 360 It Stateless system to enable data breach notification

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337600A (ja) * 2000-05-29 2001-12-07 Toshiba Corp 電子データ保管システム、履歴検証装置、電子データ保管方法及び記録媒体
JP2004334362A (ja) * 2003-05-01 2004-11-25 Hitachi Eng Co Ltd アクセスログ管理方法
JP2005025617A (ja) * 2003-07-04 2005-01-27 Toshiba Corp 履歴情報管理方法及び履歴情報管理装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6988250B1 (en) * 1999-02-15 2006-01-17 Hewlett-Packard Development Company, L.P. Trusted computing platform using a trusted device assembly
US6757832B1 (en) * 2000-02-15 2004-06-29 Silverbrook Research Pty Ltd Unauthorized modification of values in flash memory
US6990579B1 (en) * 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US6889378B2 (en) * 2000-07-24 2005-05-03 Sony Corporation Information processing method, inter-task communication method, and computer-executable program for the same
JP2002251326A (ja) * 2001-02-22 2002-09-06 Hitachi Ltd 耐タンパ計算機システム
JP2003016098A (ja) 2001-07-03 2003-01-17 Toshiba Corp クライアント・システム、情報要求方法、情報通信方法及びプログラム
JP2004013608A (ja) * 2002-06-07 2004-01-15 Hitachi Ltd プログラムの実行および転送の制御
JP4226556B2 (ja) * 2002-12-12 2009-02-18 富士通株式会社 プログラム実行制御装置、os、クライアント端末、サーバ、プログラム実行制御システム、プログラム実行制御方法、プログラム実行制御プログラム
FR2864398A1 (fr) * 2003-12-23 2005-06-24 France Telecom Terminal de telecommunication a deux espaces d'execution
JP2007226277A (ja) * 2004-04-02 2007-09-06 Matsushita Electric Ind Co Ltd 仮想マシン改ざん検査方法、および仮想マシン改ざん検査装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337600A (ja) * 2000-05-29 2001-12-07 Toshiba Corp 電子データ保管システム、履歴検証装置、電子データ保管方法及び記録媒体
JP2004334362A (ja) * 2003-05-01 2004-11-25 Hitachi Eng Co Ltd アクセスログ管理方法
JP2005025617A (ja) * 2003-07-04 2005-01-27 Toshiba Corp 履歴情報管理方法及び履歴情報管理装置

Also Published As

Publication number Publication date
CN101473335B (zh) 2012-05-09
US20090271637A1 (en) 2009-10-29
JP2008005156A (ja) 2008-01-10
CN101473335A (zh) 2009-07-01
US8086861B2 (en) 2011-12-27
JP4939851B2 (ja) 2012-05-30

Similar Documents

Publication Publication Date Title
JP4939851B2 (ja) 情報処理端末、セキュアデバイスおよび状態処理方法
EP2583410B1 (en) Single-use authentication methods for accessing encrypted data
JP6151402B2 (ja) データセンタへのプラットフォームの内包検証
KR101067399B1 (ko) 대칭 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체
KR100996784B1 (ko) 공개 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체
JP6100834B2 (ja) マルチ・テナント・クラウドにおける顧客仮想計算機の保護
JP4278327B2 (ja) コンピュータ・プラットフォームおよびその運用方法
US9055052B2 (en) Method and system for improving storage security in a cloud computing environment
US8539551B2 (en) Trusted virtual machine as a client
US8213618B2 (en) Protecting content on client platforms
US9652276B2 (en) Hypervisor and virtual machine protection
EP2965192B1 (en) Configuration and verification by trusted provider
CN114651253A (zh) 用于策略强制实施的虚拟环境类型验证
JP6951375B2 (ja) 情報処理装置、情報処理方法及びプログラム
Maruyama et al. Linux with TCPA integrity measurement
Gajparia et al. Enhancing user privacy using trusted computing

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200780023433.7

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07745292

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12305126

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07745292

Country of ref document: EP

Kind code of ref document: A1