Receiving device and receiving method

The receiving device and method address the challenge of managing non-broadcast managed applications by dynamically controlling resource usage and display positions through application information table comparisons and electronic signature verification, enhancing service quality.

JP7613518B2Active Publication Date: 2025-01-15SONY GROUP CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023132874
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-08-17
Publication Date
2025-01-15
Estimated Expiration
2033-12-05

AI Technical Summary

Technical Problem

Existing technologies struggle to precisely control and manage the behavioral constraints of non-broadcast managed applications, leading to challenges in providing high-quality services.

Method used

A receiving device and method that utilize a broadcast receiving unit and a controller to acquire and compare first and second application information tables, dynamically adjusting usage permissions and display areas for non-broadcast managed applications, while ensuring electronic signature verification and resource access control.

Benefits of technology

Enables precise reflection of behavioral constraints for non-broadcast managed applications, improving service quality by dynamically controlling resource usage and display positions, thereby enhancing service provider capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007613518000001
    Figure 0007613518000001
  • Figure 0007613518000002
    Figure 0007613518000002
  • Figure 0007613518000003
    Figure 0007613518000003
Patent Text Reader

Abstract

To improve the quality of services using out-of-broadcast managed applications.SOLUTION: An information processing device according to the present invention includes a broadcast receiving unit capable of receiving broadcasts, and a controller configured to control operation of an application by acquiring through communication a first application information table that stores at least first usage permission information indicating a usage permission range of resources by an application that uses broadcasting resources, and to control the operation of the application by acquiring a second application information table that stores at least second usage permission information indicating the usage permission range of resources by the application by using the broadcast receiving unit while the application is running.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present technology relates to a receiving device and a receiving method capable of presenting broadcast content and executing an application. [Background technology]

[0002] In recent years, a technology has become known that enables the execution of an application distributed via a network such as the Internet while simultaneously playing back broadcast content. One such technology is known as hybrid broadcast broadband TV (hereinafter referred to as "HbbTV"). In Europe, "ETSI TS 102 796" (see Non-Patent Document 1) has been established as a standard for HbbTV. In Japan, equivalent standards "IPTVFJ STD-0010" (see Non-Patent Document 2) and "IPTVFJ STD-0011" (see Non-Patent Document 3) have also been established.

[0003] For example, in a system such as HbbTV where applications are executed simultaneously with the playback of broadcast content, the life cycle of the application from start to end is managed by a data structure called an AIT section (Application Information Table) that is superimposed on the broadcast content. An information terminal that acquires the AIT section controls the application based on the application control code contained in the AIT section.

[0004] In addition, there is XML-AIT, which contains information equivalent to the broadcast AIT section and is written in XML format as an optimal format for providing application-related information to receivers via a communication network such as the Internet. [Prior art documents] [Non-patent literature]

[0005] [Non-Patent Document 1] ETSI (European Telecommunications Standards Institute) "ETSI TS 102 796 V1.1.1 (2010-06)" http: / / www.etsi.org / deliver / etsi_ts / 102700_102799 / 102796 / 01.01.01_60 / ts_102796v010101p.pdf (accessed October 21, 2011) [Non-Patent Document 2] IPTV Forum, General Incorporated Association, "Broadcast and Communication Collaboration System Specification Version 1.0" https: / / www.iptvforum.jp / download / input.html (accessed December 4, 2013) [Non-Patent Document 3] IPTV Forum, General Incorporated Association, "IPTVFJ STD-0011 HTML5 Browser Specification Version 1.0" https: / / www.iptvforum.jp / download / input.html (accessed December 4, 2013) Summary of the Invention [Problem to be solved by the invention]

[0006] It is expected that in the future, businesses other than broadcast stations, such as terminal manufacturers and third-party application businesses, will provide applications that utilize broadcast programs in some way. Hereafter, we will call such applications "non-broadcast managed applications."

[0007] However, there are still many issues to be resolved before services using such non-broadcast managed applications can be put into operation, and solutions to these issues are needed.

[0008] In consideration of the above circumstances, an object of the present technology is to provide an information processing device, a broadcasting device, and a receiving method that enable service providers to precisely reflect constraints on the behavior of non-broadcast managed applications and improve the quality of their services. [Means for solving the problem]

[0009] In order to solve the above problems, an information processing device according to the present technology includes: A broadcast receiving unit capable of receiving broadcasts; a controller configured to acquire, via communication, a first application information table in which at least first license information indicating a license range of the resource by the application that uses the resource of the broadcast is stored, to control an operation of the application, and to acquire, using the broadcast receiving unit, a second application information table in which at least second license information indicating a license range of the resource by the application, to control an operation of the application during execution of the application; Equipped with:

[0010] The controller may be configured to obtain the application based on information in the first application information table, and to launch the obtained application.

[0011] The controller may be configured to, when a difference is detected by comparing the first license information with the second license information, switch from the first license information to the second license information, and control the scope of use of the resource by the application.

[0012] The application may be an application provided by a third party other than a broadcasting station.

[0013] In the information processing device according to the present technology, the first application information table and the second application information table store area information defining an area on a display screen in which the application may be displayed; The controller may be configured to set the region based on the area information and display the application in this region.

[0014] A broadcasting device according to the present technology includes: A broadcasting unit that transmits a broadcast signal including an application information table in which license information indicating a license range for use of the broadcast resource by an application that can use the broadcast resource is stored. It is equipped with the following.

[0015] The broadcasting unit may be configured to store area information defining an area on a display screen in which the application may be displayed in the application information table and transmit the area information.

[0016] The receiving method according to the present technology includes: a controller acquires, via communication, a first application information table in which at least first license information indicating a license range for an application that uses a broadcast resource is stored, and controls an operation of the application; During execution of the application, a second application information table that stores at least second license information indicating a license range for the application to use the resource is acquired from a broadcast, and the operation of the application is controlled by acquiring the second application information table. Effect of the Invention

[0017] As described above, according to the present technology, a service provider can precisely reflect constraints on the behavior of non-broadcast managed applications, thereby improving the quality of the service. [Brief description of the drawings]

[0018] [Figure 1] 1 is a diagram showing an overview of an information processing system according to an embodiment of the present invention; [Diagram 2] FIG. 2 is a diagram showing the data structure of XML-AIT. [Diagram 3] FIG. 13 is a diagram showing the syntax of a usage permission information descriptor. [Figure 4] FIG. 13 is a diagram showing the data structure of a section AIT. [Diagram 5] A diagram showing the syntax of an external application control descriptor. [Figure 6] FIG. 11 is a diagram showing the definition of an application control code. [Figure 7] 1 is a block diagram showing a configuration of an information processing device according to an embodiment of the present invention; [Figure 8] 1 is a sequence diagram showing the flow of communication between a broadcast station, an application server, an XML-AIT server, and an information processing device. [Figure 9] 13 is a flowchart showing a processing procedure performed by an application controller of the information processing device. [Figure 10] 11 is a sequence diagram showing the flow of communication between a broadcast station, an application server, an XML-AIT server, and an information processing device when a direct channel selection operation occurs while a non-broadcast managed application is being executed. FIG. [Figure 11] 11 is a flowchart showing a flow of control of the application controller when a direct channel selection operation occurs during execution of a non-broadcast managed application. [Figure 12] 13 is a diagram showing an example of setting an overlay area based on overlay area information in the license information descriptor 21 of the XML-AIT. FIG. [Figure 13] FIG. 13 is a diagram showing a first example of updating the overlay area. [Figure 14] FIG. 13 is a diagram showing a second example of updating the overlay area. [Figure 15] FIG. 13 is a diagram showing a third example of updating the overlay area. [Figure 16] FIG. 1 is a block diagram for explaining a mechanism for generating and verifying a digital signature. [Figure 17] This is a conceptual diagram of a dedicated module system. [Figure 18] A diagram showing the configuration of a broadcast station public key certificate descriptor. [Figure 19] 13 is a flowchart for acquiring and updating a broadcast station public key certificate using a dedicated module method. [Figure 20] FIG. 13 is a diagram showing the configuration of a root certificate descriptor in accordance with the data broadcasting extension method (part 1). [Figure 21] 13 is a flowchart for obtaining and updating a broadcasting station public key certificate using the data broadcasting extension method (part 1). [Figure 22] FIG. 13 is a diagram showing the configuration of a root certificate descriptor in accordance with the data broadcasting extension method (part 2). [Figure 23] 13 is a flowchart for obtaining and updating a broadcasting station public key certificate using the data broadcasting extension method (part 2). [Figure 24] 1 is a diagram for explaining a mechanism for generating and verifying a digital signature and a hash value. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0019] Hereinafter, an embodiment of the present technology will be described with reference to the drawings. <First embodiment> [Information Processing System] FIG. 1 is a diagram showing the configuration of an information processing system according to the present embodiment. The information processing system 10 of this embodiment has a broadcasting station 100, a first network 200 such as the Internet, an application server 300, an XML-AIT server 400, an edge router 500, a second network 600 such as a LAN (Local Area Network), and an information processing device 700 as a broadcast receiver.

[0020] The broadcast station 100 (broadcast device) has broadcast facilities (broadcasting unit) that transmit digital broadcast signals via communication media such as terrestrial waves, satellite waves, and IP (Internet Protocol) networks. The broadcast station 100 transmits an AV stream in which transport streams such as video, audio, and subtitles are multiplexed, and a so-called broadcast stream in which data associated with the AV stream is superimposed. The data associated with the AV stream includes broadcast managed applications written in markup languages ​​such as HTML and BML, and script languages ​​such as Java (registered trademark) script, and AIT (Application Information Table) in a section format for controlling the operation of the broadcast managed applications and non-broadcast managed applications. Hereinafter, this AIT will be referred to as a "section AIT." This section AIT corresponds to a "second application information table" in the claims.

[0021] In this embodiment, an AV stream in which transport streams such as video, audio, and subtitles are multiplexed and transmitted is called "broadcast content", and this term does not include the meaning of applications or section AIT.

[0022] The application server 300 is connectable to the first network 200, and provides applications to be processed together with broadcast contents to the information processing device 700 via the first network 200. Here, the applications supplied from the application server 300 are referred to as "non-broadcast managed applications" to distinguish them from "broadcast managed applications" which are applications supplied from the broadcast station 100.

[0023] Note that the section AIT is originally information for controlling a broadcast managed application to operate in conjunction with broadcast content. In this embodiment, the syntax of the section AIT is defined so that it can also be used to control non-broadcast managed applications. The syntax of this section AIT will be described in detail later.

[0024] The XML-AIT server 400 is connectable to the first network 200, and distributes an XML-AIT corresponding to a non-broadcast managed application provided by the application server 300 to the information processing device 700 via the first network 200 in response to a request from the information processing device 700. This XML-AIT includes information for controlling at least the startup of the non-broadcast managed application. In contrast, the section AIT includes information for controlling the operation after startup of the non-broadcast managed application started according to the XML-AIT. This XML-AIT corresponds to the "first application information table" in the claims.

[0025] The application server 300 and the XML-AIT server 400 may be one server. Each of the application server 300 and the XML-AIT server 400 includes a CPU, a main memory, a data storage device, a user interface, and the like, and has a typical computer configuration. The main memory or the data storage device stores a program for causing the computer to function as a table transmission unit.

[0026] The edge router 500 is a router for connecting the first network 200 and the second network 600. The second network 600 may be either wired or wireless.

[0027] The information processing device 700 may be, for example, a personal computer, a mobile phone, a smartphone, a television device, a game machine, a tablet terminal, an audio / video playback device, or the like, but the specific form of the product is not important.

[0028] The information processing device 700 receives a digital broadcast signal from the broadcast station 100 and demodulates it to obtain a transport stream. The information processing device 700 can separate a broadcast stream from the transport stream, decode it, and output it to a display unit (not shown) and a speaker unit (not shown) connected to the information processing device 700, and a recording device (not shown).

[0029] The display unit, the speaker unit, and the recording device may each be integrated with the information processing device 700, or may be independent devices connected to the information processing device 700 directly or via the second network 600. Alternatively, a device (not shown) having a display unit and a speaker unit may be connected to the information processing device 700 directly or via the second network 600.

[0030] The information processing device 700 acquires the XML-AIT from the XML-AIT server 400, and accesses the application server 300 based on the location information described in the XML-AIT. The information processing device 700 acquires from the application server 300 a non-broadcast managed application that is to be controlled by the XML-AIT.

[0031] The information processing device 700 extracts an application identifier of the non-broadcast managed application to be controlled from the acquired XML-AIT, and extracts a section AIT having the application identifier from one or more section AITs multiplexed into the received transport stream. The information processing device 700 controls the operation of the non-broadcast managed application that has already been started according to this section AIT.

[0032] [application] Next, applications such as a broadcast managed application and a non-broadcast managed application will be described. The applications are provided to the information processing device 700 from the broadcast station 100 and the application server 300. The applications are composed of, for example, HTML (Hyper Text Markup Language) documents, BML (Broadcast Markup Language) documents, MHEG (Multimedia and Hypermedia information coding) documents, Java (registered trademark) scripts, still image files, video files, and the like.

[0033] An application can be in a visible state or an invisible state. A visible state is a state in which the user can see the operation of the application through the screen. An invisible state is a state in which the user cannot see the operation of the application through the screen.

[0034] Furthermore, the application may be an interactive application that can change the information or functions presented according to operations by the user of the information processing device 700, or an application that presents information to the user in one direction.

[0035] [XML-AIT data structure] Next, the data structure of XML-AIT will be described. FIG. 2 is a diagram showing the data structure of the XML-AIT of this embodiment.

[0036] The XML-AIT stores, for each application, the application name (appName), application identifier (applicationId), application descriptor (applicationDescriptor), transport protocol descriptor (applicationTransport), application location descriptor (applicationLocation), application boundary descriptor (applicationBoundary), application specific descriptor (applicationSpecificDescriptor), application usage descriptor (applicationUsageDescriptor), and usage permission information descriptor 21 (broadcastResourcePermissionDescriptor).

[0037] The application descriptor stores the application type, application control code 22, a flag specifying the visibility or invisibility of the application, a flag indicating whether the application is linked to a service (serviceBound), the priority of the application, the version of the application, icon information, and information for the information processing device 700 to record or cache the application (storageCapability).

