JP2012174228A - Program protection device and communication apparatus - Google Patents

Program protection device and communication apparatus Download PDF

Info

Publication number
JP2012174228A
JP2012174228A JP2011038886A JP2011038886A JP2012174228A JP 2012174228 A JP2012174228 A JP 2012174228A JP 2011038886 A JP2011038886 A JP 2011038886A JP 2011038886 A JP2011038886 A JP 2011038886A JP 2012174228 A JP2012174228 A JP 2012174228A
Authority
JP
Japan
Prior art keywords
program
protection device
processor
processing
processing program
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.)
Pending
Application number
JP2011038886A
Other languages
Japanese (ja)
Inventor
Takatoshi Yoshikawa
隆敏 吉川
Mayumi Komura
真裕美 甲村
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.)
Kyocera Corp
Original Assignee
Kyocera 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 Kyocera Corp filed Critical Kyocera Corp
Priority to JP2011038886A priority Critical patent/JP2012174228A/en
Publication of JP2012174228A publication Critical patent/JP2012174228A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a program protection device capable of detecting interpolation of a program even if the interpolated program is during executing or after executing, and to provide a communication apparatus.SOLUTION: An inner RAM/PROM-B6 and an external RAM/PROM4 store a processing program for executing predetermined processing. An inner RAM/PROM-A8 stores an interpolation detecting program for detecting interpolation of the processing program. A CPU1 executes the interpolation detecting program. A CPU2 executes the processing program. An FPGA61 comprises the CPU1, the CPU2, the inner RAM/PROM-A8, the inner RAM/PROM-B6.

Description

本発明は、プログラム保護装置および通信装置に関する。   The present invention relates to a program protection device and a communication device.

従来から、プログラムの不正な読出しや改竄を阻止する装置が採用されている。たとえば、特許文献1(特開平11−39158号公報)に記載された実行プログラムの保護装置は、所定の実行プログラムが走行する前に、実行プログラムが改竄されていることを検出する改竄検出手段と、改竄検出手段において改竄が検出されると、実行プログラムの実行を直ちに停止する実行停止手段とを有する。   Conventionally, an apparatus for preventing unauthorized reading and falsification of a program has been adopted. For example, the protection device for an execution program described in Patent Document 1 (Japanese Patent Laid-Open No. 11-39158) includes falsification detection means for detecting that the execution program has been falsified before the predetermined execution program runs. When the falsification is detected by the falsification detection means, an execution stop means for immediately stopping execution of the execution program is provided.

特開平11−39158号公報JP 11-39158 A

しかしながら、特許文献1の記載の装置では、プログラムを実行するプロセッサと、プログラムの改竄を検出するプロセッサは、同一である。   However, in the apparatus described in Patent Document 1, the processor that executes the program and the processor that detects falsification of the program are the same.

したがって、プロセッサが、不正アクセス者によって改竄検出機能を無効にするように改竄されたプログラムを実行すれば、そのプロセッサは、もはやプログラムの改竄を検出することができなくなってしまう。そのため、特許文献1の装置では、プログラムを実行する前にプログラムの改竄を検出する必要があった。   Therefore, if a processor executes a program that has been altered so as to invalidate the alteration detection function by an unauthorized accessor, the processor can no longer detect alteration of the program. For this reason, the apparatus disclosed in Patent Document 1 needs to detect falsification of the program before executing the program.

それゆえに、本発明の目的は、改竄された処理プログラムを実行中または実行後であっても、処理プログラムの改竄を検出することができるプログラム保護装置、および通信装置を提供することである。   Therefore, an object of the present invention is to provide a program protection device and a communication device capable of detecting falsification of a processing program even during or after execution of the falsified processing program.

上記課題を解決するために、本発明は、プログラム保護装置であって、所定の処理を実行する処理プログラムを記憶する第1の記憶部と、処理プログラムの改竄を検出する改竄検出プログラムを記憶する第2の記憶部と、改竄検出プログラムを実行する第1のプロセッサと、処理プログラムを実行する第2のプロセッサとを備える。プログラム保護装置は、少なくとも一部の機能が、フィールドプログラマブルゲートアレイによって実現され、フィールドプログラマブルゲートアレイは、少なくとも第1のプロセッサ、第2のプロセッサ、および第2の記憶部を含む。   In order to solve the above-described problem, the present invention is a program protection device, and stores a first storage unit that stores a processing program for executing a predetermined process, and an alteration detection program that detects alteration of the processing program. A second storage unit, a first processor that executes a falsification detection program, and a second processor that executes a processing program. In the program protection device, at least a part of the functions is realized by a field programmable gate array, and the field programmable gate array includes at least a first processor, a second processor, and a second storage unit.

本発明によれば、改竄された処理プログラムを実行中または実行後であっても、処理プログラムの改竄を検出することができるプログラム保護装置、および通信装置を提供することである。   According to the present invention, there is provided a program protection device and a communication device that can detect falsification of a processing program even during or after execution of the falsified processing program.

本発明の実施形態の無線基地局の構成を表わす図である。It is a figure showing the structure of the wireless base station of embodiment of this invention. 本発明の実施形態のコンフィギュレーションデータの構成を表わす図である。It is a figure showing the structure of the configuration data of embodiment of this invention. 通信プログラム、ロジックデータ、処理プログラム#1、および処理プログラム#2によって実行される機能を表わすブロック図である。It is a block diagram showing the function performed by a communication program, logic data, processing program # 1, and processing program # 2. 本発明の実施形態のメモリマップの構成を表わす図である。It is a figure showing the structure of the memory map of embodiment of this invention. 処理プログラムの編集時のMD1A、MD1Bの作成手順を表わすフローチャートである。It is a flowchart showing the creation procedure of MD1A and MD1B at the time of editing of a processing program. CPU1の改竄検出プログラムの実行による改善検出処理手順を表わすフローチャートである。It is a flowchart showing the improvement detection process procedure by execution of the falsification detection program of CPU1. CPU2の処理手順を表わすフローチャートである。It is a flowchart showing the process sequence of CPU2.

以下、本発明の実施形態について図面を参照して説明する。
(構成)
図1は、本発明の実施形態の無線基地局の構成を表わす図である。
Embodiments of the present invention will be described below with reference to the drawings.
(Constitution)
FIG. 1 is a diagram showing the configuration of a radio base station according to the embodiment of the present invention.

図1を参照して、この無線基地局80は、第1のアンテナ12と、第2のアンテナ14と、無線回路32と、CPU(Central Processing Unit)3と、FlashROM(Read Only Memory)53と、外部RAM(Random Access Memory)/PROM(Programmable Read Only Memory)4と、FPGA(Field-Programmable Gate Array:フィールドプログラマブルゲートアレイ)61とを備える。   Referring to FIG. 1, the radio base station 80 includes a first antenna 12, a second antenna 14, a radio circuit 32, a CPU (Central Processing Unit) 3, a flash ROM (Read Only Memory) 53, and And an external RAM (Random Access Memory) / PROM (Programmable Read Only Memory) 4 and an FPGA (Field-Programmable Gate Array) 61.

この無線基地局80は、従来のアダプティブアレイ演算機能を有しない無線基地局に、アダプティブアレイ演算処理を追加したものである。アダプティブアレイ演算処理の一部については、製造業者にとってノウハウを伴うことから秘匿できることが望ましい。そのため、本実施の形態では、耐タンパ性を有するFPGA61にアダプティブアレイ演算処理を組み込むこととする。具体的には、FPGA61内のCPUが、FPGA内部のRAM/ROM内のプログラムを用いてアダプティブアレイ演算機能を実行する。また、FPGA61を追加することによって、FPGA61によるロジック処理も利用できるので、本実施の形態では、FPGA61によって従来の無線基地局の通信処理の一部も実行することとする。   The radio base station 80 is obtained by adding adaptive array calculation processing to a radio base station that does not have a conventional adaptive array calculation function. It is desirable that some of the adaptive array arithmetic processing can be concealed because it involves know-how for the manufacturer. For this reason, in this embodiment, adaptive array arithmetic processing is incorporated in the FPGA 61 having tamper resistance. Specifically, the CPU in the FPGA 61 executes an adaptive array calculation function using a program in the RAM / ROM in the FPGA. In addition, since logic processing by the FPGA 61 can be used by adding the FPGA 61, in the present embodiment, part of the communication processing of the conventional wireless base station is also executed by the FPGA 61.

あるいは、アダプティブアレイ演算機能を有する無線基地局の製造販売の依頼を受けた製造業者は、秘匿を要するアダプティブアレイ演算機能をFPGA61に組み込み、その他の通信機能をFPGA61外で処理するようにしてもよい。このようにすることで、無線基地局の購入者にアダプティブアレイ演算機能のノウハウが流出するのを防止することができる。   Alternatively, a manufacturer that has received a request to manufacture and sell a radio base station having an adaptive array calculation function may incorporate an adaptive array calculation function that requires secrecy into the FPGA 61 and process other communication functions outside the FPGA 61. . By doing in this way, it can prevent that the know-how of an adaptive array calculation function leaks out to the purchaser of a radio base station.

FPGA61は、ロジック部62と、CPU1と、CPU2と、内部RAM/PROM−A8と、内部RAM/PROM−B6と備える。   The FPGA 61 includes a logic unit 62, a CPU 1, a CPU 2, an internal RAM / PROM-A8, and an internal RAM / PROM-B6.

無線回路32は、無線周波数帯にアップコンバートするアップコンバータ、アップコンバートされた信号を増幅する電力増幅回路、増幅された信号のうち所望帯域の信号成分のみを通過させて第1のアンテナ12および第2のアンテナ14へ出力するバンドパスフィルタなどを含む。また、無線回路32は、第1のアンテナ12および第2のアンテナ14から出力される信号のうち所望帯域の信号成分のみを通過させるバンドパスフィルタ、RF信号を増幅する低雑音増幅回路、RF信号をダウンコンバートするダウンコータなどを含む。   The radio circuit 32 includes an up-converter that up-converts to a radio frequency band, a power amplification circuit that amplifies the up-converted signal, a first antenna 12 and a 2 including a band-pass filter that outputs to the second antenna 14. The radio circuit 32 includes a band-pass filter that passes only a signal component in a desired band among signals output from the first antenna 12 and the second antenna 14, a low-noise amplifier circuit that amplifies an RF signal, and an RF signal Including a down coater that down-converts.

無線回路32へ出力する送信信号の処理、無線回路32から出力される受信信号の処理は、CPU1、CPU2、CPU3、およびロジック部62で行なわれる。   Processing of the transmission signal output to the wireless circuit 32 and processing of the reception signal output from the wireless circuit 32 are performed by the CPU 1, CPU 2, CPU 3, and logic unit 62.

