JP2007300370A - Information processor and control method therefor - Google Patents

Information processor and control method therefor Download PDF

Info

Publication number
JP2007300370A
JP2007300370A JP2006126417A JP2006126417A JP2007300370A JP 2007300370 A JP2007300370 A JP 2007300370A JP 2006126417 A JP2006126417 A JP 2006126417A JP 2006126417 A JP2006126417 A JP 2006126417A JP 2007300370 A JP2007300370 A JP 2007300370A
Authority
JP
Japan
Prior art keywords
encryption
devices
packet data
information processing
virtual channels
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
JP2006126417A
Other languages
Japanese (ja)
Inventor
Kazunori Iwata
和紀 岩田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006126417A priority Critical patent/JP2007300370A/en
Publication of JP2007300370A publication Critical patent/JP2007300370A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor capable of ciphering packet data sent and received between devices, and to provide its control method. <P>SOLUTION: The information processor includes a first ciphering/deciphering means (36), provided for one of a plurality of virtual channels defined in a transaction layer of a first device (24, 26); a second ciphering/deciphering means (36), provided for one of the plurality of virtual channels defined in a transaction layer of the second device (26, 24); and a control means (23) of selecting the virtual channels, for which the first and second ciphering/deciphering means (36) are provided by the first and second devices (24, 26) and performing communication between the selected virtual channels through ciphering of packet data, when the packet data are requested to be communicated between the first and second devices (24, 26) through the ciphering. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

この発明は、例えばPC(personal computer)等のような情報処理装置及びその動作を制御する制御方法に関する。   The present invention relates to an information processing apparatus such as a personal computer (PC) and a control method for controlling the operation thereof.

周知のように、近年、例えばPC等のような情報処理装置においては、PCI Expressと称される第3世代汎用I/O相互接続インターフェースが採用されている。このPCI Expressは、リンクと称される通信路を介してデバイス間を相互接続するための規格であり、PCI SIG(peripheral component interconnect special interest group)によって規定されている。   As is well known, in recent years, third-generation general-purpose I / O interconnection interfaces called PCI Express have been adopted in information processing apparatuses such as PCs. PCI Express is a standard for interconnecting devices via a communication path called a link, and is defined by PCI SIG (peripheral component interconnect special interest group).

