JP7371092B2 - 暗号システム - Google Patents

暗号システム Download PDF

Info

Publication number
JP7371092B2
JP7371092B2 JP2021516559A JP2021516559A JP7371092B2 JP 7371092 B2 JP7371092 B2 JP 7371092B2 JP 2021516559 A JP2021516559 A JP 2021516559A JP 2021516559 A JP2021516559 A JP 2021516559A JP 7371092 B2 JP7371092 B2 JP 7371092B2
Authority
JP
Japan
Prior art keywords
circuit
cryptographic
shell
parameter
decryption
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
JP2021516559A
Other languages
English (en)
Other versions
JP2022502910A (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.)
Xilinx Inc
Original Assignee
Xilinx Inc
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 Xilinx Inc filed Critical Xilinx Inc
Publication of JP2022502910A publication Critical patent/JP2022502910A/ja
Application granted granted Critical
Publication of JP7371092B2 publication Critical patent/JP7371092B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/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/76Protecting 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 application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Logic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本開示は、一般に、プレーンテキストを暗号化し、暗号文(ciphertext)を復号するためのシステムに関する。
フィールドプログラマブルゲートアレイ(FPGA)は、たとえば、ネットワーキング、ストレージ、およびブロックチェーンのアプリケーションにおいて、暗号法(cryptography)機能を実装するための普及しているプラットフォームである。FPGAは、便利なソフトウェア制御と、機能を追加および/または改善することの容易さとを与える。
FPGAは暗号法システムの実装のために有利であり得るが、FPGAには設計課題がある。暗号法機能の実装は、ルックアップテーブル(LUT)、フリップフロップ(FF)、ブロックランダムアクセスメモリ(BRAM)など、大量のFPGAリソースを消費し得る。たとえば、単一のメディアアクセス制御セキュリティ機能(MACsec)は、約100,000LUTと、約100,000FFと、約100BRAMとを消費し得る。大量のFPGAリソースは、ターゲットクロック速度に応じて、回路設計上の閉鎖タイミングにおける課題を回路設計者に与え得る。タイミング問題を緩和するために、広範なパイプライン化が採用され得るが、そのことは、実装された回路が、望ましい電力よりも多い電力を消費することにつながり得る。
開示される回路構成(circuit arrangement)は暗号化回路と復号回路とを含む。暗号シェル(cryptographic shell)回路は、送信チャネル、および送信チャネルに並列の受信チャネルを有する。送信チャネルは、暗号化回路に結合された暗号化インターフェース回路を含む。暗号化インターフェース回路は、プレーンテキスト入力パケット中のデータに基づいて第1の暗号パラメータを決定することと、第1の暗号パラメータおよびプレーンテキスト入力パケットを暗号化回路に入力することとを行うように構成される。受信チャネルは、復号回路に結合された復号インターフェース回路を含む。復号インターフェース回路は、暗号文入力パケット中のデータに基づいて第2の暗号パラメータを決定することと、第2の暗号パラメータおよび暗号文入力パケットを復号回路に入力することとを行うように構成される。暗号化回路は、第1の暗号パラメータに基づいてプレーンテキスト入力パケットを暗号化するように構成され、復号回路は、第2の暗号パラメータに基づいて暗号文入力パケットを復号するように構成される。
別の開示される回路構成は集積回路(IC)デバイスを含む。暗号化回路および復号回路の複数のペアがICデバイス上に配設される。複数の暗号シェル回路は、それぞれ暗号化回路および復号回路の複数のペアに結合される。各暗号シェル回路は、送信チャネル、および送信チャネルに並列の受信チャネルを有する。送信チャネルは、暗号化回路および復号回路のそれぞれのペアの暗号化回路に結合された暗号化インターフェース回路を含む。暗号化インターフェース回路は、プレーンテキスト入力パケット中のデータに基づいて第1の暗号パラメータを決定することと、第1の暗号パラメータおよびプレーンテキスト入力パケットを暗号化回路に入力することとを行うように構成される。受信チャネルは、暗号化回路および復号回路のそれぞれのペアの復号回路に結合された復号インターフェース回路を含む。復号インターフェース回路は、暗号文入力パケット中のデータに基づいて第2の暗号パラメータを決定することと、第2の暗号パラメータおよび暗号文入力パケットを復号回路に入力することとを行うように構成される。暗号化回路および復号回路のそれぞれのペアの暗号化回路は、第1の暗号パラメータに基づいてプレーンテキスト入力パケットを暗号化するように構成され、暗号化回路および復号回路のそれぞれのペアの復号回路は、第2の暗号パラメータに基づいて暗号文入力パケットを復号するように構成される。
他の特徴は、以下の発明を実施するための形態および特許請求の範囲の検討から認識されるであろう。
回路および方法の様々な態様および特徴は、以下の詳細な説明を検討し、図面を参照すると明らかになろう。
MACsecアプリケーションについての例示的な一実装形態による回路構成を示す図である。 IPsecアプリケーションについての例示的な一実装形態による回路構成を示す図である。 バルク暗号法(bulk cryptography)アプリケーションについての例示的な一実装形態による回路構成を示す図である。 1つまたは複数の実装形態による、送信チャネル内で実行される例示的なプロセスのフローチャートである。 1つまたは複数の実装形態による、受信チャネル内で実行される例示的なプロセスのフローチャートである。 複数の再構成可能な暗号シェル回路と、関連付けられたハードワイヤード暗号回路とを有する回路構成を示す図である。 開示される回路およびプロセスがその上に実装され得る、プログラマブル集積回路(IC)を示す図である。
以下の説明では、本明細書で提示される具体例について説明するために、多数の具体的な詳細が記載されている。しかしながら、1つまたは複数の他の例および/またはこれらの例の変形形態が、以下で与えられるすべての具体的な詳細なしに実践され得ることが当業者に明らかであろう。他の事例では、本明細書における例の説明を不明瞭にしないように、よく知られている特徴については詳細に説明していない。説明しやすいように、同じ要素、または同じ要素の追加の事例を指すために、同じ参照番号が異なるダイヤグラム中で使用され得る。
開示される回路および方法は、再構成可能な暗号シェルと組み合わせてハードワイヤード暗号回路を採用する。ハードワイヤード暗号回路は固定されており、再プログラム不可能であるが、構成可能な暗号シェルは再プログラム可能である。ハードワイヤード暗号回路の機能は固定されており、暗号シェルの機能は再プログラムされ得る。ハードワイヤード暗号回路は特定用途向け回路として実装され得、暗号シェルは、プログラマブル論理回路において、またはプログラムコードを実行するプロセッサとして実装され得る。ハードワイヤード暗号回路は、暗号化機能および復号機能の高速で効率的な実装を行い、再プログラム可能な/再構成可能な暗号シェルは、MACsec、インターネットプロトコル(IPsec)、およびバルク暗号法など、異なるアプリケーションのためのフレキシブルな実装を行う。
ハードワイヤード暗号回路は、並列チャネルを与える、暗号化回路と復号回路とを含む。送信チャネル、および送信チャネルに並列の受信チャネルを有する暗号シェル回路は、異なるセキュリティアプリケーションを実装するために再構成可能である。送信チャネルは、暗号化回路に結合された暗号化インターフェース回路を含む。暗号化インターフェース回路は、プレーンテキスト入力パケット中のデータに基づいて暗号パラメータのセットを決定することと、暗号パラメータのそのセットおよびプレーンテキスト入力パケットを暗号化回路に入力することとを行うように構成される。受信チャネルは、復号回路に結合された復号インターフェース回路を含む。復号インターフェース回路は、暗号文入力パケット中のデータに基づいて暗号パラメータの別のセットを決定することと、暗号パラメータのその他のセットおよび暗号文入力パケットを復号回路に入力することとを行うように構成される。ハードワイヤード暗号回路中の暗号化回路は、送信チャネル上で与えられた暗号パラメータのセットに基づいてプレーンテキスト入力パケットを暗号化するように構成され、復号回路は、受信チャネル上で与えられた暗号パラメータのセットに基づいて暗号文入力パケットを復号するように構成される。
図1は、MACsecアプリケーションについての例示的な一実装形態による回路構成100を示す。回路構成100は、入力インターフェースおよび出力インターフェースを暗号回路102に与える、MACsec暗号シェル回路104を含む。暗号回路は、暗号化回路106と、復号回路108と、鍵拡大回路110と、アルゴリズム検証回路133と、統計ブロック136とを含む。暗号化回路は、MACsecシェル回路104によって入力されたパラメータに基づいてプレーンテキストデータを暗号化する。同様に、復号回路は、MACsecシェル回路によって入力されたパラメータに基づいて暗号文データを復号する。暗号化回路は、プレーンテキストデータを暗号化する際に、認識された鍵拡大回路110を使用することができる。アルゴリズム検証回路は、正しい動作を検証するために暗号化回路および復号回路の試験を実行する。
MACsecシェル回路104は、同時の暗号化アクティビティおよび復号アクティビティをサポートする、並列の送信チャネルと受信チャネルとを実装する。送信チャネルは、イングレス(ingress)先入れ先出し(FIFO)回路112と、ヘッダ処理/セキュリティアソシエーション(security association)(SA)ルックアップ回路114と、イグレス(egress)処理回路118と、イグレスFIFO回路120と、フロー制御回路122とを含む。
イングレスFIFO回路112は、たとえば、イーサネットを介して送信された、MACプロトコルと一致するプレーンテキストデータを受信する。イングレスFIFO回路は、ヘッダ処理/SAルックアップ回路114による処理のためにパケット形態で入力データをバッファする。ヘッダ処理/SAルックアップ回路は、パケットのヘッダからパラメータを抽出し、それらのパラメータを使用して、メモリ回路116中の関連付けられたMACsec属性およびパラメータをルックアップし、メモリ回路116は、再構成可能なシェル中にMACパケットヘッダパラメータとSAとを連想的に記憶し、より大きいSA数に対するスケーラブルなサポートを可能にする。抽出されたMACパケットヘッダパラメータは、MACレベルソースアドレス、ポート番号などを含み、関連付けられた属性およびパラメータは、SAインデックスと、暗号選択パラメータと、暗号固有パラメータと、MACsec固有パラメータとを含む。暗号選択パラメータは、AES-GCM-128b、AES-GCM-256b、または別の暗号スイートを示すことができる。暗号固有パラメータは、ナンス(nonce)、初期化ベクトルなどを含むことができ、MACsec固有パラメータは、パケット数、セキュリティチャネル数などを含むことができる。
ヘッダ処理/SAルックアップ回路は、信号線134上で暗号化回路106にプレーンテキストデータを入力し、信号線135上でシェルチャネルデータを入力する。シェルチャネルデータは、SAインデックスと、暗号選択パラメータと、暗号固有パラメータとを含む。暗号化回路は、暗号選択パラメータおよび暗号固有パラメータに従ってプレーンテキストデータを暗号化し、暗号文をイグレス処理回路118に出力する。暗号化回路は、入力プレーンテキストを暗号化する際に使用されるべき鍵を選択するために、SAインデックスを使用する。
イグレス処理回路118は、暗号化されたパケットのための新しいフレーム検査シーケンスを計算し、アペンドし、暗号化ブロックをバイパスする任意のパケットをデータストリーム中に挿入し、また、MACsecに関係しないパケットに対して他の変換を実行し得る。
イグレス処理回路118からの出力データはイグレスFIFO回路120に与えられ、イグレスFIFO回路120は、イーサネットチャネルを介して送信する前に、そのデータをバッファする。イグレスFIFO回路はフロー制御回路122にシグナリングし、フロー制御回路122は、イングレスFIFO回路112への暗号文パケットの入力を可能にするか、またはバックプレッシャーする。たとえば、イグレスFIFO回路が満杯である場合、フロー制御回路122は、イグレスFIFO回路120中でスペースが利用可能になるまで、イングレスFIFO回路112への入力をバックプレッシャーする。
受信チャネルは、イングレスFIFO回路124と、ヘッダ処理/SAルックアップ回路126と、イグレス処理回路128と、イグレスFIFO回路130と、フロー制御回路132とを含む。
イングレスFIFO回路124は、MACプロトコルと一致する暗号文データを受信する。イングレス暗号文データは、たとえば、イーサネットを介して送信され得る。イングレスFIFO回路124は、ヘッダ処理/SAルックアップ回路126による処理のためにパケット形態で入力データをバッファする。ヘッダ処理/SAルックアップ回路126は、パケットのヘッダからパラメータを抽出し、それらのパラメータを使用して、メモリ回路116中の関連付けられたMACsec属性およびパラメータをルックアップする。
ヘッダ処理/SAルックアップ回路126は、信号線138上で復号回路108に暗号文データを入力し、信号線140上でシェルチャネルデータを入力する。シェルチャネルデータは、SAインデックスと、暗号選択パラメータと、暗号固有パラメータとを含む。復号回路は、暗号選択パラメータおよび暗号固有パラメータに従って暗号文データを復号し、プレーンテキストデータをイグレス処理回路128に出力する。
イグレス処理回路128は、復号されたパケットのための新しいフレーム検査シーケンスを計算し、アペンドし、復号ブロックをバイパスする任意のパケットをデータストリーム中に挿入し、また、MACsecに関係しないパケットに対して他の変換を実行し得る。
イグレス処理回路128からの出力データはイグレスFIFO回路130に与えられ、イグレスFIFO回路130は、イーサネットチャネルを介して送信する前に、そのデータをバッファする。イグレスFIFO回路130はフロー制御回路132にシグナリングし、フロー制御回路132は、イングレスFIFO回路124へのプレーンテキストパケットの入力を可能にするか、またはバックプレッシャーする。たとえば、イグレスFIFO回路130が満杯である場合、フロー制御回路132は、イグレスFIFO回路130中でスペースが利用可能になるまで、イングレスFIFO回路124への入力をバックプレッシャーする。
暗号シェル回路104は構成インターフェースをさらに含み、構成インターフェースを通して、SA、ならびに関連付けられた属性およびパラメータが変更され得る。構成インターフェースは、プログラマブル論理デバイス中の内部構成アクセスポートによって、またはジョイントテストアクセスグループ(JTAG)走査インターフェースによって実装され得、それらの両方が一般に利用可能である。構成インターフェースはまた、暗号回路の蓄積された動作統計を読み取るために統計ブロック136に接続され得る。統計ブロック136は、暗号化回路106および復号回路108の動作に関係する統計情報を蓄積し、その情報をメモリ回路116に記憶する。統計情報は、異なるSA入力値の数およびセキュリティエンティティの数、およびMACsec規格によって定義された他のデータを含むことができる。
図2は、IPsecアプリケーションについての例示的な一実装形態による回路構成200を示す。回路構成200は、暗号回路102への入力インターフェースと出力インターフェースとを与えるIPsec暗号シェル回路202を含む。暗号回路は、上記で説明した、図1に示されたサブ回路を含む。
IPsecシェル回路202は、同時の暗号化アクティビティおよび復号アクティビティをサポートする、並列の送信チャネルと受信チャネルとを実装する。送信チャネルは、イングレス先入れ先出し(FIFO)回路112と、送信チャネルイングレス処理回路204と、送信チャネルイグレス処理回路208と、イグレスFIFO回路120と、フロー制御回路122とを含む。
イングレスFIFO回路112は、たとえば、イーサネットを介して送信される、直接メモリアクセスプロトコルまたはMACプロトコルと一致するプレーンテキストデータを受信する。イングレスFIFO回路は、送信チャネルイングレス処理回路204による処理のためにパケット形態で入力データをバッファする。送信チャネルイングレス処理回路は、パケットのヘッダからパラメータを抽出し、それらのパラメータを使用して、メモリ回路116中の関連付けられたIPsec属性およびパラメータをルックアップし、メモリ回路116は、再構成可能なシェル中にIPパケットヘッダパラメータとSAとを連想的に記憶し、より大きいSA数に対するスケーラブルなサポートを可能にする。抽出されたIPパケットヘッダパラメータは、IPレベルソースアドレス、宛先アドレスなどを含み、関連付けられた属性およびパラメータは、SAインデックスと、暗号選択パラメータと、暗号固有パラメータと、IPsec固有パラメータとを含む。暗号選択パラメータは、AES-GCM-128b、AES-GCM-256b、または別の暗号スイートを示すことができる。暗号固有パラメータは、ナンス、初期化ベクトルなどを含むことができ、IPsec固有パラメータは、シーケンス番号、セキュリティパラメータインデックス(SPI)などを含むことができる。
送信チャネルイングレス処理回路204は、信号線134上で暗号化回路106にプレーンテキストデータを入力し、信号線135上でシェルチャネルデータを入力する。シェルチャネルデータは、SAインデックスと、暗号選択パラメータと、暗号固有パラメータとを含む。暗号化回路は、暗号選択パラメータおよび暗号固有パラメータに従ってプレーンテキストデータを暗号化し、暗号文を送信チャネルイグレス処理回路208に出力する。
送信チャネルイグレス処理回路208はIPsec固有処理を実行し、IPsec固有処理は、パケットに新しいリンクヘッダを挿入すること、現在のリンクヘッダを交換すること、ソフトウェアによる検査のためのパケットをキャプチャするためにバッファを組み込むこと、またはソフトウェアからの暗号化されたデータストリームにパケットを挿入することを含むことができる。
送信チャネルイグレス処理回路208からの出力データはイグレスFIFO回路120に与えられ、イグレスFIFO回路120は、イーサネットチャネルを介して送信する前に、そのデータをバッファする。イグレスFIFO回路はフロー制御回路122にシグナリングし、フロー制御回路122は、イングレスFIFO回路112への暗号文パケットの入力を可能にするか、またはバックプレッシャーする。たとえば、イグレスFIFO回路が満杯である場合、フロー制御回路122は、イグレスFIFO回路120中でスペースが利用可能になるまで、イングレスFIFO回路112への入力をバックプレッシャーする。
受信チャネルは、イングレスFIFO回路124と、受信チャネルイングレス処理回路210と、受信チャネルイグレス処理回路212と、イグレスFIFO回路130と、フロー制御回路132とを含む。
イングレスFIFO回路124は、MACプロトコルと一致する暗号文データを受信する。イングレス暗号文データは、たとえば、イーサネットを介して送信され得る。イングレスFIFO回路124は、受信チャネルイングレス処理回路210による処理のためにパケット形態で入力データをバッファする。受信チャネルイングレス処理回路210は、パケットのヘッダからパラメータを抽出し、それらのパラメータを使用して、メモリ回路116中の関連付けられたIPsec属性およびパラメータをルックアップする。
受信チャネルイングレス処理回路210は、信号線138上で復号回路108に暗号文データを入力し、信号線140上でシェルチャネルデータを入力する。シェルチャネルデータは、SAインデックスと、暗号選択パラメータと、暗号固有パラメータとを含む。復号回路は、暗号選択パラメータおよび暗号固有パラメータに従って暗号文データを復号し、プレーンテキストデータを受信チャネルイグレス処理回路212に出力する。
受信チャネルイグレス処理回路212は、上述のようにIPsec固有処理を実行する。
受信チャネルイグレス処理回路212からの出力データはイグレスFIFO回路130に与えられ、イグレスFIFO回路130は、DMAまたはイーサネットチャネルを介して送信する前に、そのデータをバッファする。イグレスFIFO回路130はフロー制御回路132にシグナリングし、フロー制御回路132は、イングレスFIFO回路124へのプレーンテキストパケットの入力を可能にするか、またはバックプレッシャーする。たとえば、イグレスFIFO回路130が満杯である場合、フロー制御回路132は、イグレスFIFO回路130中でスペースが利用可能になるまで、イングレスFIFO回路124への入力をバックプレッシャーする。
図3は、バルク暗号法アプリケーションについての例示的な一実装形態による回路構成300を示す。回路構成300は、暗号回路102への入力インターフェースと出力インターフェースとを与えるバルク暗号法シェル回路302を含む。暗号回路は、上記で説明した、図1に示されたサブ回路を含む。
バルク暗号法シェル回路302は、同時の暗号化アクティビティおよび復号アクティビティをサポートする、並列の送信チャネルと受信チャネルとを実装する。送信チャネルは、送信チャネルイングレス処理回路304と、送信チャネルイグレス処理回路306とを含む。送信チャネルイングレス処理回路304は、ユーザインターフェースからプレーンテキストデータを受信し、メモリ回路116中のバルク暗号法属性およびパラメータをルックアップし、メモリ回路116は、再構成可能なシェル中にSAを連想的に記憶し、より大きいSA数に対するスケーラブルなサポートを可能にする。
バルク暗号法シェル302に入力を与え、バルク暗号法シェル302から出力を受信するユーザインターフェースは、バルク暗号法シェルの入力信号線および出力信号線に接続された任意の特定用途向け回路であり得る。たとえば、ユーザインターフェースは、プレーンテキストまたは暗号化されたデータを移動するためにプログラマブル論理中に実装された回路であり得る。代替的に、DMAコントローラがバルク暗号法シェルの入力部または出力部に接続され得る。
バルク暗号法シェルは、特定用途向けインターフェースのために好適な最小のシェルであるので、メモリ116中のSAインデックスのルックアップは、入力プレーンテキストまたは他の特定用途向け基準に基づき得る。
メモリ116から取り出された情報は、SAインデックスと、暗号選択パラメータと、暗号固有パラメータと、バルク暗号法固有パラメータとを含むことができる。暗号選択パラメータは、AES-GCM-128b、AES-GCM-256b、または別の暗号スイートを示すことができる。暗号固有パラメータは、ナンス、初期化ベクトルなどを含むことができる。
送信チャネルイングレス処理回路304は、信号線134上で暗号化回路106にプレーンテキストデータを入力し、信号線135上でシェルチャネルデータを入力する。シェルチャネルデータは、SAインデックスと、暗号選択パラメータと、暗号固有パラメータとを含む。暗号化回路は、暗号選択パラメータおよび暗号固有パラメータに従ってプレーンテキストデータを暗号化し、暗号文を送信チャネルイグレス処理回路306に出力する。
送信チャネルイグレス処理回路306は、新しいメタデータをパケットに挿入するか、現在のメタデータを交換するか、暗号化ブロックをバイパスする任意のパケットをデータストリーム中に挿入するか、またはバルク暗号法に関係しないパケットに対して他の変換を実行することができる。
送信チャネルイグレス処理回路306からの出力データはユーザインターフェースに与えられる。イグレスユーザインターフェースは、アプリケーションに応じて、イングレスユーザインターフェースと同じであるか、またはイングレスユーザインターフェースとは異なり得る。
受信チャネルは、受信チャネルイングレス処理回路308と、受信チャネルイグレス処理回路310とを含む。受信チャネルイングレス処理回路308は、ユーザインターフェースを介して暗号文データを受信し、メモリ回路116中の属性およびパラメータをルックアップする。
受信チャネルイングレス処理回路308は、信号線138上で復号回路108に暗号文データを入力し、信号線140上でシェルチャネルデータを入力する。シェルチャネルデータは、SAインデックスと、暗号選択パラメータと、暗号固有パラメータとを含む。復号回路は、暗号選択パラメータおよび暗号固有パラメータに従って暗号文データを復号し、プレーンテキストデータを受信チャネルイグレス処理回路310に出力する。
受信チャネルイグレス処理回路310は、イグレス処理回路306と同じ機能を実行することができる。
受信チャネルイグレス処理回路310からの出力データはユーザインターフェースに与えられる。
図4は、1つまたは複数の実装形態による、送信チャネル内で実行される例示的なプロセスのフローチャートである。ブロック402において、暗号シェル回路へのプレーンテキストデータの入力に応答して、暗号シェル回路は、いくつかのプロトコル中のパケットなど、入力データからパラメータを抽出する。抽出されたパラメータは、アプリケーションによって採用されたセキュリティ方式に依存し得る。たとえば、抽出されたパラメータは、MACsec、IPsec、またはバルク暗号法の実装形態用であり得る。
ブロック404において、暗号シェル回路は、メモリ回路中の抽出されたパラメータに関連するシェルチャネルパラメータをルックアップする。シェルチャネルパラメータは、セキュリティアプリケーションに応じて、SAインデックスと、AES-GCM-128b、AES-GCM-256b、または別の暗号スイートを示す暗号選択パラメータと、ナンス、初期化ベクトル、パケット数、セキュリティチャネル数、シーケンス数、セキュリティパラメータインデックス(SPI)などを含む、暗号固有パラメータとを含むことができる。
ハードワイヤード暗号回路は、上記のように、MACsec、IPsec、またはバルク暗号法など、様々なセキュリティアプリケーションにおいて採用され得る。暗号シェル回路は、プログラマブル論理において、またはソフトウェアを実行するプロセッサとして実装され得、所望のセキュリティアプリケーションに従って構成され得る。したがって、ハードワイヤード暗号回路は、シェルチャネルパラメータの入力とプレーンテキストの入力とのための信号線の別個のセットを有する。シェルチャネルパラメータは、信号線の1つのセット上で、ブロック406においてハードワイヤード暗号回路に入力され、プレーンテキストは、信号線の別のセット上で、ブロック408においてハードワイヤード暗号回路に入力される。
ブロック410において、ハードワイヤード暗号回路は入力シェルチャネルパラメータに従ってプレーンテキストを暗号化する。暗号文は、ブロック412において、セキュリティアプリケーションに従って暗号シェル回路によって出力される。
図5は、1つまたは複数の実装形態による、受信チャネル内で実行される例示的なプロセスのフローチャートである。ブロック502において、暗号シェル回路への暗号文を含んでいるデータの入力に応答して、暗号シェル回路は入力データからパラメータを抽出する。入力データはいくつかのプロトコルにおけるパケットフォーマットであり得る。抽出されたパラメータは、アプリケーションによって採用されたセキュリティ方式に依存し得る。たとえば、抽出されたパラメータは、MACsec、IPsec、またはバルク暗号法の実装形態用であり得る。
ブロック504において、暗号シェル回路は、送信チャネルのプロセスに関して上記で説明したように、メモリ回路中の抽出されたパラメータに関連するシェルチャネルパラメータをルックアップする。
ハードワイヤード暗号回路は、シェルチャネルパラメータの入力と暗号文の入力とのための信号線の別個のセットを有する。シェルチャネルパラメータは、信号線の1つのセット上で、ブロック506においてハードワイヤード暗号回路に入力され、暗号文は、信号線の別のセット上で、ブロック508においてハードワイヤード暗号回路に入力される。
ブロック510において、ハードワイヤード暗号回路は入力シェルチャネルパラメータに従って暗号文を復号する。得られたプレーンテキストは、ブロック512において、セキュリティアプリケーションに従って暗号シェル回路によって出力される。
図6は、複数の再構成可能な暗号シェル回路と、関連付けられたハードワイヤード暗号回路とを有する回路構成600を示す。再構成可能な暗号シェル回路は、ブロック604、606、…、608として示されており、再構成可能な暗号シェル回路の各々はハードワイヤード暗号回路102の専用インスタンスを有する。再構成可能な暗号シェル回路は、MACsecシェル回路104、IPsecシェル回路202、バルク暗号法シェル回路302、および/または任意の他の同等のセキュリティプロトコルのための暗号シェル回路のインスタンスであり得る。
本回路構成は、複数の異なるセキュリティアプリケーションのための暗号化機能と復号機能とを与えることができる。したがって、単一のデバイスが、それぞれ、異なる暗号アプリケーションを必要とする複数のエンドポイントをサービスすることができる。たとえば、単一のデバイスが、MACsec機能、IPsec機能、および/またはバルク暗号法機能を与えることができる。暗号シェル回路604、606、…、608の再構成可能性により、処理ニーズが変化した際に、異なる暗号セキュリティアプリケーションにリソースをリダイレクトすることが可能になる。たとえば、MACsec暗号シェル回路を一度実装したプログラマブルリソースは、必要とされる場合、IPsec暗号シェル回路を実装するように再プログラムされ得る。また、同じ暗号シェル回路の複数のインスタンスが、特定のセキュリティアプリケーションのための帯域幅要件を満たすように構成され得る。
暗号デバイス602は、たとえば集積回路(IC)パッケージであり得る。暗号シェル回路604、606、…、608の各々は、入出力回路610のうちの少なくとも1つのインスタンスに結合される。各入出力回路は、デバイス602の外部の宛先にデータを送り、デバイス602の外部のソースからデータを受信する高速シリアルトランシーバであり得る。いくつかの実装形態では、プレーンテキストまたは暗号文のソースまたは宛先は、暗号デバイス602と同じICチップまたはパッケージ上に実装された回路であり得、暗号シェル回路は、入出力回路610に結合される代わりに、デバイスのバスまたはプログラマブルルーティングリソースを介してオンチップ/パッケージのソース/宛先に結合され得る。
図7は、開示される回路およびプロセスがその上に実装され得る、プログラマブル集積回路(IC)700を示す。プログラマブルICは、他のプログラマブルリソースとともにフィールドプログラマブルゲートアレイ論理(FPGA)を含む、システムオンチップ(SoC)と呼ばれることもある。FPGA論理は、アレイ中にいくつかの異なるタイプのプログラマブル論理ブロックを含み得る。たとえば、図7は、マルチギガビットトランシーバ(MGT)701、構成可能論理ブロック(CLB)702、ランダムアクセスメモリブロック(BRAM)703、入出力ブロック(IOB)704、構成およびクロッキング論理(CONFIG/CLOCKS)705、デジタル信号処理ブロック(DSP)706、特殊化された入出力ブロック(I/O)707、たとえばクロックポート、およびデジタルクロックマネージャ、アナログデジタル変換器、システム監視論理など、他のプログラマブル論理708などを含む、多数の異なるプログラマブルタイルを含む、プログラマブルIC700を示す。FPGA論理を有するいくつかのプログラマブルICはまた、専用プロセッサブロック(PROC)710ならびに内部再構成ポートおよび外部再構成ポート(図示せず)を含む。
いくつかのFPGA論理において、各プログラマブルタイルは、各隣接するタイル中の対応する相互接続要素へのおよび対応する相互接続要素からの標準化された接続を有するプログラマブル相互接続要素(INT)711を含む。したがって、一緒にされたプログラマブル相互接続要素は、図示されたFPGA論理のためのプログラマブル相互接続構造を実装する。プログラマブル相互接続要素INT711はまた、図7の上部に含まれる例によって示されるように、同じタイル内のプログラマブル論理要素への接続と、同じタイル内のプログラマブル論理要素からの接続とを含む。
たとえば、CLB702は、ユーザ論理を実装するようにプログラムされ得る構成可能論理要素CLE712に加えて、単一のプログラマブル相互接続要素INT711を含むことができる。BRAM703は、1つまたは複数のプログラマブル相互接続要素に加えて、BRAM論理要素(BRL)713を含むことができる。一般に、タイル中に含まれる相互接続要素の数はタイルの高さに依存する。図示されているBRAMタイルは5個のCLBと同じ高さを有するが、他の数(たとえば4個)も使用され得る。DSPタイル706は、適切な数のプログラマブル相互接続要素に加えて、DSP論理要素(DSPL)714を含むことができる。IOB704は、たとえば、プログラマブル相互接続要素INT711の1つのインスタンスに加えて、入出力論理要素(IOL)715の2つのインスタンスを含むことができる。当業者に明らかになるように、たとえばI/O論理要素715に接続される実際のI/Oボンドパッドは、様々な図示された論理ブロックの上に積層された金属を使用して製造され、一般に、入出力論理要素715の領域に閉じ込められない。
(図7において影付きで示されている)ダイの中心に近いカラム(columnar)領域は、構成、クロック、および他の制御論理のために使用される。このカラムから延びる水平領域709は、プログラマブルICの幅にわたってクロックと構成信号とを分配するために使用される。「カラム」領域および「水平」領域に対する言及は、図面を縦方向に見ることに関するものであることに留意されたい。
図7に示されたアーキテクチャを利用するいくつかのプログラマブルICは、プログラマブルICの大きい部分を構成する通常のカラム構造を中断させる、追加の論理ブロックを含む。追加の論理ブロックはプログラマブルブロックおよび/または専用論理であり得る。たとえば、図7に示されたプロセッサブロックPROC710は、CLBおよびBRAMのいくつかのカラムにわたっている。
図7は、例示的なプログラマブルICアーキテクチャのみを示すものであることに留意されたい。カラム中の論理ブロックの数、カラムの相対幅、カラムの数および順序、カラム中に含まれる論理ブロックのタイプ、それらの論理ブロックの相対サイズ、図7の上部に含まれる相互接続/論理の実装形態は例にすぎない。たとえば、実際のプログラマブルICでは、ユーザ論理の効率的な実装を容易にするために、一般に、CLBが現れる場所にはどこでも、CLBの2つ以上の隣接するカラムが含まれる。
本明細書で説明したおよび/または図に示された動作およびアクティビティのうちの1つまたは複数を実行するために、様々なモジュールが実装され得る。これらの文脈において、「モジュール」、「エンジン」、または「ブロック」は、これらのまたは関係する動作/アクティビティ(たとえば暗号化および/または復号)のうちの1つまたは複数を実行する回路である。たとえば、1つまたは複数のモジュール/エンジンは、図1~図3および図6に示されているように、これらの動作/アクティビティを実装するために構成および配置されたディスクリート論理回路またはプログラマブル論理回路である。プログラマブル回路は、命令(および/または構成データ)の1つのセット(または複数のセット)を実行するようにプログラムされた1つまたは複数のコンピュータ回路を含むことができる。命令(および/または構成データ)は、メモリ(回路)に記憶され、メモリ(回路)からアクセス可能なファームウェアまたはソフトウェアの形態であり得る。例として、第1のモジュールおよび第2のモジュールは、CPUハードウェアベース回路と、ファームウェアの形態の命令のセットとの組合せを含み、ここで、第1のモジュールは、命令の1つのセットをもつ第1のCPUハードウェア回路を含み、第2のモジュールは、命令の別のセットをもつ第2のCPUハードウェア回路を含む。
開示される回路構成は暗号化回路と復号回路とを含む。暗号シェル回路は、送信チャネル、および送信チャネルに並列の受信チャネルとを有する。送信チャネルは、暗号化回路に結合された暗号化インターフェース回路を含む。暗号化インターフェース回路は、プレーンテキスト入力パケット中のデータに基づいて第1の暗号パラメータを決定することと、第1の暗号パラメータおよびプレーンテキスト入力パケットを暗号化回路に入力することとを行うように構成される。受信チャネルは、復号回路に結合された復号インターフェース回路を含む。復号インターフェース回路は、暗号文入力パケット中のデータに基づいて第2の暗号パラメータを決定することと、第2の暗号パラメータおよび暗号文入力パケットを復号回路に入力することとを行うように構成される。暗号化回路は、第1の暗号パラメータに基づいてプレーンテキスト入力パケットを暗号化するように構成され、復号回路は、第2の暗号パラメータに基づいて暗号文入力パケットを復号するように構成される。暗号シェル回路はプログラマブル論理回路において実装され得る。暗号シェル回路はプロセッサを含むことができ、プロセッサは、そのプロセッサに第1の暗号パラメータおよび第2の暗号パラメータを決定させる命令を実行するように構成される。暗号シェル回路は、第1の暗号パラメータと第2の暗号パラメータとを指定する複数のセキュリティアソシエーションを用いて構成されたメモリ回路を含むことができる。暗号シェル回路はメディアアクセス制御セキュリティを実装することができる。暗号シェル回路はインターネットプロトコルセキュリティを実装することができる。暗号シェル回路はバルク暗号化およびバルク復号を実装することができる。第1の暗号パラメータおよび第2の暗号パラメータは暗号選択コード(cipher selection code)および初期化ベクトルを含むことができる。送信チャネルは、第1の暗号パラメータを暗号化インターフェース回路から暗号化回路に搬送する信号線の第1のセットと、信号線の第1のセットから物理的に離れており、プレーンテキスト入力パケット中のデータを暗号化回路に搬送する信号線の第2のセットとを含むことができる。受信チャネルは、第2の暗号パラメータを復号インターフェース回路から復号回路に搬送する信号線の第3のセットと、信号線の第3のセットから物理的に離れており、暗号文入力パケットのデータを復号回路に搬送する信号線の第4のセットとを含むことができる。送信チャネル中の信号線の第1および第2のセットはプログラマブル論理回路において実装され得る。
別の開示されている回路構成は集積回路(IC)デバイスを含む。暗号化回路および復号回路の複数のペアがICデバイス上に配設される。複数の暗号シェル回路は、それぞれ暗号化回路および復号回路の複数のペアに結合される。各暗号シェル回路は、送信チャネル、および送信チャネルに並列の受信チャネルを有する。送信チャネルは、暗号化回路および復号回路のそれぞれのペアの暗号化回路に結合された暗号化インターフェース回路を含む。暗号化インターフェース回路は、プレーンテキスト入力パケット中のデータに基づいて第1の暗号パラメータを決定することと、第1の暗号パラメータおよびプレーンテキスト入力パケットを暗号化回路に入力することとを行うように構成される。受信チャネルは、暗号化回路および復号回路のそれぞれのペアの復号回路に結合された復号インターフェース回路を含む。復号インターフェース回路は、暗号文入力パケット中のデータに基づいて第2の暗号パラメータを決定することと、第2の暗号パラメータおよび暗号文入力パケットを復号回路に入力することとを行うように構成される。暗号化回路および復号回路のそれぞれのペアの暗号化回路は、第1の暗号パラメータに基づいてプレーンテキスト入力パケットを暗号化するように構成され、暗号化回路および復号回路のそれぞれのペアの復号回路は、第2の暗号パラメータに基づいて暗号文入力パケットを復号するように構成される。複数の暗号シェル回路は、メディアアクセス制御セキュリティ、インターネットプロトコルセキュリティ、またはバルク暗号法のうちの1つを実装することができる。複数の暗号シェル回路のうちの1つまたは複数はメディアアクセス制御セキュリティを実装することができ、複数の暗号シェル回路のうちの1つまたは複数はインターネットプロトコルセキュリティを実装することができる。複数の暗号シェル回路のうちの1つまたは複数はメディアアクセス制御セキュリティを実装することができ、複数の暗号シェル回路のうちの1つまたは複数はインターネットプロトコルセキュリティを実装することができ、複数の暗号シェル回路のうちの1つまたは複数はバルク暗号法を実装することができる。複数の暗号シェル回路はプログラマブル論理回路において実装され得る。複数の暗号シェル回路は1つまたは複数のプロセッサを含むことができ、1つまたは複数のプロセッサは、それらの1つまたは複数のプロセッサに第1の暗号パラメータおよび第2の暗号パラメータを決定させる命令を実行するように構成される。複数の暗号シェル回路の各暗号シェル回路は、第1の暗号パラメータと第2の暗号パラメータとを指定する複数のセキュリティアソシエーションを用いて構成されたメモリ回路を含むことができる。第1の暗号パラメータおよび第2の暗号パラメータは暗号選択コードおよび初期化ベクトルを含むことができる。送信チャネルは、第1の暗号パラメータを暗号化インターフェース回路から暗号化回路に搬送する信号線の第1のセットと、信号線の第1のセットから物理的に離れており、プレーンテキスト入力パケットのデータを暗号化回路に搬送する信号線の第2のセットとを含むことができる。受信チャネルは、第2の暗号パラメータを復号インターフェース回路から復号回路に搬送する信号線の第3のセットと、信号線の第3のセットから物理的に離れており、暗号文入力パケットのデータを復号回路に搬送する信号線の第4のセットとを含むことができる。
態様および特徴は、場合によっては、個々の図において説明され得るが、1つの図からの特徴は、その組合せが明示的に示されていないか、または組合せとして明示的に説明されなくても、別の図の特徴と組み合わせられ得ることが諒解されよう。
回路および方法は、暗号化および/または復号のための様々なシステムに適用可能であると考えられる。他の態様および特徴は本明細書の検討から当業者に明らかになろう。回路および方法は、ソフトウェアを実行するように構成された1つまたは複数のプロセッサとして、特定用途向け集積回路(ASIC)として、またはプログラマブル論理デバイス上の論理として実装され得る。本明細書および図面は例のみとして考えられるものであり、本発明の真の範囲は以下の特許請求の範囲によって示される。

