`
`I, RONALD MAXWELL MAY, ASSISTANT DIRECI‘OR PATENT
`ADMINISTRATION, hereby certify that
`the annexed are true copies of the
`Provisional specification and draw1ng(s) as filed on 21 September 1992 in
`'
`N PL 4842f
`paten b RIC RICHARDSONfiled
`oonnectron W1
`on
`0.
`or a
`t y
`«on 21 September
`
`_I furthercertify that
`' ymspection.
`
`the annexed documents are not, as yet, open to public
`
`WITNESS my hand this Twenty First
`day of October 1993.
`4
`
`RONALD MAXWELL MAY
`
`PETITIONERS EX. 1023 A
`-
`-
`A Page1
`
`PETITIONERS EX. 1023
`Page 1
`
`
`
`p0OO09
`Regulation 3.2
`
`2
`
`J
`
`
`AU:‘?.TRAL.iAN
`PP.OViSlONALNo.
`DATE or FILING
`
`PL4842
`
`21SEP.’J2
`
`1‘ PATENT OF-‘I-‘!C.E
`
`—..-.~..- I; ..-. ... .:_-un .-.-u.-up--—--—.—....._.. ..
`
`--».i_.__..I-,-..__
`
`AUSTRALIA
`
`Patents Act, 1990
`
`PROVISIONAL SPECIFICATION FOR THE INVENTION ENTITLED:
`
`IMPROVEMENTS IN SOFTWARE SECURITY
`
`This invention is described in the following statement:
`
`PETITIONERS EX. 1023
`
`Page 2 I
`
`PETITIONERS EX. 1023
`Page 2
`
`
`
`This invention relates to improvements in arrangements
`
`in software security and, more particularly,
`
`to improvements
`
`in arrangements where software is transferable by media such
`
`as magnetic disks and the like.
`
`Much commercially available software is provided at
`
`time of purchase (or license) on a magnetic media,
`
`typically
`
`a floppy disk. vFrequently the only security feature attached
`
`to the software is a simple registration number stored on the
`
`media. This registration number identifies that particular
`
`copy of the software and it is often required that-at the
`
`time of installation of the software onto any given computer
`
`that the installer must provide the registration number
`
`independently to the installation routines.
`
`However, such simple security arrangements for the
`
`distribution of software on media suffer from at least two
`
`disadvantages (1) each copy of the software made on any given
`
`media at the time of manufacture must
`
`include an individual,
`
`unique number, programmed into the media and,
`
`(2)
`
`this
`
`arrangement does not prevent copying the entire software
`
`programme, once installed on any given computer to another
`
`computer by means of straight forward file transfer (as
`
`opposed to re-installation).
`
`It is an object of the present invention to address the
`
`abovementioned disadvantages.
`
`Accordingly,
`
`in one broad form of the invention,
`
`there
`
`is provided a security routine attachable to software to be
`
`protected, said security routine generating a security key
`
`PETITIONERS EX. 1023
`
`Page 3
`
`PETITIONERS EX. 1023
`Page 3
`
`
`
`from information input by an intended registered user of said
`
`software.
`
`Preferably said security key is generated by a
`
`registration number algorithm.
`
`Preferably said registration number algorithm combines
`
`information entered by a prospective registered user unique
`
`to that user with a serial number generated from information
`
`provided by the environment
`
`in which the software is to run
`
`(eg system clock,
`
`last modify date, user name).
`
`Preferably said security routine is replicated at a
`
`registration authority and used for the purposes of checking
`
`by the registration authority that the information unique to
`
`the user is correctly entered at the time that the security
`
`key is generated by the security routine.
`
`Preferably said security routine checks at the time of
`
`boot of said software as to whether it is a first boot of the
`
`software to be protected or a subsequent boot.
`
`If a
`
`subsequent boot is detected then environment and user details
`
`are compared to determine whether a new user registration
`
`procedure is to commence.
`
`Preferably said details comprise volume name, user name
`
`and computer name.
`
`one embodiment of the invention will now be described
`
`with reference to the accompanying drawings wherein:—
`
`Fig.
`
`1
`
`is a pictorial diagram of the relationship
`
`and interaction between a user and a
`
`registration authority of software on media
`
`PETITIONERS EX. 1023 W
`Page 4
`
`PETITIONERS EX. 1023
`Page 4
`
`
`
`secured according to a first embodiment of
`
`the invention,
`
`Fig.
`
`2A
`
`is a flow chart of a first portion of the
`
`procedure to be followed during
`
`registration of software by a user
`
`according to a first embodiment of the
`
`invention,
`
`Fig.
`
`2B
`
`is a second portion of the flow chart
`
`following on from Fig. 2A, and
`
`Fig.
`
`3
`
`is a flow chart of a re—registration
`
`procedure according to a first embodiment
`
`of the invention.
`
`With reference to Fig.
`
`1 a programme protected
`
`according to a first embodiment of the invention is supplied
`
`recorded on a magnetic disk 10.
`
`Included as part of the software on that disk 10 is a
`
`registration and re—registration routine which executes
`
`whenever the programme protected by the arrangement of the
`
`first embodiment first "boots".
`
`‘
`
`with reference to Figs.
`
`1 and Figs.
`
`2A and 2B the
`
`operation of the security routine of the invention will be
`
`described on the assumption that the programme on the disk 10
`
`protected by the security routine of the invention is being
`
`loaded for the first time.
`
`The prospective new user 11 inserts disk 10 into the
`
`user PC 12 so as to be read by PC 12.
`
`As part of the software installation procedure the
`
`security routine of the invention is activated causing a
`
`PETITIONERS EX. 1023
`Page 5
`
`PETITIONERS EX. 1023
`Page 5
`
`
`
`series of dialogue boxes to appear on the display 13 of the
`
`user PC 12. Having checked to ensure that the software is
`
`being loaded for the first time onto the PC 12 a dialogue box
`
`A is displayed which provides the user with a choice of
`
`either seeing a demonstration of the software (which
`
`typically has features such as save and/or print disabled) or
`
`alternatively an invitation to register ownership/license of
`
`the software (after which all features of the software are
`
`made available to the user).
`
`If the register option is selected or if the user
`
`cancels the demonstration in favour of registration then a
`
`contact dialogue box B is presented on the display 13 which
`
`provides a list (stored on disk 10 as part of the security
`
`routine) which provides names and contact numbers for the
`
`nearest office of a publishing company or distributor
`
`authorised to register the software.
`
`The user 11 then contacts (by telephone) the most
`
`convenient publisher or distributor and flags the software
`
`that this is the case by selecting the "continue" feature.
`
`At this time the security routine begins the first step in
`
`the generation of a security key which will be unique to the
`
`current copy of the software §gg_to certain features of the
`
`environment in which it runs.
`
`The first step of the generation of the security key
`
`comprises the generation of a serial number generated from
`
`the current time on the system and the last modify date of
`
`the software.
`
`The serial number is encrypted and rearranged
`
`PETITIONERS EX. 102.3
`Page 6
`
`PETITIONERS EX. 1023
`Page 6
`
`
`
`and then presented as a number in the registration dialogue
`
`box on the display 12.
`
`The registration dialogue box C prompts the user for
`
`details unique to that user (including,
`
`for example, name,
`
`company, address, state, contact number)
`
`together with
`
`financial details for payment for the purpose of becoming a
`
`registered user of the software protected by the security
`
`routine (for example Mastercard or corporate account number
`
`details). This information, unique to the user,
`
`is passed
`
`through a registration number algorithm 14 which generates a
`
`registration number from the information unique to the user
`
`together with the serial number previously generated.
`
`An identical registration number algorithm 14 resides
`
`on the registration authority PC 15. As an integral part of
`
`the registration procedure the prospective new user 11
`
`communicates the information unique to the user which was
`
`entered by the user on the user PC 12 to the registration
`
`authority 16.
`
`The registration authority feeds this
`
`information into the registration authority PC 15 wherein the
`
`registration number algorithm 14 should produce an identical
`
`registration number to that produced by the user PC 12 i§_the
`
`details communicated to the registration authority by the
`
`prospective new user 11 match with the details that have been
`
`entered on the user PC 12.
`
`.
`
`As
`
`the final stage in registration the registration
`
`authority 16 provides the registration number generated by
`
`the registration authority PC 15 to the user 11.
`
`The user 11
`
`enters the registration number into the user PC 12 where the
`
`PETITIONERS EX. 1023
`
`Page‘?
`
`PETITIONERS EX. 1023
`Page 7
`
`
`
`security routine checks to see whether the entered
`registration number matches the calculated registration
`
`number.
`
`If the two match then a valid registration has taken
`
`place and access is provided by the security routine to a
`
`full operating version of the software protected by the
`
`security routine.
`
`If there is no match then a dialogue box D
`
`appears on the display 13 of user PC 12 providing the
`
`prospective new user 11 with the opportunity to check their
`
`details or switch to the demonstration version of the
`
`software protected by the security routine.
`
`It will be evident that it is not transparent to the
`
`prospective new user 11 that the registration number which
`
`‘unlocks the full version of the software protected by the
`
`security routine is,
`
`in fact, generated from an algorithm
`
`residing on the magnetic disk 10 and that it forms part of
`
`the software to which access is desired.
`
`‘
`
`In this manner the registration procedure outlined
`
`above ensures that exactly the same details entered by the
`
`prospective new user on his/her user PC 12 are those details
`
`recorded by the registration authority 16.
`
`It will also be
`
`evident that the procedure does not require each magnetic
`
`disk 10 containing separate copies of the software to be
`
`protected to have a unique registration number recorded on
`
`the disk at the time of distribution of the disk.
`
`Each copy
`
`has exactly the same registration number algorithm located
`
`upon it.
`
`A unique registration number or "security key" is
`
`generated only at the time of registration from the details
`
`supplied by the prospective new user 11.
`
`PETITIONERS EX. 1023
`
`Page 8
`
`PETITIONERS EX. 1023
`Page 8
`
`
`
`With reference to Fig.
`
`3 the security routine behaves
`
`slightly differently where any given registered copy of the
`
`software boots for a second or further time.
`
`In this
`
`situation,
`
`the security routine checks at the time of boot to
`
`see what registration details are present for that particular
`
`copy of the software.
`
`If no details are present then it is
`
`assumed that the PC is booting from a newly distributed
`
`magnetic disk and registration is to occur for.the first
`
`time.
`
`The registration procedure in that case is that
`
`followed in respect of Figs.
`
`2A and 2B.
`
`In the event that registration details are present then
`
`the security routine checks a number of parameters which are
`
`expected to be unique to the environment in which the
`
`software to be protected operates.
`
`In this embodiment the
`
`parameters checked are volume name, user name, and computer
`
`name and user password.
`
`The security routine then checks
`
`these parameters against the corresponding details that it
`
`finds from the operating system of the computer on which the
`
`software is running.
`
`If any one of these details matches
`
`then it is assumed that a properly authorised and registered
`
`copy of the software is running and full access to the
`
`software is allowed.
`
`In this case a dialogue box E appears advising the user
`
`that details have changed since last use on the software and
`
`querying whether the user would like to re—register.
`
`If the
`
`answer is yes then a re—registration dialogue box F appears
`
`allowing the user to re—enter registration details which, if
`
`the same as the details previously stored, allows full access
`
`PETITIONERS EX. 1023
`
`Page 9.
`
`PETITIONERS EX. 1023
`Page 9
`
`
`
`to the software as normal.
`
`If a no answer is given to
`
`dialogue box E or if,
`
`following entry of the appropriate
`
`details in response to dialogue box F the details not the
`
`same as previously recorded then the user is presented with
`
`the registration procedure described in respect of Figs.
`
`2A
`
`and 2B.
`
`In this manner, it is quite in order for users to
`
`provide other users with copies of the software protected by
`
`the security routine.
`
`The security routine attached to the
`
`software to be protected determines from the environment
`
`in
`
`which it operates whether an additional registration fee is
`
`required.
`
`If it is determined by the security routine that
`
`this is the case then the security routine has the capability
`
`to provide a fresh registration number as part of an
`
`authorised registration procedure.
`
`The above describes only one embodiment of the present
`
`invention and modifications, obvious to those skilled in the
`
`art, can be made thereto without departing from the scope and
`
`spirit of the present invention.
`
`Dated this 21st day of September, 1992.
`
`RIC RICHARDSON
`
`By his Patent Attorneys
`
`PETER MAXWELL & ASSOCIATESe
`
`PETITIONERS EX. 1023
`
`Page 10
`
`PETITIONERS EX. 1023
`Page 10
`
`
`
`PETITIONERS EX. 1023
`
`1
`
`,Pag.e1f|
`
`,,
`
`PETITIONERS EX. 1023
`Page 11
`
`
`
`».,_
`
`.fldfvmé
`.n./5:.g0\..4\\U
`
`
`
`
`
`oEmo..uJcosam.H.oEmo
`
`
`
`_oonce
`
`
`
`8.28:.§___5m9..s
`
`.0
`
`
`
`o>mm.ozEo_:8__qa<
`
`
`
`cozamo:c_Eoo
`
`
`
`Guam:9:_omE82umxmm2am:oi28oamoéu§wEoo
`
`
`
`émaeoom=_;m__ea2:38:3
`
`
`em9853:Gflcoonew8262
`
`
`.9.“_om8oa228_o:5_=m_u.8
`
`.c_m__9.2.98m:_um__nE:m
`
`
`
`.cosan_.8:mo
`
`cozsm69?
`
`258:8:
`
`
`
`o:mo_m_oimam
`
`$>
`
`:o::m_mo:mo
`
`
`
`:o=.:.m;.%_m§
`
`
`
` omw:9:o:=.€o=mo__aamBm:2om;o_mEoE=
`
`:o_::_m_mm:-2
`
`u2m_mmm89.59
`xomm:mo_m_o
`«Soc30:m.m_;.m.a
`
`
`
`
`
`9:wmc::9:_oE2m:omg»
`
`
`:m_m_mm:o_o>__m_:mmma2Eofi.__n:a
`
`2.5.82_mEo_m:umg.__m_®>>.?._
`
`<l.T|wE
`
`PETITIONERS EX. 1023
`
`Page 12
`
`
`
`
`
`
`
`,7‘o.=€uuo.&m:-u.§m:o_m.5>Baum.~o.:oww.ummwum132.2:
`
`
`
`
`
`
`
`PETITIONERS EX. 1023
`Page 12
`
`
`
`
`
`
`
`
`
`
`
`
`
`Q;
`
`:o_w_m>=3”.
`
`
`
`
`
`m%_8_§mmm::o__mo__qa<
`
`
`
`>.__E_m>xomzo2E;::om_m
`
`
`
`5won:Em:
`
`:o:m:m_m2
`
`Spec:
`
`
`
`omm£$2..2_w_B_i
`
`:25:2:5m__smu
`
`
`
`:o_m_m>oEmo.
`
`..223E3:25
`
`
`
`.mmm__$ovxomco2umxmm:9:
`
`29_w__£aEnoxwmm_5Eo_m:o
`
`
`
`new..:$&mo:mo_m_um_£__um.
`
`
`
`om:12.mm;:.o:5mm»,acozam
`
`%__£muE82cano=mo_m_oQ
`
`
`
`o:=..xo£uco__S_m_m22V88
`
`
`
`
`
`.co_m_o>oemn:9:
`
`82:26
`
`:o=S_m_mw.5%5m:
`
`
`
`mzsmuEoE>mn_
`
`Emssmmemmnmczzcoo
`
`
`
`mwm:.m:m-2newuma.¢o_._m
`
`
`
`
`
`uflfimcmm.852:co__E_m_mmm
`
`
`
`.2umuumm__m_mnEm:E2.
`
`
`
`
`
`:9:ucmgmneac_m__.mw
`
`
`
`m_apes:_m_8m<
`
`2:3uefimcmm
`
`9:m=_S.=o__8__a%
`
`
`
`fiucooomca25.Eotao
`
`_o2%>__uoE529:new
`
`:o__mo__&m9:
`
`camum_&:%m_Enesc2.:
`
`:2:EBummcmtmé
`
`
`
`.39m=mo_w_u:.o__E_m_mmm
`
`9:E5nE::mmmnmxcmmma
`
`
`
`.85am:aspmamo_m_oco_§_m_mmm
`
`um___o8m9:5£282:39:5:5
`
`Emma.28m:9.mm$82250%.
`
`
`
`_>cmaEoo_oEmzm:_u=_o:_Eauoa2:
`
`
`
`
`
`
`Ems8m_._£ouEmo\s_282.2.3
`
`
`
`
`528::Bflcou.m_m_w.mmm:.u<
`
`
`
`
`
`Eczooomesonroo.2.883:
`
`
`
`
`
`m__m_%:9:mam__2._oE2m:o2?
`
`9:am=25mm:59:mm>_.omx£
`
`
`
`9:528%.”E:.6282:_a_$m
`
`
`
`xmno:mo_m_u
`
`PETITIONERS EX. 1023
`
`Page 13
`
`I
`
`PETITIONERS EX. 1023
`Page 13
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`mm:_mEBc>>o__<
`
`5
`
`it
`
`\‘
`
`>>®cmm__=w_
`
`co:EEm22ow
`
`taco
`
`osnmooa
`
`
`
`
`
`udusou..B£wu..-umu_oo.Eum:O
`
`68:o._.mo__&<.
`
`m__£%mm2532:6:=
`
`
`
`
`
`:2:SE82.€m2__m
`
`
`
`_§om..usem:mo_m_o
`
`
`
`:o=Bxo__Es_.Eo::o
`
`_.%:o_o:Emmzsmu50>
`
`cozanno:
`
`a
`
`ucmmmaEmm__m.mu
`
`:_EEGmm82°02
`
`_m___:_95%:o__3__aam
`
`
`
`mmmooa:o__E_w_m2
`
`a
`
`
`
`
`
`:o__m:m_m2:2:,.._oo;o
`
`m__m_ouSo?useo:mo_m_o
`
`
`
`.c:m.mEm:Ema.
`
`
`
`
`
`.mEm:mE:_o>xomco
`
`L
`
`mmoEm.mm£.=
`
`
`
`%mw___mw__Smu
`
`nfltoom:
`
`:2:5mm»:
`
`8::3mac=
`
`9:32.
`
`t
`
`Q82.3%mm.8m.
`
`
`
`m__Souu.oEo.o2
`
`5:5xopm:mo_m_v:o_.m:m_mm_2oo
`
`
`.2“...:2o_mnmmcmzomam:
`
`
`$352:8_o>:_8Q2.mmoSu<
`
`
`
`
`:EmmEoo.mEmzSm:“mm\m__£mu
`
`
`
`:o__m:m_mm.§:m..E2EEoa
`
`._B2m_m.2.222:
`
`
`
`2;2:25.ms_<z&$B2.
`
`EmQED:
`
`mEmm.w£
`
`
`
`
`
`.:mEm:.._®_:QEDu
`
`
`
`
`
`._mm__m:_mmmv_om._.o.
`
`PETITIONERS EX. 1023
`Page 14
`
`PETITIONERS EX. 1023
`Page 14