ところで、PCI Expressの規格においては、デバイス間のデータの伝送はパケットを用いて実行される。しかしながら、PCI Express Base Specification Revision 1.1に定義されている技術では、デバイス間で送受信されるパケット(Ordered-set/DLLP/TLP)の構成フォーマットは定義されているが、データセキュリティ(データの暗号化)については定義されていない。   By the way, in the PCI Express standard, data transmission between devices is performed using packets. However, the technology defined in PCI Express Base Specification Revision 1.1 defines the configuration format of packets (Ordered-set / DLLP / TLP) sent and received between devices, but data security (data encryption Is not defined.

特許文献1には、マルチプロセッサシステムにおいて、アプリケーションの起動に応じて動的に論理的なチャンネルを割り当てて、暗号化されたデータ通信を行なうようにした構成が開示されている。
特開2002−215480
Patent Document 1 discloses a configuration in which, in a multiprocessor system, a logical channel is dynamically allocated according to the activation of an application to perform encrypted data communication.
JP 2002-215480 A

そこで、この発明は上記事情を考慮してなされたもので、デバイス間で送受信されるパケットデータの暗号化を行なうことが可能な情報処理装置及びその制御方法を提供することを目的とする。   Accordingly, the present invention has been made in view of the above circumstances, and an object thereof is to provide an information processing apparatus capable of encrypting packet data transmitted and received between devices and a control method thereof.

この発明に係る情報処理装置は、シリアルバスインターフェースで接続された第1及び第2のデバイスを備えたものを対象としている。そして、第1のデバイスのトランザクション層に定義された複数のバーチャルチャンネルのいずれかに備えられる第1の暗号復号手段と、第2のデバイスのトランザクション層に定義された複数のバーチャルチャンネルのいずれかに備えられる第2の暗号復号手段と、第1及び第2のデバイス間で暗号化によるパケットデータの通信が要求されたとき、第1及び第2のデバイスでそれぞれ第1及び第2の暗号復号手段が備えられたバーチャルチャンネルを選択し、その選択されたバーチャルチャンネル間でパケットデータの暗号化による通信を行なわせる制御手段とを備えるようにしたものである。   An information processing apparatus according to the present invention is intended for an apparatus including first and second devices connected by a serial bus interface. Then, the first encryption / decryption means provided in one of the plurality of virtual channels defined in the transaction layer of the first device, and one of the plurality of virtual channels defined in the transaction layer of the second device A second encryption / decryption means provided, and when the packet data communication by encryption is requested between the first and second devices, the first and second devices respectively perform the first and second encryption / decryption means. Is selected, and control means for performing communication by encrypting packet data between the selected virtual channels is provided.

また、この発明に係る情報処理装置の制御方法は、シリアルバスインターフェースで接続された第1及び第2のデバイスを備えた情報処理装置を制御する方法を対象としている。そして、第1のデバイスのトランザクション層に定義された複数のバーチャルチャンネルのいずれかに第1の暗号復号手段を備えるとともに、第2のデバイスのトランザクション層に定義された複数のバーチャルチャンネルのいずれかに第2の暗号復号手段を備え、第1及び第2のデバイス間で暗号化によるパケットデータの通信が要求されたとき、第1及び第2のデバイスでそれぞれ第1及び第2の暗号復号手段が備えられたバーチャルチャンネルを選択し、その選択されたバーチャルチャンネル間でパケットデータの暗号化による通信を行なわせるようにしたものである。   A method for controlling an information processing apparatus according to the present invention is directed to a method for controlling an information processing apparatus including first and second devices connected by a serial bus interface. Then, the first encryption / decryption means is provided in any one of the plurality of virtual channels defined in the transaction layer of the first device, and one of the plurality of virtual channels defined in the transaction layer of the second device. A second encryption / decryption means, and when the packet data communication by encryption is requested between the first and second devices, the first and second devices respectively have the first and second encryption / decryption means The provided virtual channel is selected, and communication by encryption of packet data is performed between the selected virtual channels.

上記した発明によれば、第1及び第2のデバイス間で暗号化によるパケットデータの通信が要求されたとき、第1及び第2のデバイスでそれぞれ第1及び第2の暗号復号手段が備えられたバーチャルチャンネルを選択し、その選択されたバーチャルチャンネル間でパケットデータの暗号化による通信を行なわせるようにしたので、シリアルバスインターフェースで接続されたデバイス間で送受信されるパケットデータの暗号化を行なうことが可能となる。   According to the above-described invention, when packet data communication by encryption is requested between the first and second devices, the first and second devices are respectively provided with the first and second encryption / decryption means. Since the selected virtual channel is selected and communication is performed by encrypting the packet data between the selected virtual channels, the packet data transmitted / received between the devices connected by the serial bus interface is encrypted. It becomes possible.

以下、この発明の実施の形態について図面を参照して詳細に説明する。図1は、この実施の形態で説明する情報処理装置として、バッテリ駆動可能なノートブック型のPC11の外観を示している。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 shows the appearance of a notebook PC 11 that can be driven by a battery as an information processing apparatus described in this embodiment.

このPC11は、PC本体12とディスプレイユニット13とから構成されている。ディスプレイユニット13には、LCD(liquid crystal display)からなる表示装置が組み込まれており、そのLCDの表示画面14がディスプレイユニット13のほぼ中央に位置されている。   The PC 11 includes a PC main body 12 and a display unit 13. The display unit 13 incorporates a display device made up of a liquid crystal display (LCD), and the display screen 14 of the LCD is located almost at the center of the display unit 13.

ディスプレイユニット13は、PC本体12に対して開放位置と閉塞位置との間を回動自在に取り付けられている。PC本体12は、薄い箱形の筐体を有しており、その上面にはパワーボタン15、LED(light emitting diode)表示部16、キーボード17、タッチパッド18、左右2つのボタン19,20等が配置されている。   The display unit 13 is attached to the PC main body 12 so as to be rotatable between an open position and a closed position. The PC main body 12 has a thin box-shaped housing, and on its upper surface, a power button 15, an LED (light emitting diode) display unit 16, a keyboard 17, a touch pad 18, two left and right buttons 19, 20 and the like. Is arranged.

図2は、上記PC11の信号処理系を示している。このPC11は、内蔵バッテリ21を備えており、外部電源(AC電源)に接続されていない状態においては、内蔵バッテリ21からの電力によって動作する。また、ACアダプタ22がPC11に接続されている状態、つまり、外部電源(AC電源)にPC11が接続されている状態においては、PC11は外部電源(AC電源)によって動作する。さらに、外部電源によって内蔵バッテリ21の充電が行なわれる。   FIG. 2 shows a signal processing system of the PC 11. The PC 11 includes a built-in battery 21 and operates with power from the built-in battery 21 when not connected to an external power supply (AC power supply). Further, in a state where the AC adapter 22 is connected to the PC 11, that is, in a state where the PC 11 is connected to an external power source (AC power source), the PC 11 operates with the external power source (AC power source). Further, the internal battery 21 is charged by an external power source.

このPC11は、図2に示すように、CPU(central processing unit)23、Root Complex24、主メモリ25、グラフィックスコントローラ(end point)26、上記表示装置(LCD)27、PCIデバイス群28、PCI Expressデバイス群29、HDD(hard disk drive)30、BIOS−ROM31、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)32、電源コントローラ(PSC)33、上記パワーボタン15、キーボード(KB)17、タッチパッド18等を備えている。   As shown in FIG. 2, the PC 11 includes a CPU (central processing unit) 23, a root complex 24, a main memory 25, a graphics controller (end point) 26, the display device (LCD) 27, a PCI device group 28, a PCI Express. Device group 29, HDD (hard disk drive) 30, BIOS-ROM 31, embedded controller / keyboard controller (EC / KBC) 32, power controller (PSC) 33, power button 15, keyboard (KB) 17, touch pad 18, etc. It has.

Root Complex24、グラフィックスコントローラ(end point)26及びPCI Expressデバイス群29は、それぞれPCI Express規格に準拠したデバイスである。そして、Root Complex24とグラフィックスコントローラ(end point)26との間の通信は、Root Complex24とグラフィックスコントローラ(end point)26との間に配設されたPCI Expressリンク34を介して実行される。   The Root Complex 24, the graphics controller (end point) 26, and the PCI Express device group 29 are devices compliant with the PCI Express standard. Communication between the Root Complex 24 and the graphics controller (end point) 26 is executed via a PCI Express link 34 disposed between the Root Complex 24 and the graphics controller (end point) 26.

Root Complex24とPCI Expressデバイス群29との間の通信は、Root Complex24とPCI Expressデバイス群29との間に配設されたPCI Expressリンク35を介して実行される。各PCI Expressリンク34,35は、それぞれシリアルバスインターフェースから構成される通信路であり、アップストリームレーン及びダウンストリームレーンを含んでいる。   Communication between the Root Complex 24 and the PCI Express device group 29 is executed via a PCI Express link 35 disposed between the Root Complex 24 and the PCI Express device group 29. Each PCI Express link 34, 35 is a communication path composed of a serial bus interface, and includes an upstream lane and a downstream lane.

CPU23は、PC11の動作を制御するプロセッサであり、HDD30から主メモリ25にロードされる各種プログラム(オペレーティングシステム、アプリケーションプログラム)を実行する。   The CPU 23 is a processor that controls the operation of the PC 11, and executes various programs (operating system, application program) loaded from the HDD 30 to the main memory 25.

また、CPU23は、BIOS−ROM31に格納されたBIOS(basic input output system)も実行する。このBIOSは、ハードウェアを制御するためのプログラムである。また、BIOSは、PCI Express規格で規定されたASPM(active state power management)機能の実行を、PC11の動作モードに応じて動的に許可または禁止するためのSMI(system management interrupt)ルーチンを有している。   The CPU 23 also executes a basic input output system (BIOS) stored in the BIOS-ROM 31. This BIOS is a program for controlling hardware. The BIOS also has a system management interrupt (SMI) routine for dynamically permitting or prohibiting execution of an ASPM (active state power management) function defined by the PCI Express standard according to the operation mode of the PC 11. ing.