FlashROM53は、暗号化されたコンフィギュレーションデータを記憶する。
図2は、本発明の実施形態のコンフィギュレーションデータの構成を表わす図である。
The flash ROM 53 stores the encrypted configuration data.
FIG. 2 is a diagram showing a configuration of configuration data according to the embodiment of the present invention.

コンフィギュレーションデータは、ロジックデータとCPUデータとが結合されたデータである。ロジックデータは、FPGA61のロジックデバイスの設計データである。   Configuration data is data in which logic data and CPU data are combined. The logic data is design data for the logic device of the FPGA 61.

CPUデータは、CPU1で利用されるCPU1データおよびCPU2で利用されるCPU2データからなる。   CPU data consists of CPU1 data used by CPU1 and CPU2 data used by CPU2.

CPU1データは、改竄検出プログラムと、MD1A、MD2Aとからなる。
改竄検出プログラムは、処理プログラム#1と処理プログラム#2の改竄を検出する。
The CPU1 data includes a falsification detection program and MD1A and MD2A.
The falsification detection program detects falsification of the processing program # 1 and the processing program # 2.

MD1Aは、処理プログラム#1を編集する際に作成された処理プログラム#1のMD(メッセージ・ダイジェスト)である。   MD1A is an MD (message digest) of the processing program # 1 created when the processing program # 1 is edited.

MD2Aは、処理プログラム#2を編集する際に作成された処理プログラム#2のMD(メッセージ・ダイジェスト)である。   MD2A is MD (message digest) of processing program # 2 created when processing program # 2 is edited.

ここで、メッセージ・ダイジェストは、一方向ハッシュ関数を使った演算によって、プログラム(原文)から生成されるデータである。プログラムが改竄された場合に、改竄前後で、メッセージ・ダイジェストが変化する。   Here, the message digest is data generated from a program (original text) by an operation using a one-way hash function. When the program is altered, the message digest changes before and after the alteration.

CPU2データは、処理プログラム#1と処理プログラム#2とからなる。
CPU2で処理する処理プログラムを処理プログラム#1と処理プログラム#2に分けたのは、処理プログラムの容量が、FPGA61内の内部RAM/PROM−B6の容量よりも大きいので、処理プログラム全体をFPGA61内の内部RAM/PROM−B6に記憶できないからである。それゆえ、本実施の形態では、処理プログラムを秘匿性が要求される処理プログラム#1と秘匿性が要求されない処理プログラム#2に分割して、処理プログラム#1を耐タンパ性が相対的に高いFPGA61内の内部RAM/PROM−B6に記憶し、処理プログラム#2を耐タンパ性が相対的に低い外部RAM/PROM4に記憶する。処理プログラム#1と処理プログラム#2の内容については、後述する。
The CPU2 data includes processing program # 1 and processing program # 2.
The reason why the processing program to be processed by the CPU 2 is divided into the processing program # 1 and the processing program # 2 is that the capacity of the processing program is larger than the capacity of the internal RAM / PROM-B6 in the FPGA 61. This is because it cannot be stored in the internal RAM / PROM-B6. Therefore, in this embodiment, the processing program is divided into the processing program # 1 that requires confidentiality and the processing program # 2 that does not require confidentiality, and the processing program # 1 has relatively high tamper resistance. The program is stored in the internal RAM / PROM-B6 in the FPGA 61, and the processing program # 2 is stored in the external RAM / PROM 4 having relatively low tamper resistance. The contents of processing program # 1 and processing program # 2 will be described later.

外部RAM/PROM4は、CPU3で実行される通信制御プログラムを記憶する。外部RAM/PROM4は、さらに、コンフィギュレーションデータが復号されることによって得られる処理プログラム#2を記憶する。処理プログラム#2は、秘匿性が相対的に低いプログラムであるので、FPGA61の外の改竄および窃取の可能性が相対的に高いメモリであるFPGA61の外部のメモリに記憶される。処理プログラム#2は、秘匿性が相対的に低いプログラムであるが、これが改竄され、改竄された処理プログラム#2を実行したCPUは、改竄者の意図する不正な処理を実行し、処理プログラム#1を外部に出力したりするおそれがある。これを防止するために、本実施の形態では、改竄プログラムと、処理プログラム#1、#2を実行するCPUを別個のものにする。   The external RAM / PROM 4 stores a communication control program executed by the CPU 3. The external RAM / PROM 4 further stores a processing program # 2 obtained by decoding the configuration data. Since the processing program # 2 is a program with relatively low confidentiality, the processing program # 2 is stored in a memory outside the FPGA 61, which is a memory with a relatively high possibility of tampering and theft outside the FPGA 61. The processing program # 2 is a program with relatively low confidentiality. However, when the processing program # 2 is altered, the CPU that has executed the altered processing program # 2 executes an illegal process intended by the tamper, and the processing program # 1 may be output to the outside. In order to prevent this, in the present embodiment, the falsification program and the CPU that executes the processing programs # 1 and # 2 are made separate.

FlashROM53から、FPGA61へは暗号化されたコンフィギュレーションデータが送られ、FPGA61側で暗号化されたコンフィギュレーションデータを復号する。したがって、コンフィギュレーションデータのFPGA61の伝送は、秘匿の危険性は比較的少ない。   The encrypted configuration data is sent from the Flash ROM 53 to the FPGA 61, and the encrypted configuration data is decrypted on the FPGA 61 side. Therefore, transmission of configuration data from the FPGA 61 has a relatively low risk of secrecy.

ロジック部62は、ロジックデータが展開されて、論理処理を実行する。
内部RAM/PROM−A8は、コンフィギュレーションデータが復号されることによって得られる改竄検出プログラム、MD1A、およびMD2Aを記憶する。内部RAM/PROM−B6は、さらに、MD1B、およびMD2Bを記憶する。
The logic unit 62 develops logic data and executes logic processing.
The internal RAM / PROM-A8 stores a falsification detection program, MD1A, and MD2A obtained by decoding configuration data. The internal RAM / PROM-B6 further stores MD1B and MD2B.

MD1Bは、改竄検出プログラムを実行することによって作成された処理プログラム#1のMD(メッセージ・ダイジェスト)である。   MD1B is MD (message digest) of processing program # 1 created by executing the falsification detection program.

MD2Bは、改竄検出プログラムを実行することによって作成された処理プログラム#2のMD(メッセージ・ダイジェスト)である。   MD2B is MD (message digest) of processing program # 2 created by executing the falsification detection program.

内部RAM/PROM−B6は、コンフィギュレーションデータが復号されることによって得られる処理プログラム#1を記憶する。処理プログラム#1は、秘匿性が要求されるプログラムであるので、FPGA61内の窃取の可能性が相対的に低いメモリに記憶される。   The internal RAM / PROM-B6 stores a processing program # 1 obtained by decoding the configuration data. Since the processing program # 1 is a program that requires confidentiality, the processing program # 1 is stored in a memory in which the possibility of theft in the FPGA 61 is relatively low.

CPU3は、外部RAM/PROM4に記憶された通信制御プログラムを実行する。
CPU1は、内部RAM/PROM−A8に記憶された改竄検出プログラムを実行する。改竄検出プログラムはFPGA61内にあるので改竄される危険性が少ない。仮に、CPU1が、改竄された改竄検出プログラムを実行した場合には、制御が不正アクセス者に乗っ取られる危険性があるが、本実施の形態では、改竄検出プログラムを改竄されるのを防止することによって、そのような危険性を排除している。
The CPU 3 executes a communication control program stored in the external RAM / PROM 4.
The CPU 1 executes a falsification detection program stored in the internal RAM / PROM-A8. Since the falsification detection program is in the FPGA 61, there is little risk of falsification. If the CPU 1 executes a falsification detection program that has been falsified, there is a risk that control may be taken over by an unauthorized person. In this embodiment, the falsification detection program is prevented from being falsified. Eliminates such dangers.

CPU2は、内部RAM/PROM−B6に記憶された処理プログラム#1および外部RAM/PROM4に記憶された処理プログラム#2を実行する。   The CPU 2 executes the processing program # 1 stored in the internal RAM / PROM-B6 and the processing program # 2 stored in the external RAM / PROM 4.

図3は、通信プログラム、ロジックデータ、処理プログラム#1、および処理プログラム#2によって実行される機能を表わすブロック図である。   FIG. 3 is a block diagram showing functions executed by the communication program, logic data, processing program # 1, and processing program # 2.

図3を参照して、CPU3が、外部RAM/PROM4に記憶された通信制御プログラムを実行し、FPGA61内のロジック部62がロジックデータによって設定された論理処理を実行することによって、CP(Cyclic Prefix)除去部18と、FFT(Fast Fourier Transform)部20と、イコライザ26と、復調部28と、制御部30と、変調部40と、IFFT部36と、CP付加部34の機能を実行する。   Referring to FIG. 3, CPU 3 executes a communication control program stored in external RAM / PROM 4, and logic unit 62 in FPGA 61 executes a logic process set by logic data, whereby CP (Cyclic Prefix) is executed. ) The functions of the removal unit 18, the FFT (Fast Fourier Transform) unit 20, the equalizer 26, the demodulation unit 28, the control unit 30, the modulation unit 40, the IFFT unit 36, and the CP addition unit 34 are executed.

CP除去部18は、無線回路32から出力される信号からCPを除去する。
FFT部20は、CP除去部18から出力される時間領域の信号をFFTによって、周波数領域の信号に変換して、複数のサブキャリアに復調する。
The CP removing unit 18 removes the CP from the signal output from the wireless circuit 32.
The FFT unit 20 converts the time domain signal output from the CP removing unit 18 into a frequency domain signal by FFT and demodulates the signal into a plurality of subcarriers.

イコライザ26は、伝送路の特性によって変化を受けた受信信号の波形の復元や変化の最小化を目的に、受信信号の周波数特性を調整する。   The equalizer 26 adjusts the frequency characteristics of the received signal for the purpose of restoring the waveform of the received signal that has been changed by the characteristics of the transmission path and minimizing the change.

復調部28は、受信信号を復調する。
変調部40は、送信信号を変調する。
The demodulator 28 demodulates the received signal.
The modulation unit 40 modulates the transmission signal.

IFFT部36は、複数のサブキャリア信号(周波数領域の信号)をIFFTによって、時間領域の信号(OFDMA(Orthogonal Frequency Division Multiple Access)シンボル)に変換する。   The IFFT unit 36 converts a plurality of subcarrier signals (frequency domain signals) into time domain signals (OFDMA (Orthogonal Frequency Division Multiple Access) symbols) by IFFT.

