CA2243469A1 - Encoding technique for software and hardware - Google Patents

Encoding technique for software and hardware

Info

Publication number
CA2243469A1
CA2243469A1 CA2243469A CA2243469A CA2243469A1 CA 2243469 A1 CA2243469 A1 CA 2243469A1 CA 2243469 A CA2243469 A CA 2243469A CA 2243469 A CA2243469 A CA 2243469A CA 2243469 A1 CA2243469 A1 CA 2243469A1
Authority
CA
Canada
Prior art keywords
programs
encoding technique
software
hardware
encoding
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.)
Granted
Application number
CA2243469A
Other languages
French (fr)
Other versions
CA2243469C (en
Inventor
Harold Joseph Johnson
Yuan Xiang Gu
Becky Laiping Chan
Stanley Taihai Chow
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.)
Rockstar Consortium US LP
Original Assignee
Northern Telecom Limited
Harold Joseph Johnson
Yuan Xiang Gu
Becky Laiping Chan
Stanley Taihai Chow
Bell-Northern Research Ltd.
Nortel Networks Corporation
Nortel Networks Limited
Rockstar Bidco, LP
Rockstar Consortium Us Lp
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 Northern Telecom Limited, Harold Joseph Johnson, Yuan Xiang Gu, Becky Laiping Chan, Stanley Taihai Chow, Bell-Northern Research Ltd., Nortel Networks Corporation, Nortel Networks Limited, Rockstar Bidco, LP, Rockstar Consortium Us Lp filed Critical Northern Telecom Limited
Publication of CA2243469A1 publication Critical patent/CA2243469A1/en
Application granted granted Critical
Publication of CA2243469C publication Critical patent/CA2243469C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Abstract

An encoding technique of the invention protects software programs and hardware designs from being copied, tampered with, and its functions from being exposed. The software programs and hardware designs (collectivity called programs) thus encoded still remain executable. The encoding technique employs the concept of complexity of programs and produces proximity inversion in terms of functions contained in the programs, while preserving the behaviors.
Various embodiments are possible to achieve this encoding which includes, for example, cascading and intertwining of blocks of the programs.
CA002243469A 1996-03-07 1996-12-19 Encoding technique for software and hardware Expired - Fee Related CA2243469C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US61196896A 1996-03-07 1996-03-07
US08/611,968 1996-03-07
PCT/CA1996/000859 WO1997033216A1 (en) 1996-03-07 1996-12-19 Encoding technique for software and hardware

Publications (2)

Publication Number Publication Date
CA2243469A1 true CA2243469A1 (en) 1997-09-12
CA2243469C CA2243469C (en) 2000-10-31

Family

ID=24451142

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002243469A Expired - Fee Related CA2243469C (en) 1996-03-07 1996-12-19 Encoding technique for software and hardware

Country Status (6)