ASPM機能は、上述したように、例えPCI Express規格に対応するデバイスが動作状態(D0ステート)であっても、そのデバイスが接続されたリンクをローパワーステート(スタンバイステート)に設定することが可能な通信路制御機能である。リンクを介して相互接続された2つのデバイスのそれぞれはASPM機能を有しており、リンクがアイドル状態であるか否かに応じて、リンクの状態を動作ステートと当該動作ステートよりも低消費電力のスタンバイステートとの間で遷移させることができる。この遷移は、ハードウェアによって自動的に実行される。   As described above, the ASPM function can set the link to which the device is connected to the low power state (standby state) even if the device corresponding to the PCI Express standard is in the operating state (D0 state). Communication path control function. Each of the two devices interconnected via the link has an ASPM function, and the link state is set to an operation state and lower power consumption than the operation state depending on whether or not the link is in an idle state. Transition to and from the standby state. This transition is automatically performed by hardware.

Root Complex24は、CPU23のローカルバスとグラフィックスコントローラ(end point)26との間を接続するブリッジデバイスである。また、Root Complex24は、PCI Expressリンク34を介してグラフィックスコントローラ(end point)26との通信を実行する機能も有している。   The Root Complex 24 is a bridge device that connects a local bus of the CPU 23 and a graphics controller (end point) 26. The Root Complex 24 also has a function of executing communication with the graphics controller (end point) 26 via the PCI Express link 34.

グラフィックスコントローラ(end point)26は、PC11のディスプレイモニタとして使用される表示装置(LCD)27を制御する表示コントローラである。   The graphics controller (end point) 26 is a display controller that controls a display device (LCD) 27 used as a display monitor of the PC 11.

エンベデッドコントローラ/キーボードコントローラ(EC/KBC)32は、電力管理のためのエンベデッドコントローラと、キーボード(KB)17及びタッチパッド18を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。   The embedded controller / keyboard controller (EC / KBC) 32 is a one-chip microcomputer in which an embedded controller for power management and a keyboard controller for controlling the keyboard (KB) 17 and the touch pad 18 are integrated.

このエンベデッドコントローラ/キーボードコントローラ(EC/KBC)32は、ユーザによるパワーボタン15の操作に応じて、電源コントローラ(PSC)33と共同して、PC11をパワーオン/パワーオフする機能を有している。さらに、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)32は、PC11に対するACアダプタ22の接続及び取り外しを検出する機能も有している。   The embedded controller / keyboard controller (EC / KBC) 32 has a function of powering on / off the PC 11 in cooperation with the power controller (PSC) 33 in accordance with the operation of the power button 15 by the user. . Further, the embedded controller / keyboard controller (EC / KBC) 32 also has a function of detecting connection and removal of the AC adapter 22 with respect to the PC 11.

ACアダプタ22の接続及び取り外しのイベントが発生したとき、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)32は、電力管理イベントの発生をBIOSに通知するために割り込み信号(INTR)を発生する。この割り込み信号(INTR)の発生に応答して、Root Complex24は、CPU23に割り込み信号(SMI)を発生する。CPU23は、SMIに応答して、BIOSのSMIルーチンを実行する。なお、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)32からCPU23に直接的にSMIを供給するようにしても良いものである。   When an event of connecting / disconnecting the AC adapter 22 occurs, the embedded controller / keyboard controller (EC / KBC) 32 generates an interrupt signal (INTR) to notify the BIOS of the occurrence of the power management event. In response to the generation of the interrupt signal (INTR), the root complex 24 generates an interrupt signal (SMI) to the CPU 23. In response to the SMI, the CPU 23 executes a BIOS SMI routine. The SMI may be directly supplied from the embedded controller / keyboard controller (EC / KBC) 32 to the CPU 23.

図3は、PCI Express規格にそれぞれ準拠した2つのデバイス間の接続構成を示している。ここでは、2つのデバイスとして、Root Complex24(第1のデバイス)とグラフィックスコントローラ(end point)26(第2のデバイス)との接続構成を例にして説明する。   FIG. 3 shows a connection configuration between two devices each compliant with the PCI Express standard. Here, as two devices, a connection configuration of a Root Complex 24 (first device) and a graphics controller (end point) 26 (second device) will be described as an example.

すなわち、PCI Express規格では、対向する2つのデバイス24,26に対して、両者間の物理的接続を制御し管理するためのPhysical Layer24a,26aと、両者間のデータの保全性を制御し管理するためのDataLink Layer24b,26bと、メモリに対する読み出しや書き込み等のトランザクションを制御し管理するためのTransaction Layer24c,26cとが定義されている。なお、各デバイス24,26には、それぞれ、内部ロジックとTransaction Layer24c,26cとのインターフェースを制御し管理するための内部バス制御回路24d,26dが設けられているが、これらの内部バス制御回路24d,26dについては、PCI Express規格の範囲外である。   That is, in the PCI Express standard, the physical layers 24a and 26a for controlling and managing the physical connection between the two devices 24 and 26 facing each other and the data integrity between the two devices 24 and 26 are controlled and managed. DataLink Layers 24b and 26b, and Transaction Layers 24c and 26c for controlling and managing transactions such as reading and writing to the memory are defined. The devices 24 and 26 are provided with internal bus control circuits 24d and 26d for controlling and managing the interface between the internal logic and the Transaction Layers 24c and 26c, respectively. , 26d are outside the range of the PCI Express standard.

