throbber
US009559852B2
`
`(12) United States Patent
`US 9,559,852 B2
`(10) Patent No.:
`Miller et al.
`(45) Date of Patent:
`Jan. 31, 2017
`
`(54)
`
`CRYPTOGRAPHIC SECURITY FUNCTIONS
`BASED ON ANTICIPATED CHANGES IN
`DYNAMIC MINUTIAE
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`(71)
`
`Applicant: mSignia, Inc., Irvine, CA (US)
`
`(72)
`
`Inventors: Paul Timothy Miller, Irvine, CA (US);
`George Allen Tuvell, Thompson’s
`Station, TN (US)
`
`6,041,133 A *
`
`6,185,316 B1*
`
`3/2000 Califano ............ G06K9/00067
`382/124
`2/2001 Buffam ................... G06F 21/32
`382/100
`
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`(73)
`
`Assignee: mSignia, Inc., Irvine, CA (US)
`
`JP
`JP
`
`2008516472
`2009111971
`
`5/2008
`5/2009
`
`(*)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(Continued)
`
`OTHER PUBLICATIONS
`
`(21)
`
`Appl. No.: 15/075,066
`
`(22)
`
`Filed:
`
`Mar. 18, 2016
`
`(65)
`
`Prior Publication Data
`
`US 2016/0261416 A1
`
`Sep. 8,2016
`
`Related US. Application Data
`
`(63)
`
`Continuation of application No. 14/458,123, filed on
`Aug. 12, 2014, now Pat. No. 9,294,448, which is a
`(Continued)
`
`Int. Cl.
`
`(51)
`
`H04L 29/06
`H04L 9/32
`
`US. Cl.
`
`(52)
`
`(2006.01)
`(2006.01)
`(Continued)
`
`CPC ........... H04L 9/3271 (2013.01); H04L 9/0861
`(2013.01), H04L 9/0866 (2013.01), H04L
`9/0872 (2013.01),
`
`(Continued)
`Field of Classification Search
`CPC
`H04L 36/0876; H04L 9/0861; H04L 9/0866
`(Continued)
`
`(58)
`
`Shibata, Yoichi, “Mechanism-based PKI,” Computer Security Sym-
`posium, Oct. 29, 2003, vol. 2003, N0. 15, pp. 181-186, Information
`Processing Society of Japan, Japan.
`(Continued)
`
`Primary Examiner 7 Dao Ho
`(74) Attorney, Agent, or Firm 7 Haynes and Boone, LLP
`
`(57)
`
`ABSTRACT
`
`Dynamic key cryptography validates mobile device users to
`cloud services by uniquely identifying the user’s electronic
`device using a very wide range of hardware, firmware, and
`software minutiae, user secrets, and user biometric values
`found in or collected by the device. Processes for uniquely
`identifying and validating the device include: selecting a
`subset of minutia from a plurality of minutia types; com-
`puting a challenge from which the user device can form a
`response based on the selected combination of minutia;
`computing a set of pre-processed responses that covers a
`range of all actual responses possible to be received from the
`device if the combination of the particular device with the
`device’s collected actual values of minutia is valid; receiv-
`ing an actual response to the challenge from the device;
`determining whether the actual response matches any of the
`pre-processed responses; and providing validation, enabling
`authentication, data protection, and digital signatures.
`
`25 Claims, 11 Drawing Sheets
`
`
`
`
`
`
`
`
`
`_/1
`
`Choose Hardware (Hx) Firmware (Fy).\y
`Software (52) Secret (1a) and/or
`g7
`l Biometric (so) based on need tar
`l uniqueness predictability multiID
`i~20i0
`1factor_5c scope_at possiole changes1
`V
`
`Formulate
`~116
`Choienge
`IHey: Fn(Hx+Fy+Sz+?a+Bb)
`
`1
`lCompule Challenge irom Indexes
`
`Calculate
`i Challenge: Fn(x+y+z+a+b+Rondomlt)F4020
`
`1
`Possible Responses ~124 -
`1 Process Range of Possible Changes L__
`t
`Minutia DB
`
`Send Challenge
`l Hx- Hardware no poss. changes
`pr: firmware 9 poss changes
`70
`ond await Response .415
`
`l:Sz Software 250 pass. changes
`l~xzoso
`120
`
`i ?a: Secret no pass changes
`'
`Fn(Key+Challenge)
`'
`r Validate by matching Computer
`Hose
`,
`l
`
`Validate Response
`iResponse against possible responses,
`l
`
`
`tram Computer
`;
`apply confidence score based on
`1 Receive k Unpack Challenge
`y
`‘Felch Minutia Values 12 Build Key
`128
`
`i=Response Fn(Key+Chaiienge)
`1
`Update
`l Return Response
`I F
`i or were unkawn update the Minutia
`i—
`Computer Minutia
`1 DB with new values
`1
`
`
`Intelligent
`Minnlio Selection ~II4
`
`
`
`changed1y 2050
` /
`
`|A1001
`
`IA1001
`
`

`

