[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4738068B2 - プロセッサ及びシステム - Google Patents

プロセッサ及びシステム Download PDF

Info

Publication number
JP4738068B2
JP4738068B2 JP2005177628A JP2005177628A JP4738068B2 JP 4738068 B2 JP4738068 B2 JP 4738068B2 JP 2005177628 A JP2005177628 A JP 2005177628A JP 2005177628 A JP2005177628 A JP 2005177628A JP 4738068 B2 JP4738068 B2 JP 4738068B2
Authority
JP
Japan
Prior art keywords
dma
transfer process
dma transfer
information
access
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.)
Active
Application number
JP2005177628A
Other languages
English (en)
Other versions
JP2006350782A (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 Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2005177628A priority Critical patent/JP4738068B2/ja
Priority to US11/225,180 priority patent/US7681044B2/en
Publication of JP2006350782A publication Critical patent/JP2006350782A/ja
Application granted granted Critical
Publication of JP4738068B2 publication Critical patent/JP4738068B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Description

本発明は、一般にプロセッサ及びプロセッサを用いたシステムに関し、詳しくは情報の機密保護機能を備えたプロセッサ及びプロセッサを用いたシステムに関する。
プロセッサに基づくシステムはプログラムによって動作記述が可能であるために、ハードウェアのみで構成されるシステムに比べ柔軟性が高く、多種類の機能を容易に実装することができる。こうした利点のために、プロセッサに基づくシステムは多くの分野で用いられ、電子商取引のように高度なセキュリティを要求される分野でも利用されるようになっている。セキュリティを強固にするためには、ユーザ認証などの各種のシステムレベルでの措置が必要であるが、近年ではシステムレベルでの安全性のみならず、ソフトウェアレベルやプロセッサレベルでの安全性が問題となっている。
例えば、データや命令の実行コードを主記憶装置や二次記憶装置に格納する際に、データや命令の実行コードを暗号化することにより安全性を確保することが考えられる。命令実行の際には、暗号化されたデータや命令の実行コード等を復号化し、プロセッサ内のキャッシュメモリに格納して処理を実行することになる。このような場合、暗号化処理を実行するハードウェアをプロセッサチップと別のチップに搭載すると、処理速度及び暗号化処理性能の点で問題がある。
このようなソフトウェア実行環境の従来技術として、特許文献1に記載の技術がある。特許文献1には、暗号化された実行コードの認証を行って暗号化コードの有効性を確認し、セキュアプロセッサがその暗号化コードに対応する命令をフェッチし、セキュアタスクとして実行するコード実行装置が開示されている。
しかしながら、このようなコード実行装置ではソフトウェアの大規模な変更等が必要となってしまう。用途によっては、特定部分の命令・データだけを暗号化して保護すればよい場合もあり、このように大規模なソフトウェア変更が必要となる構成では、費用対効果の点から好ましくない。
通常プロセッサでは、命令の解析実行を行う実行部が、メモリ管理ユニット、キャッシュメモリ、及びバスインタフェースを介して命令をフェッチし、実行結果をメモリにストアする等のサイクルを繰り返す。このような通常のプロセッサに対し、完全な秘密保護機能を実装しようとすると、データパス上に暗号処理回路を追加して、命令や実行結果等の全ての情報に対して暗号化・復号化を実行することになる。しかしながら、全ての情報に対する秘密保護機能が必要でなく、情報を部分的に暗号化して保護すれば目的が達成されるような用途の場合には、このような構成では規模が不必要に大きくなり、コストもかかり過ぎるという問題がある。
特開2002−353960号公報 特開2003−280989号公報 特開2004−320533号公報
以上を鑑みて本発明は、情報を部分的に暗号化して保護すれば十分である場合に、そのような用途に適した効率的な構成のプロセッサ及びシステムを提供することを目的とする。
本発明によるプロセッサは、プログラムを実行する実行部と、該実行部に結合されるバスと、該バスに結合されるローカルメモリと、該バスに結合されるDMAユニットと、該バスと外部とを結合するインターフェースを含み、該DMAユニットは、該実行部からの命令に応じてDMA転送処理を実行し、該DMA転送処理により該インターフェースを介して外部から情報を取り込み、該取り込んだ情報を復号化し、該復号化した情報を該DMA転送処理により該ローカルメモリに書き込むよう構成され、該DMAユニットは、該DMA転送処理を実行するDMAコントローラと、該実行部が実行するプログラムに関連したIDを格納するレジスタと、該レジスタに設定された前記DMA転送処理のアクセスのIDと、前記DMA転送処理の終了後に前記実行部により要求される別のDMA転送処理のアクセスのIDとが一致するか否かに応じて該別のDMA転送処理の実行を許可又は禁止する制御回路を含むことを特徴とする。
また本発明によるシステムは、メモリと、該メモリに結合される外部バスと、該外部バスに結合されるプロセッサを含み、該プロセッサは、プログラムを実行する実行部と、該実行部に結合される内部バスと、該内部バスに結合されるローカルメモリと、該内部バスに結合されるDMAユニットと、該内部バスと該外部バスとを結合するインターフェースを含み、該DMAユニットは、該実行部からの命令に応じてDMA転送処理を実行し、該DMA転送処理により該インターフェースを介して該メモリから情報を取り込み、該取り込んだ情報を復号化し、該復号化した情報を該DMA転送処理により該ローカルメモリに書き込むよう構成され、該DMAユニットは、該DMA転送処理を実行するDMAコントローラと、該実行部が実行するプログラムに関連したIDを格納するレジスタと、該レジスタに設定された前記DMA転送処理のアクセスのIDと、前記DMA転送処理の終了後に前記実行部により要求される別のDMA転送処理のアクセスのIDとが一致するか否かに応じて該別のDMA転送処理の実行を許可又は禁止する制御回路を含むことを特徴とする。
本発明の少なくとも1つの実施例によれば、秘密の保護が必要なデータ又は命令コードは、プロセッサの外部においては暗号化された状態で保持され、復号化された状態においてはプロセッサ内部のローカルメモリに保持される。このローカルメモリをプロセッサの内部からのみアクセス可能なように構成すれば、復号化された情報を外部からアクセスすることはできない。従って、情報の機密に関して高い安全性を提供することができる。また通常のプロセッサの構成に対して、DMAユニット及びローカルメモリのモジュールを付加するだけで、容易に本発明のプロセッサを実現することができる。
また外部から取り込む情報が暗号化されていない平文情報である場合には、プロセッサ内部に設けられたローカルメモリを用いる必要はない。この場合、外部から取り込んだ平文情報は、通常のプロセッサの場合と同様に、ローカルメモリを介することなく実行部に直接に供給される。即ちこのプロセッサにおいては、平文情報の場合には通常のプロセッサと同様に動作し、暗号化情報の場合にはDMAユニットとローカルメモリとを利用して復号化処理をプロセッサ内部で効率的に実行することができる。
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
図1は、本発明によるセキュアプロセッサを用いたシステムの構成を示す図である。なお以下の説明では、図1に示すような本発明による情報保護機能を有するプロセッサのことをセキュアプロセッサと呼ぶ。
図1のシステムは、セキュアプロセッサ10、ROM11、メモリ12、HDD13、外部命令・データバス14、及び外部アドレスバス15を含む。ROM11、メモリ12、及びHDD13は、外部命令・データバス14及び外部アドレスバス15を介してセキュアプロセッサ10に接続される。ROM11、メモリ12、及びHDD13は、データや命令コード等の情報を、暗号化された状態或いは平文状態(暗号化されていない状態)で格納する。
セキュアプロセッサ10は、実行部21、メモリ管理ユニット(MMU)22、セキュアDMA23、キャッシュメモリ24、ローカルメモリ25、及びバス・インターフェース(バスI/F)26を含む。実行部21、セキュアDMA23、キャッシュメモリ24、ローカルメモリ25、及びバスI/F26は、内部命令・データバス27を介して互いに接続される。またMMU22、セキュアDMA23、キャッシュメモリ24、ローカルメモリ25、及びバスI/F26は、内部アドレスバス28を介して互いに接続される。
実行部21はCPUであり、プログラムを構成する命令列を順次メモリからフェッチしてデコード・実行することで、プログラムを実行する。プログラム実行に伴い、実行部21は、ROM11、メモリ12、HDD13をアクセスして、指定したアドレスに対して情報の読み書きを実行する。
実行部21が論理アドレスをMMU22に供給すると、MMU22が論理アドレスを物理アドレスに変換して、変換後の物理アドレスをアドレスバスに送出する。これにより実行部21は、指定した論理アドレスに対応する物理アドレスにアクセスすることができる。
本発明においては、セキュアプロセッサ10内部に、セキュアDMA23及びローカルメモリ25が設けられている。セキュアDMA23は通常のDMA(Direct Memory Access)転送機能に加えて、暗号化・復号化機能を有している。セキュアDMA23は、実行部21からの起動命令に応じてDMA転送処理を実行することにより、セキュアプロセッサ10外部の転送元(例えばメモリ12)の指定アドレスから暗号化情報(暗号化されたデータや命令コード等)を読み出し、外部命令・データバス14及びバスI/F26を介して、暗号化情報をセキュアDMA23内部に取り込む。セキュアDMA23は、DMA転送処理により取り込んだ暗号化情報を復号化機能により復号化し、復号化した情報をDMA転送処理により転送先であるローカルメモリ25に転送して指定アドレスに書き込む。DMA転送処理の終了後に、実行部21が、ローカルメモリ25に格納された復号化済みの情報をアクセスして、適宜必要な処理を実行する。
またセキュアDMA23は、実行部21からの起動命令に応じてDMA転送処理を実行することにより、ローカルメモリ25に格納された平文情報を読み出し、バスI/F26及び外部命令・データバス14を介して、セキュアプロセッサ10外部の転送先(例えばメモリ12)に転送する。この際、セキュアDMA23は、DMA転送処理を実行しながらローカルメモリ25の平文情報を暗号化機能により暗号化し、この暗号化した情報をセキュアプロセッサ10外部に送出する。
このようにして本発明においては、秘密の保護が必要なデータ又は命令コードは、セキュアプロセッサ10の外部においては常に暗号化された状態で保持され、復号化された状態においてはセキュアプロセッサ10内部のローカルメモリ25に保持される。このローカルメモリ25は、セキュアプロセッサ10の内部からのみアクセス可能であり、復号化された情報を外部からアクセスすることはできない。従って、プロセッサ外部のメモリ上で復号化する場合に比較して、情報の機密に関する安全性が格段に高まる。また通常のプロセッサの構成に対して、セキュアDMA23及びローカルメモリ25のモジュールを付加するだけで、容易に本発明のセキュアプロセッサ10を実現することができる。
なお本発明のセキュアプロセッサ10において、外部から取り込む情報が暗号化されていない平文情報である場合には、ローカルメモリ25は用いられない。この場合、外部から取り込んだ平文情報は、通常のプロセッサの場合と同様にキャッシュメモリ24に格納され、実行部21がキャッシュメモリ24にアクセスすることで、格納された情報を利用することになる。即ちプロセッサ10においては、平文情報の場合には通常のプロセッサと同様に動作し、暗号化情報の場合にはセキュアDMA23とローカルメモリ25とを利用して復号化処理をプロセッサ内部で効率的に実行することができる。また平文情報を例えばメモリ12に書き込む場合も同様であり、通常のプロセッサの場合と同様に、実行部21からキャッシュメモリ24を介してメモリ12に情報が書き込まれる。
図2は、メインメモリ、キャッシュメモリ24、及びローカルメモリ25の関係を示す図である。まず図2(a)に示されるように、メインメモリのメモリ空間(この例ではアドレス0x0000_0000から0x7fff_ffffまでの領域)は、部分的にキャッシュメモリに割当てられる。即ち、メモリ空間上のあるアドレスが実行部21によりアクセスされると、そのアドレスの内容がメインメモリからキャッシュメモリ24にコピーされることで、キャッシュメモリ24内にメインメモリの内容の一部が保持される。
それに対してローカルメモリ25は、図2(b)に示されるようにI/O空間上で、メインメモリの領域(0x0000_0000から0x7fff_ffff)とは別のアドレス領域に割当てられている。図2(b)の例では、ローカルメモリ25の領域はメインメモリの領域と離れて配置されているが、メインメモリの領域に続く0x8000_0000から始まる領域にローカルメモリ25を割当てても良い。
図3は、MMU22及びローカルメモリ25の第1の実施例の構成を示す図である。本発明においては、ローカルメモリ25に対するアクセスをプロセス間で制限することにより、情報の保護に関して更に安全性を向上させることができる。この第1の実施例では、ローカルメモリ25に対するアクセスをプロセス間で制限するために、実行中のプログラムが設定するアクセスIDに基づいたアクセス制御を行う。
図3(a)には、MMU22の構成の一部が示される。MMU22は、実行部21から供給される論理アドレスを物理アドレスに変換する。この論理アドレスを物理アドレスに変換するためのハードウェアとして、MMU22には、変換索引バッファ(TLB:Translation Lookaside Buffer)が設けられている。この変換索引バッファには、システム上の複数のプロセスに対して、最近アクセスされた論理ページの物理アドレスが、TLBエントリ31として保持されている。各TLBエントリには、論理ページ番号と物理ページ番号との両方が含まれている。
実行部21が論理アドレスへのアクセスを試みると、MMU22は論理アドレスに合致するTLBエントリ31を探す。見つかったTLBエントリ31に基づいて、論理アドレスを物理アドレスに変換し、所望のデータにアクセスする。実行中のプログラムが、TLBエントリ31の存在しない論理ページにアクセスしようとすると、TLBミスが発生し、オペレーティングシステムの例外処理が実行される。この例外処理により、アドレス変換のための新しいTLBエントリ31が生成される。
MMU22には更に、アクセスID32を格納するレジスタが設けられている。これは例えば、実行中のプログラムによるアクセスに対して設定するIDである。本発明の第1の実施例においては、このようにアクセスID32をMMU22に保存しておき、ローカルメモリアクセスの領域確保時に、MMU22内のアクセスID32の値をローカルメモリ25内の制御レジスタに書き込む。
図3(b)は、ローカルメモリ25の構成の一例を示す図である。ローカルメモリ25は、メモリコア41、コマンド/アドレスデコーダ42、アクセスIDレジスタ43を含む。コマンド/アドレスデコーダ42は、アドレスバスを介してアドレスを受け取ると共に、命令バスを介してリード/ライトコマンドを受け取る。コマンド/アドレスデコーダ42は、これらのアドレス及びコマンドをデコードして、メモリコア41に対して所定のアクセス動作(書き込み動作又は読み出し動作)を実行する。
実行部21が、外部から暗号化情報を取り込む場合、ローカルメモリ25に対して初期化コマンドを発行してメモリを初期化し、更にセキュアDMA23に対してDMA起動コマンドを発行することでDMA転送処理を実行する。ローカルメモリ25の初期化処理は、初期化処理部42bにより実行される。この際、MMU22のアクセスID32の値(DMA転送処理を要求したプログラムによるアクセスに対して設定されたID)を、ローカルメモリ25のアクセスIDレジスタ43にコピーしておく。
セキュアDMA23によるDMA転送処理の終了後、実行部21は、DMA転送処理によりローカルメモリ25内に格納された復号化後の情報をアクセスしようとする。これは、実行部21が読み出しコマンドを発行すると共に、ローカルメモリ25の読み出し先の論理アドレスをMMU22に対して供給することで行われる。このときMMU22は、読み出し先の論理アドレスを物理アドレスに変換して送出すると共に、ローカルメモリ25に読み出しアクセスする処理のアクセスIDをローカルメモリ25に供給する。
ローカルメモリ25のコマンド/アドレスデコーダ42は、読み出しコマンドに応答して、アクセスIDレジスタ43のアクセスID(DMA転送処理のアクセスID)の値が、MMU22から供給されるアクセスID(読み出し処理のアクセスID)の値と一致するか否かを判定する。これはコマンド/アドレスデコーダ42内に設けられるID比較器42aにより実行される。アクセスIDレジスタ43のアクセスIDの値が、MMU22から供給されるアクセスIDの値と一致すると、コマンド/アドレスデコーダ42は受信したアドレスをデコードして、メモリコア41の指定されたアドレスに対して読み出しアクセス動作を実行する。読み出したデータは、メモリコア41からデータバスに送出され、実行部21に供給される。
このような構成とすることで、要求されたアクセスのアクセスIDの値が当初設定した値(DMA転送処理のアクセスIDの値)と異なる場合には、その要求されたアクセスを禁止することができる。異なるアクセスIDではローカルメモリ25のメモリコア41にアクセスできない状態は、アクセスIDレジスタ43の内容をクリアしてローカルメモリ25を開放するまで続くことになる。このようにして第1の実施例では、プロセス間での違法なアクセスを禁止して、情報の保護に関して更に安全性を向上させることができる。
なお上記説明では、アクセスIDに基づいてローカルメモリ25へのアクセスを制御する構成とした。本発明はこのような構成に限定されるものではなく、アクセスIDの代わりに例えばプロセスIDを用いて、プロセスIDの値に応じてローカルメモリ25へのアクセスを制御する構成としてもよい。
図4は、MMU22及びローカルメモリ25の第2の実施例の構成を示す図である。本発明においては、ローカルメモリ25に対するアクセスをアクセス権により制限することにより、情報の保護に関して更に安全性を向上させることができる。この第2の実施例では、ローカルメモリ25に対するアクセスをアクセス権により制限するために、実行中のプログラムが設定するユーザモード・特権モード切替信号(S−bit)に基づいたアクセス制御を行う。
図4(a)には、MMU22の構成の一部が示される。MMU22には、TLBエントリ31とSビットレジスタ51が設けられている。Sビットレジスタ51は、実行中のプログラムがユーザモードで実行されているか或いは特権モード(スーパーバイザモード)で実行されているかを示す情報(特権レベル情報)を格納する。本発明の第2の実施例においては、ローカルメモリアクセスの領域確保時に、MMU22内のSビットレジスタ51の値をローカルメモリ25内の制御レジスタに書き込む。
図4(b)は、ローカルメモリ25の構成の一例を示す図である。ローカルメモリ25は、メモリコア41、コマンド/アドレスデコーダ52、及びSビットレジスタ53を含む。コマンド/アドレスデコーダ52は、アドレスバスを介してアドレスを受け取ると共に、命令バスを介してリード/ライトコマンドを受け取る。コマンド/アドレスデコーダ52は、これらのアドレス及びコマンドをデコードして、メモリコア41に対して所定のアクセス動作(書き込み動作又は読み出し動作)を実行する。
実行部21が、外部から暗号化情報を取り込む場合、ローカルメモリ25に対して初期化コマンドを発行してメモリを初期化し、更にセキュアDMA23に対してDMA起動コマンドを発行することでDMA転送処理を実行する。ローカルメモリ25の初期化処理は、初期化処理部52bにより実行される。この際、MMU22のSビットレジスタ51の値(DMA転送処理を要求したプログラムの特権レベル情報)を、ローカルメモリ25のSビットレジスタ53にコピーしておく。
セキュアDMA23によるDMA転送処理の終了後、実行部21は、DMA転送処理によりローカルメモリ25内に格納された復号化後の情報をアクセスしようとする。これは、実行部21が読み出しコマンドを発行すると共に、ローカルメモリ25の読み出し先の論理アドレスをMMU22に対して供給することで行われる。このときMMU22は、読み出し先の論理アドレスを物理アドレスに変換して送出すると共に、ローカルメモリ25に読み出しアクセスするプログラムの特権レベル情報をローカルメモリ25に供給する。
ローカルメモリ25のコマンド/アドレスデコーダ52は、読み出しコマンドに応答して、Sビットレジスタ53の特権レベル情報(DMA転送処理の特権レベル情報)の値が、MMU22から供給される特権レベル情報(読み出し処理の特権レベル情報)の値と一致するか否かを判定する。これはコマンド/アドレスデコーダ52内に設けられるS比較器52aにより実行される。Sビットレジスタ53の特権レベル情報が、MMU22から供給される特権レベル情報と一致すると、コマンド/アドレスデコーダ52は受信したアドレスをデコードして、メモリコア41の指定されたアドレスに対して読み出しアクセス動作を実行する。読み出したデータは、メモリコア41からデータバスに送出され、実行部21に供給される。
このような構成とすることで、アクセス要求したプログラム(プロセス)の特権レベルが、当初設定した特権レベル(DMA転送処理を要求したプログラム(プロセス)の特権レベル)と異なる場合には、その要求されたアクセスを禁止することができる。異なる特権レベル情報ではローカルメモリ25のメモリコア41にアクセスできない状態は、Sビットレジスタ53の内容をクリアしてローカルメモリ25を開放するまで続くことになる。なお特権レベル情報が一致するか否かでアクセスの可否を決定するのではなく、特権モード(スーパーバイザモード)には無条件でアクセス可能な権限を与えるように構成してもよい。この場合、アクセス要求したプログラムの特権レベルが特権モードであれば、当初設定した特権レベルがユーザモードであるか特権モードであるかに関わらずアクセス可能となる。このようにして第2の実施例では、特権レベル情報に基づいて違法なアクセスを禁止することにより、情報の保護に関して更に安全性を向上させることができる。
図5は、セキュアDMA23の第1の実施例の構成を示す図である。本発明においては、セキュアDMA23に対する駆動要求をプロセス間で制限することにより、情報の保護に関して更に安全性を向上させることができる。このセキュアDMA23の第1の実施例においては、セキュアDMA23に対する駆動要求をプロセス間で制限するために、実行中のプログラムが設定するアクセスIDに基づいた駆動要求制御を行う。この場合に使用されるMMU22は、図3(a)に示される構成と同一であり、所定のレジスタにアクセスID32が格納されている。
図5は、セキュアDMA23の構成の一例を示す図である。セキュアDMA23は、暗号処理回路61、DMAコントローラ62、及びアクセスIDレジスタ63を含む。DMAコントローラ62は、アドレスバスを介して転送元アドレスや転送先アドレス等のアドレス情報を受け取ると共に、命令バスを介してDMA転送処理起動コマンドを受け取る。DMAコントローラ62は、DMA転送処理起動コマンドに応答して、転送元アドレスから転送先アドレスへのDMA転送を実行しながら、このDMA転送される情報の復号化処理を暗号処理回路61により実行する。
実行部21が、外部から暗号化情報を取り込む場合、ローカルメモリ25に対して初期化コマンドを発行してメモリを初期化し、更にセキュアDMA23に対してDMA起動コマンドを発行することでDMA初期化処理(初期設定処理)及びDMA転送処理を実行する。セキュアDMA23の初期化処理は、転送元アドレス及び転送先アドレスの設定や転送元及び転送先のアドレス増減の設定等からなり、初期化処理部62bにより実行される。この際、MMU22のアクセスID32の値(DMA転送処理を要求したプログラムによるアクセスに対して設定されたID)を、アクセスID32のアクセスIDレジスタ63にコピーしておく。
セキュアDMA23によるDMA転送処理の終了後、実行部21が、更に別のDMA転送処理を試みる場合を考える。このときMMU22は、DMA転送処理を要求するプログラムのアクセスIDをセキュアDMA23に供給する。
セキュアDMA23のDMAコントローラ62は、DMA転送処理起動コマンドに応答して、アクセスIDレジスタ63のアクセスID(前回のDMA転送処理のアクセスID)の値が、MMU22から供給されるアクセスID(今回のDMA転送処理のアクセスID)の値と一致するか否かを判定する。これはDMAコントローラ62内に設けられるID比較器62aにより実行される。アクセスIDレジスタ63のアクセスIDの値が、MMU22から供給されるアクセスIDの値と一致すると、DMAコントローラ62はDMA転送処理及び復号化処理を実行し、復号化した情報をローカルメモリ25に書き込む。
このような構成とすることで、要求されたDMA転送処理のアクセスIDの値が当初設定した値(前回のDMA転送処理のアクセスIDの値)と異なる場合には、その要求されたDMA転送処理を禁止することができる。即ち、ローカルメモリ25に対して書き込む動作(DMA転送処理・復号化処理による書き込み動作)を、異なるアクセスID間で禁止することができる。なお異なるアクセスIDではセキュアDMA23を起動できない状態は、アクセスIDレジスタ63の内容をクリアするまで続くことになる。このようにしてセキュアDMA23の第1の実施例では、プロセス間での違法なローカルメモリ書き込み処理を禁止して、情報の保護に関して更に安全性を向上させることができる。
図6は、セキュアDMA23の第2の実施例の構成を示す図である。本発明においては、セキュアDMA23に対する駆動要求をアクセス権により制限することにより、情報の保護に関して更に安全性を向上させることができる。このセキュアDMA23の第2の実施例では、セキュアDMA23に対する駆動要求をアクセス権により制限するために、実行中のプログラムが設定するユーザモード・特権モード切替信号(S−bit)に基づいた駆動要求制御を行う。この場合に使用されるMMU22は、図4(a)に示される構成と同一であり、Sビットレジスタ51が設けられている。
図6は、セキュアDMA23の構成の一例を示す図である。セキュアDMA23は、暗号処理回路61、DMAコントローラ72、及びSビットレジスタ73を含む。DMAコントローラ72の動作は基本的に、DMAコントローラ62の動作と同一である。
実行部21が、外部から暗号化情報を取り込む場合、ローカルメモリ25に対して初期化コマンドを発行してメモリを初期化し、更にセキュアDMA23に対してDMA起動コマンドを発行することでDMA初期化処理(初期設定処理)及びDMA転送処理を実行する。セキュアDMA23の初期化処理は、転送元アドレス及び転送先アドレスの設定や転送元及び転送先のアドレス増減の設定等からなり、初期化処理部72bにより実行される。この際、MMU22のSビットレジスタ51の値(DMA転送処理を要求したプログラムの特権レベル情報)を、セキュアDMA23のSビットレジスタ73にコピーしておく。
セキュアDMA23によるDMA転送処理の終了後、実行部21が、更に別のDMA転送処理を試みる場合を考える。このときMMU22は、DMA転送処理を要求するプログラムの特権レベル情報をセキュアDMA23に供給する。
セキュアDMA23のDMAコントローラ72は、DMA転送処理起動コマンドに応答して、Sビットレジスタ73の特権レベル情報(前回のDMA転送処理の特権レベル情報)の値が、MMU22から供給される特権レベル情報(今回のDMA転送処理の特権レベル情報)の値と一致するか否かを判定する。これはDMAコントローラ72内に設けられるID比較器72aにより実行される。アクセスIDレジスタ73のアクセスIDの値が、MMU22から供給されるアクセスIDの値と一致すると、DMAコントローラ72はDMA転送処理及び復号化処理を実行し、復号化した情報をローカルメモリ25に書き込む。
このような構成とすることで、DMA転送処理の起動を要求したプログラム(プロセス)の特権レベルが、当初設定した特権レベル(前回のDMA転送処理を要求したプログラム(プロセス)の特権レベル)と異なる場合には、その要求されたDMA転送処理(即ちローカルメモリ書き込み処理)を禁止することができる。異なる特権レベル情報ではDMA転送処理を起動できない状態は、Sビットレジスタ73の内容をクリアするまで続くことになる。
なお特権レベル情報が一致するか否かでDMA転送処理の起動の可否を決定するのではなく、特権モード(スーパーバイザモード)には無条件でDMA転送処理の起動可能な権限を与えるように構成してもよい。この場合、DMA転送処理の起動を要求したプログラムの特権レベルが特権モードであれば、当初設定した特権レベルがユーザモードであるか特権モードであるかに関わらずDMA転送処理の起動可能となる。このようにしてセキュアDMA23の第2の実施例では、特権レベル情報に基づいて違法なローカルメモリ書き込み処理を禁止することにより、情報の保護に関して更に安全性を向上させることができる。
図7は、セキュアDMA23の第3の実施例の構成を示す図である。図7のセキュアDMA23は、共通鍵処理部81、DMA制御部82、コマンドデコーダ83、公開鍵演算部84、公開鍵暗号化情報レジスタ85、共通鍵レジスタ86、及び秘密鍵レジスタ87を含む。このセキュアDMA23の第3の実施例では、暗号化側においては共通鍵を公開鍵により暗号化し、セキュアDMA23側においては暗号化された共通鍵を秘密鍵で復号化することにより、安全に共通鍵を共有し、これにより共通鍵を利用した情報の暗号化・復号化を可能にする。
共通鍵処理部81は、共通鍵を用いた暗号化処理及び復号化処理を実行する。この共通鍵処理部81が使用する共通鍵(K)は、共通鍵レジスタ86に格納されている。DMA制御部82は、DMA転送処理を実行する。コマンドデコーダ83は、外部から供給されるコマンドをデコードする。このデコード結果に応じて、共通鍵処理部81による暗号化処理及び復号化処理、DMA制御部82によるDMA転送処理が実行される。
公開鍵暗号化情報レジスタ85は、公開鍵により暗号化された共通鍵Kを格納する。この暗号化された共通鍵Kは、セキュアプロセッサ10外部の例えばメモリ12に格納されており、これをDMA転送処理の開始前にセキュアDMA23に取り込み、公開鍵暗号化情報レジスタ85に格納する。公開鍵演算部84は、上記公開鍵に対応する秘密鍵を用いて、暗号化された共通鍵Kを復号化(解読)して、平文の共通鍵Kを生成する。生成された平文の共通鍵Kは、共通鍵レジスタ86に格納される。なお共通鍵を復号化するための秘密鍵は、秘密鍵レジスタ87に内部鍵として格納されており、セキュアDMA23外部に流出しないように管理される。
図8は、第3の実施例のセキュアDMA23を使用する場合の情報の流れを説明するための図である。図8において、情報源90は、例えば他のシステムで実行されるプログラムであってよく、又は他のシステムそのものであってもよい。情報源90は、ターゲットファイル91、暗号鍵K、公開鍵Pを有する。ターゲットファイル91は、機密情報であり、外部から解読されることのないように、安全な暗号化手法により保護されるべき情報である。
情報源90のターゲットファイル91は、情報源90が指定した暗号鍵(共通鍵)Kにより暗号化される(ステップS1)。この暗号化処理により、暗号鍵(共通鍵)Kにより暗号化された暗号化ターゲットファイル92が生成される。また情報源90が指定した暗号鍵(共通鍵)Kは、一般に公開されている公開鍵Pにより暗号化される(ステップS2)。この暗号化処理により、公開鍵Pにより暗号化された暗号化共通鍵93が生成される。
暗号化ターゲットファイル92と暗号化共通鍵93は、例えば図1に示されるROM11、メモリ12、或いはHDD13等の情報記憶部94に格納される。
セキュアプロセッサ10は、情報記憶部94に格納された暗号化共通鍵93を取り込んで、公開鍵暗号化情報レジスタ85に格納する。公開鍵暗号化情報レジスタ85に格納された暗号化共通鍵93は、公開鍵演算部84により解読されて、平文の共通鍵Kが生成される。この解読処理は、情報源90側で共通鍵Kの暗号化に使用した公開鍵Pと対であり、秘密鍵レジスタ87に格納されている秘密鍵Sを用いて実行される。生成された平文の共通鍵Kは、共通鍵レジスタ86に格納される。
セキュアプロセッサ10は更に、DMA制御部82によるDMA転送処理により、情報記憶部94に格納される暗号化ターゲットファイル92を読み出して、共通鍵処理部81に供給する。共通鍵処理部81は、共通鍵レジスタ86の格納される共通鍵Kを用いて復号化処理を実行し、平文のターゲットファイル91を生成する。このようにして復号化されたターゲットファイル91は、DMA制御部82によるDMA転送処理により、ローカルメモリ25に転送され書き込まれる。
このようにして公開鍵の対となる秘密鍵はセキュアDMA23内部で保持し、外部に流出しない構造とする。またDMA転送の対象となる情報を暗号化・復号化するための共通鍵は、公開鍵にて暗号化された状態でのみ外部に流通する。従って、共通鍵を外部で解読することは略不可能であり、共通鍵で暗号化された情報の機密性を守ることができる。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
本発明によるセキュアプロセッサを用いたシステムの構成を示す図である。 メインメモリ、キャッシュメモリ、及びローカルメモリの関係を示す図である。 MMU及びローカルメモリの第1の実施例の構成を示す図である。 MMU及びローカルメモリの第2の実施例の構成を示す図である。 セキュアDMAの第1の実施例の構成を示す図である。 セキュアDMAの第2の実施例の構成を示す図である。 セキュアDMAの第3の実施例の構成を示す図である。 第3の実施例のセキュアDMAを使用する場合の情報の流れを説明するための図である。
符号の説明
10 セキュアプロセッサ
11 ROM
12 メモリ
13 HDD
14 外部命令・データバス
15 外部アドレスバス
21 実行部
22 MMU
23 セキュアDMA
24 キャッシュメモリ
25 ローカルメモリ
26 バス・インターフェース

Claims (6)

  1. プログラムを実行する実行部と、
    該実行部に結合されるバスと、
    該バスに結合されるローカルメモリと、
    該バスに結合されるDMAユニットと、
    該バスと外部とを結合するインターフェースと
    を含み、該DMAユニットは、該実行部からの命令に応じてDMA転送処理を実行し、該DMA転送処理により該インターフェースを介して外部から情報を取り込み、該取り込んだ情報を復号化し、該復号化した情報を該DMA転送処理により該ローカルメモリに書き込むよう構成され
    該DMAユニットは、
    該DMA転送処理を実行するDMAコントローラと、
    該実行部が実行するプログラムに関連したIDを格納するレジスタと、
    該レジスタに設定された前記DMA転送処理のアクセスのIDと、前記DMA転送処理の終了後に前記実行部により要求される別のDMA転送処理のアクセスのIDとが一致するか否かに応じて該別のDMA転送処理の実行を許可又は禁止する制御回路
    を含むことを特徴とするプロセッサ。
  2. 該ローカルメモリはメインメモリ空間以外のアドレス領域に割当てられることを特徴とする請求項1記載のプロセッサ。
  3. 該ローカルメモリは、
    情報を記憶するメモリコア回路と、
    該実行部が実行するプログラムに関連したIDを格納するレジスタと、
    該レジスタに設定された前記DMA転送処理のアクセスのIDと、前記DMA転送処理の終了後に前記実行部から要求される該メモリコア回路への読み出し処理のアクセスのIDとが一致するか否かに応じて、該読み出し処理のアクセスを許可又は禁止する制御回路
    を含むことを特徴とする請求項1記載のプロセッサ。
  4. 該ローカルメモリは、
    情報を記憶するメモリコア回路と、
    該実行部が実行するプログラムの特権レベルを示す情報を格納するレジスタと、
    該レジスタに設定された前記DMA転送処理の特権レベル情報と、前記DMA転送処理の終了後に前記実行部から要求される該メモリコア回路への読み出し処理の特権レベル情報とが一致するか否かに応じて、該読み出し処理のアクセスを許可又は禁止する制御回路
    を含むことを特徴とする請求項1記載のプロセッサ。
  5. メモリと、
    該メモリに結合される外部バスと、
    該外部バスに結合されるプロセッサ
    を含み、該プロセッサは、
    プログラムを実行する実行部と、
    該実行部に結合される内部バスと、
    該内部バスに結合されるローカルメモリと、
    該内部バスに結合されるDMAユニットと、
    該内部バスと該外部バスとを結合するインターフェース
    を含み、該DMAユニットは、該実行部からの命令に応じてDMA転送処理を実行し、該DMA転送処理により該インターフェースを介して該メモリから情報を取り込み、該取り込んだ情報を復号化し、該復号化した情報を該DMA転送処理により該ローカルメモリに書き込むよう構成され
    該DMAユニットは、
    該DMA転送処理を実行するDMAコントローラと、
    該実行部が実行するプログラムに関連したIDを格納するレジスタと、
    該レジスタに設定された前記DMA転送処理のアクセスのIDと、前記DMA転送処理の終了後に前記実行部により要求される別のDMA転送処理のアクセスのIDとが一致するか否かに応じて該別のDMA転送処理の実行を許可又は禁止する制御回路
    を含むことを特徴とするシステム。
  6. 該ローカルメモリは該メモリのメモリ空間以外のアドレス領域に割当てられることを特徴とする請求項記載のシステム。
JP2005177628A 2005-06-17 2005-06-17 プロセッサ及びシステム Active JP4738068B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005177628A JP4738068B2 (ja) 2005-06-17 2005-06-17 プロセッサ及びシステム
US11/225,180 US7681044B2 (en) 2005-06-17 2005-09-14 Secure processor and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005177628A JP4738068B2 (ja) 2005-06-17 2005-06-17 プロセッサ及びシステム

Publications (2)

Publication Number Publication Date
JP2006350782A JP2006350782A (ja) 2006-12-28
JP4738068B2 true JP4738068B2 (ja) 2011-08-03

Family

ID=37574756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005177628A Active JP4738068B2 (ja) 2005-06-17 2005-06-17 プロセッサ及びシステム

Country Status (2)

Country Link
US (1) US7681044B2 (ja)
JP (1) JP4738068B2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8218770B2 (en) * 2005-09-13 2012-07-10 Agere Systems Inc. Method and apparatus for secure key management and protection
US8521955B2 (en) 2005-09-13 2013-08-27 Lsi Corporation Aligned data storage for network attached media streaming systems
JP4537940B2 (ja) * 2005-11-21 2010-09-08 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、及びプログラム実行制御方法
US8108692B1 (en) 2006-06-27 2012-01-31 Siliconsystems, Inc. Solid-state storage subsystem security solution
US10181055B2 (en) * 2007-09-27 2019-01-15 Clevx, Llc Data security system with encryption
US7966465B2 (en) * 2008-01-17 2011-06-21 Broadcom Corporation Method and system for secure code encryption for PC-slave devices
US8127131B2 (en) * 2008-04-10 2012-02-28 Telefonaktiebolaget Lm Ericsson (Publ) System and method for efficient security domain translation and data transfer
US9208522B2 (en) * 2008-06-23 2015-12-08 Bank Of America Corporation Systems and methods for cash positioning and reporting
US8736626B2 (en) 2008-08-26 2014-05-27 Matrox Graphics Inc. Method and system for cryptographically securing a graphics system
US8356184B1 (en) 2009-06-25 2013-01-15 Western Digital Technologies, Inc. Data storage device comprising a secure processor for maintaining plaintext access to an LBA table
JP5433349B2 (ja) * 2009-08-27 2014-03-05 ルネサスエレクトロニクス株式会社 データプロセッサ
WO2011064883A1 (ja) 2009-11-27 2011-06-03 株式会社東芝 メモリチップ
JP5631334B2 (ja) * 2009-12-14 2014-11-26 パナソニック株式会社 情報処理装置
US8543838B1 (en) * 2009-12-23 2013-09-24 Marvell International Ltd. Cryptographic module with secure processor
US8671107B2 (en) 2010-12-02 2014-03-11 Bank Of America Corporation Method and apparatus for global information reporting
US9305142B1 (en) 2011-12-19 2016-04-05 Western Digital Technologies, Inc. Buffer memory protection unit
JP5908991B2 (ja) * 2011-12-21 2016-04-26 インテル・コーポレーション 安全なダイレクトメモリアクセス
US9025768B2 (en) * 2013-03-08 2015-05-05 Broadcom Corporation Securing variable length keyladder key
RU2559728C2 (ru) 2013-10-24 2015-08-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ копирования файлов с зашифрованного диска
US9753863B2 (en) * 2014-12-27 2017-09-05 Intel Corporation Memory protection with non-readable pages
US10896267B2 (en) * 2017-01-31 2021-01-19 Hewlett Packard Enterprise Development Lp Input/output data encryption
JP6698778B2 (ja) * 2018-10-04 2020-05-27 三菱電機株式会社 制御システム
CN114547663B (zh) * 2022-04-28 2022-07-22 广州万协通信息技术有限公司 基于usb接口的高速芯片实现数据加解密及读取的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001069481A (ja) * 1999-08-31 2001-03-16 Matsushita Electric Ind Co Ltd データ処理装置
JP2003114864A (ja) * 2001-10-04 2003-04-18 Hitachi Ltd データ転送制御回路
JP2003280989A (ja) * 2002-03-20 2003-10-03 Toshiba Corp 内部メモリ型耐タンパプロセッサおよび秘密保護方法
WO2003090086A1 (en) * 2002-04-18 2003-10-30 International Business Machines Corporation Control function based on requesting master id and a data address within an integrated system
JP2004152123A (ja) * 2002-10-31 2004-05-27 Matsushita Electric Ind Co Ltd 半導体集積回路装置、並びにプログラム引き渡し方法及びそのシステム
JP2004240536A (ja) * 2003-02-04 2004-08-26 Matsushita Electric Ind Co Ltd 情報処理装置
JP2004272594A (ja) * 2003-03-07 2004-09-30 Sony Corp データ利用装置及びデータ利用方法、並びにコンピュータ・プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5224166A (en) * 1992-08-11 1993-06-29 International Business Machines Corporation System for seamless processing of encrypted and non-encrypted data and instructions
JP3825121B2 (ja) * 1996-03-08 2006-09-20 松下電器産業株式会社 マイクロプロセッサ及び映像情報処理システム
JP2002353960A (ja) 2001-05-30 2002-12-06 Fujitsu Ltd コード実行装置およびコード配布方法
JP4408648B2 (ja) 2003-04-17 2010-02-03 富士通マイクロエレクトロニクス株式会社 暗号・認証処理装置、データ通信装置、および暗号・認証処理方法
US7475257B2 (en) * 2003-09-25 2009-01-06 International Business Machines Corporation System and method for selecting and using a signal processor in a multiprocessor system to operate as a security for encryption/decryption of data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001069481A (ja) * 1999-08-31 2001-03-16 Matsushita Electric Ind Co Ltd データ処理装置
JP2003114864A (ja) * 2001-10-04 2003-04-18 Hitachi Ltd データ転送制御回路
JP2003280989A (ja) * 2002-03-20 2003-10-03 Toshiba Corp 内部メモリ型耐タンパプロセッサおよび秘密保護方法
WO2003090086A1 (en) * 2002-04-18 2003-10-30 International Business Machines Corporation Control function based on requesting master id and a data address within an integrated system
JP2004152123A (ja) * 2002-10-31 2004-05-27 Matsushita Electric Ind Co Ltd 半導体集積回路装置、並びにプログラム引き渡し方法及びそのシステム
JP2004240536A (ja) * 2003-02-04 2004-08-26 Matsushita Electric Ind Co Ltd 情報処理装置
JP2004272594A (ja) * 2003-03-07 2004-09-30 Sony Corp データ利用装置及びデータ利用方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
US20060288235A1 (en) 2006-12-21
US7681044B2 (en) 2010-03-16
JP2006350782A (ja) 2006-12-28

Similar Documents

Publication Publication Date Title
JP4738068B2 (ja) プロセッサ及びシステム
US11550962B2 (en) Secure processor and a program for a secure processor
US8473754B2 (en) Hardware-facilitated secure software execution environment
US7694151B1 (en) Architecture, system, and method for operating on encrypted and/or hidden information
EP3355232B1 (en) Input/output data encryption
US7774622B2 (en) CRPTO envelope around a CPU with DRAM for image protection
KR20190075063A (ko) 처리 시스템에서의 직접 메모리 액세스 인가
JP2005521942A (ja) 領域粒状、ハードウェア制御メモリ暗号化を提供するシステムおよび方法
US10019603B2 (en) Secured memory system and method therefor
JP2022512051A (ja) メモリ完全性チェックのための完全性ツリー
JP2007310601A (ja) マイクロコンピュータおよびそのソフトウェア保護方法
JP5316592B2 (ja) セキュアプロセッサ用プログラム
JP5365664B2 (ja) セキュアプロセッサ
JP2009253490A (ja) メモリシステムの暗号化方式
JP4783451B2 (ja) セキュアプロセッサ
JP4783452B2 (ja) セキュアプロセッサ
JP5380392B2 (ja) 半導体装置、バスインターフェース装置、およびコンピュータシステム
WO2015157842A1 (en) Secured memory system and method therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080514

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110228

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: 20110405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110426

R150 Certificate of patent or registration of utility model

Ref document number: 4738068

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350