[0038] [License Information Descriptor Syntax] The license information descriptor 21 is a descriptor that is added when a non-broadcast managed application is permitted to use broadcast resources.

[0039] FIG. 3 is a diagram showing the syntax of the usage permission information descriptor 21. As shown in FIG. In the usage permission information descriptor 21, one or more pieces of service usage permission information (Service_permission) and one or more pieces of overlay area information (Overlay_area) can be described.

[0040] The service license information includes a permission specification unit (scope) that indicates the scope of the license. The permission specification units include the following: all:All broadcasters affiliate: affiliated station broadcaster service:channel event: program series:series

[0041] When the permission designation unit is "affiliate", the affiliated station is designated by the affiliate ID (affiliation_id).

[0042] When the permission designation unit is "broadcaster", the broadcaster is designated by the broadcaster ID (broadcaster_id).

[0043] When the permission designation unit is "service", the channel is designated by the network ID (network_Id), the transport stream ID (transport_stream_id), and the service ID (service_id).

[0044] When the permission specification unit is "event", the program is specified by the network ID, transport stream ID, service ID, and event ID (event_id).

[0045] When the permission specification unit is "series", the series is specified by the network ID, transport stream ID, service ID, and series ID (series_id).

[0046] The service license information further includes a permission bitmap (permission). The permission bitmap is binary data of the service license information.

[0047] The permission bitmap is held in the memory of the application controller 708. The application controller 708 refers to the permission bitmap held in this memory to control the scope of use of broadcast resources by non-broadcast managed applications.

[0048] The permission bitmap held in the memory is compared with the permission bitmap stored in the external application control descriptor of the section AIT acquired by the information processing device 700 after starting the non-broadcast managed application. If there is a difference between the two permission bitmaps, the permission bitmap in the memory is overwritten with the permission bitmap stored in the external application control descriptor of the section AIT. Thereafter, the application controller 708 controls the scope of use of broadcast resources by the non-broadcast managed application by referring to this overwritten permission bitmap.

[0049] This realizes a mechanism that enables a broadcasting station to dynamically change the scope of usage permission information set in an XML-AIT created by a third party, such as a provider of non-broadcast managed applications, using the Section AIT.

[0050] The service license information further includes information on behavior when a permission error occurs (Overlay_Permission_error_behaviour). Examples of information on behavior when a permission error occurs include the following: app_off: Hides the application. video_off: Hides the video of the broadcast resource. app_suspend: Hides the application and suspends its operation. In this way, when a permission error occurs, at least the video of the broadcast resource is put into a non-display state, so that the broadcast resource is essentially rendered unusable.

[0051] Next, the overlay area information (Overlay_area) will be described. The overlay area information is information for defining an overlay area. The overlay area is an area on a display screen in which a managed application outside of a broadcast may be displayed. In other words, the overlay area is an area that is set to overlap an area in which a broadcast image is mainly displayed.

[0052] Information for defining the overlay area includes the area ID (areaId), the ID of an element in the HTML application (elementId), the area's upper left horizontal coordinate (upper_left_horizontal), the area's upper left vertical coordinate (upper_left_vertical), the area's horizontal size (horizontal_size), and the area's vertical size (vertical_size).

[0053] The area ID is an identifier for identifying the overlay area. The ID of the element in the HTML application is an identifier that identifies the non-broadcast managed application or an element in the non-broadcast managed application that is associated with the overlay area.

[0054] The area upper left horizontal coordinate and area upper left vertical coordinate are information that specifies the coordinates of the upper left corner of the overlay area. The area vertical size and area horizontal size are information that specifies the vertical and horizontal sizes of the overlay area.

[0055] [XML-AIT digital signature] A digital signature is attached to this XML-AIT to detect tampering. For example, an XML signature is used as the digital signature. The XML signature may be in any format, including a detached signature independent of the XML-AIT, an enveloping signature having a format that includes the XML-AIT, or an enveloped signature in a format that is included in the XML-AIT. It is recommended to use a detached signature to minimize the impact on the format of the XML-AIT.

[0056] The application controller 708 of the information processing device 700 verifies the XML signature in accordance with a core validation procedure including reference validation and signature validation. Reference validation is a method to validate the digest value (DigestValue) of a reference (Reference) by applying a normalization transformation process (Transform) and a digest calculation algorithm (DigestMethod) to a resource (XML-AIT). The result obtained by reference validation is compared with the registered digest value (DigestValue), and if they do not match, the validation fails. Signature verification is a method in which the signature information (SignatureInfo) element is serialized using the canonicalization method specified by the XML canonicalization algorithm (CanonicalizationMethod), key data is obtained using key information (KeyInfo) etc., and the signature is verified using the method specified by the signature algorithm (SignatureMethod).

[0057] [Section AIT Configuration] FIG. 4 is a diagram showing the data structure of the section AIT. The section AIT stores a table ID (table_id), section syntax indicator (section_syntax_indicator), section length (section_length), application type (application_type), version number (version_number), current next indicator (current_next_indicator), section number (section_number), last section number (last_section_number), common descriptor area 41 (descriptor), application information loop length (application_loop_length), application identifier (application_identifier), application control code 42 (application_control_code), application descriptor (application_descriptor), etc.

[0058] The common descriptor area 41 stores an external application control descriptor (External_application_control_descriptor) for controlling the operation of non-broadcast managed applications.

[0059] [External application control descriptor syntax] FIG. 5 is a diagram showing the syntax of the external application control descriptor (External_application_control_descriptor). In the external application control descriptor, a descriptor tag (descriptor_tag), a descriptor length (descriptor_length), the number of permission bitmaps (permission_bitmap_count), a permission bitmap 51 (permission_bitmap), and the like are described.

[0060] The permission bitmap 51 described in the section AIT is binary data indicating the scope of permission to use broadcast resources by a non-broadcast managed application that has already been activated in the information processing device 700, i.e., binary data of service license information. This permission bitmap is compared with a permission bitmap already held in the memory of the application controller 708 of the information processing device 700.

[0061] The permission bitmap of the XML-AIT and the permission bitmap of the section AIT may contain binary data of information regarding behavior when a permission error occurs. However, in this embodiment, the permission bitmap of only the XML-AIT contains binary data of information regarding behavior when a permission error occurs.

[0062] In the external application control descriptor, information relating to the overlay area, such as overlay admission polarity (overlay_admission_polarity) and the number of overlay controlled areas (overlay_controlled_area_count), is described.

[0063] The overlay permission polarity is information that specifies whether the overlay area defined in the section AIT is an area that can be used or an area that cannot be used.

[0064] The number of overlay control areas is information that specifies the number of overlay areas.

[0065] The external application control descriptor further describes information about the overlay area, such as the overlay area tag (overlay_controlled_area_tag), the area upper left horizontal coordinate (upper_left_horizontal), the area upper left vertical coordinate (upper_left_vertical), the area horizontal size (horizontal_size), and the area vertical size (vertical_size).

[0066] The overlay area tag is tag information that identifies the overlay area.

