US20170063812A1 - Bluesalt security - Google Patents
Bluesalt security Download PDFInfo
- Publication number
- US20170063812A1 US20170063812A1 US15/078,142 US201615078142A US2017063812A1 US 20170063812 A1 US20170063812 A1 US 20170063812A1 US 201615078142 A US201615078142 A US 201615078142A US 2017063812 A1 US2017063812 A1 US 2017063812A1
- Authority
- US
- United States
- Prior art keywords
- primary
- key
- password
- user
- confidential information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
- H04W12/033—Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/062—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Definitions
- the present invention relates generally to securing information, and more particularly to incorporating additional environment factors in the salt of a cryptographic key.
- Security systems are widely used around the world.
- Current security systems utilize measures such as keys (electronic or physical), access codes, login credentials, and physical characteristics such as retina or fingerprint scans. While these methods prove sufficient for many applications, the aforementioned methods do not take into consideration environmental factors such as location, time, date, temperature, or other factors pertaining to an access request. These additional factors are capable of increasing security measures in instances when, for example username/password information is compromised, by preventing access to data without satisfying the additional environment factors.
- Embodiments of the present invention disclose a method, system, and computer program product for bluesalt security.
- a computer receives a confidential data configuration wherein specific sensor are assigned to specific confidential information.
- the assigned sensors are measured for values as a system administrator enters a password corresponding to the confidential information.
- the measured values are converted into a salt and concatenated with the password to generate a primary key.
- the primary key is used to encrypt the confidential information, then the primary key is encrypted using a secondary key comprised of a second password with a second set of sensor information as the salt.
- the encrypted key is saved securely while the secondary key is destroyed.
- a user In order to decrypt the confidential information, a user must replicate the password and sensor values to generate the primary or secondary key.
- FIG. 1 illustrates a bluesalt security system, in accordance with an embodiment of the invention.
- FIG. 2 is a flowchart illustrating the operations of the bluesalt security program 114 of FIG. 1 in configuring bluesalt security program 114 for a primary user.
- FIG. 3 continues the flowchart of FIG. 2 illustrating the operations of the bluesalt security program 114 of FIG. 1 in configuring bluesalt security program 114 for secondary access.
- FIG. 4 is a flowchart illustrating the operations of bluesalt security program 114 of FIG. 1 in evaluating a request to access encrypted information secured by bluesalt security program.
- FIG. 5 is a block diagram depicting the hardware components of a bluesalt security system of FIG. 1 , in accordance with an embodiment of the invention.
- FIG. 1 illustrates a bluesalt security system 100 , in accordance with an embodiment of the invention.
- bluesalt security system 100 includes server 110 , network 108 , computing device 120 , and sensor 130 .
- network 108 may be the Internet, representing a worldwide collection of networks and gateways to support communications between devices connected to the Internet.
- Network 108 may include, for example, wired, wireless or fiber optic connections.
- network 108 may be implemented as an intranet, a local area network (LAN), or a wide area network (WAN).
- LAN local area network
- WAN wide area network
- network 108 can be any combination of connections and protocols that will support communications between server 110 , computing device 120 , and sensor 130 .
- Computing device 120 may be a laptop computer, a notebook, tablet computer, netbook computer, personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smart phone, a thin client, or any other electronic device or computing system capable of receiving and sending data to and from other computing devices. While computing device 120 is shown as a single device, in other embodiments, computing device 120 may be comprised of a cluster or plurality of computing devices, working together or working separately. Computing device 120 is described in further detail with reference to FIG. 5 .
- Sensor 130 is a device capable of measuring a characteristic of an environment.
- sensor 130 may be a clock, calendar, gyroscope, accelerometer, compass, global positioning system (GPS), pressure sensor, barometer, thermometer, humidity sensor, proximity sensor, camera, microphone, light sensor, or other device used for measuring an environment or current state.
- sensor 130 may be a device capable of detecting local connection points such as an internet protocol (IP) address, a Wi-Fi connection, a Bluetooth connection, a network connection, an infrared connection, or a near field communication (NFC).
- IP internet protocol
- Wi-Fi Wireless Fidelity
- Bluetooth Wireless Fidelity
- NFC near field communication
- Sensor 130 may additionally be a device capable of detecting biometric information of an individual utilizing techniques such as facial recognition, iris scanning, voice recognition, and fingerprint scanning.
- sensor 130 is referenced via network 108 , however in other embodiments, sensor 130 may be referenced locally.
- Server 110 includes database 112 and bluesalt security program 114 .
- key server 110 may be a laptop computer, a notebook, tablet computer, netbook computer, personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smart phone, a thin client, or any other electronic device or computing system capable of receiving and sending data to and from other computing devices. While server 110 is shown as a single device, in other embodiments, server 110 may be comprised of a cluster or plurality of computing devices, working together or working separately. Server 110 is described in more detail with reference to FIG. 5 .
- Database 112 is an organized collection of data.
- database 112 contains confidential information that is encrypted and decrypted by bluesalt security program 114 .
- database 112 is present on server 110 , however, in other embodiments, database 112 may be present on another computing device connected to server 110 via network 108 .
- Bluesalt security program 114 is a program capable of receiving a password from a user on a computing device, such as computing device 120 .
- Bluesalt security program 114 is additionally capable of referencing a measured value from a sensor, such as sensor 130 , and converting that value into a salt.
- a salt is a random data value(s) that is used as an additional input to a one-way function that hashes a password, increasing the difficulty for a hacker to hack a password (hashing is described in greater detail below). For example, a single-bit salt adds a 0 or 1 to a password, requiring a hacker to guess the password while incorporating a 0 or a 1.
- Bluesalt security program 114 is further capable of concatenating and processing the received password and converted salt with a cryptographic hash function into a hash key. Bluesalt encryption program is additionally capable of using the hash key to encrypt and decrypt confidential information, such as the information contained in database 112 .
- FIG. 2 is a flowchart depicting the operations of bluesalt security program 114 in configuring encryption parameters for a primary user.
- a system administrator configures bluesalt security program 114 by designating a primary password and the primary environmental factors present to gain access to confidential information.
- the primary environmental factors measured during configuration, such as temperature or time, are added to the primary password as a primary salt before the two are concatenated and hashed into a primary cryptographic key.
- the primary cryptographic key is used to encrypt the confidential information symmetrically before the primary salt values and primary cryptographic key are deleted permanently.
- a user In order to gain access to the confidential information, a user must enter the designated primary password, retrieve acceptable primary environmental values from sensor(s) 130 , and hash an identical primary key to decrypt the encrypted information.
- bluesalt security program 114 receives the primary sensor configuration of the security system from a system administrator via a user input (step 202 ).
- the primary sensor configuration details the conditions which must be present for access to confidential information stored in database 112 .
- the primary sensor configuration details the primary environmental measurements that provide the values used to generate the primary salt added to the primary password (salt is described in greater detail below).
- a system administrator may vary the primary sensor configuration for the confidential information by assigning specific environmental factors to be measured upon login by the primary user.
- the primary sensor configuration for file Confidential requires a password, a specific temperature measurement by a specific thermometer, and an access request at specific coordinates measured by a GPS
- a system administrator designates the specific thermometer and a GPS device as the sensors whose values must be measured upon an access request to file Confidential.
- the primary sensor configuration is associated with the confidential information and stored locally on server 110 , however in other embodiments, the primary sensor configuration may be associated with individuals or devices.
- the primary sensor configuration is stored locally on server 110 , however in other embodiments, bluesalt security program 114 may retrieve the primary sensor configuration from another computing device via network 108 .
- Bluesalt security program 114 receives the primary password designated for the primary user by a system administrator (step 204 ).
- bluesalt security program 114 encrypts the confidential information using a symmetrical cryptographic key algorithm, meaning that the same hash key used to encrypt confidential information is used to decrypt the encrypted confidential information. Because the hash keys must be identical, then the password and salt used to make the hash keys must, too, be identical.
- a system administrator encrypts the confidential information by first entering the primary password that will later be used by the primary user(s) to decrypt the confidential information.
- the system administrator if the system administrator wants the primary user to decrypt the confidential information using the password “Birthdate”, then the system administrator enters the password “Birthdate” when encrypting the confidential information.
- Bluesalt security program 114 references primary sensor data from sensor 130 corresponding to each of the environmental factors designated to provide a primary salt in step 202 (step 206 ). In order to generate identical hash keys at both encryption and decryption, the salt used to generate the hash keys must, too, be identical at encryption and decryption.
- bluesalt security program 114 references sensor data by communicating with sensor 130 for each of the designated primary environmental factors. Scrutiny of the referenced values may be varied by a system administrator through means such as rounding to specific decimal places or whole numbers. Additionally, values measured at configuration may be given a tolerance (such as +1 degree in temperature or location), effectively creating a range and relaxing scrutiny.
- the admin may input the specific values which need be present via a user interface.
- a system administrator designates the environmental factors added as a salt to the password “Birthdate” as the values measured on the thermometer and GPS device, then bluesalt security program 114 communicates with the thermometer and GPS device to obtain the measured values.
- Bluesalt security program 114 converts the primary sensor data into a primary salt value (step 208 ).
- environmental values measured by sensor 130 are used as the salt added to a password protecting confidential information.
- the values (which will vary in digits and size depending on the field of measurement, sensitivity of sensor 130 , and preferred rounding of the administrator) are input into a predefined function which converts the values into a desired format.
- the predefined function converts the values into a hex string of specific length and bits.
- other predefined functions may be utilized to convert the referenced environmental values into any length strings and any-bit salts.
- bluesalt security program 114 references the thermometer to measure a temperature reading of 68° Fahrenheit in the environment of computing device 110 and the GPS to measure coordinates of computing device 110 as 40° latitude and ⁇ 74° degrees longitude, then bluesalt security program 114 converts the values into the hex string 33312e34b043 using a predefined function.
- Blulesalt security program 114 generates a primary key by hashing and concatenating the primary password and primary salt value (step 208 ).
- hashing is similar to encryption in that a sequence of characters (the message) is converted to other characters (the digest) in order to maintain confidentiality.
- the process of hashing is irreversible and cannot be “de-hashed.”
- An ideal hashing function should make it easy to compute a hash for any given message, infeasible to generate an original message from its hash, infeasible to modify a message without altering its hash, and infeasible to generate the same hash for two different messages.
- the primary password and primary salt value is hashed and the outputs are concatenated (combined) into a primary key.
- the hashing is irreversible and, therefore, the primary password and primary salt (the message) cannot be reverse generated using the primary key.
- bluesalt security program 114 concatenates and hashes the password “Birthdate” with the hex string 33312e34b043, then bluesalt security program I N generates the primary key 5hJ8fh3jefHGifnJ.
- Bluesalt encryption program 114 encrypts the confidential information using the primary key hashed in step 210 (step 212 ).
- bluesalt security program 114 encrypts the confidential information by applying a predefined encrypting function using the primary key to the confidential information. For example, bluesalt security program 114 encrypts the confidential information using the primary key 5hJ8fh3jefHGifnJ generated above.
- bluesalt security program 114 deletes the primary password, the primary salt, and the primary key after encrypting the confidential information with the primary key—necessitating the exact replication of the password and salt used to generate the primary key which can decrypt the confidential information.
- the primary key is encrypted using a secondary key comprising of a secondary password and secondary salt before the primary key is deleted.
- replicating the secondary key allows a user to decrypt the encrypted key back into the primary key when replication of the primary key using the primary password and primary salt is infeasible. This process is described below in FIG. 3 .
- FIG. 3 is a flowchart depicting the operations of bluesalt security program 114 in configuring encryption parameters for secondary access to the confidential information.
- Configuring bluesalt security program 114 for secondary access acts as a backup in the case the primary key cannot be replicated due to an incorrect primary password or incorrect primary salt.
- the secondary key which is generated using a secondary password and secondary salt, is used to encrypt the primary key generated in FIG. 2 before the primary key is disposed of
- the resulting output is known as the encrypted key and is stored securely (unlike the primary salt, primary password, primary key, secondary salt, secondary password, and secondary key, the encrypted key is the only information saved by bluesalt security program 114 other than the encrypted, confidential information). This is a measure to increase security.
- replicating the secondary key makes it possible to decrypt the encrypted key back into the primary key, which can then decrypt the confidential information.
- the secondary key may be replicated and used to decrypt the encrypted key back into the primary key, allowing a user to decrypt the confidential information. This process is described in greater detail below.
- Bluesalt security program 114 receives the secondary sensor configuration in much the same way as bluesalt security program 114 receives the primary sensor configuration described in step 202 (step 314 ). Here, however, a system administrator is designating the environmental factors to be measured for secondary, or backup, access.
- Bluesalt security program 114 receives the secondary password in much the same way as bluesalt security program 114 receives the primary password described in step 204 (step 316 ).
- Bluesalt security program 114 references secondary sensor data in much the same way as bluesalt security program 114 references primary sensor data described in step 206 (step 318 ).
- Bluesalt security program 114 converts the secondary sensor data into a secondary salt value in much the same way as bluesalt security program 114 converts the primary sensor data into the primary salt value described in step 206 (step 320 ).
- Bluesalt security program 114 hashes a secondary key using the secondary salt value and the secondary password in much the same manner that bluesalt security program 114 hashes the primary key using the primary salt value and primary password above (step 322 ).
- Bluesalt security program 114 generates an encrypted key by encrypting the primary key with the secondary key using a predefined encrypting function in much the same way bluesalt security program 114 encrypts the confidential information above (step 324 ).
- the encrypted key is encrypted symmetrically, meaning that it can only be decrypted with an identical key.
- bluesalt security program 114 destroys the secondary key and stores the encrypted key in a secure location remotely or locally. In the case the primary key cannot be replicated, the secondary key must be re-generated by way of the exact replication of the secondary password and secondary salt value used to encrypt the encrypted key. Decrypting the encrypted key will output the primary key, which can then be used to decrypt the confidential information.
- FIG. 4 is a flowchart depicting the operations of bluesalt security program 114 in evaluating a request for access to confidential information stored in database 112 .
- a user In order to gain access to the confidential information, a user must either replicate the primary key to decrypt the confidential information or replicate the secondary key to decrypt the encrypted key back into the primary key, then decrypt the confidential information.
- Bluesalt security program 114 receives an access request and password entered through a user interface (step 402 ).
- the access request includes which resource (files, folders, documents, etc.) of confidential information a user is requesting access to.
- the user may request access to a file Confidential and input the password: birthdate.
- Bluesalt security program 114 references sensor data of each of sensor 130 in much the same way bluesalt security program 114 references sensor data when generating the primary and secondary key above (step 404 ).
- bluesalt security program 114 references the corresponding thermometer and GPS device in order to determine a current temperature reading and GPS coordinates in the environment from which access to the confidential information is requested.
- Bluesalt security program 114 converts the sensor data into a salt value using a predefined function similar to the manner it is described in step 208 of the FIG. 2 discussion (step 406 ).
- Bluesalt security program 114 hashes a key using the provided password and referenced salt values in much the same manner bluesalt security program 114 hashes a primary and secondary key above (step 408 ).
- Bluesalt security program 114 determines whether the hashed key decrypts the confidential information (decision 410 ). Bluesalt security program 114 determines whether the hashed key decrypts the confidential information by attempting to decrypt the confidential information and monitoring the results. If the hashed key does not decrypt the confidential information, the output of the program will be nonsensical (garbage). Not only is the garbage useless to hackers, but subsequent processes depending on a sensible output will be unable to operate properly and, as a result, bluesalt security program 114 can deduce that the hashed key was incorrect.
- bluesalt security program 114 is capable of deducing that the hashed key was unsuccessful in decrypting the confidential information. Conversely, if the hashed key is successful in decrypting the confidential information, systems dependent on the successful decryption of the confidential information will operate properly and bluesalt security program 114 deduces that the decryption was successful.
- bluesalt security program 114 decrypts the confidential information using a predefined encryption function (step 412 ).
- the confidential information is encrypted symmetrically, meaning the same key used to encrypt the confidential information also decrypts the confidential information. Furthermore, successful decryption of the confidential information with the generated key indicates that the primary key has been replicated using the identical primary password and primary salt.
- bluesalt security program 114 determines whether the hashed key decrypts the encrypted key (decision 414 ). Bluesalt security program 114 determines whether the hashed key decrypts the encrypted key by first decrypting the encrypted key and then, in much the same manner bluesalt security program 114 determines whether the hashed key decrypts the confidential information, attempting to decrypt the confidential information.
- bluesalt security program 114 decrypts the encrypted key back into the primary key (step 416 ). Bluesalt security program 114 then uses the primary key to decrypt the confidential information (step 412 ).
- bluesalt security program 114 takes action (step 418 ). In the example embodiment, bluesalt security program 114 takes action by alerting security of the failed access request. In other embodiments, however, bluesalt security program 114 may secure the area or take no action.
- FIG. 5 depicts a block diagram of components of server 110 of a bluesalt security system 100 of FIG. 1 , in accordance with an embodiment of the present invention. It should be appreciated that FIG. 5 provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made.
- Server 110 may include one or more processors 502 , one or more computer-readable RAMs 504 , one or more computer-readable ROMs 506 , one or more computer readable storage media 508 , device drivers 512 , read/write drive or interface 514 , network adapter or interface 516 , all interconnected over a communications fabric 518 .
- Communications fabric 518 may be implemented with any architecture designed for passing data and/or control information between processors (such as microprocessors, communications and network processors, etc.), system memory, peripheral devices, and any other hardware components within a system.
- One or more operating systems 510 , and one or more application programs 511 are stored on one or more of the computer readable storage media 508 for execution by one or more of the processors 502 via one or more of the respective RAMs 504 (which typically include cache memory).
- each of the computer readable storage media 508 may be a magnetic disk storage device of an internal hard drive, CD-ROM, DVD, memory stick, magnetic tape, magnetic disk, optical disk, a semiconductor storage device such as RAM, ROM, EPROM, flash memory or any other computer-readable tangible storage device that can store a computer program and digital information.
- Server 110 may also include a R/W drive or interface 514 to read from and write to one or more portable computer readable storage media 526 .
- Application programs 511 on server 110 may be stored on one or more of the portable computer readable storage media 526 , read via the respective R/W drive or interface 514 and loaded into the respective computer readable storage media 508 .
- Server 110 may also include a network adapter or interface 516 , such as a TCP/IP adapter card or wireless communication adapter (such as a 4G wireless communication adapter using OFDMA technology).
- Application programs 511 on server 110 may be downloaded to the computing device from an external computer or external storage device via a network (for example, the Internet, a local area network or other wide area network or wireless network) and network adapter or interface 516 . From the network adapter or interface 516 , the programs may be loaded onto computer readable storage media 508 .
- the network may comprise copper wires, optical fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
- Server 110 may also include a display screen 520 , a keyboard or keypad 522 , and a computer mouse or touchpad 524 .
- Device drivers 512 interface to display screen 520 for imaging, to keyboard or keypad 522 , to computer mouse or touchpad 524 , and/or to display screen 520 for pressure sensing of alphanumeric character entry and user selections.
- the device drivers 512 , R/W drive or interface 514 and network adapter or interface 516 may comprise hardware and software (stored on computer readable storage media 508 and/or ROM 506 ).
- Various embodiments of the present invention may be a system, a method, and/or a computer program product.
- the computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
- the computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device.
- the computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
- a non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing.
- RAM random access memory
- ROM read-only memory
- EPROM or Flash memory erasable programmable read-only memory
- SRAM static random access memory
- CD-ROM compact disc read-only memory
- DVD digital versatile disk
- memory stick a floppy disk
- a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon
- a computer readable storage medium is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
- Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network.
- the network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
- a network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
- Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
- the computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
- These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the block may occur out of the order noted in the figures.
- two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
Description
- The present invention relates generally to securing information, and more particularly to incorporating additional environment factors in the salt of a cryptographic key.
- Security systems are widely used around the world. Current security systems utilize measures such as keys (electronic or physical), access codes, login credentials, and physical characteristics such as retina or fingerprint scans. While these methods prove sufficient for many applications, the aforementioned methods do not take into consideration environmental factors such as location, time, date, temperature, or other factors pertaining to an access request. These additional factors are capable of increasing security measures in instances when, for example username/password information is compromised, by preventing access to data without satisfying the additional environment factors.
- Embodiments of the present invention disclose a method, system, and computer program product for bluesalt security. A computer receives a confidential data configuration wherein specific sensor are assigned to specific confidential information. The assigned sensors are measured for values as a system administrator enters a password corresponding to the confidential information. The measured values are converted into a salt and concatenated with the password to generate a primary key. The primary key is used to encrypt the confidential information, then the primary key is encrypted using a secondary key comprised of a second password with a second set of sensor information as the salt. The encrypted key is saved securely while the secondary key is destroyed. In order to decrypt the confidential information, a user must replicate the password and sensor values to generate the primary or secondary key.
-
FIG. 1 illustrates a bluesalt security system, in accordance with an embodiment of the invention. -
FIG. 2 is a flowchart illustrating the operations of thebluesalt security program 114 ofFIG. 1 in configuringbluesalt security program 114 for a primary user. -
FIG. 3 continues the flowchart ofFIG. 2 illustrating the operations of thebluesalt security program 114 ofFIG. 1 in configuringbluesalt security program 114 for secondary access. -
FIG. 4 is a flowchart illustrating the operations ofbluesalt security program 114 ofFIG. 1 in evaluating a request to access encrypted information secured by bluesalt security program. -
FIG. 5 is a block diagram depicting the hardware components of a bluesalt security system ofFIG. 1 , in accordance with an embodiment of the invention. - Embodiments of the present invention will now be described in detail with reference to the accompanying figures.
-
FIG. 1 illustrates abluesalt security system 100, in accordance with an embodiment of the invention. In the example embodiment,bluesalt security system 100 includesserver 110,network 108,computing device 120, andsensor 130. - In the example embodiment,
network 108 may be the Internet, representing a worldwide collection of networks and gateways to support communications between devices connected to the Internet.Network 108 may include, for example, wired, wireless or fiber optic connections. In other embodiments,network 108 may be implemented as an intranet, a local area network (LAN), or a wide area network (WAN). In general,network 108 can be any combination of connections and protocols that will support communications betweenserver 110,computing device 120, andsensor 130. -
Computing device 120 may be a laptop computer, a notebook, tablet computer, netbook computer, personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smart phone, a thin client, or any other electronic device or computing system capable of receiving and sending data to and from other computing devices. Whilecomputing device 120 is shown as a single device, in other embodiments,computing device 120 may be comprised of a cluster or plurality of computing devices, working together or working separately.Computing device 120 is described in further detail with reference toFIG. 5 . -
Sensor 130 is a device capable of measuring a characteristic of an environment. In the example embodiment,sensor 130 may be a clock, calendar, gyroscope, accelerometer, compass, global positioning system (GPS), pressure sensor, barometer, thermometer, humidity sensor, proximity sensor, camera, microphone, light sensor, or other device used for measuring an environment or current state. Furthermore, in the example embodiment,sensor 130 may be a device capable of detecting local connection points such as an internet protocol (IP) address, a Wi-Fi connection, a Bluetooth connection, a network connection, an infrared connection, or a near field communication (NFC).Sensor 130 may additionally be a device capable of detecting biometric information of an individual utilizing techniques such as facial recognition, iris scanning, voice recognition, and fingerprint scanning. In the example embodiment,sensor 130 is referenced vianetwork 108, however in other embodiments,sensor 130 may be referenced locally. -
Server 110 includesdatabase 112 andbluesalt security program 114. In the example embodiment,key server 110 may be a laptop computer, a notebook, tablet computer, netbook computer, personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smart phone, a thin client, or any other electronic device or computing system capable of receiving and sending data to and from other computing devices. Whileserver 110 is shown as a single device, in other embodiments,server 110 may be comprised of a cluster or plurality of computing devices, working together or working separately.Server 110 is described in more detail with reference toFIG. 5 . -
Database 112 is an organized collection of data. In the example embodiment,database 112 contains confidential information that is encrypted and decrypted bybluesalt security program 114. In the example embodiment,database 112 is present onserver 110, however, in other embodiments,database 112 may be present on another computing device connected toserver 110 vianetwork 108. - Bluesalt
security program 114 is a program capable of receiving a password from a user on a computing device, such ascomputing device 120.Bluesalt security program 114 is additionally capable of referencing a measured value from a sensor, such assensor 130, and converting that value into a salt. In cryptography, a salt is a random data value(s) that is used as an additional input to a one-way function that hashes a password, increasing the difficulty for a hacker to hack a password (hashing is described in greater detail below). For example, a single-bit salt adds a 0 or 1 to a password, requiring a hacker to guess the password while incorporating a 0 or a 1. Therefore, if a single bit salt is applied to the password “Birthdate”, the hacker must try every password attempt three times (Birthdate, Birthdate0, and Birthdate1) instead of once, increasing the difficulty and time required for a successful hack. Even if a hacker knows a single-bit salt is incorporated, it may still double the amount of attempts necessary to successfully hack the password (Birthdate0, Birthdate1). Similarly, a two-bit salt increases the difficulty of guessing a password fourfold (Birthdate00, Birthdate01, Birthdate10, Birthdate11), and so forth.Bluesalt security program 114 is further capable of concatenating and processing the received password and converted salt with a cryptographic hash function into a hash key. Bluesalt encryption program is additionally capable of using the hash key to encrypt and decrypt confidential information, such as the information contained indatabase 112. -
FIG. 2 is a flowchart depicting the operations ofbluesalt security program 114 in configuring encryption parameters for a primary user. A system administrator configuresbluesalt security program 114 by designating a primary password and the primary environmental factors present to gain access to confidential information. The primary environmental factors measured during configuration, such as temperature or time, are added to the primary password as a primary salt before the two are concatenated and hashed into a primary cryptographic key. The primary cryptographic key is used to encrypt the confidential information symmetrically before the primary salt values and primary cryptographic key are deleted permanently. In order to gain access to the confidential information, a user must enter the designated primary password, retrieve acceptable primary environmental values from sensor(s) 130, and hash an identical primary key to decrypt the encrypted information. - In the example embodiment,
bluesalt security program 114 receives the primary sensor configuration of the security system from a system administrator via a user input (step 202). The primary sensor configuration details the conditions which must be present for access to confidential information stored indatabase 112. In the example embodiment, the primary sensor configuration details the primary environmental measurements that provide the values used to generate the primary salt added to the primary password (salt is described in greater detail below). In the example embodiment, a system administrator may vary the primary sensor configuration for the confidential information by assigning specific environmental factors to be measured upon login by the primary user. For example, if the primary sensor configuration for file Confidential requires a password, a specific temperature measurement by a specific thermometer, and an access request at specific coordinates measured by a GPS, then a system administrator designates the specific thermometer and a GPS device as the sensors whose values must be measured upon an access request to file Confidential. In the example embodiment, the primary sensor configuration is associated with the confidential information and stored locally onserver 110, however in other embodiments, the primary sensor configuration may be associated with individuals or devices. In the example embodiment, the primary sensor configuration is stored locally onserver 110, however in other embodiments,bluesalt security program 114 may retrieve the primary sensor configuration from another computing device vianetwork 108. -
Bluesalt security program 114 receives the primary password designated for the primary user by a system administrator (step 204). In the example embodiment,bluesalt security program 114 encrypts the confidential information using a symmetrical cryptographic key algorithm, meaning that the same hash key used to encrypt confidential information is used to decrypt the encrypted confidential information. Because the hash keys must be identical, then the password and salt used to make the hash keys must, too, be identical. Thus, a system administrator encrypts the confidential information by first entering the primary password that will later be used by the primary user(s) to decrypt the confidential information. Continuing the example above using the file Confidential, if the system administrator wants the primary user to decrypt the confidential information using the password “Birthdate”, then the system administrator enters the password “Birthdate” when encrypting the confidential information. -
Bluesalt security program 114 references primary sensor data fromsensor 130 corresponding to each of the environmental factors designated to provide a primary salt in step 202 (step 206). In order to generate identical hash keys at both encryption and decryption, the salt used to generate the hash keys must, too, be identical at encryption and decryption. In the example embodiment,bluesalt security program 114 references sensor data by communicating withsensor 130 for each of the designated primary environmental factors. Scrutiny of the referenced values may be varied by a system administrator through means such as rounding to specific decimal places or whole numbers. Additionally, values measured at configuration may be given a tolerance (such as +1 degree in temperature or location), effectively creating a range and relaxing scrutiny. If a system administrator is unable to replicate desired encryption conditions at the time of encryption, the admin may input the specific values which need be present via a user interface. Continuing the example above, if a system administrator designates the environmental factors added as a salt to the password “Birthdate” as the values measured on the thermometer and GPS device, then bluesaltsecurity program 114 communicates with the thermometer and GPS device to obtain the measured values. -
Bluesalt security program 114 converts the primary sensor data into a primary salt value (step 208). In the example embodiment, environmental values measured bysensor 130 are used as the salt added to a password protecting confidential information. In the example embodiment, the values (which will vary in digits and size depending on the field of measurement, sensitivity ofsensor 130, and preferred rounding of the administrator) are input into a predefined function which converts the values into a desired format. In the example embodiment, the predefined function converts the values into a hex string of specific length and bits. In other embodiments, other predefined functions may be utilized to convert the referenced environmental values into any length strings and any-bit salts. Referencing the example above, ifbluesalt security program 114 references the thermometer to measure a temperature reading of 68° Fahrenheit in the environment ofcomputing device 110 and the GPS to measure coordinates ofcomputing device 110 as 40° latitude and −74° degrees longitude, then bluesaltsecurity program 114 converts the values into the hex string 33312e34b043 using a predefined function. -
Blulesalt security program 114 generates a primary key by hashing and concatenating the primary password and primary salt value (step 208). In cryptography, hashing is similar to encryption in that a sequence of characters (the message) is converted to other characters (the digest) in order to maintain confidentiality. However, unlike encryption where an encrypted message can be decrypted, the process of hashing is irreversible and cannot be “de-hashed.” An ideal hashing function should make it easy to compute a hash for any given message, infeasible to generate an original message from its hash, infeasible to modify a message without altering its hash, and infeasible to generate the same hash for two different messages. In the example embodiment, the primary password and primary salt value is hashed and the outputs are concatenated (combined) into a primary key. The hashing is irreversible and, therefore, the primary password and primary salt (the message) cannot be reverse generated using the primary key. Continuing the example above, ifbluesalt security program 114 concatenates and hashes the password “Birthdate” with the hex string 33312e34b043, then bluesalt security program I N generates the primary key 5hJ8fh3jefHGifnJ. -
Bluesalt encryption program 114 encrypts the confidential information using the primary key hashed in step 210 (step 212). In the example embodiment,bluesalt security program 114 encrypts the confidential information by applying a predefined encrypting function using the primary key to the confidential information. For example,bluesalt security program 114 encrypts the confidential information using the primary key 5hJ8fh3jefHGifnJ generated above. In the example embodiment,bluesalt security program 114 deletes the primary password, the primary salt, and the primary key after encrypting the confidential information with the primary key—necessitating the exact replication of the password and salt used to generate the primary key which can decrypt the confidential information. However, as a precaution in the case the primary key cannot be replicated (for example, if the primary environmental factors cannot be exactly replicated), the primary key is encrypted using a secondary key comprising of a secondary password and secondary salt before the primary key is deleted. By encrypting the primary key into an encrypted key, replicating the secondary key allows a user to decrypt the encrypted key back into the primary key when replication of the primary key using the primary password and primary salt is infeasible. This process is described below inFIG. 3 . -
FIG. 3 is a flowchart depicting the operations ofbluesalt security program 114 in configuring encryption parameters for secondary access to the confidential information. Configuringbluesalt security program 114 for secondary access acts as a backup in the case the primary key cannot be replicated due to an incorrect primary password or incorrect primary salt. The secondary key, which is generated using a secondary password and secondary salt, is used to encrypt the primary key generated inFIG. 2 before the primary key is disposed of The resulting output is known as the encrypted key and is stored securely (unlike the primary salt, primary password, primary key, secondary salt, secondary password, and secondary key, the encrypted key is the only information saved bybluesalt security program 114 other than the encrypted, confidential information). This is a measure to increase security. Because the encrypted key is encrypted symmetrically, replicating the secondary key makes it possible to decrypt the encrypted key back into the primary key, which can then decrypt the confidential information. Thus, even when the primary key cannot be replicated, the secondary key may be replicated and used to decrypt the encrypted key back into the primary key, allowing a user to decrypt the confidential information. This process is described in greater detail below. -
Bluesalt security program 114 receives the secondary sensor configuration in much the same way asbluesalt security program 114 receives the primary sensor configuration described in step 202 (step 314). Here, however, a system administrator is designating the environmental factors to be measured for secondary, or backup, access. -
Bluesalt security program 114 receives the secondary password in much the same way asbluesalt security program 114 receives the primary password described in step 204 (step 316). -
Bluesalt security program 114 references secondary sensor data in much the same way asbluesalt security program 114 references primary sensor data described in step 206 (step 318). -
Bluesalt security program 114 converts the secondary sensor data into a secondary salt value in much the same way asbluesalt security program 114 converts the primary sensor data into the primary salt value described in step 206 (step 320). -
Bluesalt security program 114 hashes a secondary key using the secondary salt value and the secondary password in much the same manner that bluesaltsecurity program 114 hashes the primary key using the primary salt value and primary password above (step 322). -
Bluesalt security program 114 generates an encrypted key by encrypting the primary key with the secondary key using a predefined encrypting function in much the same waybluesalt security program 114 encrypts the confidential information above (step 324). In the example embodiment, the encrypted key is encrypted symmetrically, meaning that it can only be decrypted with an identical key. In the example embodiment,bluesalt security program 114 destroys the secondary key and stores the encrypted key in a secure location remotely or locally. In the case the primary key cannot be replicated, the secondary key must be re-generated by way of the exact replication of the secondary password and secondary salt value used to encrypt the encrypted key. Decrypting the encrypted key will output the primary key, which can then be used to decrypt the confidential information. -
FIG. 4 is a flowchart depicting the operations ofbluesalt security program 114 in evaluating a request for access to confidential information stored indatabase 112. In order to gain access to the confidential information, a user must either replicate the primary key to decrypt the confidential information or replicate the secondary key to decrypt the encrypted key back into the primary key, then decrypt the confidential information. -
Bluesalt security program 114 receives an access request and password entered through a user interface (step 402). The access request includes which resource (files, folders, documents, etc.) of confidential information a user is requesting access to. For example, the user may request access to a file Confidential and input the password: Birthdate. -
Bluesalt security program 114 references sensor data of each ofsensor 130 in much the same waybluesalt security program 114 references sensor data when generating the primary and secondary key above (step 404). Continuing the example above where a system administrator selected a temperature reading and location coordinates as the environmental factors associated with file Confidential,bluesalt security program 114 references the corresponding thermometer and GPS device in order to determine a current temperature reading and GPS coordinates in the environment from which access to the confidential information is requested. -
Bluesalt security program 114 converts the sensor data into a salt value using a predefined function similar to the manner it is described instep 208 of theFIG. 2 discussion (step 406). -
Bluesalt security program 114 hashes a key using the provided password and referenced salt values in much the same mannerbluesalt security program 114 hashes a primary and secondary key above (step 408). -
Bluesalt security program 114 determines whether the hashed key decrypts the confidential information (decision 410).Bluesalt security program 114 determines whether the hashed key decrypts the confidential information by attempting to decrypt the confidential information and monitoring the results. If the hashed key does not decrypt the confidential information, the output of the program will be nonsensical (garbage). Not only is the garbage useless to hackers, but subsequent processes depending on a sensible output will be unable to operate properly and, as a result,bluesalt security program 114 can deduce that the hashed key was incorrect. For example, if decryption is unsuccessful, system access to the confidential data may fail, control of any hardware may fail (such as robotics), triggering of system or application workflows may fail, communication among servers and networks may fail, and initialization of applications, systems, and sensors dependent on the confidential information may fail. From any of the aforementioned dependent systems failing,bluesalt security program 114 is capable of deducing that the hashed key was unsuccessful in decrypting the confidential information. Conversely, if the hashed key is successful in decrypting the confidential information, systems dependent on the successful decryption of the confidential information will operate properly andbluesalt security program 114 deduces that the decryption was successful. - If the hashed key decrypts the confidential information (
decision 410 “YES” branch), then bluesaltsecurity program 114 decrypts the confidential information using a predefined encryption function (step 412). In the example embodiment, the confidential information is encrypted symmetrically, meaning the same key used to encrypt the confidential information also decrypts the confidential information. Furthermore, successful decryption of the confidential information with the generated key indicates that the primary key has been replicated using the identical primary password and primary salt. - If the hashed key does not decrypt the confidential information (
decision 410 “NO” branch), then bluesaltsecurity program 114 determines whether the hashed key decrypts the encrypted key (decision 414).Bluesalt security program 114 determines whether the hashed key decrypts the encrypted key by first decrypting the encrypted key and then, in much the same mannerbluesalt security program 114 determines whether the hashed key decrypts the confidential information, attempting to decrypt the confidential information. - If the hashed key decrypts the encrypted key (
decision 414 “YES” branch), then bluesaltsecurity program 114 decrypts the encrypted key back into the primary key (step 416).Bluesalt security program 114 then uses the primary key to decrypt the confidential information (step 412). - If the hashed key does not decrypt the encrypted key (
decision 414 “NO” branch), then bluesaltsecurity program 114 takes action (step 418). In the example embodiment,bluesalt security program 114 takes action by alerting security of the failed access request. In other embodiments, however, bluesaltsecurity program 114 may secure the area or take no action. -
FIG. 5 depicts a block diagram of components ofserver 110 of abluesalt security system 100 ofFIG. 1 , in accordance with an embodiment of the present invention. It should be appreciated thatFIG. 5 provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made. -
Server 110 may include one ormore processors 502, one or more computer-readable RAMs 504, one or more computer-readable ROMs 506, one or more computerreadable storage media 508,device drivers 512, read/write drive orinterface 514, network adapter orinterface 516, all interconnected over acommunications fabric 518.Communications fabric 518 may be implemented with any architecture designed for passing data and/or control information between processors (such as microprocessors, communications and network processors, etc.), system memory, peripheral devices, and any other hardware components within a system. - One or
more operating systems 510, and one or more application programs 511, for example,bluesalt security program 114, are stored on one or more of the computerreadable storage media 508 for execution by one or more of theprocessors 502 via one or more of the respective RAMs 504 (which typically include cache memory). In the illustrated embodiment, each of the computerreadable storage media 508 may be a magnetic disk storage device of an internal hard drive, CD-ROM, DVD, memory stick, magnetic tape, magnetic disk, optical disk, a semiconductor storage device such as RAM, ROM, EPROM, flash memory or any other computer-readable tangible storage device that can store a computer program and digital information. -
Server 110 may also include a R/W drive orinterface 514 to read from and write to one or more portable computerreadable storage media 526. Application programs 511 onserver 110 may be stored on one or more of the portable computerreadable storage media 526, read via the respective R/W drive orinterface 514 and loaded into the respective computerreadable storage media 508. -
Server 110 may also include a network adapter orinterface 516, such as a TCP/IP adapter card or wireless communication adapter (such as a 4G wireless communication adapter using OFDMA technology). Application programs 511 onserver 110 may be downloaded to the computing device from an external computer or external storage device via a network (for example, the Internet, a local area network or other wide area network or wireless network) and network adapter orinterface 516. From the network adapter orinterface 516, the programs may be loaded onto computerreadable storage media 508. The network may comprise copper wires, optical fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. -
Server 110 may also include adisplay screen 520, a keyboard orkeypad 522, and a computer mouse ortouchpad 524.Device drivers 512 interface to displayscreen 520 for imaging, to keyboard orkeypad 522, to computer mouse ortouchpad 524, and/or to displayscreen 520 for pressure sensing of alphanumeric character entry and user selections. Thedevice drivers 512, R/W drive orinterface 514 and network adapter orinterface 516 may comprise hardware and software (stored on computerreadable storage media 508 and/or ROM 506). - The programs described herein are identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature herein is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature.
- Based on the foregoing, a computer system, method, and computer program product have been disclosed. However, numerous modifications and substitutions can be made without deviating from the scope of the present invention. Therefore, the present invention has been disclosed by way of example and not limitation.
- Various embodiments of the present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
- The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
- Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
- Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
- Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
- These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
- The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
Claims (1)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/078,142 US9590957B1 (en) | 2015-09-02 | 2016-03-23 | Bluesalt security |
US15/397,217 US9698982B2 (en) | 2015-09-02 | 2017-01-03 | Bluesalt security |
US15/397,207 US9692596B2 (en) | 2015-09-02 | 2017-01-03 | Bluesalt security |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/843,390 US9736122B2 (en) | 2015-09-02 | 2015-09-02 | Bluesalt security |
US15/078,142 US9590957B1 (en) | 2015-09-02 | 2016-03-23 | Bluesalt security |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/843,390 Continuation US9736122B2 (en) | 2015-09-02 | 2015-09-02 | Bluesalt security |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/397,217 Continuation US9698982B2 (en) | 2015-09-02 | 2017-01-03 | Bluesalt security |
US15/397,207 Continuation US9692596B2 (en) | 2015-09-02 | 2017-01-03 | Bluesalt security |
Publications (2)
Publication Number | Publication Date |
---|---|
US20170063812A1 true US20170063812A1 (en) | 2017-03-02 |
US9590957B1 US9590957B1 (en) | 2017-03-07 |
Family
ID=58095810
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/843,390 Expired - Fee Related US9736122B2 (en) | 2015-09-02 | 2015-09-02 | Bluesalt security |
US15/078,142 Expired - Fee Related US9590957B1 (en) | 2015-09-02 | 2016-03-23 | Bluesalt security |
US15/397,217 Expired - Fee Related US9698982B2 (en) | 2015-09-02 | 2017-01-03 | Bluesalt security |
US15/397,207 Expired - Fee Related US9692596B2 (en) | 2015-09-02 | 2017-01-03 | Bluesalt security |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/843,390 Expired - Fee Related US9736122B2 (en) | 2015-09-02 | 2015-09-02 | Bluesalt security |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/397,217 Expired - Fee Related US9698982B2 (en) | 2015-09-02 | 2017-01-03 | Bluesalt security |
US15/397,207 Expired - Fee Related US9692596B2 (en) | 2015-09-02 | 2017-01-03 | Bluesalt security |
Country Status (1)
Country | Link |
---|---|
US (4) | US9736122B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124265A (en) * | 2017-04-28 | 2017-09-01 | 淮安纷云软件有限公司 | A kind of identity identifying method based on Hash hash tables |
US20220158827A1 (en) * | 2020-11-17 | 2022-05-19 | Abb Schweiz Ag | Protecting the integrity of measurement data acquired by a sensor device |
US20240129127A1 (en) * | 2022-10-18 | 2024-04-18 | Dell Products, L.P. | Systems and methods for dual hash rolling patch secure authentication |
US12132822B2 (en) * | 2020-11-17 | 2024-10-29 | Abb Schweiz Ag | Protecting the integrity of measurement data acquired by a sensor device |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201810100A (en) * | 2016-09-09 | 2018-03-16 | 賴德倫 | Input verification method capable of enhancing the verification correctness by determining whether the decryption data input by the user is correct on the basis of whether the decryption time interval input by the user is within the preset tolerance intervals |
CN107242854B (en) * | 2017-05-27 | 2020-03-06 | 西安邮电大学 | Intelligent medical system based on safety communication |
CN108462574A (en) * | 2018-02-12 | 2018-08-28 | 广东睿江云计算股份有限公司 | A kind of lightweight cipher encrypting method and system |
CN109460648B (en) * | 2018-11-13 | 2021-06-22 | 广东财经大学 | Computer data defense method |
US11424929B2 (en) | 2021-01-07 | 2022-08-23 | Bank Of America Corporation | Authentication using encrypted biometric information |
CN113517981B (en) * | 2021-04-28 | 2023-05-23 | 河南中烟工业有限责任公司 | Key management method, code version management method and device |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5210795A (en) * | 1992-01-10 | 1993-05-11 | Digital Equipment Corporation | Secure user authentication from personal computer |
US5787169A (en) | 1995-12-28 | 1998-07-28 | International Business Machines Corp. | Method and apparatus for controlling access to encrypted data files in a computer system |
US7113994B1 (en) | 2000-01-24 | 2006-09-26 | Microsoft Corporation | System and method of proxy authentication in a secured network |
US7197765B2 (en) | 2000-12-29 | 2007-03-27 | Intel Corporation | Method for securely using a single password for multiple purposes |
WO2002065693A2 (en) | 2001-02-14 | 2002-08-22 | Scientific Generics Limited | Cryptographic key generation apparatus and method |
AU2003219695A1 (en) | 2002-01-30 | 2003-09-02 | Tecsec, Inc. | Access system utilizing multiple factor identification and authentication |
US7400722B2 (en) | 2002-03-28 | 2008-07-15 | Broadcom Corporation | Methods and apparatus for performing hash operations in a cryptography accelerator |
JP4489024B2 (en) * | 2004-01-26 | 2010-06-23 | 東芝ソリューション株式会社 | Security device, vehicle authentication device, method, and program |
US9286457B2 (en) | 2004-06-14 | 2016-03-15 | Rodney Beatson | Method and system for providing password-free, hardware-rooted, ASIC-based authentication of a human to a mobile device using biometrics with a protected, local template to release trusted credentials to relying parties |
JP4936652B2 (en) * | 2004-08-26 | 2012-05-23 | ソニー株式会社 | Information processing apparatus, information recording medium, information processing method, and computer program |
JP4576936B2 (en) * | 2004-09-02 | 2010-11-10 | ソニー株式会社 | Information processing apparatus, information recording medium, content management system, data processing method, and computer program |
US8316416B2 (en) | 2005-04-04 | 2012-11-20 | Research In Motion Limited | Securely using a display to exchange information |
US20070245152A1 (en) | 2006-04-13 | 2007-10-18 | Erix Pizano | Biometric authentication system for enhancing network security |
US8838975B2 (en) | 2006-10-31 | 2014-09-16 | Blackberry Limited | System and method for protecting a password against brute force attacks |
US8769637B2 (en) | 2007-03-23 | 2014-07-01 | Sap Ag | Iterated password hash systems and methods for preserving password entropy |
US8391488B2 (en) | 2008-01-18 | 2013-03-05 | Geocodex Llc | Method and apparatus for using navigation signal information for geoencryption to enhance security |
US8788842B2 (en) | 2010-04-07 | 2014-07-22 | Apple Inc. | System and method for content protection based on a combination of a user PIN and a device specific identifier |
EP2710755B1 (en) | 2011-05-20 | 2018-08-01 | Citrix Systems Inc. | Securing encrypted virtual hard disks |
CN102955908B (en) | 2011-08-31 | 2015-08-12 | 国际商业机器公司 | Create the method and apparatus that rhythm password and carrying out according to rhythm password is verified |
US9208302B2 (en) | 2012-09-28 | 2015-12-08 | Intel Corporation | Multi-factor authentication using biometric data |
US8880885B2 (en) | 2012-10-09 | 2014-11-04 | Sap Se | Mutual authentication schemes |
US9165130B2 (en) | 2012-11-21 | 2015-10-20 | Ca, Inc. | Mapping biometrics to a unique key |
US20140281568A1 (en) * | 2013-03-15 | 2014-09-18 | Google Inc. | Using Biometrics to Generate Encryption Keys |
US9077710B1 (en) | 2013-12-18 | 2015-07-07 | Sabaki Corporation | Distributed storage of password data |
DE102016002792B4 (en) | 2015-03-09 | 2022-04-28 | Hid Global Corporation | Biometric secret binding scheme with enhanced privacy protection |
US9641341B2 (en) | 2015-03-31 | 2017-05-02 | Duo Security, Inc. | Method for distributed trust authentication |
-
2015
- 2015-09-02 US US14/843,390 patent/US9736122B2/en not_active Expired - Fee Related
-
2016
- 2016-03-23 US US15/078,142 patent/US9590957B1/en not_active Expired - Fee Related
-
2017
- 2017-01-03 US US15/397,217 patent/US9698982B2/en not_active Expired - Fee Related
- 2017-01-03 US US15/397,207 patent/US9692596B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124265A (en) * | 2017-04-28 | 2017-09-01 | 淮安纷云软件有限公司 | A kind of identity identifying method based on Hash hash tables |
US20220158827A1 (en) * | 2020-11-17 | 2022-05-19 | Abb Schweiz Ag | Protecting the integrity of measurement data acquired by a sensor device |
US12132822B2 (en) * | 2020-11-17 | 2024-10-29 | Abb Schweiz Ag | Protecting the integrity of measurement data acquired by a sensor device |
US20240129127A1 (en) * | 2022-10-18 | 2024-04-18 | Dell Products, L.P. | Systems and methods for dual hash rolling patch secure authentication |
Also Published As
Publication number | Publication date |
---|---|
US9698982B2 (en) | 2017-07-04 |
US9692596B2 (en) | 2017-06-27 |
US20170111169A1 (en) | 2017-04-20 |
US9736122B2 (en) | 2017-08-15 |
US9590957B1 (en) | 2017-03-07 |
US20170061147A1 (en) | 2017-03-02 |
US20170111168A1 (en) | 2017-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9692596B2 (en) | Bluesalt security | |
US10469253B2 (en) | Methods and apparatus for migrating keys | |
US10484177B2 (en) | Method and apparatus for generation of a time-based one-time password for session encryption of sensor data gathered in low-performance and IOT environments | |
US10432397B2 (en) | Master password reset in a zero-knowledge architecture | |
US8489889B1 (en) | Method and apparatus for restricting access to encrypted data | |
JP2015226323A (en) | Biometric authentication for protecting privacy based on error correction code | |
US9800579B2 (en) | Network-based client side encryption | |
CN112469036B (en) | Message encryption and decryption method and device, mobile terminal and storage medium | |
US8667281B1 (en) | Systems and methods for transferring authentication credentials | |
WO2020155812A1 (en) | Data storage method and device, and apparatus | |
CN110995410A (en) | Method, device, equipment and medium for generating public key and private key | |
Al Maqbali et al. | AutoPass: An automatic password generator | |
Gilsenan et al. | Security and Privacy Failures in Popular {2FA} Apps | |
US20210194694A1 (en) | Data processing system | |
JP4684714B2 (en) | File management system and program | |
WO2023197853A1 (en) | Apparatuses, methods, and computer-readable media for generating and utilizing a physical unclonable function key | |
CN115361198A (en) | Decryption method, encryption method, device, computer equipment and storage medium | |
CN116647413B (en) | Application login method, device, computer equipment and storage medium | |
WO2019032580A1 (en) | Apparatus and method for encapsulation of profile certificate private keys or other data | |
US20240045996A1 (en) | Systems and Methods for Biometrics-based Secure Data Encryption and Data Signature | |
CN117938546B (en) | Verification and data access method of electronic account | |
US12069163B2 (en) | Data protection with two password asymmetric encryption | |
Seyler et al. | SEMAFORE: Secure Mobile Field Diagnostics for Cyber-Physical Systems | |
Maqbali | Strengthening Password-Based Authentication | |
Kościelny et al. | PGP systems and TrueCrypt |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DASH, SAMIR K.;REEL/FRAME:038560/0984 Effective date: 20150831 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20210307 |