throbber
US008817984B2
`
`(12)
`
`United States Patent
`Miller et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,817,984 B2
`Aug. 26, 2014
`
`(54) CRYPTOGRAPHIC SECURITY FUNCTIONS
`BASED ON ANTICIPATED CHANGES IN
`DYNAMIC MINUTAE
`
`(75) Inventors: Paul Timothy Miller, Irvine, CA (US);
`George Allen Tuvell, Thompson's
`Station, TN (US)
`
`(*) Notice:
`
`(73) Assignee. MSIGNIA, Inc., Irvine, CA (US)
`-
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 187 days.
`
`(21) Appl. No.: 13/366,197
`(22) Filed:
`Feb. 3, 2012
`(65)
`Prior Publication Data
`
`Aug. 9, 2012
`US 2012/O2O1381A1
`Related U.S. Application Data
`(60) Provisional application No. 61/462.474, filed on Feb.
`3, 2011.
`
`(2006.01)
`
`(51) Int. Cl.
`H04L 29/06
`(52) U.S. Cl.
`CPC .................................. H04L 63/0876 (2013.01)
`USPC .......................................................... 380/255
`(58) Field of Classification Search
`CPC ................................................... HO4L 63/O876
`USPC .......................................................... 380/255
`See application file for complete search history.
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`6,185.316 B1*
`7,330,871 B2
`7,373,669 B2
`
`2/2001 Buffam. ......................... 382,115
`2/2008 Barber
`5, 2008 Eisen
`
`3/2011 Richardson
`7,908,662 B2
`3. h}
`t tal
`200762.6 R
`OS 3.
`2007/0174206 A1* 7/2007 Colella ........................... TO5.64
`2007/0214151 A1
`9, 2007 Thomas et al.
`2008/0244744 A1 10, 2008 Thomas et al.
`2009/O138975 A1
`5/2009 Richardson
`2010/0027834 A1* 2/2010 Spitzig et al. ................. 382/100
`2010/0229224 A1
`9/2010 Etchegoyen
`2011/0082768 A1
`4/2011 Eisen
`2011/0113388 A1
`5/2011 Eisen et al.
`2011/0293 094 A1 12/2011 OS et al.
`2011/0296.170 A1 12/2011 Chen
`
`FOREIGN PATENT DOCUMENTS
`
`4/2010
`
`WO WO 2010/O352O2
`k .
`cited by examiner
`Primary Examiner — Pramila Parthasarathy
`Assistant Examiner — Dao Ho
`(74) Attorney, Agent, or Firm — 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 sub
`set of minutia from a plurality of minutia types; computing 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 com
`bination of the particular device with the device's collected
`actual values of minutia is valid; receiving 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 pro
`tection, and digital signatures.
`
`19 Claims, 11 Drawing Sheets
`
`w
`
`
`
`c28d
`Anticipated
`Minutia DB
`Utic DB
`------------------------------
`!
`(OS, Network,
`? Actud Wolves of
`Firmore,
`Transferred &
`Major Apps, etc.)
`Inferred Minutia
`H
`.." changes)
`AA.
`F70A, FOB
`SIA, SIB.
`isza), S788.
`as is
`LU
`ions of Poshte.
`Neity infinite combinations
`Current Device rage
`
`Y-------------------
`
`Y--------------------
`
`lic
`Responses DE
`--------E-
`Pre-Calculation Using
`Challenge & All
`Possible Keys
`HxFS = Respl
`if: Sz= Resp2
`E.C.
`iss a Resp172
`Hists - Rest86
`
`180 Permutations
`
`Y--------------------
`
`12
`2
`esponse
`Process
`
`56
`
`Service Provider App
`
`Dynamic Key
`Crypto Library
`
`200
`/
`
`Computer
`Minutio
`
`
`
`
`
`Dynamic Key
`Crypto Provider
`
`i? 390 source values of
`Computer Minutio
`A0 Hrce: H1-H40
`70 Firmware F-F70
`to site's Sigo
`
`-20
`
`IA1012
`
`Page 1 of 30
`
`

`

`U.S. Patent
`
`Aug. 26, 2014
`
`Sheet 1 of 11
`
`US 8,817,984 B2
`
`100
`
`10
`
`Dynamic Key
`Crypto Provider
`
`Service Provider
`
`14
`
`
`
`18
`
`
`
`56
`
`
`
`Service Provider App
`
`
`
`
`
`
`
`Dynamic Key
`Crypto Library
`
`44
`
`FIG.
`
`IA1012
`
`Page 2 of 30
`
`

