`
`(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