[0067] The information specified by each of the area upper left horizontal coordinate, area upper left vertical coordinate, area horizontal size, and area vertical size is the same as the descriptor with the same name in the license information descriptor of XML-AIT.

[0068] The external application control descriptor further describes the number of black / white application lists (bw_application_list_count), application ID (application_identifier), black / white polarity (black_white_polarity), etc.

[0069] The black / white application list number is information that specifies the number of applications that are permitted or prohibited from using broadcast resources.

[0070] The application ID is the application ID of an application that is permitted or prohibited from using broadcast resources.

[0071] Black / white polarity is information that specifies whether to permit or prohibit the use of broadcast resources. For example, even if the overlay permission polarity specifies a polarity that allows the use of the overlay area, if "prohibited" is specified by the black / white polarity for a specific non-broadcast managed application, the use of broadcast resources by that specific non-broadcast managed application is prohibited. Also, even if the overlay permission polarity specifies a polarity that does not allow the use of the overlay area, if "permitted" is specified by the black / white polarity for that specific non-broadcast managed application, the use of broadcast resources by that specific non-broadcast managed application is permitted.

[0072] [Application control code definition] The life cycle of an application is dynamically controlled by the information processing device 700 based on the application control codes 22, 42 stored in the XML-AIT and the section AIT.

[0073] FIG. 6 is a diagram showing the definitions of the application control codes 22 and 42. As shown in the figure, the standard includes "AUTOSTART", "PRESENT", "DESTROY", "KILL", "PREFETCH", "REMOTE", "DISABLED", and "PLAYBACK_AUTOSTART" as application control codes 22 and 42. The definitions of these application control codes are as follows:

[0074] "AUTOSTART" is a code that indicates that the application should be started automatically when the service is selected, unless the application is already running. "PRESENT" is a code that instructs that an application be made executable while a service is selected. However, the application is not automatically started when a service is selected, but is started when a user instructs it to be started. "DESTROY" is a code that instructs permission to terminate the application. "KILL" is a code that instructs the application to forcibly terminate. "PREFETCH" is a code that instructs the application to be cached. "REMOTE" is a code indicating that the application cannot be obtained from the current transport stream. The application can be obtained and used from another transport stream or cache. "DISABLED" is a code that indicates that the application is prohibited from starting. "PLAYBACK_AUTOSTART" is a code for starting an application in conjunction with the playback of broadcast content recorded in a storage (recording device).

[0075] [Configuration of information processing device 700] FIG. 7 is a block diagram showing the configuration of an information processing device 700 according to this embodiment. The information processing device 700 includes a broadcast interface 701, a demultiplexer 702, an output processing unit 703, a video decoder 704, an audio decoder 705, a subtitle decoder 706, a communication interface 707, and an application controller 708 (controller).

[0076] The broadcast interface 701 (broadcast receiving unit) has an antenna and a tuner, and receives a digital broadcast signal selected by a user using these. The broadcast interface 701 performs demodulation processing and the like on the received digital broadcast signal to obtain a transport stream, and outputs the transport stream to the demultiplexer 702.

[0077] The demultiplexer 702 separates the stream packets of the broadcast content, the application packets, and the AIT section packets from the transport stream. The demultiplexer 702 separates the video ES (Elementary Stream), the audio ES, and the subtitle ES from the stream packets of the broadcast content. The demultiplexer 702 distributes the video ES to the video decoder 704, the audio ES to the audio decoder 705, the subtitle ES to the subtitle decoder 706, and the application packets and the PSI / SI (Program Specific Information / Service Information) packets including the AIT section to the application controller 708.

[0078] The video decoder 704 decodes the video ES to generate a video signal, and outputs the generated video signal to the output processing unit 703. The audio decoder 705 decodes the audio ES to generate an audio signal, and outputs the generated audio signal to the output processing unit 703. The subtitle decoder 706 decodes the subtitle ES to generate a subtitle signal, and outputs the generated subtitle signal to the output processing unit 703 .

[0079] The broadcast interface 701, the demultiplexer 702, the output processing unit 703, the video decoder 704, the audio decoder 705, and the subtitle decoder 706 constitute a broadcast content processing unit that receives and presents broadcast content.

[0080] The communication interface 707 is an interface for communicating with external devices via the second network 600 such as a LAN. The communication interface 707 may be for wireless communication or for wired communication.

[0081] The application controller 708 (controller) is a controller that performs processes related to application control.

[0082] The output processing unit 703 synthesizes the video signal from the video decoder 704, the audio signal from the audio decoder 705, the subtitle signal from the subtitle decoder 706, and the video signal and audio signal from the application controller 708, and outputs the result to a recording device (not shown), a display unit, and a speaker unit (not shown) connected to the information processing device 700.

[0083] A part or all of the configuration including at least the application controller 708 of the information processing device 700 described above is provided by a computer having a CPU (Central Processing Unit) and memory, and a program that causes the computer to function as the application controller 708 or the like.

[0084] [Operation of information processing system 10] Next, the operation of the information processing system 10 of this embodiment will be described.

[0085] (1. Control of permitted scope of broadcasting resource usage (part 1)) Fig. 8 is a sequence diagram showing the flow of communication between the broadcast station 100 (broadcast device), the application server 300, the XML-AIT server 400, and the information processing device 700. Fig. 9 is a flowchart showing the processing procedure by the application controller 708 of the information processing device 700.

[0086] The information processing device 700 displays an application launcher selected by a user using, for example, a remote control (step S101). The application launcher is realized, for example, by a so-called resident application implemented in the information processing device 700, or HTML5 (Hyper Text Markup Language 5), BML (Broadcast Markup Language), or the like presented by an HTML browser. A menu of selectable non-broadcast managed applications is displayed on the application launcher.

[0087] The user can select a non-broadcast managed application that he / she wants to use, for example, by using a remote control, etc. The menu of non-broadcast managed applications displayed on the application launcher includes a script for causing the information processing device 700 to acquire an XML-AIT for the non-broadcast managed application.

[0088] When a user operates the remote control to select any non-broadcast managed application on the menu of non-broadcast managed applications displayed on the application launcher (step S102), the application controller 708 obtains the XML-AIT for the selected non-broadcast managed application from the XML-AIT server 400 by executing a script corresponding to the selected non-broadcast managed application (step S103).

[0089] The application controller 708 of the information processing device 700 acquires a non-broadcast managed application from the application server 300 based on the location information of the application described in the acquired XML-AIT (step S104).

[0090] The application controller 708 starts the acquired non-broadcast managed application in accordance with the application control code "AUTOSTART" written in the XML-AIT (step S105).

[0091] After starting the non-broadcast managed application, the application controller 708 monitors the access request for the broadcast resource from the non-broadcast managed application (step S106). When the application controller 708 detects the access request for the broadcast resource from the non-broadcast managed application (Y in step S107), it checks whether or not the broadcast station public key certificate corresponding to this broadcast resource is stored in the memory in the information processing device 700 (step S107).

[0092] If the broadcast station public key certificate is not stored in the memory of the information processing device 700, the application controller 708 of the information processing device 700 waits for the target broadcast station public key certificate to be transmitted by the data carousel. When the application controller 708 receives the target broadcast station public key certificate, it stores it in the memory (step S108).

[0093] The application controller 708 verifies the electronic signature attached to the non-broadcast managed application being executed using the broadcast station public key certificate stored in memory (step S110). If the verification of the electronic signature fails (N in step S111), the application controller 708 determines that the non-broadcast managed application has not been authenticated by the broadcast station, and sets the application to prohibit access to all broadcast resources of the broadcast station (step S112). In a state in which access to broadcast resources is prohibited, access to broadcast resources is not possible even if the non-broadcast managed application is launched.

[0094] If the verification of the electronic signature is successful (Y in step S111), the application controller 708 determines whether or not to allow access to the broadcast resource requested by the non-broadcast managed application based on the service license information in the license information descriptor 21 described in the XML-AIT (step S113).

[0095] The service license information in the license information descriptor 21 described in the XML-AIT is held as a permission bitmap (binary data) in the memory of the application controller 708. The application controller 708 refers to this permission bitmap to determine whether or not to permit access to the broadcast resource requested by the non-broadcast managed application.

[0096] Here, for example, it is assumed that the permission designation unit in the service license information is "service". In this case, the service license information in the license information descriptor 21 designates information for identifying a channel by a network ID, a transport stream ID, and a service ID. Here, the channel is assumed to be "channel x". In this example, if the channel requested by the non-broadcast managed application to access is "channel x", the application controller 708 authorizes the access request and permits access to "channel x".

[0097] If access to other channels is requested by the non-broadcast managed application, the application controller 708 determines that a permission error has occurred. In this case, the application controller 708 controls the operation of the non-broadcast managed application in accordance with information about behavior in the event of a permission error, which is stored in the service license information in the license information descriptor 21.

[0098] In this way, if the verification of the electronic signature is successful, the application controller 708 controls the non-broadcast managed application to access broadcast resources within the scope permitted based on the service usage permission information of the XML-AIT (step S114).

[0099] Meanwhile, the broadcast station 100 periodically transmits a section AIT for controlling the operation of a non-broadcast managed application running on the information processing device 700. The transmission period of the section AIT is, for example, about 100 ms. The generation of the section AIT is managed by a version number. The application controller 708 holds the version number of the last acquired section AIT, and receives a section AIT having a version number different from the held version number (step S115).

[0100] The application controller 708 checks whether an external application control descriptor is added to the received section AIT (step S116). If an external application control descriptor is not added (N in step S116), control of the license of broadcast resources based on the license information descriptor 21 (permission bitmap held in memory) stored in the XML-AIT continues.

[0101] If an external application control descriptor is added to the acquired section AIT (Y in step S116), the application controller 708 compares the permission bitmap of this external application control descriptor with the permission bitmap stored in the memory (step S117). If there is a difference between the two permission bitmaps (Y in step S117), the application controller 708 updates the permission bitmap in the memory with the permission bitmap of the external application control descriptor (step S118). As a result, the licensed scope of broadcast resources intended by the broadcast station is set in the information processing device 700.

[0102] In addition, if there is no difference between the permission bitmap in the external application control descriptor and the permission bitmap stored in memory (N in step S117), the permission bitmap stored in memory is left unchanged, and control of broadcast resource licensing based on this permission bitmap continues.

[0103] Thereafter, for example, when the user operates the remote control to instruct the application to end or to transition to another application (YES in step S120), the application controller 708 of the information processing device 700 ends the non-broadcast managed application (step S122).

[0104] In addition, if an application control code other than "AUTOSTART", "DESTROY", or "KILL" is described in the section AIT acquired during execution of the non-broadcast managed application, the application controller 708 of the information processing device 700 performs processing such as transitioning the state of the non-broadcast managed application in accordance with the application control code (step S121), and then waits for the next section AIT.

[0105] Thereafter, the same process is performed on the received section AIT.

[0106] After that, when a program change (from program A to program B) occurs within the same channel (channel x), the same process is repeated for the section AIT acquired after the program B change.

[0107] Furthermore, when a channel change occurs, the same process is repeated for the section AIT acquired after the channel change.

[0108] (2. Control of permitted scope of broadcasting resource usage (part 2)) When a non-broadcast managed application is being executed, for example, an operation for switching broadcast channels (direct channel selection operation) may be performed by a manual operation by the user.

[0109] Fig. 10 is a sequence diagram showing the flow of communication between the broadcast station 100 (broadcast transmission device), the application server 300, the XML-AIT server 400, and the information processing device 700 when a direct channel selection operation occurs during execution of a non-broadcast managed application. Fig. 11 is a flowchart showing the flow of control of the application controller 708 when a direct channel selection operation occurs during execution of a non-broadcast managed application.

[0110] When a direct channel selection operation occurs while a non-broadcast managed application is being executed (step S201), the application controller 708 of the information processing device 700 checks whether a broadcast station public key certificate corresponding to the directly selected broadcast channel is stored in the memory of the information processing device 700 (step S202).

[0111] If the broadcast station public key certificate is not stored in memory within the information processing device 700, the application controller 708 of the information processing device 700 waits for the target broadcast station public key certificate to be transmitted via a data carousel or the like for the switched broadcast channel, and upon receiving the target broadcast station public key certificate transmitted via a data carousel or the like, stores it in memory (step S203). Note that, although an example has been shown here in which the broadcasting station public key certificate is transmitted via a data carousel, the public key certificate may also be obtained via communication, such as by obtaining the public key certificate from a pre-specified server.

[0112] The application controller 708 verifies the digital signature attached to the running non-broadcast managed application using the broadcast station public key certificate stored in the memory (step S205). If the digital signature fails (N in step S206), the application controller 708 terminates the non-broadcast managed application (step S209).

[0113] If the electronic signature is successful (Y in step S206), the application controller 708 continues the operation of the non-broadcast managed application and controls the non-broadcast managed application to access broadcast resources to the extent permitted based on the permission bitmap (step S207).

[0114] The operations thereafter are the same as those after step S120 in FIG.

[0115] 11, during operation of a non-broadcast managed application, for example, an instruction to transition to another non-broadcast managed application may occur due to execution of a script embedded in the non-broadcast managed application, or manual operation by the user, etc. In this case, the application controller 708 performs control in the same manner as when the non-broadcast managed application is selected by the user from the above-mentioned application launcher.

[0116] (3. Control of overlay area) As already described, in the XML-AIT and section AIT, overlay area information (Overlay_area) can be described for defining, as an overlay area, an area on the display screen D in which a non-broadcast managed application may be displayed.

[0117] FIG. 12 is a diagram showing an example of setting an overlay area based on the overlay area information in the license information descriptor 21 of the XML-AIT.

[0118] In this setting example, there are two overlay areas: areaId = 1 and areaId = 2. For each overlay area, the area on the display screen D is defined by the area upper left horizontal coordinate (upper_left_horizontal), area upper left vertical coordinate (upper_left_vertical), area horizontal size (horizontal_size), and area vertical size (vertical_size).

[0119] The application controller 708 creates each overlay area based on the overlay area information (Overlay_area) in the license information descriptor 21 of the XML-AIT.

[0120] The application controller 708 can create a new overlay area based on information about the overlay area included in the external application control descriptor (External_application_control_descriptor) of the common descriptor area 41 (descriptor) of the section AIT acquired after the non-broadcast managed application is started. In other words, the overlay area can be updated to one intended by the broadcast station 100.

