WO2019159690A1 - 情報処理装置、情報処理方法、プログラム、及び、電子機器 - Google Patents

情報処理装置、情報処理方法、プログラム、及び、電子機器 Download PDF

Info

Publication number
WO2019159690A1
WO2019159690A1 PCT/JP2019/003056 JP2019003056W WO2019159690A1 WO 2019159690 A1 WO2019159690 A1 WO 2019159690A1 JP 2019003056 W JP2019003056 W JP 2019003056W WO 2019159690 A1 WO2019159690 A1 WO 2019159690A1
Authority
WO
WIPO (PCT)
Prior art keywords
license
electronic device
information
key
information processing
Prior art date
Application number
PCT/JP2019/003056
Other languages
English (en)
French (fr)
Inventor
平塚 陽介
Original Assignee
ソニー株式会社
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 ソニー株式会社 filed Critical ソニー株式会社
Priority to US16/967,255 priority Critical patent/US11928189B2/en
Priority to JP2020500381A priority patent/JP7251540B2/ja
Priority to EP19755167.4A priority patent/EP3754524A4/en
Publication of WO2019159690A1 publication Critical patent/WO2019159690A1/ja

Links

Images

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • G06Q20/1235Shopping for digital content with control of digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/127Shopping or accessing services according to a time-limitation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • G06Q2220/18Licensing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/018Certifying business or products
    • G06Q30/0185Product, service or business identity fraud

Definitions

  • the present technology relates to an information processing device, an information processing method, a program, and an electronic device, and in particular, an information processing device and information suitable for use when updating a license provided by the information processing device and used by the electronic device.
  • the present invention relates to a processing method, a program, and an electronic device.
  • a PC personal computer transmits expiration date authentication data including an expiration date start time and an expiration date end time to the IC card when the capsule is activated.
  • the IC card rewrites the IC card time to the expiration date when the IC card time is before the expiration date.
  • the IC card permits the use of the capsule when the IC card time is before the expiration date, and does not permit the use of the capsule when the IC card time is after the expiration date. As a result, it is possible to perform capsule expiration management offline without connecting the PC to the server.
  • the present technology has been made in view of such a situation, and is provided by an information processing apparatus such as a server so that a license used in an electronic device can be appropriately updated.
  • the electronic device includes a key generation unit that generates a device unique key that is a unique key for each device, a first unique device that differs for each installation of the device unique key and a license provided by the information processing apparatus. And an extension code generated by a predetermined method based on the second data that differs depending on the number of times the license is updated, and a license management unit that updates the license when the input extension code matches. Prepare.
  • the information processing method differs depending on whether the electronic device generates a device unique key that is a key unique to the electronic device and installs the device unique key and the license provided by the information processing apparatus.
  • the license is updated.
  • the program according to the first aspect of the present technology generates a device unique key, which is a key unique to the electronic device, in a computer of the electronic device, and is different for each installation of the device unique key and the license provided by the information processing apparatus.
  • the extension code generated by a predetermined method based on the first data and the second data that differs depending on the number of times the license is updated matches the input extension code, the license is updated.
  • An information processing apparatus includes a device unique key that is a key unique to an electronic device, first data that is different for each license installed in the electronic device, and the license in the electronic device.
  • a license management unit that generates an extension code for updating the license by the same method as the electronic device based on second data that differs depending on the number of updates, and a communication control unit that controls transmission of the extension code. .
  • the information processing apparatus includes a device unique key that is a key unique to the electronic device, first data that is different for each license installed in the electronic device, and the electronic device. Based on the second data that differs depending on the number of times the license is updated in the device, an extension code for updating the license is generated by the same method as the electronic device, and transmission of the extension code is controlled.
  • the program according to the second aspect of the present technology includes a device unique key that is a key unique to an electronic device, first data that is different every time a license is installed in the electronic device, and the number of times the license is updated in the electronic device.
  • the extension code for updating the license is generated by the same method as that of the electronic device based on the second data different from each other, and the computer controls the transmission of the extension code.
  • An information processing method is a method in which an electronic device including a hardware clock is notified of a confirmation date and time that is a date and time based on the hardware clock to an information processing device that manages a license expiration date.
  • an electronic device including a hardware clock is notified of a confirmation date and time that is a date and time based on the hardware clock to an information processing device that manages a license expiration date.
  • the use of the license is stopped until a confirmation code is generated based on the confirmation date and time and is generated in the same manner as the information processing apparatus and used to confirm the continuation of the license.
  • a program according to a third aspect of the present technology is a predetermined program after a confirmation date and time, which is a date and time based on the hardware clock, is notified to an information processing apparatus that manages a license expiration date on a computer of an electronic device including a hardware clock.
  • a process of stopping the use of the license is executed until a confirmation code is generated based on the confirmation date and time and is input in the same manner as the information processing apparatus and used to confirm the continuation of the license.
  • the electronic device when a predetermined period has elapsed since the confirmation date and time, which is the date and time based on the hardware clock of the electronic device, has been notified, the electronic device A license management unit that generates a confirmation code for confirming continuation of the license to be used in the electronic device by the same method as the electronic device; and a communication control unit that controls transmission of the confirmation code.
  • the information processing method is based on the confirmation date and time when a predetermined period has elapsed since the information processing device was notified of the confirmation date and time based on the hardware clock of the electronic device.
  • a confirmation code for confirming continuation of the license used by the electronic device is generated in the same method as the electronic device, and transmission of the confirmation code is controlled.
  • the program according to the fourth aspect of the present technology is used by the electronic device based on the confirmation date when a predetermined period has passed since the confirmation date, which is the date based on the hardware clock of the electronic device, is notified.
  • a confirmation code for confirming the continuation of the license in the electronic device is generated by the same method as the electronic device, and the computer is caused to execute a process for controlling the transmission of the confirmation code.
  • a device unique key that is a key unique to an electronic device is generated, the device unique key, first data that differs for each installation of a license provided by the information processing apparatus, and the If the extension code generated by a predetermined method based on the second data that differs depending on the number of times the license is updated matches the input extension code, the license is updated.
  • the device unique key that is a key unique to the electronic device, the first data that is different for each license installation in the electronic device, and the number of times the license is updated in the electronic device
  • an extension code for updating the license is generated by the same method as the electronic device, and transmission of the extension code is controlled.
  • the confirmation date and time which is the date and time based on the hardware clock
  • the information processing apparatus that manages the expiration date of the license, based on the confirmation date and time
  • the use of the license is stopped until a confirmation code generated by the same method as that of the information processing apparatus and used for confirming the continuation of the license is input.
  • a license used by the electronic device based on the confirmation date and time when a predetermined period has elapsed since the confirmation date and time based on the hardware clock of the electronic device is notified.
  • the confirmation code for confirming the continuation in the electronic device is generated by the same method as the electronic device, and the transmission of the confirmation code is controlled.
  • the license provided by the information processing apparatus can be used in the electronic device. Further, according to the first to fourth aspects of the present technology, the license provided by the information processing apparatus and used in the electronic device can be appropriately updated.
  • FIG. 1 is a block diagram illustrating an embodiment of an information processing system to which the present technology is applied. It is a block diagram which shows the structural example of a server. It is a block diagram which shows the structural example of the function of the control part of a server. It is a block diagram which shows the structural example of an electronic device. It is a block diagram which shows the structural example of the function of the control part of an electronic device. It is a flowchart for demonstrating the license acquisition process performed by a client. It is a figure which shows the example of the screen of PC. It is a figure which shows the example of the screen of PC. It is a figure which shows the example of the screen of an electronic device. It is a figure which shows the example of the screen of PC.
  • FIG. 1 shows a configuration example of an information processing system 10 to which the present technology is applied.
  • the information processing system 10 includes a server 11, a client 12, and a network 13.
  • the client 12 includes a personal computer (PC) 21, a removable medium 22, and an electronic device 23.
  • PC personal computer
  • the server 11 and the PC 21 are connected via the network 13 and communicate with each other.
  • the server 11 provides and manages licenses for functions used in the electronic device 23, and provides software for realizing the functions of the electronic device 23.
  • the PC 21 exchanges various data with the server 11 by communicating with the server 11 via the network 13. For example, the PC 21 receives, from the server 11, data related to a license for functions used in the electronic device 23 and various data such as software used in the electronic device 23. Further, the PC 21 transmits various data such as data related to the electronic device 23 to the server 11.
  • the removable medium 22 includes a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like, and is used to exchange various data between the PC 21 and the electronic device 23.
  • the removable medium 22 is also simply referred to as the medium 22.
  • the electronic device 23 can be connected to the PC 21 via a cable or the like, and connected to the network 13 via the PC 21 to communicate with the server 11.
  • the electronic device 23 can use the function corresponding to the installed license by installing the license provided from the server 11 via the PC 21 or the medium 22.
  • the electronic device 23 returns the license provided from the server 11 to the server 11 via the PC 21 or the medium 22 as necessary.
  • the type of the electronic device 23 is not particularly limited.
  • the electronic device 23 is a camera will be mainly described as an example.
  • the type of function to be licensed provided by the server 11 is not particularly limited.
  • the function may not necessarily be a function using software, and may be a function realized only by hardware.
  • the server 11 may also provide software for realizing the function to be licensed.
  • the license for the function is also a software license for realizing the function.
  • FIG. 1 only one client 12 is shown for easy understanding of the drawing and description, but a plurality of clients 12 are actually provided. Furthermore, although only one server 11 is illustrated, a plurality of servers 11 may be provided.
  • One client 12 may include a plurality of at least one of the PC 21, the media 22, and the electronic device 23.
  • FIG. 2 shows a configuration example of the server 11.
  • the server 11 includes an input unit 101, a control unit 102, a communication unit 103, an output unit 104, an RTC (Real Time Clock) 105, and a storage unit 106.
  • the input unit 101, the control unit 102, the communication unit 103, the output unit 104, the RTC 105, and the storage unit 106 are connected to each other via a bus 121.
  • the input unit 101 includes input devices such as switches, buttons, keys, microphones, and image sensors, and is used for inputting various data.
  • the input unit 101 supplies the input data to each unit of the server 11 via the bus 121.
  • the control unit 102 includes, for example, a processor such as a CPU (Central Processing Unit) and controls processing of each unit of the server 11.
  • a processor such as a CPU (Central Processing Unit) and controls processing of each unit of the server 11.
  • the communication unit 103 includes, for example, a communication device and the like, and communicates with the PC 21 via the network 13.
  • the communication method of the communication unit 103 is not particularly limited, and may be either a wired or wireless communication method. Further, for example, the communication unit 103 may support a plurality of communication methods.
  • the output unit 104 includes, for example, output devices such as a display, a speaker, a lighting device, and a vibrator, and outputs various data using images, sound, light, vibration, and the like.
  • the RTC 105 is a hardware clock that continues to operate with a backup battery (not shown) or the like even when the server 11 is powered off.
  • the RTC 105 is managed so that the user cannot change the date and time (date and time).
  • the storage unit 106 includes at least a nonvolatile storage medium, and stores various data and software necessary for the processing of the server 11.
  • each unit of the server 11 exchanges data via the bus 121
  • the description of the bus 121 is omitted as appropriate.
  • the control unit 102 and the communication unit 103 exchange data via the bus 121
  • the control unit 102 and the communication unit 103 simply exchange data.
  • FIG. 3 shows a configuration example of the function of the control unit 102 of the server 11.
  • the control unit 102 realizes functions including a license management unit 151, a data generation unit 152, a UI (user interface) control unit 153, a communication control unit 154, and a storage control unit 155 by executing a control program, for example. To do.
  • the license management unit 151 manages licenses for functions used in the electronic device 23.
  • the data generation unit 152 generates various data to be transmitted to the PC 21.
  • the UI control unit 153 controls the user interface in the PC 21 and the electronic device 23.
  • the UI control unit 153 controls the user interface in the PC 21 by generating a display control file for displaying various types of information on the screen of the PC 21 and transmitting it to the PC 21.
  • the communication control unit 154 controls communication processing by the communication unit 103. Further, the communication control unit 154 acquires data to be transmitted to the PC 21 from each unit of the server 11 or supplies data received from the PC 21 to each unit of the server 11.
  • the storage control unit 155 controls the storage of the data related to the license of the function used in the electronic device 23 in the storage unit 106.
  • FIG. 4 shows a configuration example of the electronic device 23.
  • the electronic device 23 includes an input unit 201, a function execution unit 202, a control unit 203, a communication unit 204, an output unit 205, an RTC (Real Time Clock) 206, a storage unit 207, and a drive 208.
  • the input unit 201, function execution unit 202, control unit 203, communication unit 204, output unit 205, RTC 206, storage unit 207, and drive 208 are connected to one another via a bus 221.
  • the input unit 201 includes input devices such as switches, buttons, keys, a microphone, and an image sensor, and is used for inputting various data.
  • the input unit 201 supplies the input data to each unit of the electronic device 23 via the bus 221.
  • the function execution unit 202 includes various hardware and software for executing the functions of the electronic device 23.
  • the function execution unit 202 includes a lens, an image sensor, and the like.
  • the control unit 203 includes, for example, a processor such as a CPU (Central Processing Unit) and controls processing of each unit of the electronic device 23.
  • a processor such as a CPU (Central Processing Unit) and controls processing of each unit of the electronic device 23.
  • CPU Central Processing Unit
  • the communication unit 204 includes, for example, a communication device and performs communication with the PC 21 and other electronic devices (for example, a smartphone) (not shown).
  • the communication method of the communication unit 204 is not particularly limited, and may be a wired or wireless communication method.
  • the communication unit 204 may support a plurality of communication methods.
  • the output unit 205 includes, for example, output devices such as a display, a speaker, a lighting device, and a vibrator, and outputs various data using images, sounds, light, vibrations, and the like.
  • the RTC 206 is a hardware clock that continues to operate with a backup battery or the like even when the electronic device 23 is turned off.
  • the RTC 206 is managed so that the user cannot change the date and time (date and time).
  • the storage unit 207 includes at least a nonvolatile storage medium, and stores various data and software necessary for processing of the electronic device 23.
  • the drive 208 is detachable from the medium 22 and drives the connected medium 22.
  • FIG. 5 shows a configuration example of the function of the control unit 203 of the electronic device 23.
  • the control unit 203 executes, for example, a control program, thereby obtaining a license management unit 251, a key generation unit 252, a data generation unit 253, a UI (user interface) control unit 254, a communication control unit 255, and a storage control unit 256.
  • a control program for example, a control program, thereby obtaining a license management unit 251, a key generation unit 252, a data generation unit 253, a UI (user interface) control unit 254, a communication control unit 255, and a storage control unit 256.
  • the license management unit 251 manages licenses for functions used in the electronic device 23.
  • the key generation unit 252 generates a device unique key that is a unique secret key that is different for each electronic device 23.
  • the data generation unit 253 generates various data to be transmitted to the server 11 via the PC 21 or the medium 22.
  • the UI control unit 254 controls the user interface in the electronic device 23 by controlling the output unit 205.
  • the communication control unit 255 controls communication processing by the communication unit 204. Further, the communication control unit 255 acquires data to be transmitted to the outside via the communication unit 204 from each unit of the electronic device 23 or supplies data received from the outside via the communication unit 204 to each unit of the electronic device 23. Or
  • the storage control unit 256 controls storage in the storage unit 207 of data relating to licenses for functions used in the electronic device 23.
  • a license for functions used in the electronic device 23 is provided from the server 11 by a subscription and floating method.
  • step S1 the PC 21 requests a device information acquisition file.
  • the PC 21 accesses the server 11 via the network 13 in accordance with a user operation, and displays a screen for acquiring a license for a function used in the electronic device 23.
  • the window 301 in FIG. 7 is displayed on the screen of the PC 21.
  • the window 301 is divided into a device information column 301A and a license information column 301B.
  • the image and model name of the electronic device 23 are displayed side by side.
  • the subscription license of the 4K image photographing function is an acquisition target.
  • the user selects the license validity period when acquiring the license. For example, two types of validity period licenses of 30 days or 365 days are provided, and the user selects a desired validity period license from the two types.
  • An install button 302 is displayed at the right end of the license information column 301B.
  • a window 311 in FIG. 8 is displayed on the screen of the PC 21.
  • a device information acquisition file is downloaded, stored in the medium 22, a message prompting the user to insert the medium 22 into the camera (electronic device 23), and a download button 312 are displayed.
  • the download button 312 is pressed, the PC 21 requests the server 11 for a device information acquisition file via the network 13.
  • the server 11 transmits a device information acquisition file to the PC 21 via the network 13 in step S31 of FIG.
  • step S2 the PC 21 receives the device information acquisition file transmitted from the server 11. Further, the PC 21 stores the received device information acquisition file in the medium 22 in accordance with, for example, a user operation.
  • step S3 the electronic device 23 executes the command in the device information acquisition file.
  • the user removes the medium 22 storing the device information acquisition file from the PC 21 and connects it to the drive 208 of the electronic device 23.
  • the drive 208 reads the device information acquisition file stored in the medium 22 and supplies it to the control unit 203.
  • the control unit 203 executes a device information acquisition command included in the device information acquisition file. Thereby, the acquisition process of apparatus information is started.
  • step S1 to step S3 may be omitted, and the device information acquisition process may be started by the user operating the electronic device 23 without using the device information acquisition command. .
  • step S4 the key generation unit 252 determines whether or not a device unique key has been generated. If the device unique key is not stored in the storage unit 207, the key generation unit 252 determines that the device unique key has not been generated, and the process proceeds to step S5.
  • step S5 the key generation unit 252 generates a device unique key.
  • the method for generating the device unique key is not particularly limited.
  • the storage control unit 256 stores the device unique key in the storage unit 207.
  • the electronic device 23 generates a device unique key which is a secret key unique to the electronic device 23 before generating a device information file for the first time after factory shipment. This eliminates the need to generate a device unique key at the time of factory shipment and store it in the electronic device 23, thereby reducing the risk of the device unique key being leaked.
  • the device unique key generation method, the generation timing, and the like can be changed, and flexibility is improved.
  • step S4 when the device unique key is stored in the storage unit 207, the key generation unit 252 determines that the device unique key has been generated, the process of step S5 is skipped, and the process proceeds to step S6. Proceed to
  • step S6 the data generation unit 253 sets the current date and time of the RTC 206 in the device RTC.
  • the device RTC indicates the date and time of the RTC 206 when generating the device information file, and indicates the date and time of the RTC 206 of the electronic device 23 when requesting a license.
  • the device RTC is a reference date and time used for managing the term of the license to be acquired.
  • step S7 the data generation unit 253 encrypts the device unique key with the server public key.
  • the data generation unit 253 reads out the device unique key and the server public key from the storage unit 207.
  • the server public key is a public key corresponding to the server private key held by the server 11 and is distributed to the electronic device 23 in advance.
  • the data generation unit 253 encrypts the device unique key using the server public key. Thereby, the security of the device unique key is ensured, and the device unique key is prevented from being falsified or wiretapped.
  • step S8 the data generation unit 253 generates storage data including the device unique ID, device RTC, and device unique key. Specifically, the data generation unit 253 reads the device unique ID from the storage unit 207.
  • the device unique ID is an ID uniquely assigned to each electronic device 23 and includes, for example, the model name and serial number of the electronic device 23.
  • the data generation unit 253 generates storage data including the device unique ID, the device RTC, and the encrypted device unique key.
  • step S9 the data generation unit 253 calculates a hash value of the stored data using the device unique key.
  • the hash function used for calculating the hash value is not particularly limited.
  • step S10 the data generation unit 253 generates a device information file including stored data and a hash value. Thereby, the security of the stored data is ensured using the device unique key.
  • This device information file is used for issuing a license in the server 11 as a license request file for requesting issuance of a license.
  • step S 11 the data generation unit 253 stores the device information file in the medium 22 via the drive 208.
  • the output unit 205 displays the window 321 in FIG. 9 under the control of the UI control unit 254.
  • the window 321 a message indicating that the device information file has been written and an OK button 322 are displayed.
  • the OK button 322 is pressed, the window 321 is closed.
  • step S12 the PC 21 transmits a device information file to the server 11.
  • the user removes the medium 22 from the electronic device 23 and connects it to the PC 21.
  • the PC 21 displays the window 331 of FIG. 10 on the screen.
  • a message prompting to upload the device information file acquired from the camera (electronic device 23) and an upload button 332 are displayed.
  • the upload button 332 is pressed, the PC 21 reads the device information file from the media 22 and transmits it to the server 11 via the network 13.
  • the server 11 receives the device information file in step S32 of FIG.
  • step S13 the PC 21 determines whether to obtain a license communication file.
  • step S34 of FIG. 13 described later the server 11 obtains a display control file for final confirmation of license installation via the network 13. Send.
  • the PC 21 displays the window 341 of FIG. 11 on the screen based on the display control file.
  • a device unique ID of the camera (electronic device 23), a message for confirming the installation of the license in the camera, and an install button 342 are displayed.
  • the install button 342 is pressed, for example, a window 351 in FIG. 12 is displayed on the screen of the PC 21.
  • a message prompting to download the license communication file, storing it in the medium 22, and putting it in the camera (electronic device 23), and a download button 352 are displayed.
  • the download button 352 is pressed, the PC 21 determines to acquire a license communication file and requests the server 11 to transmit the license communication file via the network 13. Thereafter, the process proceeds to step S14.
  • the server 11 transmits a license communication file including an install key and the like in step S40 of FIG.
  • step S14 the PC 21 receives the license communication file from the server 11 via the network 13.
  • step S15 the PC 21 stores the license communication file in the medium 22 in accordance with, for example, a user operation.
  • step S13 the PC 21 does not acquire the license communication file if it has not received a display control file for final confirmation of license installation, or if it has not been instructed to acquire a license communication file. Is determined. Thereafter, the processing of step S14 and step S15 is skipped, and the license acquisition process ends without acquiring the license communication file.
  • This process is started, for example, when the server 11 requests a device information acquisition file from the PC 21 in step S1 of FIG. 6 described above.
  • step S31 the server 11 transmits a device information acquisition file.
  • the data generation unit 152 generates a device information acquisition file including a device information acquisition command.
  • the communication unit 103 transmits a device information acquisition file to the PC 21 via the network 13 under the control of the communication control unit 154.
  • step S31 of the electronic device 23 can be omitted by omitting the processing of step S1 to step S3 of FIG.
  • step S32 the server 11 receives the device information file.
  • the communication control unit 154 receives the device information file transmitted from the PC 21 through the processing of step S12 in FIG.
  • step S33 the license management unit 151 determines whether or not the device information file is valid. Specifically, the license management unit 151 reads from the storage unit 106 a server private key corresponding to the server public key used for encryption of the device unique key included in the device information file. The license management unit 151 decrypts the device unique key using the read server private key.
  • the license management unit 151 calculates the hash value of the stored data included in the device information file using the same hash function as that of the electronic device 23 and the decrypted device unique key. If the calculated hash value matches the hash value in the device information file, the license management unit 151 determines that the device information file is valid, and the process proceeds to step S34.
  • step S34 the license management unit 151 determines whether to transmit a license communication file.
  • the UI control unit 153 generates a display control file for finally confirming the execution of the license installation.
  • the communication unit 103 transmits the display control file to the PC 21 via the network 13 under the control of the communication control unit 154.
  • the license management unit 151 determines that the license communication file is to be transmitted when the transmission of the license communication file is requested from the PC 21 in step S13 of FIG. 6 described above, and the process proceeds to step S35.
  • step S35 the license management unit 151 generates an installation key.
  • FIG. 14 shows an example of the format of the installation key.
  • the installation key includes a function ID, system unique information, a device unique ID, an expiration date, and an expiration date.
  • the function ID is an ID for identifying a function to be licensed.
  • the system unique information is a serial number consisting of alphanumeric characters generated by the server 11 and is different for each installation key.
  • the device unique ID is a device unique ID of the electronic device 23 to which a license is provided, and the device unique ID of the electronic device 23 included in the device information file is used.
  • the expiration date indicates the date and time when the license expires, and is expressed in, for example, year, month, day, hour, minute, second.
  • the expiration date is set based on the device RTC included in the device information file, that is, the RTC 206 of the electronic device 23.
  • the validity period is set to a value obtained by adding the validity period and the grace time to the device RTC in the device information file.
  • the grace time is a time that is set assuming a time required for installing the license in the electronic device 23. That is, the electronic device 23 exchanges data with the PC 21 via the medium 22, and the PC 21 communicates with the server 11. Therefore, it takes time to install the license as compared with the case where the electronic device 23 communicates directly with the server 11. Therefore, a predetermined grace time is added in addition to the actual license validity period.
  • the validity period indicates the validity period of the license.
  • the effective period is set to a value representing the effective period selected by the user in units of hours.
  • step S36 the data generation unit 152 generates storage data including the device RTC, the installation key, and the user ID.
  • the user ID is a unique ID of the user who is the right holder of the license.
  • the installation key for each function is stored in the stored data.
  • step S37 the data generation unit 152 calculates a hash value of the stored data using the device unique key. That is, the data generation unit 152 calculates the hash value of the stored data using the same hash function as that of the electronic device 23 and the device unique key included in the device information file.
  • step S38 the data generation unit 152 generates a license communication file including the stored data and the hash value. Specifically, the data generation unit 152 generates a signature by encrypting a hash value using a server private key. Then, the data generation unit 152 generates a license communication file including stored data and a signature (encrypted hash value). Thereby, the security of the stored data is ensured using the device unique key.
  • this license communication file is also an installation file used for license installation in the electronic device 23.
  • the server 11 stores the license information.
  • the storage control unit 155 stores license information including a combination of the current date and time of the RTC 105, a user ID, a device unique ID, a device unique key, an installation key, a device RTC, and a license expiration date, validity period, and number of updates.
  • the data is stored in the storage unit 106.
  • an expiration date based on the RTC 206 of the electronic device 23 (hereinafter referred to as a client expiration date) and an expiration date based on the RTC 105 of the server 11 (hereinafter referred to as a server expiration date) are licensed. Included in the information.
  • the client expiration date is equal to the expiration date included in the installation key.
  • the server expiration date is set to a value obtained by adding the validity period and the grace time to the current date and time of the RTC 105.
  • the license update count is set to 0 as the initial value.
  • license information for a plurality of functions When licenses for a plurality of functions are installed at a time, for example, different license information may be generated and stored for each license, or license information including all licenses may be generated and stored. You may make it do.
  • step S40 the communication unit 103 transmits the license communication file to the PC 21 under the control of the communication control unit 154.
  • step S34 the license management unit 151 determines that the license communication file is not transmitted when the transmission of the license communication file is not requested from the PC 21 in step S13 of FIG. 6 described above, and steps S35 to S40 are performed. This process is skipped, and the license issuance process ends. That is, the installation key is not generated and the license communication file is not transmitted.
  • step S33 if the calculated hash value does not match the hash value in the device information file, the license management unit 151 determines that the device information file is not valid, and the processing in steps S34 to S40 is skipped.
  • the license issuance process ends. That is, the installation key is not generated and the license communication file is not transmitted.
  • the output unit 205 displays the window 401 in FIG. 16 under the control of the UI control unit 254, for example. .
  • the window 401 displays a model name of the electronic device 23, a function type and a license type, and a message for confirming whether or not to enable the function. Further, a YES button 402 and a NO button 403 are displayed in the window 401. When the YES button 402 is pressed, the license start process is started. On the other hand, when the NO button 403 is pressed, the license start process is not started.
  • step S61 the license management unit 251 determines whether or not the license communication file is valid. Specifically, the license management unit 251 reads out a license communication file from the medium 22 via the drive 208. In addition, the license management unit 251 reads out the device unique key and the server public key from the storage unit 207.
  • the license management unit 251 decrypts the signature included in the license communication file using the server public key. Thereby, a hash value of the stored data included in the license communication file is obtained. In addition, the license management unit 251 calculates the hash value of the stored data of the license communication file using the same hash function and device unique key as the server 11. If the calculated hash value matches the hash value in the license communication file, the license management unit 251 determines that the license communication file is valid, and the process proceeds to step S62.
  • step S62 the license management unit 251 determines whether the installation key has been installed in the past. If the installation key that matches the installation key included in the license communication file is not stored in the storage unit 207, the license management unit 251 determines that the installation key has not been installed in the past, and the process proceeds to step S63.
  • step S63 the license management unit 251 determines whether or not the device unique ID in the installation key matches that of the own device.
  • the license management unit 251 determines that the device unique ID in the install key matches that of the own device. Determination is made, and the process proceeds to step S64.
  • step S64 the license management unit 251 determines whether the device RTC is after the current date and time. If the license management unit 251 determines that the device RTC included in the license communication file is before the date and time of the current RTC 206, the process proceeds to step S65.
  • step S65 the license management unit 251 determines whether or not the license has expired. Specifically, the license management unit 251 compares the installation key expiration date (client expiration date) with the current date and time of the RTC 206. If the license expiration date is after the current RTC 206 date, the license management unit 251 determines that the license expiration date has not expired, and the process proceeds to step S66.
  • step S66 the license management unit 251 determines whether or not the interval between the device RTC and the current date and time is equal to or greater than the grace period. If the license management unit 251 compares the device RTC with the current date and time of the RTC 206 and determines that the interval between the two is less than the grace time, the process proceeds to step S67.
  • step S67 the license management unit 251 validates the license. That is, the license management unit 251 puts the function for which the license is granted by the installation key into a usable state.
  • license communication file contains installation keys for multiple functions, all of those functions will be ready for use.
  • software that realizes the function may be installed in the electronic device 23 in advance, or may be installed at this time.
  • step S68 the electronic device 23 stores the license information.
  • the storage control unit 256 causes the storage unit 207 to store license information including a combination of the user ID, the current date and time of the RTC 206, the installation key, and the license client expiration date, validity period, and number of updates.
  • the current date and time of the RTC 206 is the date and time when the use of the license is started.
  • the license update count is set to 0 as an initial value.
  • license information for a plurality of functions When licenses for a plurality of functions are installed at once, for example, different license information may be generated and stored for each license, or license information including all licenses may be generated and stored. You may make it do.
  • step S66 determines in step S66 that the interval between the device RTC and the current date and time of the RTC 206 is equal to or greater than the grace time.
  • step S65 if the license expiration date is before the current RTC 206 date, the license management unit 251 determines that the license has expired, and the process proceeds to step S69.
  • step S69 a license reacquisition process is executed, and then the license management process ends.
  • step S64 if it is determined in step S64 that the device RTC is after the date and time of the current RTC 206, the license start process ends.
  • step S63 if it is determined that the device unique ID in the installation key does not match that of the own device, the license start process ends.
  • the media 22 is connected to a different electronic device 23 to install a license, an incorrect license communication file is received, or the installation key is falsified.
  • step S62 the license management unit 251 determines that the installation key matches the installation key included in the license communication file and that the installation key has been installed in the past, and starts the license. The process ends.
  • step S61 if the calculated hash value does not match the hash value in the license communication file, the license management unit 251 determines that the license communication file is not valid, and the license start process ends.
  • the license can be installed in the electronic device 23 in a safe state so that the functions of the electronic device 23 can be used.
  • the period during which the license can be used is shortened. It is prevented.
  • the difference between the license expiration date (server expiration date) grasped by the server 11 and the actual license expiration date (client expiration date) is a grace period. It is suppressed in. Therefore, for example, promotion such as license update can be performed at an appropriate timing.
  • step S101 the PC 21 requests a license reissue file.
  • the PC 21 accesses the server 11 via the network 13 according to a user operation, and displays a screen for requesting reissue of a license.
  • the window 501 in FIG. 18 is displayed on the screen of the PC 21.
  • the window 501 is divided into a device information column 501A, a license information column 501B, and a license detailed information column 501C.
  • the image and model name of the electronic device 23 are displayed side by side.
  • the function to be reissued and the license type are shown in the left end of the license information column 501B. In this example, it is indicated that the subscription license of the 4K image photographing function is a reissue target.
  • the detailed license information column 501C the detailed status of the license of the target function is displayed.
  • the device unique ID of the electronic device 23 the current license status, and the license expiration date are displayed.
  • the current license state is “Installed” when the license communication file is downloaded, regardless of whether or not the license communication file is actually installed.
  • a reissue button 502 is displayed at the right end of the license detailed information column 501C.
  • a license reissue process is started.
  • the PC 21 requests the server 11 for a license reissue file via the network 13.
  • the server 11 transmits a license reissue file to the PC 21 via the network 13 in step S131 of FIG.
  • step S102 the PC 21 receives the license reissue file transmitted from the server 11. Further, the PC 21 stores the received license reissue file in the medium 22 in accordance with, for example, a user operation.
  • a window 511 of FIG. 19 is displayed on the screen of the PC 21.
  • the window 511 displays a message prompting to upload the acquired device information file after selecting the “Reissue” button on the camera (electronic device 23), and an upload button 512.
  • step S103 the electronic device 23 executes the command in the license reissue file.
  • the user removes the medium 22 storing the license reissue file from the PC 21 and connects it to the drive 208 of the electronic device 23.
  • the drive 208 reads the license reissue file stored in the medium 22 and supplies it to the control unit 203.
  • the control unit 203 executes a license reissue command included in the license reissue file.
  • the output unit 205 displays a screen including a “reissue” button under the control of the UI control unit 254.
  • the “Reissue” button is pressed, the device information acquisition process is started.
  • step S101 to step S103 may be omitted, and the device information acquisition process may be started by the user operating the electronic device 23 without using the license reissue command. .
  • step S104 the date and time of the current RTC 206 is set in the device RTC, similar to the process in step S6 of FIG.
  • step S105 the device unique key is encrypted with the server public key in the same manner as in step S7 of FIG.
  • step S106 the data generation unit 253 generates storage data including the device unique ID, the device RTC, the device unique key, and the canceled installation key. Specifically, the data generation unit 253 reads the device unique ID and the license installation key for which installation has been canceled (cancelled installation key) from the storage unit 207. The data generation unit 253 generates storage data including the device unique ID, the device RTC, the encrypted device unique key, and the canceled installation key.
  • step S107 the hash value of the stored data is calculated using the device unique key, as in the process of step S9 in FIG.
  • step S108 a device information file including stored data and a hash value is generated in the same manner as in step S10 of FIG. This device information file is used for reissuing the license in the server 11 as a license rerequest file for requesting reissue of the license.
  • step S109 the device information file is stored in the medium 22 in the same manner as in step S11 of FIG.
  • step S110 the PC 21 transmits a device information file to the server 11.
  • the user removes the medium 22 from the electronic device 23 and connects it to the PC 21.
  • the PC 21 reads the device information file from the medium 22 and transmits it to the server 11 via the network 13.
  • the server 11 receives the device information file in step S132 of FIG. If the device information file includes the canceled installation key and is valid, the server 11 notifies that the license can be reissued via the network 13 in step S134.
  • step S111 the PC 21 determines whether or not to request reissue of the license. For example, when the PC 21 is notified that the license can be reissued from the server 11, the PC 21 displays the window 521 of FIG. 20 on the screen.
  • a message for canceling the installation and reissuing the installation key, and a reissue button 522 are displayed.
  • information about the license for canceling the installation is displayed.
  • the information regarding the license includes, for example, the model name, function name, and license type of the electronic device 23.
  • the PC 21 determines to request reissue of the license, and requests the server 11 to reissue the license via the network 13. Thereafter, the process proceeds to step S112.
  • step S112 the PC 21 determines whether to obtain a license communication file.
  • the server 11 when the server 11 is requested to reissue the license, the server 11 notifies that the installation key can be reissued after discarding the installation key of the current license in step S136 of FIG.
  • the display control file to be transmitted is transmitted to the PC 21.
  • the PC 21 displays, for example, the window 531 of FIG. 21 on the screen.
  • a message prompting to install again after the license installation is canceled, and an OK button 532 are displayed.
  • the OK button 532 is pressed, a window 541 in FIG. 22 is displayed on the screen of the PC 21.
  • the window 541 is divided into a device information column 541A, a license information column 541B, and a license detailed information column 541C as in the window 501 of FIG. However, the difference is that the reissue button 502 disappears and the install button 542 is displayed at the right end of the license information column 501B. Also, the current license state and expiration date are different in that nothing is displayed.
  • the PC 21 determines to acquire the license communication file, and requests the server 11 to transmit the license communication file via the network 13. Thereafter, the process proceeds to step S113.
  • the server 11 transmits a license communication file including an install key and the like in step S143 of FIG.
  • step S113 the license communication file is received in the same manner as in step S14 of FIG.
  • step S114 the license communication file is stored in the medium 22 in the same manner as in step S15 of FIG.
  • This process is started, for example, when the server 11 requests a license reissue file from the PC 21 in step S101 of FIG. 17 described above.
  • step S131 the server 11 transmits a license reissue file.
  • the data generation unit 152 generates a license reissue file including a license reissue command.
  • the communication unit 103 transmits a license reissue file to the PC 21 via the network 13 under the control of the communication control unit 154.
  • step S131 can be omitted by omitting the processing of step S101 to step S103 of FIG.
  • step S132 the server 11 receives the device information file.
  • the communication control unit 154 receives the device information file transmitted from the PC 21 through the processing of step S110 in FIG.
  • step S133 it is determined whether the device information file is valid as in the process of step S33 of FIG. If it is determined that the device information file is valid, the process proceeds to step S134.
  • step S134 the license management unit 151 determines whether or not the canceled installation key is included in the device information file. If it is determined that the canceled installation key is included in the device information file, the process proceeds to step S135. At this time, the communication unit 103 notifies the PC 21 that the license can be reissued via the network 13 under the control of the communication control unit 154.
  • step S135 the license management unit 151 determines whether a license reissue request has been requested. If the license re-issuance is requested from the PC 21 in step S111 of FIG. 17 described above, the license management unit 151 determines that the re-issuance of the license has been requested, and the process proceeds to step S136.
  • step S136 the license management unit 151 discards the installation key. For example, in the license information including the installation key included in the device information file among the license information stored in the storage unit 106, the license management unit 151 updates the information using the installation key as an installation key whose installation is canceled. To do.
  • the UI control unit 153 generates a display control file that notifies that the install key can be reissued.
  • the communication unit 103 transmits the display control file to the PC 21 via the network 13 under the control of the communication control unit 154.
  • step S137 the license management unit 151 determines whether to transmit a license communication file.
  • the license management unit 151 determines to transmit the license communication file, and the process proceeds to step S138.
  • step S138 an install key is generated in the same manner as in step S35 of FIG.
  • an expiration date (client expiration date) is set based on the device RTC included in the device information file received in step S132. That is, the expiration date of the license is updated based on the newly acquired device RTC.
  • steps S139 to S143 the same processing as in steps S36 to S40 of FIG. 13 described above is performed.
  • a license communication file including the device RTC and the regenerated installation key in the device information file received in step S132 is generated and transmitted to the PC 21.
  • step S137 the license management unit 151 determines that the license communication file is not transmitted when the transmission of the license communication file is not requested from the PC 21 in step S112 of FIG. 17 described above, and steps S138 to S143 are performed. This process is skipped, and the license reissue process ends.
  • the installation key is not regenerated and the license communication file is not transmitted.
  • step S135 the license management unit 151 determines that the license reissue has not been requested when the PC 21 does not request the license reissue in step S111 of FIG. 17 described above, and the steps S136 to S143 are performed. This process is skipped, and the license reissue process ends. That is, the regeneration of the installation key and the transmission of the license communication file are not performed.
  • step S134 if it is determined in step S134 that the canceled installation key is not included in the device information file, the processing from step S135 to step S143 is skipped, and the license reissue processing ends. That is, the regeneration of the installation key and the transmission of the license communication file are not performed.
  • step S133 If it is determined in step S133 that the device information file is not valid, the processing from step S134 to step S143 is skipped, and the license issuance processing ends. That is, the regeneration of the installation key and the transmission of the license communication file are not performed.
  • the server 11 and the electronic device 23 do not directly communicate with each other, the reissued license is canceled and the reissued license is installed in the electronic device 23 in a safe state. 23 functions can be made available.
  • the expiration date of the license is updated based on the new device RTC, it is possible to prevent the license validity period from being shortened by reissuing the license. Furthermore, even if there is a gap between the RTC 105 of the server 11 and the RTC 206 of the electronic device 23, it is possible to appropriately manage the expiration date of the reissued license using the RTC 206 of the electronic device 23.
  • step S201 the license management unit 251 determines whether there is a license whose expiration date has passed.
  • the license management unit 251 Based on the license information stored in the storage unit 207, for example, when the electronic device 23 is turned on, when the use of the electronic device 23 is started, or periodically, the license management unit 251 Check the client expiration date for each license. Then, if there is a license whose client expiration date is earlier than the date and time of the current RTC 206, the license management unit 251 determines that there is a license that has passed the expiration date, and the process proceeds to step S202.
  • the license management unit 251 executes based on the license information stored in the storage unit 207. Check client expiration date for feature license. If the client expiration date of the license is before the current RTC 206 date, the license management unit 251 determines that there is a license that has passed the expiration date, and the process proceeds to step S202.
  • step S202 the license management unit 251 temporarily suspends the license that has expired. That is, the license management unit 251 temporarily disables the function corresponding to the license whose expiration date has passed.
  • step S201 the license management unit 251 determines that the license information stored in the storage unit 207 does not include a license whose license expiration date is earlier than the current RTC 206 date and time. Therefore, the process of step S202 is skipped, and the process proceeds to step S203.
  • step S203 the license management unit 251 determines whether to input an extension code. For example, when an operation for inputting an extension code is performed via the input unit 201, the license management unit 251 determines that an extension code is to be input, and the process proceeds to step S204.
  • step S204 the output unit 205 displays an extension code input screen under the control of the UI control unit 254.
  • an email having the contents shown in FIG. 25 is delivered to the user.
  • the e-mail contains an extension code for extending the license for the function that will expire.
  • the output unit 205 displays a window 601 in FIG. 26A under the control of the UI control unit 254.
  • the output unit 205 displays a window 611 in FIG. 26B under the control of the UI control unit 254.
  • an extension code input field 612 and an OK button 613 are displayed.
  • a 3-digit extension code is entered. For example, when the upper and lower triangular operation sections of each digit are pressed, the digits of each digit are increased or decreased independently.
  • the OK button 613 is pressed, the input of the extension code is confirmed.
  • FIG. 25 and FIG. 26 show an example in which the right holders and the expiration dates of the licenses for the functions A and B are the same.
  • either the function A or the function B is selected in the window 601, and only one type of extension code is input once in the window 611, so that the licenses for the function A and the function B are updated together. .
  • the right holders of functions used in the electronic device 23 may be different. In this case, even if there are a plurality of licenses having the same expiration date, if the right holder is different, an extension code is input for each license of each right holder, and the license is updated.
  • the mail addressed to the user BBB in FIG. 27 arrives separately from the mail addressed to the user AAA in FIG.
  • the extension code of the function C license that the user BBB has the right is input separately from the extension codes of the functions A and B that the user AAA has the right.
  • step S201 determines that there is a license that has expired
  • the determination process in step S203 is omitted after the process in step S202, and the process in step S204 is executed. Also good.
  • an extension code input screen is automatically displayed.
  • step S205 the license management unit 251 determines whether a correct extension code has been input.
  • the license management unit 251 generates a formal extension code by a predetermined method. For example, the license management unit 251 calculates a device unique key of the electronic device 23, an install key of the license to be updated, and a hash value of the number of license updates using a predetermined hash function.
  • the license update count is a value obtained by increasing the update count in the license information of the license to be updated by one.
  • the license management unit 251 then digitizes the calculated hash value by a predetermined algorithm, and uses the last three digits of the digitized hash value as an extension code.
  • the extension code is substantially uniquely determined by the combination of the electronic device 23 (device unique key), the license installation key, and the license update count. For example, even if the license has the same function and expiration date, the extension code changes if the installation destination electronic device 23 is different. Further, for example, even with a license for the same function installed in the same electronic device 23, the extension code changes each time it is updated (depending on the number of updates).
  • the license management unit 251 determines that the correct extension code has not been input, and the process proceeds to step S206.
  • step S206 the license management unit 251 determines whether the extension code has been mistaken for a predetermined number of times. If it is determined that the extension cord has not been wrong a predetermined number of times, the process returns to step S204.
  • step S204 is repeatedly executed until it is determined in step S205 that a correct extension code has been input or until it is determined in step S206 that the extension code has been mistaken for a predetermined number of times.
  • step S204 if the input extension code matches the generated extension code, the license management unit 251 determines that the correct extension code has been input, and the process proceeds to step S207.
  • step S207 the license management unit 251 updates the expiration date of the license for which the extension code has been input. Specifically, the license management unit 251 updates the expiration date by adding the expiration date of the license to the expiration date (client expiration date) in the license information of the license for which the extension code is input. Also, the license management unit 251 increases the value of the number of updates in the license information by one.
  • step S208 the license management unit 251 determines whether the license for which the extension code has been input has been suspended. If it is determined that the license for which the extension code has been input is suspended, the process proceeds to step S209.
  • step S209 the license management unit 251 validates the license.
  • the license management unit 251 makes the function corresponding to the license for which the extension code is input usable.
  • step S208 determines whether the license for which the extension code has been input is valid. If it is determined in step S208 that the license for which the extension code has been input is valid, the process of step S209 is skipped, and the process proceeds to step S211.
  • step S206 If it is determined in step S206 that the extension cord has been mistaken for a predetermined number of times, the process proceeds to step S210.
  • step S210 the license management unit 251 invalidates the license with the wrong extension code. That is, the license management unit 251 puts the function corresponding to the license with the wrong extension code into a state where it cannot be used. Further, the license management unit 251 puts the function into a state where it cannot be returned to the usable state unless the license is reinstalled using the installation key.
  • step S203 determines whether the extension code is not input. If it is determined in step S203 that the extension code is not input, the processing from step S204 to step S210 is skipped, and the processing proceeds to step S211.
  • step S211 the license management unit 251 determines whether or not to return the license. For example, when an operation for returning the license is performed via the input unit 201, the license management unit 251 determines that the license is to be returned, and the process proceeds to step S212.
  • step S212 the client 12 executes a license return process, and the process proceeds to step S213. Details of the license return process will be described later with reference to FIG.
  • step S211 determines whether the license is not returned. If it is determined in step S211 that the license is not returned, the process of step S212 is skipped, and the process proceeds to step S213.
  • step S213 the license management unit 251 determines whether or not the RTC 206 is in an unset state. If it is determined that the RTC 206 has not been set, the process proceeds to step S214.
  • step S214 the license management unit 251 invalidates all licenses. That is, when the RTC 206 is not set, the license management unit 251 cannot manage the license expiration date, so that the functions corresponding to all licenses cannot be used.
  • step S1 the process returns to step S1, and the processes after step S1 are executed.
  • step S213 when it is determined in step S213 that the RTC 206 is not in the unset state, the process returns to step S1, and the processes after step S1 are executed.
  • step S231 the PC 21 requests a DeActivate request file.
  • the PC 21 accesses the server 11 via the network 13 in accordance with the user's operation, and displays a screen for returning the license of the function enabled by the electronic device 23.
  • the window 701 in FIG. 30 is displayed on the screen of the PC 21.
  • the window 701 is divided into a device information column 701A, a license information column 701B, and a license detailed information column 701C.
  • the image and model name of the electronic device 23 are displayed side by side.
  • the function for which the license is to be returned and the type of license are shown. In this example, it is indicated that the subscription license of the 4K image photographing function is a reissue target.
  • the device unique ID of the electronic device 23 that can use the function corresponding to the license to be returned among the electronic devices 23 owned by the user is displayed at the left end of the license detailed information column 701C.
  • a DeActivate button 702 is displayed for the electronic device 23 for which the current license is activated.
  • DeActivate 702 is pressed, for example, a window 711 in FIG. 31 is displayed on the screen of the PC 21.
  • a message that prompts the user to download the DeActivate request file, save it in the medium 22, and insert the medium 22 into the camera (electronic device 23) and a download button 712 are displayed.
  • the download button 712 is pressed, the PC 21 requests the server 11 for a DeActivate request file via the network 13.
  • the server 11 transmits a DeActivate request file to the PC 21 via the network 13 in step S261 of FIG.
  • step S232 the PC 21 receives the DeActivate request file transmitted from the server 11. Further, the PC 21 stores the received DeActivate request file in the medium 22 in accordance with, for example, a user operation.
  • step S233 the electronic device 23 executes the command in the DeActivate request file.
  • the user removes the medium 22 storing the DeActivate request file from the PC 21 and connects it to the drive 208 of the electronic device 23.
  • the drive 208 reads the DeActivate request file stored in the medium 22 and supplies it to the control unit 203.
  • the control unit 203 executes a DeActivate request command included in the DeActivate request file.
  • the output unit 205 displays the window 721 in FIG. 32 under the control of the UI control unit 254, for example.
  • a menu of functions that can be used in the electronic device 23 is displayed.
  • three functions of 4K, MPEG-HD, and High Frame Rate are displayed.
  • 4K and MPEG-HD the license has been activated at this time, and it is shown that DeActivate is possible.
  • High Frame Rate is grayed out, indicating that the license is invalidated.
  • steps S231 to S233 are omitted, and the user operates the electronic device 23 without using the DeActivate request command, thereby causing the electronic device 23 to display the window 721 of FIG. May be started.
  • step S234 the license management unit 251 invalidates the license.
  • the user uses the cursor 722 to select a function for returning a license (deactivating function) in the window 721 in FIG.
  • the license management unit 251 makes the function unusable.
  • step S235 the data generation unit 253 generates storage data including the device unique ID and the invalidated installation key of the license. Specifically, the data generation unit 253 reads the device unique ID and the invalidated license installation key from the storage unit 207. The data generation unit 253 generates storage data including the read device unique ID and installation key.
  • step S236 the hash value of the stored data is calculated using the device unique key, as in the process of step S9 of FIG.
  • step S237 the data generation unit 253 generates a license return file including the stored data and the hash value.
  • step S2308 the data generation unit 253 stores the license return file in the medium 22 via the drive 208.
  • step S239 the PC 21 transmits a license return file to the server 11.
  • the user removes the medium 22 from the electronic device 23 and connects it to the PC 21.
  • the PC 21 displays the window 731 of FIG. 33 on the screen.
  • a message for prompting the upload of the license return file acquired from the camera (electronic device 23) and an upload button 732 are displayed.
  • the upload button 732 is pressed, the PC 21 reads the license return file from the medium 22 and transmits it to the server 11 via the network 13.
  • step S240 the PC 21 determines whether or not DeActivate has been completed.
  • step S265 of FIG. 36 which will be described later, the PC 21 determines that the deactivation has been completed when it receives the display control file that notifies the deactivation of the license that is transmitted from the server 11, and the process proceeds to step S241. move on.
  • step S241 the PC 21 notifies the license return completion.
  • the PC 21 displays the window 741 of FIG. 34 on the screen.
  • a message for notifying that DeActivate is completed and the returned license can be installed in another electronic device 23, and an OK button 742 are displayed.
  • the OK button 742 is pressed, for example, a window 751 in FIG. 35 is displayed on the screen of the PC 21.
  • the window 751 is divided into a device information column 751A, a license information column 751B, and a license detailed information column 751C, as in the window 701 in FIG. 30, and has almost the same display content as the window 701. However, the difference is that the DeActivate button 702 disappears and the install button 752 is displayed at the right end of the license information column 701B.
  • the install button 752 When the install button 752 is pressed, the license acquisition process described above with reference to FIG. 6 is started. Thereby, for example, the returned license can be installed in another electronic device 23.
  • step S240 if the PC 21 does not receive the display control file notifying that the license DeActivate has been completed from the server 11, the PC 21 determines that the DeActivate has not been completed, skips the processing in step S241, and The return process ends.
  • This process is started when, for example, the server 11 requests a DeActivate request file from the PC 21 in step S231 of FIG. 29 described above.
  • step S261 the server 11 transmits a DeActivate request file.
  • the data generation unit 152 generates a DeActivate request file including a DeActivate request file command.
  • the communication unit 103 transmits a DeActivate request file to the PC 21 via the network 13 under the control of the communication control unit 154.
  • step S261 can be omitted by omitting the processing of steps S231 to S233 of FIG. 29 of the electronic device 23 as described above.
  • step S262 the server 11 receives the license return file.
  • the communication control unit 154 receives the license return file transmitted from the PC 21 in the process of step S239 of FIG. 29 described above via the communication unit 103.
  • step S263 the license management unit 151 determines whether the combination of the device unique ID and the installation key in the license return file matches the stored combination. Specifically, the license management unit 151 determines that the combination of the device unique ID and the install key matches the combination of the device unique ID and the install key in the license return file from the license information stored in the storage unit 106. Search for license information. When the license management unit 151 detects license information that matches the combination of the device unique ID and the installation key, the license management unit 151 determines that the combination of the device unique ID and the install key in the license return file matches the stored combination. The process proceeds to step S264.
  • step S264 the license management unit 151 determines whether or not the license return file is valid. Specifically, the license management unit 151 reads from the storage unit 106 the device unique key included in the license information detected in the process of step S263.
  • the license management unit 151 calculates the hash value of the stored data included in the license return file using the same hash function as the electronic device 23 and the read device unique key. If the calculated hash value matches the hash value in the license return file, the license management unit 151 determines that the license return file is valid, and the process proceeds to step S265.
  • the device unique key used for calculating the hash value in the license return file, the combination of the install key and device unique ID in the license return file, and the device unique key stored in the storage unit 106 The combination of the installation key and the device unique ID is guaranteed to match.
  • step S265 the license management unit 151 makes the returned license usable.
  • the license management unit 151 updates the license information detected in the process of step S263 as the license information for which the license has been returned.
  • the license management unit 151 makes the install key of the returned license ready to be issued. In this way, the return of the license is accepted.
  • the UI control unit 153 generates a display control file that notifies that the license DeActivate has been completed.
  • the communication unit 103 transmits the display control file to the PC 21 via the network 13 under the control of the communication control unit 154.
  • step S264 if the calculated hash value does not match the hash value in the license return file, the license management unit 151 determines that the license return file is not valid, and the license return is not accepted. The process ends.
  • step S263 if the license management unit 151 does not detect license information in which the combination of the device unique ID and the install key matches, the license unique unit 151 stores the combination of the device unique ID and the install key in the license return file. It is determined that the combination does not match, and the license return process ends without accepting the license return.
  • the license is returned from the electronic device 23 to the server 11 in a safe state so that the license can be used by another electronic device 23. can do.
  • the license can be returned by a one-way process in which the license return file is transmitted from the electronic device 23 to the server 11 via the medium 22 and the PC 21, and the process required for returning the license can be reduced. . That is, the convenience in sharing a license among a plurality of electronic devices 23 is improved.
  • a different device unique key is generated in each electronic device 23, and the security of the communication path between each electronic device 23 and the server 11 is ensured by each different device unique key. Therefore, even if the device unique key of one electronic device 23 is hacked, the license can be safely shared between the other electronic devices 23 without affecting the other electronic devices 23.
  • step S301 the license management unit 151 determines whether there is a license that is a predetermined number of days before the expiration date.
  • the license information stored in the storage unit 106 includes a license whose server expiration date is within a range from the date and time of the current RTC 105 to a predetermined number of days before (for example, five days before)
  • a predetermined number of days before for example, five days before
  • step S302 the license management unit 151 determines whether or not payment has been completed. If the license management unit 151 determines that the license that is a predetermined number of days before the expiration date has already been settled, the process proceeds to step S303.
  • step S303 the license management unit 151 generates an extension code. Specifically, the license management unit 151 generates an extension code for a license that is a predetermined number of days before the expiration date, by a method similar to that of the electronic device 23 in step S205 of FIG. Thereby, even if the server 11 and the electronic device 23 do not communicate directly, an extension code common to the server 11 and the electronic device 23 is generated for each electronic device 23 and for each update count.
  • step S304 the server 11 transmits the extension code by e-mail.
  • the communication unit 103 includes an extension cord as shown in FIG. 25 or FIG. 27 described above for the user who is the right holder of the license for updating the expiration date under the control of the communication control unit 154. send an email.
  • the period during which the extension code can be input in the electronic device 23 is, for example, from a predetermined number of days before the expiration date of the license before the extension to the expiration date of the license after the extension. For example, if the extension code can be entered in advance for 5 days, the license expiration date before the extension is March 31, and the license extension after the extension is April 30, the extension code can be entered Is the period from March 27 to April 30. For the period from March 27 to March 31, it is possible to enter both the extension code for the expiration date until March 31 and the extension code for the expiration date until April 30. is there.
  • step S305 the license management unit 151 updates the expiration date of the license. Specifically, the license management unit 151 updates the expiration date by adding the license expiration date to the server expiration date and the client expiration date in the license information of the license to be updated. In addition, the license management unit 151 increases the value of the number of updates in the license information by one.
  • step S302 determines whether payment has been completed. If it is determined in step S302 that payment has not been completed, the processing from step S303 to step S305 is skipped, the extension code mail is not transmitted, and the processing proceeds to step S306.
  • step S301 If it is determined in step S301 that there is no license that has reached the predetermined number of days before the expiration date, the processing from step S302 to step S305 is skipped, and the processing proceeds to step S306.
  • step S306 the license management unit 151 determines whether there is a license whose expiration date has passed.
  • the license information stored in the storage unit 106 includes a license whose server expiration date is earlier than the current date and time of the RTC 105, the license management unit 151 determines that there is a license that has passed the expiration date, and performs processing Advances to step S307.
  • step S307 the license management unit 151 stops the license.
  • the license management unit 151 sets the server expiration date and the client expiration date in the license information of the license that has passed the expiration date to expire.
  • step S301 Thereafter, the process returns to step S301, and the processes after step S301 are executed.
  • step S306 determines whether there is no license whose expiration date has passed. If it is determined in step S306 that there is no license whose expiration date has passed, the process returns to step S301, and the processes after step S301 are executed.
  • the electronic device 23 As described above, it is possible to appropriately manage the expiration date of the license provided by the server 11 and used in the electronic device 23. For example, even if the electronic device 23 does not directly communicate with the server 11, the electronic device 23 generates a common extension code by the same method as the server 11, and updates the license by performing authentication using the generated extension code (license validity) Can be extended). Further, even if the server 11 and the electronic device 23 do not communicate directly, the license that has passed the expiration date can be invalidated in the electronic device 23. In this way, license expiration management can be completed within the electronic device 23.
  • the user can select a desired one from a plurality of types of valid periods when acquiring a license. Therefore, for example, the user may be able to change the validity period of the license. In this case, the validity period may be changed not only when the license is updated, but also during the validity period of the license.
  • the validity period is 365 days when the validity period has passed until the 20th day of the 30-day license (hereinafter referred to as a 30-day license).
  • a 30-day license An example in the case of changing to a license (hereinafter, 365-day license) will be described.
  • the start date of the 365-day license after the end of the 30-day license.
  • the user is charged for the 365-day license as it is.
  • the expiration date of the 365-day license is set 365 days after the last date of the 30-day license.
  • the start date of the 365-day license is set to the day after the application date of the change to the 365-day license.
  • the user is charged a fee obtained by subtracting the fee for the remaining 10 days of the 30-day license from the fee for the 365-day license.
  • the expiration date of the 365-day license is set 365 days after the application date.
  • the start date of the 365-day license is set as the start date of the 30-day license. That is, in this case, the 30-day license is absorbed into the 365-day license. In this case, for example, the user is charged a fee obtained by subtracting the fee for the 30-day license from the fee for the 365-day license. In this case, the expiration date of the 365-day license is set 364 days after the start date of the 30-day license.
  • a license with the same expiration date can be updated by inputting only one extension code. Therefore, when the same user applies for a license on a different date or changes the validity period on the way, it is desirable to match the expiration date of the license as much as possible.
  • the license validity period is shortened in order to match the license expiration date, for example, the fee is discounted by the shortened amount.
  • the second embodiment is different from the first embodiment mainly in the license expiration date update method. More specifically, in the first embodiment, when the user wants to update the license, the update process (input of the extension code) is performed. However, in the second embodiment, basically, the license is When the user wants to cancel the license, the cancellation processing is performed.
  • This process is started when, for example, the input unit 201 or the PC 21 of the electronic device 23 is operated and a license acquisition instruction for a predetermined function of the electronic device 23 is input.
  • steps S401 to S407 the same processing as in steps S4 to S10 in FIG. 6 is executed.
  • step S408 the communication unit 204 transmits a device information file to the server 11 via the PC 21 and the network 13 under the control of the communication control unit 255.
  • step S409 the communication control unit 255 determines whether a license communication file has been received.
  • the server 11 when the server 11 receives the device information file in step S461 of FIG. 41 described later and determines that the device information is valid, the server 11 acquires the license communication file via the network 13 in step S468. Send.
  • step S410 If the communication control unit 255 determines that the license communication file has been received via the PC 21 and the communication unit 204, the process proceeds to step S410.
  • step S410 the electronic device 23 determines whether to activate the license.
  • the output unit 205 displays the window 801 in FIG. 39 under the control of the UI control unit 254.
  • a model name of the electronic device 23, a function type and a license type, and a message for confirming whether or not to enable the function are displayed. Further, a YES button 402 and a NO button 403 are displayed in the window 401.
  • the license management unit 251 determines that the license is to be activated when the YES button 402 is pressed, and determines that the license is not to be enabled when the NO button 403 is pressed. If it is determined to activate the license, the process proceeds to step S411.
  • step S411 the electronic device 23 executes a license start process, and the license acquisition process ends.
  • details of the license start process will be described with reference to the flowchart of FIG.
  • step S431 it is determined whether the license communication file is valid as in the process of step S61 of FIG. If it is determined that the license communication file is valid, the process proceeds to step S432.
  • step S432 it is determined whether or not the installation key has been installed in the past, as in the process of step S62 of FIG. If it is determined that the install key has not been installed in the past, the process proceeds to step S433.
  • step S433 as in the process of step S63 in FIG. 15, it is determined whether or not the device unique ID in the installation key matches that of the own device. If it is determined that the device unique ID in the installation key matches that of the own device, the process proceeds to step S434.
  • step S434 the license is validated in the same manner as in step S67 of FIG.
  • step S435 the electronic device 23 stores the license information. Specifically, the license management unit 251 calculates the license expiration date (client expiration date) by adding the license expiration date to the device RTC.
  • the validity period of the license is selected from a plurality of types (for example, 30 days or 365 days) when acquiring the license, as in the first embodiment.
  • the storage control unit 256 causes the storage unit 207 to store the license information including the current RTC 206 date and time, the installation key, and the license client expiration date, validity period, and confirmation date and time.
  • the current date and time of the RTC 206 is the date and time when the use of the license is started.
  • the license confirmation date and time indicates the date and time when the license continuation was last confirmed (date and time when it was confirmed that the license was continuously used), and the device RTC is set as an initial value.
  • step S431 if it is determined in step S431 that the license communication file is not valid, if it is determined in step S432 that it is an installation key that has been installed in the past, or in step S433, the device unique ID in the installation key is If it is determined that it does not match that of the own device, the license is not activated and the license start process ends.
  • step S409 if it is determined in step S409 that the license communication file has not been received, or if it is determined in step S410 that the license is not to be activated, the license start process is not performed.
  • the license acquisition process ends.
  • step S461 the device information file is received in the same manner as in step S32 in FIG.
  • step S462 it is determined whether the device information file is valid as in the process of step S33 of FIG. If it is determined that the device information file is valid, the process proceeds to step S463.
  • step S463 the license management unit 151 generates an installation key.
  • FIG. 42 shows an example of the format of the installation key.
  • This installation key includes a function ID, system unique information, and a device unique ID. That is, this installation key is different from the installation key of FIG. 14 in that it does not include the license expiration date and the validity period.
  • step S464 the data generation unit 152 generates storage data including the device RTC and the installation key.
  • step S465 and step S466 processing similar to that in step S37 and step S38 in FIG. 13 is executed.
  • the server 11 stores the license information.
  • the storage control unit 155 stores license information including a combination of the current date and time of the RTC 105, the device unique ID, the device unique key, the installation key, and the license server expiration date, validity period, and confirmation date and time.
  • the license information including a combination of the current date and time of the RTC 105, the device unique ID, the device unique key, the installation key, and the license server expiration date, validity period, and confirmation date and time.
  • the server expiration date of the license is set to the date and time obtained by adding the license validity period to the current RTC 105 date and time.
  • two types of license confirmation date and time are set: date and time based on the RTC 105 of the server 11 (hereinafter also referred to as server confirmation date and time) and date and time based on the RTC 206 of the electronic device 23 (hereinafter also referred to as client confirmation date and time).
  • the date and time of the current RTC 105 is set as the server confirmation date and time
  • the device RTC is set as the client confirmation date and time.
  • the confirmation date and time of the license information of the electronic device 23 is based on the RTC 206 of the electronic device 23 and is therefore the client confirmation date and time.
  • step S468 the license communication file is transmitted in the same manner as in step S40 of FIG. 13, and the license issuance process ends.
  • step S462 determines whether the device information file is valid. If it is determined in step S462 that the device information file is not valid, the processing in steps S463 to S468 is skipped, and the license issuance processing ends.
  • step S501 the license management unit 251 determines whether or not to confirm the license. For example, when the input unit 201 or the PC 21 of the electronic device 23 is operated and a license confirmation instruction for a predetermined function of the electronic device 23 is input, the license management unit 251 determines that the license is to be confirmed. Advances to step S502. Alternatively, for example, when the electronic device 23 is connected to the PC 21 via a cable or the like and communication with the server 11 is started via the PC 21 and the network 13, the license management unit 251 determines to confirm the license, and the process The process proceeds to S502.
  • step S502 the client 12 executes a license confirmation process.
  • the details of the license confirmation processing will be described with reference to the flowchart of FIG.
  • step S531 the date and time of the current RTC 206 is set in the device RTC, similar to the process in step S6 of FIG.
  • step S532 the data generation unit 253 generates storage data including the device unique ID, the device RTC, and the installation key of the license to be confirmed. Specifically, the data generation unit 253 reads the device unique ID and the installation key of the license to be confirmed from the storage unit 207. The data generation unit 253 generates storage data including the read device unique ID, device RTC, and installation key.
  • step S533 the hash value of the stored data is calculated using the device unique key, as in the process of step S9 of FIG.
  • step S534 the data generation unit 253 generates a license confirmation file including the stored data and the hash value.
  • This license confirmation file is mainly used for notification of a license confirmation date (device RTC) in the electronic device 23.
  • step S535 the communication unit 204 transmits the license confirmation file to the server 11 via the PC 21 and the network 13 under the control of the communication control unit 255.
  • the server 11 receives the license confirmation file in step S561 of FIG. 45 described later.
  • step S536 the license management unit 251 determines whether the license confirmation is completed.
  • the license management unit 251 is notified of the completion of the license confirmation from the server 11 via the network 13, the PC 21, and the communication unit 204 in step S566 of FIG. Determination is made, and the process proceeds to step S537.
  • step S537 the license management unit 251 updates the license confirmation date and time. Specifically, the license management unit 251 updates the confirmation date and time (client confirmation date and time) of the license information of the confirmed license stored in the storage unit 207 to the device RTC set in the process of step S531. .
  • step S536 the license management unit 251 determines that the license confirmation has not been completed when the server 11 has not been notified of the completion of the license confirmation, the process of step S537 is skipped, and the license confirmation process is not performed. finish.
  • step S561 the server 11 receives the license confirmation file.
  • the communication control unit 154 receives the license confirmation file transmitted from the electronic device 23 in step S535 of FIG. 44 described above via the communication unit 103.
  • step S562 it is determined whether or not the combination of the device unique ID and the installation key in the license confirmation file matches the stored combination by the same processing as in step S263 of FIG. If it is determined that the combination of the device unique ID and the installation key in the license confirmation file matches the stored combination, the process proceeds to step S563.
  • step S563 whether or not the license confirmation file is valid is determined by the same processing as in step S264 of FIG. If it is determined that the license confirmation file is valid, the process proceeds to step S564.
  • step S564 the license management unit 151 determines whether or not the license has expired. Specifically, the license management unit 151 determines that the license has not expired when the server expiration date of the license information of the license to be confirmed is after the current date and time of the RTC 105, and the processing is step The process proceeds to S565.
  • step S565 the license management unit 151 updates the license confirmation date and time. Specifically, the license management unit 151 updates the client confirmation date and time of the license information of the license to be confirmed to the device RTC in the license confirmation file. Also, the license management unit 151 updates the server confirmation date and time of the license information of the license to be confirmed to the current date and time of the RTC 105.
  • the license confirmation date of the license in the electronic device 23 is notified to the server 11 by the device RTC of the license confirmation file, and is recognized by the server 11. Then, the server 11 sets the device RTC to the license confirmation date (client confirmation date) in the electronic device 23. Further, the server 11 sets the date and time (server confirmation date and time) in the server 11 of the license confirmation date and time in the electronic device 23 based on the RTC 105.
  • step S566 the communication unit 103 notifies the completion of the license confirmation via the network 13 and the PC 21 under the control of the communication control unit 154.
  • step S564 the license management unit 151 determines that the license has expired when the server expiration date of the license information of the license to be confirmed is before the current date and time of the RTC 105, and the license is expired.
  • the confirmation date is not updated, and the license confirmation process ends.
  • step S562 If it is determined in step S562 that the combination of the installation key and the device unique ID in the license confirmation file does not match the stored combination, or in step S563, it is determined that the license confirmation file is not valid. In this case, the license confirmation reception process is terminated without updating the license confirmation date and time.
  • the server 11 confirms the continuation of the license of the electronic device 23.
  • step S501 determines that the license is not to be confirmed. If it is determined in step S501 that the license is not to be confirmed, the process of step S502 is skipped, and the process proceeds to step S503.
  • step S503 the license management unit 251 determines whether there is a license that has not been confirmed for a predetermined period.
  • the license management unit 251 is based on the license information stored in the storage unit 106 when the electronic device 23 is turned on, when the use of the electronic device 23 is started, or periodically.
  • the license management unit 251 performs a function based on license information stored in the storage unit 106 when an operation for executing a function requiring a license is performed via the input unit 201.
  • a predetermined longest unconfirmed period for example, 30 days
  • step S504 the output unit 205 displays a confirmation code input screen under the control of the UI control unit 254. For example, when a function corresponding to a license that has not been confirmed for a predetermined period of time is activated, a confirmation code input screen is displayed. Note that, unlike the above-described extension code, the confirmation code is used not for extending the expiration date of the license but for confirming the continuation of the license.
  • step S505 the license management unit 251 determines whether or not a correct confirmation code has been input.
  • the license management unit 251 generates a formal confirmation code based on the confirmation date and time in the license information of the license to be confirmed by a predetermined method. For example, the license management unit 251 generates a confirmation code by a predetermined algorithm based on the date / time obtained by adding the longest unconfirmed period to the confirmation date / time of the license to be confirmed. This algorithm generates the same confirmation code if the input date and time are the same, and generates a different confirmation code if the input date and time are different.
  • the license management unit 251 determines that the correct confirmation code has not been input, and the process proceeds to step S506.
  • step S506 the license management unit 251 determines whether the confirmation code has been mistaken for a predetermined number of times. If it is determined that the confirmation code has not been mistaken for a predetermined number of times, the process returns to step S504.
  • step S506 the processing from step S504 to step S506 is repeatedly executed until it is determined in step S505 that a correct confirmation code has been input or until it is determined in step S506 that the confirmation code has been mistaken a predetermined number of times.
  • the use of the license is stopped until the correct confirmation code is input, and the function corresponding to the license cannot be used.
  • step S505 if the input confirmation code matches the generated confirmation code, the license management unit 251 determines that the correct confirmation code has been input, and the process proceeds to step S507.
  • step S507 the license management unit 251 updates the confirmation date and time of the license for which the confirmation code has been input. Specifically, the license management unit 251 updates the confirmation date and time by adding the longest unconfirmed period to the confirmation date and time (client confirmation date and time) in the license information of the license for which the confirmation code is input.
  • step S506 determines whether the confirmation code has been mistaken for a predetermined number of times. If it is determined in step S506 that the confirmation code has been mistaken for a predetermined number of times, the process proceeds to step S508.
  • step S508 the license management unit 251 invalidates the license. That is, the license management unit 251 puts the function corresponding to the license with the wrong confirmation code into a state where it cannot be used.
  • step S503 the license management unit 251 determines that the license information stored in the storage unit 106 does not include a license whose confirmation date and time is longer than the longest unconfirmed period before the current RTC 206 date and time. It is determined that there is no license that has not been confirmed, the processing in steps S504 to S508 is skipped, and the processing proceeds to step S509.
  • step S509 the license management unit 251 determines whether to cancel the license. For example, the license management unit 251 determines that the license is to be canceled when the input unit 201 or the PC 21 of the electronic device 23 is operated and a license cancellation instruction for a predetermined function of the electronic device 23 is input. Advances to step S510.
  • step S510 the client 12 executes a license cancellation process.
  • the details of the license cancellation process will be described with reference to the flowchart of FIG.
  • steps S601 to S603 the same processing as in steps S234 to S236 of FIG. 29 described above is executed.
  • step S604 the data generation unit 253 generates a license cancellation file including the stored data and the hash value.
  • step S605 the license cancellation file is transmitted to the server 11 by the same processing as in step S535 of FIG.
  • step S606 the license management unit 251 determines whether the license cancellation has been completed.
  • step S634 of FIG. 48 to be described later the license management unit 251 determines that the license cancellation has been completed when the server 11 is notified of the completion of the license cancellation, and the process proceeds to step S607.
  • step S607 the output unit 205 notifies the completion of the license cancellation under the control of the UI control unit 254.
  • step S606 if the license cancellation unit 251 is not notified of the completion of the license cancellation from the server 11, the license management unit 251 determines that the license cancellation has not been completed, skips the processing of step S607, and performs the license cancellation processing. finish.
  • step S631 the server 11 receives the license cancellation file.
  • the communication control unit 154 receives the license cancellation file transmitted from the electronic device 23 in the process of step S605 in FIG. 43 described above via the communication unit 103.
  • step S632 it is determined whether or not the combination of the device unique ID and the installation key in the license cancellation file matches the stored combination by the same processing as in step S263 of FIG. If it is determined that the combination of the device unique ID and the installation key in the license cancellation file matches the stored combination, the process proceeds to step S633.
  • step S633 whether or not the license cancellation file is valid is determined by the same processing as in step S264 of FIG. If it is determined that the license cancellation file is valid, the process proceeds to step S634.
  • step S634 the server 11 accepts the license cancellation.
  • the license management unit 151 stores data indicating cancellation in the license information of the license to be canceled stored in the storage unit 106.
  • the communication unit 103 notifies the client 12 of the completion of the license cancellation via the network 13 under the control of the communication control unit 154.
  • step S632 if it is determined in step S632 that the combination of the installation key and the device unique ID in the license cancellation file does not match the stored combination, or in step S633, it is determined that the license cancellation file is not valid. In this case, the license cancellation process is terminated without accepting the license cancellation.
  • step S509 determines that the license is not canceled. If it is determined in step S509 that the license is not canceled, the process of step S510 is skipped, and the process proceeds to step S511.
  • step S511 it is determined whether or not the RTC 206 is in an unset state, similar to the processing in step S213 in FIG. If it is determined that the RTC 206 has not been set, the process proceeds to step S512.
  • step S512 all licenses are invalidated in the same manner as in step S214 in FIG.
  • step S501 Thereafter, the process returns to step S501, and the processes after step S501 are executed.
  • step S511 if it is determined in step S511 that the RTC 206 is not in the unset state, the process returns to step S501, and the processes after step S501 are executed.
  • step S701 the license management unit 151 determines whether there is a license that has not been confirmed for a predetermined period. If the license information stored in the storage unit 106 includes a license whose server confirmation date is a predetermined period or more before the current date and time of the RTC 105, in other words, the license management unit 151 confirms from the electronic device 23. If there is a license for which a predetermined period has elapsed since the date and time (device RTC) is notified, it is determined that there is a license that has not been confirmed for a predetermined period or more, and the process proceeds to step S702.
  • this predetermined period is set to a period (for example, 25 days) shorter than the longest unconfirmed period (for example, 30 days) of the processing in step S503 in FIG.
  • the confirmation code is notified from the server 11 to the client 12 before the longest unconfirmed period elapses without confirming the license in the electronic device 23.
  • step S702 the license management unit 151 generates a confirmation code.
  • the license management unit 151 generates a formal confirmation code based on the client confirmation date and time in the license information of the license for which the confirmation code is to be generated, by the same method as the electronic device 23.
  • the license management unit 151 generates a confirmation code by the same algorithm as the electronic device 23 based on the date and time when the longest unconfirmed period is added to the client confirmation date and time of the license for which the confirmation code is to be generated.
  • the client confirmation date and time in the license information of the server 11 is set to the same date and time as the confirmation date and time in the license information of the corresponding electronic device 23, the same confirmation code is generated in the server 11 and the electronic device 23. Become so.
  • step S703 a confirmation code is sent by e-mail by the same processing as in step S304 of FIG.
  • step S ⁇ b> 701 the license management unit 151 determines that the license information stored in the storage unit 106 does not include a license whose server confirmation date and time is a predetermined period or more before the current RTC 105 date and time. It is determined that there is no license that has not been confirmed, and the processing of step S702 and step S703 is skipped, and the processing proceeds to step S704.
  • step S704 as in the process of step S306 in FIG. If it is determined that there is a license that has expired, the process proceeds to step S705.
  • step S705 the license management unit 151 determines whether the payment has been completed. If the license management unit 151 determines that the license whose expiration date has passed has already been settled, the process proceeds to step S706.
  • step S706 the license management unit 151 updates the expiration date of the license. Specifically, the license management unit 151 updates the expiration date by adding the license expiration date to the server expiration date in the license information of the license whose license expiration date is to be updated.
  • step S701 the process returns to step S701, and the processes after step S701 are executed.
  • step S705 determines in step S705 that the license whose expiration date has passed has not been settled.
  • step S707 the license is stopped in the same manner as in step S307 in FIG.
  • step S701 the process returns to step S701, and the processes after step S701 are executed.
  • step S704 determines whether there is no license that has expired. If it is determined in step S704 that there is no license that has expired, the process returns to step S701, and the processes after step S701 are executed.
  • the license provided by the server 11 and used by the electronic device 23 can be appropriately updated. For example, if the license is settled, the license is automatically updated until the user performs a cancellation process. Then, the user can use the license continuously by simply connecting the electronic device 23 to the server 11 and confirming the continuation of the license. In addition, even if the license continuation is not confirmed for a long time, if the license is settled, the user can confirm the continuation of the license only by inputting the confirmation code notified from the server 11. The license can be used continuously. Further, when the payment for the license is stopped, the use of the license is automatically stopped in the electronic device 23 even if the electronic device 23 does not communicate with the server 11.
  • another information processing apparatus for example, a smartphone, a tablet, or the like
  • a smartphone for example, a smartphone, a tablet, or the like
  • the server 11 can read and write the media 22
  • another information processing apparatus for example, a smartphone, a tablet, or the like
  • the electronic device 23 is connected to the PC 21 so that the server 11 and the electronic device 23 exchange data via the network 13 and the PC 21. It may be. Further, for example, the electronic device 23 may directly communicate with the server 11 via the network 13 to exchange data.
  • the license installation may be permitted even after a predetermined grace period.
  • the validity period of the license is shortened by the amount that has passed the grace period.
  • an extension code may be generated using data according to the installation key instead of the installation key.
  • the data corresponding to the installation key is data having a different value for each license installation, such as an installation key.
  • the server 11 can count up a counter for each installation and use the counter value (for example, the number of installations) instead of the installation key.
  • an extension code may be generated using data according to the number of updates.
  • the data according to the number of updates is, for example, data that differs depending on the number of updates, such as data obtained by multiplying the number of updates by a predetermined coefficient.
  • the server 11 and the electronic device 23 may exchange data via the network 13, the PC 21, and the medium 22. Further, for example, the electronic device 23 may directly communicate with the server 11 via the network 13 to exchange data.
  • the license cancellation when the license cancellation is accepted in the process of step S634 in FIG. 47, if the license validity period still remains, the remaining period
  • the license may be used with another electronic device 23. In other words, in this case, the license whose cancellation has been accepted is treated as a floating license until the valid period expires.
  • extension code or the confirmation code may be input using, for example, an application program of a smartphone.
  • the smartphone and the electronic device 23 may perform short-range wireless communication, and the extension code or the confirmation code may be transferred from the smartphone to the electronic device 23.
  • the format of the installation key shown in FIGS. 14 and 42 is an example, and can be changed as appropriate.
  • a part of data included in the installation key may be stored in a file such as a license communication file for transmitting the installation key without being stored in the installation key.
  • step S205 of FIG. 24 the electronic device 23 transmits an extension code to the server 11 via the PC 21 and the network 13, and the server 11 authenticates with the extension code, thereby validating the license expiration date. You may make it update.
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the computer.
  • the computer includes, for example, a general-purpose personal computer capable of executing various functions by installing various programs by installing a computer incorporated in dedicated hardware.
  • FIG. 49 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • an input / output interface 1005 is connected to the bus 1004.
  • An input unit 1006, an output unit 1007, a recording unit 1008, a communication unit 1009, and a drive 1010 are connected to the input / output interface 1005.
  • the input unit 1006 includes an input switch, a button, a microphone, an image sensor, and the like.
  • the output unit 1007 includes a display, a speaker, and the like.
  • the recording unit 1008 includes a hard disk, a nonvolatile memory, and the like.
  • the communication unit 1009 includes a network interface or the like.
  • the drive 1010 drives a removable recording medium 1011 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 1001 loads the program recorded in the recording unit 1008 to the RAM 1003 via the input / output interface 1005 and the bus 1004 and executes the program. A series of processing is performed.
  • the program executed by the computer 1000 can be provided by being recorded on a removable recording medium 1011 as a package medium, for example.
  • the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the recording unit 1008 via the input / output interface 1005 by attaching the removable recording medium 1011 to the drive 1010. Further, the program can be received by the communication unit 1009 via a wired or wireless transmission medium and installed in the recording unit 1008. In addition, the program can be installed in the ROM 1002 or the recording unit 1008 in advance.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • the present technology can take a cloud computing configuration in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • a key generation unit that generates a device unique key that is unique to each device; An extension code generated by a predetermined method based on the device-specific key, first data that differs for each license installation provided by the information processing apparatus, and second data that differs depending on the number of times the license is updated is input.
  • An electronic device comprising: a license management unit that updates the license when the extension code matches.
  • the first data is an installation key for installing the license; The electronic device according to (1), wherein the license management unit installs the license using the installation key.
  • a data generation unit that generates device information that is information including the device unique key; The electronic device according to (2), wherein the install key is included in license communication information that is information generated by the information processing apparatus using the device information.
  • the license communication information includes a user ID unique to the right holder of the license, The license management unit may update a plurality of the licenses associated with one user ID when the generated extension code matches the input extension code.
  • a license management unit that generates an extension code for updating the license in the same manner as the electronic device;
  • An information processing apparatus comprising: a communication control unit that controls transmission of the extension cord.
  • the license management unit generates an installation key for installing the license, The information processing apparatus according to (10), wherein the first data is the installation key.
  • (12) Data generation for generating license communication information that includes the installation key and is used for installation of the license in the electronic device, using the device information that is the information generated by the electronic device, including the device unique key
  • 15) The information processing apparatus according to any one of (10) to (14), wherein the second data indicates a number of updates of the license.
  • the license management unit generates an extension code having a predetermined number of digits based on the device unique key, the first data, and the second data, using the same hash function as that of the electronic device.
  • the information processing apparatus according to any one of 10) to (15).
  • An electronic device comprising: a license management unit that stops use of the license until a confirmation code used for confirming the continuation of the license is input.
  • a key generation unit that generates a device unique key that is a unique key for each device;
  • the data generation unit includes an installation key supplied for installation of the license from the information processing apparatus, and is secured information using the device unique key.
  • the electronic device according to (20) further generating license cancellation information that is information used for cancellation.
  • the electronic device according to (22), wherein the key generation unit generates the device unique key before the device information is generated for the first time.
  • the license management unit installs the license using the installation key included in the license communication information, which is information generated by the information processing apparatus using the device information.
  • An electronic device equipped with a hardware clock When a predetermined period elapses after the confirmation date and time based on the hardware clock is notified to the information processing device that manages the license expiration date, it is generated in the same manner as the information processing device based on the confirmation date and time. An information processing method for stopping the use of the license until a confirmation code used for confirming the continuation of the license is input.
  • the information processing apparatus recognizes the confirmation date and time using license confirmation information that includes the confirmation date and time and is information generated by the electronic device.
  • the license management unit includes an installation key for installing the license, and is information secured by using a device unique key that is a key unique to the electronic device, and is generated by the electronic device.
  • the information processing apparatus according to (27) or (28), wherein the license cancellation information is used to cancel the license.
  • the information processing apparatus according to (29), further including a unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本技術は、情報処理装置が提供し、電子機器で使用するライセンスの更新を適切に行うことができるようにする情報処理装置、情報処理方法、プログラム、及び、電子機器に関する。 電子機器は、機器毎に固有の鍵である機器固有鍵を生成する鍵生成部と、前記機器固有鍵、情報処理装置が提供するライセンスのインストール毎に異なる第1のデータ、及び、前記ライセンスの更新回数により異なる第2のデータに基づいて所定の方法により生成した延長コードと、入力された延長コードとが一致する場合、前記ライセンスを更新するライセンス管理部とを備える。本技術は、例えば、サブスクリプションライセンスを使用するカメラに適用できる。

Description

情報処理装置、情報処理方法、プログラム、及び、電子機器
 本技術は、情報処理装置、情報処理方法、プログラム、及び、電子機器に関し、特に、情報処理装置が提供し、電子機器が使用するライセンスの更新を行う場合に用いて好適な情報処理装置、情報処理方法、プログラム、及び、電子機器に関する。
 従来、サーバから提供されるカプセル化されたソフトウエア(以下、カプセルと称する)の有効期限の管理を、ICカードを用いて行うことが提案されている(例えば、特許文献1参照)。
 具体的には、PC(パーソナルコンピュータ)が、カプセルの起動時に、有効期限開始時刻及び有効期限終了時刻を含む有効期限認証データをICカードに送信する。ICカードは、ICカード時刻が有効期限開始時刻より前である場合、ICカード時刻を有効期限開始時刻に書き換える。また、ICカードは、ICカード時刻が有効期限終了時刻より前である場合、カプセルの使用を許可し、ICカード時刻が有効期限終了時刻以降である場合、カプセルの使用を許可しない。これにより、PCをサーバに接続せずにオフラインでカプセルの期限管理を行うことができる。
特開2011-87794号公報
 しかしながら、特許文献1に記載の発明では、ライセンスの更新については検討されていない。
 本技術は、このような状況に鑑みてなされたものであり、サーバ等の情報処理装置が提供し、電子機器で使用するライセンスの更新を適切に行うことができるようにするものである。
 本技術の第1の側面の電子機器は、機器毎に固有の鍵である機器固有鍵を生成する鍵生成部と、前記機器固有鍵、情報処理装置が提供するライセンスのインストール毎に異なる第1のデータ、及び、前記ライセンスの更新回数により異なる第2のデータに基づいて所定の方法により生成した延長コードと、入力された延長コードとが一致する場合、前記ライセンスを更新するライセンス管理部とを備える。
 本技術の第1の側面の情報処理方法は、電子機器が、前記電子機器に固有の鍵である機器固有鍵を生成し、前記機器固有鍵、情報処理装置が提供するライセンスのインストール毎に異なる第1のデータ、及び、前記ライセンスの更新回数により異なる第2のデータに基づいて所定の方法により生成した延長コードと、入力された延長コードとが一致する場合、前記ライセンスを更新する。
 本技術の第1の側面のプログラムは、電子機器のコンピュータに、前記電子機器に固有の鍵である機器固有鍵を生成し、前記機器固有鍵、情報処理装置が提供するライセンスのインストール毎に異なる第1のデータ、及び、前記ライセンスの更新回数により異なる第2のデータに基づいて所定の方法により生成した延長コードと、入力された延長コードとが一致する場合、前記ライセンスを更新する処理を実行させる。
 本技術の第2の側面の情報処理装置は、電子機器に固有の鍵である機器固有鍵、前記電子機器へのライセンスのインストール毎に異なる第1のデータ、及び、前記電子機器における前記ライセンスの更新回数により異なる第2のデータに基づいて、前記電子機器と同じ方法により前記ライセンスを更新するための延長コードを生成するライセンス管理部と、前記延長コードの送信を制御する通信制御部とを備える。
 本技術の第2の側面の情報処理方法は、情報処理装置が、電子機器に固有の鍵である機器固有鍵、前記電子機器へのライセンスのインストール毎に異なる第1のデータ、及び、前記電子機器における前記ライセンスの更新回数により異なる第2のデータに基づいて、前記電子機器と同じ方法により前記ライセンスを更新するための延長コードを生成し、前記延長コードの送信を制御する。
 本技術の第2の側面のプログラムは、電子機器に固有の鍵である機器固有鍵、前記電子機器へのライセンスのインストール毎に異なる第1のデータ、及び、前記電子機器における前記ライセンスの更新回数により異なる第2のデータに基づいて、前記電子機器と同じ方法により前記ライセンスを更新するための延長コードを生成し、前記延長コードの送信を制御する処理をコンピュータに実行させる。
 本技術の第3の側面の電子機器は、ハードウエアクロックと、前記ハードウエアクロックに基づく日時である確認日時がライセンスの期限を管理する情報処理装置に通知されてから所定の期間が経過した場合、前記確認日時に基づいて前記情報処理装置と同じ方法で生成され、前記ライセンスの継続の確認に用いられる確認コードが入力されるまで、前記ライセンスの使用を停止するライセンス管理部とを備える。
 本技術の第3の側面の情報処理方法は、ハードウエアクロックを備える電子機器が、前記ハードウエアクロックに基づく日時である確認日時がライセンスの期限を管理する情報処理装置に通知されてから所定の期間が経過した場合、前記確認日時に基づいて前記情報処理装置と同じ方法で生成され、前記ライセンスの継続の確認に用いられる確認コードが入力されるまで、前記ライセンスの使用を停止する。
 本技術の第3の側面のプログラムは、ハードウエアクロックを備える電子機器のコンピュータに、前記ハードウエアクロックに基づく日時である確認日時がライセンスの期限を管理する情報処理装置に通知されてから所定の期間が経過した場合、前記確認日時に基づいて前記情報処理装置と同じ方法で生成され、前記ライセンスの継続の確認に用いられる確認コードが入力されるまで、前記ライセンスの使用を停止する処理を実行させる。
 本技術の第4の側面の情報処理装置は、電子機器のハードウエアクロックに基づく日時である確認日時が通知されてから所定の期間が経過した場合、前記確認日時に基づいて、前記電子機器が使用するライセンスの継続を前記電子機器において確認するための確認コードを前記電子機器と同じ方法で生成するライセンス管理部と、前記確認コードの送信を制御する通信制御部とを備える。
 本技術の第4の側面の情報処理方法は、情報処理装置が、電子機器のハードウエアクロックに基づく日時である確認日時が通知されてから所定の期間が経過した場合、前記確認日時に基づいて、前記電子機器が使用するライセンスの継続を前記電子機器において確認するための確認コードを前記電子機器と同じ方法で生成し、前記確認コードの送信を制御する。
 本技術の第4の側面のプログラムは、電子機器のハードウエアクロックに基づく日時である確認日時が通知されてから所定の期間が経過した場合、前記確認日時に基づいて、前記電子機器が使用するライセンスの継続を前記電子機器において確認するための確認コードを前記電子機器と同じ方法で生成し、前記確認コードの送信を制御する処理をコンピュータに実行させる。
 本技術の第1の側面においては、電子機器に固有の鍵である機器固有鍵が生成され、前記機器固有鍵、情報処理装置が提供するライセンスのインストール毎に異なる第1のデータ、及び、前記ライセンスの更新回数により異なる第2のデータに基づいて所定の方法により生成した延長コードと、入力された延長コードとが一致する場合、前記ライセンスが更新される。
 本技術の第2の側面においては、電子機器に固有の鍵である機器固有鍵、前記電子機器へのライセンスのインストール毎に異なる第1のデータ、及び、前記電子機器における前記ライセンスの更新回数により異なる第2のデータに基づいて、前記電子機器と同じ方法により前記ライセンスを更新するための延長コードが生成され、前記延長コードの送信が制御される。
 本技術の第3の側面においては、ハードウエアクロックに基づく日時である確認日時がライセンスの期限を管理する情報処理装置に通知されてから所定の期間が経過した場合、前記確認日時に基づいて前記情報処理装置と同じ方法で生成され、前記ライセンスの継続の確認に用いられる確認コードが入力されるまで、前記ライセンスの使用が停止される。
 本技術の第4の側面においては、電子機器のハードウエアクロックに基づく日時である確認日時が通知されてから所定の期間が経過した場合、前記確認日時に基づいて、前記電子機器が使用するライセンスの継続を前記電子機器において確認するための確認コードが前記電子機器と同じ方法で生成され、前記確認コードの送信が制御される。
 本技術の第1乃至第4の側面によれば、情報処理装置が提供するライセンスを電子機器で使用することができる。また、本技術の第1乃至第4の側面によれば、情報処理装置が提供し、電子機器で使用するライセンスの更新を適切に行うことができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載された何れかの効果であってもよい。
本技術を適用した情報処理システムの一実施の形態を示すブロック図である。 サーバの構成例を示すブロック図である。 サーバの制御部の機能の構成例を示すブロック図である。 電子機器の構成例を示すブロック図である。 電子機器の制御部の機能の構成例を示すブロック図である。 クライアントにより実行されるライセンス取得処理を説明するためのフローチャートである。 PCの画面の例を示す図である。 PCの画面の例を示す図である。 電子機器の画面の例を示す図である。 PCの画面の例を示す図である。 PCの画面の例を示す図である。 PCの画面の例を示す図である。 サーバにより実行されるライセンス発行処理を説明するためのフローチャートである。 インストールキーのフォーマット例を示す図である。 クライアントにより実行されるライセンス開始処理を説明するためのフローチャートである。 電子機器の画面の例を示す図である。 クライアントにより実行されるライセンス再取得処理を説明するためのフローチャートである。 PCの画面の例を示す図である。 PCの画面の例を示す図である。 PCの画面の例を示す図である。 PCの画面の例を示す図である。 PCの画面の例を示す図である。 サーバにより実行されるライセンス再発行処理を説明するためのフローチャートである。 クライアントにより実行されるライセンス管理処理を説明するためのフローチャートである。 延長コードを通知するメールの第1の例を示す図である。 延長コードの入力方法を説明するための図である。 延長コードを通知するメールの第2の例を示す図である。 延長コードの入力方法を説明するための図である。 クライアントにより実行されるライセンス返却処理を説明するためのフローチャートである。 PCの画面の例を示す図である。 PCの画面の例を示す図である。 電子機器の画面の例を示す図である。 PCの画面の例を示す図である。 PCの画面の例を示す図である。 PCの画面の例を示す図である。 サーバにより実行されるライセンス返却受付処理を説明するためのフローチャートである。 サーバにより実行されるライセンス期限管理処理を説明するためのフローチャートである。 クライアントにより実行されるライセンス取得処理を説明するためのフローチャートである。 電子機器の画面の例を示す図である。 クライアントにより実行されるライセンス開始処理を説明するためのフローチャートである。 サーバにより実行されるライセンス発行処理を説明するためのフローチャートである。 インストールキーのフォーマット例を示す図である。 クライアントにより実行されるライセンス管理処理を説明するためのフローチャートである。 クライアントにより実行されるライセンス確認処理を説明するためのフローチャートである。 サーバにより実行されるライセンス確認受付処理を説明するためのフローチャートである。 クライアントにより実行されるライセンス解約処理を説明するためのフローチャートである。 サーバにより実行されるライセンス解約受付処理を説明するためのフローチャートである。 サーバにより実行されるライセンス期限管理処理を説明するためのフローチャートである。 コンピュータの構成例を示す図である。
 以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
 1.実施の形態
 2.変形例
 3.その他
 <<1.実施の形態>>
 まず、図1乃至図48を参照して、本技術の実施の形態について説明する。
 <情報処理システム10の構成例>
 図1は、本技術を適用した情報処理システム10の構成例を示している。
 情報処理システム10は、サーバ11、クライアント12、及び、ネットワーク13を備える。クライアント12は、パーソナルコンピュータ(PC)21、リムーバブルメディア22、及び、電子機器23を備える。
 サーバ11とPC21は、ネットワーク13を介して接続されており、相互に通信を行う。
 サーバ11は、電子機器23で使用する機能のライセンスの提供及び管理、並びに、電子機器23の機能を実現するためのソフトウエアの提供等を行う。
 PC21は、ネットワーク13を介してサーバ11と通信を行うことにより、サーバ11と各種のデータの授受を行う。例えば、PC21は、電子機器23で使用する機能のライセンスに関するデータ、並びに、電子機器23で使用するソフトウエア等の各種のデータをサーバ11から受信する。また、PC21は、電子機器23に関するデータ等の各種のデータをサーバ11に送信する。
 リムーバブルメディア22は、磁気ディスク、光ディスク、光磁気ディスク、又は、半導体メモリ等からなり、PC21と電子機器23の間の各種のデータの授受に用いられる。
 なお、以下、リムーバブルメディア22のことを単にメディア22とも称する。
 電子機器23は、ケーブル等を介してPC21に接続され、PC21を介してネットワーク13に接続し、サーバ11と通信を行うことが可能である。また、電子機器23は、サーバ11から提供されるライセンスを、PC21又はメディア22を介してインストールすることにより、インストールしたライセンスに対応する機能の使用が可能になる。さらに、電子機器23は、必要に応じて、PC21又はメディア22を介して、サーバ11から提供されたライセンスをサーバ11に返却する。
 なお、電子機器23の種類は特に限定されない。以下、主に電子機器23がカメラである場合を例に挙げて説明する。
 また、サーバ11が提供するライセンスの対象となる機能の種類は、特に限定されない。例えば、必ずしもソフトウエアを用いた機能でなくてもよく、ハードウエアのみで実現される機能でもよい。
 さらに、サーバ11が、ライセンスの対象となる機能を実現するためのソフトウエアも提供するようにしてもよい。この場合、当該機能のライセンスは、その機能を実現するためのソフトウエアのライセンスでもある。
 また、図1では、図及び説明を分かりやすくするためにクライアント12を1つのみ図示しているが、実際には複数のクライアント12が設けられる。さらに、サーバ11も1つのみ図示しているが、サーバ11を複数設けるようにしてもよい。また、1つのクライアント12が、PC21、メディア22、及び、電子機器23のうち少なくとも1つを複数備えていてもよい。
 <サーバ11の構成例>
 図2は、サーバ11の構成例を示している。
 サーバ11は、入力部101、制御部102、通信部103、出力部104、RTC(Real Time Clock)105、及び、記憶部106を備える。入力部101、制御部102、通信部103、出力部104、RTC105、及び、記憶部106は、バス121を介して相互に接続されている。
 入力部101は、例えば、スイッチ、ボタン、キー、マイクロフォン、撮像素子等の入力機器を備え、各種のデータの入力に用いられる。入力部101は、入力されたデータを、バス121を介してサーバ11の各部に供給する。
 制御部102は、例えば、CPU(Central Processing Unit)等のプロセッサを備え、サーバ11の各部の処理の制御を行う。
 通信部103は、例えば、通信機器等を備え、ネットワーク13を介してPC21と通信を行う。なお、通信部103の通信方式は、特に限定されず、有線又は無線のいずれの通信方式であってもよい。また、例えば、通信部103が複数の通信方式に対応していてもよい。
 出力部104は、例えば、ディスプレイ、スピーカ、照明装置、バイブレータ等の出力機器を備え、画像、音声、光、振動等により各種のデータの出力を行う。
 RTC105は、サーバ11の電源をオフしても、バックアップ電池(不図示)等により稼働を続けるハードウエアクロックである。RTC105は、ユーザが日時(日付と時刻)を変更できないように管理されている。
 記憶部106は、少なくとも不揮発性の記憶媒体を備え、サーバ11の処理に必要な各種のデータやソフトウエアを記憶する。
 なお、以下、サーバ11の各部がバス121を介してデータの授受等を行う場合、バス121の記載を適宜省略する。例えば、制御部102と通信部103が、バス121を介してデータの授受を行う場合、単に、制御部102と通信部103がデータの授受を行うという。
 <制御部102の機能の構成例>
 図3は、サーバ11の制御部102の機能の構成例を示している。制御部102は、例えば、制御プログラムを実行することにより、ライセンス管理部151、データ生成部152、UI(ユーザインタフェース)制御部153、通信制御部154、及び、記憶制御部155を含む機能を実現する。
 ライセンス管理部151は、電子機器23において使用する機能のライセンスの管理を行う。
 データ生成部152は、PC21に送信する各種のデータを生成する。
 UI制御部153は、PC21及び電子機器23におけるユーザインタフェースの制御を行う。例えば、UI制御部153は、PC21の画面に各種の情報を表示するための表示制御ファイルを生成し、PC21に送信することにより、PC21におけるユーザインタフェースを制御する。
 通信制御部154は、通信部103による通信処理の制御を行う。また、通信制御部154は、PC21に送信するデータをサーバ11の各部から取得したり、PC21から受信したデータをサーバ11の各部に供給したりする。
 記憶制御部155は、電子機器23において使用する機能のライセンスに関するデータ等の記憶部106への記憶を制御する。
 <電子機器23の構成例>
 図4は、電子機器23の構成例を示している。
 電子機器23は、入力部201、機能実行部202、制御部203、通信部204、出力部205、RTC(Real Time Clock)206、記憶部207、及び、ドライブ208を備える。入力部201、機能実行部202、制御部203、通信部204、出力部205、RTC206、記憶部207、及び、ドライブ208は、バス221を介して相互に接続されている。
 入力部201は、例えば、スイッチ、ボタン、キー、マイクロフォン、撮像素子等の入力機器を備え、各種のデータの入力に用いられる。入力部201は、入力されたデータを、バス221を介して電子機器23の各部に供給する。
 機能実行部202は、電子機器23の機能を実行するための各種のハードウエア及びソフトウエアを備える。例えば、電子機器23がカメラである場合、機能実行部202は、レンズ、撮像素子等を備える。
 制御部203は、例えば、CPU(Central Processing Unit)等のプロセッサを備え、電子機器23の各部の処理の制御を行う。
 通信部204は、例えば、通信機器等を備え、PC21や図示せぬ他の電子機器(例えば、スマートフォン等)と通信を行う。なお、通信部204の通信方式は、特に限定されず、有線又は無線のいずれの通信方式であってもよい。また、例えば、通信部204が複数の通信方式に対応していてもよい。
 出力部205は、例えば、ディスプレイ、スピーカ、照明装置、バイブレータ等の出力機器を備え、画像、音声、光、振動等により各種のデータの出力を行う。
 RTC206は、電子機器23の電源をオフしても、バックアップ電池等により稼働を続けるハードウエアクロックである。RTC206は、ユーザが日時(日付と時刻)を変更できないように管理されている。
 記憶部207は、少なくとも不揮発性の記憶媒体を備え、電子機器23の処理に必要な各種のデータやソフトウエアを記憶する。
 ドライブ208は、メディア22を着脱可能であり、接続されたメディア22を駆動する。
 なお、以下、電子機器23の各部がバス221を介してデータの授受等を行う場合、バス221の記載を適宜省略する。例えば、制御部203と通信部204が、バス221を介してデータの授受を行う場合、単に、制御部203と通信部204がデータの授受を行うという。
 <制御部203の機能の構成例>
 図5は、電子機器23の制御部203の機能の構成例を示している。制御部203は、例えば、制御プログラムを実行することにより、ライセンス管理部251、鍵生成部252、データ生成部253、UI(ユーザインタフェース)制御部254、通信制御部255、及び、記憶制御部256を含む機能を実現する。
 ライセンス管理部251は、電子機器23において使用する機能のライセンスの管理を行う。
 鍵生成部252は、電子機器23毎に異なる固有の秘密鍵である機器固有鍵を生成する。
 データ生成部253は、PC21又はメディア22を介してサーバ11に送信する各種のデータを生成する。
 UI制御部254は、出力部205を制御して、電子機器23におけるユーザインタフェースの制御を行う。
 通信制御部255は、通信部204による通信処理の制御を行う。また、通信制御部255は、通信部204を介して外部に送信するデータを電子機器23の各部から取得したり、通信部204を介して外部から受信したデータを電子機器23の各部に供給したりする。
 記憶制御部256は、電子機器23において使用する機能のライセンスに関するデータ等の記憶部207への記憶を制御する。
 <情報処理システム10の処理の第1の実施の形態>
 次に、図6乃至図37を参照して、情報処理システム10の処理の第1の実施の形態について説明する。
 なお、この第1の実施の形態では、サブスクリプションかつフローティング方式により、電子機器23で使用する機能のライセンスがサーバ11から提供される。
 <ライセンス取得処理>
 まず、図6のフローチャートを参照して、クライアント12により実行されるライセンス取得処理について説明する。
 ステップS1において、PC21は、機器情報取得用ファイルを要求する。
 例えば、PC21は、ユーザの操作に従って、ネットワーク13を介してサーバ11にアクセスし、電子機器23で使用する機能のライセンスを取得するための画面を表示する。例えば、図7のウインドウ301がPC21の画面に表示される。
 ウインドウ301は、機器情報欄301A及びライセンス情報欄301Bに分かれている。
 機器情報欄301Aの左端には、電子機器23の画像及び型名が左右に並べて表示されている。
 ライセンス情報欄301Bの左端には、ライセンスを取得する対象となる機能、及び、ライセンスの種類が示されている。この例では、4K画像の撮影機能のサブスクリプションラインセンスが取得対象であることが示されている。
 なお、ユーザは、ライセンスを取得する際にライセンスの有効期間を選択する。例えば、30日間又は365日間の2種類の有効期間のライセンスが提供されており、ユーザは、その2種類の中から所望の有効期間のライセンスを選択する。
 ライセンス情報欄301Bの右端には、インストールボタン302が表示されている。インストールボタン302が押下されると、例えば、図8のウインドウ311がPC21の画面に表示される。
 ウインドウ311には、機器情報取得用ファイルをダウンロードし、メディア22に保存し、カメラ(電子機器23)にメディア22を入れるように促すメッセージ、及び、ダウンロードボタン312が表示されている。ダウンロードボタン312が押下されると、PC21は、ネットワーク13を介して、機器情報取得用ファイルをサーバ11に要求する。
 これに対して、サーバ11は、後述する図13のステップS31において、ネットワーク13を介して、機器情報取得用ファイルをPC21に送信する。
 ステップS2において、PC21は、サーバ11から送信された機器情報取得用ファイルを受信する。また、PC21は、例えばユーザの操作に従って、受信した機器情報取得用ファイルをメディア22に格納する。
 ステップS3において、電子機器23は、機器情報取得ファイル内のコマンドを実行する。
 具体的には、ユーザは、機器情報取得用ファイルが格納されているメディア22をPC21から取り外し、電子機器23のドライブ208に接続する。
 ドライブ208は、メディア22に格納されている機器情報取得用ファイルを読み出し、制御部203に供給する。制御部203は、機器情報取得用ファイル内に含まれる機器情報取得用コマンドを実行する。これにより、機器情報の取得処理が開始される。
 なお、例えば、ステップS1乃至ステップS3の処理を省略し、機器情報取得用コマンドを用いずに、ユーザが電子機器23を操作することにより、機器情報の取得処理が開始されるようにしてもよい。
 ステップS4において、鍵生成部252は、機器固有鍵を生成済みであるか否かを判定する。鍵生成部252は、機器固有鍵が記憶部207に記憶されていない場合、機器固有鍵を生成済みでないと判定し、処理はステップS5に進む。
 ステップS5において、鍵生成部252は、機器固有鍵を生成する。機器固有鍵の生成方法は、特に限定されない。記憶制御部256は、機器固有鍵を記憶部207に記憶させる。
 すなわち、電子機器23は、工場出荷後に初めて機器情報ファイルを生成する前に、電子機器23に固有の秘密鍵である機器固有鍵を生成する。これにより、工場出荷時に機器固有鍵を生成し、電子機器23に格納する必要がなくなり、機器固有鍵の流出等のリスクが軽減される。また、例えば、電子機器23のファームウエアを変更する等により、機器固有鍵の生成方法や生成タイミング等を変更することができ、柔軟性が向上する。
 その後、処理はステップS6に進む。
 一方、ステップS4において、鍵生成部252は、機器固有鍵が記憶部207に記憶されている場合、機器固有鍵を生成済みであると判定し、ステップS5の処理はスキップされ、処理はステップS6に進む。
 ステップS6において、データ生成部253は、現在のRTC206の日時をデバイスRTCに設定する。デバイスRTCは、機器情報ファイルを生成するときのRTC206の日時であって、ライセンスを要求するときの電子機器23のRTC206の日時を示す。また、デバイスRTCは、取得するライセンスの期限管理に用いられる基準日時となる。
 ステップS7において、データ生成部253は、機器固有鍵をサーバ公開鍵で暗号化する。具体的には、データ生成部253は、機器固有鍵及びサーバ公開鍵を記憶部207から読み出す。なお、サーバ公開鍵は、サーバ11が保有するサーバ秘密鍵に対応する公開鍵であり、事前に電子機器23に配布されている。データ生成部253は、サーバ公開鍵を用いて機器固有鍵を暗号化する。これにより、機器固有鍵のセキュリティが確保され、機器固有鍵の改ざん、盗聴等が防止される。
 ステップS8において、データ生成部253は、機器固有ID、デバイスRTC、及び、機器固有鍵を含む格納データを生成する。具体的には、データ生成部253は、機器固有IDを記憶部207から読み出す。機器固有IDは、各電子機器23に一意に割り当てられているIDであり、例えば、電子機器23の型名とシリアルナンバーを含む。データ生成部253は、機器固有ID、デバイスRTC、及び、暗号化された機器固有鍵を含む格納データを生成する。
 ステップS9において、データ生成部253は、機器固有鍵を用いて格納データのハッシュ値を算出する。なお、ハッシュ値の算出に用いるハッシュ関数は、特に限定されない。
 ステップS10において、データ生成部253は、格納データ及びハッシュ値を含む機器情報ファイルを生成する。これにより、機器固有鍵を用いて格納データのセキュリティが確保される。
 この機器情報ファイルは、ライセンスの発行を要求するためのライセンス要求ファイルとして、サーバ11においてライセンスの発行に用いられる。
 ステップS11において、データ生成部253は、ドライブ208を介して、機器情報ファイルをメディア22に格納する。
 このとき、例えば、出力部205は、UI制御部254の制御の下に、図9のウインドウ321を表示する。ウインドウ321内には、機器情報ファイルを書き出した旨を伝えるメッセージ、及び、OKボタン322が表示されている。OKボタン322が押下されると、ウインドウ321が閉じる。
 ステップS12において、PC21は、機器情報ファイルをサーバ11に送信する。
 例えば、ユーザは、メディア22を電子機器23から取り外し、PC21に接続する。PC21は、例えば、図10のウインドウ331を画面に表示する。
 ウインドウ331には、カメラ(電子機器23)から取得した機器情報ファイルのアップロードを促すメッセージ、及び、アップロードボタン332が表示されている。アップロードボタン332が押下されると、PC21は、機器情報ファイルをメディア22から読み出し、ネットワーク13を介してサーバ11に送信する。
 これに対して、サーバ11は、後述する図13のステップS32において、機器情報ファイルを受信する。
 ステップS13において、PC21は、ライセンス通信ファイルを取得するか否かを判定する。
 サーバ11は、PC21から受信した機器情報ファイルが正当であると判定した場合、後述する図13のステップS34において、ネットワーク13を介して、ライセンスのインストールの実施を最終確認するための表示制御ファイルを送信する。
 PC21は、表示制御ファイルに基づいて、図11のウインドウ341を画面に表示する。
 ウインドウ341には、カメラ(電子機器23)の機器固有ID、及び、カメラへのライセンスのインストールの実施を確認するメッセージ、並びに、インストールボタン342が表示されている。インストールボタン342が押下されると、例えば、図12のウインドウ351がPC21の画面に表示される。
 ウインドウ351には、ライセンス通信ファイルをダウンロードし、メディア22に保存し、カメラ(電子機器23)に入れるよう促すメッセージ、及び、ダウンロードボタン352が表示されている。そして、ダウンロードボタン352が押下されると、PC21は、ライセンス通信ファイルを取得すると判定し、ネットワーク13を介して、ライセンス通信ファイルの送信をサーバ11に要求する。その後、処理はステップS14に進む。
 これに対して、サーバ11は、後述する図13のステップS40において、インストールキー等を含むライセンス通信ファイルを送信する。
 ステップS14において、PC21は、ネットワーク13を介して、サーバ11からライセンス通信ファイルを受信する。
 ステップS15において、PC21は、例えばユーザの操作に従って、ライセンス通信ファイルをメディア22に格納する。
 その後、ライセンス取得処理は終了する。
 一方、ステップS13において、PC21は、ライセンスのインストールの実施を最終確認するための表示制御ファイルを受信しなかった場合、又は、ライセンス通信ファイルの取得が指示されなかった場合、ライセンス通信ファイルを取得しないと判定する。その後、ステップS14及びステップS15の処理はスキップされ、ライセンス通信ファイルが取得されずに、ライセンス取得処理は終了する。
 <ライセンス発行処理>
 次に、図13のフローチャートを参照して、図6のクライアント12によるライセンス取得処理に対応して、サーバ11により実行されるライセンス発行処理について説明する。
 なお、この処理は、例えば、上述した図6のステップS1において、サーバ11がPC21から機器情報取得用ファイルを要求されたとき開始される。
 ステップS31において、サーバ11は、機器情報取得用ファイルを送信する。具体的には、データ生成部152は、機器情報取得用コマンドを含む機器情報取得用ファイルを生成する。通信部103は、通信制御部154の制御の下に、ネットワーク13を介して、機器情報取得用ファイルをPC21に送信する。
 なお、上述したように電子機器23の図6のステップS1乃至ステップS3の処理を省略することにより、このステップS31の処理を省略することができる。
 ステップS32において、サーバ11は、機器情報ファイルを受信する。具体的には、通信制御部154は、通信部103を介して、上述した図6のステップS12の処理でPC21から送信された機器情報ファイルを受信する。
 ステップS33において、ライセンス管理部151は、機器情報ファイルが正当であるか否かを判定する。具体的には、ライセンス管理部151は、機器情報ファイルに含まれる機器固有鍵の暗号化に用いられたサーバ公開鍵に対応するサーバ秘密鍵を記憶部106から読み出す。ライセンス管理部151は、読み出したサーバ秘密鍵を用いて機器固有鍵を復号する。
 次に、ライセンス管理部151は、電子機器23と同じハッシュ関数、及び、復号した機器固有鍵を用いて、機器情報ファイルに含まれる格納データのハッシュ値を算出する。そして、ライセンス管理部151は、算出したハッシュ値が機器情報ファイル内のハッシュ値と一致する場合、機器情報ファイルが正当であると判定し、処理はステップS34に進む。
 これにより、格納データ内の機器固有ID、デバイスRTC、及び、機器固有鍵の改ざん等が防止される。
 ステップS34において、ライセンス管理部151は、ライセンス通信ファイルを送信するか否かを判定する。
 具体的には、UI制御部153は、ライセンスのインストールの実施を最終確認するための表示制御ファイルを生成する。通信部103は、通信制御部154の制御の下に、ネットワーク13を介して、PC21に表示制御ファイルを送信する。
 そして、ライセンス管理部151は、上述した図6のステップS13において、PC21からライセンス通信ファイルの送信が要求された場合、ライセンス通信ファイルを送信すると判定し、処理はステップS35に進む。
 ステップS35において、ライセンス管理部151は、インストールキーを生成する。
 図14は、インストールキーのフォーマットの例を示している。
 インストールキーは、機能ID、システム一意情報、機器固有ID、有効期限、及び、有効期間を含んでいる。
 機能IDは、ライセンスの対象となる機能を識別するためのIDである。
 システム一意情報は、サーバ11が生成する英数字からなる連番であり、インストールキー毎に異なる。
 機器固有IDは、ライセンスを提供する対象となる電子機器23の機器固有IDであり、機器情報ファイルに含まれる電子機器23の機器固有IDが用いられる。
 有効期限は、ライセンスが切れる日時を示し、例えば、年、月、日、時、分、秒で表される。また、有効期限は、機器情報ファイルに含まれるデバイスRTC、すなわち、電子機器23のRTC206を基準にして設定される。例えば、有効期限は、機器情報ファイル内のデバイスRTCに有効期間及び猶予時間を加えた値に設定される。
 ここで、猶予時間は、電子機器23にライセンスをインストールするのに必要な時間を想定して設定される時間である。すなわち、電子機器23は、メディア22を介してPC21とデータの授受を行い、PC21がサーバ11と通信を行う。従って、電子機器23がサーバ11と直接通信を行う場合と比較して、ライセンスのインストールに時間を要する。そのため、実際のライセンスの有効期間に加えて、所定の猶予時間が加算される。
 有効期間は、ライセンスの有効期間を示す。例えば、有効期間は、ユーザにより選択された有効期間を時間(hour)単位で表した値に設定される。
 なお、複数の機能のライセンスを一度にインストールすることも可能であり、この場合、例えば、機能毎に複数のインストールキーが生成される。
 ステップS36において、データ生成部152は、デバイスRTC、インストールキー、及び、ユーザIDを含む格納データを生成する。ユーザIDは、ライセンスの権利者であるユーザの固有のIDである。
 なお、複数の機能のライセンスを一度にインストールする場合、各機能のインストールキーが格納データに格納される。
 ステップS37において、データ生成部152は、機器固有鍵を用いて格納データのハッシュ値を算出する。すなわち、データ生成部152は、電子機器23と同じハッシュ関数、及び、機器情報ファイルに含まれる機器固有鍵を用いて、格納データのハッシュ値を算出する。
 ステップS38において、データ生成部152は、格納データ及びハッシュ値を含むライセンス通信ファイルを生成する。具体的には、データ生成部152は、サーバ秘密鍵を用いてハッシュ値を暗号化することにより署名を生成する。そして、データ生成部152は、格納データ及び署名(暗号化したハッシュ値)を含むライセンス通信ファイルを生成する。これにより、機器固有鍵を用いて格納データのセキュリティが確保される。
 なお、このライセンス通信ファイルは、電子機器23においてラインセンスのインストールに用いられるインストールファイルでもある。
 ステップS39において、サーバ11は、ライセンス情報を記憶する。例えば、記憶制御部155は、現在のRTC105の日時、ユーザID、機器固有ID、機器固有鍵、インストールキー、デバイスRTC、並びに、ライセンスの有効期限、有効期間及び更新回数の組合せを含むライセンス情報を記憶部106に記憶させる。
 なお、ライセンスの有効期限として、例えば、電子機器23のRTC206に基づく有効期限(以下、クライアント有効期限と称する)、及び、サーバ11のRTC105に基づく有効期限(以下、サーバ有効期限と称する)がライセンス情報に含まれる。クライアント有効期限は、インストールキーに含まれる有効期限と等しい。サーバ有効期限は、例えば、現在のRTC105の日時に有効期間及び猶予時間を加えた値に設定される。
 また、ライセンスの更新回数は、初期値として0回に設定される。
 さらに、現在のRTC105の日時とデバイスRTCとの差に基づいて、サーバ11のRTC105と電子機器23のRTC206のおおよそのズレが把握される。
 また、複数の機能のライセンスが一度にインストールされる場合、例えば、ライセンス毎に異なるライセンス情報が生成され、記憶されるようにしてもよいし、全てのライセンスを含むライセンス情報が生成され、記憶されるようにしてもよい。
 ステップS40において、通信部103は、通信制御部154の制御の下に、ライセンス通信ファイルをPC21に送信する。
 その後、ライセンス発行処理は終了する。
 一方、ステップS34において、ライセンス管理部151は、上述した図6のステップS13において、PC21からライセンス通信ファイルの送信が要求されていない場合、ライセンス通信ファイルを送信しないと判定し、ステップS35乃至ステップS40の処理はスキップされ、ライセンス発行処理は終了する。すなわち、インストールキーの生成、及び、ライセンス通信ファイルの送信は行われない。
 また、ステップS33において、ライセンス管理部151は、算出したハッシュ値が機器情報ファイル内のハッシュ値と一致しない場合、機器情報ファイルが正当でないと判定し、ステップS34乃至ステップS40の処理はスキップされ、ライセンス発行処理は終了する。すなわち、インストールキーの生成、及び、ライセンス通信ファイルの送信は行われない。
 <ライセンス開始処理>
 次に、図15のフローチャートを参照して、電子機器23により実行されるライセンス開始処理について説明する。
 例えば、ライセンス通信ファイルが格納されているメディア22が電子機器23のドライブ208に接続されたとき、出力部205は、例えば、UI制御部254の制御の下に、図16のウインドウ401を表示する。
 ウインドウ401には、電子機器23の型名、機能の種類及びライセンス種別、並びに、その機能を有効にするか否かを確認するメッセージが表示されている。また、ウインドウ401には、YESボタン402及びNOボタン403が表示されている。そして、YESボタン402が押下された場合、ライセンス開始処理が開始される。一方、NOボタン403が押下された場合、ライセンス開始処理は開始されない。
 ステップS61において、ライセンス管理部251は、ライセンス通信ファイルが正当であるか否かを判定する。具体的には、ライセンス管理部251は、ドライブ208を介して、メディア22からライセンス通信ファイルを読み出す。また、ライセンス管理部251は、機器固有鍵及びサーバ公開鍵を記憶部207から読み出す。
 ライセンス管理部251は、ライセンス通信ファイルに含まれる署名を、サーバ公開鍵を用いて復号する。これにより、ライセンス通信ファイルに含まれる格納データのハッシュ値が得られる。また、ライセンス管理部251は、サーバ11と同じハッシュ関数及び機器固有鍵を用いて、ライセンス通信ファイルの格納データのハッシュ値を算出する。そして、ライセンス管理部251は、算出したハッシュ値がライセンス通信ファイル内のハッシュ値と一致する場合、ライセンス通信ファイルが正当であると判定し、処理はステップS62に進む。
 これにより、格納データ内のデバイスRTC及びインストールキーの改ざん等が防止される。
 ステップS62において、ライセンス管理部251は、過去にインストールしたインストールキーであるか否かを判定する。ライセンス管理部251は、ライセンス通信ファイルに含まれるインストールキーと一致するインストールキーが記憶部207に記憶されていない場合、過去にインストールしたインストールキーでないと判定し、処理はステップS63に進む。
 これにより、過去にインストールしたインストールキーを用いてライセンスが二重にインストールされることが防止される。
 ステップS63において、ライセンス管理部251は、インストールキー内の機器固有IDが自機のものと一致するか否かを判定する。ライセンス管理部251は、インストールキー内の機器固有IDが、記憶部207に記憶されている電子機器23の機器固有IDと一致する場合、インストールキー内の機器固有IDが自機のものと一致すると判定し、処理はステップS64に進む。
 これにより、他の電子機器23用のインストールキーを用いてライセンスがインストールされることが防止される。
 ステップS64において、ライセンス管理部251は、デバイスRTCが現在の日時以降であるか否かを判定する。ライセンス管理部251が、ライセンス通信ファイルに含まれるデバイスRTCが現在のRTC206の日時より前であると判定した場合、処理はステップS65に進む。
 ステップS65において、ライセンス管理部251は、ライセンスの有効期限が切れているか否かを判定する。具体的には、ライセンス管理部251は、インストールキーの有効期限(クライアント有効期限)と現在のRTC206の日時を比較する。そして、ライセンス管理部251は、ライセンスの有効期限が現在のRTC206の日時より後である場合、ライセンスの有効期限が切れていないと判例し、処理はステップS66に進む。
 ステップS66において、ライセンス管理部251は、デバイスRTCと現在の日時との間隔が猶予時間以上であるか否かを判定する。ライセンス管理部251が、デバイスRTCと現在のRTC206の日時とを比較し、両者の間隔が猶予時間未満であると判定した場合、処理はステップS67に進む。
 これは、例えば、上述した図6のステップS6の処理でデバイスRTCが設定されてから猶予時間(例えば、1時間)以内に、電子機器23へのライセンスのインストールが行われた場合である。
 ステップS67において、ライセンス管理部251は、ライセンスを有効化する。すなわち、ライセンス管理部251は、インストールキーによりライセンスが付与される機能を使用できる状態にする。
 なお、ライセンス通信ファイルに複数の機能のインストールキーが含まれる場合、それらの機能が全て使用できる状態にされる。
 また、当該機能を実現するソフトウエアは、予め電子機器23にインストールされていてもよいし、このときインストールされてもよい。
 ステップS68において、電子機器23は、ライセンス情報を記憶する。記憶制御部256は、ユーザID、現在のRTC206の日時、インストールキー、並びに、ライセンスのクライアント有効期限、有効期間及び更新回数の組合せを含むライセンス情報を記憶部207に記憶させる。なお、この現在のRTC206の日時は、ライセンスの使用を開始した日時となる。また、ライセンスの更新回数は、初期値として0回に設定される。
 また、複数の機能のライセンスが一度にインストールされた場合、例えば、ライセンス毎に異なるライセンス情報が生成され、記憶されるようにしてもよいし、全てのライセンスを含むライセンス情報が生成され、記憶されるようにしてもよい。
 その後、ライセンス開始処理は終了する。
 一方、ステップS66において、ライセンス管理部251が、デバイスRTCと現在のRTC206の日時との間隔が猶予時間以上であると判定した場合、処理はステップS69進む。
 これは、例えば、上述した図6のステップS6の処理でデバイスRTCが設定されてから猶予時間(例えば、1時間)が経過した後に、電子機器23へのライセンスのインストールが行われた場合である。
 また、ステップS65において、ライセンス管理部251は、ライセンスの有効期限が現在のRTC206の日時以前である場合、ライセンスの有効期限が切れていると判定し、処理はステップS69に進む。
 これは、例えば、ライセンスの有効期限が切れた後に、電子機器23へのライセンスのインストールが行われた場合である。
 ステップS69において、ライセンス再取得処理が実行され、その後、ライセンス管理処理は終了する。
 なお、ライセンス再取得処理の詳細は、図17を参照して後述する。
 一方、ステップS64において、デバイスRTCが現在のRTC206の日時以降であると判定された場合、ライセンス開始処理は終了する。
 これは、例えば、デバイスRTCの改ざん、又は、RTC206の異常等が発生した場合が想定される。
 また、ステップS63において、インストールキー内の機器固有IDが自機のものと一致しないと判定された場合、ライセンス開始処理は終了する。
 これは、例えば、異なる電子機器23にメディア22を接続し、ライセンスをインストールしようとした場合、誤ったライセンス通信ファイルを受信した場合、又は、インストールキーが改ざんされた場合等が想定される。
 さらに、ステップS62において、ライセンス管理部251は、ライセンス通信ファイルに含まれるインストールキーと一致するインストールキーが記憶部207に記憶されている場合、過去にインストールしたインストールキーであると判定し、ライセンス開始処理は終了する。
 これは、以前インストールしたライセンスを再度インストールしようとした場合が想定される。
 また、ステップS61において、ライセンス管理部251は、算出したハッシュ値がライセンス通信ファイル内のハッシュ値と一致しない場合、ライセンス通信ファイルが正当でないと判定し、ライセンス開始処理は終了する。
 これは、ライセンス通信ファイルの改ざん等が行われた場合が想定される。
 以上のようにして、サーバ11と電子機器23が直接通信を行わなくても、安全な状態で電子機器23にライセンスをインストールし、電子機器23の機能を使用可能な状態にすることができる。
 また、ライセンスの有効期間に猶予時間が付加されることにより、サーバ11と電子機器23が直接通信を行わないことによりライセンスのインストールに時間を要したとしても、ライセンスを使用できる期間が短縮されることが防止される。
 さらに、サーバ11と電子機器23が直接通信を行わなくても、サーバ11が把握するライセンスの有効期限(サーバ有効期限)と、実際のライセンスの有効期限(クライアント有効期限)とのズレが猶予時間内に抑えられる。そのため、例えば、適切なタイミングでライセンスの更新等のプロモーションを行うことができる。
 <ライセンス再取得処理>
 次に、図17のフローチャートを参照して、図15のステップS69のライセンス再取得処理の詳細について説明する。
 ステップS101において、PC21は、ライセンス再発行用ファイルを要求する。
 例えば、PC21は、ユーザの操作に従って、ネットワーク13を介してサーバ11にアクセスし、ライセンスの再発行を要求するための画面を表示する。例えば、図18のウインドウ501がPC21の画面に表示される。
 ウインドウ501は、機器情報欄501A、ライセンス情報欄501B、及び、ライセンス詳細情報欄501Cに分かれている。
 機器情報欄501Aの左端には、電子機器23の画像及び型名が左右に並べて表示されている。
 ライセンス情報欄501Bの左端には、ライセンスを再発行する対象となる機能、及び、ライセンスの種類が示されている。この例では、4K画像の撮影機能のサブスクリプションラインセンスが再発行の対象であることが示されている。
 ライセンス詳細情報欄501Cには、対象となる機能のライセンスの詳細な状態が表示されている。この例では、電子機器23の機器固有ID、現在のライセンスの状態、及び、ライセンスの有効期限が表示されている。なお、現在のライセンスの状態は、ライセンス通信ファイルをダウンロードした時点で、実際に電子機器23にインストールしたか否かに関わらず、インストール済み(Installed)となる。
 ライセンス詳細情報欄501Cの右端には、再発行ボタン502が表示されている。再発行ボタン502が押下されると、ライセンスの再発行処理が開始される。例えば、再発行ボタン502が押下されると、PC21は、ネットワーク13を介して、ライセンス再発行用ファイルをサーバ11に要求する。
 これに対して、サーバ11は、後述する図23のステップS131において、ネットワーク13を介して、ライセンス再発行用ファイルをPC21に送信する。
 ステップS102において、PC21は、サーバ11から送信されたライセンス再発行用ファイルを受信する。また、PC21は、例えばユーザの操作に従って、受信したライセンス再発行用ファイルをメディア22に格納する。
 このとき、例えば、図19のウインドウ511がPC21の画面に表示される。
 ウインドウ511には、カメラ(電子機器23)で「再発行」ボタンを選択した後、取得した機器情報ファイルをアップロードするよう促すメッセージ、及び、アップロードボタン512が表示されている。
 ステップS103において、電子機器23は、ライセンス再発行用ファイル内のコマンドを実行する。
 具体的には、ユーザは、ライセンス再発行用ファイルが格納されているメディア22をPC21から取り外し、電子機器23のドライブ208に接続する。
 ドライブ208は、メディア22に格納されているライセンス再発行用ファイルを読み出し、制御部203に供給する。制御部203は、ライセンス再発行用ファイル内に含まれるライセンス再発行用コマンドを実行する。
 これにより、例えば、出力部205は、UI制御部254の制御の下に、「再発行」ボタンを含む画面を表示する。そして、「再発行」ボタンが押下されると、機器情報の取得処理が開始される。
 なお、例えば、ステップS101乃至ステップS103の処理を省略し、ライセンス再発行用コマンドを用いずに、ユーザが電子機器23を操作することにより、機器情報の取得処理が開始されるようにしてもよい。
 ステップS104において、図6のステップS6の処理と同様に、現在のRTC206の日時がデバイスRTCに設定される。
 ステップS105において、図6のステップS7の処理と同様に、機器固有鍵がサーバ公開鍵で暗号化される。
 ステップS106において、データ生成部253は、機器固有ID、デバイスRTC、機器固有鍵、及び、キャンセルしたインストールキーを含む格納データを生成する。具体的には、データ生成部253は、機器固有ID、及び、インストールをキャンセルしたライセンス用のインストールキー(キャンセルしたインストールキー)を記憶部207から読み出す。データ生成部253は、機器固有ID、デバイスRTC、暗号化された機器固有鍵、及び、キャンセルしたインストールキーを含む格納データを生成する。
 ステップS107において、図6のステップS9の処理と同様に、機器固有鍵を用いて格納データのハッシュ値が算出される。
 ステップS108において、図6のステップS10の処理と同様に、格納データ及びハッシュ値を含む機器情報ファイルが生成される。この機器情報ファイルは、ライセンスの再発行を要求するためのライセンス再要求ファイルとして、サーバ11においてライセンスの再発行に用いられる。
 ステップS109において、図6のステップS11の処理と同様に、機器情報ファイルがメディア22に格納される。
 ステップS110において、PC21は、機器情報ファイルをサーバ11に送信する。
 例えば、ユーザは、メディア22を電子機器23から取り外し、PC21に接続する。そして、例えば、上述した図19のウインドウ511内のアップロードボタン512が押下されると、PC21は、機器情報ファイルをメディア22から読み出し、ネットワーク13を介して、サーバ11に送信する。
 これに対して、サーバ11は、後述する図23のステップS132において、機器情報ファイルを受信する。そして、サーバ11は、機器情報ファイルが、キャンセルしたインストールキーを含み、かつ、正当であれば、ステップS134において、ネットワーク13を介して、ライセンスの再発行が可能である旨を通知する。
 ステップS111において、PC21は、ライセンスの再発行を依頼するか否かを判定する。PC21は、例えば、サーバ11からライセンスの再発行が可能である旨が通知された場合、図20のウインドウ521を画面に表示する。
 ウインドウ521には、インストールをキャンセルし、インストールキーの再発行を行う旨のメッセージ、及び、再発行ボタン522が表示されている。また、メッセージ内には、インストールをキャンセルするライセンスに関する情報が表示されている。ライセンスに関する情報は、例えば、電子機器23の型名、機能名、ライセンスの種類を含む。
 そして、再発行ボタン522が押下されると、PC21は、ライセンスの再発行を依頼すると判定し、ネットワーク13を介して、サーバ11にライセンスの再発行を依頼する。その後、処理は、ステップS112に進む。
 ステップS112において、PC21は、ライセンス通信ファイルを取得するか否かを判定する。
 具体的には、サーバ11は、ライセンスの再発行が依頼されると、後述する図23のステップS136において、現在のライセンスのインストールキーを破棄した後、インストールキーの再発行が可能な旨を通知する表示制御ファイルをPC21に送信する。
 これに対して、PC21は、例えば、図21のウインドウ531を画面に表示する。ウインドウ531には、ライセンスのインストールがキャンセルされ、再度インストールすることを促すメッセージ、及び、OKボタン532が表示されている。OKボタン532が押下されると、図22のウインドウ541がPC21の画面に表示される。
 ウインドウ541は、図18のウインドウ501と同様に、機器情報欄541A、ライセンス情報欄541B、及び、ライセンス詳細情報欄541Cに分かれ、ウインドウ501とほぼ同様の表示内容である。ただし、再発行ボタン502が消え、インストールボタン542が、ライセンス情報欄501Bの右端に表示されている点が異なる。また、現在のライセンスの状態及び有効期限については、何も表示されていない点が異なる。
 そして、インストールボタン542が押下されると、PC21は、ライセンス通信ファイルを取得すると判定し、ネットワーク13を介して、ライセンス通信ファイルの送信をサーバ11に要求する。その後、処理はステップS113に進む。
 これに対して、サーバ11は、後述する図23のステップS143において、インストールキー等を含むライセンス通信ファイルを送信する。
 ステップS113において、図6のステップS14の処理と同様に、ライセンス通信ファイルが受信される。
 ステップS114において、図6のステップS15の処理と同様に、ライセンス通信ファイルがメディア22に格納される。
 その後、ライセンス再取得処理は終了する。
 <ライセンス再発行処理>
 次に、図23のフローチャートを参照して、図17のクライアント12によるライセンス再取得処理に対応して、サーバ11により実行されるライセンス再発行処理について説明する。
 なお、この処理は、例えば、上述した図17のステップS101において、サーバ11がPC21からライセンス再発行用ファイルを要求されたとき開始される。
 ステップS131において、サーバ11は、ライセンス再発行用ファイルを送信する。具体的には、データ生成部152は、ライセンス再発行用コマンドを含むライセンス再発行用ファイルを生成する。通信部103は、通信制御部154の制御の下に、ネットワーク13を介して、ライセンス再発行用ファイルをPC21に送信する。
 なお、上述したように電子機器23の図17のステップS101乃至ステップS103の処理を省略することにより、このステップS131の処理は省略することができる。
 ステップS132において、サーバ11は、機器情報ファイルを受信する。具体的には、通信制御部154は、通信部103を介して、上述した図17のステップS110の処理でPC21から送信された機器情報ファイルを受信する。
 ステップS133において、図13のステップS33の処理と同様に、機器情報ファイルが正当であるか否かが判定される。機器情報ファイルが正当であると判定された場合、処理はステップS134に進む。
 ステップS134において、ライセンス管理部151は、機器情報ファイルにキャンセルしたインストールキーが含まれるか否かを判定する。機器情報ファイルにキャンセルしたインストールキーが含まれると判定された場合、処理はステップS135に進む。このとき、通信部103は、通信制御部154の制御の下に、ネットワーク13を介して、PC21にライセンスの再発行が可能である旨を通知する。
 ステップS135において、ライセンス管理部151は、ライセンスの再発行が依頼されたか否かを判定する。ライセンス管理部151は、上述した図17のステップS111においてPC21からライセンスの再発行が依頼された場合、ライセンスの再発行が依頼されたと判定し、処理はステップS136に進む。
 ステップS136において、ライセンス管理部151は、インストールキーを破棄する。例えば、ライセンス管理部151は、記憶部106に記憶されているライセンス情報のうち、機器情報ファイルに含まれるインストールキーを含むライセンス情報において、当該インストールキーをインストールがキャンセルされたインストールキーとして情報を更新する。
 また、UI制御部153は、インストールキーの再発行が可能な旨を通知する表示制御ファイルを生成する。通信部103は、通信制御部154の制御の下に、ネットワーク13を介して、PC21に表示制御ファイルを送信する。
 ステップS137において、ライセンス管理部151は、ライセンス通信ファイルを送信するか否かを判定する。ライセンス管理部151は、上述した図17のステップS112において、PC21からライセンス通信ファイルの送信が要求された場合、ライセンス通信ファイルを送信すると判定し、処理はステップS138に進む。
 ステップS138において、上述した図13のステップS35の処理と同様に、インストールキーが生成される。このとき、ステップS132の処理で受信した機器情報ファイルに含まれるデバイスRTCを基準にして、有効期限(クライアント有効期限)が設定される。すなわち、新たに取得したデバイスRTCに基づいて、ライセンスの有効期限が更新される。
 その後、ステップS139乃至ステップS143において、上述した図13のステップS36乃至ステップS40と同様の処理が行われる。これにより、ステップS132において受信した機器情報ファイル内のデバイスRTC、及び、再生成されたインストールキーを含むライセンス通信ファイルが生成され、PC21に送信される。
 その後、ライセンス再発行処理は終了する。
 一方、ステップS137において、ライセンス管理部151は、上述した図17のステップS112において、PC21からライセンス通信ファイルの送信が要求されていない場合、ライセンス通信ファイルを送信しないと判定し、ステップS138乃至ステップS143の処理はスキップされ、ライセンス再発行処理は終了する。
 すなわち、インストールキーの再生成、及び、ライセンス通信ファイルの送信は行われない。ただし、後で、改めてPC21から依頼することにより、サーバ11にインストールキーを再生成させ、再生成したインストールキーを含むライセンス通信ファイルを送信させることが可能である。
 また、ステップS135において、ライセンス管理部151は、上述した図17のステップS111においてPC21からライセンスの再発行が依頼されなかった場合、ライセンスの再発行が依頼されなかったと判定し、ステップS136乃至ステップS143の処理はスキップされ、ライセンス再発行処理は終了する。すなわち、インストールキーの再生成、及び、ライセンス通信ファイルの送信は行われない。
 さらに、ステップS134において、機器情報ファイルにキャンセルしたインストールキーが含まれていないと判定された場合、ステップS135乃至ステップS143の処理はスキップされ、ライセンス再発行処理は終了する。すなわち、インストールキーの再生成、及び、ライセンス通信ファイルの送信は行われない。
 また、ステップS133において、機器情報ファイルが正当でないと判定された場合、ステップS134乃至ステップS143の処理はスキップされ、ライセンス発行処理は終了する。すなわち、インストールキーの再生成、及び、ライセンス通信ファイルの送信は行われない。
 以上のようにして、サーバ11と電子機器23が直接通信を行わなくても、インストールをキャンセルしたライセンスの再発行を行い、安全な状態で電子機器23に再発行したライセンスをインストールし、電子機器23の機能を使用可能な状態にすることができる。
 また、ライセンスの有効期限が新たなデバイスRTCに基づいて更新されるため、ライセンスを再発行することによりライセンスの有効期間が短縮されることが防止される。さらに、サーバ11のRTC105と電子機器23のRTC206の間にズレが生じていても、電子機器23のRTC206を用いて、再発行されたライセンスの期限管理を適切に行うことができる。
 <ライセンス管理処理>
 次に、図24のフローチャートを参照して、クライアント12により実行されるライセンス管理処理について説明する。
 ステップS201において、ライセンス管理部251は、有効期限を過ぎたライセンスがあるか否かを判定する。
 ライセンス管理部251は、例えば、電子機器23の電源がオンされたとき、電子機器23の使用が開始されたとき、又は、定期的に、記憶部207に記憶されているライセンス情報に基づいて、各ライセンスのクライアント有効期限をチェックする。そして、ライセンス管理部251は、クライアント有効期限が現在のRTC206の日時より前のライセンスがある場合、有効期限を過ぎたライセンスがあると判定し、処理はステップS202に進む。
 或いは、例えば、ライセンス管理部251は、入力部201を介して、ライセンスが必要な機能を実行するための操作が行われた場合、記憶部207に記憶されているライセンス情報に基づいて、実行する機能のライセンスのクライアント有効期限をチェックする。そして、ライセンス管理部251は、そのライセンスのクライアント有効期限が現在のRTC206の日時より前である場合、有効期限を過ぎたライセンスがあると判定し、処理はステップS202に進む。
 ステップS202において、ライセンス管理部251は、有効期限を過ぎたライセンスを一時停止する。すなわち、ライセンス管理部251は、有効期限を過ぎたライセンスに対応する機能を一時的に使用できない状態にする。
 ここで、機能を一時的に使用できない状態にするとは、インストールキーを用いてライセンスを再インストールしなくても、後述するように延長コードを入力するだけで、機能を使用可能な状態に戻すことができる状態のことである。
 その後、処理はステップS203に進む。
 一方、ステップS201において、ライセンス管理部251は、記憶部207に記憶されているライセンス情報の中に、ライセンスの有効期限が現在のRTC206の日時より前のライセンスがない場合、有効期限を過ぎたライセンスがないと判定し、ステップS202の処理はスキップされ、処理はステップS203に進む。
 ステップS203において、ライセンス管理部251は、延長コードの入力を行うか否かを判定する。例えば、ライセンス管理部251は、入力部201を介して延長コードを入力するための操作が行われた場合、延長コードの入力を行うと判定し、処理はステップS204に進む。
 ステップS204において、出力部205は、UI制御部254の制御の下に、延長コードの入力画面を表示する。
 例えば、後述するように、ライセンスの有効期限の所定の日数前以降に、ライセンスの決済が完了している場合、図25に示される内容のメールがユーザに届く。メールには、有効期限を迎える機能のライセンスを延長するための延長コードが記載されている。
 一方、出力部205は、UI制御部254の制御の下に、図26のAのウインドウ601を表示する。
 ウインドウ601には、電子機器23の機能のうち、ライセンスが機能の一覧が表示される。そして、カーソル602を用いて、ライセンスを更新する機能が選択されると、出力部205は、UI制御部254の制御の下に、図26のBのウインドウ611を表示する。
 ウインドウ611には、延長コードの入力欄612及びOKボタン613が表示されている。
 入力欄612には、3桁の延長コードが入力される。例えば、各桁の上下の三角の操作部が押下されると、各桁の数字が独立して増減する。そして、OKボタン613が押下されることにより、延長コードの入力が確定する。
 なお、権利者が同じ(同じユーザIDに対応付けられており)、かつ、有効期限が同じライセンスが複数ある場合、1種類の延長コードを1回入力するだけで、それらの全てのライセンスが更新されるようにしてもよい。
 例えば、図25及び図26は、機能A及び機能Bのライセンスの権利者及び有効期限が同じ場合の例を示している。この場合、例えば、ウインドウ601で機能A又は機能Bのいずれかが選択され、ウインドウ611で1種類の延長コードが1回入力されるだけで、機能A及び機能Bのライセンスがまとめて更新される。
 なお、1つの電子機器23を複数のユーザで共有する場合、電子機器23で使用する機能のライセンスの権利者が異なるときがある。この場合、有効期限が同じライセンスが複数あっても、権利者が異なる場合には、各権利者のライセンス毎に延長コードが入力され、ライセンスの更新が行われる。
 例えば、電子機器23をユーザAAAとユーザBBBの2人で共有している場合、図25のユーザAAA宛のメールとは別に、図27のユーザBBB宛のメールが届く。そして、図28に示されるように、ユーザBBBが権利を持つ機能Cのライセンスの延長コードは、ユーザAAAが権利を持つ機能A及び機能Bのライセンスの延長コードとは別に入力される。
 なお、例えば、ステップS201において、有効期限を過ぎたライセンスがあると判定された場合、ステップS202の処理の後、ステップS203の判定処理を省略して、ステップS204の処理が実行されるようにしてもよい。これにより、有効期限を過ぎたライセンスがある場合、自動的に延長コードの入力画面が表示される。
 ステップS205において、ライセンス管理部251は、正しい延長コードが入力されたか否かを判定する。
 具体的には、ライセンス管理部251は、所定の方法により、正式な延長コードを生成する。例えば、ライセンス管理部251は、所定のハッシュ関数を用いて、電子機器23の機器固有鍵、更新対象となるライセンスのインストールキー、及び、ライセンスの更新回数のハッシュ値を算出する。
 なお、更新対象となるライセンスが複数ある場合、それらのライセンスのインストールキーを全て含むデータのハッシュ値が算出される。また、ライセンスの更新回数は、更新対象となるライセンスのライセンス情報内の更新回数を1つ増やした値となる。
 そして、ライセンス管理部251は、算出したハッシュ値を所定のアルゴリズムにより数値化し、数値化したハッシュ値の下3桁の数値を延長コードとする。
 これにより、電子機器23(の機器固有鍵)、ライセンスのインストールキー、及び、ライセンスの更新回数の組み合わせにより、延長コードが略一意に定まる。例えば、同じ機能かつ有効期限のライセンスでも、インストール先の電子機器23が異なれば、延長コードが変化する。また、例えば、同じ電子機器23にインストールした同じ機能のライセンスでも、更新する毎に(更新回数により)、延長コードが変化する。
 そして、ライセンス管理部251は、入力された延長コードが、生成した延長コードと一致しない場合、正しい延長コードが入力されなかったと判定し、処理はステップS206に進む。
 ステップS206において、ライセンス管理部251は、延長コードを所定の回数間違えたか否かを判定する。まだ延長コードを所定の回数間違っていないと判定された場合、処理はステップS204に戻る。
 その後、ステップS205において、正しい延長コードが入力されたと判定されるか、ステップS206において、延長コードを所定の回数間違えたと判定されるまで、ステップS204乃至ステップS206の処理が繰り返し実行される。
 一方、ステップS204において、ライセンス管理部251は、入力された延長コードが、生成した延長コードと一致する場合、正しい延長コードが入力されたと判定し、処理はステップS207に進む。
 ステップS207において、ライセンス管理部251は、延長コードが入力されたライセンスの有効期限を更新する。具体的には、ライセンス管理部251は、延長コードが入力されたライセンスのライセンス情報内の有効期限(クライアント有効期限)にライセンスの有効期間を加算することにより、有効期限を更新する。また、ライセンス管理部251は、ライセンス情報内の更新回数の値を1つ増やす。
 ステップS208において、ライセンス管理部251は、延長コードが入力されたライセンスが一時停止されているか否かを判定する。延長コードが入力されたライセンスが一時停止されていると判定された場合、処理はステップS209に進む。
 ステップS209において、ライセンス管理部251は、ライセンスを有効化する。すなわち、ライセンス管理部251は、延長コードが入力されたライセンスに対応する機能を使用可能な状態にする。
 その後、処理はステップS211に進む。
 一方、ステップS208において、延長コードが入力されたライセンスが有効化されていると判定された場合、ステップS209の処理はスキップされ、処理はステップS211に進む。
 また、ステップS206において、延長コードを所定の回数間違えたと判定された場合、処理はステップS210に進む。
 ステップS210において、ライセンス管理部251は、延長コードを間違えたライセンスを無効化する。すなわち、ライセンス管理部251は、延長コードを間違えたライセンスに対応する機能を使用できない状態にする。また、ライセンス管理部251は、インストールキーを用いてライセンスを再インストールしないと、当該機能を使用可能な状態に戻すことができない状態にする。
 その後、処理はステップS211に進む。
 一方、ステップS203において、延長コードの入力を行わないと判定された場合、ステップS204乃至ステップS210の処理はスキップされ、処理はステップS211に進む。
 ステップS211において、ライセンス管理部251は、ライセンスの返却を行うか否かを判定する。例えば、ライセンス管理部251は、入力部201を介してライセンスを返却するための操作が行われた場合、ライセンスの返却を行うと判定し、処理はステップS212に進む。
 ステップS212において、クライアント12は、ライセンス返却処理を実行し、処理はステップS213に進む。なお、ライセンス返却処理の詳細は、図29を参照して後述する。
 一方、ステップS211において、ライセンスの返却を行わないと判定された場合、ステップS212の処理はスキップされ、処理はステップS213に進む。
 ステップS213において、ライセンス管理部251は、RTC206が未設定状態になったか否かを判定する。RTC206が未設定状態になったと判定された場合、処理はステップS214に進む。
 ステップS214において、ライセンス管理部251は、全てのライセンスを無効化する。すなわち、ライセンス管理部251は、RTC206が未設定状態になった場合、ライセンスの期限管理ができなくなるため、全てのライセンスに対応する機能を使用できない状態にする。
 その後、処理はステップS1に戻り、ステップS1以降の処理が実行される。
 一方、ステップS213において、RTC206が未設定状態になっていないと判定された場合、処理はステップS1に戻り、ステップS1以降の処理が実行される。
 <ライセンス返却処理>
 次に、図29のフローチャートを参照して、図24のステップS212のライセンス返却処理の詳細について説明する。
 ステップS231において、PC21は、DeActivateリクエストファイルを要求する。
 例えば、PC21は、ユーザの操作に従って、ネットワーク13を介してサーバ11にアクセスし、電子機器23で有効化されている機能のライセンスを返却するための画面を表示する。例えば、図30のウインドウ701がPC21の画面に表示される。
 ウインドウ701は、機器情報欄701A、ライセンス情報欄701B、及び、ライセンス詳細情報欄701Cに分かれている。
 機器情報欄701Aの左端には、電子機器23の画像及び型名が左右に並べて表示されている。
 ライセンス情報欄701Bの左端には、ライセンスを返却する対象となる機能、及び、ライセンスの種類が示されている。この例では、4K画像の撮影機能のサブスクリプションラインセンスが再発行の対象であることが示されている。
 ライセンス詳細情報欄701Cの左端には、ユーザが保有する電子機器23のうち、返却するライセンスに対応する機能を使用可能な電子機器23の機器固有IDが表示されている。
 ライセンス詳細情報欄701Cの右端には、現在ラインセンスが有効化されている電子機器23に対して、DeActivateボタン702が表示されている。DeActivate702が押下されると、例えば、図31のウインドウ711がPC21の画面に表示される。
 ウインドウ711には、DeActivateリクエストファイルをダウンロードし、メディア22に保存し、カメラ(電子機器23)にメディア22を入れるように促すメッセージ、及び、ダウンロードボタン712が表示されている。ダウンロードボタン712が押下されると、PC21は、ネットワーク13を介して、DeActivateリクエストファイルをサーバ11に要求する。
 これに対して、サーバ11は、後述する図36のステップS261において、ネットワーク13を介して、DeActivateリクエストファイルをPC21に送信する。
 ステップS232において、PC21は、サーバ11から送信されたDeActivateリクエストファイルを受信する。また、PC21は、例えばユーザの操作に従って、受信したDeActivateリクエストファイルをメディア22に格納する。
 ステップS233において、電子機器23は、DeActivateリクエストファイル内のコマンドを実行する。
 具体的には、ユーザは、DeActivateリクエストファイルが格納されているメディア22をPC21から取り外し、電子機器23のドライブ208に接続する。
 ドライブ208は、メディア22に格納されているDeActivateリクエストファイルを読み出し、制御部203に供給する。制御部203は、DeActivateリクエストファイル内に含まれるDeActivateリクエストコマンドを実行する。これにより、出力部205は、例えば、UI制御部254の制御の下に、図32のウインドウ721を表示する。
 ウインドウ721には、電子機器23で使用可能な機能のメニューが表示されている。この例では、4K、MPEG-HD、及び、High Frame Rateの3つの機能が表示されている。そのうち、4K及びMPEG-HDについては、現時点でライセンスが有効化されており、DeActivate可能であることが示されている。一方、High Frame Rateについては、グレイアウトされており、ライセンスが無効化されていることが示されている。
 なお、例えば、ステップS231乃至ステップS233の処理を省略し、DeActivateリクエストコマンドを用いずに、ユーザが電子機器23を操作することにより、図32のウインドウ721を電子機器23に表示させ、ライセンス返却処理が開始されるようにしてもよい。
 ステップS234において、ライセンス管理部251は、ライセンスを無効化する。
 例えば、ユーザは、図32のウインドウ721において、カーソル722を用いてライセンスを返却する機能(DeActivateする機能)を選択する。そして、ライセンスを返却する機能の選択が確定されたとき、ライセンス管理部251は、その機能を使用できない状態にする。
 ステップS235において、データ生成部253は、機器固有ID、及び、無効化したライセンスのインストールキーを含む格納データを生成する。具体的には、データ生成部253は、機器固有ID、及び、無効化したライセンスのインストールキーを記憶部207から読み出す。データ生成部253は、読み出した機器固有ID、及び、インストールキーを含む格納データを生成する。
 ステップS236において、図6のステップS9の処理と同様に、機器固有鍵を用いて格納データのハッシュ値が算出される。
 ステップS237において、データ生成部253は、格納データ及びハッシュ値を含むライセンス返却ファイルを生成する。
 ステップS238において、データ生成部253は、ドライブ208を介して、ライセンス返却ファイルをメディア22に格納する。
 ステップS239において、PC21は、ライセンス返却ファイルをサーバ11に送信する。
 例えば、ユーザは、メディア22を電子機器23から取り外し、PC21に接続する。例えば、PC21は、図33のウインドウ731を画面に表示する。
 ウインドウ731には、カメラ(電子機器23)から取得したライセンス返却ファイルのアップロードを促すメッセージ、及び、アップロードボタン732が表示されている。アップロードボタン732が押下されると、PC21は、ライセンス返却ファイルをメディア22から読み出し、ネットワーク13を介してサーバ11に送信する。
 ステップS240において、PC21は、DeActivateが完了したか否かを判定する。PC21は、後述する図36のステップS265において、サーバ11から送信される、ライセンスのDeActivateが完了した旨を通知する表示制御ファイルを受信した場合、DeActivateが完了したと判定し、処理はステップS241に進む。
 ステップS241において、PC21は、ライセンスの返却完了を通知する。例えば、PC21は、図34のウインドウ741を画面に表示する。
 ウインドウ741には、DeActivateが完了し、返却したライセンスが別の電子機器23にインストール可能な旨を通知するメッセージ、及び、OKボタン742が表示されている。OKボタン742が押下されると、例えば、図35のウインドウ751がPC21の画面に表示される。
 ウインドウ751は、図30のウインドウ701と同様に、機器情報欄751A、ライセンス情報欄751B、及び、ライセンス詳細情報欄751Cに分かれ、ウインドウ701とほぼ同様の表示内容である。ただし、DeActivateボタン702が消え、インストールボタン752が、ライセンス情報欄701Bの右端に表示されている点が異なる。
 インストールボタン752が押下されると、図6を参照して上述したライセンス取得処理が開始される。これにより、例えば、返却したライセンスを他の電子機器23にインストールすることができる。
 その後、ライセンス返却処理は終了する。
 一方、ステップS240において、PC21は、サーバ11からライセンスのDeActivateが完了した旨を通知する表示制御ファイルを受信しなかった場合、DeActivateが完了しなかったと判定し、ステップS241の処理はスキップされ、ライセンス返却処理は終了する。
 <ライセンス返却受付処理>
 次に、図36のフローチャートを参照して、図29のクライアント12によるライセンス返却処理に対応してサーバ11により実行されるライセンス返却受付処理について説明する。
 なお、この処理は、例えば、上述した図29のステップS231において、サーバ11がPC21からDeActivateリクエストファイルを要求されたとき開始される。
 ステップS261において、サーバ11は、DeActivateリクエストファイルを送信する。具体的には、データ生成部152は、DeActivateリクエストファイルコマンドを含むDeActivateリクエストファイルを生成する。通信部103は、通信制御部154の制御の下に、ネットワーク13を介して、DeActivateリクエストファイルをPC21に送信する。
 なお、上述したように電子機器23の図29のステップS231乃至ステップS233の処理を省略することにより、このステップS261の処理を省略することができる。
 ステップS262において、サーバ11は、ライセンス返却ファイルを受信する。具体的には、通信制御部154は、通信部103を介して、上述した図29のステップS239の処理でPC21から送信されたライセンス返却ファイルを受信する。
 ステップS263において、ライセンス管理部151は、ライセンス返却ファイル内の機器固有IDとインストールキーの組合せが記憶している組合せと一致するか否かを判定する。具体的には、ライセンス管理部151は、記憶部106に記憶されているライセンス情報の中から、機器固有IDとインストールキーの組合せがライセンス返却ファイル内の機器固有IDとインストールキーの組合せと一致するライセンス情報を検索する。そして、ライセンス管理部151は、機器固有IDとインストールキーの組合せが一致するライセンス情報を検出した場合、ライセンス返却ファイル内の機器固有IDとインストールキーの組合せが記憶している組合せと一致すると判定し、処理はステップS264に進む。
 ステップS264において、ライセンス管理部151は、ライセンス返却ファイルが正当であるか否かを判定する。具体的には、ライセンス管理部151は、ステップS263の処理で検出したライセンス情報に含まれる機器固有鍵を記憶部106から読み出す。
 ライセンス管理部151は、電子機器23と同じハッシュ関数、及び、読み出した機器固有鍵を用いて、ライセンス返却ファイルに含まれる格納データのハッシュ値を算出する。そして、ライセンス管理部151は、算出したハッシュ値がライセンス返却ファイル内のハッシュ値と一致する場合、ライセンス返却ファイルが正当であると判定し、処理はステップS265に進む。
 これにより、格納データ内の機器固有ID及びインストールキーの改ざん等が防止される。
 また、これにより、ライセンス返却ファイル内のハッシュ値の算出に用いられた機器固有鍵、並びに、ライセンス返却ファイル内のインストールキー及び機器固有IDの組合せと、記憶部106に記憶されている機器固有鍵、インストールキー、及び、機器固有IDの組合せが一致することが保証される。
 ステップS265において、ライセンス管理部151は、返却されたライセンスを使用可能な状態にする。例えば、ライセンス管理部151は、ステップS263の処理で検出したライセンス情報を、ライセンスが返却されたライセンス情報として更新する。また、ライセンス管理部151は、返却されたライセンスのインストールキーを新たに発行可能な状態にする。このようにして、ライセンスの返却が受け付けられる。
 また、UI制御部153は、ライセンスのDeActivateが完了した旨を通知する表示制御ファイルを生成する。通信部103は、通信制御部154の制御の下に、ネットワーク13を介して、PC21に表示制御ファイルを送信する。
 その後、ライセンス返却受付処理は終了する。
 一方、ステップS264において、ライセンス管理部151は、算出したハッシュ値がライセンス返却ファイル内のハッシュ値と一致しない場合、ライセンス返却ファイルが正当でないと判定し、ライセンスの返却が受け付けられずに、ライセンス返却処理は終了する。
 また、ステップS263において、ライセンス管理部151は、機器固有IDとインストールキーの組合せが一致するライセンス情報を検出しなかった場合、ライセンス返却ファイル内の機器固有IDとインストールキーの組合せが記憶している組合せと一致しないと判定し、ライセンスの返却が受け付けられずに、ライセンス返却処理は終了する。
 以上のようにして、サーバ11と電子機器23が直接通信を行わなくても、安全な状態で電子機器23からサーバ11にライセンスを返却し、ライセンスを他の電子機器23で使用可能な状態にすることができる。
 また、メディア22及びPC21を介して、電子機器23からサーバ11にライセンス返却ファイルを送信するだけの一方向の処理でライセンスを返却することができ、ライセンスの返却に要する処理を軽減することができる。すなわち、複数の電子機器23でライセンスを共有する場合の利便性が向上する。
 さらに、各電子機器23で異なる機器固有鍵が生成され、それぞれ異なる機器固有鍵により、各電子機器23とサーバ11との間の通信路のセキュリティが確保される。従って、仮に1つの電子機器23の機器固有鍵がハッキングされても、他の電子機器23に影響が及ぶことなく、他の電子機器23で安全にライセンスを共有することができる。
 <ライセンス期限管理処理>
 次に、図37のフローチャートを参照して、サーバ11により実行されるライセンス期限管理処理について説明する。
 ステップS301において、ライセンス管理部151は、有効期限の所定の日数前になったライセンスがあるか否かを判定する。ライセンス管理部151は、記憶部106に記憶されているライセンス情報の中に、サーバ有効期限が現在のRTC105の日時から所定の日数前(例えば、5日前)までの範囲内のライセンスがある場合、有効期限の所定の日数前になったライセンスがあると判定し、処理はステップS302に進む。
 ステップS302において、ライセンス管理部151は、決済済みであるか否かを判定する。ライセンス管理部151が、有効期限の所定の日数前になったライセンスがすでに決済済みであると判定した場合、処理はステップS303に進む。
 ステップS303において、ライセンス管理部151は、延長コードを生成する。具体的には、ライセンス管理部151は、図24のステップS205の電子機器23と同様の方法により、有効期限の所定の日数前になったライセンスの延長コードを生成する。これにより、サーバ11と電子機器23が直接通信を行わなくても、電子機器23毎及び更新回数毎に異なり、サーバ11と電子機器23で共通の延長コードが生成される。
 ステップS304において、サーバ11は、延長コードをメールで送信する。具体的には、通信部103は、通信制御部154の制御の下に、有効期限を更新するライセンスの権利者であるユーザに、上述した図25又は図27に示されるような延長コードを含むメールを送信する。
 なお、電子機器23において延長コードを入力できる期間は、例えば、延長前のライセンスの有効期限の所定の日数前から延長後のライセンスの有効期限までとなる。例えば、延長コードを事前に入力できる期間を5日間とし、延長前のライセンスの有効期限が3月31日で、延長後のライセンスの有効期限が4月30日の場合、延長コードの入力可能期間は、3月27日から4月30日までの期間となる。なお、3月27日から3月31日までの期間は、3月31日までの有効期限の延長コード、及び、4月30日までの有効期限の延長コードの両方を入力することが可能である。
 ステップS305において、ライセンス管理部151は、ライセンスの有効期限を更新する。具体的には、ライセンス管理部151は、更新対象となるライセンスのライセンス情報内のサーバ有効期限及びクライアント有効期限にライセンスの有効期間を加算することにより、有効期限を更新する。また、ライセンス管理部151は、ライセンス情報内の更新回数の値を1つ増やす。
 その後、処理はステップS306に進む。
 一方、ステップS302において、決済済みでないと判定された場合、ステップS303乃至ステップS305の処理はスキップされ、延長コードのメール送信が行われずに、処理はステップS306に進む。
 また、ステップS301において、有効期限の所定の日数前になったライセンスがないと判定された場合、ステップS302乃至ステップS305の処理はスキップされ、処理はステップS306に進む。
 ステップS306において、ライセンス管理部151は、有効期限を過ぎたライセンスがあるか否かを判定する。ライセンス管理部151は、記憶部106に記憶されているライセンス情報の中に、サーバ有効期限が現在のRTC105の日時より前のライセンスがある場合、有効期限を過ぎたライセンスがあると判定し、処理はステップS307に進む。
 ステップS307において、ライセンス管理部151は、ライセンスを停止する。例えば、ライセンス管理部151は、有効期限を過ぎたライセンスのライセンス情報内のサーバ有効期限及びクライアント有効期限を期限切れに設定する。
 その後、処理はステップS301に戻り、ステップS301以降の処理が実行される。
 一方、ステップS306において、有効期限を過ぎたライセンスがないと判定された場合、処理はステップS301に戻り、ステップS301以降の処理が実行される。
 以上のようにして、サーバ11が提供し、電子機器23で使用するライセンスの期限管理を適切に行うことができる。例えば、電子機器23は、サーバ11と直接通信しなくても、サーバ11と同様の方法により共通の延長コードを生成し、生成した延長コードにより認証を行うことにより、ライセンスを更新(ライセンスの有効期限を延長)することができる。また、サーバ11と電子機器23が直接通信しなくても、有効期限を過ぎたライセンスを電子機器23において無効化することができる。このように、ライセンスの期限管理を電子機器23内で完結させることができる。
 <ライセンスの有効期間の変更について>
 上述したように、ユーザは、ライセンスの取得時に複数の種類の有効期間の中から所望のものを選択することが可能である。そこで、例えば、ユーザが、ライセンスの有効期間を途中で変更できるようにしてもよい。この場合、ライセンスの更新時だけでなく、ライセンスの有効期間中に有効期間を変更できるようにしてもよい。
 以下、ライセンスの有効期間が30日と365日の2種類の場合に、有効期間が30日のライセンス(以下、30日ライセンスと称する)の20日目まで経過した時点で、有効期間が365日のライセンス(以下、365日ライセンス)に変更する場合の例について説明する。
 この場合、例えば、365日ライセンスの開始日を、30日ライセンスの終了後に設定することが考えられる。この場合、30日ライセンス及び365日ライセンスの両方がフルに使用されるため、365日ライセンスの料金が、そのままユーザに請求される。また、この場合、365日ライセンスの有効期限は、30日ライセンスの最終日から365日後に設定される。
 また、例えば、365日ライセンスの開始日を、365日ライセンスへの変更の申請日の翌日に設定することが考えられる。この場合、例えば、365日ライセンスの料金から30日ライセンスの残り10日分の料金を差し引いた料金が、ユーザに請求される。また、この場合、365日ライセンスの有効期限は、申請日から365日後に設定される。
 さらに、例えば、365日ライセンスの開始日を30日ライセンスの開始日に設定することが考えられる。すなわち、この場合、30日ライセンスが365日ライセンスに吸収される。この場合、例えば、365日ライセンスの料金から30日ライセンスの料金を差し引いた料金が、ユーザに請求される。また、この場合、365日ライセンスの有効期限は、30日ライセンスの開始日から364日後に設定される。
 なお、例えば、365日ライセンスから30日ライセンスに変更するように、有効期間を短くする方向の変更は、基本的に禁止される。
 また、上述したように、同じユーザIDに対応付けられているライセンスのうち、有効期限が同じライセンスは、1つの延長コードを入力するだけで、更新が可能である。従って、同じユーザが、異なる日にライセンスを申し込んだり、途中で有効期間を変更したりした場合、できる限り、ライセンスの有効期限を合わせるようにすることが望ましい。また、ライセンスの有効期限を合わせるために、ライセンスの有効期間を短くした場合、例えば、短くなった分だけ料金が割引される。
 <情報処理システム10の処理の第2の実施の形態>
 次に、図38乃至図48を参照して、情報処理システムの処理の第2の実施の形態について説明する。この第2の実施の形態では、第1の実施の形態と比較して、主にライセンスの有効期限の更新方法が異なる。より具体的には、第1の実施の形態では、ユーザがライセンスを更新したい場合に更新処理(延長コードの入力)を行うようにしたが、第2の実施の形態では、基本的にライセンスが自動更新され、ユーザがライセンスを解約したい場合に解約処理を行うようにする。
 なお、この第2の実施の形態では、電子機器23が、ケーブル等によりPC21に接続され、PC21及びネットワーク13を介してサーバ11と直接通信を行う場合について説明する。
 <ライセンス取得処理>
 まず、図38のフローチャートを参照して、クライアント12により実行されるライセンス取得処理について説明する。
 なお、この処理は、例えば、電子機器23の入力部201又はPC21が操作され、電子機器23の所定の機能のライセンスの取得の指示が入力されたとき開始される。
 ステップS401乃至ステップS407において、図6のステップS4乃至ステップS10と同様の処理が実行される。
 ステップS408において、通信部204は、通信制御部255の制御の下に、PC21及びネットワーク13を介して、機器情報ファイルをサーバ11に送信する。
 ステップS409において、通信制御部255は、ライセンス通信ファイルを受信したか否かを判定する。
 具体的には、サーバ11は、後述する図41のステップS461において、機器情報ファイルを受信し、機器情報が正当であると判定した場合、ステップS468において、ネットワーク13を介して、ライセンス通信ファイルを送信する。
 そして、通信制御部255が、PC21及び通信部204を介して、ライセンス通信ファイルを受信したと判定した場合、処理はステップS410に進む。
 ステップS410において、電子機器23は、ライセンスを有効化するか否かを判定する。
 例えば、出力部205は、UI制御部254の制御の下に、図39のウインドウ801を表示する。
 ウインドウ801には、電子機器23の型名、機能の種類及びライセンス種別、並びに、その機能を有効にするか否かを確認するメッセージが表示されている。また、ウインドウ401には、YESボタン402及びNOボタン403が表示されている。そして、ライセンス管理部251は、YESボタン402が押下された場合、ライセンスを有効化すると判定し、NOボタン403が押下された場合、ライセンスを有効化しないと判定する。ライセンスを有効化すると判定された場合、処理はステップS411に進む。
 ステップS411において、電子機器23は、ライセンス開始処理を実行し、ライセンス取得処理は終了する。ここで、図40のフローチャートを参照して、ライセンス開始処理の詳細について説明する。
 ステップS431において、図15のステップS61の処理と同様に、ライセンス通信ファイルが正当であるか否かが判定される。ライセンス通信ファイルが正当であると判定された場合、処理はステップS432に進む。
 ステップS432において、図15のステップS62の処理と同様に、過去にインストールしたインストールキーであるか否かが判定される。過去にインストールしたインストールキーでないと判定された場合、処理はステップS433に進む。
 ステップS433において、図15のステップS63の処理と同様に、インストールキー内の機器固有IDが自機のものと一致するか否かが判定される。インストールキー内の機器固有IDが自機のものと一致すると判定された場合、処理はステップS434に進む。
 ステップS434において、図15のステップS67の処理と同様に、ライセンスが有効化される。
 ステップS435において、電子機器23は、ライセンス情報を記憶する。具体的には、ライセンス管理部251は、デバイスRTCにライセンスの有効期間を加算することにより、ライセンスの有効期限(クライアント有効期限)を算出する。
 なお、ライセンスの有効期間は、第1の実施の形態と同様に、ライセンスを取得する際に、複数の種類(例えば、30日間又は365日間)の中から選択される。
 記憶制御部256は、現在のRTC206の日時、インストールキー、並びに、ライセンスのクライアント有効期限、有効期間、及び、確認日時を含むライセンス情報を記憶部207に記憶させる。
 なお、この現在のRTC206の日時は、ライセンスの使用を開始した日時となる。また、ライセンスの確認日時は、最後にライセンスの継続を確認した日時(ライセンスを継続して使用することを確認した日時)を示し、初期値としてデバイスRTCが設定される。
 その後、ライセンス開始処理は終了する。
 一方、ステップS431において、ライセンス通信ファイルが正当でないと判定された場合、ステップS432において、過去にインストールしたインストールキーであると判定された場合、又は、ステップS433において、インストールキー内の機器固有IDが自機のものと一致しないと判定された場合、ライセンスは有効化されずに、ライセンス開始処理は終了する。
 図38に戻り、一方、ステップS409において、ライセンス通信ファイルを受信していないと判定された場合、又は、ステップS410において、ライセンスを有効化しないと判定された場合、ライセンス開始処理は行われずに、ライセンス取得処理は終了する。
 <ライセンス発行処理>
 次に、図41のフローチャートを参照して、図38のクライアント12によるライセンス取得処理に対応して、サーバ11により実行されるライセンス発行処理について説明する。
 ステップS461において、上述した図13のステップS32の処理と同様に、機器情報ファイルが受信される。
 ステップS462において、図13のステップS33の処理と同様に、機器情報ファイルが正当であるか否かが判定される。機器情報ファイルが正当であると判定された場合、処理はステップS463に進む。
 ステップS463において、ライセンス管理部151は、インストールキーを生成する。
 図42は、インストールキーのフォーマットの例を示している。このインストールキーは、機能ID、システム一意情報、及び、機器固有IDを含んでいる。すなわち、このインストールキーは、図14のインストールキーと比較して、ライセンスの有効期限及び有効期間を含まない点が異なる。
 ステップS464において、データ生成部152は、デバイスRTC及びインストールキーを含む格納データを生成する。
 ステップS465及びステップS466において、図13のステップS37及びステップS38と同様の処理が実行される。
 ステップS467において、サーバ11は、ライセンス情報を記憶する。例えば、記憶制御部155は、現在のRTC105の日時、機器固有ID、機器固有鍵、インストールキー、並びに、ライセンスのサーバ有効期限、有効期間、及び、確認日時の組合せを含むライセンス情報を記憶部106に記憶させる。
 なお、ライセンスのサーバ有効期限は、現在のRTC105の日時にライセンスの有効期間を加算した日時に設定される。また、ライセンスの確認日時は、サーバ11のRTC105に基づく日時(以下、サーバ確認日時とも称する)と電子機器23のRTC206に基づく日時(以下、クライアント確認日時とも称する)の2種類が設定される。例えば、サーバ確認日時には、現在のRTC105の日時が設定され、クライアント確認日時には、デバイスRTCが設定される。なお、電子機器23のライセンス情報の確認日時は、電子機器23のRTC206に基づくため、クライアント確認日時となる。
 ステップS468において、図13のステップS40の処理と同様に、ライセンス通信ファイルが送信され、ライセンス発行処理は終了する。
 一方、ステップS462において、機器情報ファイルが正当でないと判定された場合、ステップS463乃至ステップS468の処理はスキップされ、ライセンス発行処理は終了する。
 <ライセンス管理処理>
 次に、図43のフローチャートを参照して、クライアント12により実行されるライセンス管理処理について説明する。
 ステップS501において、ライセンス管理部251は、ライセンスの確認を行うか否かを判定する。例えば、ライセンス管理部251は、電子機器23の入力部201又はPC21が操作され、電子機器23の所定の機能のライセンスの確認の指示が入力されたとき、ライセンスの確認を行うと判定し、処理はステップS502に進む。或いは、例えば、ライセンス管理部251は、ケーブル等により電子機器23がPC21に接続され、PC21及びネットワーク13を介してサーバ11と通信を開始した場合、ライセンスの確認を行うと判定し、処理はステップS502に進む。
 ステップS502において、クライアント12は、ライセンス確認処理を実行する。ここで、図44のフローチャートを参照して、ライセンス確認処理の詳細について説明する。
 ステップS531において、図6のステップS6の処理と同様に、現在のRTC206の日時がデバイスRTCに設定される。
 ステップS532において、データ生成部253は、機器固有ID、デバイスRTC、及び、確認するライセンスのインストールキーを含む格納データを生成する。具体的には、データ生成部253は、機器固有ID、及び、確認するライセンスのインストールキーを記憶部207から読み出す。データ生成部253は、読み出した機器固有ID、デバイスRTC、及び、インストールキーを含む格納データを生成する。
 ステップS533において、図6のステップS9の処理と同様に、機器固有鍵を用いて格納データのハッシュ値が算出される。
 ステップS534において、データ生成部253は、格納データ及びハッシュ値を含むライセンス確認ファイルを生成する。このライセンス確認ファイルは、主に電子機器23におけるライセンスの確認日時(デバイスRTC)の通知に用いられる。
 ステップS535において、通信部204は、通信制御部255の制御の下に、PC21及びネットワーク13を介して、ライセンス確認ファイルをサーバ11に送信する。
 これに対して、サーバ11は、後述する図45のステップS561において、ライセンス確認ファイルを受信する。
 ステップS536において、ライセンス管理部251は、ライセンスの確認が完了したか否かを判定する。ライセンス管理部251は、後述する図45のステップS566において、ネットワーク13、PC21、及び、通信部204を介して、サーバ11からライセンスの確認の完了が通知された場合、ライセンスの確認が完了したと判定し、処理はステップS537に進む。
 ステップS537において、ライセンス管理部251は、ライセンスの確認日時を更新する。具体的には、ライセンス管理部251は、記憶部207に記憶されている、確認を行ったライセンスのライセンス情報の確認日時(クライアント確認日時)を、ステップS531の処理で設定したデバイスRTCに更新する。
 その後、ライセンス確認処理は終了する。
 一方、ステップS536において、ライセンス管理部251は、サーバ11からライセンスの確認の完了が通知されなかった場合、ライセンスの確認が完了しなかったと判定し、ステップS537の処理はスキップされ、ライセンス確認処理は終了する。
 <ライセンス確認受付処理>
 次に、図45のフローチャートを参照して、図44のクライアント12によるライセンス確認処理に対応して、サーバ11により実行されるライセンス確認受付処理について説明する。
 ステップS561において、サーバ11は、ライセンス確認ファイルを受信する。具体的には、通信制御部154は、通信部103を介して、上述した図44のステップS535の処理で電子機器23から送信されたライセンス確認ファイルを受信する。
 ステップS562において、図36のステップS263と同様の処理により、ライセンス確認ファイル内の機器固有IDとインストールキーの組合せが記憶している組合せと一致するか否かが判定される。ライセンス確認ファイル内の機器固有IDとインストールキーの組合せが記憶している組合せと一致すると判定された場合、処理はステップS563に進む。
 ステップS563において、図36のステップS264と同様の処理により、ライセンス確認ファイルが正当であるか否かが判定される。ライセンス確認ファイルが正当であると判定された場合、処理はステップS564に進む。
 ステップS564において、ライセンス管理部151は、ライセンスの有効期限が切れているか否かを判定する。具体的には、ライセンス管理部151は、確認対象となるライセンスのライセンス情報のサーバ有効期限が、現在のRTC105の日時以降である場合、ライセンスの有効期限が切れていないと判定し、処理はステップS565に進む。
 ステップS565において、ライセンス管理部151は、ライセンスの確認日時を更新する。具体的には、ライセンス管理部151は、確認対象となるライセンスのライセンス情報のクライアント確認日時を、ライセンス確認ファイル内のデバイスRTCに更新する。また、ライセンス管理部151は、確認対象となるライセンスのライセンス情報のサーバ確認日時を、現在のRTC105の日時に更新する。
 すなわち、ライセンス確認ファイルのデバイスRTCにより、電子機器23におけるライセンスの確認日時がサーバ11に通知され、サーバ11により認識される。そして、サーバ11は、デバイスRTCを電子機器23におけるライセンスの確認日時(クライアント確認日時)に設定する。また、サーバ11は、RTC105に基づいて、電子機器23におけるライセンスの確認日時のサーバ11における日時(サーバ確認日時)を設定する。
 ステップS566において、通信部103は、通信制御部154の制御の下に、ネットワーク13及びPC21を介して、ライセンスの確認の完了を通知する。
 その後、ライセンス確認受付処理は終了する。
 一方、ステップS564において、ライセンス管理部151は、確認対象となるライセンスのライセンス情報のサーバ有効期限が、現在のRTC105の日時より前である場合、ライセンスの有効期限が切れていると判定し、ライセンスの確認日時は更新されずに、ライセンス確認処理は終了する。
 また、ステップS562において、ライセンス確認ファイル内のインストールキーと機器固有IDの組合せが記憶している組合せと一致しないと判定された場合、又は、ステップS563において、ライセンス確認ファイルが正当でないと判定された場合、ライセンスの確認日時は更新されずに、ライセンス確認受付処理は終了する。
 以上のようにして、サーバ11は、電子機器23のライセンスの継続を確認する。
 図43に戻り、一方、ステップS501において、ライセンスの確認を行わないと判定された場合、ステップS502の処理はスキップされ、処理はステップS503に進む。
 ステップS503において、ライセンス管理部251は、所定の期間以上確認が行われていないライセンスがあるか否かを判定する。
 例えば、ライセンス管理部251は、電子機器23の電源がオンされたとき、電子機器23の使用が開始されたとき、又は、定期的に、記憶部106に記憶されているライセンス情報に基づいて、各ライセンスの確認日時(クライアント確認日時)をチェックする。そして、ライセンス管理部251は、確認日時が現在のRTC206の日時より所定の最長未確認期間(例えば、30日)以上前のライセンスがある場合、換言すれば、サーバ11に確認日時(デバイスRTC)が通知されてから最長未確認期間が経過しているライセンスがある場合、所定の期間以上確認が行われていないライセンスがあると判定し、処理はステップS504に進む。
 或いは、例えば、ライセンス管理部251は、入力部201を介して、ライセンスが必要な機能を実行するための操作が行われた場合、記憶部106に記憶されているライセンス情報に基づいて実行する機能のライセンスの確認日時(クライアント確認日時)をチェックする。そして、ライセンス管理部251は、そのライセンスの確認日時が現在のRTC206の日時より所定の最長未確認期間(例えば、30日)以上前である場合、所定の期間以上確認が行われていないライセンスがあると判定し、処理はステップS504に進む。
 ステップS504において、出力部205は、UI制御部254の制御の下に、確認コードの入力画面を表示する。例えば、所定の期間以上確認が行われていないライセンスに対応する機能の立ち上げ時に、確認コードの入力画面が表示される。なお、確認コードは、上述した延長コードとは異なり、ライセンスの有効期限を延長するためではなく、ライセンスの継続を確認するために用いられる。
 ステップS505において、ライセンス管理部251は、正しい確認コードが入力されたか否かを判定する。
 具体的には、ライセンス管理部251は、所定の方法により、確認対象となるライセンスのライセンス情報内の確認日時に基づいて、正式な確認コードを生成する。例えば、ライセンス管理部251は、確認対象となるライセンスの確認日時に最長未確認期間を加算した日時に基づいて、所定のアルゴリズムにより確認コードを生成する。このアルゴリズムは、入力する日時が同じであれば、同じ確認コードを生成し、入力する日時が異なれば、異なる確認コードを生成する。
 そして、ライセンス管理部251は、入力された確認コードが、生成した確認コードと一致しない場合、正しい確認コードが入力されなかったと判定し、処理はステップS506に進む。
 ステップS506において、ライセンス管理部251は、確認コードを所定の回数間違えたか否かを判定する。まだ確認コードを所定の回数間違えてないと判定された場合、処理はステップS504に戻る。
 その後、ステップS505において、正しい確認コードが入力されたと判定されるか、ステップS506において、確認コードを所定の回数間違えたと判定されるまで、ステップS504乃至ステップS506の処理が繰り返し実行される。これにより、正しい確認コードが入力されるまで、ライセンスの使用が停止され、そのライセンスに対応する機能が使用できなくなる。
 一方、ステップS505において、ライセンス管理部251は、入力された確認コードが、生成した確認コードと一致する場合、正しい確認コードが入力されたと判定し、処理はステップS507に進む。
 ステップS507において、ライセンス管理部251は、確認コードが入力されたライセンスの確認日時を更新する。具体的には、ライセンス管理部251は、確認コードが入力されたライセンスのライセンス情報内の確認日時(クライアント確認日時)に最長未確認期間を加算することにより、確認日時を更新する。
 その後、処理はステップS509に進む。
 一方、ステップS506において、確認コードを所定の回数間違えたと判定された場合、処理はステップS508に進む。
 ステップS508において、ライセンス管理部251は、ライセンスを無効化する。すなわち、ライセンス管理部251は、確認コードを間違えたライセンスに対応する機能を使用できない状態にする。
 その後、処理はステップS509に進む。
 一方、ステップS503において、ライセンス管理部251は、記憶部106に記憶されているライセンス情報の中に、確認日時が現在のRTC206の日時より最長未確認期間以上前のライセンスがない場合、所定の期間以上確認が行われていないライセンスがないと判定し、ステップS504乃至ステップS508の処理はスキップされ、処理はステップS509に進む。
 ステップS509において、ライセンス管理部251は、ライセンスの解約を行うか否かを判定する。例えば、ライセンス管理部251は、電子機器23の入力部201又はPC21が操作され、電子機器23の所定の機能のライセンスの解約の指示が入力されたとき、ライセンスの解約を行うと判定し、処理はステップS510に進む。
 ステップS510において、クライアント12は、ライセンス解約処理を実行する。ここで、図46のフローチャートを参照して、ライセンス解約処理の詳細について説明する。
 ステップS601乃至ステップS603において、上述した図29のステップS234乃至ステップS236と同様の処理が実行される。
 ステップS604において、データ生成部253は、格納データ及びハッシュ値を含むライセンス解約ファイルを生成する。
 ステップS605において、図44のステップS535と同様の処理により、ライセンス解約ファイルがサーバ11に送信される。
 ステップS606において、ライセンス管理部251は、ライセンスの解約が完了したか否かを判定する。ライセンス管理部251は、後述する図48のステップS634において、サーバ11からライセンスの解約の完了が通知された場合、ライセンスの解約が完了したと判定し、処理はステップS607に進む。
 ステップS607において、出力部205は、UI制御部254の制御の下に、ライセンスの解約の完了を通知する。
 その後、ライセンス解約処理は終了する。
 一方、ステップS606において、ライセンス管理部251は、サーバ11からライセンスの解約の完了が通知されなかった場合、ライセンスの解約が完了しなかったと判定し、ステップS607の処理はスキップされ、ライセンス解約処理は終了する。
 <ライセンス解約受付処理>
 次に、図47のフローチャートを参照して、図46のクライアント12によるライセンス解約処理に対応して、サーバ11により実行されるライセンス解約受付処理について説明する。
 ステップS631において、サーバ11は、ライセンス解約ファイルを受信する。具体的には、通信制御部154は、通信部103を介して、上述した図43のステップS605の処理で電子機器23から送信されたライセンス解約ファイルを受信する。
 ステップS632において、図36のステップS263と同様の処理により、ライセンス解約ファイル内の機器固有IDとインストールキーの組合せが記憶している組合せと一致するか否かが判定される。ライセンス解約ファイル内の機器固有IDとインストールキーの組合せが記憶している組合せと一致すると判定された場合、処理はステップS633に進む。
 ステップS633において、図36のステップS264と同様の処理により、ライセンス解約ファイルが正当であるか否かが判定される。ライセンス解約ファイルが正当であると判定された場合、処理はステップS634に進む。
 ステップS634において、サーバ11は、ライセンスの解約を受け付ける。例えば、ライセンス管理部151は、記憶部106に記憶されている解約対象となるライセンスのライセンス情報に解約済みを示すデータを格納する。また、通信部103は、通信制御部154の制御の下に、ネットワーク13を介して、ライセンスの解約の完了をクライアント12に通知する。
 その後、ライセンス解約受付処理は終了する。
 一方、ステップS632において、ライセンス解約ファイル内のインストールキーと機器固有IDの組合せが記憶している組合せと一致しないと判定された場合、又は、ステップS633において、ライセンス解約ファイルが正当でないと判定された場合、ライセンスの解約は受け付けられずに、ライセンス解約処理は終了する。
 図43に戻り、一方、ステップS509において、ライセンスの解約を行わないと判定された場合、ステップS510の処理はスキップされ、処理はステップS511に進む。
 ステップS511において、上述した図24のステップS213の処理と同様に、RTC206が未設定状態になったか否かが判定される。RTC206が未設定状態になったと判定された場合、処理はステップS512に進む。
 ステップS512において、上述した図24のステップS214の処理と同様に、全てのライセンスが無効化される。
 その後、処理はステップS501に戻り、ステップS501以降の処理が実行される。
 一方、ステップS511において、RTC206が未設定状態になっていないと判定された場合、処理はステップS501に戻り、ステップS501以降の処理が実行される。
 <ライセンス期限管理処理>
 次に、図48のフローチャートを参照して、サーバ11により実行されるライセンス期限管理処理について説明する。
 ステップS701において、ライセンス管理部151は、所定の期間以上確認が行われていないライセンスがあるか否かを判定する。ライセンス管理部151は、記憶部106に記憶されているライセンス情報の中に、サーバ確認日時が現在のRTC105の日時より所定の期間以上前のライセンスがある場合、換言すれば、電子機器23から確認日時(デバイスRTC)が通知されてから所定の期間が経過しているライセンスがある場合、所定の期間以上確認が行われていないライセンスがあると判定し、処理はステップS702に進む。
 なお、この所定の期間は、図43のステップS503の処理の最長未確認期間(例えば、30日)より短い期間(例えば、25日)に設定される。これにより、電子機器23においてライセンスの確認が行われないまま最長未確認期間が経過する前に、確認コードがサーバ11からクライアント12に通知されるようになる。
 ステップS702において、ライセンス管理部151は、確認コードを生成する。
 具体的には、ライセンス管理部151は、電子機器23と同様の方法により、確認コードの生成対象となるライセンスのライセンス情報内のクライアント確認日時に基づいて、正式な確認コードを生成する。例えば、ライセンス管理部151は、確認コードの生成対象となるライセンスのクライアント確認日時に最長未確認期間を加算した日時に基づいて、電子機器23と同じアルゴリズムにより確認コードを生成する。このとき、サーバ11のライセンス情報内のクライアント確認日時は、対応する電子機器23のライセンス情報内の確認日時と同じ日時に設定されているため、サーバ11と電子機器23で同じ確認コードが生成されるようになる。
 ステップS703において、図37のステップS304と同様の処理により、確認コードがメールで送信される。
 その後、処理はステップS704に進む。
 一方、ステップS701において、ライセンス管理部151は、記憶部106に記憶されているライセンス情報の中に、サーバ確認日時が現在のRTC105の日時より所定の期間以上前のライセンスがない場合、所定の期間以上確認が行われていないライセンスがないと判定し、ステップS702及びステップS703の処理はスキップされ、処理はステップS704に進む。
 ステップS704において、図37のステップS306の処理と同様に、有効期限を過ぎたライセンスがあるか否かが判定される。有効期限を過ぎたライセンスがあると判定された場合、処理はステップS705に進む。
 ステップS705において、ライセンス管理部151は、決済済みであるか否かを判定する。ライセンス管理部151が、有効期限を過ぎているライセンスがすでに決済済みであると判定した場合、処理はステップS706に進む。
 ステップS706において、ライセンス管理部151は、ライセンスの有効期限を更新する。具体的には、ライセンス管理部151は、有効期限を更新するライセンスのライセンス情報内のサーバ有効期限にライセンスの有効期間を加算することにより、有効期限を更新する。
 その後、処理はステップS701に戻り、ステップS701以降の処理が実行される。
 一方、ステップS705において、ライセンス管理部151が、有効期限を過ぎているライセンスが決済済みでないと判定した場合、処理はステップS707に進む。
 ステップS707において、図37のステップS307の処理と同様に、ライセンスが停止される。
 その後、処理はステップS701に戻り、ステップS701以降の処理が実行される。
 一方、ステップS704において、有効期限を過ぎたライセンスがないと判定された場合、処理はステップS701に戻り、ステップS701以降の処理が実行される。
 以上のようにして、サーバ11が提供し、電子機器23が使用するライセンスの更新を適切に行うことができる。例えば、ライセンスに対する決済が行われていれば、ユーザが解約処理を行うまで、ライセンスが自動的に更新される。そして、ユーザは、定期的に電子機器23をサーバ11に接続し、ライセンスの継続を確認するだけで、ライセンスを継続して使用することができる。また、ライセンスの継続の確認が長期間行われていなくても、ライセンスに対する決済が行われていれば、ユーザは、サーバ11から通知された確認コードを入力するだけで、ライセンスの継続を確認し、ライセンスを継続して使用することができる。さらに、ライセンスに対する決済が停止すると、電子機器23がサーバ11と通信しなくても、電子機器23においてライセンスの使用が自動的に停止される。
 <<2.変形例>>
 以下、上述した本技術の実施の形態の変形例について説明する。
 例えば、PC21の代わりに、サーバ11と通信可能であり、メディア22の読み書きが可能な他の情報処理装置(例えば、スマートフォン、タブレット等)を用いてもよい。
 また、情報処理システム10の処理の第1の実施の形態において、例えば、電子機器23をPC21に接続して、サーバ11と電子機器23が、ネットワーク13及びPC21を介してデータの授受を行うようにしてもよい。また、例えば、電子機器23が、ネットワーク13を介してサーバ11と直接通信し、データの授受を行うようにしてもよい。
 さらに、情報処理システム10の処理の第1の実施の形態において、所定の猶予時間を過ぎても、ライセンスのインストールが許可されるようにしてもよい。この場合、例えば、猶予時間を過ぎた分だけライセンスの有効期間が短縮される。
 また、情報処理システム10の処理の第1の実施の形態において、例えば、インストールキーの代わりに、インストールキーに準ずるデータを用いて延長コードを生成するようにしてもよい。インストールキーに準ずるデータとは、例えば、インストールキーのようにライセンスのインストール毎に値が異なるデータのことである。例えば、サーバ11が、インストール毎にカウンタをカウントアップし、そのカウンタ値(例えば、インストール回数)をインストールキーの代わりに用いることが可能である。さらに、例えば、更新回数の代わりに、更新回数に準ずるデータを用いて延長コードを生成するようにしてもよい。更新回数に準ずるデータとは、例えば、更新回数により異なるデータであり、更新回数に所定の係数を乗じたデータ等である。
 また、情報処理システム10の処理の第2の実施の形態において、サーバ11と電子機器23が、ネットワーク13、PC21及びメディア22を介してデータの授受を行うようにしてもよい。また、例えば、電子機器23が、ネットワーク13を介してサーバ11と直接通信し、データの授受を行うようにしてもよい。
 さらに、例えば、情報処理システム10の処理の第2の実施の形態において、図47のステップS634の処理でライセンスの解約を受け付けた場合に、まだライセンスの有効期間が残っているとき、残り期間のライセンスを他の電子機器23で使用できるようにしてもよい。すなわち、この場合、解約が受け付けられたライセンスが、有効期間が満了するまで、フローティングライセンスとして扱われる。
 また、以上の説明では、延長コード又は確認コードが、ユーザ操作により電子機器23に直接入力される例を示したが、例えば、スマートフォンのアプリケーションプログラム等を用いて入力されるようにしてもよい。例えば、スマートフォンが電子機器23に近接されると、スマートフォンと電子機器23が近距離無線通信を行い、スマートフォンから電子機器23に延長コード又は確認コードが転送されるようにしてもよい。
 さらに、図14及び図42のインストールキーのフォーマットは、その一例であり、適宜変更することが可能である。例えば、インストールキーに含まれるデータの一部をインストールキーに格納せずに、インストールキーを送信するライセンス通信ファイル等のファイルに格納するようにしてもよい。
 また、例えば、図24のステップS205において、電子機器23が、PC21及びネットワーク13を介して、延長コードをサーバ11に送信し、サーバ11が延長コードによる認証を行うことにより、ライセンスの有効期限を更新するようにしてもよい。
 さらに、以上の説明では、サーバ11とクライアント21間で主にファイル形式で情報の送受信を行う例を示したが、送受信する情報の形式には他の任意の形式を用いることも可能である。
 <<3.その他>>
 <コンピュータの構成例>
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図49は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータ1000において、CPU(Central Processing Unit)1001,ROM(Read Only Memory)1002,RAM(Random Access Memory)1003は、バス1004により相互に接続されている。
 バス1004には、さらに、入出力インターフェース1005が接続されている。入出力インターフェース1005には、入力部1006、出力部1007、記録部1008、通信部1009、及びドライブ1010が接続されている。
 入力部1006は、入力スイッチ、ボタン、マイクロフォン、撮像素子などよりなる。出力部1007は、ディスプレイ、スピーカなどよりなる。記録部1008は、ハードディスクや不揮発性のメモリなどよりなる。通信部1009は、ネットワークインターフェースなどよりなる。ドライブ1010は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体1011を駆動する。
 以上のように構成されるコンピュータ1000では、CPU1001が、例えば、記録部1008に記録されているプログラムを、入出力インターフェース1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ1000(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータ1000では、プログラムは、リムーバブル記録媒体1011をドライブ1010に装着することにより、入出力インターフェース1005を介して、記録部1008にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1009で受信し、記録部1008にインストールすることができる。その他、プログラムは、ROM1002や記録部1008に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 <構成の組み合わせ例>
 本技術は、以下のような構成をとることもできる。
(1)
 機器毎に固有の鍵である機器固有鍵を生成する鍵生成部と、
 前記機器固有鍵、情報処理装置が提供するライセンスのインストール毎に異なる第1のデータ、及び、前記ライセンスの更新回数により異なる第2のデータに基づいて所定の方法により生成した延長コードと、入力された延長コードとが一致する場合、前記ライセンスを更新するライセンス管理部と
 を備える電子機器。
(2)
 前記第1のデータは、前記ライセンスのインストール用のインストールキーであり、
 前記ライセンス管理部は、前記インストールキーを用いて前記ライセンスをインストールする
 前記(1)に記載の電子機器。
(3)
 前記機器固有鍵を含む情報である機器情報を生成するデータ生成部を
 さらに備え、
 前記インストールキーは、前記機器情報を用いて前記情報処理装置により生成された情報であるライセンス通信情報に含まれる
 前記(2)に記載の電子機器。
(4)
 前記ライセンス通信情報は、前記ライセンスの権利者に固有のユーザIDを含み、
 前記ライセンス管理部は、前記生成した延長コードと前記入力された延長コードと一致した場合、1つの前記ユーザIDに対応付けられている複数の前記ライセンスの更新が可能である
 前記(3)に記載の電子機器。
(5)
 前記鍵生成部は、初めて前記機器情報が生成される前に前記機器固有鍵を生成する
 前記(3)又は(4)に記載の電子機器。
(6)
 前記第2のデータは、前記ライセンスの更新回数を示す
 前記(1)乃至(5)のいずれかに記載の電子機器。
(7)
 前記ライセンス管理部は、前記情報処理装置と同じハッシュ関数を用いて、前記機器固有鍵、前記第1のデータ、及び、前記第2のデータに基づいて、所定の桁数の延長コードを生成する
 前記(1)乃至(6)のいずれかに記載の電子機器。
(8)
 電子機器が、
 前記電子機器に固有の鍵である機器固有鍵を生成し、
 前記機器固有鍵、情報処理装置が提供するライセンスのインストール毎に異なる第1のデータ、及び、前記ライセンスの更新回数により異なる第2のデータに基づいて所定の方法により生成した延長コードと、入力された延長コードとが一致する場合、前記ライセンスを更新する
 情報処理方法。
(9)
 電子機器のコンピュータに、
 前記電子機器に固有の鍵である機器固有鍵を生成し、
 前記機器固有鍵、情報処理装置が提供するライセンスのインストール毎に異なる第1のデータ、及び、前記ライセンスの更新回数により異なる第2のデータに基づいて所定の方法により生成した延長コードと、入力された延長コードとが一致する場合、前記ライセンスを更新する
 処理を実行させるためのプログラム。
(10)
 電子機器に固有の鍵である機器固有鍵、前記電子機器へのライセンスのインストール毎に異なる第1のデータ、及び、前記電子機器における前記ライセンスの更新回数により異なる第2のデータに基づいて、前記電子機器と同じ方法により前記ライセンスを更新するための延長コードを生成するライセンス管理部と、
 前記延長コードの送信を制御する通信制御部と
 を備える情報処理装置。
(11)
 前記ライセンス管理部は、前記ライセンスのインストール用のインストールキーを生成し、
 前記第1のデータは、前記インストールキーである
 前記(10)に記載の情報処理装置。
(12)
 前記機器固有鍵を含み、前記電子機器により生成された情報である機器情報を用いて、前記インストールキーを含み、前記電子機器において前記ライセンスのインストールに用いる情報であるライセンス通信情報を生成するデータ生成部を
 さらに備える前記(11)に記載の情報処理装置。
(13)
 前記ライセンス通信情報は、前記ライセンスの権利者に固有のユーザIDを含む
 前記(12)に記載の情報処理装置。
(14)
 前記機器固有鍵は、前記電子機器により前記機器情報が初めて生成される前に生成される
 前記(12)又は(13)に記載の情報処理装置。
(15)
 前記第2のデータは、前記ライセンスの更新回数を示す
 前記(10)乃至(14)のいずれかに記載の情報処理装置。
(16)
 前記ライセンス管理部は、前記電子機器と同じハッシュ関数を用いて、前記機器固有鍵、前記第1のデータ、及び、前記第2のデータに基づいて所定の桁数の延長コードを生成する
 前記(10)乃至(15)のいずれかに記載の情報処理装置。
(17)
 情報処理装置が、
 電子機器に固有の鍵である機器固有鍵、前記電子機器へのライセンスのインストール毎に異なる第1のデータ、及び、前記電子機器における前記ライセンスの更新回数により異なる第2のデータに基づいて、前記電子機器と同じ方法により前記ライセンスを更新するための延長コードを生成し、
 前記延長コードの送信を制御する
 情報処理方法。
(18)
 電子機器に固有の鍵である機器固有鍵、前記電子機器へのライセンスのインストール毎に異なる第1のデータ、及び、前記電子機器における前記ライセンスの更新回数により異なる第2のデータに基づいて、前記電子機器と同じ方法により前記ライセンスを更新するための延長コードを生成し、
 前記延長コードの送信を制御する
 処理をコンピュータに実行させるためのプログラム。
(19)
 ハードウエアクロックと、
 前記ハードウエアクロックに基づく日時である確認日時がライセンスの期限を管理する情報処理装置に通知されてから所定の期間が経過した場合、前記確認日時に基づいて前記情報処理装置と同じ方法で生成され、前記ライセンスの継続の確認に用いられる確認コードが入力されるまで、前記ライセンスの使用を停止するライセンス管理部と
 を備える電子機器。
(20)
 前記情報処理装置に前記確認日時を通知するための情報であるライセンス確認情報を生成するデータ生成部を
 さらに備える前記(19)に記載の電子機器。
(21)
 機器毎に固有の鍵である機器固有鍵を生成する鍵生成部を
 さらに備え、
 前記データ生成部は、前記情報処理装置から前記ライセンスのインストール用に供給されたインストールキーを含み、前記機器固有鍵を用いてセキュリティが確保された情報であって、前記情報処理装置において前記ライセンスの解約に用いる情報であるライセンス解約情報をさらに生成する
 前記(20)に記載の電子機器。
(22)
 前記データ生成部は、前記機器固有鍵を含み、前記情報処理装置において前記ライセンスの発行に用いられる情報である機器情報をさらに生成する
 前記(21)に記載の電子機器。
(23)
 前記鍵生成部は、初めて前記機器情報が生成される前に前記機器固有鍵を生成する
 前記(22)に記載の電子機器。
(24)
 前記ライセンス管理部は、前記機器情報を用いて前記情報処理装置により生成された情報であるライセンス通信情報に含まれる前記インストールキーを用いて、前記ライセンスをインストールする
 前記(22)又は(23)に記載の電子機器。
(25)
 ハードウエアクロックを備える電子機器が、
 前記ハードウエアクロックに基づく日時である確認日時がライセンスの期限を管理する情報処理装置に通知されてから所定の期間が経過した場合、前記確認日時に基づいて前記情報処理装置と同じ方法で生成され、前記ライセンスの継続の確認に用いられる確認コードが入力されるまで、前記ライセンスの使用を停止する
 情報処理方法。
(26)
 ハードウエアクロックを備える電子機器のコンピュータに、
 前記ハードウエアクロックに基づく日時である確認日時がライセンスの期限を管理する情報処理装置に通知されてから所定の期間が経過した場合、前記確認日時に基づいて前記情報処理装置と同じ方法で生成され、前記ライセンスの継続の確認に用いられる確認コードが入力されるまで、前記ライセンスの使用を停止する
 処理を実行させるためのプログラム。
(27)
 電子機器のハードウエアクロックに基づく日時である確認日時が通知されてから所定の期間が経過した場合、前記確認日時に基づいて、前記電子機器が使用するライセンスの継続を前記電子機器において確認するための確認コードを前記電子機器と同じ方法で生成するライセンス管理部と、
 前記確認コードの送信を制御する通信制御部と
 を備える情報処理装置。
(28)
 前記ライセンス管理部は、前記確認日時を含み、前記電子機器により生成された情報であるライセンス確認情報を用いて、前記確認日時を認識する
 前記(27)に記載の情報処理装置。
(29)
 前記ライセンス管理部は、前記ライセンスのインストール用のインストールキーを含み、前記電子機器に固有の鍵である機器固有鍵を用いてセキュリティが確保された情報であって、前記電子機器により生成された情報であるライセンス解約情報を用いて、前記ライセンスの解約を行う
 前記(27)又は(28)に記載の情報処理装置。
(30)
 前記機器固有鍵を含み、前記電子機器により生成された情報である機器情報を用いて、前記インストールキーを含み、前記電子機器において前記ライセンスのインストールに用いる情報であるライセンス通信情報を生成するデータ生成部を
 さらに備える前記(29)に記載の情報処理装置。
(31)
 前記機器固有鍵は、前記電子機器により初めて前記機器情報が生成される前に生成される
 前記(30)に記載の情報処理装置。
(32)
 情報処理装置が、
 電子機器のハードウエアクロックに基づく日時である確認日時が通知されてから所定の期間が経過した場合、前記確認日時に基づいて、前記電子機器が使用するライセンスの継続を前記電子機器において確認するための確認コードを前記電子機器と同じ方法で生成し、
 前記確認コードの送信を制御する
 情報処理方法。
(33)
 電子機器のハードウエアクロックに基づく日時である確認日時が通知されてから所定の期間が経過した場合、前記確認日時に基づいて、前記電子機器が使用するライセンスの継続を前記電子機器において確認するための確認コードを前記電子機器と同じ方法で生成し、
 前記確認コードの送信を制御する
 処理をコンピュータに実行させるためのプログラム。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 10 情報処理システム, 11 サーバ, 12 クライアント, 13 ネットワーク, 21 PC, 22 リムーバブルメディア, 23 電子機器, 102 制御部, 105 RTC, 151 ライセンス管理部, 152 データ生成部, 153 UI制御部, 154 通信制御部, 155 記憶制御部, 202 機能実行部, 203 制御部, 206 RTC, 208 ドライブ, 251 ライセンス管理部, 252 鍵生成部, 253 データ生成部, 254 UI制御部, 255 通信制御部, 256 記憶制御部

Claims (33)

  1.  機器毎に固有の鍵である機器固有鍵を生成する鍵生成部と、
     前記機器固有鍵、情報処理装置が提供するライセンスのインストール毎に異なる第1のデータ、及び、前記ライセンスの更新回数により異なる第2のデータに基づいて所定の方法により生成した延長コードと、入力された延長コードとが一致する場合、前記ライセンスを更新するライセンス管理部と
     を備える電子機器。
  2.  前記第1のデータは、前記ライセンスのインストール用のインストールキーであり、
     前記ライセンス管理部は、前記インストールキーを用いて前記ライセンスをインストールする
     請求項1に記載の電子機器。
  3.  前記機器固有鍵を含む情報である機器情報を生成するデータ生成部を
     さらに備え、
     前記インストールキーは、前記機器情報を用いて前記情報処理装置により生成された情報であるライセンス通信情報に含まれる
     請求項2に記載の電子機器。
  4.  前記ライセンス通信情報は、前記ライセンスの権利者に固有のユーザIDを含み、
     前記ライセンス管理部は、前記生成した延長コードと前記入力された延長コードと一致した場合、1つの前記ユーザIDに対応付けられている複数の前記ライセンスの更新が可能である
     請求項3に記載の電子機器。
  5.  前記鍵生成部は、初めて前記機器情報が生成される前に前記機器固有鍵を生成する
     請求項3に記載の電子機器。
  6.  前記第2のデータは、前記ライセンスの更新回数を示す
     請求項1に記載の電子機器。
  7.  前記ライセンス管理部は、前記情報処理装置と同じハッシュ関数を用いて、前記機器固有鍵、前記第1のデータ、及び、前記第2のデータに基づいて、所定の桁数の延長コードを生成する
     請求項1に記載の電子機器。
  8.  電子機器が、
     前記電子機器に固有の鍵である機器固有鍵を生成し、
     前記機器固有鍵、情報処理装置が提供するライセンスのインストール毎に異なる第1のデータ、及び、前記ライセンスの更新回数により異なる第2のデータに基づいて所定の方法により生成した延長コードと、入力された延長コードとが一致する場合、前記ライセンスを更新する
     情報処理方法。
  9.  電子機器のコンピュータに、
     前記電子機器に固有の鍵である機器固有鍵を生成し、
     前記機器固有鍵、情報処理装置が提供するライセンスのインストール毎に異なる第1のデータ、及び、前記ライセンスの更新回数により異なる第2のデータに基づいて所定の方法により生成した延長コードと、入力された延長コードとが一致する場合、前記ライセンスを更新する
     処理を実行させるためのプログラム。
  10.  電子機器に固有の鍵である機器固有鍵、前記電子機器へのライセンスのインストール毎に異なる第1のデータ、及び、前記電子機器における前記ライセンスの更新回数により異なる第2のデータに基づいて、前記電子機器と同じ方法により前記ライセンスを更新するための延長コードを生成するライセンス管理部と、
     前記延長コードの送信を制御する通信制御部と
     を備える情報処理装置。
  11.  前記ライセンス管理部は、前記ライセンスのインストール用のインストールキーを生成し、
     前記第1のデータは、前記インストールキーである
     請求項10に記載の情報処理装置。
  12.  前記機器固有鍵を含み、前記電子機器により生成された情報である機器情報を用いて、前記インストールキーを含み、前記電子機器において前記ライセンスのインストールに用いる情報であるライセンス通信情報を生成するデータ生成部を
     さらに備える請求項11に記載の情報処理装置。
  13.  前記ライセンス通信情報は、前記ライセンスの権利者に固有のユーザIDを含む
     請求項12に記載の情報処理装置。
  14.  前記機器固有鍵は、前記電子機器により前記機器情報が初めて生成される前に生成される
     請求項12に記載の情報処理装置。
  15.  前記第2のデータは、前記ライセンスの更新回数を示す
     請求項10に記載の情報処理装置。
  16.  前記ライセンス管理部は、前記電子機器と同じハッシュ関数を用いて、前記機器固有鍵、前記第1のデータ、及び、前記第2のデータに基づいて所定の桁数の延長コードを生成する
     請求項10に記載の情報処理装置。
  17.  情報処理装置が、
     電子機器に固有の鍵である機器固有鍵、前記電子機器へのライセンスのインストール毎に異なる第1のデータ、及び、前記電子機器における前記ライセンスの更新回数により異なる第2のデータに基づいて、前記電子機器と同じ方法により前記ライセンスを更新するための延長コードを生成し、
     前記延長コードの送信を制御する
     情報処理方法。
  18.  電子機器に固有の鍵である機器固有鍵、前記電子機器へのライセンスのインストール毎に異なる第1のデータ、及び、前記電子機器における前記ライセンスの更新回数により異なる第2のデータに基づいて、前記電子機器と同じ方法により前記ライセンスを更新するための延長コードを生成し、
     前記延長コードの送信を制御する
     処理をコンピュータに実行させるためのプログラム。
  19.  ハードウエアクロックと、
     前記ハードウエアクロックに基づく日時である確認日時がライセンスの期限を管理する情報処理装置に通知されてから所定の期間が経過した場合、前記確認日時に基づいて前記情報処理装置と同じ方法で生成され、前記ライセンスの継続の確認に用いられる確認コードが入力されるまで、前記ライセンスの使用を停止するライセンス管理部と
     を備える電子機器。
  20.  前記情報処理装置に前記確認日時を通知するための情報であるライセンス確認情報を生成するデータ生成部を
     さらに備える請求項19に記載の電子機器。
  21.  機器毎に固有の鍵である機器固有鍵を生成する鍵生成部を
     さらに備え、
     前記データ生成部は、前記情報処理装置から前記ライセンスのインストール用に供給されたインストールキーを含み、前記機器固有鍵を用いてセキュリティが確保された情報であって、前記情報処理装置において前記ライセンスの解約に用いる情報であるライセンス解約情報をさらに生成する
     請求項20に記載の電子機器。
  22.  前記データ生成部は、前記機器固有鍵を含み、前記情報処理装置において前記ライセンスの発行に用いられる情報である機器情報をさらに生成する
     請求項21に記載の電子機器。
  23.  前記鍵生成部は、初めて前記機器情報が生成される前に前記機器固有鍵を生成する
     請求項22に記載の電子機器。
  24.  前記ライセンス管理部は、前記機器情報を用いて前記情報処理装置により生成された情報であるライセンス通信情報に含まれる前記インストールキーを用いて、前記ライセンスをインストールする
     請求項22に記載の電子機器。
  25.  ハードウエアクロックを備える電子機器が、
     前記ハードウエアクロックに基づく日時である確認日時がライセンスの期限を管理する情報処理装置に通知されてから所定の期間が経過した場合、前記確認日時に基づいて前記情報処理装置と同じ方法で生成され、前記ライセンスの継続の確認に用いられる確認コードが入力されるまで、前記ライセンスの使用を停止する
     情報処理方法。
  26.  ハードウエアクロックを備える電子機器のコンピュータに、
     前記ハードウエアクロックに基づく日時である確認日時がライセンスの期限を管理する情報処理装置に通知されてから所定の期間が経過した場合、前記確認日時に基づいて前記情報処理装置と同じ方法で生成され、前記ライセンスの継続の確認に用いられる確認コードが入力されるまで、前記ライセンスの使用を停止する
     処理を実行させるためのプログラム。
  27.  電子機器のハードウエアクロックに基づく日時である確認日時が通知されてから所定の期間が経過した場合、前記確認日時に基づいて、前記電子機器が使用するライセンスの継続を前記電子機器において確認するための確認コードを前記電子機器と同じ方法で生成するライセンス管理部と、
     前記確認コードの送信を制御する通信制御部と
     を備える情報処理装置。
  28.  前記ライセンス管理部は、前記確認日時を含み、前記電子機器により生成された情報であるライセンス確認情報を用いて、前記確認日時を認識する
     請求項27に記載の情報処理装置。
  29.  前記ライセンス管理部は、前記ライセンスのインストール用のインストールキーを含み、前記電子機器に固有の鍵である機器固有鍵を用いてセキュリティが確保された情報であって、前記電子機器により生成された情報であるライセンス解約情報を用いて、前記ライセンスの解約を行う
     請求項27に記載の情報処理装置。
  30.  前記機器固有鍵を含み、前記電子機器により生成された情報である機器情報を用いて、前記インストールキーを含み、前記電子機器において前記ライセンスのインストールに用いる情報であるライセンス通信情報を生成するデータ生成部を
     さらに備える請求項29に記載の情報処理装置。
  31.  前記機器固有鍵は、前記電子機器により初めて前記機器情報が生成される前に生成される
     請求項30に記載の情報処理装置。
  32.  情報処理装置が、
     電子機器のハードウエアクロックに基づく日時である確認日時が通知されてから所定の期間が経過した場合、前記確認日時に基づいて、前記電子機器が使用するライセンスの継続を前記電子機器において確認するための確認コードを前記電子機器と同じ方法で生成し、
     前記確認コードの送信を制御する
     情報処理方法。
  33.  電子機器のハードウエアクロックに基づく日時である確認日時が通知されてから所定の期間が経過した場合、前記確認日時に基づいて、前記電子機器が使用するライセンスの継続を前記電子機器において確認するための確認コードを前記電子機器と同じ方法で生成し、
     前記確認コードの送信を制御する
     処理をコンピュータに実行させるためのプログラム。
PCT/JP2019/003056 2018-02-13 2019-01-30 情報処理装置、情報処理方法、プログラム、及び、電子機器 WO2019159690A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/967,255 US11928189B2 (en) 2018-02-13 2019-01-30 Information processing apparatus, information processing method, and electronic device
JP2020500381A JP7251540B2 (ja) 2018-02-13 2019-01-30 情報処理装置、情報処理方法、プログラム、及び、電子機器
EP19755167.4A EP3754524A4 (en) 2018-02-13 2019-01-30 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING PROCESS, PROGRAM AND ELECTRONIC DEVICE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018022805 2018-02-13
JP2018-022805 2018-02-13

Publications (1)

Publication Number Publication Date
WO2019159690A1 true WO2019159690A1 (ja) 2019-08-22

Family

ID=67619329

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/003056 WO2019159690A1 (ja) 2018-02-13 2019-01-30 情報処理装置、情報処理方法、プログラム、及び、電子機器

Country Status (4)

Country Link
US (1) US11928189B2 (ja)
EP (1) EP3754524A4 (ja)
JP (1) JP7251540B2 (ja)
WO (1) WO2019159690A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11790053B2 (en) * 2019-03-13 2023-10-17 Ricoh Company, Ltd. Information processing system, server, non-transitory computer-readable medium, and method for controlling assignment of license
EP4109305A4 (en) * 2020-03-30 2023-11-22 Sony Group Corporation IMAGING DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM
JP7494083B2 (ja) 2020-10-08 2024-06-03 株式会社東芝 端末装置及び認証システム
JP7524639B2 (ja) 2020-07-06 2024-07-30 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3933621A4 (en) * 2019-03-28 2022-04-13 Sony Group Corporation INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, PROGRAM, ELECTRONIC DEVICE AND INFORMATION PROCESSING SYSTEM
US11997635B2 (en) 2019-04-29 2024-05-28 Sonicwall Inc. Establishing simultaneous mesh node connections
US10972916B2 (en) 2019-04-29 2021-04-06 Sonicwall Inc. Instant secure wireless network setup
US12022295B2 (en) * 2019-04-29 2024-06-25 Sonicwall Inc. Streamlined creation and expansion of a wireless mesh network
US20220058295A1 (en) * 2020-08-20 2022-02-24 Micron Technology, Inc. Safety and security for memory
US11681784B2 (en) * 2020-09-03 2023-06-20 Arista Networks, Inc. Hardware license verification

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002297542A (ja) * 2001-04-02 2002-10-11 Nippon Telegr & Teleph Corp <Ntt> コンテンツ時限開示方法、システム、セキュリティデバイス
JP2003108252A (ja) * 2001-09-27 2003-04-11 Fujitsu Fip Corp ライセンス管理方法,ライセンス管理サーバ,ライセンス管理プログラム及び記録媒体
JP2009042925A (ja) * 2007-08-07 2009-02-26 Panasonic Corp コンテンツ利用方法、永続視聴ライセンスの有効性の判断方法、ダウンロード端末、サーバ、ダウンロードシステム、コンテンツの管理方法、プログラム及び記録媒体
JP2011087794A (ja) 2009-10-23 2011-05-06 Sony Corp 動作関連演算装置、動作関連演算方法、プログラム、動作関連再生システム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8011015B2 (en) 2002-12-17 2011-08-30 Sony Corporation Content access in a media network environment
JP2007193579A (ja) 2006-01-19 2007-08-02 Tokyo Electron Ltd 基板処理装置、ライセンス管理プログラム、ライセンス情報提供装置、ライセンス情報提供プログラム、ライセンス管理システム及び記録媒体
US20100057703A1 (en) * 2008-08-29 2010-03-04 Brandt Matthew K Systems and Methods for Automating Software Updates/Maintenance
JP2014035643A (ja) * 2012-08-08 2014-02-24 Canon Inc ライセンス管理システムおよびライセンス管理方法、クライアント装置
US9536060B2 (en) * 2014-05-03 2017-01-03 Clevx, Llc Network information system with license registration and method of operation thereof
US20150332026A1 (en) * 2014-05-16 2015-11-19 Solarwinds Worldwide, Llc Reusable license activation key
JP2017068490A (ja) 2015-09-29 2017-04-06 ルネサスエレクトロニクス株式会社 ライセンス管理方法およびライセンス管理に適した半導体装置
US20180053271A1 (en) * 2016-08-22 2018-02-22 International Business Machines Corporation System, method and computer program product for license allocation in a multi-tenant environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002297542A (ja) * 2001-04-02 2002-10-11 Nippon Telegr & Teleph Corp <Ntt> コンテンツ時限開示方法、システム、セキュリティデバイス
JP2003108252A (ja) * 2001-09-27 2003-04-11 Fujitsu Fip Corp ライセンス管理方法,ライセンス管理サーバ,ライセンス管理プログラム及び記録媒体
JP2009042925A (ja) * 2007-08-07 2009-02-26 Panasonic Corp コンテンツ利用方法、永続視聴ライセンスの有効性の判断方法、ダウンロード端末、サーバ、ダウンロードシステム、コンテンツの管理方法、プログラム及び記録媒体
JP2011087794A (ja) 2009-10-23 2011-05-06 Sony Corp 動作関連演算装置、動作関連演算方法、プログラム、動作関連再生システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11790053B2 (en) * 2019-03-13 2023-10-17 Ricoh Company, Ltd. Information processing system, server, non-transitory computer-readable medium, and method for controlling assignment of license
EP4109305A4 (en) * 2020-03-30 2023-11-22 Sony Group Corporation IMAGING DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM
JP7524639B2 (ja) 2020-07-06 2024-07-30 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP7494083B2 (ja) 2020-10-08 2024-06-03 株式会社東芝 端末装置及び認証システム

Also Published As

Publication number Publication date
JPWO2019159690A1 (ja) 2021-01-28
US20210056179A1 (en) 2021-02-25
JP7251540B2 (ja) 2023-04-04
US11928189B2 (en) 2024-03-12
EP3754524A4 (en) 2021-06-09
EP3754524A1 (en) 2020-12-23

Similar Documents

Publication Publication Date Title
WO2019159690A1 (ja) 情報処理装置、情報処理方法、プログラム、及び、電子機器
AU2017416533B2 (en) Trustworthy data exchange using distributed databases
JP5971160B2 (ja) サーバ、及びネットワークシステム
US10229584B2 (en) Permitting processing system for a monitoring on demand security system
TW201040783A (en) Enhanced product functionality based on user identification
JP5857796B2 (ja) 機器管理装置、機器管理方法、機器管理プログラム
JP2010086461A (ja) ライセンス管理装置およびライセンス管理方法、ならびに、ライセンス管理システム
CN102164122A (zh) 仲裁装置、安装***、安装方法以及安装程序
KR102127115B1 (ko) 라이센스 시스템, 라이센스 관리 서버, 라이센스 시스템의 제어방법, 및 기억매체
CN112292845B (zh) 信息处理设备、信息处理方法和程序
JP6960458B2 (ja) マッチング支援装置、マッチング支援システム、および、マッチング支援方法
WO2019159689A1 (ja) 電子機器、情報処理装置、情報処理方法、プログラム、及び、情報処理システム
JP7023993B2 (ja) 情報管理システム、及び情報管理方法
WO2019159688A1 (ja) 情報処理装置、情報処理方法、プログラム、電子機器、及び、情報処理システム
WO2015136964A1 (ja) ライセンス情報管理装置、ライセンス情報管理方法、および、プログラム
JP7456433B2 (ja) 情報処理装置、情報処理方法、プログラム、電子機器、及び、情報処理システム
JP7158867B2 (ja) 測定システム
JP6493763B2 (ja) 蓄電システム、情報端末、制御方法及び制御プログラム
JP5446951B2 (ja) 情報処理装置および情報処理システム
JP2007072625A (ja) 後払い従量課金方法
JP5529105B2 (ja) アクセスチケット発行システム及びアクセスチケット発行方法
CN112702314A (zh) 摄像设备的视频文件的处理方法和装置
JP2019219840A (ja) 画像形成システム
JP2013246692A (ja) 情報提供装置
JP2009098995A (ja) レンタルサーバーシステム

Legal Events

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

Ref document number: 19755167

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020500381

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019755167

Country of ref document: EP

Effective date: 20200914