`US 9,559,852 B2
`
`Page 2
`
`Related U.S. Application Data
`
`continuation of application No. 13/366,197, filed on
`Feb. 3, 2012, now Pat. No. 8,817,984.
`
`(60) Provisional application No. 61/462,474, filed on Feb.
`3, 2011.
`
`2007/0240222 A1
`2008/0086773 A1
`2008/0086776 A1
`2008/0175449 A1*
`
`2008/0196104 A1
`2008/0235515 A1*
`
`10/2007 Tuvell et a1.
`4/2008 Tuvell et a1.
`4/2008 Tuvell et a1.
`7/2008 Fang ....................... G06F 21/32
`382/124
`
`8/2008 Tuvell et a1.
`9/2008 Yedidia .............. G06K 9/00073
`713/186
`
`10/2008 Thomas et a1.
`2008/0244744 A1
`2008/0267510 A1* 10/2008 Paul
`................... G06K 9/00577
`382/209
`
`(51)
`
`(2006.01)
`(2006.01)
`
`Int. Cl.
`H04L 9/16
`H04L 9/08
`(52) U.S. Cl.
`CPC ............... H04L 9/16 (2013.01), H04L 9/3231
`(2013.01); H04L 9/3247 (2013.01); H04L
`63/0428 (2013.01); H04L 63/0861 (2013.01);
`H04L 63/0876 (2013.01)
`(58) Field of Classification Search
`USPC .......................................................... 380/255
`
`See application file for complete search history.
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`7,269,160 B1*
`
`7,330,871 B2
`7,333,871 B2
`7,373,669 B2
`7,908,662 B2
`7,937,467 B2
`8,213,907 B2
`8,312,157 B2
`8,335,925 B2
`8,375,221 B1*
`
`2006/0031676 A1*
`
`2006/0104484 A1*
`
`2007/0124801 A1
`2007/0174206 A1*
`
`2007/0214151 A1
`2007/0240217 A1
`2007/0240218 A1
`2007/0240219 A1
`2007/0240220 A1
`2007/0240221 A1
`
`9/2007 Friedman ........... G06Q 30/0601
`370/352
`
`2/2008 Barber
`2/2008 Schwarm
`5/2008 Eisen
`3/2011 Richardson
`5/2011 Barber
`7/2012 Etchegoyen
`11/2012 Jakobsson et a1.
`12/2012 Taugbol
`2/2013 Thom ..................... G06F 21/57
`713/189
`2/2006 Vantalon ................ G06Q 10/02
`713/176
`5/2006 Bolle ................. G06K 9/00885
`382/115
`
`5/2007 Thomas et a1.
`7/2007 Colella ................ G06Q 20/382
`705/64
`
`9/2007 Thomas et a1.
`10/2007 Tuvell et a1.
`10/2007 Tuvell et a1.
`10/2007 Tuvell et a1.
`10/2007 Tuvell et a1.
`10/2007 Tuvell et a1.
`
`5/2009 Richardson
`2009/0138975 A1
`2009/0310779 A1* 12/2009 Lam ................... G06K 9/00093
`380/46
`
`2010/0027834 A1
`2010/0229224 A1
`2010/0332400 A1
`2011/0007177 A1*
`
`2011/0082768 A1
`2011/0093503 A1
`2011/0113388 A1
`2011/0293094 A1
`2011/0296170 A1
`2012/0201381 A1*
`
`2013/0340052 A1
`2014/0229386 A1
`
`2/2010 Spitzig et a1.
`9/2010 Etchegoyen
`12/2010 Etchegoyen
`1/2011 Kang ..................... H04N5/232
`348/2221
`
`4/2011 Eisen
`4/2011 Etchegoyen
`5/2011 Eisen et a1.
`12/2011 Os et a1.
`12/2011 Chen
`8/2012 Miller ....................... H04L 9/ 16
`380/255
`
`12/2013 Jakobsson
`8/2014 Tervo et a1.
`
`FOREIGN PATENT DOCUMENTS
`
`W0
`W0
`W0
`
`WO 2010/035202
`WO 2013/138714
`WO 2013/154936
`
`4/2010
`9/2013
`10/2013
`
`OTHER PUBLICATIONS
`
`Juels et a1., “A Fuzzy Vault Scheme,” Designs, Codes and Cryp-
`tography, Feb. 2006, pp. 237-257, vol. 38, N0. 2, Springer Science
`+ Business Media, Inc., New York/USA.
`Notice of Reasons for Rejection dated Sep. 6, 2016, Japanese Patent
`Application No. P2014/555571.
`Jakobsson et a1., “Implicit Authentication for Mobile Devices,”
`H0tSec’09 Proceedings of the 4th USENIX conference on Hot
`topics in security, 2009, USENIX Association, Berkeley, California/
`USA. Retrieved from the Internet on Nov. 18, 2016: <URL:https://
`wwwusenix.org/1egacy/event/hotsecO9/tech/fullipapers/
`jakobsson.pdf>.
`
`* cited by examiner
`
`|A1001
`
`IA1001
`
`