CP付加部34は、OFDMAシンボルの後尾部分と同じ信号をCPとしてOFDMAシンボルの先頭に付加する。   The CP adding unit 34 adds the same signal as the tail part of the OFDMA symbol to the beginning of the OFDMA symbol as a CP.

制御部30は、上述の各機能部の実行を制御する。
CPU2は、処理プログラム#1を実行することによって、ウエイト算出部24および受信重み付け部22として機能する。また、CPU2は、処理プログラム#2を実行することによって、送信重み付け部38として機能する。
The control unit 30 controls execution of the above-described functional units.
The CPU 2 functions as the weight calculation unit 24 and the reception weighting unit 22 by executing the processing program # 1. Further, the CPU 2 functions as the transmission weighting unit 38 by executing the processing program # 2.

ウエイト算出部24は、第1のアンテナ12および第2のアンテナ14で受信し、無線回路32で処理されたトレーニング信号から伝送路を推定して、ウエイトベクトルを算出する。   The weight calculation unit 24 estimates the transmission path from the training signal received by the first antenna 12 and the second antenna 14 and processed by the radio circuit 32, and calculates a weight vector.

受信重み付け部22は、第1のアンテナ12および第2のアンテナ14で受信し無線回路32で処理された受信信号をウエイト算出部24で算出されたウエイトベクトルで重み付け加算する。   The reception weighting unit 22 weights and adds the reception signal received by the first antenna 12 and the second antenna 14 and processed by the radio circuit 32 using the weight vector calculated by the weight calculation unit 24.

送信重み付け部38は、外部から供給された送信信号をウエイト算出部24で算出されたウエイトベクトルで重み付けして、第1のアンテナ12および第2のアンテナ14へ供給する。   The transmission weighting unit 38 weights the transmission signal supplied from the outside with the weight vector calculated by the weight calculation unit 24 and supplies the weighted signal to the first antenna 12 and the second antenna 14.

(メモリマップの構成)
図4は、本発明の実施形態のメモリマップの構成を表わす図である。
(Memory map configuration)
FIG. 4 is a diagram showing the configuration of the memory map according to the embodiment of the present invention.

図4を参照して、CPU1は、内部RAM/PROM−A8に格納された改竄検出プログラム、実行停止プログラム、MD1A、MD2A、MD1B、MD2Bにアクセスする。   Referring to FIG. 4, CPU 1 accesses the falsification detection program, execution stop program, MD1A, MD2A, MD1B, and MD2B stored in internal RAM / PROM-A8.

CPU2は、外部RAM/PROM4に記憶された処理プログラム#2と内部RAM/PROM−B6に記憶された処理プログラム#1にアクセスする。   The CPU 2 accesses the processing program # 2 stored in the external RAM / PROM 4 and the processing program # 1 stored in the internal RAM / PROM-B6.

(動作)
図5は、処理プログラムの編集時のMD1A、MD1Bの作成手順を表わすフローチャートである。
(Operation)
FIG. 5 is a flowchart showing a procedure for creating MD1A and MD1B when editing a processing program.

まず、編集装置のCPUは、処理プログラム#1をRAMへロードする(ステップS101)。   First, the CPU of the editing apparatus loads the processing program # 1 into the RAM (Step S101).

次に、編集装置のCPUは、ロードした処理プログラム#1のMD(MD1Aとする)を作成する(ステップS102)。   Next, the CPU of the editing apparatus creates the MD (MD1A) of the loaded processing program # 1 (step S102).

次に、編集装置のCPUは、作成した処理プログラム#1のMDであるMD1Aをコンフィギュレーションデータの一部として組込む(ステップS103)。   Next, the CPU of the editing apparatus incorporates MD1A, which is the MD of the created processing program # 1, as part of the configuration data (step S103).

次に、編集装置のCPUは、処理プログラム#2をRAMへロードする(ステップS104)。   Next, the CPU of the editing apparatus loads the processing program # 2 into the RAM (step S104).

次に、編集装置のCPUは、ロードした処理プログラム#2のMD(MD2Aとする)を作成する(ステップS105)。   Next, the CPU of the editing apparatus creates an MD (referred to as MD2A) of the loaded processing program # 2 (step S105).

次に、編集装置のCPUは、作成した処理プログラム#2のMDであるMD2Aをコンフィギュレーションデータとの一部として組込む(ステップS106)。   Next, the CPU of the editing apparatus incorporates MD2A, which is the MD of the created processing program # 2, as part of the configuration data (step S106).

(CPU1の動作)
図6は、CPU1の改竄検出プログラムの実行による改善検出処理手順を表わすフローチャートである。
(Operation of CPU 1)
FIG. 6 is a flowchart showing an improvement detection processing procedure by execution of the falsification detection program of CPU 1.

まず、パワーオンリセットがあったとき(ステップS201でYES)、システムがリセットされたとき(ステップS202でYES)、または実行タイミング時に(ステップS203でYES)、CPU1は、処理プログラム#1のMD(MD1Bとする)を作成して、内部RAM/PROM−A8に記憶する(ステップS204)。   First, when there is a power-on reset (YES in step S201), when the system is reset (YES in step S202), or at the execution timing (YES in step S203), the CPU 1 determines the MD ( MD1B) is created and stored in the internal RAM / PROM-A8 (step S204).