Country Link
US (1) US6088452A (en)
EP (1) EP0885416B1 (en)
JP (1) JPH11511582A (en)
CA (1) CA2243469C (en)
DE (1) DE69604307T2 (en)
WO (1) WO1997033216A1 (en)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6668325B1 (en) 1997-06-09 2003-12-23 Intertrust Technologies Obfuscation techniques for enhancing software security
US6334189B1 (en) 1997-12-05 2001-12-25 Jamama, Llc Use of pseudocode to protect software from unauthorized use
US6480959B1 (en) * 1997-12-05 2002-11-12 Jamama, Llc Software system and associated methods for controlling the use of computer programs
US6643775B1 (en) 1997-12-05 2003-11-04 Jamama, Llc Use of code obfuscation to inhibit generation of non-use-restricted versions of copy protected software applications
US6957341B2 (en) * 1998-05-14 2005-10-18 Purdue Research Foundation Method and system for secure computational outsourcing and disguise
US6463538B1 (en) * 1998-12-30 2002-10-08 Rainbow Technologies, Inc. Method of software protection using a random code generator
US7430670B1 (en) * 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US7770016B2 (en) * 1999-07-29 2010-08-03 Intertrust Technologies Corporation Systems and methods for watermarking software and other media
US7757097B2 (en) * 1999-09-03 2010-07-13 Purdue Research Foundation Method and system for tamperproofing software
US7287166B1 (en) 1999-09-03 2007-10-23 Purdue Research Foundation Guards for application in software tamperproofing
JP3888823B2 (en) * 2000-02-14 2007-03-07 松下電器産業株式会社 Semiconductor integrated circuit
IL157854A0 (en) * 2001-03-28 2004-03-28 Digital rights management system and method
ITMI20011938A1 (en) * 2001-09-17 2003-03-17 Cit Alcatel METHOD TO ENCRYPT A FLOW OF DATA
CA2363795A1 (en) * 2001-11-26 2003-05-26 Cloakware Corporation Computer system protection by communication diversity
US20030120938A1 (en) * 2001-11-27 2003-06-26 Miki Mullor Method of securing software against reverse engineering
CA2372034A1 (en) * 2002-02-14 2003-08-14 Cloakware Corporation Foiling buffer-overflow and alien-code attacks by encoding
US8819252B1 (en) * 2002-05-03 2014-08-26 Foundry Networks, Llc Transaction rate limiting
US7707295B1 (en) 2002-05-03 2010-04-27 Foundry Networks, Inc. Connection rate limiting
US8554929B1 (en) 2002-05-03 2013-10-08 Foundry Networks, Llc Connection rate limiting for server load balancing and transparent cache switching
US20030217280A1 (en) * 2002-05-17 2003-11-20 Keaton Thomas S. Software watermarking for anti-tamper protection
US7367053B2 (en) * 2002-10-11 2008-04-29 Yamatake Corporation Password strength checking method and apparatus and program and recording medium thereof, password creation assisting method and program thereof, and password creating method and program thereof
CA2415334C (en) * 2002-12-31 2012-04-24 Protexis Inc. System for persistently encrypting critical software data to control operation of an executable software program
US20040156388A1 (en) * 2003-02-07 2004-08-12 Lockheed Martin Corporation System for maintaining quality of service
US8510571B1 (en) 2003-03-24 2013-08-13 Hoi Chang System and method for inserting security mechanisms into a software program
US7249260B2 (en) * 2003-06-12 2007-07-24 Sun Microsystems, Inc. Method and apparatus for implementing a pluggable password obscuring mechanism
US7313817B2 (en) * 2003-06-17 2007-12-25 Lockheed Martin Corporation Data transmission system utilizing efficient complexity estimation of the kolmogorov complexity for data transmission
US20050071656A1 (en) * 2003-09-25 2005-03-31 Klein Dean A. Secure processor-based system and method
US20060020552A1 (en) * 2004-07-26 2006-01-26 James Sloan Copy-restriction system for digitally recorded, computer disk-based music recordings
US7900243B2 (en) * 2006-10-19 2011-03-01 Oracle America, Inc. Method and system for managing execution of an application module
US8752032B2 (en) 2007-02-23 2014-06-10 Irdeto Canada Corporation System and method of interlocking to protect software-mediated program and device behaviours
US8429637B2 (en) * 2008-09-02 2013-04-23 Apple Inc. System and method for conditional expansion obfuscation
KR20140058419A (en) * 2011-03-24 2014-05-14 이르데토 비.브이. System and method providing dependency networks throughout applications for attack resistance
US9906360B2 (en) 2012-03-30 2018-02-27 Irdeto B.V. Securing accessible systems using variable dependent coding
CN107729147B (en) * 2014-03-06 2021-09-21 华为技术有限公司 Data processing method in stream computing system, control node and stream computing system
US9858440B1 (en) * 2014-05-23 2018-01-02 Shape Security, Inc. Encoding of sensitive data
US9495111B2 (en) * 2014-10-10 2016-11-15 The Boeing Company System and method for reducing information leakage from memory
WO2016118216A2 (en) 2014-11-06 2016-07-28 Intertrust Technologies Corporation Secure application distribution systems and methods
US10082975B1 (en) 2017-03-02 2018-09-25 Micron Technology, Inc. Obfuscation-enhanced memory encryption

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4525599A (en) * 1982-05-21 1985-06-25 General Computer Corporation Software protection methods and apparatus
US4740890A (en) * 1983-12-22 1988-04-26 Software Concepts, Inc. Software protection system with trial period usage code and unlimited use unlocking code both recorded on program storage media
US4646234A (en) * 1984-02-29 1987-02-24 Brigham Young University Anti-piracy system using separate storage and alternate execution of selected proprietary and public portions of computer programs
GB2163577B (en) * 1984-08-23 1988-01-13 Nat Res Dev Software protection device
US4644493A (en) * 1984-09-14 1987-02-17 International Business Machines Corporation Implementing a shared higher level of privilege on personal computers for copy protection of software
US4864494A (en) * 1986-03-21 1989-09-05 Computerized Data Ssytems For Mfg., Inc. Software usage authorization system with key for decrypting/re-encrypting/re-transmitting moving target security codes from protected software
US5047928A (en) * 1986-10-24 1991-09-10 Wiedemer John D Billing system for computer software
US4866769A (en) * 1987-08-05 1989-09-12 Ibm Corporation Hardware assist for protecting PC software
US4937863A (en) * 1988-03-07 1990-06-26 Digital Equipment Corporation Software licensing management system
US5123045A (en) * 1989-08-18 1992-06-16 Massachusetts Institute Of Technology Comprehensive software protection system
EP0459046A1 (en) * 1990-05-31 1991-12-04 International Business Machines Corporation Computer software protection
CA2026998C (en) * 1990-10-05 1994-05-10 Thomas Edwin Glover Dynamic trace elements
US5359659A (en) * 1992-06-19 1994-10-25 Doren Rosenthal Method for securing software against corruption by computer viruses
AU682869B2 (en) * 1993-05-10 1997-10-23 Thinking Software, Inc Method for minimizing uncertainty in computer software processes allowing for automatic identification of faults locations and locations for modifications due to new system requirements with introduction of an alternative form of the target process object code allowing for less recompilation and re-linkage processing
US5613004A (en) * 1995-06-07 1997-03-18 The Dice Company Steganographic method and device

Also Published As

Publication number Publication date
WO1997033216A1 (en) 1997-09-12
EP0885416B1 (en) 1999-09-15
US6088452A (en) 2000-07-11
JPH11511582A (en) 1999-10-05
CA2243469C (en) 2000-10-31
EP0885416A1 (en) 1998-12-23
DE69604307D1 (en) 1999-10-21
DE69604307T2 (en) 1999-12-30

Similar Documents

Publication Publication Date Title
CA2243469A1 (en) Encoding technique for software and hardware
EP0674280A3 (en) Launching computer program upon download of data created by program.
CY1107099T1 (en) ANTIBIOTIC PARAMETERS AND THEIR SHRIMP
EP0633579A3 (en) Improved pinless connector.
HK1030625A1 (en) Methods and compositions for immunomodulation
BG103671A (en) Combinations of sulphonylcarbamide-glytazone having synergetic effect for the treatment of diabetes
WO1995007994A3 (en) Recombinant alphavirus vectors
ATE211761T1 (en) DNA MUTAGENESIS BY RANDOM FRAGMENTATION AND RECONSTRUCTION
DE69023411T2 (en) Vector quantizer and decoder.
EP0606152A3 (en) Lever type connector.
IT9021451A0 (en) CARBON BLACK AND ELASTOMERIC COMPOSITIONS THAT INCORPORATE IT.
AU6659198A (en) Compositions and methods for modulating cellular nf-$g(k)b activation
EP0646994A3 (en) Lever-type connector.
IL187254A (en) ANTISENSE NUCLEOTIDES, COMPOSITIONS COMPRISING THEREOF AND THEIR USE IN MODULATING ACTIVATION OF NF-kB
EP0668581A4 (en) Card processor with interlock processing function.
FI102653B (en) A color television system equipped with devices for color television signal decoding and decoding
ID16084A (en) ELEMENTS OF PTFE EXTENDED AND THE PARTS THAT MADE.
DE69407614T2 (en) Lever type connector arrangement
WO1998000770A3 (en) Encryption enhancement system
DE69015119D1 (en) Stabilized enzyme mixtures.
EP0638849A3 (en) Toner and developer composition containing the same.
ZA972186B (en) Lytic peptides.
EP0616391A3 (en) Lever-type connector.
WO1996005300A3 (en) Or-1 on orphan receptor belonging to the nuclear receptor family
EP0632429A3 (en) Vector quantizer.

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed

Effective date: 20161219