`

`U.S. Patent
`
`Jan. 31, 2017
`
`Sheet 1 of 11
`
`US 9,559,852 B2
`
`iOO
`
`10
`
`Crypto Provider
`
`14
`
`Service Provider
` Dynamic Key
`vI
`
`
`
`20
`
`Service Provider App
`
`56
`
`
`
`
`Dynamic Key
`Crypto Library
`
`
`
`44
`
`FIG. 1
`
`|A1001
`
`IA1001
`
`

`

`U.S. Patent
`
`Jan. 31, 2017
`
`Sheet 2 of 11
`
`US 9,559,852 B2
`
`comN:
`
`
`
`$3835m£358
`
`25220%$E250%
`
`32:2052%
`
`
`
`583:895
`
`m:
`
`ow$338
`
`2322
`
`@J
`
`
`
`g$8592$255835m@28me
`
`385.652812;
`
`__<5%@9235
`
`waxgems;
`
`
`
`EmmaONmoExI
`
`maman0%fo
`
`magn3%fo
`
`gamman_NmoExI
`
`IISE2&5:
`
`“22%:2E525;2&523E:£358
`
`5a2033m”258gm
`
`2%:”egg:203::
`
`sE....................-,
`
`3a
`
`
`
`E2583/Us822,85cm0%x
`
`$3QOuEwafx:
`
`232:8:32a8536:B82%332
`
`fl.2522g
`
`Egg:
`
`33.83552
`
`$3uE
`
`E:u3:
`
`33nE
`
`52na:
`
`@95505
`
`E
`
`Q}
`
`.5:.<:
`
`ems42
`
`motgt
`
`@332
`
`2gas
`
`.Ew
`
`m9583828:5%
`:Enommm
`
`20:85:59222:82.”
`mmefiamoas22;;m3%msmommm4%?mEma
`
`Io?na
`
`_
`
`
`
`|A1001
`
`IA1001
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Jan. 31, 2017
`
`Sheet 3 of 11
`
`US 9,559,852 B2
`
` .9:agesWNO_n_822E:"Anm+£+Nm+r+x$£Iix3E.
`
`
`
`
`
`
`
`$22,32:::5:Am;3388
`
`
`
`
`
`
`
`
`
`
`Ew:393%:2525
`
`53388932ch3302:5\
`
`
`QENZW895%.880mm82:3nNmmm
`v\IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII/
`$956$8o:65%n8am
`
`Aomcgfiéigi!3:881
`
`
`
`
`
`£2,351ux:me23:5,$0850358;Us0081$88;@826525m895%.88aSEE:ur805%$30:
`
`
`EA88381@358;I...............A...............
`3283............................
`oNoNLAAAEOEEEJFENitEI@8265],
`
`
`@23813%_._o>ammcams2988Esme@8881mA
`ms...............A...............W$926533?
`
`.335850¢so82528m852283qumx!.....................
`
`I--:--:-------..--:}-...mww§o.A525a82%32::Ex
`
`38%
`
`9.5;:£258
`
`\
`
`
`
`A$2232£2,mo.__SE22:2.52:252::2%5m88L8956555BE.8222.3%:5w_
`
`
`
`2
`
`
`
`mmcogmomEfimm/
`
`mmcoqmmm
`
`
`
`@9265#895gm23$
`
`\\
`
`\\|lllllllllllllllllllllllllllllll
`
`|A1001
`
`
`
`meansso:@3285£328
`
`\\
`
`E8:830:352
`
`Egg
`
`
`
`_ImmmcofigammaA02589%atom
`
`
`
`
`
`
`
`2:255$22:5382838083::§8%S825Acme
`
`
`
`
`
`:55ActEomm.Ava82:8
`
`{Arv22E:3;sages:885
`
`\
`
`
`
`IA1001
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Jan. 31, 2017
`
`Sheet 4 of 11
`
`US 9,559,852 B2
`
`
`
`23:55
`
`cozcgaé
`
`
`
`52.35835m
`
`\E2553
`
`$255295
`
`E
`
`835m
`
`&<539;
`
`asE:
`
`
`
`82.3529Eostom
`
`ONI
`
`am855
`
`I
`
`in
`
`M:1/
`
`
`
`mvou«Ezom
`
`58322.5
`
`8:53?8:05am
`
`532595m
`
`835m2305:
`
`5225
`
`$585583:
`
`
`
`525i853m
`
`a
`
`
`
`E528;835m
`
`on
`
`mm503:8&5weaat:am52883
`
`-
`
`reg:895
`
`‘5sagasinmm
`
`mom
`
`
`
`|A1001
`
`IA1001
`
`
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Jan. 31, 2017
`
`Sheet 5 of 11
`
`US 9,559,852 B2
`
`539:8am
`
`mo258553:38
`
`28mxx‘:3:58
`
`$23:8338:82:23:
`
`am:
`
`mm:a.833m
`
`so:
`
`N:
`
`
`
`2
`
`53:55033E239:31'@J
`
`
`
`
`
`m:0:2:0:20:
`
`E:£28m
`
`33:3828
`
`
`
`53:38536$
`
`3ix23:95
`
`mm30:35iE
`
`
`
`3:3::35
`
`E
`
`am338:
`
`23:3
`
`
`
`me23:22
`
`:3:8:20:23323:33:22:
`:03:
`
`N:
`
`3352:38:
`
`wea.25mm
`
`
`
`32mmmm.vmV—n—Somvflwmusfiwémax835m:282332
`
`
`
`23:5539:8
`
`g
`
`|A1001
`
`IA1001
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Jan. 31, 2017
`
`Sheet 6 of 11
`
`US 9,559,852 B2
`
`500\
`80
`
`10
`
`86
`
`- Dynamic Key
`Software
`Crypto Provider
`Manufacturers
`
`- 82
`Computer Hardware
`Manufacturers
`
`- e
`
`Firmware
`Manufacturers
`
`84
`
`Industry Minutia
`Cataloging
`
`
`
`
`
`Minutia
`Update
`Correction
`
`@
`
`Computer
`industry
`Research
`
`
`
`%
`
`92
`
`- Data
`,
`M d l’
`Industry Update
`,
`7
`O f'lg
`Heunshcs
`Catalogue DB
`and
`Permutations
`
`
`
`
`95
`
`98
`
`70
`
`-
`
`Anticipated
`Minutia DB
`
`- .
`
`Minutia DB
`
`-
`
`Historical
`Minutia
`Trends &
`
`Data Mining
`
`
`
`
`~94
`
`FlG.5
`
`|A1001
`
`IA1001
`
`

`

`U.S. Patent
`
`Jan. 31, 2017
`
`Sheet 7 of 11
`
`US 9,559,852 B2
`
`0%
`
`$88;23:823:8
`
`Egg;8»Em
`
`0202
`
`8:2mm:
`
`228::
`
`2,22mm»“A28m
`
`m:
`
`E388;g
`
`@358am
`
`
`
`m:
`
`
`
`523$833m
`
`.1:
`
`m:
`
`#5302
`
`mu!
`
`mm
`
`N28m8358wea.22mmE525:E-2&52523
`
`
`
`33%:
`
`g2::
`
`0.:
`
`Scamc2322,
`
`0:322
`
`mi
`
`Ucom
`
`accoom
`
`n_m8
`
`”A88m
`
`223::
`
`amg235:
`
`
`
` amammmcoqmm20>
`
`
`
`02N:{6.0E
`
`|A1001
`
`IA1001
`
`
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`7
`
`e
`
`9
`
`2B
`
`
`mam82:6”—Eocmoé.2058::228::
`
`
`
`
`8:82;2mm02”Avfiesmoz”Amccmmmoom02”Am;
`
`
`
`
`
`
`
`2
`
`“Eva:5:£3
`
`nJaL8:
`
`m2:weEmE8:25”:68:;mm;
`
`
`
`35%Eggmt$2881
`
`30>SEES
`
`Eocwmbfi.vac
`
`on_figgmgash
`
`am$82;
`
`
`
`a.m3;mm.9:fi23
`
`mo:Ea:
`
`@2085:52:88?2:55@2265
`
`
`
`8::mm:ESE;32:55
`
`nM...N§EEWfmaImmNM:8»_r-m-%_Ew:mm:L_
`
`|A1001
`
`IA1001
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Jan. 31, 2017
`
`Sheet 9 of 11
`
`US 9,559,852 B2
`
`ll4
`
`I0
`
`r__________________ 1
`
`700
`
`Intelligent
`Minutia Selection
`
`i
`
`in Figs 2
`
`Dynamic Key,
`Crypto Provrder
`
`26
`
`Secrets and
`Biometric Minutia
`
`a
`
`20
`
`256
`
`Display System
`PIN
`Computer 18
`
`
`Service Provider App
`
`System
`PIN
`
`Dynamic Key
`in Use
`
`
`Crypto Library
`
`
`252
`
`
`264
`
`Get Biometric
`
`MMuUa
`
`44
`
`Process
`
` Unpack
`Computer Minutia
`
`
`
`ChoNenge
`
` Use
`
`Service
`
`PIN
`
`
`
`
`Process
`
`Response
`
`Fetch Key
`Minutia
`
`Biometric Request
`
`262
`
`64
`
`108
`
`Display
`Service PIN
`
`258
`
`
`
`
`
`Yes
`Digital
`
`
`Signature
`
`Oct Time Since
`
`last Successful
`
`
`
`
`Substitute Message
`Hash for
`Random Number
`
`242
`
`FIG. 7
`
`|A1001
`
`PIN Event
`
`
`Calculate
`Actual Response
`
`
`260
`
`IA1001
`
`

`

`U.S. Patent
`
`Jan. 31, 2017
`
`Sheet 10 of 11
`
`US 9,559,852 B2
`
`800
`
`\
`
`Dynamic Key
`2410 Crypto Provider
`
`.
`‘
`MW??? DB
`
`-
`Secrets and
`
`Biometric Minutia
`
`Crypto Library
`
`44
`
`194
`
`E.ncrypted
`
`Service Data
`
`112
`
`196
`
`Heartbeat & Chatter
`
`210
`
`No
`
`Heartbeat
`
`I rar
`
`y
`
`ora e
`g
`
`Yes
`
`
`
`
`
`_elete Servicefrom_omputer
`
`
`
`i
`Register
`i Computer (Fig 4)
`
`5
`i
`
`201
`
`FIG 8
`
`MinutIa
`
`204
`
`|A1001
`
`User Do
`
`Service Provider
`
`Local
`Computer Check
`
`Encrypt &
`
`206
`
`Retries
`
`
`
`-élComputerMinutia
`
`Service Key
`Minutia Selections
`
`Fetch Random
`
`|8ServiceProviderApp
` Dynamic Key
`
`
`DetcryptData
`
`
` V0|Id
`Fetch Key
`L'b U::::t[e
`Decryption
`
`
`
`
`
`Exhausted
`
`
`
`
`_ynchMinutiawithD—CP
`
`IA1001
`
`

`

`U.S. Patent
`
`Jan. 31, 2017
`
`Sheet 11 of 11
`
`US 9,559,852 B2
`
`196
`
`900
`
`- - /
`Delete Service
`-
`Encrypted
`from Computer
`. SW06 Kat,
`Servrce Data
`lvlinutia Selections
`
`
`Yes
`
`66
`
`FIG. 9
`
`238
`
`Transfer
`
`Service
`
`
`Figure 4
`Crypto Library
`
`App Delivery in
`Figure 3
`
`Computer System
`Registration in
`
`i
`i
`t
`
`Dynamic Key
`Crypto Library
`
`Il
`:I
`
`IIlIll :ll|l|||||
`
`Dynamic Key
`
`
`Computer
`E
`
`Service User
`E
`
`IL
`\‘ /
`is?
`[In
`
`Other
`
`Service Providers
`
`I
`
`10
`
`Dynamic Key
`Crypto Provider
`
`New Computer
`m
`
`Service Provider App
`Processing in
`Figure 8
`
`L____________________.1
`Biometric Minutia
`
`Secrets and
`
`14
`
`26
`
`232
`
`
`
`Hold, Delete, Transfer
`Service Request
`
`
`222 m
`LII-.-
`
`Hold Service
`
`Delete Service
`
`Transfer Service
`
`- - .
`Minutia DB
`SP Info & le
`9’ goniidence
`E
`Q
`
`conng
`
`
`
`
`Notify Other
`Service Providers
`
`228
`
`|A1001
`
`IA1001
`
`

`

`US 9,559,852 B2
`
`1
`CRYPTOGRAPHIC SECURITY FUNCTIONS
`BASED ON ANTICIPATED CHANGES IN
`DYNAMIC MINUTIAE
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`This application is a continuation of co-pending US.
`patent application Ser. No. 14/458,123 filed Aug. 12, 2014,
`which is a continuation of and claims benefit of priority to
`US. patent application Ser. No. 13/366,197 filed Feb. 3,
`2012, now US. Pat. No. 8,817,984, issued Aug. 26, 2014,
`which claims the benefit of US. Provisional Patent Appli-
`cation No. 61/462,474 filed Feb. 3, 2011, all of which are
`incorporated by reference.
`
`BACKGROUND
`
`Technical Field
`
`The present disclosure generally relates to dynamic key
`cryptography used, for example, for authentication between
`a client electronic device and a service provider, encryption
`of data communications, and digital signatures and, more
`particularly, to cryptography using dynamic keys derived
`from dynamically changing key material.
`Related Art
`
`Use of computers for connecting to a network (such as the
`Internet) and communicating with a variety of services risks
`the privacy of many types of information belonging to a user
`including, for example, the user’s relationships (e.g., social
`connections), business secrets, banking details, payment
`options, and health records. The use of cryptography is
`common to authenticate identities, protect data, and digitally
`sign the summary (i.e. digest) of an action.
`Cryptography
`generally
`uses
`an
`algorithm (e.g.,
`Advanced Encryption Standard (AES), Rivest Shamir Adel-
`man (RSA)) to combine cryptographic keys (which may be
`symmetric, public, or private, for example) with plain text to
`form cipher text. Cryptography keys are typically random
`numbers without any special meaning. The process of dis-
`tributing cryptographic keys and storing them on a client
`computer (referred to as “key management”) is difficult to
`perform securely and is often the point-of-attack for break-
`ing the security of a cryptographic system. The key repre-
`sents a single sequence of data and thus a single point-of-
`failure for the cryptographic system. Since the key normally
`must be present at the client computer, finding the key and
`then copying it to another computer can allow an imposter
`entity to masquerade as a valid entity.
`Secure elements (e.g., smartcards) can securely store the
`cryptographic key and, in some instances, generate the key
`in a secure environment. Access to the key was typically
`controlled by requiring the user to enter a personal identi-
`fication number (PIN); this ensured that the user had to
`provide a secret before the secure element would allow use
`of the key. Such access to a key is commonly known as
`two-factor authentication, and the two factors are generally
`referred to as: “Something You Know” and “Something You
`Have”. A third factor, “Something You Are”, can include, for
`example, biometric information. The factors themselves are
`related in use but entirely separate in material. Possession of
`the physical secure element (“Something You Have”) may
`be via validation of cryptographic functions using the ran-
`dom number cryptographic key provisioned to a particular
`secure element whose use may be protected by a secret PIN
`(“Something You Know”). There is no implicit binding
`between the key and the user.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`The use of certificates in cryptography enabled the bind-
`ing of a distinguished name (e.g., a unique user) with a
`cryptographic key. Yet, still
`the cryptographic key is a
`random number, and when the key is validated, the crypto-
`graphic system attributes the user in the certificate to the
`usage of the key; the key matter itself has no relation to the
`user.
`
`On the Internet, ensuring a real-world identity for the user
`is critical for protecting data and privacy. Mobile users
`especially are at risk because they often do not use anti-virus
`applications and many of the service providers use applica-
`tions (apps) optimized for simplicity, not security. This
`leaves much of the private data meaningful to both a user’s
`identity and a service’s value inadequately protected. Since
`online service providers (OSP) incur much of the risk, safety
`has become their responsibility.
`The standard method for identifying a user to an online
`service is by entering a username and password. The user-
`name is a known service index and, as such, can be stored
`on the computer for convenience. The password is a user
`secret verifiable by the OSP; it should not be stored at the
`computer, where it can be compromised. However, because
`a quality password has many characters which should be a
`mix of upper, lower, punctuation and special characters, the
`password is often difficult and time-consuming to type. This
`is especially true on a mobile computer using touch keypads
`that have various ‘levels’ of keypads for characters beyond
`simple alpha-numeric. Thus, many mobile apps store the
`password on the computer. Because mobile operating sys-
`tems require mobile apps to be signed in order to run, the
`apps themselves cannot be altered after installation. So, any
`data stored by the mobile app is separate from the mobile
`app and often can be vulnerable to attack. Furthermore,
`because the app cannot change, if encryption was used to
`protect
`the cached password,
`there could only be one
`encryption key for all
`instances of the application. This
`commonality made harvesting and cracking stored pass-
`words on a mobile computer relatively simple, even if the
`passwords were encrypted, since they all used the same key
`for decryption.
`Computer and computer identification has been attempted
`by calculating a hash of the minutia found on a computer to
`uniquely identify the computer, often referred to as a com-
`puter fingerprint. Computer fingerprints typically are used,
`among other things, to ‘lock’ software to a particular com-
`puter fingerprint and identify computers used in online
`actions to profile the history and potential risk of particular
`actions. A typical computer identifier is computed and
`remains static; to ensure reliability the computer fingerprint
`typically uses computer minutiae (e.g., serial numbers) that
`normally do not change. Thus, current computer fingerprints
`typically use a relatively small set of static minutia which
`may be prone to spoofing. Some approaches to improving
`computer identification have sought to increase the number
`of minutiae used in identifying the computer through the
`analysis of time (both in clock and network latency) and bits
`of information left on the computer (i.e. ‘cookies’). How-
`ever, as more minutiae are included in the computation, the
`probability that changes occurred naturally to the minutia
`can result in a new computer fingerprint. This falsely iden-
`tifies a computer as ‘different’ when it is actually the same
`computer (often referred to as ‘false negatives’). These
`changes to the minutia on a unique computer occur naturally
`during normal use and can invalidate the computer finger-
`
`|A1001
`
`IA1001
`
`

`

`US 9,559,852 B2
`
`3
`print process or inconvenience the user or service by forcing
`a re-initialization of the computer fingerprint.
`
`SUMMARY
`
`According to one or more embodiments of the present
`invention, methods and systems for dynamic key cryptog-
`raphy use a wide range of minutiae as key material including
`computer hardware, firmware, software, user secrets, and
`user biometrics rather than store a random number as a
`
`cryptographic key on the computer. Methods and systems
`for using dynamic key cryptography, according to one or
`more embodiments, can be used for authenticating users to
`services, ciphering data for protection, and digitally signing
`message digests. In one embodiment, dynamic key cryptog-
`raphy anticipates changes to computers caused by industry
`updates to hardware, firmware, and software of computers.
`In one embodiment, a method of dynamic key cryptog-
`raphy includes: selecting a subset from a set of minutia
`types; for a particular device, sending a challenge to the
`device, in which: the challenge includes information from
`which the device can collect actual values of minutia cor-
`
`responding to the selected subset of minutia types in order
`to form a cryptographic key, the cryptographic key is never
`transmitted from the device across any communication
`channel, and the cryptographic key is used to encrypt an
`actual response to the challenge; pre-processing a set of
`responses to the challenge based on tracking updates of
`minutia from which the selected subset of minutia types is
`selected, in which: the set of pre-processed responses covers
`a range of all actual responses possible to be received from
`the particular device if the combination of the particular
`device with collected actual values of minutia is valid;
`comparing the actual response from the particular device to
`the set of pre-processed responses; and validating the com-
`bination of the particular device with the collected actual
`values if the actual response is included in the set of
`pre-processed responses for the particular device.
`In another embodiment, a method includes: selecting at
`least one type of minutia from a plurality of minutia types;
`forming a challenge that conveys the selection of minutia
`types; computing a plurality of pre-processed responses
`possible to receive from a valid device,
`in which: each
`pre-processed response is computed using a key, each key is
`computed using values that are possible for the selection of
`minutia types; sending the challenge to the device; receiving
`an actual response to the challenge from the device,
`in
`which: the actual response is computed using an actual key,
`the actual key is computed using: a deduction of the selec-
`tion of minutia types from the challenge and actual values of
`the selection of minutia types; comparing the actual
`response to the pre-processed responses for a match; and
`based on whether or not a match was found, validating the
`combination of the device with the actual values of the
`
`selection of minutia types.
`In still another embodiment, a system includes a server
`configured to communicate with a device,
`in which the
`server selects at least one type of minutia from a plurality of
`minutia types; the server forms a challenge that conveys the
`selection of minutia types; the server computes a plurality of
`pre-processed responses possible to receive from a valid
`device, in which: each pre-processed response is computed
`using a key, each key is computed using values that are
`possible for the selection of minutia types; the server sends
`the challenge to the device; the server receives an actual
`response to the challenge from the device, in which: the
`actual response is computed using an actual key; the actual
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`
`key is computed using: a deduction of the selection of
`minutia types from the challenge and actual values of the
`selection of minutia types; the server compares the actual
`response to the pre-processed responses for a match; and
`based on whether or not a match was found, the server
`validates the combination of the device with the actual
`
`values of the selection of minutia types.
`In yet another embodiment, a computer program product
`includes a non-transitory computer readable medium having
`computer readable and executable code for instructing a
`processor to perform a method,
`the method including:
`selecting at least one type of minutia from a plurality of
`minutia types; forming a challenge that conveys the selec-
`tion of minutia types; computing a plurality of pre-processed
`responses possible to receive from a valid device, in which:
`each pre-processed response is computed using a key and
`each key is computed using values that are possible for the
`selection of minutia types; sending the challenge to the
`device; receiving an actual response to the challenge from
`the device, in which: the actual response is computed using
`an actual key, the actual key is computed using: a deduction
`of the selection of minutia types from the challenge and
`actual values of the selection of minutia types; comparing
`the actual response to the pre-processed responses for a
`match; and based on whether or not a match was found,
`validating the combination of the device with the actual
`values of the selection of minutia types.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a system diagram illustrating communication
`and security between a client, a client device and a service
`provider facilitated by a dynamic key cryptography provider
`in accordance with one or more embodiments;
`is a system
`FIG. 2, comprising FIG. 2A and FIG. 2B,
`diagram illustrating a challenge, response and validation
`process performed by the system of FIG. 1 in accordance
`with an embodiment;
`FIG. 3 is a system diagram illustrating a service provider
`application (app) delivery system in accordance with an
`embodiment;
`FIG. 4 is a system process flow diagram illustrating a
`system for registration of computer system and user minu-
`tiae and services in accordance with an embodiment;
`FIG. 5 is a system diagram illustrating a system to
`catalogue and model industry minutia and user heuristics to
`create and update anticipated minutia databases in accor-
`dance with an embodiment;
`is a system
`FIG. 6, comprising FIG. 6A and FIG. 6B,
`process flow diagram illustrating a system for validation
`scoring, confidence rating and step-up authentication pro-
`cessing in accordance with an embodiment;
`FIG. 7 is a system process flow diagram for an authen-
`tication and digital signature system capable of incorporat-
`ing three identity factors in accordance with an embodiment;
`FIG. 8 is a system process flow diagram illustrating a
`system for application processing for local and update data
`security functions in accordance with an embodiment; and
`FIG. 9 is a system diagram illustrating computer identity
`provider lifecycle functionality and services to service pro-
`viders in accordance with an embodiment.
`
`DETAILED DESCRIPTION
`
`In accordance with embodiments of the present invention,
`methods and systems of dynamic key cryptography using
`dynamically changing keys composed of or derived from
`
`|A1001
`
`IA1001
`
`

`

`US 9,559,852 B2
`
`5
`dynamically changing key material provide cryptographic
`services such as authentication, data protection, and digital
`signature by uniquely identifying a user’s computer or other
`electronic device based on (1) the electronic device itself,
`e.g., a mobile phone or personal computing device, and
`using a very wide range of hardware, firmware, and software
`minutia found on the computer; (2) secrets a user of the
`computer knows; and (3) biometric information the com-
`puter might collect from the user. Dynamic key cryptogra-
`phy in accordance with one or more embodiments enables
`secured actions for users of electronic computers and, more
`particularly, provides authentication between a client elec-
`tronic computer and a service provider, encryption of data
`electronically stored or sent on a communication channel,
`and digital signature for electronic digests of actions per-
`formed by the user on an electronic computer.
`The dynamic key cryptography system according to one
`embodiment anticipates changes to the minutia caused by
`updates and natural usage of the computer and practically
`eliminates false negatives that block valid users from a
`network service. Dynamic key cryptography may provide a
`safe, reliable method to users of network services for authen-
`ticating the user to network services that protects both the
`user and the network services, protects the integrity and
`privacy of data, and provides for digitally signing the digest
`of an action performed by the user on the electronic com-
`puter.
`One or more embodiments may provide features such as:
`simple user experienceino difficult passwords
`to
`1)
`remember or type, the user device or computer is invisibly
`authenticated and the user can be asked to enter a second
`
`identity factor such as a secret PIN or biometric (e.g.,
`voiceprint) into the computer only if required by the service
`and protected services can be automatically reconnected to
`a new device or computer when it is registered by the user;
`2) unprecedented securityiusing a wider range of hard-
`ware, firmware, software, secret and biometric minutia to
`deliver a very accurate device or computer and user identity
`that is more difficult to spoof, especially as some computer
`identifier values are not static but are expected to change; 3)
`reliabilityianticipating changes to the user device or com-
`puter delivers a tolerant, yet secure authentication with
`fewer false negatives that anger users and clog customer
`support services; and 4) service and data separationi
`delivered as an integrated part of a mobile application (app),
`a “foundation” (e.g., dynamic key cryptographic service)
`helps protect the app, encrypt service data stored on the user
`device or computer, digitally sign actions and allows the
`service to react without affecting other services, e.g., should
`data need to be wiped, only the app’s data is affected, not the
`user’s other information such as the user’s pictures or
`messages.
`One or more embodiments may enable a more convenient
`method for connecting the user and service. For example,
`instead of subscribers typing in cumbersome passwords (or
`worse yet, storing them unencrypted on the computer), the
`dynamic key cryptographic (dynamic key crypto) service
`and related client software can compute and manage the
`unique properties of the user device or computer. The
`resultant identified computer can be used in place of pass-
`words to simplify the customer connection experience.
`Since the computer itself is uniquely identified, it represents
`a safer method of identifying customers (e.g., users or
`subscribers). By forming cryptographic keys which use
`minutia found on the computer,
`the computer itself (as
`defined by its minutia) is validated, not a static key stored or
`intended to be stored only on the computer. The discovery
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`and copying of a single value (the secret key) is significantly
`easier than the discovery and copying of a very large range
`of computer minutia values. In addition, the writing of a
`single key in a computer’s memory effectively counterfeits
`the uniqueness of a computer identified by a single, static
`stored value. To counterfeit a dynamic key crypto-identified
`computer, it would be necessary to intercept various meth-
`ods to learn the minutiae values of the computer. Several
`direct and related methods may exist for learning the value
`of a particular computer minutia; to effectively counterfeit
`the computer, it may be that all methods for accessing all
`computer minutia values would need to be intercepted and
`the fraudulent response returned. Furthermore, since the
`dynamic key crypto system expects certain computer minu-
`tia values to change, a successfully counterfeited computer
`would also need to ensure the fraudulent computer minutia
`values change in an expected manner. Should a user’ s online
`activities require an even higher level of trust, the platform
`(e.g., dynamic key crypto service and related client soft-
`ware) can force the user to enter the user’s standard PIN into
`the computer to ensure a valid user is the person using the
`computer.
`Several technologies exist for processing security and
`assurance claims using static values. These include pass-
`words themselves and static ‘seed keys’ for functions like
`one-time-password and chal

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket