Altering card device attributes in response to detecting a proximity intrusion

A card device receives a first sensor data from sensors associated with the card device and extracts a set of user features from the first sensor data, where the user features indicate physical attributes of the user. The card device receives a second sensor data from the sensors. The card device extracts a set of viewer features from the second sensor data, where the viewer features indicate physical attributes of the viewer. The card device compares at least one of the user features with a counterpart feature from among the viewer features. The card device determines that the user is not the viewer. The card device determines a distance between the viewer and the card device. The card device determines that the distance between the viewer and the card device is less than a threshold distance. In response, the card device dynamically masks the information displayed on the card device.

TECHNICAL FIELD

The present disclosure relates generally to information security, and more specifically to altering card device attributes in response to detecting a proximity intrusion.

BACKGROUND

Cards display confidential information of the users. In some cases, the cards may be misplaced or stolen. In some cases, other people may be close to a card and be able to glance at the confidential information displayed on the card. While performing daily activities, the users are prone to scenarios where unauthorized viewers can view the confidential information displayed on the cards. It is challenging to protect confidential information displayed on the cards from unauthorized viewers. The existing systems lack capabilities to mask confidential information from unauthorized viewers in such scenarios.

SUMMARY

The system described in the present disclosure is particularly integrated into practical applications of improving the information security technology by masking information displayed on the card device and/or disabling data communications for the card device in response to detecting an anomaly with respect to the card device. Examples of the anomaly may include a case where the card device is in an area that deviated from a baseline environment data profile associated with the user associated with the card device, a case where one or more unauthorized people or viewers are within a threshold proximity or distance from the card device, and the like. Certain technical advantages are provided by the embodiments of the present disclosure.

In some cases, the card device may be misplaced or stolen. In some cases, some people may be close to the card device while the user is carrying the card device, and the people may be able to view the user information on the card device. The user information may include sensitive or private information associated with the user.

Therefore, the disclosed system provides a solution to these and other technical problems by implementing an unconventional system and method configured to detect situations where the card device is misplaced or stolen, and cases where unauthorized people are within a threshold distance from the card device and can view the information displayed on the card device. To protect the user information from unauthorized access, the card device is configured to detect such cases and, in response, mask the user information and/or disable the data communications for the card device. For example, masking the user information may include replacing the text indicating the user information with other characters, e.g., “x”. In response to disabling the data communications for the card device the information stored in the memory of the card device cannot be accessed or communicated to another device. Therefore, the user information and other information stored in the memory of the card device are protected from unauthorized access and the card device cannot be used to perform actions, e.g., communicate data to and/or from another device. In this manner, the system is integrated into a practical application of detecting anomalies with respect to the card device and, in response, protecting the information stored by the card device, and disabling the data communications for the card device.

In this way, the disclosed system improves the data security technology and the security of the card device and information stored in a memory of the card device. Therefore, the disclosed system minimizes (or prevents) unauthorized access to non-public information associated with the users. This leads to securing non-public information from unauthorized access by bad actors.

Altering Card Device Attributes in Response to Detecting an Anomalous Location of the Card Device

In certain embodiments, a system for dynamically changing attributes of the card device comprises at least one sensor, a display field, and a processor. The at least one sensor is configured to capture sensor data, wherein the sensor data provides information about an environment around a card device. The display field is configured to display information associated with a first user. The processor is operably coupled to the at least one sensor and the display field. The processor is configured to receive a first sensor data from the at least one sensor. The processor is further configured to generate a baseline environment data profile for the first user based at least in part upon the first sensor data, wherein the baseline environment data profile indicates a geographical location where the first user typically carries the card device. The processor is further configured to receive a second sensor data from the at least one sensor. In response to receiving the second sensor data, the processor is further configured to extract baseline features from the first sensor data, wherein the baseline features provide information about the baseline environment data profile. The processor is further configured to extract test features from the second sensor data. The processor is further configured to compare at least one of the extracted baseline features with a counterpart feature from among the extracted test features. The processor is further configured to determine that the card device is in an area that deviates from the geographical location where the card device is typically carried in response to determining that the at least one of the extracted baseline features does not correspond to the counterpart feature from among the extracted test features. The processor is further configured to dynamically mask the information displayed on the display field in response to determining that the card device is in the area that deviates from the geographical location.

Altering Card Device Attributes in Response to Detecting Proximity Intrusion

In certain embodiments, a system for dynamically changing attributes of the card device comprises at least one sensor, a display field, and a processor. The at least one sensor is configured to capture sensor data, wherein the sensor data provides information about an environment around a card device. The display field is configured to display information associated with a first user. The processor is operably coupled to the at least one sensor and the display field. The processor is configured to receive a first sensor data from the at least one sensor, wherein the first sensor data indicates presence of the first user around the card device. The processor is further configured to extract a set of user features from the first sensor data, wherein the set of user features indicate physical attributes of the first user. The processor is further configured to receive a second sensor data from the at least one sensor, wherein the second sensor data indicates presence of a viewer around the card device. The processor is further configured to extract a set of viewer features from the second sensor data, wherein the set of viewer features indicate physical attributes of the viewer. The processor is further configured to compare at least one of the user features with a counterpart feature from among the set of viewer features. The processor is further configured to determine that the more than a threshold percentage of the set of user features does not correspond to counterpart features from among the set of viewer features. The processor is further configured to determine that the viewer is not the first user in response to determining that more than the threshold percentage of the set of baseline features does not correspond to the counterpart features from among the set of viewer features. The processor is further configured to determine a distance between the viewer and the card device. The processor is further configured to compare the determined distance with a threshold distance. The processor is further configured to determine that the determined distance is less than the threshold distance. The processor is further configured to dynamically mask the information displayed on the display field in response to determining that the determined distance is less than the threshold distance and that the viewer is not the first user.

DETAILED DESCRIPTION

As described above, previous technologies fail to provide efficient and reliable solutions to detect anomalies with respect to a card device. Embodiments of the present disclosure and its advantages may be understood by referring toFIGS.1through5.FIGS.1through5are used to describe systems and methods to alter card device attributes in response to an anomaly according to certain embodiments.

System Overview

FIG.1illustrates an embodiment of a system100that is generally configured to alter attributes of a card device120in response to detecting an anomaly with respect to the card device120, where the anomaly may include a case where an unauthorized person is within a threshold distance from the card device120and can identity the information displayed on the card device120and a case where the card device120is in an area/location that deviates from the known locations where the card device120is typically carried. In certain embodiments, the system100comprises the card device120communicatively couples to a backend server150and a blockchain network180via a network110. Network110enables the communications of the components of the system100. The card device120includes a processor122in signal communication with a memory130. The memory130stores software instructions132that when executed by the processor122cause the processor122to perform one or more operations described herein. The backend server150includes a processor152in signal communication with a memory156. Memory156stores software instructions158that when executed by the processor152cause the processor152to perform one or more operations described herein. In other embodiments, system100may not have all of the components listed and/or may have other elements instead of, or in addition to, those listed above.

In general, the system100improves information security technology by masking information138displayed on the card device120and/or disabling data communications for the card device120in response to detecting an anomaly with respect to the card device120. Examples of the anomaly may include a case where the card device120is in an area that deviated from a baseline environment data profile144associated with the user102associated with the card device120, a case where one or more unauthorized people or viewers are within a threshold proximity or distance140from the card device120, and the like. The operation by which the card device120may alter the attributes of the card device120in response to detecting an anomalous location of the card device120is described inFIGS.2-3. The operation by which the card device120may alter the attributes of the card device120in response to detecting a proximity intrusion of a viewer is described inFIGS.4-5.

In some cases, the card device120may be misplaced or stolen. In some cases, some people may be close to the card device120while the user102is carrying the card device120, and the people may be able to view the user information138on the card device120. The user information138may include sensitive or private information associated with the user102. To protect the user information138from unauthorized access, the card device120is configured to detect such cases and, in response, mask the user information138and/or disable the data communications for the card device120. For example, masking the user information138may include replacing the text indicating the user information138with other characters, e.g., “x”. In response to disabling the data communications for the card device120, the information stored in the memory130of the card device120cannot be accessed or communicated to another device. Therefore, the user information138and other information stored in the memory130of the card device120are protected from unauthorized access and the card device120cannot be used to perform actions, e.g., communicate data to and/or from another device. In this manner, the system100is integrated into a practical application of detecting anomalies with respect to the card device120and, in response, protecting the information stored by the card device120, and disabling the data communications for the card device120. Therefore, system100provides a solution to technical problems of card devices120being misplaced or stolen, and unauthorized people being within a threshold distance140from the card device120.

System Components

Network

Network110may be any suitable type of wireless and/or wired network. The network110may be connected to the Internet or public network. The network110may include all or a portion of an Intranet, a peer-to-peer network, a switched telephone network, a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a personal area network (PAN), a wireless PAN (WPAN), an overlay network, a software-defined network (SDN), a virtual private network (VPN), a mobile telephone network (e.g., cellular networks, such as 4G or 5G), a plain old telephone (POT) network, a wireless data network (e.g., WiFi, WiGig. WiMAX, etc.), a long-term evolution (LTE) network, a universal mobile telecommunications system (UMTS) network, a peer-to-peer (P2P) network, a Bluetooth network, a near-field communication (NFC) network, and/or any other suitable network. The network110may be configured to support any suitable type of communication protocol as would be appreciated by one of ordinary skill in the art.

Card Device

A card device120is a portable card device that is generally configured to process data and interact with users. Examples of the card device120include a personal card, etc. In the illustrated embodiment, the card device120includes a processor122in signal communication with a network interface124, sensors126, a display field128, and a memory130. In certain embodiments, the card device120may be configured as shown or other configurations.

Processor122comprises one or more processors. The processor122is any electronic circuitry, including, but not limited to, state machines, one or more central processing unit (CPU) chips, logic units, cores (e.g., a multi-core processor), field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), or digital signal processors (DSPs). For example, one or more processors may be implemented in cloud devices, servers, virtual machines, and the like. The processor122may be a programmable logic device, a microcontroller, a microprocessor, or any suitable number and combination of the preceding. The one or more processors are configured to process data and may be implemented in hardware or software. For example, the processor122may be 8-bit, 16-bit, 32-bit, 64-bit, or of any other suitable architecture. The processor122may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations. The processor122may register the supply operands to the ALU and store the results of ALU operations. The processor122may further include a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers, and other components. The one or more processors are configured to implement various software instructions. For example, the one or more processors are configured to execute instructions (e.g., software instructions132) to perform the operations of the card device120described herein. In this way, processor122may be a special-purpose computer designed to implement the functions disclosed herein. In an embodiment, the processor122is implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware. The processor122is configured to operate as described inFIGS.1-5. For example, the processor122may be configured to perform one or more operations of the operational flow200as described inFIG.2, one or more operations of method300as described inFIG.3, perform one or more operations of the operational flow400as described inFIG.4, and one or more operations of method500as described inFIG.4.

Network interface124is configured to enable wired and/or wireless communications. The network interface124may be configured to communicate data between the card device120and other devices, systems, or domains. For example, the network interface124may comprise an NFC interface, a Bluetooth interface, a Zigbee interface, a Z-wave interface, a radio-frequency identification (RFID) interface, a WIFI interface, a local area network (LAN) interface, a wide area network (WAN) interface, a metropolitan area network (MAN) interface, a personal area network (PAN) interface, a wireless PAN (WPAN) interface, a modem, a switch, and/or a router. The processor122may be configured to send and receive data using the network interface124. The network interface124may be configured to use any suitable type of communication protocol.

Sensors126may include any type of sensor, including one or more cameras, sound sensors, light sensors, humidity sensors, biometric sensors, pressure sensors, motion sensors, a global positioning system (GPS) sensor, and one or more microelectromechanical system (MEMS) sensors, among others. Each sensor126may be configured to detect respective sensor data134. For example, the cameras may be configured to capture images and/or videos, the sound sensors may be configured to capture audio signals, the light sensors may be configured to detect light brightness levels, the humidity sensors may be configured to detect humidity levels, the biometric sensors may be configured to detect biometric features (e.g., fingerprint, etc.), the pressure sensors may be configured to detect air pressure, e.g., with respect to the sea level, the motion sensors may be configured to detect movements of the objects, the GPS sensor may be configured to detect the location coordinate of the card device120, and the MEMS sensors may be configured to detect any attribute with respect to their surroundings.

The sensor data134may include an image feed, a video feed, an audio feed, a light data feed (that indicates the light brightness levels), a humidity data feed (that indicates the humidity levels), a biometric data feed (that indicates the biometric features), a pressure data feed (that indicates the pressure levels), a motion data feed (that indicates movements of objects), a location data feed, and any other type of data feed. The sensor data134may provide information about the environment surrounding the card device120(e.g., within a detection range or field of view of the sensors126). For example, the sensor data134may provide information about objects around the card device120, such as shapes, colors, locations, etc.

Display field128may be a display portion of the card device120and is generally configured to display user information138. The display field128may include a liquid crystal display (LCD), a light emitting diode (LED) display, and the like. For example, the display field128may display a name, a number, an address, etc. associated with the user102.

Memory130may be volatile or non-volatile and may comprise read-only memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM), dynamic random-access memory (DRAM), and static random-access memory (SRAM). The memory130may include one or more of a local database, a cloud database, a network-attached storage (NAS), etc. The memory130comprises one or more disks, tape drives, or solid-state drives, and may be used as an over-flow data storage device, to store programs when such programs are selected for execution, and to store instructions and data that are read during program execution. The memory130may store any of the information described inFIGS.1-5along with any other data, instructions, logic, rules, or code operable to implement the function(s) described herein when executed by processor122. For example, the memory130may store software instructions132, user profile136, user information138, test features212, baseline features210, user features404, viewer features408, sensor data134a-d, baseline environment data profile144, interaction session data146, machine learning algorithm142, threshold distance140, pose estimation data220,224, messages214,216, and/or any other data or instructions. The software instructions132may comprise any suitable set of instructions, logic, rules, or code operable to execute the processor122and perform the functions described herein, such as some or all of those described inFIGS.1-5.

Machine learning algorithm142may be implemented by the processor122executing software instructions132, and is generally configured to generate the baseline environment data profile144and other environment data based on the sensor data134, determine an identity of the user102based on biometric data associated with the user102, such as image feed, audio feed, pose estimation, etc., determine whether the card device120is misplaced or stolen, among one or more other operations described herein.

In certain embodiments, the machine learning algorithm142may include a support vector machine, neural network, random forest, k-means clustering, Tree-based algorithm, Random Forest algorithm, etc. In certain embodiments, the machine learning algorithm142may include image processing, object detection, object recognition, video processing algorithms, biometric feature processing, and the like.

The machine learning algorithm142may be implemented by supervised, semi-supervised, or unsupervised training algorithms. In a training stage, the machine learning algorithm142may be given a training dataset comprising a set of sample data (e.g., an image, an audio, a video, a biometric sample, etc.) each labeled with a respective label data. For example, the machine learning algorithm142may be given a set of images of the user102and a label data indicating the identity of the user102. The machine learning algorithm142may extract a set of features from the sample data and associated the features with the label data. In this process, the machine learning algorithm142may learn the correlation between each sample data and the respective label data. In the testing stage, the machine learning algorithm142may be given a test data (e.g., an image, an audio, a video, a biometric sample, etc.) that is not labeled with a label data, and is asked to predict the label data associated with the test data. The machine learning algorithm142may extract a set of features from the test data and compare the extracted features with the training dataset. The machine learning algorithm142may determine to which sample data the test data corresponds to based on the comparison. In response to finding a matching or corresponding features from the training dataset, the machine learning algorithm142may determine that the test data is associated with a particular label data associated with the sample data with the matching or corresponding features. In a refining and backpropagation, the machine learning algorithm142may update the weight and bias values of the neural networks to increase the accuracy of the prediction of the machine learning algorithm142.

The baseline environment data profile144comprises data about one or more geographical locations where the user102carries the card device120. For example, the baseline environment data profile144may include sensor data134associated with the one or more geographical locations where the user102carries the card device120. For example, the baseline environment data profile144may include an image feed, an audio feed, a humidity data, pressure data (e.g., air pressure with respect to the seal level), light data, GPS location coordinate data, and motion data captured by the camera, a sound sensor, a humidity sensor, a pressure sensor, a light sensor, a GPS sensor, a motion sensor associated with the one or more geographical location, respectively.

The data about the user102may be determined by the machine learning algorithm142from the sensor data134, including an image of the user102, an audio signal associated with the user102, etc. The user profile136may include the user information138associated with the user102. The user information138may include information associated with the user102and displayed on the display field128. For example, the user information138may include a name, an address, a number, a security code a calendar date, an expiration date, etc. associated with the user102. The user features404may comprise data about the user102, such as facial features, audio features, biometric features, pose estimation, etc. The viewer features408may comprise data about the viewer (402inFIG.4), such as facial features, audio features, biometric features, pose estimation, etc. The viewer features408and the user features404may be determined by the machine learning algorithm142. These operations are described in greater detail inFIGS.2-5.

Backend Server