そして、2つのデバイス24,26の対向する各Layer(24a,26a)、(24b,26b)、(24c,26c)間において、それぞれ、規格でフォーマットを定められたパケットを送受信することによりデータの受け渡しが行なわれる。対向する各Layer(24a,26a)、(24b,26b)、(24c,26c)間で送受信されるパケットは、以下の3種類である。   Then, between the opposing layers (24a, 26a), (24b, 26b), (24c, 26c) of the two devices 24, 26, data is transmitted and received by transmitting / receiving packets formatted in the standard. Delivery takes place. The following three types of packets are transmitted and received between the opposing layers (24a, 26a), (24b, 26b), (24c, 26c).

すなわち、Physical Layer24a,26a間で物理接続の管理及び制御を行なうために送受信を行なうOrdered-setと、DataLink Layer24b,26b間でデータの保全性を確保するために送受信を行なうDLLP(datalink layer packet)(図4参照)と、デバイス24,26間のデータの送受信を行なうTLP(transaction layer packet)(図5参照)とである。   That is, an Ordered-set that performs transmission / reception to manage and control the physical connection between the Physical Layers 24a and 26a, and a DLLP (datalink layer packet) that performs transmission / reception to ensure data integrity between the DataLink Layers 24b and 26b. (Refer to FIG. 4) and TLP (transaction layer packet) (refer to FIG. 5) for transmitting and receiving data between the devices 24 and 26.

そして、TLPにより送受信されるデータは、次のように細分化される。すなわち、対向デバイスの制御信号や映像データ等のストリームデータ(信号)を送受信するMemoryトランザクション(read/write)と、主に対向デバイスの制御信号を送受信するI/Oトランザクション(read/write)と、PC12.x/PCI−X/PCI Expressで定義されたPCI/PCI Express準拠の制御情報の送受信を行なうConfigurationトランザクションと、割り込み、エラー情報、Slot管理、パワー制御等の管理情報の送受信を行なうMessageトランザクションとである。Configurationトランザクション及びMessageトランザクションについては、デバイス24,26間及びPCI Express階層の管理及び制御情報の送受信に使用される。   The data transmitted / received by TLP is subdivided as follows. That is, a Memory transaction (read / write) for transmitting / receiving stream data (signal) such as a control signal and video data of the opposite device, an I / O transaction (read / write) mainly transmitting / receiving a control signal of the opposite device, PC12. A Configuration transaction that transmits / receives PCI / PCI Express-compliant control information defined in x / PCI-X / PCI Express, and a Message transaction that transmits / receives management information such as interrupt, error information, slot management, and power control is there. The Configuration transaction and the Message transaction are used for management and control information transmission / reception between the devices 24 and 26 and the PCI Express hierarchy.

ここで、先に述べたように、Root Complex24とグラフィックスコントローラ(end point)26とは、PCI Expressリンク34を介して相互接続されている。このPCI Expressリンク34は、Root Complex24とグラフィックスコントローラ(end point)26との間をpoint to point形式で接続するシリアルバスインターフェースである。   Here, as described above, the root complex 24 and the graphics controller (end point) 26 are interconnected via the PCI Express link 34. The PCI Express link 34 is a serial bus interface that connects the Root Complex 24 and the graphics controller (end point) 26 in a point-to-point format.

すなわち、このPCI Expressリンク34は、Root Complex24からグラフィックスコントローラ(end point)26の方向に情報を伝送するための差動信号線対34aと、グラフィックスコントローラ(end point)26からRoot Complex24の方向に情報を伝送するための差動信号線対34bと、Physical Layer24a,26a間でOrdered-setを送受信するための信号線対と、DataLink Layer24b,26b間でDLLPを送受信するための信号線対と、Transaction Layer24c,26c間及び内部バス制御回路24d,26d間でTLPを送受信するための信号線対とを備えている。   That is, the PCI Express link 34 includes a differential signal line pair 34a for transmitting information from the root complex 24 to the graphics controller (end point) 26, and a direction from the graphics controller (end point) 26 to the root complex 24. A differential signal line pair 34b for transmitting information to a signal line, a signal line pair for transmitting and receiving an ordered-set between the physical layers 24a and 26a, and a signal line pair for transmitting and receiving a DLLP between the data link layers 24b and 26b. And a pair of signal lines for transmitting and receiving TLP between the Transaction Layers 24c and 26c and between the internal bus control circuits 24d and 26d.

ここで、上記Ordered-set及びDLLPについては、デバイス24,26間のローカルな通信に使用される。これら2種類のパケットについては、ユーザが任意に設定したデータを付加することはできず、データフォーマットはPCI Express規格により厳密に規定されている。   Here, the ordered-set and the DLLP are used for local communication between the devices 24 and 26. For these two types of packets, data arbitrarily set by the user cannot be added, and the data format is strictly defined by the PCI Express standard.

一方、TLPについて、そのパケットフォーマットはPCI Express規格により厳密に規定されているが、パケット内に付加するデータペイロードについては、データ長以外は規定されていない。このため、物理レーン上で、第3者が容易にデータペイロードに記載された内容を見ることができる。現状のPCI Express規格においては、データの機密性については定義されていない。   On the other hand, the packet format of TLP is strictly defined by the PCI Express standard, but the data payload added in the packet is not defined except for the data length. For this reason, the contents described in the data payload can be easily viewed by a third party on the physical lane. In the current PCI Express standard, data confidentiality is not defined.

そこで、この実施の形態では、デバイス24,26に、新たに暗号化手段と復号化手段とを備えるようにしている。すなわち、PCI Express規格では、図6に示すように、各デバイス24,26のTransaction Layer24c,26cに、最大で8チャンネルまでのVirtual Channel 0〜7を実装することが定義されている。   Therefore, in this embodiment, the devices 24 and 26 are newly provided with encryption means and decryption means. That is, in the PCI Express standard, as shown in FIG. 6, it is defined that Virtual Channels 0 to 7 of up to 8 channels are mounted in the Transaction Layers 24c and 26c of the devices 24 and 26, respectively.

このうち、Virtual Channel 0は全てのデバイスに要求され、他のVirtual Channel 1〜7については、デバイス毎に任意に実装することが可能となっている。そして、この実施の形態では、各デバイス24,26の有するVirtual Channel 1〜7のいずれか(複数でも可)に暗号・復号回路36を実装するようにしている。   Of these, Virtual Channel 0 is required for all devices, and the other Virtual Channels 1 to 7 can be arbitrarily installed for each device. In this embodiment, the encryption / decryption circuit 36 is mounted on any one (or a plurality of Virtual Channels 1 to 7) of the devices 24 and 26.