[0121] FIG. 13 is a diagram showing a first example of updating the overlay area. In this example, the overlay area 1 is created based on the overlay area information (Overlay_area) in the license information descriptor 21 of the XML-AIT. Furthermore, it is assumed that the overlay area 1 includes a display area 2 for a managed application other than broadcasting.

[0122] For example, after a channel change, the application controller 708 creates a new overlay area 3 in place of the existing overlay area 1 based on the information about the overlay area included in the external application control descriptor of the received section AIT.

[0123] When a change occurs from overlay area 1 to overlay area 3, the application controller 708 controls the movement of the display area 2 of the non-broadcast managed application into the newly created overlay area 3 in accordance with a program pre-installed in the application controller 708.

[0124] The position of the display area 2 of the non-broadcast managed application is controlled by the application controller 708. For example, the display area 2 of the non-broadcast managed application is controlled to be placed at a predetermined position. When the display areas 2 of multiple non-broadcast managed applications are displayed simultaneously, the application controller 708 controls the positions of each of them exclusively.

[0125] FIG. 14 is a diagram showing a second example of updating the overlay area. In this example, when a change occurs from the existing overlay area 1 to overlay area 3 based on information regarding the overlay area included in the external application control descriptor of section AIT, the application controller 708 performs the following control according to a program pre-installed in the application controller 708.

[0126] First, the application controller 708 reduces the broadcast video display section 4 from a state in which, for example, the entire surface of the display screen D is used as the broadcast video display section 4, and sets the resulting free space as the application display section 5. The application controller 708 performs control so that the display area 2 of the non-broadcast managed application is displayed on the application display section 5, regardless of information related to the overlay area of ​​the external application control descriptor.

[0127] This makes it possible to prevent the non-broadcast managed application from being displayed overlapping the image on the broadcast image display unit 4.

[0128] FIG. 15 is a diagram showing a third example of updating the overlay area. This example assumes that an overlay area 1 is set to use the entire screen of the display screen D based on the overlay area information in the XML-AIT. A display area 2 for a non-broadcast managed application is allocated to the entire overlay area 1, and a broadcast video display section 4 is set in a part of it.

[0129] The application controller 708 creates a new overlay area 3 in place of the existing overlay area 1, based on information about the overlay area included in the external application control descriptor of the section AIT received after, for example, channel switching.

[0130] At this time, the application controller 708 sets the broadcast video display unit 4 to the full screen of the display screen D and hides the display area 2 of the non-broadcast managed application according to a program previously installed in the application controller 708. This makes it possible to prevent the video on the broadcast video display unit 4 from being partially obscured by the non-broadcast managed application. Also, in this third example of updating, if a child element (specified by elementId) constituting the non-broadcast managed application is specified to be located in the overlay area 3, the child element may be displayed.

[0131] (4. Generation and Verification of Digital Signatures) Next, generation and verification of a digital signature will be described. FIG. 16 is a block diagram for explaining a mechanism for generating and verifying a digital signature.

[0132] The XML-AIT server 400 and the application server 300 may be a single server owned by the application creator, or may be separate servers. Here, the XML-AIT server 400 and the application server 300 are collectively referred to as a "server." A server is a device having a typical computer configuration. It is therefore composed of a CPU, a main memory, a storage device such as a HDD, input devices such as a mouse and a keyboard, a display unit such as a liquid crystal display, and the like. The main memory and the storage device store software such as an OS (Operating System), application programs for the server, non-broadcast managed applications provided to the information processing device 700, XML-AIT files for each application, signature generation keys, and the like.

[0133] The server has a signed application generation unit 350. Specifically, the signed application generation unit 350 is realized by a program loaded into the main memory and a CPU that executes this program.

[0134] The application creator requests the broadcasting station 100 to authenticate the non-broadcast managed application 351 and the XML-AIT 355 .

[0135] The broadcast station 100 closely examines the contents of the non-broadcast managed application 351 and the XML-AIT 355 that are the subject of authentication requested by the application creator, and if there is no problem, sets the private key of the pair of the private key and broadcast station public key certificate issued by the root CA 800 (FIG. 1) as the signature generation key 357 in the signature generator 356. The signature generator 356 generates a digest of the non-broadcast managed application 351 using a hash function for signature, encrypts this digest with the signature generation key (private key) 357, and generates an XML signature 358. The broadcast station 100 responds to the server with the generated XML signature 358. The signed application generation unit 350 adds the XML signature 358 responded by the broadcast station 100 to the non-broadcast managed application 351 to generate an application 360 with a digital signature, and distributes it to the information processing device 700.

[0136] The application controller 708 of the information processing device 700 extracts an XML signature from the electronically signed application 360 obtained from the server using a signature generator 753, and verifies this XML signature using a public key 754, which is a signature verification key extracted from the broadcasting station public key certificate, to obtain a signature verification result 755.

[0137] Next, a method for transmitting the broadcast station public key certificate from the broadcast station 100 to the information processing device 700 will be described. Methods for transmitting the broadcast station public key certificate from the broadcast station 100 to the information processing device 700 include a dedicated module method, a data broadcast extension method (type 1), a data broadcast extension method (type 2), and the like.

[0138] (Dedicated module system) Figure 17 is a conceptual diagram of the dedicated module system. In the dedicated module method, a dedicated module (e.g., module_id=0xFFFE) 44 for transmitting the broadcasting station public key certificate 43 is newly placed in component_tag=0x40, which is a module containing the start document that should be launched first when a data broadcasting program is selected by the user. Also, in order to notify the information processing device 700 of an update of the broadcast station public key certificate distributed by the above-mentioned dedicated module, a broadcast station public key certificate descriptor is placed in DII (Download Info Indication).

[0139] FIG. 18 is a diagram showing the structure of a broadcast station public key certificate descriptor. The broadcaster public key certificate descriptor (broadcast certificate_descriptor) includes an ID (broadcaster_certificate_id) that identifies the broadcaster public key certificate and a version (broadcaster_certificate_version) of the broadcaster public key certificate.

[0140] FIG. 19 is a flowchart for obtaining and updating a broadcast station public key certificate using the dedicated module method.

[0141] First, the application controller 708 of the information processing device 700 monitors the module information of the DII transmitted by the data carousel (step S401). When the application controller 708 of the information processing device 700 detects that the module information of the DII includes a broadcast station public key certificate descriptor (Y in step S402), it analyzes the broadcast station public key certificate descriptor and extracts the ID and version from the broadcast station public key certificate descriptor (step S403).

[0142] The application controller 708 compares the ID of the broadcasting station public key certificate already stored in the memory with the ID acquired this time, and checks whether a broadcasting station public key certificate with a matching ID is stored in the memory (step S404). If the corresponding broadcasting station public key certificate is not stored (N in step S405), the application controller 708 acquires the broadcasting station public key certificate transmitted by the data carousel and stores it in the memory (step S406). After this, the process returns to the monitoring state of the module information of the DII.