Backend server150generally includes a hardware computer system configured to store the user profiles136and corresponding baseline environment data profile144. In certain embodiments, the backend server150may be implemented by a cluster of computing devices, such as virtual machines. For example, the backend server150may be implemented by a plurality of computing devices using distributed computing and/or cloud computing systems in a network. In certain embodiments, the backend server150may be configured to provide services and resources to other components and devices.

The backend server150comprises a processor152operably coupled with a network interface154and a memory156. Processor152comprises one or more processors. The processor152is any electronic circuitry, including, but not limited to, state machines, one or more CPU chips, logic units, cores (e.g., a multi-core processor), FPGAs, ASICs, or DSPs. For example, one or more processors may be implemented in cloud devices, servers, virtual machines, and the like. The processor152may be a programmable logic device, a microcontroller, a microprocessor, or any suitable number and combination of the preceding. The one or more processors are configured to process data and may be implemented in hardware or software. For example, the processor152may be 8-bit, 16-bit, 32-bit, 64-bit, or of any other suitable architecture. The processor152may include an ALU for performing arithmetic and logic operations. The processor152may register the supply operands to the ALU and store the results of ALU operations. The processor152may further include a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers, and other components. The one or more processors are configured to implement various software instructions. For example, the one or more processors are configured to execute instructions (e.g., software instructions158) to perform the operations of the backend server150described herein. In this way, processor152may be a special-purpose computer designed to implement the functions disclosed herein. In an embodiment, the processor152is implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware. The processor152is configured to operate as described inFIGS.1-5. For example, the processor152may be configured to perform one or more operations of the operational flow200as described inFIG.2, one or more operations of method300as described inFIG.3, perform one or more operations of the operational flow400as described inFIG.4, and one or more operations of method500as described inFIG.4.

Network interface154is configured to enable wired and/or wireless communications. The network interface154may be configured to communicate data between the backend server150and other devices, systems, or domains. For example, the network interface154may comprise an NFC interface, a Bluetooth interface, a Zigbee interface, a Z-wave interface, an RFID interface, a WIFI interface, a LAN interface, a WAN interface, a MAN interface, a PAN interface, a WPAN interface, a modem, a switch, and/or a router. The processor152may be configured to send and receive data using the network interface154. The network interface154may be configured to use any suitable type of communication protocol.

The memory156may be volatile or non-volatile and may comprise ROM, RAM, TCAM, DRAM, and SRAM. The memory156may include one or more of a local database, a cloud database, a NAS, etc. The memory156comprises one or more disks, tape drives, or solid-state drives, and may be used as an over-flow data storage device, to store programs when such programs are selected for execution, and to store instructions and data that are read during program execution. The memory156may store any of the information described inFIGS.1-5along with any other data, instructions, logic, rules, or code operable to implement the function(s) described herein when executed by processor152. For example, the memory156may store software instructions158, user profiles136, baseline environment data profiles144, and/or any other data or instructions. The software instructions158may comprise any suitable set of instructions, logic, rules, or code operable to execute the processor152and perform the functions described herein, such as some or all of those described inFIGS.1-5.

Blockchain network180is a peer-to-peer network of network nodes, and is generally configured to distribute interaction session data146(and any other data/information) among the network nodes182a-n. In certain embodiments, the blockchain network180is a distributed database in a network of network nodes182a-n. In certain embodiments, blockchain network180may be a public blockchain network. In certain embodiments, blockchain network180may be a private blockchain network. For example, membership in blockchain network180may be limited to nodes registered as belonging to and/or affiliated with the organization to which the backend server150and/or the card device120belongs. In certain embodiments, the backend server150may be a member of blockchain network180(e.g., as nodes among nodes182a-nin blockchain network180).

The blockchain network180may comprise any number of network nodes182a-nto form a distributed network that maintains a blockchain186. Each network node182may comprise a computing device, a virtual machine, a server, a workstation, and/or the like. Each network node182athrough192nof blockchain network180stores a blockchain database184that is configured to store a copy of a blockchain186. Each network node182athrough192nmay be an instance of a network node182. The network node182may include a hardware processor, memory, and/or circuitry (not explicitly shown) configured to perform any of the functions or actions of the network node182described herein. For example, a software application designed using software code may be stored in the memory and executed by the processor to perform the functions of the network node182. The network node182is configured to communicate with other devices and components of the system100via the network110.

In certain embodiments, the backend server150may access the blockchain network180via the network110to distribute information in the blockchain network180, including the interaction session data146. The blockchain network180may be configured to distribute interaction session data146among the nodes. The backend server150may use an application programming interface (API) service via the network110to access the blockchain network180.

The blockchain network180is configured to establish consensus among the network nodes182a-nabout the present state of the blockchain database184. For example, each network node182a-ncomprises a processor in signal communication with a memory storing software instructions that when executed by the processor, cause the network nodes182a-nto implement a consensus protocol procedure through which all the network nodes182a-nof the blockchain network180reach a common agreement about the present state of the blockchain database184. In this way, each network node182a-nachieves reliability in the blockchain network180and establishes trust between the network nodes182a-nin a distributed computing environment.

Essentially, the consensus protocol makes sure that every new block that is added to the blockchain186is the one and only version of the truth that is agreed upon by all the block in the blockchain186. Blockchain186links together blocks of data, which store identifiable units called blockchain data entries. The blockchain data entry may be interchangeably referred to herein as a blockchain data entry. The blockchain data entries stored in the blockchain186, may include information, files, and/or any other suitable type of data. For example, blockchain data entries may include interaction session data146received from the backend server150. Each interaction session data146may be associated with a different interaction session. The interaction session data146may include information about a sending entity (e.g., the card device120or another device), information about a receiving entity (e.g., the card device120or another device), authentication token, data transferred (e.g., software and/or hardware services), a timestamp of each data transfer, and/or any other information, for example. With every new data transfer (e.g., every new interaction session), a new block of data may be generated and added to the blockchain186.

Operational Flow for Altering Attributes of the Card Device in Response to Detecting an Anomalous Location of the Card Device

FIG.3illustrates an example operational flow200of the system100ofFIG.1for altering attributes of the card device120in response to detecting anomalous location of the card device120according to one or more embodiments. In operation, the operational flow200may begin when the card device120generates the baseline environment data profile144.

Generating the Baseline Environment Data Profile

For example, assume that the user102registers at an organization and obtains the card device120. Upon registering and obtaining the card device120, the user102may authenticate themselves to the card device120. For example, the user102may setup credentials with the card device120, e.g., by connecting the card device120to a computer system and setting up the credentials via an interface application associated with the card device120. In another example, the user102may setup the credentials with the card device120via the sensors126, e.g., by providing fingerprints. In another example, the card device120may be paired with the user102by capturing an image of the user102(by a camera sensor126), extracting facial features of the user102(e.g., via the machine learning algorithm142), and associating the facial features of the user102to the card device120. In other examples, any attribute associated with the user102may be used to pair the user102to the card device120, such as an audio sample, pose estimation, retinal feature, etc.

The card device120is to be trained to understand the geographical locations where the user102typically carries the card device120. For example, the geographical locations where the user102typically carries the card device120may include the house, office, vehicle, a pathway where the user102walks in the streets, among others. To this end, in the training phase, the sensors126may detect the presence of objects202around the card device120. The card device120may receive first sensor data134afrom the sensors126, where the first sensor data134amay indicate presence of first set of objects202around the card device120within a detection range of the sensors126. This process may be performed at one or more locations where the user102wants the card device120to be trained to learn the environment, such as inside the house of the user102, inside the vehicle of the user102, inside the office of the user102, etc. For example, the sensors126may detect the presence of the user102, objects inside the house of the user102, objects inside the vehicle of the user102, objects inside the office of the user102, etc.

The first sensor data134ais fed to the machine learning algorithm142. The machine learning algorithm142may process the first sensor data134aand generate the baseline environment data profile144based on the sensor data134a. The baseline environment data profile144may indicate geographical location(s) where the user102typically carries the card device120, such as the house, vehicle, particular pathways where the user102walks, office, etc.

In certain embodiments, the machine learning algorithm142may generate the baseline environment data profile144in response to extracting a set of baseline features210from the sensor data134aand associating that baseline features210to the user102. For example, the baseline features210may provide information about the baseline environment data profile144(e.g., the geographical location(s) where the user102typically carries the card device120). In other words, the baseline features210may provide information about objects202detected by the sensors126when the card device120is in geographical location(s) where the user102typically carries the card device120. The baseline features210may indicate physical attributes of the objects202, such as shapes, colors, and locations. In response, the card device120may be trained to understand that the user102typically carries the card device120in the geographical location(s) indicated in the baseline environment data profile144. The card device120may perform similar operations for each location that the user102carries the card device120, e.g., the house, vehicle, office, pathways where the user102walks, etc. For example, when the user102carries the card device120to their house, the card device120may prompt the user102to authenticate themselves, e.g., by providing a biometric sample, via an image of the user, etc. by providing a user credential, e.g., username password, a security code sent to a mobile device associated with the user102, among others.

In response to the user102being authenticated, the sensors126capture sensor data134aand communicate the sensor data134ato the processor of the card device120. The card device120processes the sensor data134a, detects the objects202inside the house of the user102, associate the house of the user102to the user102, and includes the house of the user102in the baseline environment data profile144for the user102. The card device120may perform similar operations for other locations where the user102carries the card device120and authenticate themselves to the card device120, similar to that described above. In this manner, the card device120is trained to identify and understand the environments or locations where the user102typically carries the card device120and include those in the baseline environment data profile144.

In certain embodiments, if a new environment is detected, the card device120may prompt the user102to authenticate themselves, e.g., by displaying an authentication request on the display field. If the user102is authenticated by the card device120, the card device120may perform similar operations to understand and identify the new environment based on the objects in the new environment and add the new environment to the baseline environment data profile144.

In certain embodiments, the card device120may disregard (and delete) a geographical location from the baseline environment data profile144if it is determined that the user102has not carried the card device120in the geographical location for more than a threshold period, e.g., more than five months, three months, etc. For example, the card device120may keep the most recent geographical locations that the user102carried the card device120within past five months, three months, etc. in the baseline environment data profile144. In this manner, whenever the card device120is carried to one of the known geographical locations indicated in the baseline environment data profile144, the card device120may recognize that it is one of the known locations, and not an anomalous (e.g., unfamiliar) location.

Evaluating a New Environment Against the Baseline Environment Data Profile

The card device120may determine if a new environment (that the card device120is located) corresponds to one of the known geographical locations included in the baseline environment data profile144. For example, assume that the card device120is carried to a new location. The sensors126may capture second sensor data134b, where the second sensor data134bmay indicate presence of a second set of objects204around the card device120. For example, the second set of objects204may include objects in the new location. The sensor data134bmay indicate locations, shapes, and colors of the second set of objects204.

The card device120may receive the second sensor data134bfrom the sensors126. In response, the card device120may access the baseline features210associated with the baseline environment data profile144. In certain embodiments, the card device120may extract the baseline features210from the sensor data134ain response to receiving the sensor data134b. The card device120may also feed the sensor data134bto the machine learning algorithm142for processing, similar to that described above. The card device120(e.g., via the machine learning algorithm142) may extract the test features212from the sensor data134b. The test features212may indicate physical attributes of the objects204, such as shapes, colors, and locations.

The card device120may compare the baseline features210with the test features212to determine whether the new location corresponds to any of the known locations in the baseline environment data profile144. In certain embodiments, the baseline features210may be represented by a baseline feature vector226comprising numerical values, and the test features212may be represented by test feature vector228comprising numerical values.

