JP5272751B2 - プロセッサ - Google Patents

プロセッサ Download PDF

Info

Publication number
JP5272751B2
JP5272751B2 JP2009014660A JP2009014660A JP5272751B2 JP 5272751 B2 JP5272751 B2 JP 5272751B2 JP 2009014660 A JP2009014660 A JP 2009014660A JP 2009014660 A JP2009014660 A JP 2009014660A JP 5272751 B2 JP5272751 B2 JP 5272751B2
Authority
JP
Japan
Prior art keywords
address
processor
common key
encryption
command
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
JP2009014660A
Other languages
English (en)
Other versions
JP2010170495A (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 JP2009014660A priority Critical patent/JP5272751B2/ja
Priority to US12/686,530 priority patent/US8578156B2/en
Publication of JP2010170495A publication Critical patent/JP2010170495A/ja
Application granted granted Critical
Publication of JP5272751B2 publication Critical patent/JP5272751B2/ja
Active 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/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

Description

本発明は、外部メモリとの間で入出力するデータを暗号化するプロセッサとに関する。
近年、コンピュータや携帯情報端末の普及が高まるにつれ、それらの機器で実行されるプログラムに関するセキュリティの重要性が高まっている。
高性能を要求される機器は、プロセッサを用いて実現されるのが一般的である。高性能のプロセッサは、回路規模が大きく、動作には大容量のメモリが必要になる。そのため、高性能のプロセッサを使用して機器を形成する場合は、大容量の外部メモリが別チップにて実装される。
高いセキュリティが要求される機器は、プロセッサの外側で扱われるデータには暗号化を施し、内側にはアクセス保護を施すことで、データを直接読み取ることを不可能とするセキュアプロセッサを用いて実現される。セキュアプロセッサにおける、内部処理は暗号化されていない通常データを使用して行われる。
セキュアプロセッサに大容量の外部メモリを接続して使用する場合、セキュアプロセッサは出力するデータを、例えば上記のCTRモードで暗号化し、入力するデータをCTRモードで復号化する。暗号化および復号化処理のために、メモリアクセス時間が大幅に増加する。このように、メモリインタフェースを暗号化することは、メモリアクセス時間の大幅増を伴うため、実際には断念されているのが現状であり、メモリアクセス時間の短縮が求められている。
メモリアクセス時間増加の問題を解決するために、プロセッサのワーキングメモリとして動作する外部メモリとの間で入出力されるデータは暗号化せず、通信回線を介して通信されるデータやHDDなどのほかのデータのみを暗号化することも行われている。外部メモリは直接のアクセスが難しい配置とする。暗号化されたデータは、ソフトウェアによる処理によって復号して外部メモリに記憶する。プロセッサは、ワーキングメモリとして動作する外部メモリ上で高速な処理実行する。しかし、この方法は、アクセスが難しい位置であっても外部メモリ上に復号済みデータが存在することになり、セキュリティの面からは不十分である。
特開2006−526173号公報 特開2006−18528公報 特開2008−210225号公報
セキュアプロセッサは、高いセキュリティを実現する上で有効であるが、入手可能な種類に限りがあり、機器を実現するのに適当なプロセッサの性能およびセキュリティ性を有するセキュアプロセッサを入手するのが難しいという問題があった。
近年、各種回路要素がソフトウェア・ライブラリィの形で提供され、それらを組み合わせて1チップに搭載して所望の半導体装置を実現することが行われている。プロセッサもこのような形で提供され、1チップの半導体装置に組み込むことが可能である。また、1個のパッケージに、ベアチップの形で提供されたプロセッサと、ほかの回路要素のベアチップとを搭載して、1チップの半導体装置を実現することも行われている。
上記のような形態でセキュアプロセッサでない通常のプロセッサを組み込んで1チップのプロセッサやシステム・オン・チップ(SoC)などの半導体装置を実現する場合に、高いセキュリティのプロセッサシステムを実現することが要望されている。
また、セキュアプロセッサを使用する場合に限らず、上記のような場合も、メモリアクセスの安全性と高速性を実現することが有効である。
実施形態のプロセッサは、コマンド信号およびアドレス信号を出力すると共に、データ信号を入出力する外部バスモジュールを含むプロセッサユニットに、共通鍵およびアドレス信号を使用する暗号方式で外部バスモジュールに入出力するデータを暗号化および復号する暗号処理回路を付加し、プロセッサユニットおよび暗号処理回路を同一チップに収容することにより、高度のセキュリティを有するプロセッサを実現する。
実施形態によれば、選択の自由度が高い通常のプロセッサ構成を使用する場合でも、高度のセキュリティを有するプロセッサが実現できる。
図1は、CTRモードの共通鍵暗号処理方式を説明する図である。 図2は、プロセッサに外部メモリを接続した通常のシステムと、セキュアプロセッサに外部メモリを接続したシステムの概略構成を示す図である。 図3は、通常のシステムにおける外部バスモジュールと、メモリコントローラと、外部メモリの間の接続を説明する図である。 図4は、第1実施形態のプロセッサの構成を示す図である。 図5は、第1実施形態のプロセッサの暗号/復号処理回路の構成を示す図である。 図6は、第1実施形態におけるメモリライト処理の動作例を示すタイムチャートである。 図7は、第1実施形態におけるメモリリード処理の動作例を示すタイムチャートである。 図8は、第1実施形態のプロセッサの暗号/復号処理回路における回路構成をより詳細に示した図である。 図9は、第2実施形態のプロセッサの暗号/復号処理回路の構成を示す図である。 図10は、第2実施形態におけるメモリリード処理の動作例を示すタイムチャートである。 図11は、第3実施形態のプロセッサの暗号/復号処理回路の構成を示す図である。 図12は、第3実施形態におけるメモリライト処理の動作例を示すタイムチャートである。 図13は、第3実施形態におけるメモリリード処理の動作例を示すタイムチャートである。 図14は、第4実施形態のプロセッサの暗号/復号処理回路の構成を示す図である。
実施形態を説明する前に、メモリアクセスに使用できる共通鍵暗号処理について説明する。
共通鍵暗号処理には、ECBモード、CBCモード、CFBモード、OFBモード、CTRモードの5つの代表的動作モードが知られている。これらのうち、プロセッサによる一般的なメモリアクセス、すなわちランダムアクセスとの親和性が高い方式は、ECBモード、およびCTR(カウンタ)モードの2つである。ECBモードは、暗号化を一つの鍵で行い、平文と暗号文の関係は常に同じ(1対1対応)となるという特徴を有する。ECBモードは、暗号化/復号化処理が簡単である。しかし、ECBモードは、その特徴から、プロセッサで出現頻度が高い情報(00やFFなど)のパターン解析により、暗号強度(耐解析性)が相対的に弱くなるため、ランダムアクセスメモリに対する暗号化処理は多くの場合CTRモードが使用される。
図1は、CTR(カウンタ)モード暗号処理の基本的な処理の流れを示す図である。
外部メモリに出力データを書き込む処理は、次のように行われる。CTR1は、メモリアクセスアドレスおよび任意のアドレスからなるCTRアドレスを発生する。Enc2は、共通鍵を記憶しており、CTRアドレスおよび共通鍵に基づいて、暗号化演算結果を発生する。XOR3は、暗号化されていない(平文)の入力データとEnc2の発生した暗号化演算結果の排他的論理和(XOR)を演算して暗号化データを生成する。この暗号化データが外部メモリに記憶される。
外部メモリから入力データを読み込む処理は、次のように行われる。CTR4およびEnc5の処理は、CTR1およびEnc2の処理と同じであり、CTR1とCTR4およびEnc2とEnc5は一般的には共通化されている。外部メモリから読み出された暗号化された入力データは、XOR6により、Enc5の発生した暗号化演算結果と排他的論理和(XOR)演算されて、暗号化されていない(平文)の入力データに変換されてプロセッサに取り込まれる。
図2は、プロセッサに外部メモリを接続したプロセッサの従来例を示す図であり、(A)が暗号機能の無い外部メモリインタフェースの例であり、(B)は内部に暗号/復号処理部を有するセキュアプロセッサの例である。
図2の(A)に示すように、暗号機能の無いプロセッサは、同一チップ内に実装されている、プロセッサコア11、内部メモリ12、内部バス13、外部バスモジュール14、メモリコントローラ16などを有する。メモリコントローラ16には、外部メモリ17が接続される。
図3は、図2の(A)に示した要素のうち、外部バスモジュール14と、メモリコントローラ16と、外部メモリ17との間の接続をより詳細に示す図である。外部バスモジュール14とメモリコントローラ16は、アドレス信号A1、バス制御信号CB1、出力データDout1、入力データDin1に対応したバスで接続されている。メモリコントローラ16は、これらの信号を、外部バスモジュール14からの要求に応じて外部メモリ17宛の制御信号に変換し、アドレス信号A2、メモリ制御信号CM2、出力データDout2、入力データDin2を用いてメモリアクセスを行う。ここでは、チップの外部ピンPの左側のアドレス信号A2、メモリ制御信号CM2、出力データDout2、入力データDin2は、それぞれ外部ピンPの右側のアドレスA3、メモリ制御信号CM3、データD3に対応する。参照番号18は出力データDout2の出力バッファを、19は入力データDin2の入力バッファを示す。出力バッファ18および入力バッファ19は、メモリ制御信号CM2のリード/ライト信号により制御される。
図2の(A)および図3に示した外部メモリインタフェースは、広く知られているのでこれ以上の説明は省略する。
図2の(B)に示すように、セキュアプロセッサは、図2の(A)の構成に加えて、内部バス13に接続される暗号/復号処理部15を有する。暗号/復号処理部15は、外部に出力するデータを暗号化した後外部バスモジュール14を介して出力し、外部バスモジュール14から入力されるデータを復号化した後内部バス13に出力する。図2の(B)における外部バスモジュール14と、メモリコントローラ16と、外部メモリ17との間の接続は、図2の(A)および図3と同じである。しかし、図2の(B)において、外部バスモジュール14より外側の部分に存在するデータは、暗号化されたデータである。
図4は、第1実施形態のプロセッサ20の構成を示す図であり、外部メモリ17を接続した状態を示す。図4に示すように、第1実施形態のプロセッサ20は、同一チップ内に実装されている、プロセッサコア11と、内部メモリ12と、内部バス13と、外部バスモジュール14と、メモリコントローラ16と、暗号/復号処理回路21と、を有する。言い換えれば、図2の(A)の構成において、外部バスモジュール14とメモリコントローラ16の間に暗号/復号処理回路21を設けた構成を有する。
図5は、第1実施形態のプロセッサの暗号/復号処理回路の構成を示す図である。
図5に示すように、第1実施形態の暗号/復号処理回路は、バス制御回路BCTと、アドレス保持レジスタRDAと、アドレス上位レジスタRUAと、鍵レジスタRKと、共通鍵暗号処理制御部CECと、AES演算器ACALと、演算結果保持レジスタRESと、出力データ保持レジスタRODと、出力データ用XOR演算器OXORと、入力データ保持レジスタRIDと、入力データ用XOR演算器IXORと、を有する。
バス制御回路BCTは、バス制御信号CB1AおよびCB1Bに基づいて、アドレスラッチ信号(1)、出力データラッチ信号(2)および入力データラッチ信号(3)を生成する。さらに、バス制御回路BCTは、暗号処理結果が確定したのち、メモリコントローラ16に対し、保持したバス制御信号CB1BおよびアドレスA1Bを送出する。アドレス保持レジスタRDAは、アドレスラッチ信号に応じてアドレスA1Aを保持し、アドレス値の暗号処理を実行し結果が確定するまで制御信号とアドレスを保持する。
アドレス上位レジスタRUAおよび鍵レジスタRKの値は、レジスタ専用バスを介して、事前にソフトウェアにより設定される。アドレス上位レジスタRUAに設定される値は、任意の数値である。鍵レジスタRKに設定される値は、CTRモードの暗号鍵である。共通鍵暗号処理制御部CECは、共通鍵CTRモードで暗号処理を行う。CTRのカウンタ要素は、上位にアドレス上位レジスタRUAに設定された任意の数値、下位にはアドレスレジスタRDAに保持されたメモリアクセスのアドレス値を組み合わせて用いる。CTRモードの暗号鍵は、鍵レジスタRKの値を用いる。共通鍵制御部CECは、アドレス(RUA,RDA)値を入力とし、暗号鍵RKを鍵とした共通鍵暗号化処理を、AES(Advanced Encryption Standard)演算器ACALを利用して行い、その演算結果を演算結果保持レジスタRESに格納する。
出力データ保持レジスタRODは、書込(ライト)時に、出力データラッチ信号に応じて出力データDout1Aを保持する。出力データ用XOR演算器OXORは、出力データ保持レジスタRODに保持された出力データDout1Aの値を暗号処理結果とXOR演算した値を暗号化ライトデータDout1Bとして出力する。入力データ保持レジスタRIDは、読込(リード)時に、入力データラッチ信号に応じて入力データDin1Bを保持する。入力データ用XOR演算器IXORは、入力データ保持レジスタRIDに保持された出力データDin1Bの値を暗号処理結果とXOR演算した値を復号リードデータDin1Aとして出力する。
図6は、図5の暗号/復号処理回路にて、メモリライト処理の暗号化を実施した場合の動作例を示すタイムチャートであり、縦線は動作サイクルを示す。バス制御回路BCTは、コマンドCB1Aを保持すると同時に判定によりライトと判断する。アドレス保持レジスタRDAは、アドレスラッチ信号に応じてアドレスA1Aを保持し、保持したアドレスA1Aを共通鍵暗号処理制御部CECに入力する。共通鍵暗号処理制御部CECは、アドレスA1Aを用いて暗号(AES)処理を開始する。AES処理が完了して暗号処理結果(AES結果)が得られるまでには時間を要する。アドレス保持レジスタRDAは、AES結果が得られるまでアドレスA1Aを保持する。出力データ保持レジスタRODは、出力データラッチ信号に応じてAES処理が開始される時に、処理前のライトデータDout1Aを保持する。CECでの処理完了と同時に、演算結果保持レジスタRESはAES結果を保持する。これと同時に、バス制御回路BCTは保持したコマンドとアドレスをそれぞれCB1B、A1Bとして出力し、OXORはAES結果とDout1AのXORを演算してDout1Bとして出力する。
図7は、図5の暗号/復号処理回路にて、メモリリード処理の復号化を実施した場合の動作例を示すタイムチャートであり、縦線は動作サイクルを示す。バス制御回路BCTは、コマンドCB1Aを保持すると同時に判定によりリードと判断する。アドレス保持レジスタRDAは、アドレスラッチ信号に応じてアドレスA1Aを保持し、保持したアドレスA1Aを共通鍵暗号処理制御部CECに入力する。アドレス保持レジスタRDAは、AES結果が得られるまでアドレスA1Aを保持する。共通鍵暗号処理制御部CECは、アドレスA1Aを用いて暗号(AES)処理を開始する。AES処理完了と同時に、バス制御回路BCTは、保持したコマンドとアドレスをそれぞれCB1B、A1Bとして出力する。これに応じてリードコマンドの応答が返ると同時に、入力データ保持レジスタRIDは、演算結果保持レジスタRESに保持したAES結果とDout1BのXORを演算してDout1Aとして出力する。
図8は、図5のバス制御回路BCTおよび共通鍵暗号処理制御部CECにおいて、図6および図7の処理を行うための構成をより詳細に示した図である。バス制御信号CB1A、CB1Bを、それぞれ方向ごとの単体のバスに対応したバス制御信号CB1AC、CB1BC、リプライバス制御信号CB1AR、CB1BRに分割して示している。バス制御回路BCTは、コマンド判定部E1およびそれに接続されるD型FF(Flip Flop)およびORゲートと、コマンド保持レジスタE2と、コマンド発行判定部E3とおよびそれに接続されるANDゲートと、リプライ判定部E5とそれに接続されるD型FFと、を有する。共通鍵暗号処理制御部CECおよびAES演算器ACALは、ORゲートに接続されるD型FFと、AES演算器ACALと、AES演算完了フラグE4と、を有する。
まずバス制御信号CB1ACが入力されると、コマンド判定部E1およびその付随回路は、リードコマンド、ライトコマンドの判定および、両者をOR演算したアドレスラッチ信号(1)の生成を行う。また、また、これらの回路は、ライトコマンドの判定に基づいて出力データラッチ信号(2)を生成する。ORゲートに接続されるD型FFは、共通鍵(AES)演算開始信号(4)も生成する。また、コマンド保持レジスタE2にコマンドを保持し、バス制御信号CB1BCとして後で出力するために使用する。
AES演算器ACALは、AES演算開始信号(4)により、カウンタ(RUA,RDA)値、暗号鍵RKを取り込み、演算を開始する。演算終了時に、演算データと共に演算完了信号を出力する。この演算完了信号を用いて、演算データを演算結果保持レジスタRESに保持すると同時に、AES演算完了フラグE4をセットする。E4の出力は、AES演算完了フラグ(A)である。コマンド発行判定部E3は、AES演算完了フラグ(A)に応じて起動し、前述のE2、RDAで保持したデータをCB1BC、A1Bに出力する。
コマンド、アドレスの出力後は、ライトの場合はRESの出力を出力データ保持レジスタRODの値とXOR演算したデータを出力して終了する。リードの場合は、リプライ判定部E5が、リプライバス制御信号CB1BRへの応答を判定し、入力データラッチ信号(3)を出力する。保持レジスタRIDは、入力データラッチ信号(3)により入力データを保持し、RESの出力とXORしたデータをDin1Aとして出力して終了する。
第1実施形態では、ライト処理およびリード処理とも、共通鍵の処理分だけ遅延する。次に説明する第2実施形態では、リード処理の場合のみ、高速化を図る。
図9は、第2実施形態のプロセッサの暗号/復号処理回路の構成を示す図であり、図8に対応する図である。また、図10は、第2実施形態におけるリード処理を示すタイムチャートである。
第2実施形態のプロセッサは、リードデータ到着フラグRDFと、リプライ保持レジスタRPEPの出力を制御するANDゲートA1と、を有すること、およびコマンド発行判定部E3の構成が異なる以外は、第1実施形態のプロセッサに類似した構成を有する。
第2実施形態では、第1実施形態とは異なり、共通鍵処理を開始すると同時にリードコマンドを先行して発行する。具体的には、コマンド発行判定E3は、コマンド判定部E1からのリードコマンド判定信号を受け、リードコマンドであれば、暗号処理(AES処理)完了を待たずにバス制御信号CB1Bをメモリコントローラ16に対し発行する。リードアクセスとAES処理は、メモリの設定や性能に応じて、どちらが早く終わるかは分からない。そこで、リードデータ到着フラグRDFがリードアクセスの完了を検出し、リードデータ到着フラグ(B)を出力する。コマンド発行判定部E3は、リードデータ到着フラグ(B)と、共通鍵処理の終了信号(A)の両方が終わったことを確認し、ANDゲートA1を制御する。ANDゲートA1は、リプライ保持レジスタRREPの出力をリプライバス制御信号CB1ARとして出力する。それと同時に、入力データ保持レジスタRIDの出力と、共通鍵演算結果保持レジスタRESの出力をXOR演算し、Din1Aとして出力する。
第1実施形態では、暗号処理が終了した後メモリリードアクセスを開始した。リード処理の場合、暗号処理の演算結果は、外部メモリから読み出したリードデータに対して使用されるので、メモリリードアクセスは暗号処理の演算結果と関係しない。そこで、第2実施形態では、暗号処理とメモリリードアクセスを並行して行うことにより、処理時間が短縮される。第2実施形態では、メモリリードアクセスまたは暗号処理のどちらか遅い方に収束するものの、従来例より高速に処理を実行できる。
図11は、第3実施形態のプロセッサの暗号/復号処理回路の構成を示す図であり、図8および図9に対応する図である。図12は、第3実施形態におけるライト処理を示すタイムチャートであり、図13は、第3実施形態におけるリード処理を示すタイムチャートである。
第3実施形態のプロセッサは、アドレス保持レジスタRESAと、アドレス比較器CMPAと、ANDゲートA2と、ORゲートOR1と、を有すること以外は、第2実施形態のプロセッサに類似した構成を有する。
アドレス保持レジスタRESAは、演算結果保持レジスタRESに保持された演算結果を生成した演算を起動する要因となったアドレスを保持する。アドレス比較器CMPAは、コマンドのアドレスとアドレス保持レジスタRESAに保持されたアドレスとを比較して、演算結果保持レジスタRESに保持された演算結果がそのまま使用できるコマンドのアドレスであるか判定する。ANDゲートA2は、演算結果が使用可能である場合には、CMPAの出力によりAES演算開始信号(4)をマスクする。ORゲートOR1は、演算結果が使用可能である場合には、CMPAの出力により演算完了フラグE4のセット信号を生成する。演算完了フラグE4は、セット信号により演算が完了していること、すなわち演算が不要であることを示す。
第3実施形態では、コマンドのアドレスがRESAのものと一致した場合、暗号処理演算が起動されず、かつ演算完了の状態を示すため、図12に示すようにライトコマンドの場合、暗号処理の無い場合に比べて1サイクル増加するだけである。また、図13に示すようにリードの場合は2サイクル増加するだけである。このように、第3実施形態では、リード処理およびライト処理の両方でサイクル数を大幅に低減できる。また、共通鍵の暗号化ブロック単位(通常16〜32バイト)に対し、プロセッサのプログラムアクセス単位(通常1〜4バイト)が小さいことから、従来の例に比べ共通鍵の演算起動回数を1/4から1/32程度に抑えることが可能となる。
図14は、第4実施形態のプロセッサの暗号/復号処理回路の構成を示す図である。
第4実施形態のプロセッサは、アドレス保持レジスタRESAおよび演算結果保持レジスタRESを組として複数実装したこと、およびセレクタSELAを有すること以外は、第3実施形態のプロセッサに類似した構成を有する。セレクタSELAは、アドレス比較器CMPAの出力により、複数組の中からRESの出力を選択する。
第4実施形態では、RESAおよびRESが複数組設けられているので、その分コマンドのアドレスがRESAに保持されている確率が高まる。これにより、演算量を抑え高速処理が可能となる。
なお、第4実施形態の変形例として、複数組のアドレス保持レジスタRESAおよび演算結果保持レジスタRESを、プロセッサのほかの部分(プロセッサユニット)よりアクセスできるレジスタとし、予め演算結果を書き込むことが出来るようにする。これにより、予め暗号処理対象アドレスが限定されている場合に、暗号処理を起動する回数を減らすことが可能となる。
以上、実施形態を説明したが、開示の技術は、記載した実施形態に限定されるものでなく、各種の変形例が可能であることは、当業者には容易に理解されることである。
10 プロセッサユニット
14 外部バスモジュール
16 メモリコントローラ
17 外部メモリ
20 プロセッサ
21 暗号/複号処理回路
BCT バス制御回路
PDA アドレス保持レジスタ
RUA アドレス上位レジスタ
RK 鍵レジスタ
CEC 共通鍵暗号処理制御部
RES 演算結果保持レジスタ
ACAL AES演算器
ROD 出力データ保持レジスタ
RID 入力データ保持レジスタ
OXOR 出力XOR回路
IXOR 入力XOR回路

Claims (4)

  1. コマンド信号およびアドレス信号を出力すると共に、データ信号を入出力する外部バスモジュールを含むプロセッサユニットと、
    共通鍵および前記アドレス信号を使用する暗号方式で、前記外部バスモジュールに入出力するデータを暗号化および復号する暗号処理回路と、を備え、
    前記プロセッサユニットおよび前記暗号処理回路は、同一チップに収容されており、
    前記暗号処理回路は、
    前記共通鍵および前記アドレス信号に基づいて共通鍵暗号処理を行う共通鍵暗号処理回路と、
    前記共通鍵暗号処理回路の暗号処理結果に基づいて、出力データを暗号化し、入力データを復号する暗号/復号回路と、
    前記コマンド信号がリードコマンドであるかライトコマンドであるかを検出するコマンド判定回路と、
    前記コマンド信号がリードコマンドである時に出力した前記アドレス信号に応答して入力されるリードデータの到着を検出するリードデータ到着検出回路と、を備え、
    前記コマンド信号がリードコマンドである時には、前記アドレス信号をただちに出力し、前記コマンド信号がライトコマンドである時には、前記共通鍵暗号処理回路の暗号処理が完了した後、前記アドレス信号を、前記共通鍵暗号処理回路の暗号処理結果で暗号化したライトデータと共に出力し、
    リードデータの到着し且つ前記共通鍵暗号処理回路の暗号処理が終了した後、前記リードデータを暗号処理結果で暗号化した後出力することを特徴とするプロセッサ。
  2. 前記暗号処理回路は、
    前記共通鍵暗号処理回路の暗号処理結果を保持する結果保持レジスタと、
    前記結果保持レジスタに保持された暗号処理結果を発生させたコマンド信号のアドレスを保持するアドレスレジスタと、
    コマンド信号のアドレスが、前記アドレスレジスタに保持されたアドレスであるかを判定する比較回路と、を備え、
    コマンド信号のアドレスが、前記アドレスレジスタに保持されたアドレスである時には、前記共通鍵暗号処理を行わずに前記結果保持レジスタに保持された暗号処理結果を使用することを特徴とする請求項に記載のプロセッサ。
  3. 前記結果保持レジスタおよび前記アドレスレジスタの組を複数組備え、
    コマンド信号のアドレスが保持された前記アドレスレジスタに対応する前記結果保持レジスタに保持された暗号処理結果を使用することを特徴とする請求項に記載のプロセッサ。
  4. 前記結果保持レジスタおよび前記アドレスレジスタは、当該プロセッサから保持する値を設定可能であることを特徴とする請求項に記載のプロセッサ。
JP2009014660A 2009-01-26 2009-01-26 プロセッサ Active JP5272751B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009014660A JP5272751B2 (ja) 2009-01-26 2009-01-26 プロセッサ
US12/686,530 US8578156B2 (en) 2009-01-26 2010-01-13 Device including processor and encryption circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009014660A JP5272751B2 (ja) 2009-01-26 2009-01-26 プロセッサ

Publications (2)

Publication Number Publication Date
JP2010170495A JP2010170495A (ja) 2010-08-05
JP5272751B2 true JP5272751B2 (ja) 2013-08-28

Family

ID=42355118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009014660A Active JP5272751B2 (ja) 2009-01-26 2009-01-26 プロセッサ

Country Status (2)

Country Link
US (1) US8578156B2 (ja)
JP (1) JP5272751B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014000986A1 (de) 2014-01-24 2015-07-30 Infineon Technologies Ag Verschlüsselung von Daten eines Speicherbereichs
US9405919B2 (en) 2014-03-11 2016-08-02 Qualcomm Incorporated Dynamic encryption keys for use with XTS encryption systems employing reduced-round ciphers
KR102218715B1 (ko) * 2014-06-19 2021-02-23 삼성전자주식회사 채널별로 데이터를 보호할 수 있는 반도체 장치
US9614666B2 (en) * 2014-12-23 2017-04-04 Intel Corporation Encryption interface

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2276254B (en) * 1993-03-20 1997-10-01 Motorola Inc Data storage device
JP2000076144A (ja) * 1998-09-02 2000-03-14 Nippon Telegr & Teleph Corp <Ntt> 論理回路、マイクロコンピュータ、および論理回路・記憶回路間の通信方法
EP1440535B1 (en) * 2001-10-03 2011-01-05 Nxp B.V. Memory encrytion system and method
CN100364002C (zh) * 2001-10-12 2008-01-23 皇家飞利浦电子股份有限公司 读或写用户数据的设备和方法
KR100446317B1 (ko) * 2001-12-24 2004-09-01 주식회사 하이닉스반도체 코드 롬의 테스트시 데이터를 보호하기 위한 장치
US7472285B2 (en) 2003-06-25 2008-12-30 Intel Corporation Apparatus and method for memory encryption with reduced decryption latency
JP2005149416A (ja) * 2003-11-19 2005-06-09 Fuji Xerox Co Ltd 画像形成装置及びその交換部品
KR100604828B1 (ko) * 2004-01-09 2006-07-28 삼성전자주식회사 펌웨어 암호화 방법 및 해독 방법과 그 처리 장치
US8571221B2 (en) * 2004-02-05 2013-10-29 Blackberry Limited On-chip storage, creation, and manipulation of an encryption key
JP4447977B2 (ja) * 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
US20060224902A1 (en) * 2005-03-30 2006-10-05 Bolt Thomas B Data management system for removable storage media
US7874009B2 (en) * 2005-05-26 2011-01-18 Panasonic Corporation Data processing device
US20070061595A1 (en) * 2005-09-14 2007-03-15 Huang-Chung Chen Apparatus and method for protecting data
US20080019524A1 (en) * 2006-06-29 2008-01-24 Kim Moo S Apparatus and method for low power aes cryptographic circuit for embedded system
KR100836758B1 (ko) * 2006-09-11 2008-06-10 삼성전자주식회사 메모리 카드의 암호화 장치 및 그것에 따른 데이터 기입 및독출 방법
JP4912921B2 (ja) * 2007-02-27 2012-04-11 富士通セミコンダクター株式会社 セキュアプロセッサシステム、セキュアプロセッサ及びセキュアプロセッサシステムの制御方法
US9336160B2 (en) * 2008-10-30 2016-05-10 Qualcomm Incorporated Low latency block cipher

Also Published As

Publication number Publication date
JP2010170495A (ja) 2010-08-05
US20100191982A1 (en) 2010-07-29
US8578156B2 (en) 2013-11-05

Similar Documents

Publication Publication Date Title
US20070050642A1 (en) Memory control unit with configurable memory encryption
US8666064B2 (en) Endecryptor capable of performing parallel processing and encryption/decryption method thereof
JP4684550B2 (ja) 多数の動作モードを支援する暗号化装置
CN108073353B (zh) 一种数据处理的方法及装置
US20140189340A1 (en) Secure boot information with validation control data specifying a validation technique
CN109656839B (zh) 用于访问经加密的数据的电子设备和对应的方法
CN102411694B (zh) 加密装置及存储器系统
US9152576B2 (en) Mode-based secure microcontroller
US10536264B2 (en) Efficient cryptographically secure control flow integrity protection
US20170346628A1 (en) Computing system having an on-the-fly encryptor and an operating method thereof
JP5272751B2 (ja) プロセッサ
TWI761896B (zh) 用於執行安全命令的記憶體裝置及方法
CN113741801A (zh) 存储器完整性性能增强系统和方法
US7496753B2 (en) Data encryption interface for reducing encrypt latency impact on standard traffic
CN111008407A (zh) 用于执行虚拟加密操作的加密电路
WO2014177905A1 (en) Device having a security module
US7769166B2 (en) Dual mode AES implementation to support single and multiple AES operations
CN106933510B (zh) 一种存储控制器
CN112887077A (zh) 一种ssd主控芯片随机缓存保密方法和电路
WO2016053407A2 (en) Speculative cryptographic processing for out of order data
US11050569B2 (en) Security memory scheme
CN213876729U (zh) 一种ssd主控芯片随机缓存保密电路
JP5353828B2 (ja) プロセッサ及びプロセッサシステム
US20210006391A1 (en) Data processing method, circuit, terminal device and storage medium
CN109753821A (zh) 数据存取装置及方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130429

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5272751

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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