Claims (15)

  1. 暗号化回路と、
    復号回路と、
    送信チャネルおよび前記送信チャネルに並列の受信チャネルを有する、暗号シェル回路と
    を備える、回路構成であって、
    前記送信チャネルが、前記暗号化回路に結合された暗号化インターフェース回路を含み、前記暗号化インターフェース回路が、プレーンテキスト入力パケット中のデータに基づいて第1の暗号パラメータを決定することと、前記第1の暗号パラメータおよび前記プレーンテキスト入力パケットを前記暗号化回路に入力することとを行うように構成され、
    前記受信チャネルが、前記復号回路に結合された復号インターフェース回路を含み、前記復号インターフェース回路が、暗号文入力パケット中のデータに基づいて第2の暗号パラメータを決定することと、前記第2の暗号パラメータおよび前記暗号文入力パケットを前記復号回路に入力することとを行うように構成され、
    前記暗号化回路が、前記第1の暗号パラメータに基づいて前記プレーンテキスト入力パケットを暗号化するように構成され、
    前記復号回路が、前記第2の暗号パラメータに基づいて前記暗号文入力パケットを復号するように構成された、回路構成。
  2. 前記暗号シェル回路がプログラマブル論理回路において実装されている、請求項1に記載の回路構成。
  3. 前記暗号シェル回路がプロセッサを含み、前記プロセッサが、前記プロセッサに前記第1の暗号パラメータおよび前記第2の暗号パラメータを決定させる命令を実行するように構成された、請求項1に記載の回路構成。
  4. 前記暗号シェル回路が、前記第1の暗号パラメータと前記第2の暗号パラメータとを指定する複数のセキュリティアソシエーションを用いて構成されたメモリ回路を含む、請求項1から3のいずれか一項に記載の回路構成。
  5. 前記暗号シェル回路が、メディアアクセス制御セキュリティ、インターネットプロトコルセキュリティ、または、バルク暗号化およびバルク復号のうちの1つを実装する、請求項1から3のいずれか一項に記載の回路構成。
  6. 前記暗号シェル回路が、前記第1の暗号パラメータと前記第2の暗号パラメータとを指定する複数のセキュリティアソシエーションを用いて構成されたメモリ回路を含む、請求項5に記載の回路構成。
  7. 前記第1の暗号パラメータおよび前記第2の暗号パラメータが暗号選択コードおよび初期化ベクトルを含む、請求項1から3のいずれか一項に記載の回路構成。
  8. 前記暗号シェル回路が、前記第1の暗号パラメータと前記第2の暗号パラメータとを指定する複数のセキュリティアソシエーションを用いて構成されたメモリ回路を含む、請求項7に記載の回路構成。
  9. 前記送信チャネルが、前記第1の暗号パラメータを前記暗号化インターフェース回路から前記暗号化回路に搬送する信号線の第1のセットと、信号線の前記第1のセットから物理的に離れており、前記プレーンテキスト入力パケット中の前記データを前記暗号化回路に搬送する信号線の第2のセットとを含み、
    前記受信チャネルが、前記第2の暗号パラメータを前記復号インターフェース回路から前記復号回路に搬送する信号線の第3のセットと、信号線の前記第3のセットから物理的に離れており、前記暗号文入力パケットのデータを前記復号回路に搬送する信号線の第4のセットとを含む、請求項1から3のいずれか一項に記載の回路構成。
  10. 前記暗号シェル回路が、前記第1の暗号パラメータと前記第2の暗号パラメータとを指定する複数のセキュリティアソシエーションを用いて構成されたメモリ回路を含む、請求項9に記載の回路構成。
  11. 前記第1の暗号パラメータおよび前記第2の暗号パラメータが暗号選択コードおよび初期化ベクトルを含む、請求項10に記載の回路構成。
  12. 集積回路(IC)デバイスと、
    前記ICデバイス上に配設された暗号化回路および復号回路の複数のペアと、
    それぞれ暗号化回路および復号回路の前記複数のペアに結合された複数の暗号シェル回路であって、各暗号シェル回路が、送信チャネルおよび前記送信チャネルに並列の受信チャネルを有する、複数の暗号シェル回路と
    を備える回路構成であって、
    前記送信チャネルが、前記ペアのうちの1つの前記暗号化回路に結合された暗号化インターフェース回路を含み、前記暗号化インターフェース回路が、プレーンテキスト入力パケット中のデータに基づいて第1の暗号パラメータを決定することと、前記第1の暗号パラメータおよび前記プレーンテキスト入力パケットを前記暗号化回路に入力することとを行うように構成され、
    前記受信チャネルが、前記ペアのうちの前記1つの前記復号回路に結合された復号インターフェース回路を含み、前記復号インターフェース回路が、暗号文入力パケット中のデータに基づいて第2の暗号パラメータを決定することと、前記第2の暗号パラメータおよび前記暗号文入力パケットを前記復号回路に入力することとを行うように構成され、
    前記ペアのうちの前記1つの前記暗号化回路が、前記第1の暗号パラメータに基づいて前記プレーンテキスト入力パケットを暗号化するように構成され、
    前記ペアのうちの前記1つの前記復号回路が、前記第2の暗号パラメータに基づいて前記暗号文入力パケットを復号するように構成された、回路構成。
  13. 前記複数の暗号シェル回路が、メディアアクセス制御セキュリティ、インターネットプロトコルセキュリティ、またはバルク暗号法のうちの1つまたは複数を実装する、請求項12に記載の回路構成。
  14. 前記複数の暗号シェル回路のうちの1つまたは複数がメディアアクセス制御セキュリティを実装し、前記複数の暗号シェル回路のうちの1つまたは複数がインターネットプロトコルセキュリティを実装する、請求項12に記載の回路構成。
  15. 各暗号シェル回路が、前記第1の暗号パラメータと前記第2の暗号パラメータとを指定する複数のセキュリティアソシエーションを用いて構成されたメモリ回路を含み、前記第1の暗号パラメータおよび前記第2の暗号パラメータが暗号選択コードおよび初期化ベクトルを含む、請求項12から14のいずれか一項に記載の回路構成。
JP2021516559A 2018-09-27 2019-09-11 暗号システム Active JP7371092B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/144,705 2018-09-27
US16/144,705 US10659437B1 (en) 2018-09-27 2018-09-27 Cryptographic system
PCT/US2019/050627 WO2020068426A1 (en) 2018-09-27 2019-09-11 Cryptographic system

Publications (2)

Publication Number Publication Date
JP2022502910A JP2022502910A (ja) 2022-01-11
JP7371092B2 true JP7371092B2 (ja) 2023-10-30

Family

ID=68052001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021516559A Active JP7371092B2 (ja) 2018-09-27 2019-09-11 暗号システム

Country Status (6)

Country Link
US (1) US10659437B1 (ja)
EP (1) EP3857424B1 (ja)
JP (1) JP7371092B2 (ja)
KR (1) KR20210064258A (ja)
CN (1) CN112740217B (ja)
WO (1) WO2020068426A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210092103A1 (en) * 2018-10-02 2021-03-25 Arista Networks, Inc. In-line encryption of network data
TWI748570B (zh) * 2020-07-22 2021-12-01 瑞昱半導體股份有限公司 資料處理裝置
US11657040B2 (en) 2020-10-30 2023-05-23 Xilinx, Inc. Blockchain machine network acceleration engine
US11743051B2 (en) 2020-10-28 2023-08-29 Xilinx, Inc. Blockchain machine compute acceleration engine with a block verify and a block validate
US11956160B2 (en) * 2021-06-01 2024-04-09 Mellanox Technologies, Ltd. End-to-end flow control with intermediate media access control security devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020184487A1 (en) 2001-03-23 2002-12-05 Badamo Michael J. System and method for distributing security processing functions for network applications
JP2003324423A (ja) 2002-05-01 2003-11-14 Nec Electronics Corp データ処理方法、暗号化方法、復号化方法、認証方法及びこれらの装置
US20170141912A1 (en) 2015-11-18 2017-05-18 Siemens Ag Oesterreich Method for protecting a computer system from side-channel attacks
JP2017151794A (ja) 2016-02-25 2017-08-31 富士通株式会社 情報処理システム、情報処理装置、管理装置、処理プログラム、及び処理方法
JP2018029267A (ja) 2016-08-18 2018-02-22 富士通株式会社 プログラマブルロジック装置、情報処理装置、処理方法、及び処理プログラム

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6118869A (en) 1998-03-11 2000-09-12 Xilinx, Inc. System and method for PLD bitstream encryption
US6351814B1 (en) * 1999-07-21 2002-02-26 Credence Systems Corporation Field programmable gate array with program encryption
JP2002328845A (ja) * 2001-05-07 2002-11-15 Fujitsu Ltd 半導体集積回路及びicカードのセキュリティー保護方法
US7266703B2 (en) * 2001-06-13 2007-09-04 Itt Manufacturing Enterprises, Inc. Single-pass cryptographic processor and method
US7180776B1 (en) 2002-08-30 2007-02-20 Xilinx, Inc. Systems and methods for programming a secured CPLD on-the-fly
US6794896B1 (en) 2003-04-21 2004-09-21 Xilinx, Inc. Method and apparatus for multithreading
US7010664B1 (en) 2003-04-30 2006-03-07 Xilinx, Inc. Configurable address generator and circuit using same
US7685434B2 (en) * 2004-03-02 2010-03-23 Advanced Micro Devices, Inc. Two parallel engines for high speed transmit IPsec processing
US7424553B1 (en) 2004-04-15 2008-09-09 Xilinx, Inc. Method and apparatus for communicating data between a network transceiver and memory circuitry
US7853799B1 (en) 2004-06-24 2010-12-14 Xilinx, Inc. Microcontroller-configurable programmable device with downloadable decryption
US7757294B1 (en) 2004-08-27 2010-07-13 Xilinx, Inc. Method and system for maintaining the security of design information
EP1873961A1 (en) * 2005-04-07 2008-01-02 Matsushita Electric Industrial Co., Ltd. Circuit building device
US7536559B1 (en) 2005-05-05 2009-05-19 Xilinx, Inc. Method and apparatus for providing secure programmable logic devices
JP2007142591A (ja) * 2005-11-15 2007-06-07 Matsushita Electric Ind Co Ltd 暗号管理方法
US8074077B1 (en) 2007-04-12 2011-12-06 Xilinx, Inc. Securing circuit designs within circuit design tools
US8422679B2 (en) * 2008-10-17 2013-04-16 Motorola Solutions, Inc. Method and device for sending encryption parameters
US8713327B1 (en) 2009-02-02 2014-04-29 Xilinx, Inc. Circuit for and method of enabling communication of cryptographic data
US8284801B1 (en) 2010-01-26 2012-10-09 Xilinx, Inc. Method and apparatus for controlling an operating mode for an embedded Ethernet media access controller
US8539254B1 (en) 2010-06-01 2013-09-17 Xilinx, Inc. Method and integrated circuit for protecting against differential power analysis attacks
US8966253B1 (en) 2010-06-01 2015-02-24 Xilinx, Inc. Method and apparatus for authenticating a programmable device bitstream
CN101958789B (zh) * 2010-09-17 2012-07-04 北京航空航天大学 一种通信链路中高速数据加/解密模块
US7958414B1 (en) 2010-09-22 2011-06-07 Xilinx, Inc. Enhancing security of internal memory
CN103620690A (zh) * 2011-04-29 2014-03-05 Lsi公司 加密传输固态盘控制器
CN102546150A (zh) * 2012-02-07 2012-07-04 中国科学院软件研究所 面向密码设备的能量泄露采集方法及系统
EP2903202A4 (en) * 2012-09-28 2015-11-04 Fujitsu Ltd INFORMATION PROCESSING DEVICE AND SEMICONDUCTOR DEVICE
US8981810B1 (en) 2013-04-22 2015-03-17 Xilinx, Inc. Method and apparatus for preventing accelerated aging of a physically unclonable function
US9047474B1 (en) 2014-02-21 2015-06-02 Xilinx, Inc. Circuits for and methods of providing isolation in an integrated circuit
US9934185B2 (en) 2015-01-12 2018-04-03 Xilinx, Inc. Processing system network controller with interface to programmable logic
US9755649B1 (en) 2015-02-09 2017-09-05 Xilinx, Inc. Protection against tamper using in-rush current
US10102370B2 (en) * 2015-12-21 2018-10-16 Intel Corporation Techniques to enable scalable cryptographically protected memory using on-chip memory
US20170257369A1 (en) * 2016-03-04 2017-09-07 Altera Corporation Flexible feature enabling integrated circuit and methods to operate the integrated circuit
US9941880B1 (en) 2016-11-16 2018-04-10 Xilinx, Inc. Secure voltage regulator
US10896267B2 (en) * 2017-01-31 2021-01-19 Hewlett Packard Enterprise Development Lp Input/output data encryption
CN108123793A (zh) * 2017-12-19 2018-06-05 杭州中天微系统有限公司 基于apb总线的spi通信装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020184487A1 (en) 2001-03-23 2002-12-05 Badamo Michael J. System and method for distributing security processing functions for network applications
JP2004524768A (ja) 2001-03-23 2004-08-12 メギスト システムズ ネットワークアプリケーション用に保護処理機能を分配するシステム及び方法
JP2003324423A (ja) 2002-05-01 2003-11-14 Nec Electronics Corp データ処理方法、暗号化方法、復号化方法、認証方法及びこれらの装置
US20170141912A1 (en) 2015-11-18 2017-05-18 Siemens Ag Oesterreich Method for protecting a computer system from side-channel attacks
JP2017151794A (ja) 2016-02-25 2017-08-31 富士通株式会社 情報処理システム、情報処理装置、管理装置、処理プログラム、及び処理方法
US20170250802A1 (en) 2016-02-25 2017-08-31 Fujitsu Limited Information-processing system, information-processing apparatus, management apparatus, and processing method
JP2018029267A (ja) 2016-08-18 2018-02-22 富士通株式会社 プログラマブルロジック装置、情報処理装置、処理方法、及び処理プログラム
US20180053017A1 (en) 2016-08-18 2018-02-22 Fujitsu Limited Programmable logic device, information processing apparatus, and processing method

Also Published As

Publication number Publication date
US10659437B1 (en) 2020-05-19
EP3857424B1 (en) 2024-04-10
EP3857424A1 (en) 2021-08-04
JP2022502910A (ja) 2022-01-11
WO2020068426A1 (en) 2020-04-02
KR20210064258A (ko) 2021-06-02
CN112740217A (zh) 2021-04-30
CN112740217B (zh) 2024-02-02
US20200143088A1 (en) 2020-05-07

Similar Documents

Publication Publication Date Title
JP7371092B2 (ja) 暗号システム
US9363078B2 (en) Method and apparatus for hardware-accelerated encryption/decryption
Samir et al. ASIC and FPGA comparative study for IoT lightweight hardware security algorithms
Hoffman et al. A High‐Speed Dynamic Partial Reconfiguration Controller Using Direct Memory Access Through a Multiport Memory Controller and Overclocking with Active Feedback
Kashyap et al. Compact and on-the-fly secure dynamic reconfiguration for volatile FPGAs
WO2019229192A1 (en) Memory-efficient hardware cryptographic engine
Salman et al. Efficient hardware accelerator for IPSec based on partial reconfiguration on Xilinx FPGAs
Pfau et al. A hardware perspective on the ChaCha ciphers: Scalable Chacha8/12/20 implementations ranging from 476 slices to bitrates of 175 Gbit/s
Yang et al. Improving AES core performance via an advanced ASBUS protocol
Liu et al. Secure Video Streaming with Lightweight Cipher PRESENT in an SDN Testbed.
Martinasek et al. 200 Gbps hardware accelerated encryption system for FPGA network cards
US9946826B1 (en) Circuit design implementations in secure partitions of an integrated circuit
Ferozpuri et al. Hardware api for post-quantum public key cryptosystems
Venkataraman et al. An efficient NoC router design by using an enhanced AES with retiming and clock gating techniques
Nam et al. A Hardware Architecture of NIST Lightweight Cryptography applied in IPSec to Secure High-throughput Low-latency IoT Networks
US11309896B2 (en) Reconfigurable logic circuit
Seetharaman et al. Enhanced TACIT encryption and decryption algorithm for secured data routing in 3-D network-on-chip based interconnection of SoC for IoT application
Zied et al. An optimized implementation of the Blowfish encryption algorithm
Gören et al. FPGA design security with time division multiplexed PUFs
Pandey et al. Design, integration and implementation of crypto cores in an SoC environment
Cardona et al. Partial Crypto-Reconfiguration of nodes based on FPGA for WSN
US11689361B1 (en) Distributed key expansion
Fuhrmann et al. Implementation and benchmarking of a crypto processor for a Nb-IoT SoC platform
Cavo et al. Implementation and benchmarking of a crypto processor for a NB-IoT SoC platform
Rarick Design Flow of Advanced Encryption Standard Hardware Acceleration Using Zynq System-on-Chip

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230823

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231018

R150 Certificate of patent or registration of utility model

Ref document number: 7371092

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150