ここで、上記したTLPの種別のうち、I/O、Configuration及びMessage(一部除く)の各トランザクションは、デフォルトのVirtual Channel 0のみを使用することと定められている。一方、Memoryトランザクションについては、ユーザ(アプリケーションソフト)の指定により、使用するVirtual Channel 1〜7を任意に選択することができる。   Here, of the above TLP types, each transaction of I / O, Configuration, and Message (excluding some) is determined to use only the default Virtual Channel 0. On the other hand, for the Memory transaction, the Virtual Channels 1 to 7 to be used can be arbitrarily selected according to the designation of the user (application software).

このため、TLPのうちI/O、Configuration及びMessage(一部除く)の各トランザクションは、図6に破線で示すように、暗号・復号回路36が実装されていないデフォルトのVirtual Channel 0を介して、Root Complex24とグラフィックスコントローラ(end point)26との間で送受信される。   For this reason, I / O, Configuration, and Message (except for some) transactions in the TLP are transmitted via the default Virtual Channel 0 in which the encryption / decryption circuit 36 is not mounted, as indicated by a broken line in FIG. The data is transmitted and received between the root complex 24 and the graphics controller (end point) 26.

また、TLPのうちMemoryトランザクションについては、図7に実線で示すように、ユーザ(アプリケーションソフト)が暗号・復号回路36の実装されたVirtual Channel n(nは1〜7)を使用することを指定した場合、そのVirtual Channel nを通過する際に暗号化処理が施される。そして、この暗号化されたパケットがDataLink Layer及びPhysical Layerを介して対向デバイス24または26に出力される。   For the Memory transaction in the TLP, as indicated by the solid line in FIG. 7, it is specified that the user (application software) uses Virtual Channel n (n is 1 to 7) on which the encryption / decryption circuit 36 is installed. In this case, encryption processing is performed when passing through the virtual channel n. Then, the encrypted packet is output to the opposing device 24 or 26 via the DataLink Layer and the Physical Layer.

対向デバイス24または25では、暗号化されたMemoryトランザクションを、暗号・復号回路36が実装されたVirtual Channel nによって復号化処理を施し、元のMemoryトランザクションを取得する。   In the opposite device 24 or 25, the encrypted Memory transaction is decrypted by the Virtual Channel n on which the encryption / decryption circuit 36 is mounted, and the original Memory transaction is acquired.

なお、暗号・復号回路36が実装されたVirtual Channel nによってデータの暗号化処理が実施されるのは、図5に示したTLPのDataフィールドのみである。TLPのその他のフィールド及びOrdered-set/DLLPは、暗号化の対象とならない。   Note that data encryption processing is performed only by the Data field of the TLP shown in FIG. 5 by the Virtual Channel n in which the encryption / decryption circuit 36 is mounted. Other fields of TLP and Ordered-set / DLLP are not subject to encryption.

図8は、上述した暗号化及び復号化を行なうために用いられる管理パケット37,38を示している。この管理パケット37,38は、双方のデバイス[Root Complex24及びグラフィックスコントローラ(end point)26]のVirtual Channel nに実装されている暗号・復号回路36を有効にするための認証機構を制御するために使用する。なお、管理パケット37,38は、PCI Express規格では定義されておらず、この実施の形態によりデータセキュリティ機構を実現するため新規に定義するパケットである。   FIG. 8 shows management packets 37 and 38 used for performing the above-described encryption and decryption. The management packets 37 and 38 control an authentication mechanism for enabling the encryption / decryption circuit 36 implemented in the Virtual Channel n of both devices [Root Complex 24 and graphics controller (end point) 26]. Used for. The management packets 37 and 38 are not defined in the PCI Express standard, but are newly defined packets for realizing the data security mechanism according to this embodiment.

ここにおいて、図9は、ユーザ(アプリケーションソフト)の指定により、パケットに暗号化または復号化処理を施す場合と施さない場合との処理動作をまとめたフローチャートを示している。すなわち、処理が開始(ステップS1)されると、CPU23は、ステップS2で、ユーザ(アプリケーションソフト)がパケットに暗号化または復号化処理を施すことを指定したか否かを判別する。   Here, FIG. 9 shows a flowchart summarizing the processing operations when the packet is encrypted or decrypted according to the designation of the user (application software) and when the packet is not encrypted. That is, when the process is started (step S1), the CPU 23 determines whether or not the user (application software) has designated to perform encryption or decryption processing on the packet in step S2.

パケットに暗号化または復号化処理を施すことが指定されたと判断された場合(YES)、CPU23は、ステップS3で、そのパケットを暗号・復号回路36が実装されたVirtual Channel nによって暗号化または復号化し、処理を終了(ステップS5)する。   If it is determined that encryption or decryption processing has been designated for the packet (YES), the CPU 23 encrypts or decrypts the packet with Virtual Channel n in which the encryption / decryption circuit 36 is mounted in step S3. And the process ends (step S5).

また、上記ステップS3でパケットに暗号化または復号化処理を施すことが指定されていないと判断された場合(NO)、CPU23は、ステップS4で、そのパケットを暗号・復号回路36が実装されていないVirtual Channel nによって処理し、処理を終了(ステップS5)する。   If it is determined in step S3 that the packet is not designated to be encrypted or decrypted (NO), the CPU 23 has the encryption / decryption circuit 36 installed in step S4. The process is terminated by no virtual channel n, and the process ends (step S5).

次に、図10は、暗号・復号回路36の認証の初期化を行なう処理動作をまとめたフローチャートを示している。この処理動作は、デバイス同士が接続されることにより開始(ステップS6)される。すると、CPU23は、ステップS7で、PCI Express規格で定義された初期化の動作を実行する。   Next, FIG. 10 shows a flowchart summarizing the processing operation for initializing the authentication of the encryption / decryption circuit 36. This processing operation is started when the devices are connected to each other (step S6). Then, in step S7, the CPU 23 executes an initialization operation defined by the PCI Express standard.

そして、PCI Express規格に準拠した初期化が完了し、デバイス間の通信経路が確立されると、CPU23は、ステップS8で、デバイス間で暗号・復号回路36を有効とするために、デバイス間の暗号・復号回路36を実装したVirtual Channel nの初期化(認証)を実行して、処理を終了(ステップS9)する。   When initialization conforming to the PCI Express standard is completed and a communication path between devices is established, the CPU 23 establishes the encryption / decryption circuit 36 between devices in step S8. The initialization (authentication) of Virtual Channel n in which the encryption / decryption circuit 36 is mounted is executed, and the process is terminated (step S9).

ステップS8の初期化処理は、上位ソフトウェアの介在なしに、実装されたハードウェアが、PCI Express規格準拠の初期化が完了したことを自動的に検知し、それに続けて実行される。そして、暗号・復号回路36を実装したVirtual Channel nの初期化(認証)が完了すると、その旨が上位ソフトウェアに通知される。   The initialization processing in step S8 is executed following the detection of the hardware that has been installed automatically by the installed hardware without the intervention of the upper software, and that has been completed. When the initialization (authentication) of the Virtual Channel n in which the encryption / decryption circuit 36 is installed is completed, this is notified to the upper software.

上記した管理パケット37,38は、暗号・復号回路36を実装したVirtual Channel nを有効とするための処理に使用される新規に定義するパケットである。暗号・復号回路36を実装したVirtual Channel nの初期化時及び再認証(後述)時にデバイス間の通信に使用され、デバイス間において制御情報等を送受信することにより、両デバイスに実装される、暗号・復号回路36を実装したVirtual Channel nの認証・鍵交換等を行ない、データセキュリティの確立を行なっている。   The management packets 37 and 38 described above are newly defined packets used for processing for enabling Virtual Channel n in which the encryption / decryption circuit 36 is mounted. An encryption that is used for communication between devices at the time of initialization and re-authentication (described later) of the Virtual Channel n in which the encryption / decryption circuit 36 is installed, and is installed in both devices by transmitting / receiving control information between the devices.・ Authentication and key exchange of Virtual Channel n on which the decryption circuit 36 is mounted are performed to establish data security.

図11は、デバイス間の再認証を行なう場合の処理動作をまとめたフローチャートを示している。このデバイス間の再認証は、デバイス間において初期化処理により通信経路が確立され、また、データセキュリティ機構の初期化も完了しデータのセキュリティを保障された通信が確立された通信経路において、何らかの理由により、デバイス間の再認証が必要となった場合に行なわれる処理である。   FIG. 11 shows a flowchart summarizing the processing operation when re-authentication is performed between devices. This re-authentication between devices is established for some reason in the communication path where the communication path is established by the initialization process between the devices, and the initialization of the data security mechanism is completed and the communication in which the data security is guaranteed is established. This process is performed when re-authentication between devices becomes necessary.

初期化処理と同様に新規に定義する管理パケット36,37をデバイス間で送受信することにより実現される。この再認証処理も実装したハードウェアにより自動的に実行される。   Similar to the initialization process, it is realized by transmitting and receiving newly defined management packets 36 and 37 between devices. This re-authentication process is also automatically executed by the installed hardware.

すなわち、処理が開始(ステップS10)されると、CPU23は、ステップS11で、デバイス間の再認証処理が実行されたか否かを判別し、実行されないと判断された場合(NO)、処理を終了(ステップS13)する。また、上記ステップS11でデバイス間の再認証処理が実行されたと判断された場合(YES)、CPU23は、ステップS12で、デバイス間の暗号・復号回路36を実装したVirtual Channel nの再認証処理を実行して、処理を終了(ステップS13)する。   That is, when the process is started (step S10), the CPU 23 determines whether or not the re-authentication process between devices is executed in step S11. If it is determined that the process is not executed (NO), the process is ended. (Step S13). If it is determined in step S11 that re-authentication processing between devices has been executed (YES), the CPU 23 performs re-authentication processing of Virtual Channel n in which the encryption / decryption circuit 36 between devices is mounted in step S12. Then, the process is terminated (step S13).

再認証が必要となる状況として以下の場合がある。すなわち、デバイス間のデータセキュリティを確保するため、一定期間毎に再認証を行ないデバイス間の暗号アルゴリズムや暗号・復号化鍵の更新を行なう場合、または、通信経路が不安定となり、デバイス間の通信経路の再構築(PCI Express規格準拠)が実行されたことに伴ない、デバイス間に再認証が必要となった場合である。   The following situations require re-authentication. In other words, in order to ensure data security between devices, re-authentication is performed at regular intervals to update the encryption algorithm and encryption / decryption key between devices, or the communication path becomes unstable and communication between devices This is a case where re-authentication is required between devices as a result of path reconstruction (compliant with the PCI Express standard).

以上により、シリアルバスインターフェースで接続されているデバイス間で送受信されるパケットデータの暗号化行なうことが可能となる。   As described above, it is possible to encrypt packet data transmitted / received between devices connected by the serial bus interface.

なお、この発明は上記した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を種々変形して具体化することができる。また、上記した実施の形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施の形態に係る構成要素を適宜組み合わせても良いものである。   Note that the present invention is not limited to the above-described embodiments as they are, and can be embodied by variously modifying the constituent elements without departing from the scope of the invention in the implementation stage. Various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the above-described embodiments. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements according to different embodiments may be appropriately combined.

