JPWO2016067473A1 - セキュリティシステム及びコンピュータ機器間の通信方法 - Google Patents

セキュリティシステム及びコンピュータ機器間の通信方法 Download PDF

Info

Publication number
JPWO2016067473A1
JPWO2016067473A1 JP2016556173A JP2016556173A JPWO2016067473A1 JP WO2016067473 A1 JPWO2016067473 A1 JP WO2016067473A1 JP 2016556173 A JP2016556173 A JP 2016556173A JP 2016556173 A JP2016556173 A JP 2016556173A JP WO2016067473 A1 JPWO2016067473 A1 JP WO2016067473A1
Authority
JP
Japan
Prior art keywords
output data
unit
program
trm
module
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.)
Granted
Application number
JP2016556173A
Other languages
English (en)
Other versions
JP6547756B2 (ja
Inventor
清之 小檜山
清之 小檜山
橋本 伸
伸 橋本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2016067473A1 publication Critical patent/JPWO2016067473A1/ja
Application granted granted Critical
Publication of JP6547756B2 publication Critical patent/JP6547756B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/561Virus type analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/86Secure or tamper-resistant housings
    • G06F21/87Secure or tamper-resistant housings by means of encapsulation, e.g. for integrated circuits
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2123Dummy operation
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • G07C2009/00412Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks the transmitted data signal being encrypted

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Bioethics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Alarm Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

PC(110)は、PC(110)上で動作するプログラムのうち監視対象とする第1のプログラムを保護し、第1のプログラムからの出力データが暗号化された暗号化データを復号化し、復号化された出力データを暗号化し、暗号化された出力データの暗号化データを扉コントローラ(160)へ伝送する。扉コントローラ(160)は、扉コントローラ(160)上で動作するプログラムのうち監視対象とする第2のプログラムを保護し、伝送された出力データの暗号化データを復号化し、復号化された出力データを暗号化し、暗号化された出力データの暗号化データを第2のプログラムへ出力する。

Description

本発明は、セキュリティシステム及びコンピュータ機器間の通信方法に関する。
インターネット機器の広がりと共に、インターネット接続あるいはインターネット接続技術を流用したシステムが普及している。1つの理由として、インターネット関連技術の普及が目覚ましく、大量生産されたインターネット関連技術を流用することで安価にシステムを組むことができる点が挙げられる。
一方、多数の違法侵入、違法アクセス制御などが発生しており、これらに対抗するためのセキュリティシステムが構築されている。これらのセキュリティシステムを構築する場合にも、上記の理由からインターネット技術を流用する場合が多い。
一般に、各種のコンピュータウィルスからコンピュータ機器を保護するために、ウィルス対策ソフトなどがシステムに含まれるコンピュータ機器にインストールされる場合がある。
特開2008−118265号公報 特開2009−205627号公報 特開2012−234362号公報 特開2012−38222号公報
しかしながら、インターネット関連技術は、大量生産されているので、その仕様が多数の人間によって認識されている。このため、これらのインターネット関連技術で構築されたセキュリティシステムは、上記のウィルス対策ソフトなどの対策を講じたとしても、セキュリティが破られる可能性が依然として残る。そして、複数のコンピュータ機器によりシステムが構築される場合、一部のコンピュータ機器がウィルスに感染すると、その悪影響がシステムの各所に派生することもある。
1つの側面では、クラッキングによる悪影響がシステムの各所に派生するのを抑制できるセキュリティシステム及びコンピュータ機器間の通信方法を提供することを目的とする。
一態様のセキュリティシステムは、第1の装置及び第2の装置を含むセキュリティシステムであって、前記第1の装置は、前記第1の装置上で動作するプログラムのうち監視対象とする第1のプログラムを保護する第1保護部と、前記第1のプログラムからの出力データが暗号化された暗号化データを復号化する第1復号部と、復号化された出力データを暗号化して該出力データの暗号化データを前記第1の装置とは異なる第2の装置へ伝送させる第1暗号部とを有し、前記第2の装置は、前記第2の装置上で動作するプログラムのうち監視対象とする第2のプログラムを保護する第2保護部と、伝送された出力データの暗号化データを復号化する第2復号部と、復号化された出力データを暗号化して該出力データの暗号化データを前記第2のプログラムへ出力する第2暗号部とを有する。
クラッキングによる悪影響がシステムの各所に派生するのを抑制できる。
図1は、実施例1に係る監視カメラシステムの構成例を示す図である。 図2は、実施例1に係る監視カメラシステムで実行される通信の一例を示す図である。 図3は、実施例1に係る監視カメラシステムに含まれるコンピュータ機器の機能的構成を示すブロック図である。 図4は、実施例1に係る監視カメラシステムの処理の流れを示すシーケンス図である。 図5は、応用例に係るPCの機能的構成を示すブロック図である。 図6は、応用例に係るPCの機能的構成を示すブロック図である。 図7は、生存確認機能の動作例の一例を示す図である。 図8は、多重化の一例を示す図である。
以下に添付図面を参照して本願に係るセキュリティシステム及びコンピュータ機器間の通信方法について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[システム構成]
図1は、実施例1に係る監視カメラシステムの構成例を示す図である。図1には、セキュリティシステムの一例として、監視カメラシステム1が例示されている。図1に示す監視カメラシステム1には、パーソナルコンピュータ(PC:Personal Computer)110、監視カメラ120、カードリーダ130、入室資格チェックサーバ140、入室資格データベース150及び扉コントローラ160などのコンピュータ機器が収容される。なお、以下では、PC110、監視カメラ120、カードリーダ130、入室資格チェックサーバ140、入室資格データベース150及び扉コントローラ160を総称する場合に「コンピュータ機器100」と記載する場合がある。
図2は、実施例1に係る監視カメラシステムで実行される通信の一例を示す図である。例えば、カードリーダ130によりカードに記録されたIDが読み取られるとともに、カードリーダ130に付設された入力部、例えばテンキーなどを介してパスワードが入力された場合、図2に示す(イ)の通り、ID及びパスワードがカードリーダ130から入室資格チェックサーバ140へ送信される。
続いて、入室資格チェックサーバ140は、図2に示す(ロ)の通り、カードリーダ130から受信したIDに対応するパスワードを入室資格データベース150へ問い合わせる。一方、入室資格データベース150は、図2に示す(ハ)の通り、入室資格チェックサーバ140から問合せがあったIDに対応するパスワードを入室資格チェックサーバ140へ返信する。
その後、入室資格チェックサーバ140は、カードリーダ130から受信したパスワードと、入室資格データベース150から返信されたパスワードとを照合し、両者のパスワードが一致するか否かを判定する。
そして、入室資格チェックサーバ140は、両者のパスワードが一致する場合、図2の(ニ)の通り、扉61の開扉を扉コントローラ160へ指示する。続いて、扉コントローラ160は、図2の(ヘ)の通り、入室資格チェックサーバ140からの指示にしたがってモータ60を駆動させることにより、扉61を開扉する。なお、両者のパスワードが一致しない場合には、入室資格チェックサーバ140から扉コントローラ160へ開扉の指示は送信されない。
上記の(ニ)が実行されるタイミングで、入室資格チェックサーバ140は、図2の(ホ)の通り、パスワードの照合結果をPC110へ送信する。その上で、PC110には、パスワードの照合結果、例えば「OK」または「NG」などがPC110のディスプレイに表示される。
このPC110では、上記の(イ)〜(ヘ)とは並行して、監視カメラ120により所定のフレームレートで扉61の周辺部が撮像された画像を受信し、当該画像がPC110のディスプレイに表示される。このため、PC110のディスプレイを閲覧する保守担当者の判断により、PC110の入力部を介して開扉の中止や閉扉の操作を受け付けた場合、PC110から扉コントローラ160へ開扉の中止指示を行ったり、閉扉の指示を行ったりすることもできる。
この監視カメラシステム1に含まれる各コンピュータ機器100は、中央処理装置、いわゆるCPU(Central Processing Unit)111、121、131、141、151及び161や主記憶装置、いわゆるメモリ113、123、133、143、153及び163などを含んで構成される。そして、各コンピュータ機器のCPUは、図示しないROM(Read Only Memory)または補助記憶装置等から読み出された各種のプログラムをメモリ上に展開することにより、各種の処理を実行する。なお、ここでは、各コンピュータ機器がCPU及びメモリを有する場合を例示したが、一部のコンピュータ機器がCPUやメモリを有さずともかまわない。また、各コンピュータ機器のCPUは、必ずしも中央処理装置として実装されずともよく、MPU(Micro Processing Unit)として実装されることとしてもかまわない。
これらコンピュータ機器100には、汎用のOS(Operating System)が実装されると共に、各コンピュータ機器100の間は、一例として、イーサネット(登録商標)により接続される。このように、コンピュータ機器100に汎用のOSを実装すると共に監視カメラシステム1の各コンピュータ機器100の通信をイーサネットにより実現することにより、安価にシステムを構築することができる。なお、ここでは、各コンピュータ機器100に汎用のOSを実装する場合を例示したが、セキュリティを向上させる観点から専用のOSを実装することとしてもかまわない。また、ここでは、各コンピュータ機器100がイーサネットにより接続される場合を例示したが、一部または全部のコンピュータ機器100がインターネットにより接続されることとしてもかまわない。
ここで、CPU、メモリ及びOSが汎用のタイプで構築されるコンピュータ機器100は、その内部構造が周知であるので、クラッキングされる可能性が依然として残る。かかるクラッキングの経路の一例として、仮に監視カメラシステム1がインターネット接続されていた場合には、インターネット経由でウィルスが入って来る可能性がある。また、クラッキングの経路はこれに限らず、USB(Universal Serial Bus)メモリなどからウィルスが入って来る可能性もある。
例えば、全体制御用のPC110がクラッキングされると、PC110が違法制御され、以下のような不具合が出る可能性がある。
1)「扉コントローラ160」が制御する「扉」が常に「開」の状態にされる
2)「監視カメラ120」の映像が偽の映像に置き換えられる
3)不法侵入を「監視カメラ120」や「カードリーダ130」などで検知しても警報が鳴らない、或いは扉61が開く
また、監視カメラ120がクラッキングされると偽の映像が全体制御用のPC110に入力される可能性がある。また、扉コントローラ160がクラッキングされると全体制御用のPC110が扉61の閉扉を指示しても扉61が開状態のままになる可能性がある。さらに、カードリーダ130がクラッキングされると、偽のセンシング情報、すなわちIDとパスワードが入室資格チェックサーバ140へ入力される可能性がある。この他のコンピュータ機器100がクラッキングされた場合にも、監視カメラシステム1としての機能が損なわれる可能性がある。
さらに、コンピュータ機器100がクラッキングされる他にも、イーサネット回線がクラッキングされると、情報の盗難、偽情報により、監視カメラシステム1としての機能が損なわれる可能性がある。
このようなクラッキングを抑制するために、各コンピュータ機器100には、外部からの覗き見や改ざんが困難である耐タンパ性の構造を持つTRM(Tamper Resistant Module)115、125、135、145、155及び165が実装される。
例えば、各TRMは、TRMの内部解析や改ざんを物理的および論理的に防衛するための構造を有し、コンピュータ機器のCPUやメモリとPCI(Peripheral Component Interconnect)バスを介して接続されるワンチップのLSI(Large Scale Integration)として実装される。具体的には、各TRMは、内部に強固で粘着力が高いコーティングが施されており、その表面が剥がされると内部の回路が破壊されたり、ダミーの配線が配されていたりする。なお、ここでは、コンピュータ機器のCPUやメモリとPCIバスを介して接続される場合を想定するが、TRMはシステムボード上に実装されることとしてもよく、また、TRMはUSB経由で接続されることとしてもかまわない。
ここで、各TRMは、コンピュータ機器100上で動作するプログラムの監視を実行するが、必ずしも全てのプログラムの保護を実施する訳ではない。すなわち、各TRMは、コンピュータ機器100上で動作するOSを始め、ファームウェア、ミドルウェアやアプリケーションプログラムなどのプログラムのうち、特定の監視対象とするプログラムに絞って保護を行う。なお、以下では、TRMが監視対象とするプログラムのことを「監視対象プログラム」と記載する場合がある。
かかる監視対象プログラムの一例として、監視カメラシステム1に関する機能を担うプログラムが挙げられる。例えば、監視カメラシステム1の全体制御を行うPC110の場合、PC110の制御下にあるコンピュータ機器100、例えば監視カメラ120、カードリーダ130、入室資格チェックサーバ140、入室資格データベース150及び扉コントローラ160などを遠隔制御するプログラムに絞って保護することができる。
このように、監視対象プログラムが保護されたからと言って必ずしも監視カメラシステム1としての機能を維持できるとは限らない。なぜなら、監視対象プログラムそのものがセキュアな状態であったとしても、監視対象プログラムにより出力された出力データまでが安全であるとは限らないからである。
例えば、コンピュータ機器100で動作するOS、アプリケーションプログラムやイーサネットコントローラなどがクラッキングされた場合、監視対象プログラムによりデータが出力された時点で監視対象プログラムが出力する出力データがマルウェア等により改ざんされるおそれがある。さらには、コンピュータ機器100間で出力データが伝送される場合、出力データが伝送される伝送路上でクラッキングを受ける可能性も残る。その上、伝送先のコンピュータ機器100上で動作する監視対象プログラム以外のプログラムがクラッキングされた場合にも、伝送先のコンピュータ機器100で出力データが受信された時点で出力データが改ざんされるおそれがある。
これらのことから、各TRMは、コンピュータ機器100で通信が実行される場合、監視対象プログラムから伝送路へデータが出力されるまでの区間(A)と、コンピュータ機器100間の伝送路の区間(B)と、伝送路から受信された出力データが伝送先のコンピュータ機器100で動作する監視対象プログラムへ出力されるまでの区間(C)との間で、事前に互いのTRMにしか分からない方法で暗号化することにより、TRM及びTRMにより保護された監視対象プログラム以外のプログラムに出力データが平文のまま晒されない状態でコンピュータ機器100間の通信を実施する。
[PC110の機能的構成]
図3は、実施例1に係る監視カメラシステム1に含まれるコンピュータ機器100の機能的構成を示すブロック図である。図3には、監視カメラシステム1に含まれるコンピュータ機器100のうちPC110及び扉コントローラ160が抜粋して図示されている。さらに、図3に示す各TRMには、PC110のCPU111上で動作する監視対象プログラムからの出力データが扉コントローラ160のCPU161上で動作する監視対象プログラムへ伝送される場合に用いられる最小限の機能部が示されているが、必ずしも図3に示す機能構成に限定されない。例えば、通信方向が逆である場合などにはPC110及び扉コントローラ160の間で各TRMが有する機能部を入れ替えることにより、同様の通信が実現できる。
図3に示すように、PC110は、CPU111を有すると共に、CPU111にPCIバスを介して接続されたTRM115のCPU117を有する。以下では、両者のCPUを区別する観点から、PC110のCPU111のことを「PC CPU111」と記載すると共に、TRM115のCPU117のことを「TRM CPU117」と記載する場合がある。なお、図3では、PC CPU111及びTRM CPU117以外の機能部の図示が省略されているが、既存のコンピュータが有する機能部を有していてもかまわない。例えば、PC110は、ネットワークインターフェースカードにより実現される通信I/F(InterFace)部、各種の指示入力を行う入力デバイスや各種の情報表示を行う表示デバイスなどを具備していてもかまわない。
PC CPU111は、図示しないROM(Read Only Memory)または補助記憶装置等から読み出された各種のプログラムを図1に示したメモリ113上のワークエリアに展開することにより、下記の処理部を仮想的に実現する。例えば、PC CPU111は、OS実行部111Aと、アプリ実行部111Bと、通信処理部111Cと、監視対象プログラム実行部111Dとを有する。
このうち、OS実行部111Aは、OSの実行を制御する処理部である。また、アプリ実行部111Bは、アプリケーションプログラムの実行を制御する処理部である。さらに、通信処理部111Cは、イーサネットコントローラの実行を制御する処理部である。これらの処理部で実行されるソフトウェアは、図3に示す例で監視対象プログラムに該当しない。
監視対象プログラム実行部111Dは、監視対象プログラムの実行を制御する処理部である。
上記の監視対象プログラムの一例として、PC110の制御下にある監視カメラ120、カードリーダ130、入室資格チェックサーバ140、入室資格データベース150及び扉コントローラ160のうち少なくとも1つのコンピュータ機器100を遠隔制御するプログラムが挙げられる。ここでは、一例として、監視対象プログラムが扉コントローラ160の遠隔制御を行うプログラムである場合を想定して以下の説明を行う。
TRM CPU117は、図示しないTRM115内のROMまたは補助記憶装置等から読み出されたセキュリティプログラムを図示しないTRM115内のメモリのワークエリアに展開することにより、下記の処理部を仮想的に実現する。
例えば、TRM CPU117は、保護部117Aと、第1復号部117Bと、第1検証部117Cと、第1付加部117Dと、第1暗号部117Eとを有する。なお、第1復号部117B、第1付加部117D及び第1暗号部117Eは、ソフトウェアとして実装することもできるし、回路などのハードウェアとして実装することもできる。
保護部117Aは、PC CPU111上で動作するプログラムのうち監視対象プログラムを保護する処理部である。例えば、特開2008−118265号公報、特開2009−205627号公報、特開2012−234362号公報や特開2012−38222号公報などの文献に記載の技術を用いることができる。ここでは、上記の文献に記載の技術を用いる場合を例示するが、プログラムを保護する技術であれば他の公知技術を用いることもできる。
一実施形態として、保護部117Aは、コードスキャン(Code scan)、再構成(Reconstruction)、秘密の番号通信(Secret number)の機能が存在する。これらの機能は、外から覗き見や改ざんが困難なTRM115に存在するので、機能を解析したり、改ざんするのは、困難である。例えば、上記のコードスキャン機能が解析され、事前に監視対象プログラムのどの部分のコードをスキャンするか分かってしまうと、偽のコードスキャン結果を事前に用意され、監視対象プログラムが改ざんされているのに、改ざんされていないような結果が出る可能性がある。また、上記の再構成は、監視対象プログラムを外から見た機能は同じでも内部のプログラムコードを変更し、クラッカーによるプログラム解析を困難にする技術である。この再構成機能が解析されると事前にクラッカーに再構成の方法が漏えいし、解析されてしまう可能性がある。また、上記の秘密の番号通信は、監視対象プログラムに秘密の番号通信ルーチンを事前に保護部117Aが埋め込み、プログラムが実動作中に「秘密の番号通信」を行い、監視対象プログラムと保護部117Aの間で認証を行う手法である。例えば、保護部117Aからある番号を監視対象プログラムに出力し、それに監視対象プログラムが応答する。その応答が正規の応答であるかどうかにより、監視対象プログラムの正当性を保護部117Aが判断する。保護部117Aは、所定の回おきに異なる秘密の番号ルーチンを監視対象プログラムに埋め込むのでクラッカーによるこのルーチンのクラッキングは困難である。これもTRM115内部を覗き見され、秘密の番号ルーチンを事前予測されるとクラッキングされる可能性がある。これらのことから、TRM115内に上記のコードスキャン、再構成および秘密の番号通信などの機能を埋め込み、外部から覗き見ができないようにすることで監視対象プログラムへのクラッキングを困難にできる。さらに、TRM115を耐タンパ性構造とすることにより、改ざんも困難となり、コードスキャン機能を無効化されたり、再構成機能を無効化されたり、秘密の番号通信機能を無効化されたりする危険を抑制できる。
このように保護された監視対象プログラムは、上記の再構成によりクラッキングの前提であるプログラムコードの解析が困難であり、たとえプログラムコードを解析し、プログラムコードを改ざんしても、上記のコードスキャン機能で改ざんが検出される。また、上記の秘密の番号通信機能により、監視対象プログラムの認証が可能になる。
また、保護部117Aは、監視対象プログラムに上記の「番号通信ルーチン」を埋め込むと共に「毎回異なる秘密の鍵」を埋め込むことも可能である。この鍵を利用し、監視対象プログラムとTRM115の間で他のプログラムから覗かれることなくデータを授受することができる。このような機能は、監視対象プログラムから暗号化された出力データを受け取り、復号し、改ざんされていないか確認するのに使える。監視対象プログラムが監視対象プログラムにより出力される出力データに改ざん検出情報、例えば出力データのハッシュ値を付加した上で「毎回違う秘密の鍵」で暗号化してTRM115に送れば、他の守られていないプログラムは、監視対象プログラムからの出力データを覗き見することも改ざんすることも困難である。この機能は、TRM115から保護された監視対象プログラムに対し、他のプログラムから覗き見や改ざんができない形でデータを送信するのにも用いることができる。このように、上記の番号通信ルーチンを用いることにより、保護部117A及び監視対象プログラムの間で鍵の共有を行うことができる。
第1復号部117Bは、監視対象プログラムにより出力される出力データの暗号化データを復号化する処理部である。
これを説明すると、PC110から他のコンピュータ機器100へ出力データが送信される場合、コンピュータ機器100間における監視対象プログラムの出力データの通信が開始される。例えば、PC110上で動作する監視対象プログラムが扉コントローラ160上で動作する監視対象プログラムに対し、扉61の開扉または閉扉を指示する場合が挙げられる。なお、ここでは、あくまで一例として、PC110上で動作する監視対象プログラムが扉コントローラ160上で動作する監視対象プログラムに対し、扉61の開扉または閉扉を指示する場合を例示するが、この例に限定されない。すなわち、図2を用いて上述した(イ)〜(ヘ)などを含む各種の場面においてコンピュータ機器100間で同様の通信が行われることは言うまでもない。
このような通信のトリガが発生した場合、監視対象プログラムにより、監視対象プログラムが出力する出力データに改ざん検証情報、例えば出力データのハッシュ値を改ざん検証情報として付加した上で出力データ及び改ざん検証情報が暗号化される。このとき、出力データの暗号化には、一例として、上記の番号通信ルーチンにしたがって監視対象プログラム及び第1復号部117Bの間で授受された鍵を用いることができる。また、暗号化方式の一例として、AES(Advanced Encryption Standard)暗号やNESSIE(New European Schemes for Signature, Integrity, and Encryption)暗号などを適用することができる。その上で、監視対象プログラム実行部111Dから第1復号部117Bへ出力データの暗号化データが出力される。このようにしてPC CPU111上で動作する監視対象プログラムから出力データの暗号化データを受け付けた場合、第1復号部117Bは、出力データの暗号化データを復号化し、出力データ及び改ざん検証情報を第1検証部117Cへ出力する。
第1検証部117Cは、出力データの暗号化データから復号化された改ざん検証情報を用いて、出力データの改ざんの有無を検証する処理部である。
一実施形態として、第1検証部117Cは、第1復号部117Bにより復号化された改ざん検証情報と、第1復号部117Bにより復号化された出力データからハッシュ関数を用いて算出した出力データのハッシュ値とを比較する。このとき、改ざん検証情報及び出力データのハッシュ値が互いに一致する場合、監視対象プログラムからの出力データがPC CPU111上で動作する他のプログラムにより改ざんされていないと推定できる。この場合、第1検証部117Cは、監視対象プログラムからの出力データを第1付加部117Dへ出力する。なお、出力データの改ざんが検出された場合には、第1付加部117Dへの出力を中止したり、図示しない表示デバイスを介して通知を行うこともできる。
第1付加部117Dは、第1復号部117Bにより復号化された出力データに出力データの改ざん検証情報を付加する処理部である。
一実施形態として、第1付加部117Dは、第1検証部117Cにより出力データの改ざんがないと検証された場合、ハッシュ関数を用いて、第1復号部117Bにより復号化された出力データのハッシュ値を算出する。これによって、出力データのダイジェストを生成する。これを電子署名とし、第1付加部117Dは、第1復号部117Bにより復号化された出力データに電子署名を改ざん検証情報として付加する。
第1暗号部117Eは、第1付加部117Dにより改ざん検証情報が付加された出力データを暗号化する処理部である。
一実施形態として、第1暗号部117Eは、上記の番号通信ルーチンと同様のルーチンにしたがって出力データの伝送先のコンピュータ機器100上のTRMとの間で授受された鍵を用いて、第1付加部117Dにより改ざん検証情報が付加された出力データを暗号化する。かかる暗号化には、一例として、上記の監視対象プログラムと同様、AES暗号やNESSIE暗号などを適用することができる。その上で、第1暗号部117Eは、出力データの暗号化データをPC CPU111上の通信処理部111Cへ出力する。
かかる出力データの暗号化データを受け付けた通信処理部111Cは、第1暗号部117Eから受け付けた出力データの暗号化データを分割した上でイーサネット形式に変換し、イーサネット上に送り出す。
これら監視対象プログラム実行部111D、第1復号部117B、第1検証部117C、第1付加部117D及び第1暗号部117Eの一連の処理により、上記の区間(A)、すなわち監視対象プログラムから伝送路へデータが出力されるまでの区間で出力データが改ざんされるのを抑制できる。
さらに、通信処理部111Cは、クラッキングを受ける可能性は残るが、扱っているデータが暗号化され且つ電子署名されているので、有意な改ざんを行うことができない。加えて、イーサネット回線上でも出力データは改ざんされる可能性があるが、暗号化され且つ電子署名されているので、有意な改ざんは困難である。よって、上記の区間(B)、すなわちコンピュータ機器100間の伝送路の区間で有意な改ざんが行われるのも抑制できる。
[扉コントローラ160の機能的構成]
図3に示すように、扉コントローラ160は、CPU161を有すると共に、CPU161にPCIバスを介して接続されたTRM165のCPU167を有する。以下では、両者のCPUを区別する観点から、扉コントローラ160のCPU161のことを「扉 CPU161」と記載すると共に、TRM165のCPU167のことを「TRM CPU167」と記載する場合がある。なお、図3では、扉 CPU161及びTRM CPU167以外の機能部の図示が省略されているが、既存のコンピュータが有する機能部を有していてもかまわない。例えば、図2に示したモータ60などの駆動部やディップスイッチなどの入力デバイスなどを具備していてもかまわない。
扉 CPU161は、図示しないROMまたは補助記憶装置等から読み出された各種のプログラムを図1に示したメモリ163上のワークエリアに展開することにより、下記の処理部を仮想的に実現する。例えば、扉 CPU161は、OS実行部161Aと、アプリ実行部161Bと、通信処理部161Cと、監視対象プログラム実行部161Dとを有する。
このうち、OS実行部161Aは、OSの実行を制御する処理部である。また、アプリ実行部161Bは、アプリケーションプログラムの実行を制御する処理部である。さらに、通信処理部161Cは、イーサネットコントローラの実行を制御する処理部である。これらの処理部で実行されるソフトウェアは、図3に示す例で監視対象プログラムに該当しない。
監視対象プログラム実行部161Dは、監視対象プログラムの実行を制御する処理部である。上記の監視対象プログラムの一例として、扉 CPU161の制御下にある扉61の開閉を制御するプログラムなどが挙げられる。ここでは、一例として、監視対象プログラムが扉61の開扉または閉扉の制御を行うプログラムである場合を想定して以下の説明を行う。
TRM CPU167は、図示しないTRM165内のROMまたは補助記憶装置等から読み出されたセキュリティプログラムを図示しないTRM165内のメモリのワークエリアに展開することにより、下記の処理部を仮想的に実現する。
例えば、TRM CPU167は、保護部167Aと、第2復号部167Bと、第2検証部167Cと、第2付加部167Dと、第2暗号部167Eとを有する。なお、第2復号部167B、第2付加部167D及び第2暗号部167Eは、ソフトウェアとして実装することもできるし、回路などのハードウェアとして実装することもできる。
保護部167Aは、扉 CPU161上で動作するプログラムのうち監視対象プログラムを保護する処理部である。かかる監視対象プログラムの保護方法については、上記の保護部117Aと同様であるので、その説明は省略する。
第2復号部167Bは、通信処理部161Cにより受信された出力データの暗号化データを復号化する処理部である。
一実施形態として、第2復号部167Bは、上記の番号通信ルーチンと同様のルーチンなどにしたがって出力データの伝送元のコンピュータ機器100、例えばPC110上のTRM115との間でPKI(Public Key Infrastructure)などの公開鍵、秘密鍵アルゴリズムなどに基づく相互通信により上記暗号化データを復号化する鍵情報などを互いに授受しており、このようにして授受された公開鍵等を用いて、通信処理部161Cにより受信された出力データの暗号化データを復号化し、出力データ及び改ざん検証情報を第2検証部167Cへ出力する。
第2検証部167Cは、第2復号部167Bにより出力データの暗号化データから復号化された改ざん検証情報を用いて、出力データの改ざんの有無を検証する処理部である。
一実施形態として、第2検証部167Cは、第2復号部167Bにより復号化された改ざん検証情報と、第2復号部167Bにより復号化された出力データからハッシュ関数を用いて算出した出力データのハッシュ値とを比較する。このとき、改ざん検証情報及び出力データのハッシュ値が一致する場合、監視対象プログラムからの出力データがイーサネット上及び扉 CPU161上で動作する他のプログラムにより改ざんされていないと推定できる。この場合、第2検証部167Cは、監視対象プログラムからの出力データを第2付加部167Dへ出力する。なお、出力データの改ざんが検出された場合には、第2付加部167Dへの出力を中止したり、図示しない表示デバイスを介して通知を行うこともできる。
第2付加部167Dは、第2復号部167Bにより復号化された出力データに出力データの改ざん検証情報を付加する処理部である。
一実施形態として、第2付加部167Dは、第2検証部167Cにより出力データの改ざんがないと検証された場合、ハッシュ関数を用いて、第2復号部167Bにより復号化された出力データのハッシュ値を算出する。これによって、出力データのダイジェストを生成する。これを電子署名とし、第2付加部167Dは、第2復号部167Bにより復号化された出力データに電子署名を改ざん検証情報として付加する。
第2暗号部167Eは、第2付加部167Dにより改ざん検証情報が付加された出力データを暗号化する処理部である。
一実施形態として、第2暗号部167Eは、上記の番号通信ルーチンと同様のルーチンなどにしたがって監視対象プログラム実行部161Dで実行される監視対象プログラムとの間で授受された鍵を用いて、第2付加部167Dにより改ざん検証情報が付加された出力データを暗号化する。かかる暗号化には、一例として、AES暗号やNESSIE暗号などの任意のアルゴリズムを適用することができる。その上で、第2暗号部167Eは、出力データの暗号化データを扉 CPU161上で動作する監視対象プログラムへ出力する。
このように第2暗号部167Eから監視対象プログラムへ出力データが出力された場合、監視対象プログラムにより出力データが復号化された上で電子署名の改ざん検証が実行される。そして、出力データに改ざんがないことが確認された場合、伝送元のコンピュータ機器100の監視対象プログラムからの出力データに対応する処理が扉コントローラ160の監視対象プログラムにより実行される。この場合、PC110の監視対象プログラムから指示された開扉また閉扉の指示にしたがって扉コントローラ160の監視対象プログラムにより扉61が開扉または閉扉される。
これら第2復号部167B、第2検証部167C、第2付加部167D及び第2暗号部167E及び監視対象プログラム実行部161Dの一連の処理により、上記の区間(C)、すなわち伝送路から受信された出力データが伝送先のコンピュータ機器100で動作する監視対象プログラムへ出力されるまでの区間で出力データが改ざんされるのを抑制できる。つまり、区間(A)〜(C)の各区間にわたって出力データの有意な改ざんを抑制できるので、監視対象プログラムを保護すると共に、監視対象プログラム以外のプログラム、例えばOSやアプリケーションプログラムがクラッキングされたとしても、その悪影響がシステムの各所に派生するのを抑制できる。
このように、監視カメラシステム1では、当該情報の有意な改ざんは不可能であるが、無為の改ざんは可能である。無為の改ざんを確実に検出するために、例えば、PC110や扉コントローラ160のTRMの各々にタイマを設け、一定期間内に正当な通信(TRM内のPKIなどの公開鍵、秘密鍵アルゴリズムなどに基づく相互通信など)が確認できない場合は、無為な改ざんの可能性をシステム管理者に警告するなどの処理をオプションとして実施することにより、更なるセキュリティ強化を図ることも可能である。
[処理の流れ]
図4は、実施例1に係る監視カメラシステム1の処理の流れを示すシーケンス図である。図4には、一例として、PC110上で動作する監視対象プログラムが出力するデータが扉コントローラ160上で動作する監視対象プログラムへ伝送される場合のシーケンスが示されている。この処理は、PC110から扉コントローラ160へ出力データが送信される場合に開始される。
図4に示すように、PC CPU111上で動作する監視対象プログラムは、当該監視対象プログラムが出力する出力データに出力データのハッシュ値を改ざん検証情報として付加する(ステップS101)。続いて、PC CPU111上で動作する監視対象プログラムは、ステップS101で改ざん検証情報が付加された出力データを暗号化する(ステップS102)。
その後、PC CPU111上で動作する監視対象プログラムは、ステップS102で暗号化された出力データの暗号化データを第1復号部117Bへ出力する(ステップS103)。
これを受けて、第1復号部117Bは、ステップS103で監視対象プログラムから出力された出力データの暗号化データを復号化し(ステップS104)、出力データ及び改ざん検証情報を第1検証部117Cへ出力する。
そして、第1検証部117Cは、ステップS104で出力データの暗号化データから復号化された改ざん検証情報を用いて、ステップS104で復号化された出力データの改ざんの有無を検証する(ステップS105)。
かかる改ざん検証で出力データに改ざんがないことが検証された後、第1付加部117Dは、ステップS104で復号化された出力データに出力データの改ざん検証情報を改めて付加する(ステップS106)。
そして、第1暗号部117Eは、ステップS106で改ざん検証情報が付加された出力データを暗号化し(ステップS107)、出力データの暗号化データをPC CPU111上の通信処理部111Cへ出力する。
続いて、PC CPU111の通信処理部111Cは、ステップS107で暗号化された出力データの暗号化データを分割した上でイーサネット形式に変換し、イーサネット上に送り出すことにより、出力データの暗号化データを扉コントローラ160へ伝送する(ステップS108)。
一方、TRM CPU167の第2復号部167Bは、ステップS108の伝送で通信処理部161Cにより受信された出力データの暗号化データを復号化する(ステップS109)。続いて、第2検証部167Cは、ステップS109で出力データの暗号化データから復号化された改ざん検証情報を用いて、ステップS109で復号化された出力データの改ざんの有無を検証する(ステップS110)。
かかる改ざん検証で出力データに改ざんがないことが検証された後、第2付加部167Dは、ステップS109で復号化された出力データに出力データの改ざん検証情報を改めて付加する(ステップS111)。
そして、第2暗号部167Eは、ステップS111で改ざん検証情報が付加された出力データを暗号化し(ステップS112)、出力データの暗号化データを扉 CPU161上で動作する監視対象プログラムへ出力する(ステップS113)。
その後、扉 CPU161上で動作する監視対象プログラムは、第2暗号部167Eから受け付けた出力データの暗号化データを復号化し(ステップS114)、改ざん検証情報を用いて、ステップS114の復号化で得られた出力データの改ざんの有無を検証する(ステップS115)。そして、扉 CPU161上で動作する監視対象プログラムは、出力データに改ざんがないことが確認された場合、伝送元のコンピュータ機器100の監視対象プログラムからの出力データに対応する処理、例えば扉61の開閉制御を実行し(ステップS116)、処理を終了する。
[効果の一側面]
上述してきたように、本実施例に係る監視カメラシステム1は、異なるコンピュータ機器100で動作する監視対象プログラム間の通信を行う場合に、監視対象プログラムを保護すると共に、伝送元の監視対象プログラムから伝送路へデータが出力されるまでの区間と、伝送路から受信された出力データが伝送先の監視対象プログラムへ出力されるまでの区間とを暗号化して通信する。それ故、本実施例に係る監視カメラシステム1では、区間(A)〜(C)の各区間にわたって出力データの有意な改ざんを抑制できる。したがって、本実施例に係る監視カメラシステム1によれば、監視対象プログラムへのクラッキングを抑制すると共に、クラッキングによる悪影響がシステムの各所に派生するのを抑制できる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[出力データの送受信]
上記の実施例1では、PC CPU111上で動作する監視対象プログラムからの出力データが扉 CPU161上で動作する監視対象プログラムへ伝送される場合に用いられる最小限の機能部をPC110及び扉コントローラ160の機能部として例示したがこれに限定されない。例えば、TRM CPU117は、CPU111上で動作する監視対象プログラムからの出力データを送信するだけでなく、他のコンピュータ機器100から送信された監視対象プログラムからの出力データを受信することもできる。
図5は、応用例に係るPCの機能的構成を示すブロック図である。以下では、図3に示した機能と同様の機能を発揮する機能部には図3に示した符号と同一の符号を付し、その説明は省略することとする。例えば、他のコンピュータ機器100から送信された監視対象プログラムからの出力データを受信する場合、TRM CPU117は、図5に示すように、図3に示した扉コントローラ160の第2復号部167Bと、第2検証部167Cと、第2付加部167Dと、第2暗号部167Eと同様の機能を発揮する第2復号部117b、第2検証部117c、第2付加部117d及び第2暗号部117eを具備することにより、他のコンピュータ機器100から送信された監視対象プログラムからの出力データを受信することができる。
[TRMへの直接接続]
各コンピュータ機器100では、コンピュータ機器100が有するCPUと接続されるデバイスを通じて、必ずしもデータの入出力を行わずともかまわない。例えば、システム管理者等への警告信号は、それ自体がクラッキングされる可能性があるので、各コンピュータ機器100のTRMに直接接続された表示デバイス、例えばLED(Light Emitting Diode)ランプを通じて通知を行うこともできる。
図6は、応用例に係るPC210の機能的構成を示すブロック図である。図6に示すように、PC210には、TRM115に直接接続されたLED212が設けられている。このように、PC CPU111の制御下におかずにTRM115が直接制御できる直接接続されたLED212の点灯や点滅などの制御により、警告信号などの通知を発する精度を高めることができる。図6の例では、1つのLEDが接続される場合を例示したが、複数のLEDをTRM115に接続することもできる。例えば、青色に発光する第1のLEDと、赤色に発光する第2のLEDとをTRM115に接続しておき、各コンピュータ機器100がクラッキングを受けていない間は第1のLEDを点灯させると共に第2のLEDを消灯し、各コンピュータ機器100がクラッキングを受けた場合には、第1のLEDを消灯させると共に第2のLEDを点灯または点滅することにより、警告を発することができる。さらに、赤、青、緑など3つ以上のLEDを設け、青が正常状態、赤が定期交信異常状態、緑は監視対象プログラムがクラッキングされた可能性がある状態などに区分してシステム管理者等へ警告することもできる。
[コンテンツ出力]
例えば、TRM115は、他のコンピュータ機器100上で動作する監視対象プログラムから受信された出力データが制御命令またはコンテンツであるかを判定し、出力データがコンテンツである場合、コンテンツに所定のデータを埋め込むことができる。
ここで、一例として、図6に示すディスプレイ214に対し、監視カメラ120により撮像された画像がコンテンツの一例として表示される場合を想定する。この場合、図6に示す埋込部217は、第2検証部117cにより復号後の画像に改ざんがないことが検出される度に、当該画像から標示を埋め込む対象とする領域、例えば画像の余白部もしくは端部などの領域をランダムに検出し、ランダムに検出された領域に所定の標示、例えば赤丸などの図形や文字列などを埋め込む。このとき、埋込部217は、画像のフレーム間で画像に埋め込む標示の頻度をランダムにして画像に標示を埋め込む。例えば、埋込部217は、所定の区間、例えば小数点を含む0〜3の乱数を発生させるソフトウェアや乱数発生器などを用いて、乱数が発生される度に当該乱数に対応する期間にわたって画像に標示を埋め込み、その後に発生された乱数に対応する期間にわたって画像への標示の埋め込みを中止するという処理を繰り返す。これと共に、埋込部217は、画像に標示が埋め込まれるタイミングと同期させてLED212を点灯させる。
これによって、LED212で点灯される発光と、ディスプレイ214に表示された標示とが同期しているかどうかを見比べることにより、閲覧者はディスプレイ214に表示されている映像がTRM CPU117により復号された映像であるかどうかを確認できる。さらに、表示間隔がランダムであり、表示場所もランダムであるため、表示される直前のデータを解析して、別の映像に標示を埋め込んでリアルタイムで表示させることを困難にできる。
なお、ここでは、PC210のTRM CPU117が標示を埋め込む場合を例示したが、監視カメラ120のTRM125のCPUが標示を埋め込むこととしてもかまわない。この場合、画像のメタ情報などに標示の有無を付加させておくことにより、PC210のTRM CPU117で標示に同期させてLED212を点灯させることができる。
[生存確認機能]
各TRM間で互いを暗号化通信により認証するTRM用のソフトウェアを各TRMのファームウェア等に実装することにより、各コンピュータ機器100のTRMの間で生存確認を実行することができる。
かかる生存確認の手順について説明すると、各コンピュータ機器100のTRMは、相互認証用に公開暗号鍵方式の公開鍵を生成する。例えば、TRM TからTRM TまでのN台のTRMが存在するとしたとき、システム管理者により使用される管理端末は、TRM Tが生成する公開鍵P、TRM Tが生成する公開鍵P、・・・、TRM Tが生成する公開鍵Pを収集する。なお、TRM Tには、図1に示したPC110のTRM115、監視カメラ120のTRM125、カードリーダ130のTRM135、入室資格チェックサーバ140のTRM145、入室資格データベース150のTRM155や扉コントローラ160のTRM165などの任意のTRMが該当する。
続いて、管理端末は、相互認証を実施するために、N台のTRMの公開鍵のN個の組(P、P、・・・、P)を各々のTRM Tへ配信する。これを受けて、各々のTRM Tは、N台のTRMの公開鍵のN個の組(P、P、・・・、P)のうちTRM Tに対応する公開鍵と各々のTRM T〜 Tの相互認証グループを識別する番号Gを合わせたデータとの間で求めたハッシュ値を、個々の公開鍵を使って暗号化したデータC、C、・・・、Cを管理端末へ返送する。
その後、管理端末は、各CをTに送付すると共に、各Tが組み込まれているコンピュータ機器100のアドレス、例えばIPアドレスを各Tから収集して各Tへ送付する。そして、各々のTRM Tは、公開鍵Pに対応する秘密鍵pで復号し、各TRM Tの内部メモリに保持する。その上で、各々のTRM Tは、各々のコンピュータ機器100のCPUに相互認証用の通信プロセスMを立ち上げさせる。
以上のような手順の下、TRM Tにより起動された相互認証用の通信プロセスMは、他の相互認証用の通信プロセスのうち相互認証用の通信プロセスMi+1との間でIP通信を行う。なお、相互認証用の通信プロセスMは、相互認証用の通信プロセスMへメッセージを送信する。
その後、相互認証用の通信プロセスMは、一定時間ごとにTRM Tを呼びだし、送付用メッセージを受け取る。このとき、各TRM Tは、TRM Tの内部メモリに保持されたグループ識別番号G、その時の時刻tを含む通信文にハッシュを追加し、TRM Ti+1の公開鍵Pi+1で暗号化した送付用メッセージを渡す。このとき、TRM Tの監視対象プログラムのうちいずれかが改変されるか、あるいは動作を停止したことを検出した場合には、問題が発生したことを知らせるメッセージを渡す。
一方、相互認証用の通信プロセスMi+1は、相互認証用の通信プロセスMから受け取ったメッセージを自分の秘密鍵pi+1で復号し、内容が改変されていないことを確認する。内容が間違っている場合や相互認証用の通信プロセスMからメッセージが一定時間届かない場合には、LED212を点灯させることにより、警告を行う。
図7は、生存確認機能の動作例の一例を示す図である。図7には、TRM T〜TRM Tまでの3つのTRM間で生存確認を行う場合におけるコンピュータ機器のメモリとTRMのメモリに展開されたプロセスが例示されている。図7に示すように、各TRM T〜TRM Tは、他のTRMの公開鍵、グループ識別番号などはTRMの内部メモリに格納されているのであって、コンピュータ機器100側のCPUで動作する相互認証用の通信プロセスM〜Mからは秘匿されている。したがって、相互認証用の通信プロセスMが相互認証用の通信プロセスMi+1へ送信するメッセージを偽造させる事態を抑制できる。
[システムの多重化]
上記の実施例1では、1つの機能につき1つのコンピュータ機器を設ける場合を例示したが、監視カメラシステム1には、1つの機能につき複数のコンピュータ機器を設置することにより多重化することもできる。
図8は、多重化の一例を示す図である。図8の例では、扉コントローラ160が3重化され、入室資格チェックサーバ140が4重化され、PC110が2重化されると共に、入室資格データベース150が2重化される場合の監視カメラシステム1の配備例が示されている。このような多重化が実施される場合にも、上記の生存確認機能を実施することができる。
図8に示すように、多重化が実施されている場合には、図8に示すデータを次のように格納することができる。すなわち、P 、P 、P 、セパレータ、P 、P 、P 、P 、セパレータ、P 、P 、セパレータ、P 、P 、終了記号として格納できる。その上で、上記の「生存確認機能」の項で説明したのと同様に暗号化して配信すれば、各々のTRMは、上記のデータを入手できる。
ここで、各々のTRMが搭載されたコンピュータ機器100の相互認証用の通信プロセスMは、同一機能のコンピュータ機器100において自分よりも優先順位が高いコンピュータ機器100が動作している限りは動作しない。例えば、T は、T が動作していれば動作しないし、また、T は、T またはT のいずれかが動作していれば動作しない。
一方、自分よりも優先順位が高いコンピュータ機器100が動作していない場合は、自分の予備全員と、自分の次の番号全員にメッセージを送る。例えば、T の場合、T 、T と共にT 、T 、T 、T にメッセージを送る。メッセージが送信されたTRMの相互認証用の通信プロセスMは、送られた情報によって、自分が動作しなければならないかを確認する。
また、各TRMは、自分が管理しているアプリケーションが改変されたか動作を停止した場合には、自分が停止することを自分の予備たちに通知する。また、自分の次の番号全員に交代することを知らせる。その後、自分のマシンを再起動する。再起動後、可能であれば自分が作業を引き継ぐ。
各TRMは、自分の前の番号の一部が停止したとき、あるいは、自分番号の一部が動作しなくなったときに黄色い警告ランプをつけて、ユーザに警告する。各TRMは、自分の前の番号の全員が停止したとき、あるいは、自分の前の番号からのメッセージが一定時間来なくなったことを確認すると赤い警告ランプをつけて、ユーザに警告する。
このようにしてコンピュータ機器100が多重化された場合でも、生存確認機能を実現できる。
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
1 監視カメラシステム
110 PC
111 CPU
111A OS実行部
111B アプリ実行部
111C 通信処理部
111D 監視対象プログラム実行部
113 メモリ
115 TRM
117 CPU
117A 保護部
117B 第1復号部
117C 第1検証部
117D 第1付加部
117E 第1暗号部
120 監視カメラ
121 CPU
123 メモリ
125 TRM
130 カードリーダ
131 CPU
133 メモリ
135 TRM
140 入室資格チェックサーバ
141 CPU
143 メモリ
145 TRM
150 入室資格データベース
151 CPU
153 メモリ
155 TRM
160 扉コントローラ
161 CPU
161A OS実行部
161B アプリ実行部
161C 通信処理部
161D 監視対象プログラム実行部
163 メモリ
165 TRM
167 CPU
167B 第2復号部
167C 第2検証部
167D 第2付加部
167E 第2暗号部