`

`U.S. Patent
`
`Aug. 26, 2014
`
`Sheet 2 of 11
`
`US 8,817,984 B2
`
`8mm:
`
`
`25320%
`
`
`
`23522:0an
`
`
`
`ESL:3&6525:3
`
`
`
`5m:85%
`
`339:8
`
`omE235
`
`Egg:
`
`3:gag3%“Hafiz
`
`E332;8&5
`
`5*2:553
`
`
`
`OHM—IE”05.35;?“ON
`
`£25£326
`
`
`
`31;:“85%;:3
`
`‘\
`
`5d:
`
`
`
`(aommmLm”23:802Sam
`
`Ia
`
`
`
`9%:55286013;
`
`__<2%3:23
`
`a;mzfimoa
`
`
`
`no320)EBQ<
`
`
`
`mayumtfimccfi
`
`
`
`0:35:Qty—E
`
`mammmn55%
`
`mammm
`
`2%;
`
`if:
`
`_Nmo>LXI
`
`SEufor;
`
`gagnEmma;
`
`3a
`
`I E
`
`
`
`EmmaSmog:
`
`2“.anM
`
`E
`
`NC:now:
`
`33n
`
`E
`
`aE;nat
`may?n
`
`m.9583mgESEu2%+2H0%
`
`Egg:
`
`30:2;
`
`€252we
`
`"ESE:
`
`GE.325.3:
`
`Ammmcufi05
`
`E
`
`Q}
`
`2m:{I
`
`smfiif
`
`am;45metdot
`
`%
`
`
`
`amommm.{ommm
`
`
`
`Page 3 of 30
`
`MIOIZ
`
`IA1012
`
`Page 3 of 30
`
`
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Aug. 26, 2014
`
`Sheet 3 of 11
`
`US 8,817,984 B2
`
`01 ka)
`
`---- ~- - - ------ - - - - - ----- - - - - - - - - - - - ----…”
`
`•
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IA1012
`
`Page 4 of 30
`
`

`

`U.S. Patent
`
`Aug. 26, 2014
`
`Sheet 4 of 11
`
`US 8,817,984 B2
`
`
`
`0900 90,0$
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IA1012
`
`Page 5 of 30
`
`

`

`U.S. Patent
`
`Aug. 26, 2014
`
`Sheet 5 of 11
`
`US 8,817,984 B2
`
`22
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IA1012
`
`Page 6 of 30
`
`

`

`U.S. Patent
`
`Aug. 26, 2014
`
`Sheet 6 of 11
`
`US 8,817,984 B2
`
`500
`
`8O
`>
`
`c
`
`SoftWOre
`Manufacturers
`
`C D 82
`Computer Hardware
`Manufacturers
`
`d (9
`Firm WOre
`Monufacturers
`
`84
`
`C. C.
`Industry Update
`tol
`DB
`Cotologue
`
`D
`Anticipated
`Minutic DB
`
`
`
`96
`
`98
`
`70
`
`Minutic DB
`
`10
`Dynamic Key
`Crypto Provider
`
`86
`Industry Minutia
`Cotologing
`
`Minutic
`Update
`Collection
`88
`
`
`
`Computer
`Industry
`Research
`90
`
`
`
`Doto
`Modelinq,
`Odeling
`Heuristics
`Qnd
`Permutations
`
`Historical
`Minutio
`Trends &
`Data Mining
`
`92
`
`94
`
`IA1012
`
`Page 7 of 30
`
`

`

`U.S. Patent
`
`Aug. 26, 2014
`
`Sheet 7 of 11
`
`US 8,817,984 B2
`
`009
`
`53),
`
`S3)
`
`|
`
`35-^k(OTC
`
`k!~.
`
`ŒTY
`
`k-Tc.
`
`Z?
`
`|-------?
`
`k-Ic
`
`k~C
`
`
`
`
`
`
`
`
`
`
`
`IA1012
`
`Page 8 of 30
`
`

`

`U.S. Patent
`
`Aug. 26, 2014
`
`Sheet 8 of 11
`
`US 8,817,984 B2
`
`w:
`
`azlaflm
`$2.3m
`
`18550:5%
`
`GE
`
`$2
`
`om—
`
`
`
`$6:chagnqflm
`
`am$82;
`
`mf
`
`a:
`
`8E5”:582
`
`amp
`
`am223E
`
`mm:
`
`ma»
`
`Eggs
`
`553:;as02
`”AEmtzsm
`
`02
`
`2285
`
`”AENESW
`E2302
`
`b2
`
`“A88m
`
`Efimefi
`
`5
`
`EB}2358
`
`momfiamom
`
`2285ED
`
`NE
`
`w5N2%Emmmzm_Eo1vm
`
`L__.___———-l
`
`2>8“
`
`ed:
`
`mo.0:
`
`o:
`
`Ea:
`
`3::a:
`
`238;552
`
`Egg
`
`£83325
`
`322%:
`
`$3265
`
`Page 9 of 30
`
`MIOIZ
`
`IA1012
`
`Page 9 of 30
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Aug. 26, 2014
`
`Sheet 9 of 11
`
`US 8,817,984 B2
`
`r-----------at-la-- riv-
`
`Continue Challenge :
`in Fig. 2
`
`:
`
`Intelligent
`114 - Minutia Selection
`
`2.
`rypto Provider
`
`10
`
`700
`
`Secrets and
`Biometric Minutiq
`
`26
`
`& N
`
`2O
`
`Display System
`PIN
`
`256
`
`Computer 18
`F
`
`252
`
`
`
`56
`
`Service Provider App
`
`System
`PIN
`in Use
`
`NO
`
`Dynomic Key
`Crypto librory
`
`264
`
`44
`
`Get Biometric
`Minutic
`
`Process
`
`PrOCeSS
`
`Unpock
`
`Use
`Service
`PIN
`
`Display
`Service PN
`
`Get Time Since
`lost Successful
`PIN Event
`
`
`
`260
`
`112
`
`Fetch Key
`Minutia
`
`258
`Y
`eS
`
`Digital
`Signature
`
`Colculate
`Actual Response
`
`108
`
`64
`C C
`Computer Minutio
`
`Substitute Message
`Hosh for
`Rondom Number
`
`242
`
`FIG. 7
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IA1012
`
`Page 10 of 30
`
`

`

`U.S. Patent
`
`Aug. 26, 2014
`
`Sheet 10 of 11
`
`US 8,817,984 B2
`
`800
`
`C C Secrets and
`.
`Biometric Minutiq
`ling DB
`
`
`
`
`
`QN Computer 18
`
`Service Provider App
`
`
`
`
`
`
`
`Dynamic Key
`Crypto Library
`
`26
`
`20
`
`44
`
`194
`
`
`
`
`
`N Dynomic K
`ynomic Key
`10 - Crypto Provider
`d
`
`24
`-
`
`Service &
`User Dotc.
`
`CS
`
`A.
`
`192
`
`OCCl
`Computer Check
`
`190
`
`
`
`
`
`Encrypt &
`Decrypt Data
`
`
`
`
`
`
`
`
`
`HeOrtbedt & Chotter
`
`112
`
`Encrypted
`Service Dot)
`
`
`
`
`
`No
`Heartbeat
`
`
`
`
`
`Delete Service
`from Computer
`
`Update
`Library Storage
`
`
`
`
`
`208
`
`
`
`
`
`
`
`
`
`Void
`Decryption
`
`Fetch Key
`Minutio
`
`
`
`
`
`206
`
`
`
`
`
`Retries
`Exhausted
`
`Service Key
`Minutio Selections
`
`O C.
`Computer Minutio
`
`Register
`Computer (Fig. 4)
`
`Synch Minutia
`with DKCP
`2O1
`
`Fetch Rondom
`Minutio
`204
`
`FIG. 8
`
`IA1012
`
`Page 11 of 30
`
`

`

`U.S. Patent
`
`Aug. 26, 2014
`
`Sheet 11 of 11
`
`US 8,817,984 B2
`
`198
`
`s
`
`Encrypted
`Service Data
`
`Send Receipt &
`Encrypted Doto
`
`Delete Service
`from Computer
`
`236
`Yes 258
`
`Transfer
`Service
`
`
`
`
`
`
`Dynamic Key
`Crypto Library
`
`Dynamic Key
`Crypto Library
`
`900
`
`C. D. 1
`Service Key
`Minuto Selections
`
`66
`
`FIG. 9
`
`App Delivery in
`Figure 5
`
`Computer System
`Registration in
`Figure 4
`
`Computer
`18
`
`Other
`Service Providers
`250
`
`10
`
`
`
`Service User
`20
`
`New Computer
`l, 220
`7
`/2
`A?
`77
`
`S.
`/
`Dynamic Key
`Crypto Provider
`
`-r -
`
`- -
`
`-
`
`--
`
`Service Provider App
`Processing in
`Figure 8
`C D
`Secrets Ond
`Biometric Minutio
`26
`
`14
`
`252
`
`Hold, Delete, Transfer
`Service Request
`
`Notify Other
`Service Providers
`
`Minuti DB
`TO
`
`- -
`SP Info & DS
`32
`
`SP ge COring
`
`228
`
`IA1012
`
`Page 12 of 30
`
`

`

`US 8,817,984 B2
`
`1.
`CRYPTOGRAPHC SECURITY FUNCTIONS
`BASED ON ANTICIPATED CHANGES IN
`DYNAMIC MINUTAE
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`This application claims the benefit of U.S. Provisional
`Patent Application No. 61/462.474 filed Feb. 3, 2011, which
`is incorporated by reference.
`
`10
`
`BACKGROUND
`
`15
`
`25
`
`30
`
`35
`
`1. 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 par
`ticularly, to cryptography using dynamic keys derived from
`dynamically changing key material.
`2. 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 com
`monto 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 Adelman (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 with
`out any special meaning. The process of distributing crypto
`graphic 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 breaking the security of a
`cryptographic system. The key represents 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 con
`trolled by requiring the user to enter a personal identification
`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,
`55
`biometric information. The factors themselves are related in
`use but entirely separate in material. Possession of the physi
`cal secure element (“Something You Have') may be via vali
`dation of cryptographic functions using the random 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
`USC.
`The use of certificates in cryptography enabled the binding
`of a distinguished name (e.g., a unique user) with a crypto
`graphic key. Yet, still the cryptographic key is a random
`number, and when the key is validated, the cryptographic
`
`40
`
`45
`
`50
`
`60
`
`65
`
`2
`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 espe
`cially 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 pass
`word 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 har
`vesting and cracking stored passwords 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 com
`puter identification have sought to increase the number of
`minutiae used in identifying the computer through the analy
`sis of time (both in clock and network latency) and bits of
`information left on the computer (i.e. cookies). However, as
`more minutiae are included in the computation, the probabil
`ity that changes occurred naturally to the minutia can result in
`a new computerfingerprint. This falsely identifies 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 fingerprint process or inconve
`nience 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 cryptogra
`phy use a wide range of minutiae as key material including
`computer hardware, firmware, Software, user secrets, and
`
`IA1012
`
`Page 13 of 30
`
`

`

`3
`user biometrics rather than store a random number as a cryp
`tographic 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 ser
`vices, 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 cryptogra
`phy 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 corresponding to
`the selected Subset of minutia types in order to form a cryp
`tographic 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 com
`bination 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 combination 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 pos
`sible 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 selection of minutia
`types from the challenge and actual values of the selection of
`40
`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 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 pro
`cessor to perform a method, the method including: selecting
`at least one type of minutia from a plurality of minutia types;
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 8,817,984 B2
`
`5
`
`10
`
`15
`
`4
`forming a challenge that conveys the selection of minutia
`types; computing a plurality of pre-processed responses pos
`sible 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 pro
`vider facilitated by a dynamic key cryptography provider in
`accordance with one or more embodiments;
`FIG. 2 is a system 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 minutiae
`and services in accordance with an embodiment;
`FIG. 5 is a system diagram illustrating a system to cata
`logue and model industry minutia and user heuristics to create
`and update anticipated minutia databases in accordance with
`an embodiment;
`FIG. 6 is a system process flow diagram illustrating a
`system for validation scoring, confidence rating and step-up
`authentication processing in accordance with an embodi
`ment;
`FIG. 7 is a system process flow diagram for an authentica
`tion and digital signature system capable of incorporating
`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
`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 minu
`tia found on the computer; (2) secrets a user of the computer
`knows; and (3) biometric information the computer might
`collect from the user. Dynamic key cryptography in accor
`dance with one or more embodiments enables secured actions
`for users of electronic computers and, more particularly, pro
`vides authentication between a client electronic computer and
`a service provider, encryption of data electronically stored or
`
`IA1012
`
`Page 14 of 30
`
`

`

`5
`sent on a communication channel, and digital signature for
`electronic digests of actions performed 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 net
`work service. Dynamic key cryptography may provide a safe,
`reliable method to users of network services for authenticat
`ing 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 computer.
`One or more embodiments may provide features Such as: 1)
`simple user experience—no difficult passwords to 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 com
`puter only if required by the service and protected services
`can be automatically reconnected to a new device or com
`puter when it is registered by the user; 2) unprecedented
`security—using a wider range of hardware, firmware, Soft
`ware, 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) reliability anticipating
`changes to the user device or computer delivers a tolerant, yet
`secure authentication with fewer false negatives that anger
`users and clog customer Support services; and 4) service and
`data separation—delivered as an integrated part of a mobile
`application (app), a “foundation” (e.g., dynamic key crypto
`graphic 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 ser
`vices, 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 iden
`tified computer can be used in place of passwords 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
`50
`a static key stored or intended to be stored only on the com
`puter. The discovery 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 methods 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 coun
`terfeit 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 minutia
`values to change, a successfully counterfeited computer
`would also need to ensure the fraudulent computer minutia
`
`30
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`US 8,817,984 B2
`
`10
`
`15
`
`25
`
`6
`values change in an expected manner. Should a users online
`activities require an even higher level of trust, the platform
`(e.g., dynamic key crypto service and related client software)
`can force the user to enter the user's standard PIN into the
`computer to ensure a valid user is the person using the com
`puter.
`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 challenge-respond security mecha
`nisms. Even public key cryptography is based off a static key
`pair (public and private). One or more embodiments of the
`dynamic key crypto System may use a very large numeric
`representation (e.g., 100,000's of bits) of computer and user
`minutia (e.g., any piece of information that can be definitively
`associated with the computer and its user, including informa
`tion from the general categories of what the user or computing
`device has, what the user knows, and what the user is) to form
`cryptographic keys that Support a range of security functions
`in a verifiable manner (a cornerstone of security). In one or
`more embodiments methods based on the predictable
`dynamic nature of the minutia may allow for verification of
`the minutia (as if they were a single static value) but not all of
`the minutia is required to be static; most values of the minutia
`can (and are expected to) change and evolve over time and the
`change of the minutia values themselves increases the per
`ceived randomness of the resultant dynamic crypto keys. The
`validation of dynamic key cryptography based on changing
`minutia uses a complex confidence scoring which isolates
`and evaluates the minutiae that have changed and uses con
`fidence weightings against the predictability of such changes.
`Changing minutia when used as dynamic key material for
`dynamic key cryptography adds complexity to the crypto
`graphic system which can improve security as a one-time
`copy of the minutia values or resultant key will likely fail later
`in time as the minutia values are expected to change.
`Layering static minutia (e.g., hardware minutia, user
`secrets, some user biometrics), slow-changing minutia (e.g.,
`firmware minutia, some user biometrics), and predictably
`changing minutia (e.g., Software minutia) can create a very
`large set of key material (or keyspace) which can be processed
`as Subsets of minutia. These Subsets of minutia function as
`static keys over a particular time interval and provide
`increased security while being fault-tolerant to normal and
`natural anomalies. Examples of categories of minutia include
`various hardware, firmware, software, user secrets, and user
`biometric values. For example, hardware minutia may
`include the make and model of the computing device (e.g.,
`Smartphone or pad), an international mobile equipment iden
`tification (IMEI) number of the computing device, or a circuit
`manufacturer's ID number which may be readable from a
`circuit chip element of the computing device. Similarly,
`examples of firmware and Software minutia may include
`which firmware and software codes are installed on the com
`puting device and characteristics Such as what particular ver
`sion or release date offirmware or software are installed on
`the computing device. Other minutia may include Such infor
`mation as geo-location from GPS (global positioning system)
`capability of the computing device. In some embodiments,
`minutia may also include secrets a user of the computing
`device knows (e.g., a PIN number or password) or biometric
`information the computing device might collect from the user
`(e.g., a fingerprint, Voiceprint, or retinal scan). In this manner,
`dynamic key cryptography can utilize minutia values from
`the three identity factors (“have”, “know', and “are') to form
`a dynamic key so that dynamic key crypto purposes such as
`
`IA1012
`
`Page 15 of 30
`
`

`

`7
`authentication, data protection, and digital signature can ben
`efit from the three identity factors simultaneously.
`Dynamic key cryptography key matter is a significant
`improvement over static cryptographic keys of simply ran
`dom numbers (as nearly all prior art cryptography uses).
`Dynamic key crypto keys are permutations of a very large
`collection of minutia values, many of which change over
`time; the result is a seemingly random number comprised of
`independently meaningful minutia values.
`To achieve fault tolerance over a possibly changing set of
`minutia, anticipated changes to minutia and multiple Subsets
`of minutia that provide back-up to any single Subset can be
`used. By using mass produced electronic devices (e.g.,
`mobile units and computers) which contain both a vast array
`of minutia

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