この発明の実施の形態を示すもので、バッテリ駆動可能なノートブック型のPCの外観を説明するために示す斜視図。The perspective view which shows embodiment of this invention and is shown in order to demonstrate the external appearance of the notebook-type PC which can be battery-driven. 同実施の形態におけるPCの信号処理系を説明するために示すブロック構成図。The block block diagram shown in order to demonstrate the signal processing system of PC in the embodiment. 同実施の形態におけるPC内の2つのデバイス間についてPCI Express規格に準拠した接続構成を説明するために示す図。The figure shown in order to demonstrate the connection structure based on PCI Express specification between two devices in PC in the embodiment. 同実施の形態におけるPCI Express規格のDataLink Layer間でデータの保全性を確保するために送受信を行なうDLLPを説明するために示す図。The figure shown in order to demonstrate DLLLP which transmits / receives in order to ensure the integrity of data between the DataLink Layers of the PCI Express specification in the embodiment. 同実施の形態におけるPCI Express規格のTransaction Layer間及び内部バス制御回路間でデータの送受信を行なうTLPを説明するために示す図。The figure shown in order to demonstrate TLP which transmits / receives data between the Transaction Layer of PCI Express specification in the embodiment, and between internal bus control circuits. 同実施の形態におけるPC内の2つのデバイス間について暗号化を行なわないデータ通信動作を説明するために示す図。The figure shown in order to demonstrate the data communication operation | movement which does not encrypt between the two devices in PC in the embodiment. 同実施の形態におけるPC内の2つのデバイス間について暗号化を行なうデータ通信動作を説明するために示す図。The figure shown in order to demonstrate the data communication operation | movement which encrypts between the two devices in PC in the embodiment. 同実施の形態におけるPC内の2つのデバイス間について暗号化を行なうデータ通信の管理パケットを説明するために示す図。The figure shown in order to demonstrate the management packet of the data communication which encrypts between the two devices in PC in the embodiment. 同実施の形態におけるPC内で暗号化または復号化を行なわないデータ通信動作と行なうデータ通信動作とを説明するために示すフローチャート。The flowchart shown in order to demonstrate the data communication operation | movement which does not encrypt or decode within PC in the same embodiment, and the data communication operation | movement performed. 同実施の形態におけるPC内で暗号・復号回路を実装したVirtual Channel nの初期化動作を説明するために示すフローチャート。The flowchart shown in order to demonstrate the initialization operation | movement of Virtual Channel n which mounted the encryption / decryption circuit in PC in the embodiment. 同実施の形態におけるPC内で暗号・復号回路を実装したVirtual Channel nの再認証動作を説明するために示すフローチャート。The flowchart shown in order to demonstrate the re-authentication operation | movement of Virtual Channel n which mounted the encryption / decryption circuit in PC in the embodiment.

符号の説明Explanation of symbols

11…PC、12…PC本体、13…ディスプレイユニット、14…表示画面、15…パワーボタン、16…LED表示部、17…キーボード、18…タッチパッド、19,20…ボタン、21…内蔵バッテリ、22…ACアダプタ、23…CPU、24…Root Complex、25…主メモリ、26…グラフィックスコントローラ(end point)、27…表示装置、28…PCIデバイス群28、29…PCI Expressデバイス群、30…HDD、31…BIOS−ROM、32…エンベデッドコントローラ/キーボードコントローラ(EC/KBC)、33…電源コントローラ(PSC)、34,35…PCI Expressリンク、36…暗号・復号回路、37,38…管理パケット。   DESCRIPTION OF SYMBOLS 11 ... PC, 12 ... PC main body, 13 ... Display unit, 14 ... Display screen, 15 ... Power button, 16 ... LED display part, 17 ... Keyboard, 18 ... Touch pad, 19, 20 ... Button, 21 ... Built-in battery, 22 ... AC adapter, 23 ... CPU, 24 ... Root Complex, 25 ... main memory, 26 ... graphics controller (end point), 27 ... display device, 28 ... PCI device group 28, 29 ... PCI Express device group, 30 ... HDD, 31 ... BIOS-ROM, 32 ... Embedded controller / keyboard controller (EC / KBC), 33 ... Power supply controller (PSC), 34, 35 ... PCI Express link, 36 ... Encryption / decryption circuit, 37, 38 ... Management packet .

Claims (8)