Claims (7)

  1. 第1の装置及び第2の装置を含むセキュリティシステムであって、
    前記第1の装置は、
    前記第1の装置上で動作するプログラムのうち監視対象とする第1のプログラムを保護する第1保護部と、
    前記第1のプログラムからの出力データが暗号化された暗号化データを復号化する第1復号部と、
    復号化された出力データを暗号化して該出力データの暗号化データを前記第1の装置とは異なる第2の装置へ伝送させる第1暗号部とを有し、
    前記第2の装置は、
    前記第2の装置上で動作するプログラムのうち監視対象とする第2のプログラムを保護する第2保護部と、
    伝送された出力データの暗号化データを復号化する第2復号部と、
    復号化された出力データを暗号化して該出力データの暗号化データを前記第2のプログラムへ出力する第2暗号部とを有する
    ことを特徴とするセキュリティシステム。
  2. 前記第1暗号部は、前記第1復号部により復号された出力データの改ざん検証情報が付加された出力データを暗号化し、
    前記第2復号部は、伝送された出力データの暗号化データを復号化した上で当該出力データの改ざんの有無を検証し、
    前記第2暗号部は、前記出力データに改ざんがないと検証された場合に、前記第2復号部により復号化された出力データの暗号化を実行することを特徴とする請求項1に記載のセキュリティシステム。
  3. 前記第1の装置は、内部に格納された情報を外部から参照できない構造を有する第1のモジュールを当該第1の装置が有するプロセッサ及びメモリとは独立した状態で具備すると共に、前記第2の装置は、内部に格納された情報を外部から参照できない構造を有する第2のモジュールを当該第2の装置が有するプロセッサ及びメモリとは独立した状態で具備し、
    前記第1のモジュールは、前記第1保護部、前記第1復号部及び前記第1暗号部を有すると共に、前記第2のモジュールは、前記第2保護部、前記第2復号部及び前記第2暗号部を有することを特徴とする請求項1に記載のセキュリティシステム。
  4. 前記第1の装置及び前記第2の装置は、
    前記第1のモジュール及び前記第2のモジュールの間の通信を所定の間隔で実行する通信処理部を有し、
    前記第1復号部または前記第1暗号部は、前記第1のモジュール及び前記第2のモジュールの間で通信が途絶していない場合に処理の実行が許可され、
    前記第2復号部または前記第2暗号部は、前記第1のモジュール及び前記第2のモジュールの間で通信が途絶していない場合に処理の実行が許可されることを特徴とする請求項3に記載のセキュリティシステム。
  5. 前記第1の装置または前記第2の装置は、
    前記第1のモジュールまたは前記第2のモジュールに接続された第1表示部を有することを特徴とする請求項3に記載のセキュリティシステム。
  6. 前記第2の装置は、
    前記第2のモジュールに接続されない第2表示部と、
    前記第2復号部により復号化された出力データが画像である場合、前記画像のフレーム間で前記第2表示部に表示させる画像に埋め込む標示の頻度をランダムにして前記画像に標示を埋め込むと共に、前記画像に標示が埋め込まれるタイミングと同期させて前記第2表示部の表示内容を制御することを特徴とする請求項5に記載のセキュリティシステム。
  7. 第1の装置が、
    前記第1の装置上で動作するプログラムのうち監視対象とする第1のプログラムを保護し、
    前記第1のプログラムからの出力データが暗号化された暗号化データを復号化し、
    復号化された出力データを暗号化し、
    暗号化された出力データの暗号化データを前記第1の装置とは異なる第2の装置へ伝送し、
    前記第2の装置が、
    前記第2の装置上で動作するプログラムのうち監視対象とする第2のプログラムを保護し、
    伝送された出力データの暗号化データを復号化し、
    復号化された出力データを暗号化し、
    暗号化された出力データの暗号化データを前記第2のプログラムへ出力する
    ことを特徴とするコンピュータ機器間の通信方法。