CPU1は、内部RAM/PROM−A8に記憶されたMD1AとMD1Bとが1ビットでも異なる場合には(ステップS205でNO)、CPU2に停止を指示する(ステップS208)。   If the MD1A and MD1B stored in the internal RAM / PROM-A8 are different even by 1 bit (NO in step S205), the CPU1 instructs the CPU2 to stop (step S208).

CPU1は、改竄検出プログラムを実行することによって、MD1AとMD1Bとが同一の場合には(ステップS205でYES)、さらに、処理プログラム#2のMD(MD2Bとする)を作成して、内部RAM/PROM−A8に記憶する(ステップS206)。   When the MD1A and MD1B are the same by executing the falsification detection program (YES in step S205), the CPU 1 further creates the MD of the processing program # 2 (referred to as MD2B) and stores the internal RAM / Store in the PROM-A8 (step S206).

CPU1は、内部RAM/PROM−A8に記憶されたMD2AとMD2Bとが1ビットでも異なる場合には(ステップS207でNO)、CPU2に停止を指示する(ステップS208)。   When the MD2A and the MD2B stored in the internal RAM / PROM-A8 are different by 1 bit (NO in step S207), the CPU1 instructs the CPU2 to stop (step S208).

(CPU2の動作)
図7は、CPU2の処理手順を表わすフローチャートである。
(Operation of CPU2)
FIG. 7 is a flowchart showing the processing procedure of the CPU 2.

図7を参照して、CPU2は、CPU1から停止指示がない場合には(ステップS301でNO)、処理プログラム#1と処理プログラム#2を実行する(ステップS302)。   Referring to FIG. 7, when there is no stop instruction from CPU 1 (NO in step S301), CPU 2 executes processing program # 1 and processing program # 2 (step S302).

CPU2は、CPU1から停止指示があった場合には(ステップS301でYES)、処理プログラム#1と処理プログラム#2の実行を停止する(ステップS303)。   If there is a stop instruction from CPU 1 (YES in step S301), CPU 2 stops execution of processing program # 1 and processing program # 2 (step S303).

以上のように、本実施の形態によれば、改竄検出プログラムと、処理プログラムとを別個のCPUで実行することによって、改竄された処理プログラムを実行中または実行後であっても、処理プログラムの改竄を検出することができる。   As described above, according to the present embodiment, the falsification detection program and the processing program are executed by separate CPUs, so that the processing program can be executed even during or after execution of the falsified processing program. Tampering can be detected.

(変形例)
本発明の実施形態では、CPU3が、外部RAM/PROM4に記憶された通信制御プログラムを実行し、FPGA61内のロジック部62がロジックデータによって設定された論理処理を実行することによって、従来の無線基地局の機能(CP除去部と、FFT部と、イコライザと、復調部と、制御部と、変調部と、IFFT部と、CP付加部)を実行することとしたが、これに限定するものではない。
(Modification)
In the embodiment of the present invention, the CPU 3 executes the communication control program stored in the external RAM / PROM 4, and the logic unit 62 in the FPGA 61 executes the logic process set by the logic data. The station functions (CP removal unit, FFT unit, equalizer, demodulation unit, control unit, modulation unit, IFFT unit, and CP addition unit) are executed, but the present invention is not limited to this. Absent.

すなわち、FPGA61にロジックデータによる論理処理を実行させないこととし、CPU3が、外部RAM/PROM4に記憶された通信制御プログラムを実行することによって、上述の従来の無線基地局の機能を実行することとしてもよい。このようにした場合には、FPGA61は、アダプティブアレイ演算処理とプログラムの改竄検出処理とを専ら担当することになるので、従来の無線基地局の装置にFPGA61およびFlashROM53を取り付けるだけで、耐タンパ性を有するアダプティブアレイ演算処理を追加することができる。また、この無線基地局の利用者が、アダプティブアレイ演算機能を利用したくない場合には、無線基地局の装置からFPGA61およびFlashROM53を取り外せばよい。   That is, it is assumed that the FPGA 61 does not execute logic processing based on logic data, and the CPU 3 executes the communication control program stored in the external RAM / PROM 4 to execute the function of the above-described conventional radio base station. Good. In such a case, the FPGA 61 is exclusively responsible for adaptive array arithmetic processing and program falsification detection processing. Therefore, by simply installing the FPGA 61 and the Flash ROM 53 in a conventional radio base station device, the tamper resistance is improved. Can be added. If the user of the radio base station does not want to use the adaptive array calculation function, the FPGA 61 and the Flash ROM 53 may be removed from the radio base station device.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

1〜3 CPU、4 外部RAM/PROM、6 内部RAM/PROM−B、8 内部RAM/PROM−A、12,14 アンテナ、18 CP除去部、20 FFT部、22 受信重み付け部、24 ウエイト算出部、26 イコライザ、28 復調部、30 制御部、32 無線回路、34 CP付加部、36 IFFT部、38 送信重み付け部、40 変調部、53 FlashROM、61 FPGA、62 ロジック部、80 無線基地局。   1-3 CPU, 4 external RAM / PROM, 6 internal RAM / PROM-B, 8 internal RAM / PROM-A, 12, 14 antenna, 18 CP removal unit, 20 FFT unit, 22 reception weighting unit, 24 weight calculation unit , 26 Equalizer, 28 Demodulation unit, 30 Control unit, 32 Radio circuit, 34 CP addition unit, 36 IFFT unit, 38 Transmission weighting unit, 40 Modulation unit, 53 FlashROM, 61 FPGA, 62 Logic unit, 80 Radio base station.

Claims (8)

プログラム保護装置であって、
所定の処理を実行する処理プログラムを記憶する第1の記憶部と、
前記処理プログラムの改竄を検出する改竄検出プログラムを記憶する第2の記憶部と、
前記改竄検出プログラムを実行する第1のプロセッサと、
前記処理プログラムを実行する第2のプロセッサとを備え、
前記プログラム保護装置は、少なくとも一部の機能が、フィールドプログラマブルゲートアレイによって実現され、
前記フィールドプログラマブルゲートアレイは、少なくとも前記第1のプロセッサ、前記第2のプロセッサ、および前記第2の記憶部を含む、プログラム保護装置。
A program protector comprising:
A first storage unit for storing a processing program for executing a predetermined process;
A second storage unit for storing a falsification detection program for detecting falsification of the processing program;
A first processor that executes the falsification detection program;
A second processor for executing the processing program,
In the program protection device, at least a part of functions are realized by a field programmable gate array,
The field programmable gate array is a program protection device including at least the first processor, the second processor, and the second storage unit.
前記第1のプロセッサは、前記改竄検出プログラムを実行することによって、前記処理プログラムの改竄が検出された場合に、前記第2のプロセッサに対して停止指示を送り、
前記第2のプロセッサは、前記第1のプロセッサから停止指示を受けたときには、前記処理プログラムの実行を停止する、請求項1記載のプログラム保護装置。
When the falsification of the processing program is detected by executing the falsification detection program, the first processor sends a stop instruction to the second processor;
The program protection device according to claim 1, wherein the second processor stops execution of the processing program when receiving a stop instruction from the first processor.
前記処理プログラムは、秘匿性が要求される第1のプログラムと、秘匿性が要求されない第2のプログラムとから構成され、
前記第1の記憶部は、前記フィールドプログラマブルゲートアレイ内の内部メモリと、前記フィールドプログラマブルゲートアレイ外の外部メモリで構成され、
前記第1のプログラムは、前記内部メモリに記憶され、
前記第2のプログラムは、前記外部メモリに記憶される、請求項1記載のプログラム保護装置。
The processing program includes a first program that requires confidentiality and a second program that does not require confidentiality.
The first storage unit includes an internal memory in the field programmable gate array and an external memory outside the field programmable gate array,
The first program is stored in the internal memory;
The program protection device according to claim 1, wherein the second program is stored in the external memory.
前記第2の記憶部は、前記第1のプログラムの編集時に作成された前記第1のプログラムのメッセージ・ダイジェストである第1のメッセージ・ダイジェストを記憶し、
前記第1のプロセッサは、前記改竄検出プログラムを実行することによって、前記第1のプログラムのメッセージダイジェストである第2のメッセージ・ダイジェストを作成し、前記第2の記憶部内の前記第1のメッセージ・ダイジェストと前記第2のメッセージ・ダイジェストが一致するか否かによって、前記第1のプログラムの改竄を検出する、請求項3記載のプログラム保護装置。
The second storage unit stores a first message digest that is a message digest of the first program created when the first program is edited,
The first processor creates a second message digest that is a message digest of the first program by executing the falsification detection program, and the first message in the second storage unit. 4. The program protection device according to claim 3, wherein falsification of the first program is detected based on whether or not the digest and the second message digest match.
前記第2の記憶部は、前記第2のプログラムの編集時に作成された前記第2のプログラムのメッセージ・ダイジェストである第1のメッセージ・ダイジェストを記憶し、
前記第1のプロセッサは、前記改竄検出プログラムを実行することによって、前記第2のプログラムのメッセージダイジェストである第2のメッセージ・ダイジェストを作成し、前記第2の記憶部内の前記第1のメッセージ・ダイジェストと前記第2のメッセージ・ダイジェストが一致するか否かによって、前記第2のプログラムの改竄を検出する、請求項3記載のプログラム保護装置。
The second storage unit stores a first message digest that is a message digest of the second program created when the second program is edited,
The first processor executes the falsification detection program to create a second message digest that is a message digest of the second program, and the first message in the second storage unit. The program protection device according to claim 3, wherein tampering of the second program is detected based on whether or not the digest and the second message digest match.
前記プログラム保護装置は、通信装置内に設けられ、
前記処理プログラムは、複数のアンテナを用いたアダプティブアレイ演算処理を実行するプログラムである、請求項3記載のプログラム保護装置。
The program protection device is provided in a communication device,
The program protection device according to claim 3, wherein the processing program is a program that executes adaptive array arithmetic processing using a plurality of antennas.
前記第1のプログラムは、前記複数のアンテナで受信した信号からウエイトベクトルを算出する処理と、前記複数のアンテナで受信した受信信号を前記ウエイトベクトルで重み付け加算する処理とを実行するプログラムであり、
前記第2のプログラムは、送信信号を前記ウエイトベクトルで重み付けして、複数のアンテナへ供給する処理を実行するプログラムである、請求項6記載のプログラム保護装置。
The first program is a program for executing a process of calculating a weight vector from signals received by the plurality of antennas, and a process of weighting and adding received signals received by the plurality of antennas by the weight vector,
The program protection device according to claim 6, wherein the second program is a program that executes a process of weighting a transmission signal with the weight vector and supplying the weighted signal to a plurality of antennas.
複数のアンテナと、
前記複数のアンテナと接続された無線回路と、
請求項6または7に記載のプログラム保護装置とを備える、通信装置。
Multiple antennas,
A radio circuit connected to the plurality of antennas;
A communication device comprising the program protection device according to claim 6.
JP2011038886A 2011-02-24 2011-02-24 Program protection device and communication apparatus Pending JP2012174228A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011038886A JP2012174228A (en) 2011-02-24 2011-02-24 Program protection device and communication apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011038886A JP2012174228A (en) 2011-02-24 2011-02-24 Program protection device and communication apparatus

Publications (1)

Publication Number Publication Date
JP2012174228A true JP2012174228A (en) 2012-09-10

Family

ID=46977038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011038886A Pending JP2012174228A (en) 2011-02-24 2011-02-24 Program protection device and communication apparatus

Country Status (1)

Country Link
JP (1) JP2012174228A (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1139158A (en) * 1997-07-18 1999-02-12 Nippon Telegr & Teleph Corp <Ntt> Method for protecting executed program and its device
JP2003283403A (en) * 2002-03-27 2003-10-03 Sanyo Electric Co Ltd Adaptive array arithmetic processing apparatus, wireless receiver for mount on the adaptive array arithmetic processing apparatus, and antenna input signal control method for the adaptive array arithmetic processing apparatus
JP2004129227A (en) * 2002-07-30 2004-04-22 Fujitsu Ltd Information reproducing apparatus, secure module, and information regeneration method
WO2005096121A1 (en) * 2004-04-02 2005-10-13 Matsushita Electric Industrial Co., Ltd. Execution device
JP2008056700A (en) * 2000-06-02 2008-03-13 Pfizer Prod Inc S-methyl-dihydro-ziprasidone for treatment of psychiatric and ocular disorders
WO2008078564A1 (en) * 2006-12-22 2008-07-03 Panasonic Corporation Information processing device, integrated circuit, method, and program
JP2009013825A (en) * 2007-07-03 2009-01-22 Shimadzu Corp Vacuum pump

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1139158A (en) * 1997-07-18 1999-02-12 Nippon Telegr & Teleph Corp <Ntt> Method for protecting executed program and its device
JP2008056700A (en) * 2000-06-02 2008-03-13 Pfizer Prod Inc S-methyl-dihydro-ziprasidone for treatment of psychiatric and ocular disorders
JP2003283403A (en) * 2002-03-27 2003-10-03 Sanyo Electric Co Ltd Adaptive array arithmetic processing apparatus, wireless receiver for mount on the adaptive array arithmetic processing apparatus, and antenna input signal control method for the adaptive array arithmetic processing apparatus
JP2004129227A (en) * 2002-07-30 2004-04-22 Fujitsu Ltd Information reproducing apparatus, secure module, and information regeneration method
WO2005096121A1 (en) * 2004-04-02 2005-10-13 Matsushita Electric Industrial Co., Ltd. Execution device
JP2007226277A (en) * 2004-04-02 2007-09-06 Matsushita Electric Ind Co Ltd Method and apparatus for virtual machine alteration inspection
WO2008078564A1 (en) * 2006-12-22 2008-07-03 Panasonic Corporation Information processing device, integrated circuit, method, and program
JP2009013825A (en) * 2007-07-03 2009-01-22 Shimadzu Corp Vacuum pump

Similar Documents

Publication Publication Date Title
US9858424B1 (en) System and method for protecting systems from active content
CN102110210B (en) Trusted graphics rendering for safer browsing on mobile devices
EP3039897B1 (en) Adaptive security indicator for wireless devices
KR101660135B1 (en) Device, system and method of processing a received alert
GB2547921A (en) Preventing misuse of code signing certificates
US10187428B2 (en) Identifying data usage via active data
CA3021094A1 (en) Using hardware based secure isolated region to prevent piracy and cheating on electronic devices
CN109564598A (en) A kind of endpoint detection methods and terminal
CN106548065B (en) Application program installation detection method and device
US11290469B2 (en) Methods and apparatus to detect and prevent host firewall bypass threats through a data link layer
CN104021342A (en) Method and device for processing application program
US8938805B1 (en) Detection of tampering with software installed on a processing device
Li et al. An architecture for secure software defined radio
US20060225071A1 (en) Mobile communications terminal having a security function and method thereof
JP2012174228A (en) Program protection device and communication apparatus
US9698983B2 (en) Method and apparatus for disabling algorithms in a device
US9693224B2 (en) Restricting software to authorized wireless environments
EP4020283A1 (en) Threat prevention by selective feature deprivation
US20140366156A1 (en) Method and device for protecting privacy information with browser
CN111030982B (en) Strong management and control method, system and storage medium for confidential files
EP2858336B1 (en) System and method for preventing mobile terminal from abnormal uploading of information
CN114035812A (en) Application software installation and/or operation method, device, electronic equipment and storage medium
CN111083134A (en) Industrial control system communication encryption method and device, electronic equipment and storage medium
KR20140017457A (en) Method of gaining secure access to a service
CN109325343B (en) Java program execution method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140902

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150120