Stream Cipher Interface for Secure Neural Accelerator Data Flows
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing stream-oriented convolutional accelerators face security issues due to the unprotected transmission of confidential data such as input data, trained weights, and neural network topology, with conventional encryption methods being inefficient and insecure.
Innovation Solution
Implementing a cryptographic circuit within the bus arbitrator and system bus interface to perform stream cipher encryption and decryption operations on all data streams, using unique masks generated from encryption IDs, addresses, and keys to enhance security and synchronization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional encryption methods are used to protect confidential data, then security is improved, but processing efficiency and throughput deteriorate
Solution Approach 1:
The encryption system is segmented into multiple independent stream cipher engines (e.g., four engines) that operate in parallel. Each engine handles a portion of the data stream independently, allowing simultaneous encryption/decryption operations on multiple data streams without interfering with each other, thus maintaining high throughput while providing security.
Solution Approach 2:
The stream cipher encryption/decryption functionality is merged directly into the hardware accelerator's data path, combining security operations with the existing processing pipeline. This integration eliminates separate encryption/decryption stages and allows security operations to occur concurrently with data processing, maintaining processing efficiency.
Solution Approach 3:
Encryption IDs are pre-generated and stored in lookup tables before data processing begins. When encryption is needed, the system quickly retrieves the appropriate encryption ID from the lookup table based on the streaming engine identifier, avoiding time-consuming key generation during critical data paths and maintaining throughput.
2Reliability
If stream cipher operations are performed on all data streams, then security is improved, but device complexity increases
Solution Approach 1:
The stream cipher engines are designed as universal components that can handle multiple functions: encryption, decryption, and different data stream types (input data, weights, intermediate results). The same hardware structure processes all data streams with different encryption IDs, reducing the need for separate dedicated encryption hardware for each data type and lowering overall complexity.
Solution Approach 2:
A control unit acts as an intermediary between the streaming engines and stream cipher engines, managing the complexity of coordinating encryption/decryption operations. The control unit selects appropriate encryption IDs, manages lookup tables, and routes data between components, centralizing control logic and simplifying the overall system architecture.
3Productivity
If multiple streaming engines are used to increase throughput, then processing speed is improved, but synchronization difficulty increases
Solution Approach 1:
The system implements feedback mechanisms where the control unit monitors the state of multiple streaming engines and adjusts encryption ID selection accordingly. The control unit receives status information from streaming engines and uses this feedback to coordinate encryption/decryption operations, ensuring proper synchronization without requiring complex inter-engine communication protocols.
Solution Approach 2:
Multiple streaming engines process identical or similar data streams in parallel, with each engine having its own dedicated encryption ID from the lookup table. This copying approach allows independent parallel processing while maintaining synchronization through the shared lookup table structure, which provides consistent encryption ID selection across all engines.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
A hardware accelerator (120) includes functional circuits (124, 126) and streaming engines (128). An interface (170) is coupled to the plurality of streaming engines (128). The interface (170), in operation, performs stream cipher operations on data words associated with data streaming requests. The performing of a stream cipher operation on a data word includes generating a mask based on an encryption ID associated with a streaming engine of the plurality of streaming engines (128) and an address associated with the data word, and XORing the generated mask with the data word. The hardware accelerator (120) may include configuration registers (170) to store configuration information indicating a respective security state associated with functional circuits (124, 126) and streaming engines (128) of the hardware accelerator (120), which may be used to control performance of operations by the hardware accelerator (120).