JP2016556173A 2014-10-31 2014-10-31 セキュリティシステム及びコンピュータ機器間の通信方法 Expired - Fee Related JP6547756B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/079144 WO2016067473A1 (ja) 2014-10-31 2014-10-31 セキュリティシステム及びコンピュータ機器間の通信方法

Publications (2)

Publication Number Publication Date
JPWO2016067473A1 true JPWO2016067473A1 (ja) 2017-09-07
JP6547756B2 JP6547756B2 (ja) 2019-07-24

Family

ID=55856851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016556173A Expired - Fee Related JP6547756B2 (ja) 2014-10-31 2014-10-31 セキュリティシステム及びコンピュータ機器間の通信方法

Country Status (3)

Country Link
US (1) US20170228546A1 (ja)
JP (1) JP6547756B2 (ja)
WO (1) WO2016067473A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112627669A (zh) * 2020-12-31 2021-04-09 深圳市汇健医疗工程有限公司 急诊复合手术室电动三折门控制系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000508854A (ja) * 1996-04-17 2000-07-11 インテル・コーポレーション データ再暗号化装置および方法
US20050213768A1 (en) * 2004-03-24 2005-09-29 Durham David M Shared cryptographic key in networks with an embedded agent
JP2007528172A (ja) * 2004-03-09 2007-10-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 鍵ベースの暗号化
JP2013504804A (ja) * 2009-09-09 2013-02-07 富士通株式会社 ハードウェアトラストアンカー

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08223560A (ja) * 1995-02-15 1996-08-30 Secom Co Ltd 監視システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000508854A (ja) * 1996-04-17 2000-07-11 インテル・コーポレーション データ再暗号化装置および方法
JP2007528172A (ja) * 2004-03-09 2007-10-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 鍵ベースの暗号化
US20050213768A1 (en) * 2004-03-24 2005-09-29 Durham David M Shared cryptographic key in networks with an embedded agent
JP2013504804A (ja) * 2009-09-09 2013-02-07 富士通株式会社 ハードウェアトラストアンカー

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MENEZES, A. J. ET AL., HANDBOOK OF APPLIED CRYPTOGRAPHY, vol. p.360, 364-368, JPN6018028937, 1996, ISSN: 0003992785 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112627669A (zh) * 2020-12-31 2021-04-09 深圳市汇健医疗工程有限公司 急诊复合手术室电动三折门控制系统

