CA1183276A - Method for identifying a system-allied physically separable program memory and a data processing system utilizing said method - Google Patents

Method for identifying a system-allied physically separable program memory and a data processing system utilizing said method

Info

Publication number
CA1183276A
CA1183276A CA000415896A CA415896A CA1183276A CA 1183276 A CA1183276 A CA 1183276A CA 000415896 A CA000415896 A CA 000415896A CA 415896 A CA415896 A CA 415896A CA 1183276 A CA1183276 A CA 1183276A
Authority
CA
Canada
Prior art keywords
processing system
data processing
program memory
display
memory
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.)
Expired
Application number
CA000415896A
Other languages
French (fr)
Inventor
Charles B. Heffron
Roberto Lenarduzzi
Jack E. Haken
Robert T. Mayer
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.)
Koninklijke Philips NV
Original Assignee
Charles B. Heffron
Roberto Lenarduzzi
Jack E. Haken
Robert T. Mayer
The Magnavox Company
N.V. Philips Gloeilampenfabrieken
Philips Electronics N.V.
Koninklijke Philips Electronics N.V.
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
Priority claimed from US06/324,743 external-priority patent/US4454594A/en
Priority claimed from US06/324,744 external-priority patent/US4442486A/en
Application filed by Charles B. Heffron, Roberto Lenarduzzi, Jack E. Haken, Robert T. Mayer, The Magnavox Company, N.V. Philips Gloeilampenfabrieken, Philips Electronics N.V., Koninklijke Philips Electronics N.V. filed Critical Charles B. Heffron
Application granted granted Critical
Publication of CA1183276A publication Critical patent/CA1183276A/en
Expired 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/109Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2109Game systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Retry When Errors Occur (AREA)
  • Credit Cards Or The Like (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

ABSTRACT:

A method and system that discourages the use of unauthorized program software with proprietory data processing system hardware. Under the control of a start command signal generated by the central processing unit of the system an identifier is fetched up from a specified location in a program memory which is physi-cally separable from the data processing system. The identifier is then compared with a reference identifier which is stored in the proprietory hardware. The hard-ware blocks further execution of programs contained in the program memory if the identifiers are not congruent.
In a preferred embodiment the identifier is displayed and the display is material which can only be legally used with the permission of the manufacturer or proprietory of the hardware; for example a registered trademark or copyrighted material.

Description

3~
P~ 21.080 C 1 20.9.198~

"A method for identifyiny a system-allied physically separable program memory and a data processing system utilizing said method".

The invention relates to a methcd for identifying a system-alliecl physically separab].e program memory in a data processing system said data processing system comprising a central processing unit, an executive memory and means for phys.ically introducing a program memory into the system, said method colnprising the steps of:
a) comparing an identifier stored in said program memory with a reference identifier stored in said executive memory;
b) generating an error signal if said reference identifier does not correspond to said identifier stored in said program memory;
e) disabling,under the control oE said error signal, the operation of tl1e data processing system.
The invention also relates to a data processing system utili-æi.n~ sclid methocl.
Sueh a method is clescribed in the IBM TDB Vol. 14, No. 11, ~pril 1972, p. 3531. ~ccording to the described method the con1parison step is performed by the first instm ction in the program stored in the pr~ram memory. Thi.s first instxuction consits of the comp~rison of an identif:ler ln the program with a harc1wirecl ident.ifier stored in the ex~ tive memory o:E the central processing ~it. An invalld compare 2n will disab:le the operat:lon of -the data process.ing system by :inhibiting ~he progrcllll run.
Th.ls meclMr3 that: wherl a program m~llory whi.ch does not. contain the correctl.-lentl.Eier, for example, in the case of a program whi.eh has been copied by an unauthorized manufacturex, is in-txoduced into the system, the program wlll not be executed.
The illegal copying and sale of materlal which ls subjectto a copyright or which is the property of a txademark owner or manu facturer ls a serious problem. Examples are the copying of vldeo tapes and the copying of so:ftwcare in eon~puter systems, especially for small 3(l computer syste~s sueh as vldeo games. Large profits ean be n~de by the sa1.e of illeY~ally cop:ied proCJrams.
Manu:Eaeturers o:E vldeo games sell hardware (for example the console) .~

~83~7~
P~ 21.080 c 2 20.9.1982 at only a small profit because they expect to recoup profits from the sale of software, for example software stored in a cartridge.
This is one of the main reasons why -the software owned by the manu-facturer should be effectively protected against copying by unautho~
rized n~nufacturers. Therefore, the manufacturer incorporates in his systerns or his soft.ware a device or a method to prevent such copying or a-t least make i.t more difficult. Preferably the manufacturer tr:i.es to des.ign his system in such a way that it can only ke used when softwc~re allied to his own system ~.e. software of his own make l or o another authorized make is in-troduced.
A disadvantage of most of the known software protection sys-tems or methods is that they ean easily be circumvented. In the method described in said IBM TDB the comparison step during which the con-ymence between the identifiers is checkdforms a part of the program stored in the program memory, that is to say the first instruction in the program. ~ skilled but unauthorized copier }lowever will recognize the purpose o:~ this ~first instruetion and will remove or neu-tralize this Ç.irst instruction. This means that when the data processing system ope~ates with such a copied prograM in whi.ch this first instruction has been deleted, the eomparison step will never be perfo.rmed. Consec~lently no error signal will be generated and the systeM will not be disabled.
It :is an objec-t oE the present .invention to prov.ide a me-tl1od Eor ic1erlt:l:Eying a system-c-lll.iecl physiea].ly sepaKable proc~aM rnen~.ry, sclid n~,ethod be:LncJ executecl a:~:ter an initial:ization o:E the clata processing ~G systern ancl inc1epenclently of the content of sa:i.d pro~3rcm me.rnory.
~ rO thi.s end, the metho~1.in accordance w:Lth -the :invention is cha:racter.Læecl.Ln that cl reset signal is ger1eratecl aEter an initia-J.i.æat:Lon of the data process.ing systeM, under the control of said rese-t si.grlcll a start-co~mc~nd signal is generated by the central processing uni-t in order to start said comparison.
Thus, when the methocl :Ln accordance with the invention is used, it is the eentral processing ~li.t wh.ich generates a start-command signal Eor starting the compc~rision after an initialization of the c1ata pro-cessinc3 system. l'he comparison will -thus always be perfo.rmed after an 36 :Ln:i.t:ia1..iæation of the system and independently from the instr~lctionsstor~l ln the pro~ram memocy. Consequently there wlll always be a check on the cong m ~nee of the identifiexs after -the staxt~corr~and signal has 3~'7~
PHA 21.080 c 3 ~0.9.19~2 been ge~erated by the eentral processing unLt. ~lowever this implies that in case of non-congruence or in the case of absenee of the identifiers in the program men~ory (for example, due to copy:ing), the operation of the data processing system will always be disabled.
Preferably, the method according to t'ne invention is charac-terized in that said initialization consists of the introduction of a program memory into said means for physically introducing a program memory. Thus, the method of the invention is performed each time when a program memory is introduced into said means for physically introducing a program memory. The system wi.ll thus operate only if the introduced program memory has been identified as a system-allied program merr.ory.
Preferably said initialization consists of the activation of the power supply for the data processing system after the introduction of a program memory .into said means for physically in-troducing a pro--lS gram memory. Thus, the method according to the invention cannot be circumvented by the lntroduction oE a program memory Lnto a system with a deactivated power supply.
The invention also relates to a data proeessing system compri-sing a central proeessing unit, an executive memory, means for physical-ly introduc,ng a program memory into the system, comparison m.eans Eor eon~aring c,m identifier stored in said program memory with a referenee identiEier s-tored in said exec,ut:lve me~n~ry cm d Eor generating a eompari-sion result, and a:l.so compr:is:ing disab:Le means for disabling said data proeesslng system under the eon-trol of a negative con~arision result.
~6 Thq data proeess:ing syst~n aecorcl:Lng t.o the m v~ntion :Ls charaeteriz~dl.n ~ha~ said comparison me~1s :ls an .i.nteclral part oE the c~ata proeessing syst"elll ancl is aet:lvatable under the control o.E a reset signa]. generated a:E-ter an i.nit:lalization o:E the system.
In a data proeessing system according to t.he invention said identiEier preferably eomprises a proprietory display, which could comprise a regi.ste.red trademark, or copyrighted material, or a statement indicating that in this sys-tem use is m~de of the invention as claimed in the present patent application c~d any patent i.ssuing thereof.
As has already been discribed, the comparison means are aetLva-tecl a,Eter an init:ialization oE the data processing system and when the identi.E:ie,r s-tored in the program memory is no-t congruent w.Lth the re:erence iden~:ifier, the system is disabled. This means tha-t ~ 3 PHA. 21.080C