[0143] If the corresponding broadcast station public key certificate is stored (Y in step S405), the application controller 708 checks the version of the broadcast station public key certificate stored in the memory (step S407). The application controller 708 compares the checked version of the broadcast station public key certificate with the version of the currently acquired broadcast station public key certificate, and determines whether the broadcast station public key certificate has been updated (step S408).

[0144] If it is determined that the broadcast station public key certificate has not been updated (N in step S408), the application controller 708 returns to the state of monitoring the module information of the DII.

[0145] If it is determined that the broadcast station public key certificate has been updated (N in step S408), the application controller 708 acquires the broadcast station public key certificate transmitted by the data carousel and stores it in memory (step S409). After that, the process returns to monitoring the module information of the DII.

[0146] In this manner, the information processing device 700 can obtain one or more types of broadcast station public key certificates of the latest version with different IDs, and store them in memory.

[0147] (Data Broadcasting Extension Method (Part 1)) FIG. 20 is a diagram showing the configuration of a root certificate descriptor in accordance with the data broadcasting extension method (part 1). The data broadcasting extension method (part 1) extends the root_certificate_type of the root certificate descriptor to transmit the public key certificate of a new service, and describes an ID (broadcaster_certificate_id) that identifies the broadcaster public key certificate and the version of the broadcaster public key certificate (broadcaster_certificate_version).

[0148] FIG. 21 is a flowchart showing the acquisition and updating of a broadcasting station public key certificate according to the data broadcasting extension method (part 1).

[0149] First, the application controller 708 of the information processing device 700 monitors the root certificate descriptor of the DII transmitted by the data carousel (step S501). When the application controller 708 of the information processing device 700 detects the root certificate descriptor of the DII (Y in step S502), it analyzes the root certificate descriptor and judges whether or not a value indicating a new service (root_certificate_type = 2) is described in the root certificate descriptor (step S503). If the value indicating a new service (root_certificate_type = 2) is not described, it performs data broadcast processing (step S504), and then returns to the state of monitoring the root certificate descriptor of the DII.

[0150] If the root certificate descriptor contains a value (root_certificate_type = 2) indicating a new service, the application controller 708 extracts the ID and version of the broadcast station public key certificate from the root certificate descriptor (step S505). The operations from step S506 to step S511 are the same as steps S404 to S409 in the dedicated module method, and therefore will not be described here.

[0151] The application controller 708 compares the ID of the broadcasting station public key certificate already stored in the memory with the ID acquired this time, and checks whether a broadcasting station public key certificate with a matching ID is stored in the memory (step S404). If the corresponding broadcasting station public key certificate is not stored (N in step S405), the application controller 708 acquires the broadcasting station public key certificate transmitted by the data carousel and stores it in the memory (step S406). After this, the process returns to the monitoring state of the root certificate descriptor of the DII.

[0152] If the corresponding broadcast station public key certificate is stored (Y in step S405), the application controller 708 checks the version of the broadcast station public key certificate stored in the memory (step S407). The application controller 708 compares the checked version of the broadcast station public key certificate with the version of the currently acquired broadcast station public key certificate, and determines whether the broadcast station public key certificate has been updated (step S408).

[0153] If it is determined that the broadcast station public key certificate has not been updated (N in step S408), the application controller 708 returns to the state of monitoring the module information of the DII.

[0154] If it is determined that the broadcast station public key certificate has been updated (N in step S408), the application controller 708 acquires the broadcast station public key certificate transmitted by the data carousel and stores it in memory (step S409). After that, the process returns to monitoring the module information of the DII.

[0155] In this manner, the information processing device 700 can obtain one or more types of broadcast station public key certificates of the latest version with different IDs, and store them in memory.

[0156] (Data Broadcasting Extension Method (Part 2)) In the data broadcasting extension method (part 2), one fixed storage area among the storage areas in the root certificate descriptor that can transmit a data broadcasting public key certificate is allocated for the new service, and an ID (broadcaster_certificate_id) that identifies the broadcast station public key certificate and the version (broadcaster_certificate_version) of the broadcast station public key certificate are described there. Also, as shown in Fig. 22, for example, a new flag (broadcaster_certificate_flag) is placed in the root certificate descriptor. For example, when the value of this flag is "1", it indicates that the broadcast station public key certificate is transmitted, and when the value of the flag is "0", it indicates that the broadcast station public key certificate is not transmitted.

[0157] FIG. 23 is a flowchart relating to the acquisition and updating of a broadcasting station public key certificate in the data broadcasting extension method (part 2). First, the application controller 708 of the information processing device 700 monitors the root certificate descriptor of the DII transmitted by the data carousel (step S601). When the application controller 708 of the information processing device 700 detects the root certificate descriptor of the DII (Y in step S502), it analyzes the root certificate descriptor and checks the value of the flag (broadcaster_certificate_flag). If the value of the flag is "0", the application controller 708 performs data broadcast processing (step S504) and then returns to the monitoring state for the root certificate descriptor of the DII.

[0158] If the value of the flag is "0", the application controller 708 extracts the ID and version of the broadcasting station public key certificate from a predetermined storage area among multiple storage areas in the root certificate descriptor that can transmit the data broadcasting public key certificate (step S605). The operations from step S606 to step S611 are the same as steps S404 to S409 in the dedicated module method, and therefore will not be described.

[0159] In this manner, the information processing device 700 can obtain one or more types of broadcast station public key certificates of the latest version with different IDs, and store them in memory.

[0160] [Advantages of the first embodiment] In this embodiment, the following effects can be obtained. 1. The application controller 708 controls the scope of use of broadcast resources by managed applications other than broadcasting based on the external application control descriptor in the section AIT. This realizes a mechanism that enables the broadcasting station to dynamically change the scope of license information set in the XML-AIT created by a third party such as a provider of managed applications other than broadcasting by using the section AIT.

[0161] This makes it possible to change the control of the operation of off-broadcast managed applications in accordance with changes in the program's progress, organization, and other factors in broadcast programs with fluid time schedules, such as live sports broadcasts.

[0162] In addition, control of the operation of non-broadcast managed applications, which are intended to use broadcast resources from multiple channels (broadcast stations), can be specified for each broadcast station.

[0163] 2. The application controller 708 holds in memory a permission bitmap, which is binary data of the service license information of the XML-AIT. The application controller 708 can obtain the difference by comparing the permission bitmap held in the memory with the permission bitmap in the section AIT acquired after starting the non-broadcast managed application by binary calculation. This reduces the load on the application controller 708 of the information processing device 700 and increases the speed.

[0164] 3. The application controller 708 controls the display position of the non-broadcast managed application on the display screen based on the external application control descriptor in the section AIT. This realizes a mechanism that enables the broadcasting station to dynamically change the scope of license information set in the XML-AIT created by a third party such as a provider of the non-broadcast managed application by using the section AIT.

[0165] <Variation 1> In the first embodiment, a digital signature is attached to an application, but a digital signature may be attached to an XML-AIT. According to this method, when multiple broadcasting stations permit the use of broadcasting resources for one application, digital signatures of all broadcasting stations that permit the use of broadcasting resources are attached to the XML-AIT.

[0166] <Variation 2> In the method of the modified example 1, it is not possible to directly detect tampering with an application. Therefore, it is possible to indirectly detect tampering with an application by embedding a hash value of the application in the XML-AIT and comparing a hash value calculated from the substance of the application in the information processing device 700 with a hash value embedded in the XML-AIT and notified. This method will be described below.

