Method and device to protect software code against fault attack

Verfahren und Vorrichtung zum Schutz von Softwarecodes gegen Fehlerangriffe

Procédé et dispositif pour protéger un code logiciel contre des attaques de panne


The present invention relates to the domain of software protection and more particularly to a device and a method for rendering software tamper-proof, thus ensuring the dynamic integrity of a piece of software. It is proposed a method to produce a software code protected against fault attack executed in a microprocessor, said code comprising at least a first and a second function, each of which comprising a set of instructions, characterized in that, the set instructions of the first and the second function is divided into subsets of instructions, the subsets of the first function being interleaved with the subsets of the second function resulting in a fourth function such that the execution instructions of the first and second function is carried out in an alternate manner.




Download Full PDF Version (Non-Commercial Use)

Patent Citations (4)

    Publication numberPublication dateAssigneeTitle
    US-2003023960-A1January 30, 2003Shoab Khan, Farrukh Kamran, Rehan Hameed, Hassan Farooq, Sherjil AhmedMicroprocessor instruction format using combination opcodes and destination prefixes
    US-2004139429-A1July 15, 2004Ronny Ronen, Alexander Peleg, Nathaniel HoffmanSystem and method for fusing instructions
    US-7664937-B2February 16, 2010Microsoft CorporationSelf-checking code for tamper-resistance based on code overlapping
    WO-2010142622-A1December 16, 2010Nagravision S.A.Procédé permettant de surveiller l'exécution d'instructions d'un programme de traitement de données dans un module de sécurité

NO-Patent Citations (2)

    MATTHIAS JACOB ET AL: "Towards integral binary execution", PROCEEDINGS OF THE 9TH WORKSHOP ON MULTIMEDIA & SECURITY , MM&SEC '07, 21 September 2007 (2007-09-21), New York, New York, USA, pages 129, XP055140620, ISBN: 978-1-59-593857-2, DOI: 10.1145/1288869.1288887

Cited By (0)

    Publication numberPublication dateAssigneeTitle