in order to make a usable program memory the unauthorized manufacturer is forced to store the appropriate identifier in the program memory.
Because the identifier is now a proprietory display, an unauthorized manuEacturer will be forced to insert -this proprietory display in order to make a usable program memory. However, this implies an infrirlgement of the law, l.e. the trademark law in the case of a registered trade~ rk and the copyright law in the case of copyrighted material. The unau~horized manufacturer may thus be guilty of false marking.
It is to be noted that the use of copyrighted material as an identifier has already been described in DE-OS 29 23 738 ~y Hans-Georg Joepgen and which was laid open to public inspection on Dece~er 18, 1980~ I-lo~ever, ~herein the identifier is used in a s~ilc~r way as in said IBM TD~, i.e. as a part of the prc~ram stored in the progrc~m memory. Like the method described in IBM TDB, the method described in DE-OS 29 23 738 can be circumventecl acJain by cleleting the copyrighted text and comparison instruction in the pro-grc~m. IE Eor the present application the una~Tthorized manufacturer removes the copyrighted ma~rial from the pro~ram memory, the data proces~ g system wi:Ll not operate with such a program me~ory.
Preeerably~ a data prOceSsinCJ system accord:incJ to the inven-tlon compr;ises dlsplc~y m~ans connected to the c~ltral process:ing unit.
When ~ppli~d in such a clata processiny system, the methocl according to the invention is prefercibly characterized in that as a resuLt of said start-cc~nd signal the proprietory display is displayed on said display means for a period of tirne which is long enough ~at it is perceptive by humans~ Because the proprietory display is displayed as a video display an~/or au~ible display, infringement oE the law can easily be esta~lished~
m e :in~ention will be described with reference to a preferred embodiment in which the data processing sys-tem co~prises a video con-tr.ol cJam~ console, and the p~ogram memory a ROM cartridge. It will be cvlden~ that-the inventio~ is not restricted to -this preEerred embo-cllm~t but can be applied bo a31 data processing systems, for example 3~ c~m~llter system~, wh~re use is made of a program memory which is phy-sically introducecl in the system, for example a magnetic tape, a disc, or an op~ical recording medium.
The in~ention m~y be understood with reference to -the attached drawings in which:

~ ~ ~3~6 Pi~A 21.080 C 5 20.9.1982 Figure 1 is a block diagram showing the architecture of a programmable video game;
Figure 2 is a memory map of the video game of Figure 1; and Figure 3 illustrates by using a flow chart implementation of the method of the invention in the video game of Figures 1 and 2.
Figure 1 schematically represents the architecture of a bus oriented, progrc~mable video game. The architecture of Figure 1 is also c~alogous, for example, to the architecture of some computer control-led machinery. A microprocessor 10 cc~nicates data, instruc-tions, and acldress information via a bus 11 with a non-volatile memory 12, hereafter called the EXECVTIVE ROM which con-tains EXECUTIV~ program soft-ware, a video generator 13, a random access memory (RAM) 14, a pro-gram memory 16, hereafter called the GPME~ ROM containing software for a part.icular game, and, optionally, with various input-output interfaces 18 wh.ich comn~micate clata to one or more accessories, for example a printer or A tape recorder. In a video game the microprocessor 10, EXE-CUTI~'. ROM 12, vidco ge.nrator 13 and R~M 14, typically are all contained wlthi..n a single hardware console unit. The GAME ~CM 16 and interfaces 1~ are external to and separable from the console. The bus 11 is provi-ded with means 17 and 19 for physically introducing the gc~e ROM respec-~ively the .interfaces 18.l'hese means are for example removable cor~nec-toL s .
The microproeessor 10 gene:rally eornprises an integrated cireui.tprc~esso:r wh: Lch is capahle of addressing c~nc1 executiny pro~rc~m instruc-tions which ~re storec1.in the executive RCM 12 anc1 the game ROM IG or in r~M 1~, o~ reac1:ing datcl resident :in ROM'5 l2 ancl 161 anci R~M l~, at I/O i.nkerfaces lU or Ln data registers of -the video generator 13. The m.Lcroprocessor is also capable of writing data to addresses in r~AM 14, re-~isters in video yenerator 13, and to I/O interfaee 18.
Video generator 13 may be one or rrore dedicated integrated e:Lrcuits whieh ~roduce a raster scan television signal in response to ~ ge data received via bus (data -~ address) 11 from mieroproeessor 10 ancVo:r one or more of memories 12, 14 and 16. The video generator may ~yplcally include a character generator for producing alphanurnerie ~5 ch~l~ae~ers in ~ video ~nage in response to ~SCII coded character inform~-t:lon ~mcl pos:Lt:ion addresses rece:ived from the data bus and may, addi-tio-nally, contain circuitry for generatiny objec-t oriented displays and/or ~ ~ ~3;~7~
PHA 21.080 C 6 20.9.lg82 for rnapping information contained in the randorn aecess rr.emory 14 to points in the video irnage. The raster scan televisi.on signal procluced by video generator 13 is fed to and displayed on cathode ray tube 15 which may be contained in the video garne console or rnay be a separate televi-sion monitor or receiver. The video generator may also be capable ofgenerating audible signals which are produced either through television receiver 15 or through a separa-te loudspeaker in the garne console.
Microprocessor 10 communicates with the rnemories 12, 14 and 16, and the registers oE video generator 13 by transmitting discrete address info.rmation, identified with those corrlponents, over bus 11. The "acadress space" oE a preferred ernbodiment oE the video game is illustrated in Fig~lre 2. A group of, for example, 4K addressable locations cornprise data storeci in the EXECUTIVE read only memory. The EXECUTIVE read-only rnemory contains data and prograrn routines which are u-tilized by all or rnany of the separable gc~ne programs which operate wi.th the console ~mit. These may, for example, comprise progrc~ms for initializing the eonsole at the start of eaeh game or for generating standard displays.
The c~clclress space Eurther includes for exarnple approximately 321C adclresses assigned to the separable GAME ROM 16 which contains pro-
2~ grc~n rout:ines ancl data whieh are uniquely associated w:ith one or morep~lrti.cular video gc~nes and which function to generate the displays, score keep:L~ , and logic function of those games.
r.l~e c~dc~ress space Eurther inclucles :Eor example approximately IGLC c)~ random ~.ccess me~nory 14 which may alterna-tely be utilized for storage o:E a video displc~y in any format (:Eor exL~mple as a direct bi-t map or in a cocl~l character or object oriented :Lo:rmat) or :Eor scratch-pad data storage ~ relatively small number of locations of the address space are associated with registers and eontrol functions in the video genera-tor and are utilized by the mieroprocessor to eontrol the mode andoperation oE the generator and to determine the status of -the display.
As indicatecl in Figure 2 the v.icleo generator 13 is capable of reading inEormation from the GAME ~OM and of reading and/or writing information to and from the RAM 14 as well as to and from its own regis~
ters 21. ~le microprocessor 10 can read and write information to and from the video generator registers, -the R~ , and -the ex-ternal I/O
p~rt and can read information from the GPME and EXECUTIVE ROMS's.
3~7~
PHA 21.080 C 7 20.9.1982 Hardware circuitry associated with the microprocessor 10 autc~tically reads a first program instruction from address 0 of the EXECUTIVE P~OM
after an initialization of the console. An initialization typically occurs whenever power is applied to the console when a "RESET" key is depressed, and whenever a ne~ GA~E ROM 16 is inserted in connector 17.
Figure 3 is a flow chart of a preferential form of an ini-tializati.on routine which implements -the method of the present invention .in the video ganle console of E~igure 1. Excep-t as indicated in the follo-w:i.ng text, -the initi.alization rou-tine is i~plemented as firmware instruc-0 tions installed in the EXECUTIVE ROM 12 and is thus contained, inunalterable form, as a physical part of the video game control console harclware. A RES~T s.ignal (50) whether produced after an initializatlon occurred by power on, the insertion of a ROM cartridge in connector 17, or by a marlual reset key, causes (51) the microprocessor hardware to generate a start-command signal in order to start the execution of the instruction a-t location O in the EXEC~TIVE read-only memory 12. Location O conta:Lns an .instruction which causes progrc~n execution to jump (52) to an ~N~BLE raltine whieh is stored at a previously deterrninec~ loeation .in the E Æ CUTIVE ROM. The ENABIE routine first issues a com~nd to the video genel-ator 13 whieh causes the video generator to clear (53) the video display to a blanlc sc:reen anc1 then proceeds to read (54) :infor~
n~ation :Erom a DAr:r~ T~BI.~ namely an iden-tifier which is contained at pr~determ:Lrled addresses in the GA~3 ~OM .inserted in connec-tor 17, and to write eorresponcl:Lng info.r~kat:i.on into the vi.deo display eon~rol c~rea o.E
26 t:he ~A~-The v:Ldeo ge~nc3rator 13 may, possibly, include hardwcare whichdisables the operation of the audio and/or video display upon receipt of a given col~nand or sequence of commands. After loading -the data from the G~ME ROM .into the R~M the ENABLE routine checks (55) the loaded data to determine whether or not it eontains instructions which, if supplied -to the video generator, would disable the generator operation.
It is poss.ible that an unauthorized manuEacturer avoids an important aspect o:E the method of the .inven-tion, namely the display (57) which w:Lll be descrik~d here~mder, if he puts an instruction in-to the program Oe the G~ne Rom to blank the display of -the ident:Lfier s-tored :in the procJram ~M. In order to suppress the efEect oE such an ins-t:ruction, the enable routinc-3 checks on the presence of such instructions. If such ~ ~ ~3;~7~
PHA 21.080 C 8 20.9.1982 instructions are present (Y) in the RAM the program loops back to loca-tion 0 and will continue to execute an endless loop of the previously described program instructions until the GAME ROM is removed. Guring execution of the ]oop, the video display will remain blank and the console will be incapable of executing any program code contained in the GAME ROM. Alternately (dotted line), the display may be made to present (60) the te~t "LNV/~ID SOFTWARE" or a similar appropriate message.
If the ENABLE routine determines that t~he DATA TABL~ does not (N) contain an instruction which would disable the video generator, it -then utilizes (56) the data contained in -the DATA TABLF, which in this case comprises the identifier stored in the Game RC~I, as a display input to the video generator 13. The microprocessor issues (57) c~ cornmand to the video generator 13 to dlsplay -the stored inputted data on the display 15. After the video generator has keen enabled and while the irnage is being displaye,d the microprocessor compares (58) the data stored in the R~r~ 14 and/or the contents of DATA T~BIE in GAME ROM 16 with a reference identifier which is recorde,d at a locati.on(s) in the E,XECUT~VF ROM 12. The result oE the comparison is negative if the ldentiEier .stored for input to -the video display is different (N) from the reference identifier stored in the executive ROM, or if no identi-Eier is present in the Game Rom (for example deleted by a copier). IE
thq colnpar:lson result is nega-t:ive, t.he microprocessor generates an error c3l~n1:l (S9) aand loops back to location 0 and continues to execute an enclless loop ~mtil the GAME ROM is rernovecl. The loop will alternately 26 cler,~ tile screen and present the clisplay (60) clef:ined by the D~T~ T~BIE:In thq ~ E. ~ t no execllt,Lon o:E progr~ms or other d:i.sp:L.cay :Eieldscontai.ned in the data stored in the G~ME ROM will be permitted.
If the microprocessor determines that the data Eield stored in khe RAM :ls congruent (Y) with the reEerence Eield stored in the EXEC~TIVE
ROM the microprocessor then branches (61) to execute a video yc~me or other proyrr~m containecl in the GAME ROM, and the ENABLE routine is ter-minated (62). So :i-t is reali,zed that the system will, on.ly operate in c~se -that a congruent (. with the reference identifier) iden-tifier i.s present in the GAME ROM.
It i~ a feat~re of the inve.n-tion that the display which is procluced b,y the v,ideo yenerator 13 ,in response to the D~TA TABI,E stored ln the ~M b~ a display which can only leyally be used by or with -the ~1~3~
PHA 21.080 c 9 20.9.1982 permission of the manufacturer or propr~etor of the console. For example, the display rrlay cornprise audio or visual material which is copyrighted by the console proprietor; may contain one or rnore registe-rc~l trademarks or other industrial or ccmmercial property rights of the proprietor or may present text which unequivocall.y indicates that the program material ori.ginated from, was manufactured by or was pro-duced under license of or with the permission of the proprietor. If the equipment is protected by a patent or is the subject of a patent app].ication the text may also ~mequivocally state that fact.
A preferred embodiment of appara-tus which is the subject of a paten-t application could also include a phrase indicating tha-t the apparatus practices the invention of that applieation and/or corres~
ponding foreign applications and/or patents granted thereon or some other simu.lar identifying phrase. For example, such language could include a phrase similar to "This apparatus uses -the invention of Patent Applica~
tion entitled "A method for identifyi:ng a system-allied physically separable program mernory and a data processing system utilizing said metllod" and assigned to Philips and any patent issuing thereon".
This phrase, of course, would also .include the filing date of that applica-tion, which of course, is the filing date of -the present appli-cation. Alternatively, -the phrase could read "This apparatus practices the inventiorl of the Patent ~pplica-tion Serial No. "whieh would include the serial. number o the app].lcation iclentiE:ied tw~ sentellces above.The phrase could also .include re:Eerence to correspond.ing foreign applications and patents. Preferably the display is d.ispkayed Eor a pe-riod o time wh:ich :ls J.oncJ enouqh that :it is percept:i.ve by humans, in-Er:in~n1ents can then e~q:L:ly ~e detectcd.
Under SOlll~ conditions it might be :Eound objectionable to di.splay these types of phrc~se. IE it should be so found the method of the invention can be arranged so tha-t the sig nals which produce these phrases are short lived, or that the display is onLy produced by the video generator 13 on special request, for example by using a spec.iaL instruction for this purpose, which special :lns-tn1ction could be used whenever an inEringement has to be established 3fi It shall be ev:ident that such displays ~y non-licensed equipment may conski-tute an admiss:ion o infringement.
Ln one of the embodiments :in which -the subject matter dis-C~3;Z7~
PWA 21.0~0C 10 20.9.1982 elosed herein can ke used, namely a programmable 'rv game the program material including its ins-tructions and the identifier that will pro-duce the particular desired display would be eontained in a program memory, for example a Rf~M, mounted in a cassette like cartridge whieh is made to be plugged into an electrieal eonnector in a console eon-taining the eomputer equipment whieh -the ROM operates with.
The information eontained in the DATA TABLE which is stored in the G~ Rf~M and read by the ENABLE routine may be an actual bit pattern memory map of -the image to be presented on the display 15.
~Lternately, the information in the program Rf~M, ~ATA TABLE may be a co~e whieh enables a eharacter generator in the video generator 13 to present a display or it may be a predetermined set of ehc~racters which are recognized by the microprocessor as an instruction which has no function other than to eause the set-up of the R~M for example by using data stored i~ the EXEW TIVE ROM to present the indieated display. Likewise, the eomparison rnade between the DArrA TABLE and the referenee data stored in the EXECUrIVE Rf~M need not indieate ec~llvcllence but merely congruenee be-tween -the data. As used herein, the te~L~1l "cong mence" means -that the data, when processed by the video gel1erator 13, will produee a display having the same reeognizable and distinguisl1ing feat~Lres whieh ean only be used by or with the permission oE the console owner.
In a preEerred embodiment oE the invention the display is cle~t~recl~Eorf? the :Ln~ge eonh~olled by the data in the D~ TPBI~ is presqntc?cl. In this way, :Lt is assured that the display does not eontcain any text, in acld:ltion to the eommandecl d:isplay, w~lieh rniyht alter its mqanint~f or Lntc?rp;retatiorl.
Tlle inventlon :ls not restrieted to hardware which determines that a predeterm:Lned data Eield is visually displayed at the start of procJr.?m operation. Thus, in alternate em~odiments, the EXECUTIVE RCM
xoutine may eontain program code whieh assures that some or all of the displc~y procluc~l by the DATA TA?3LE is eontinuously shown during operation of the program eontained in -the GAME RCM.
Al-though the preferrecl ern~odiment of the invention has been deseriked as a method whieh operates in eonjunetion with a video game hc~rd~7are eonsole, those skilled in the art wil] recognize -that some or all oE the Eunctions deseribed in sotware terrns eould al-ternately be ~3~7~
PHA 21.080 C 11 20.9.1982 implemented by hardware circui-ts and that the circuitry described herein is operable in other computer controlled apparatus, for example rnedical imaging or machine control apparatus. Likewise the source of program which is separable from the console need not be a read-only memory but might, alternately, be any other known program source which is separable from the console, for example magnetic -tape or disc memory or a rrodem which receives data from a rerr~ote location over a communication circuit.