In certain embodiments, comparing the extracted baseline features210with the counterpart feature from among the extracted test features212may be in response to comparing at least one (or at least more than a threshold percentage) of the numerical values of the baseline feature vector226with a counterpart numerical value of the test feature vector228.

In certain embodiments, determining that the card device120is in the area that deviates from the geographical location where the card device120is typically carried (as indicated in the baseline environment data profile144) may be in response to determining that the at least one (or at least more than a threshold percentage, e.g., more than 50%, 60%, etc.) of the numerical values of the baseline feature vector226does not correspond to the counterpart numerical value in the test feature vector228.

In certain embodiments, the card device120may compare each of the baseline features210with a counterpart test feature from among the test features212. The card device120may determine that the card device120is in an area that deviates from the geographical locations where the user102typically carries the card device120(as indicated in the baseline environment data profile144) if it is determined that at least a threshold percentage of the baseline features210(e.g., 50%, 80%, etc.) does not correspond to the counterpart test feature from among the set of test features212.

In certain embodiments, card device120may determine that the card device120is in an area that deviates from the geographical locations where the user102typically carries the card device120(as indicated in the baseline environment data profile144) if it is determined that at least one of the baseline features210does not correspond to the counterpart test feature from among the set of test features212. For example, if it is determined that a GPS location of the card device120is outside of the boundary of the known locations in the baseline environment data profile144, the card device120may determine that the card device120is in an area that deviates from the baseline environment data profile144.

In certain embodiments, the card device120may determine a Euclidean distance between the baseline feature vector226and the test feature vector228. The card device120may determine whether the Euclidean distance is less than a threshold distance (e.g., less than 0.01, 0.1, etc.). In certain embodiments, card device120may determine that the card device120is in an area that deviates from the geographical locations where the user102typically carries the card device120(as indicated in the baseline environment data profile144) if it is determined that the determined Euclidean distance is more than the threshold distance.

In certain embodiments, determining that the card device120is in an area that deviates from the geographical locations where the user102typically carries the card device120may correspond to determining that the card device120is outside of any of the known locations indicated in the baseline environment data profile144.

In certain embodiments, determining that the card device120is in an area that deviates from the geographical locations where the user102typically carries the card device120may correspond to determining that the card device120is outside of a geofence area representing the known location indicated in the baseline environment data profile144.

In response to determining that the card device120is in the area that deviates from the known geographical locations indicated in the baseline environment data profile144, the card device120may dynamically mask the user information138. For example, the card device120may replace the text in the user information138with “x” or other characters. In another example, the user information138may be redacted by a block.

In certain embodiments, the card device120may detect that a message216is received at the card device120after it is determined that the card device120is in the area that deviates from the known geographical locations indicated in the baseline environment data profile144. The message216may include a security token, or any other information. In response, the card device120may dynamically mask the received message216.

In certain embodiments, in response to determining that the card device120is in the area that deviates from the baseline environment data profile144, the card device120may disable the card device120from being used for data communication with another device. If it is determined that the card device120is in the area that corresponds to a known geographical location indicated in the baseline environment data profile144, the card device120may allow the data communications with other devices upon authenticating the user102, and not mask or unmask the user information138. In certain embodiments, the user information138may be masked or not known and the data communications may be disabled by default, and in response to detecting that the user102wants to use the card device120, the user information138may be displayed and the data communications may be enabled.

Adding a New Environment to the Baseline Environment Data Profile

The card device120may add a new location to the known locations in the baseline environment data profile144. For example, assume that the card device120is carried to a new location. The sensors126detect a third set of objects204and capture sensor data134c. The sensors126communicate the sensor data134cto the processor of the card device120. The card device120receives the third sensor data134cfrom the sensors126. The sensor data134cindicate presence of the third set of objects204. In response, the card device120may feed the sensor data134cto the machine learning algorithm142. The card device120(e.g., via the machine learning algorithm142) may extract the second test features212from the third sensor data134c, where the second test features indicate physical attributes of the objects204.

The card device120may compare each of the baseline features210with the counterpart test feature from the test features212. The card device120may determine whether the card device120is in the area that deviates from the known locations in the baseline environment data profile144. The card device120may determine that the card device120is in the area that deviates from the known locations in the baseline environment data profile144if at least one (or more than a threshold percentage) of the baseline features210does not correspond to the counterpart test feature212.

In certain embodiments, the card device120may determine a Euclidean distance between the baseline feature vector226and the test feature vector228, and determine that the card device120is in the area that deviates from the known locations in the baseline environment data profile144if the Euclidean distance is less than a threshold distance, similar to that described above.

The card device120may display a message214that requests an identity of the user102on the display field128. The user102may identify and authenticate themselves, e.g., by providing user credentials and/or biometric sample, similar to that described above. The card device120may receive the user input comprising the credential associated with the user102. The card device120may compare the received credential with previously provide and stored credential. The card device120may determine if the received credential corresponds to the expected credential.

In response to determining that received credential corresponds to the expected credential, the card device120may generate a new environment data profile for the user102. The new environment data profile may indicate objects204in the new location. The card device120may add the new environment data profile to the baseline environment data profile144.

Identifying the User Based on the Pose Estimation

In certain embodiments, the card device120may determine whether the user102or another person is carrying the card device120or accessing the card device120. In this process, the card device120may determine a first pose estimation data220associated with the user102based on processing the sensor data134a, where the sensor data134amay include an image of the user102, a motion data associated with the movement of the user102, etc. If the card device120is within a threshold distance140of another person222, the card device120may receive a fourth sensor data134dfrom the sensors126, where the sensor data134dmay comprise information about the other person222. For example, the sensor data134dmay comprise an image feed that provides information about a pose of the person222.

The card device120may feed the sensor data134aanddto the machine learning algorithm142. The card device120(e.g., via the machine learning algorithm142) may determine the pose estimation data220from the sensor data134a, and determine the pose estimation data224associated with the person222from the sensor data134d. The card device120may compare the pose estimation data220with the pose estimation data224.

