Ana içeriğe atla

Network Data Security System Design with High Security Insurance

Design Introduction

Because of the availability of relatively large bandwidth, computers worldwide are connected via a
network. Computer users can transfer information and exchange data easily on the Internet, and as a
result, many network data servers have been set up. With this growth, ensuring data security during
storage and transmission has become very important. In our project, a channel coding and encryption
system protects data, ensuring data security in case of network invalidation. It also prevents data loss
for cases in which a single packet of data is revealed (including losing an encryption key). Our goal is
to make a new network data security system with high-security insurance.

A traditional network data security system (e.g., network-attached storage devices or a storage area
network) achieves high security through encryption/decryption algorithms such as advanced encryption

standard (AES), data encryption standard (DES), RC6, and other symmetric key cryptosystems.
However, with these schemes data errors have become more frequent, particularly as network
transmissions enter the gigabit per second (Gbps) range. Therefore, our new network data security
system must consider data accuracy and privacy.

We used the AES block cipher to encrypt the data and we used an RSA algorithm to encrypt the AES
key. The key and encypted data are encoded using a Reed-Solomon (RS) encoder and stored, via
Ethernet, onto multiple archive data servers. When the data is read from the server, the reverse process occurs and decoding is performed on each server.

Because of fault tolerance mechanisms, the server works normally even when data errors occur during transmission or if the server is damaged. To develop our proposed embedded system, we used a Nios® II processor (a 32-bit RISC soft-core processor) to integrate various peripherals that we downloaded via the Internet. The design’s AES, RS encoder, RSA algorithm, and network communication protocol require many look-up tables (LUTs) and hardware design. We used system-on-a-programmable-chips (SOPC) concepts and hardware/ software co-design to shorten the design process.

The Nios II processor supports user-defined custom instructions as well as hardware acceleration. It can also perform other functions such as processing, controlling, decision making, and ordering. These features allow the software designer to write the control flow program in C/C++, while most of the computing is done in hardware. The software application includes a custom instruction that operates as a high-speed, hardware-accelerated computing module. In addition to supporting custom instructions, the Nios II Integrated Development Environment (IDE), which includes the GNU C/C++ assembler and Eclipse IDE, is ideal for the entire design process. Furthermore, the designer can perform simulation, development, debugging, integration, and validation in real time on the Development and Education (DE2) board. All of these features make development efficient. Design Concepts Using hardware/software co-design helped us complete the network data security system rapidly. The design can be divided into 3 parts, as shown below:

■ System—The Nios II processor performs the major system control functions. These functions include flow control, general computing, system monitoring, event decision making, receiving and sending data, user interfacing, and implementing an interrupt service routine.

■ Hardware—The hardware includes an RS encoder, AES, and RSA high-speed operation components, charge-coupled device (CCD) image capture components, dual-port SDRAM controller, Ethernet controller, VGA controller, and SRAM controller.

■ Software—The software provides a testing and validating platform for the communication between the software and the hardware. We also use it for software simulation and development.
Figure 1 shows the test platform for the system. 



The core infrastructure has the following elements, as shown in Figure 6:
■ High-Speed Data Processor—Includes the RS encoder/decoder, AES, and RSA operations.
■ CCD Controller—Connects to the CCD camera via a programmable I/O (PIO) and direct memory access (DMA) to capture images.
■ VGA Controller—Displays the image captured by the CCD camera on a computer display.
■ SDRAM Controller—Reads/writes data at high speed.
■ Network Controller—Performs network card initialization, receives packets, and sends interrupt processing and user datagram protocol (UDP) communications.
■ System Software—Provides LUT operation, hardware core component control, peripheral control, operation control, data flow control, interface control, interrupt control, etc.


Application Scope Our project can be used in the following applications:
■ Distributed archive security system
■ Archive server
■ Network hard drive or mail server
■ High-speed database storage system
■ Disk array Target Users Our project targets the following users:
■ Companies that need a high-security data storage system
■ Designers of network data security systems that require high security insurance
■ Portable communication or storage system producers
■ Personal data storage system designers Development Board Our design uses the Altera® DE2 development board, which contains a Cyclone® II EP2C35F672C6 FPGA, EPCS16 serial configuration device, 8-Mbyte SDRAM, 512-Kbyte SRAM, 4-Mbyte flash, secure digital (SD) memory card slot, 10/100 Ethernet, RS-232 port, infrared port, etc. See Figure 8.
Figure 8. DE2 Development Board
Function Description 
This section describes the function of our design.

Development Steps We used the following general steps to implement the design.
1. Implement the design’s operational blocks (AES, RSA, and RS encoding) in HDL (VHDL and Verilog HDL) using the Quartus® II development environment.

2. Capture an image using a CCD camera, which is displayed in real time with a VGA controller. The captured image is the data source to be encoded and encrypted. The SDRAM image data on the DE2 development board outputs from the computer over the network.

3. Transmit data for real-time encoding/decoding using Ethernet and DMA control.

4. Develop custom instructions to implement the RSA decoder. Return the result directly to the ALU.

5. Build the entire system using SOPC Builder. Complete the hardware/software co-design and demonstration.

 6. Simulate AES-128 encryption and RS (6,4,1) encoding/decoding with C++ Builder.

7. Use C++ Builder to complete the network communication GUI interface with the DE2 development board.

8. Simulate several data servers with one PC (for example, it could simulate a situation in which the service of one or more servers is suspended).