[0167] Next, the generation and verification of a digital signature and a hash value will be described.

[0168] FIG. 24 is a diagram for explaining the mechanism for generating and verifying digital signatures and hash values. The server has a signed AIT generating unit 350 A. The signed AIT generating unit 350 A is specifically realized by a program that is loaded into the main memory and generates a digital signature and a hash value, and a CPU that executes this program.

[0169] The signed AIT generation unit 350A calculates a hash value 353A from the entity (binary code) of the non-broadcast managed application 351A using a predetermined hash calculator 352A. Examples of hash algorithms include SHA-1 and SHA-2, which are standardized in FIPS PUB 180-1 and 180-2.

[0170] The signed AIT generating unit 350A combines the XML-AIT 362A of the non-broadcast managed application 351A with the hash value 353A to generate an XML-AIT 355A with a hash value.

[0171] The application creator requests the broadcasting station 100A to authenticate the non-broadcast managed application 351A and the XML-AIT 355A.

[0172] The broadcast station 100 carefully examines the contents of the non-broadcast managed application 351A and XML-AIT 355A that are the subject of authentication requested by the application creator, and if there is no problem, sets the private key of the pair of the private key and broadcast station public key certificate issued by the root CA 800 (see FIG. 1) as signature generation key 357A in the signature generator 356A. The signature generator 356A generates a digest of the XML-AIT 355A using a signature hash function, encrypts this digest with the signature generation key (private key) 357A, and generates XML signature 358A. The broadcast station 100A responds with the generated XML signature 358A to the server.

[0173] The signed AIT generation unit 350A of the server adds the XML signature 358A returned from the broadcast station 100A to the XML-AIT 355A with the hash value to generate an XML-AIT 360A with a digital signature, and distributes it to the information processing device 700A.

[0174] The application controller 708A of the information processing device 700 calculates a hash value 752A from the entity (binary code) of the non-broadcast managed application 351A acquired from the server, using a predetermined hash calculator 751A (hash function). The hash function used here must be the same as that of the hash calculator 352A of the signed AIT generation unit 350A of the server. Therefore, the application controller 708A checks the hash algorithm described in the digitally signed XML-AIT 360A acquired from the server, and determines whether or not the hash algorithm of the hash calculator 751A (hash function) is consistent with that of the hash calculator 352A of the signed AIT generation unit 350A of the server. If an inconsistency in the hash algorithm is determined, the application controller 708A switches the hash calculator 751A (hash function) to make it consistent with that of the hash calculator 352A of the signed AIT generation unit 350A of the server.

[0175] The application controller 708A uses a hash comparator 756A to compare the hash value 353A extracted from the digitally signed XML-AIT 360A obtained from the server with the hash value 752A, and obtains a match / mismatch result 757A.

[0176] The application controller 708A extracts the XML signature from the digitally signed XML-AIT 360A obtained from the server in a signature generator 753A, and verifies the XML signature using a signature verification key (public key) 754A to obtain a signature verification result 755A.

[0177] According to this variant, a hash value is added to the application and provided to the information processing device 700, so that the information processing device 700 can determine the validity of the application by comparing the hash value calculated for the application obtained from the application server 300 with the hash value transmitted by the XML-AIT.

[0178] Although the embodiment based on the HbbTV standard has been described above, the present technology is not necessarily limited to being based on the HbbTV standard.

[0179] [Another configuration of this technology] The present technology can also be configured as follows. (1) a broadcast receiving unit capable of receiving a broadcast; a controller configured to acquire, via communication, a first application information table in which at least first license information indicating a license range of the resource by the application that uses the resource of the broadcast is stored, to control an operation of the application, and to acquire, using the broadcast receiving unit, a second application information table in which at least second license information indicating a license range of the resource by the application, to control an operation of the application during execution of the application; An information processing device comprising:

[0180] (2) The information processing device according to (1), The controller is configured to obtain the application based on information in the first application information table, and to start the obtained application. Information processing device.

[0181] (3) The information processing device according to (1) or (2), the controller is configured to, when a difference is detected by comparing the first license information with the second license information, switch from the first license information to the second license information and control a utilization range of the resource by the application; Information processing device.

[0182] (4) The information processing device according to any one of (1) to (3), The application is provided by a third party other than a broadcasting station. Information processing device.

[0183] (5) The information processing device according to any one of (1) to (4), the first application information table and the second application information table store area information defining an area on a display screen in which the application may be displayed; The controller is configured to set the region based on the area information and display the application in this region. Information processing device.

[0184] (6) a broadcasting unit that transmits a broadcast signal including an application information table in which license information indicating a license range for using a broadcast resource by an application that can use the broadcast resource is stored; A broadcasting device comprising:

[0185] (7) The broadcasting device according to (6), The broadcasting unit is configured to store area information defining an area on a display screen in which the application may be displayed in the application information table and transmit the area information. Broadcasting equipment.

[0186] Furthermore, the present technology is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit and scope of the present invention. [Explanation of symbols]

[0187] 10. Information processing systems 21...License Information Descriptor 41…Common descriptor area 51...Permission bitmap 100…Broadcasting station 200…the first network 300: Application server 400...AIT server 500…Edge router 600…Second network 700...Information processing device 701...Broadcast interface 702…Demultiplexer 703...Output processing unit 704...Video decoder 705…Audio decoder 706...Subtitle decoder 707…Communication Interface 708…Application Controller

Claims

1. A broadcast receiving unit capable of receiving broadcasts; a controller configured to acquire, via communication, first license information regarding whether an application that uses a resource of the broadcast can use the resource, control operations including starting the application, and, during execution of the application, acquire, using the broadcast receiving unit, second license information regarding whether the application can use the resource, thereby controlling a range of use of the resource by the application; An information processing device comprising:

2. 2. The information processing device according to claim 1, The controller is configured to acquire, through communication, a first application information table in which the first license information is stored, acquire the application based on the acquired first application information table, and start the acquired application. Information processing device.

3. 3. The information processing device according to claim 1, The controller is configured to, when a difference is detected by comparing the first license information with the second license information, switch from the first license information to the second license information to control a utilization range of the resource by the application. Information processing device.

4. 4. The information processing device according to claim 1, The application is provided by a third party other than a broadcasting station. Information processing device.

5. 5. The information processing device according to claim 1, the first application information table in which the first license information is stored stores area information defining an area on a display screen in which the application may be displayed; The controller is configured to set the region based on the area information and display the application in this region. Information processing device.

6. The controller acquiring first license information regarding whether an application that uses a broadcast resource can use the resource through communication, and controlling an operation including the start of the application; During execution of the application, second license information regarding whether the application can use the resource is obtained from a broadcast, and a range of use of the resource by the application is controlled. Receiving method.

Citation Information

Patent Citations

  • Overall data distribution system

    JP2002112208A

  • Receiving device, receiving method, and program

    JP2013150089A

  • Receiver, program and receiving method

    WO2012161125A1

  • Receiving device, receiving method, transmitting device, transmitting method, program, and linked application control system

    WO2013157446A1