シリアルバスインターフェースで接続された第1及び第2のデバイスを備えた情報処理装置であって、
前記第1のデバイスのトランザクション層に定義された複数のバーチャルチャンネルのいずれかに備えられる第1の暗号復号手段と、
前記第2のデバイスのトランザクション層に定義された複数のバーチャルチャンネルのいずれかに備えられる第2の暗号復号手段と、
前記第1及び第2のデバイス間で暗号化によるパケットデータの通信が要求されたとき、前記第1及び第2のデバイスでそれぞれ前記第1及び第2の暗号復号手段が備えられたバーチャルチャンネルを選択し、その選択されたバーチャルチャンネル間でパケットデータの暗号化による通信を行なわせる制御手段とを具備することを特徴とする情報処理装置。
An information processing apparatus comprising first and second devices connected by a serial bus interface,
First encryption / decryption means provided in any of a plurality of virtual channels defined in the transaction layer of the first device;
Second encryption / decryption means provided in any of a plurality of virtual channels defined in the transaction layer of the second device;
When communication of packet data by encryption is requested between the first and second devices, virtual channels provided with the first and second encryption / decryption means respectively in the first and second devices are provided. An information processing apparatus comprising: control means for selecting and performing communication by encryption of packet data between the selected virtual channels.
前記制御手段は、前記第1及び第2のデバイスのうちいずれか一方のデバイスから選択されたバーチャルチャンネルに備えられている暗号復号手段でパケットデータを暗号化して出力させ、他方のデバイスから選択されたバーチャルチャンネルに備えられている暗号復号手段で暗号化パケットデータの復号化を行なわせることを特徴とする請求項1記載の情報処理装置。   The control means encrypts and outputs the packet data by the encryption / decryption means provided in the virtual channel selected from one of the first and second devices, and is selected from the other device. 2. The information processing apparatus according to claim 1, wherein the encrypted packet data is decrypted by the encryption / decryption means provided in the virtual channel. 前記第1及び第2の暗号復号手段で暗号化の対象となるパケットデータは、TLPのDataフィールドであることを特徴とする請求項1記載の情報処理装置。   2. The information processing apparatus according to claim 1, wherein the packet data to be encrypted by the first and second encryption / decryption means is a TLP Data field. 前記第1及び第2の暗号復号手段で暗号化の対象となるパケットデータは、TLPのMemoryトランザクションであることを特徴とする請求項1記載の情報処理装置。   2. The information processing apparatus according to claim 1, wherein the packet data to be encrypted by the first and second encryption / decryption means is a TLP Memory transaction. 前記制御手段は、前記第1及び第2のデバイス間における各暗号復号手段を有効にするための認証機構を制御するために管理パケットを使用することを特徴とする請求項1記載の情報処理装置。   2. The information processing apparatus according to claim 1, wherein the control means uses a management packet to control an authentication mechanism for enabling each encryption / decryption means between the first and second devices. . 前記制御手段は、前記第1及び第2のデバイス間で暗号化によるパケットデータの通信が要求されていないとき、前記第1及び第2のデバイスでそれぞれ前記第1及び第2の暗号復号手段が備えられていないバーチャルチャンネルを選択し、その選択されたバーチャルチャンネル間でパケットデータの通信を行なわせることを特徴とする請求項1記載の情報処理装置。   When the packet data communication by encryption is not requested between the first and second devices, the control means is configured so that the first and second encryption / decryption means respectively in the first and second devices. 2. The information processing apparatus according to claim 1, wherein a virtual channel that is not provided is selected, and packet data is communicated between the selected virtual channels. 前記シリアルバスインターフェースがPCI Expressに相当することを特徴とする請求項1記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the serial bus interface corresponds to PCI Express. シリアルバスインターフェースで接続された第1及び第2のデバイスを備えた情報処理装置の制御方法であって、
前記第1のデバイスのトランザクション層に定義された複数のバーチャルチャンネルのいずれかに第1の暗号復号手段を備えるとともに、前記第2のデバイスのトランザクション層に定義された複数のバーチャルチャンネルのいずれかに第2の暗号復号手段を備え、
前記第1及び第2のデバイス間で暗号化によるパケットデータの通信が要求されたとき、前記第1及び第2のデバイスでそれぞれ前記第1及び第2の暗号復号手段が備えられたバーチャルチャンネルを選択し、その選択されたバーチャルチャンネル間でパケットデータの暗号化による通信を行なわせることを特徴とする情報処理装置の制御方法。
A method for controlling an information processing apparatus including first and second devices connected by a serial bus interface,
One of the plurality of virtual channels defined in the transaction layer of the first device is provided with a first encryption / decryption means, and one of the plurality of virtual channels defined in the transaction layer of the second device. A second encryption / decryption means;
When communication of packet data by encryption is requested between the first and second devices, virtual channels provided with the first and second encryption / decryption means respectively in the first and second devices are provided. A control method for an information processing apparatus, comprising: selecting and causing communication by encryption of packet data between the selected virtual channels.
JP2006126417A 2006-04-28 2006-04-28 Information processor and control method therefor Withdrawn JP2007300370A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006126417A JP2007300370A (en) 2006-04-28 2006-04-28 Information processor and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006126417A JP2007300370A (en) 2006-04-28 2006-04-28 Information processor and control method therefor

Publications (1)

Publication Number Publication Date
JP2007300370A true JP2007300370A (en) 2007-11-15

Family

ID=38769499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006126417A Withdrawn JP2007300370A (en) 2006-04-28 2006-04-28 Information processor and control method therefor

Country Status (1)

Country Link
JP (1) JP2007300370A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014529807A (en) * 2011-08-29 2014-11-13 エーティーアイ・テクノロジーズ・ユーエルシーAti Technologiesulc Data change for device communication channel packets
US11658947B2 (en) 2018-12-07 2023-05-23 Intel Corporation Securing platform link with encryption
US11743240B2 (en) * 2019-03-08 2023-08-29 Intel Corporation Secure stream protocol for serial interconnect

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014529807A (en) * 2011-08-29 2014-11-13 エーティーアイ・テクノロジーズ・ユーエルシーAti Technologiesulc Data change for device communication channel packets
US11658947B2 (en) 2018-12-07 2023-05-23 Intel Corporation Securing platform link with encryption
US11743240B2 (en) * 2019-03-08 2023-08-29 Intel Corporation Secure stream protocol for serial interconnect

Similar Documents

Publication Publication Date Title
US9953001B2 (en) Method, apparatus, and system for plugin mechanism of computer extension bus
KR102074018B1 (en) Systems, methods, and apparatuses for synchronizing port entry into a low power state
KR101565357B1 (en) Systems, methods, and apparatuses for handling timeouts
US11106474B2 (en) System, method, and apparatus for DVSEC for efficient peripheral management
JP4594761B2 (en) Information processing apparatus and control method thereof
CN109074341B (en) Interface for reducing pin count
CN113672539A (en) Sideband signal transmission through existing auxiliary pin of interface
US8918652B2 (en) System and method for BIOS and controller communication
WO2016209353A1 (en) Authentication of a multiple protocol connection
US20180189224A1 (en) Apparatuses for periodic universal serial bus (usb) transaction scheduling at fractional bus intervals
WO2006131069A1 (en) A separate encryption/decryption equipment for plentiful data and a implementing method thereof
WO2017028711A1 (en) Method for processing data, wearable electronic equipment and system
EP4141680A1 (en) Debug data communication system for multiple chips
EP3905005A1 (en) Verified high-power transition and fast charging with pre-boot scaling
JP2007300370A (en) Information processor and control method therefor
JP2007323362A (en) Information processor and control method
JP2006352676A (en) Information processing apparatus and its control method
US20180145948A1 (en) Security network system and data processing method therefor
JP2008010956A (en) Information processor and its control means
US8645705B2 (en) Information processing device and activation control method
US20220121594A1 (en) Soc architecture to reduce memory bandwidth bottlenecks and facilitate power management
JP5085714B2 (en) Information processing apparatus and control method thereof
JP5112495B2 (en) Information processing apparatus and control method thereof
JP5075942B2 (en) Information processing apparatus and control method thereof
CN109190416A (en) A kind of flash disk data encryption Ferrying machine and method of ferrying

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081001

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20101028