In certain embodiments, the first pose estimation data220may be represented by a first pose estimation vector230comprising numerical values, and the second pose estimation data224may be represented by a second pose estimation vector232comprising numerical values. The card device120may determine that the first pose estimation data220does not correspond to the second pose estimation data224. In certain embodiments, determining that the first pose estimation data220does not correspond to the second pose estimation data224may be in response to comparing the first pose estimation vector230with the second pose estimation vector232and determining that more than a threshold number of numerical values in the first pose estimation vector230does not correspond to the counterpart numerical values of the second pose estimation vector232. In response, the card device120may dynamically mask the user information138on the display field128and/or disable the data communications for the card device120. Otherwise, the card device120may allow the data communications for the card device120.

Method for Altering Card Device Attributes in Response to an Anomalous Location

FIG.3illustrates an example flowchart of a method300for altering card device120attributes in response to an anomalous location according to certain embodiments of the present disclosure. Modifications, additions, or omissions may be made to method300. Method300may include more, fewer, or other operations. For example, operations may be performed in parallel or in any suitable order. While at times discussed as the system100, card device120, or components of any of thereof performing operations, any suitable system or components of the system may perform one or more operations of the method300. For example, one or more operations of method300may be implemented, at least in part, in the form of software instructions132,158ofFIG.1, stored on non-transitory, tangible, machine-readable media (e.g., memory130,156ofFIG.1) that when run by one or more processors (e.g., processor122,152ofFIG.1) may cause the one or more processors to perform operations302-322.

At operation302, the card device120receives a first sensor data134afrom at least one sensor126, where the first sensor data134aindicates presence of the first set of objects202around the card device120. For example, the sensors126may capture sensor data134acontinuously, periodically, or on demand, or in response to a trigger event when the sensors126detect an object within their detection range.

At operation304, the card device120generates the baseline environment data profile144based on the first sensor data134a. For example, the card device120may feed the sensor data134ato the machine learning algorithm142to generate the baseline environment data profile144, similar to that described inFIG.2.

At operation306, the card device120receives a second sensor data134bfrom the at least one sensor126, where the second sensor data134bindicates presence of a second set of objects204around the card device120. For example, the sensors126may capture the sensor data134bcontinuously, periodically, on demand, or in response to a trigger event when the sensors126detect an object within their detection range.

At operation308, the card device120extracts baseline features210from the first sensor data134a, e.g., via the machine learning algorithm142, similar to that described inFIG.2. At operation310, the card device120extracts test features212from the sensor data134b, via the machine learning algorithm142, similar to that described inFIG.2.

At operation312, the card device120compares the baseline features210with the test features212. For example, the card device120may compare each baseline feature210with a counterpart test feature212. In another example, the card device120may compare the baseline feature vector with the test feature vector, similar to that described inFIG.2.

At operation314, the card device120determines whether more than a threshold percentage of the baseline features210correspond to the counterpart test features212. If is it determined that more than a threshold percentage (e.g., more than 80%, 90%, etc.) of the baseline features210correspond to the counterpart test features212, method300proceeds to the operation316. Otherwise, method300proceeds to operation318.

At operation316, the card device120may allow data communications for the card device120. For example, the card device120may allow the card device120to communicate data with other devices. The card device120may also not mask or unmask the user information138displayed on the card device120. In response, if the user102wants to use the card device120to interact with another device, the card device120may communicate data (e.g., user information138) to the other device and generate the interaction session data146. The card device120may communicate the interaction session data146to the backend server150and/or to the blockchain network180to be distributed among the notes182a-n.

At operation318, the card device120determines that the card device120is in the area that deviates from the geographical locations that are indicated in the baseline environment data profile144.

At operation320, the card device120dynamically masks the user information138displayed on the card device120. For example, the card device120may replace text of the user information138to other characters, e.g., “x”. In another example, the card device120may encrypt the user information138by an encryption function. The user102may be provided the decryption key to decrypt the encrypted user information. At operation322, the card device120disables the data communication for the card device120. In response, the card device120may not be able to interact with other devices.

Altering Card Device Attributes in Response to Proximity Intrusion

FIG.4illustrates an example operational flow400of system100ofFIG.1for altering attributes of the card device120in response to proximity intrusion by other (unauthorized) viewers402around the card device120. In operation, the card device120may establish a user profile for the user102. The user profile may include user features404. In this process, the card device120may receive first sensor data134afrom the sensors126. The first sensor data134amay indicate presence of the first user102around the card device120. For example, the first sensor data134amay include an image of the user102, an audio sample of the user102, etc.

The card device120may feed the sensor data134ato the machine learning algorithm142. The card device120(e.g., via the machine learning algorithm142) may extract a set of user features404from the first sensor data134a. The set of user features404may indicate physical attributes of the user102, such as height, facial features, retinal features, pose estimation, etc. In this manner, the card device120may identify the user102for authentication and verification.

Identifying an Intrusion of a Viewer

In some cases, the card device120may be in a crowded location, such as in a public transport vehicle, or a crowded room, etc. In such cases, other people may be able to glance at the card device120and view the user information138. In some cases, the card device120may be accessed by a person other than the user102, such as an unauthorized person. In such cases, the other person may be able to use the user information138in malicious actions, such as access personal information associated with the user102and/or transmit data from the card device120to other devices and impersonate the user102. Thus, it is desired to identify intruding viewers and in response, prevent them from accessing the user information138and using the card device120to perform data communications.

In an example scenario, assume that the viewer402is detected by the sensors126. The card device120may receive the second sensor data134bfrom the sensors126. The second sensor data134bmay indicate the presence of the viewer402around the card device120. The card device120may feed the sensor data134bto the machine learning algorithm142. The card device120(e.g., via the machine learning algorithm142) may extract a set of viewer features408from the sensor data134b. The viewer features408may indicate physical attributes of the viewer402, such as height, facial features, pose estimation, biometric features, etc.

The card device120may compare each of the user features404with the counterpart viewer feature408. The card device120my determine whether each of the user features404corresponds to the counterpart viewer feature408. In certain embodiments, if the card device120determines that more than a threshold percentage of the user features404does not correspond to the counterpart viewer feature408, the card device120may determine that the viewer402is not the user102.

In certain embodiments, the user features404may be represented by a user feature vector410comprising numerical values, and the viewer features408may be represented by a viewer feature vector412comprising numerical values. The card device120may determine a Euclidean distance between the user feature vector410and the viewer feature vector412. If the Euclidean distance is more than a threshold distance (e.g., more than 0.1, 0.01, etc.), the card device120may determine that the viewer402is not the user102.

In certain embodiments, comparing each of the extracted user features404with the counterpart viewer feature408is in response to comparing each of the numerical values in the user feature vector410with a counterpart numerical value from among the numerical values of the viewer feature vector412.

In certain embodiments, determining that the user102is not the viewer402may be in response to determining that more than the threshold percentage of the numerical values of the user feature vector410does not correspond to the counterpart numerical values from among the numerical values of the viewer feature vector412.

The card device120may determine a distance406between the viewer402and the card device120. The card device120may compare the distance406to the threshold distance140. The threshold distance140may be maximum distance from which the user information138on the card device120is identifiable. The threshold distance140may be determined based on the font size of the user information138.

If the card device120determines that the distance406is less than the threshold distance140and that the viewer402is not the user102, the card device120may dynamically mask the user information138displayed on the display field128, similar to that described inFIG.2. In certain embodiments, the card device120may also disable data communicate for the card device120.

In certain embodiments, the card device120may determine whether the user102or another person is carrying the card device120or is accessing the card device120based on pose estimation data (220and224inFIG.2), similar to that described inFIG.2. If the card device120determines that the other person402is accessing or carrying the card device120, the card device120may dynamically mask the user information138on the display field128and/or disable data communicate for the card device120.

Method for Altering Card Device Attributes in Response to Detecting a Proximity Intrusion

FIG.5illustrates an example flowchart of a method500for altering card device120attributes in response to a proximity intrusion of a viewer according to certain embodiments of the present disclosure. Modifications, additions, or omissions may be made to method500. Method500may include more, fewer, or other operations. For example, operations may be performed in parallel or in any suitable order. While at times discussed as the system100, card device120, or components of any of thereof performing operations, any suitable system or components of the system may perform one or more operations of the method300. For example, one or more operations of method300may be implemented, at least in part, in the form of software instructions132,158ofFIG.1, stored on non-transitory, tangible, machine-readable media (e.g., memory130,156ofFIG.1) that when run by one or more processors (e.g., processor122,152ofFIG.1) may cause the one or more processors to perform operations502-520.

At operation502, the card device120receives a first sensor data134afrom at least one sensor126, where the first sensor data134aindicates presence of a user102. For example, the sensors126may capture sensor data134acontinuously, periodically, or on demand, or in response to a trigger event when the sensors126detect an object within their detection range.

At operation504, the card device120extracts a set of user features404from the first sensor data134a, where the set of user features404indicates physical attributes of the user102. For example, the card device120may feed the sensor data134ato the machine learning algorithm142to extract the set of user features404.

At operation506, the card device120receives a second sensor data134bfrom the at least one sensor126, where the second sensor data134bindicates presence of a viewer402. For example, the sensors126may capture the sensor data134bcontinuously, periodically, on demand, or in response to a trigger event when the sensors126detect an object within their detection range.

At operation508, the card device120extracts a set of viewer features408from the second sensor data134b, where the set of viewer features408indicates physical attributes of the viewer402. For example, the card device120may feed the sensor data134bto the machine learning algorithm142to extract the set of viewer features408.

At operation510, the card device120compares the set of user features404with the set of viewer features408. For example, the card device120(e.g., via the machine learning algorithm142) may perform a vector comparison operation between the user feature vector410that represents the user features404and the viewer feature vector412that represents the viewer features408, similar to that described inFIG.4. In one example, the card device120may compare each user feature404with a counterpart viewer feature408. In the same or another example, the card device120may determine a Euclidean distance between the user feature vector410and the viewer feature vector412.

At operation512, the card device120determines whether more than a threshold percentage of the user features404correspond to the counterpart viewer features408. In certain embodiments, the card device120may determine whether the Euclidean distance between the user feature vector410and the viewer feature vector412is less than a threshold distance, similar to that described inFIG.4. If the card device120determines that more than a threshold percentage of the user features404correspond to the counterpart viewer features408, method500proceeds to operation514. Otherwise, method500proceeds to operation516.

At operation514, the card device120may allow data communications for the card device120. For example, the card device120may allow the card device120to communicate data with other devices. The card device120may also not mask or unmask the user information138displayed on the card device120. In response, if the user102wants to use the card device120to interact with another device, the card device120may communicate data (e.g., user information138) to the other device and generate the interaction session data146. The card device120may communicate the interaction session data146to the backend server150and/or to the blockchain network180to be distributed among the notes182a-n.

At operation516, the card device120determines that the user102is not the viewer402. At operation518, the card device120determines the distance406between the viewer402and the card device120. For example, the card device120may use a distance measuring feature in a camera sensor126and/or a light detection and ranging sensor126to detect the distance406between the viewer402and the card device120.

At operation520, the card device120determines whether the distance406is less than a threshold distance140. If it is determined that the distance406is less than the threshold distance140, method500proceeds to operation522. Otherwise, method500returns to operation506to evaluate other people/viewers402around the card device120.

At operation522, the card device120dynamically masks the user information138displayed on the card device120, similar to that described inFIGS.1-4. At operation524, the card device120disables the data communications for the card device120. In response, the card device120may not be able to interact with other devices.