9. Test the systems using test data. Implementation This section describes how we implemented the design. Create the Components Using the Quartus II software version 5.1, we created the AES, RSA and RS encoding functions in VHDL and Verilog HDL.
Specifically, we:

1. Analyzed the AES algorithm and developed its four key components. We integrated the encoding and decoding functions for increased CPU efficiency and data property. This functionality is recursive.

2. Analyzed the RS function. We implemented the RS decoder and encoder using a general reliable error-correcting mechanism.

3. Created all components according to the input requirements: multiplier, square, and finite field inverse, KeyExpansion, (Inv)SubBytes, (Inv)ShiftRows, (Inv)MixColumes, (Inv)AddRoundKey, RSA decoder, RS decoder, and RS encoder.

4. Developed the VHDL components using the Quartus II software version 5.1, and performed functional validation and timing simulation.

Capture and Display the Image We captured an image via a CCD camera and displayed it in real time on-screen using a VGA controller. The captured image is the data source to be encoded and encrypted. The following steps describe this process.

1. Use Verilog HDL to connect the CCD controller and VGA controller with the Nios II processor (using a PIO function) as shown in Figure 9.

2. Display the captured image on-screen using a VGA controller. Alternatively, use the Nios II processor to transmit it back to the PC via Ethernet for use by the software and hardware encryption/decryption and encoding validation.

Figure 9. CCD and VGA Controller

Transmit the Data We implement real-time data encoding/decoding transmission via Ethernet, the USB interface, and DMA control as described in the following steps.

1. Incorporate the Ethernet and USB interfaces by selecting the components in SOPC Builder as shown in Figure 10.

2. Set the arbitration parameter and connect the interfaces with the Avalon bus as shown in Figure 11.

3. Use the Ethernet port to transfer encoding/decoding data between the PC validation platform and the virtual server on the network.

Figure 10. SOPC Builder Components 

Figure 11. Avalon Bus and Arbitration 

Generate the System 
We generated the entire system with SOPC Builder as described in the following steps.

1. Open the Altera-provided Cyclone II standard CPU example.

2. Add the user-defined PIO pins, as shown in Figure 12. Table 2 shows the setting of each pin.

3. Design the system infrastructure with SOPC Builder, and generate the system.h header file, peripheral drives, and EDIF file.

4. Generate the executable file using the GNUPro encoder, which is downloaded to the Cyclone II device after validation and debugging.

Figure 12. Add User-Defined Pins 

Table 2. User-Defined Pin Functions 

Encrypt and Encode Data
We used C++ Builder to complete 128-bit AES encryption and RS encoding/decoding as described in the following steps.
1. Write a user interface program with C++ Builder. Figure 13 shows an example of the parameter settings.
Figure 13. Parameter Settings

2. Write reference rules according to the specification of the Federal Information Processing Standard Publication 197 and RS encoding concepts.

3. Finish the software testing platform gradually and use the platform as the reference for the whole system (see Figures 14 through 20).

Figure 14. Validate Whether the Encoding/Decoding Is Correct

Graduation thesis...

to be continued...

Bu blogdaki popüler yayınlar

Cloud Computing Reference Architecture: An Overview

The Conceptual Reference Model Figure 1 presents an overview of the NIST cloud computing reference architecture, which identifies the major actors, their activities and functions in cloud computing. The diagram depicts a generic high-level architecture and is intended to facilitate the understanding of the requirements, uses, characteristics and standards of cloud computing. As shown in Figure 1, the NIST cloud computing reference architecture defines five major actors: cloud consumer, cloud provider, cloud carrier, cloud auditor and cloud broker. Each actor is an entity (a person or an organization) that participates in a transaction or process and/or performs tasks in cloud computing. Table 1 briefly lists the actors defined in the NIST cloud computing reference architecture. The general activities of the actors are discussed in the remainder of this section, while the details of the architectural elements are discussed in Section 3. Figure 2 illustrates the intera

Cloud Architecture

The cloud providers actually have the physical data centers to provide virtualized services to their users through Internet. The cloud providers often provide separation between application and data. This scenario is shown in the Figure 2. The underlying physical machines are generally organized in grids and they are usually geographically distributed. Virtualization plays an important role in the cloud scenario. The data center hosts provide the physical hardware on which virtual machines resides. User potentially can use any OS supported by the virtual machines used.  Operating systems are designed for specific hardware and software. It results in the lack of portability of operating system and software from one machine to another machine which uses different instruction set architecture. The concept of virtual machine solves this problem by acting as an interface between the hardware and the operating system called as system VMs . Another category of virtual machine is called

CLOUD COMPUTING – An Overview

Resource sharing in a pure plug and play model that dramatically simplifies infrastructure planning is the promise of „cloud computing‟. The two key advantages of this model are easeof-use and cost-effectiveness. Though there remain questions on aspects such as security and vendor lock-in, the benefits this model offers are many. This paper explores some of the basics of cloud computing with the aim of introducing aspects such as: Realities and risks of the model  Components in the model  Characteristics and Usage of the model  The paper aims to provide a means of understanding the model and exploring options available for complementing your technology and infrastructure needs. An Overview Cloud computing is a computing paradigm, where a large pool of systems are connected in private or public networks, to provide dynamically scalable infrastructure for application, data and file storage. With the advent of this technology, the cost of computation, application hosting, c