Also Published As

Publication number Publication date
WO2016067473A1 (ja) 2016-05-06
US20170228546A1 (en) 2017-08-10
JP6547756B2 (ja) 2019-07-24

Similar Documents

Publication Publication Date Title
US8972730B2 (en) System and method of using a signed GUID
US6973570B1 (en) Integrated circuit comprising encryption circuitry selectively enabled by verifying a device
CN104778141B (zh) 一种基于控制系统可信架构的tpcm模块及可信检测方法
CN104851159B (zh) 一种网络型门禁控制系统
CN107979467B (zh) 验证方法及装置
Nguyen et al. Cloud-based secure logger for medical devices
CN105099705B (zh) 一种基于usb协议的安全通信方法及其系统
US7818790B1 (en) Router for use in a monitored network
CN104636680A (zh) 维护部件的真实性验证及使用的许可证密钥的提供和获取
AU2022291428A1 (en) A Process and Detachable Device for Using and Managing Encryption Keys
US8355508B2 (en) Information processing apparatus, information processing method, and computer readable recording medium
JP6547756B2 (ja) セキュリティシステム及びコンピュータ機器間の通信方法
CN110445774B (zh) IoT设备的安全防护方法、装置及设备
CN110830507B (zh) 资源访问方法、装置、电子设备及系统
CN107968777B (zh) 网络安全监控系统
CN108270601B (zh) 移动终端、告警信息获取、告警信息发送方法及装置
US12106176B2 (en) True secure airgap
Fournaris et al. Trusted hardware sensors for anomaly detection in critical infrastructure systems
EP1962218B1 (en) Method for detecting that a protected software program is cracked
KR100880512B1 (ko) Sam 내장 출입단말기
CN116644458B (zh) 一种电子系统信息安全保护系统
CN115001749B (zh) 设备授权方法、装置、设备及介质
CN104239810B (zh) 一种基于遥控器的加密解密方法及装置
TWI649672B (zh) 用於固定環境的更新防護系統及其更新防護方法
EP2133810A2 (en) Computer input device, method for inputting data to a computer, computing apparatus and computer software product

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190510

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190528

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190610

R150 Certificate of patent or registration of utility model

Ref document number: 6547756

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees