Reconfigurable Cryptographic Processor

This paper presents the Trusted Computing problem and proposes a reconfigurable approach to the existing solution, the Trusted Computing module chip. The new Trusted Computing approach to computation provides additional safety to the user’s data and a higher protection against malicious attacks to the systems. The features proposed by the Trusted Computing Group include secure I/O, memory curtaining, sealed storage and remote attestation, which have a strong dependency on the existing algorithms. A overview to the performance of the already implemented encryption algorithms required for the Trusted Computing is also presented. As a test and prototype platform the Molen [19] computational paradigm has been used. The results suggest that a significant throughput can be achieved with a reduce device occupation. The most significant symmetrical and hashing function are the AES [11] algorithm and the SHA [10] hashing functions. The usage of these cores with a polymorphic approach, suggest that processing throughputs above 1Gbit/s can be achieved with a low device occupation. Preliminary figures for the whirlpool hashing function, recently proposed, is also presented. Future research direction are also presented. Keywords— Trusted Computing, Hardware/Software implementation, AES, SHA, whirlpool, FPGA, Polymorphic processor I. TRUSTED COMPUTING The definition of Trust states: firm reliance on the integrity; or the condition and resulting obligation of having confidence placed in one. According to the definition of trust, trusted computing can be interpreted as the ability of having computational systems that are reliable and can maintain computational integrity, even when hardware degrading occurs. This may be an important issue since according to some studies the existing technology will reach a point where system degradation will occur with a significantly higher probability [6,7,13]. These failures can be minimized by the usage of self checking designs and the use o redundant logic capable of functionally replacing the damaged part of the circuit. The work presented in this paper, is however, more focused on the other definition of trusted computing. The capability of assuring confidence on the computational system that is being used. With the increase and proliferation of communication systems, the users privacy and is data coherence is constantly at risk. Either remotely with the use of programs developed to examine or modify the existing data and the systems usage (e.g. virus and worms), or locally through the monitoring of the systems behavior (e.g. printing a document form an unauthorized computer) or through physical attacks (e.g. observation of the power consumption, reading the data stored in memory). A significant part of these security issues are resolve with use of encryption algorithms. However these algorithms have significant computational requirements and different computational characteristics, so even if hardware accelerators exist to speed up these calculations they can not efficiently improve all the existing algorithms. With this in mind the major software and hardware manufactures created the Trusted Computing Alliance Platform in order to normalize and to catalyze the use of security systems in order to achieve more trustworthy computational systems. Trusted Computing Group: This Trusted Computing Alliance Platform (TCAP), a consortium formed by Microsoft [9], Intel [4,5], IBM, AMD [9], Sun Microsystems, HP among many other, also designated by Trusted Computing Group (TCG), have established a set of features that may eventually be used in future generation of computers providing new standard for trusted computing [14, 16, 17]. These new capabilities are to be integrated in the hardware and in the software application. This group developed the Trusted Platform chip (TPM), which provide the hardware acceleration for the proposed features, namely: Secure I/O; Memory curtaining; Sealed storage; and Remote attestation. Secure input and output: The secure Input and Output (I/O) feature consists on the validation of the received data via using checksums to verify that the software used to do the I/O has not been tampered with. For example a virus trying to snoop the communication between the computer and a credit card reading device. Memory curtaining: Memory curtaining consists on al-