3n 3r~

Claims (14)

THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:
1. In a data. processing system, a method for identifying a system-allied physically separable program memory, said data processing system comprising a central processing unit, an executive memory and means for physi-cally introducing a program memory into the system, said method comprising the steps of:
a) comparing an identifier stored in said program memory with a reference indentifier stored in said executive memory;
b) generating an error signal if said reference identifier does not correspond to said identifier stored in said pro-gram memory;
c) disabling under the control of said error signal, the operation of the data processing system;
characterized in that a reset signal is generated after an initialization of the data. processing system, under the control of said reset signal a start-command signal is gen-erated by the central processing unit in order to start said comparison.
2. A method as claimed in Claim 1, characterized in that said initialization consists of the introduction of a program memory into said means for physically introducing a program memory.
3. A method as claimed in Claim 1, characterized in that said initialization consists of the activation of the power supply for the data processing system after the intro-duction of a program memory. into said means for physically introducing a program memory.
4. In a data processing system, a method as claimed in Claim 1, 2 or 3, said data processing system comprising display means connected to said central processing unit, said comparing being realized on the base of a proprietory display used as said identifier, said start-command signal also starts the display of said proprietory display on said display means for a period of time which is long enough that it is perceptive by humans.
5. A data processing system comprising a central processing unit, an executive memory, means for physically introducing a program memory into the system, comparison means for comparing an identifier stored in said program memory with a reference identifier stored in said execu-tive memory and for generating a comparison result, and also comprising disable means for disabling said data pro-cessing system under the control of a negative comparison result, characterized in that said comparison means is an integral part of the data processing system and is activa-table under the control of a reset signal generated after an initialization of the system.
6. A data processing system as claimed in Claim 5, characterized in that said identifier comprises a proprie-tory display.
7. A data processing system as claimed in Claim 6, characterized in that said proprietory display comprises a registered trademark.
8. A data processing system as claimed in Claim 6, characterized in that said proprietory display comprises copyrighted material.
9. A data processing system as claimed in Claim 6, characterized in that proprietory display comprises a statement indicating that in this system use is made of the invention as claimed in the present patent applica-tion and any patent issuing thereof.
10. A video game using a method as claimed in Claim 1, 2 or 3.
11. A video game comprising a data processing system as claimed in Claim 5, 6 or 7.
12. A program memory to be physically introduced in a data processing system as claimed in Claim 5, 6 or 7.
13. A video game comprising a data processing system as claimed in Claim 8 or 9.
14. A program memory to be physically introduced in a data processing system as claimed in Claim 8 or 9.
CA000415896A 1981-11-25 1982-11-18 Method for identifying a system-allied physically separable program memory and a data processing system utilizing said method Expired CA1183276A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US06/324,743 US4454594A (en) 1981-11-25 1981-11-25 Method and apparatus to secure proprietary operation of computer equipment
US06/324,744 US4442486A (en) 1981-11-25 1981-11-25 Protected programmable apparatus
US324,743 1981-11-25
US324,744 1981-11-25

Publications (1)

Publication Number Publication Date
CA1183276A true CA1183276A (en) 1985-02-26

Family

ID=26984613

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000415896A Expired CA1183276A (en) 1981-11-25 1982-11-18 Method for identifying a system-allied physically separable program memory and a data processing system utilizing said method

Country Status (6)

Country Link
EP (1) EP0080244B1 (en)
AT (1) ATE25474T1 (en)
CA (1) CA1183276A (en)
DE (1) DE3275444D1 (en)
HK (1) HK40288A (en)
SG (1) SG15588G (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371792A (en) * 1992-01-31 1994-12-06 Kabushkuki Kaisha Sega Enterprises CD-ROM disk and security check method for the same

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3149279A1 (en) * 1981-12-12 1983-06-23 Nsm-Apparatebau Gmbh & Co Kg, 6530 Bingen Program coding
AU4835185A (en) * 1985-05-14 1985-10-07 Cadam Systems Company Inc. Program keyboard mechanism
CA1270339A (en) * 1985-06-24 1990-06-12 Katsuya Nakagawa System for determining a truth of software in an information processing apparatus
FI99250C (en) * 1989-01-10 1997-12-29 Nintendo Co Ltd System for preventing unauthorized use of external memory
GB9005916D0 (en) * 1990-03-16 1990-05-09 Amstrad Plc Computer system
JP2560124B2 (en) * 1990-03-16 1996-12-04 株式会社セガ・エンタープライゼス Video game system and information processing device
US6102800A (en) * 1993-07-28 2000-08-15 Sega Enterprises, Ltd. Information storage medium and electronic device using the same
KR0180795B1 (en) * 1993-07-28 1999-04-15 이리마지리 쇼우이찌로 Information storage medium and electronic device using the same for authentication purposes
DE29519865U1 (en) * 1995-12-14 1997-01-23 Siemens Ag Data processing system with a device for controlling the access authorization, which are assigned directly to the components of the data processing system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1414126A (en) * 1971-11-22 1975-11-19 Key Tronic Ltd Secutity for computer systems
US3890601A (en) * 1974-03-11 1975-06-17 Philco Ford Corp Password operated system for preventing unauthorized or accidental computer memory alteration
US4267578A (en) * 1974-08-26 1981-05-12 Texas Instruments Incorporated Calculator system with anti-theft feature
DE2923738A1 (en) * 1979-06-12 1980-12-18 Joepgen Hans Georg System protecting copyright label of program - prevents changes or removals from computer program by checking whether copyright is still stored

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371792A (en) * 1992-01-31 1994-12-06 Kabushkuki Kaisha Sega Enterprises CD-ROM disk and security check method for the same
USRE35839E (en) * 1992-01-31 1998-07-07 Kabushiki Kaisha Sega Enterprises CD-ROM disk and security check method for the same

Also Published As

Publication number Publication date
EP0080244B1 (en) 1987-02-11
EP0080244A3 (en) 1984-08-01
DE3275444D1 (en) 1987-03-19
SG15588G (en) 1991-01-04
ATE25474T1 (en) 1987-02-15
HK40288A (en) 1988-06-10
EP0080244A2 (en) 1983-06-01

Similar Documents

Publication Publication Date Title
US4454594A (en) Method and apparatus to secure proprietary operation of computer equipment
JP2942837B2 (en) Security check method, game device, and information storage medium used for them
JPS58101349A (en) Program memory identification and data processing system
US4688169A (en) Computer software security system
US4817140A (en) Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
JP3710172B2 (en) User terminal and center for software price refund
CA1183276A (en) Method for identifying a system-allied physically separable program memory and a data processing system utilizing said method
US6751598B1 (en) Digital content distribution system and protection method
US6094702A (en) Method and apparatus for enabling access to computer system resources
US20020116632A1 (en) Tamper-resistant computer system
WO1996034334A1 (en) Device for executing enciphered program
WO1995035533A1 (en) Method for preventing use of software on an unauthorized computer
JPH02135938A (en) Information communication system
JPH1124918A (en) System and method for managing license of non-gratuitous software
JP2001216357A (en) Software license managing method, electronic equipment, and recording medium
JP2002351569A (en) Method and system for managing software license and storage medium
EP0817014A2 (en) Software distribution medium and method of producing the medium
EP1791071A2 (en) Implementing digital rights management systems
JPH0991133A (en) False declaration detection system
JP2003288128A (en) Proper use method of application for external connection device and external connection device
EP2728503B1 (en) Information processing device, control method therefor, program, and information storage medium
US6530019B1 (en) Disk boot sector for software contract enforcement
JPH07234784A (en) Program execution device
JP2001344096A (en) Information processor and method for controlling the same and recording medium
US5757749A (en) Information processing system operable with a detachable recording medium

Legal Events

Date Code Title Description
MKEC Expiry (correction)
MKEX Expiry