Abstract: The present disclosure envisages a system (100) for determining the authenticity of an electronic device (10). The system (100) comprises an application (202) installed in an electronic device (10), an intransient memory (108), and a verification server (104). The application (202) facilitates initiation of testing of the electronic device (10) and reads a device information from the operating system of the electronic device (10). The device information comprises a first set of information and data indicative of the model name of the electronic device (10). The device information is then transmitted to the verification server (104). The server (104) retrieves a second set of information from the intransient memory (108) based on the model name related data. The server (104) analyses the first set of information using the second set of information and pre-assigned weights to generate an authenticity result indicative of a determined authenticity of the electronic device (10).
Claims:We claim:
1. A system (100) for determining the authenticity of an electronic device (10), said electronic device (10) including a plurality of hardware components, said system (100) comprising:
a. an application (202) installed and executed in an operating system of the electronic device (10), said application (202) comprising:
i. an input module (202a) configured to facilitate initiation of testing of the electronic device (10); and
ii. a data extraction module (202b) configured to read a device information from the operating system of the electronic device (10) upon initiation of the testing of the electronic device (10), said device information comprising:
• a first set of information including technical details corresponding to the hardware components of the electronic device (10); and
• a brand name of the electronic device (10) and at least one of a model name, a product name and an operating system code (OS code) corresponding to a model name of the electronic device (10), and
b. an intransient memory (108) configured to receive and store a database having a first lookup table, said first lookup table comprising a list of electronic device brand names, a list of model names corresponding to each of said brand names, and a second set of information comprising details corresponding to the original equipment manufacturer (OEM) hardware components associated with each of said model names; and
c. a verification server (104) communicatively coupled to said electronic device (10) and said intransient memory (108), said verification server (104) configured to receive the device information from said application (202), said server (104) comprising:
i. a repository (102) configured to store a second lookup table comprising the list of electronic device brand names, the list of model names corresponding to each of said brand names, the list of hardware components, at least one of the OS code and product name associated with each of said model names and a pre-determined weight associated with each hardware component;
ii. a model identification module (110) configured to:
• extract the model name from said received device information if the model name is found; or
• extract the brand name and at least one of the product name and OS code of the electronic device (10) from said received device information if the model name is not found, and cooperate with said repository (102) to lookup the brand name and the extracted product name or OS code in the second lookup table and obtain the corresponding model name, and
iii. an authenticity module (112) configured to cooperate with said model identification module (110) to receive said model name of the electronic device (10), said authenticity module (112) comprising:
• a comparator (112a) configured to cooperate with said intransient memory (108) and said repository (102) to extract the second set of information stored in said first lookup table corresponding to said received model name and compare the first set of information contained in said device information with the extracted second set of information corresponding to said received model name to generate a binary value for each hardware component of the electronic device (10); and
• an analyser configured to cooperate with said comparator (112a) to receive the binary values for the hardware components within the electronic device (10) and analyse the received binary values using the corresponding pre-determined weights and a pre-determined threshold value to generate an authenticity result indicative of a determined authenticity of the electronic device (10).
2. The system (100) as claimed in claim 1, wherein said input module (202a) is configured to generate a graphical user interface and is further configured to prompt a user to enter a unique identification number of the electronic device (10) through the graphical user interface to initiate the testing of the electronic device (10).
3. The system (100) as claimed in claim 2, wherein said application (202) includes a validation module (202c) configured to receive said unique identification number from said input module (202a) and perform validation of said received unique identification number through an integrated electronic device brand database.
4. The system (100) as claimed in claim 2, wherein said unique identification number is a device identification number selected from the group consisting of International Mobile Equipment Identity (IMEI) number, Mobile Serial Number (MSN), Mobile Identification Number (MIN), Mobile Equipment Identifier (MEID), Equipment Serial Number (ESN), Unique Device Identifier (UDID), and Universally Unique Identifier (UUID).
5. The system (100) as claimed in claim 1, wherein said verification server (104) is configured to facilitate generation of a test initiation request and is further configured to transmit said generated test initiation request to said application (202) to facilitate the input module (202a) to initiate the testing of the electronic device (10).
6. The system (100) as claimed in claim 1, wherein said application (202) is configured to receive the authenticity result from said verification server (104) and is further configured to display the received authenticity result on a display screen of the electronic device (10).
7. These system (100) as claimed in claim 1, wherein said OEM hardware components’ details contained in said second set of information includes a range of acceptable values corresponding to one or more parameters associated with the hardware components.
8. The system (100) as claimed in claim 1, wherein said analyser comprises:
a. a computation module (112b) configured to cooperate with said comparator (112a) to receive the binary value for each hardware component, and further configured to compute a first value for each hardware component based on said received binary value and the pre-determined weight corresponding to each hardware component obtained from the second lookup table;
b. a score generation module (112c) configured to cooperate with said computation module (112b) to perform summation of the first values associated with the hardware components within the electronic device (10) to generate an authenticity score indicative of the determined authenticity of the electronic device (10); and
c. a notification generation module (112d) configured to cooperate with said score generation module (112c) to receive said authenticity score, and further configured to compare said received authenticity score with said pre-determined threshold value to generate said authenticity result.
9. The system (100) as claimed in claim 1, wherein said verification server (104) comprises a web scraper (204) configured to scrape a pre-determined set of data sources (20) to collect data relating to new electronic devices, said data comprising brand name, model name and details regarding the hardware components contained in each of said new electronic devices.
10. The system (100) as claimed in claim 9, wherein said web scraper (204) is configured to automatically scrape said data sources periodically in pre-defined intervals of time.
11. The system (100) as claimed in claim 9, wherein said web scraper (204) is configured to normalize said scraped data using machine learning techniques and store the normalized data in said intransient memory (108).
12. The system (100) as claimed in claim 1, wherein said verification server (104) includes a data logger (206) configured to store the first set of information pertaining to the tested electronic devices and the corresponding authenticity result in said intransient memory (108).
13. The system as claimed in claim 12, wherein said verification server (104) includes:
a. a learning module (208) configured to cooperate with said intransient memory (108) to learn an association function from a dataset comprising at least one of the first set of information, the second set of information and the authenticity result for tested electronic devices (10); and
b. a probability determination module (210) configured to receive the device information of a new electronic device to be tested, and further configured to cooperate with said learning module (208) to compute a likelihood of correctness of the first set of information contained in said device information, based on said learned association function, to generate the authenticity result.
14. The system (100) as claimed in claim 12, wherein said dataset includes a market value corresponding to the electronic devices (10), wherein said learned association function provides correlation between a plurality of combinations of technical details corresponding to the OEM hardware components and the market value of the electronic devices (10) having said combinations.
15. The system (100) as claimed in claim 1, wherein said authenticity result includes the authenticity score and a notification indicating whether the electronic device (10) is genuine or fake.
16. The system (100) as claimed in claim 1, wherein said hardware components are selected from the group consisting of display, processor, memory, camera, sensors, and battery.
17. The system (100) as claimed in claim 1, wherein said first set of information and said second set of information comprise data selected from the group consisting of random access memory (RAM) size, primary camera resolution, secondary camera resolution, number of processor cores, display DPI (Dots Per Inch), display height, display width, battery capacity, and data indicating presence or absence of magnetic rotation sensor, accelerometer, gyroscope, light, proximity sensor, step counter, rotation vector sensor, gravity sensor, linear acceleration sensor, and magnetic field sensor.
18. The system (100) as claimed in claim 1, wherein said first set of information and said second set of information comprise data indicating presence or absence of Global Positioning System (GPS), Near field Communication (NFC) capability, version code, board name, bootloader, kernel version, CPU Architecture, system uptime, and storage capacity.
19. The system (100) as claimed in claim 1, wherein said first set of information and said second set of information are region-specific.
20. The system (100) as claimed in claim 1, wherein said first set of information and said second set of information are age specific.
21. The system (100) as claimed in claim 1, wherein said first set of information and said second set of information comprise protocol versions supported by the hardware components of the electronic device (10).
22. The system (100) as claimed in claim 1, wherein said first set of information and said second set of information comprise values corresponding to a plurality of performance measurement parameters associated with the hardware components of the electronic device (10), said performance measurement parameters including the read/write access speed of the RAM, the read/write access speed and data storage components, the Central Processing Unit (CPU) and Graphics Processing Unit (GPU) speed as measured by standard performance test algorithms, the latency of screen-write operations which is controlled through camera inspection, raw image resolution, the speed of capture of any imaging equipment or camera included in the electronic device (10), battery charging speed and battery drain speeds under controlled current.
23. A method (300) for determining the authenticity of an electronic device (10), said electronic device (10) including a plurality of hardware components, said method (300) comprising:
a. facilitating (S-302), by an application (202) installed and executed in an operating system of the electronic device (10), initiation of testing of the electronic device (10);
b. reading (S-304), by said application (202), a device information from the operating system of the electronic device (10) upon initiation of the testing of the electronic device (10), said device information comprising:
• a first set of information including technical details corresponding to the hardware components of the electronic device (10); and
• a brand name of the electronic device (10) and at least one of a model name, a product name and an operating system code (OS code) corresponding to a model name of the electronic device (10),
c. storing (S-306), in an intransient memory (108), a database having a first lookup table comprising a list of electronic device brand names, a list of model names corresponding to each of said brand names, and a second set of information comprising details corresponding to the original equipment manufacturer (OEM) hardware components associated with each of said model names;
d. receiving (S-308), by a verification server (104) communicatively coupled to said electronic device (10) and said intransient memory (108), the device information from said application (202);
e. storing (S-310), in a repository (102) of said verification server (104), a second lookup table comprising the list of electronic device brand names, the list of model names corresponding to each of said brand names, the list of hardware components, at least one of the OS code and the product name associated with each of said model names and a pre-determined weight associated with each hardware component;
f. extracting (S-312), by a model identification module (110) of said verification server (104), the model name from said received device information if the model name is found;
g. extracting (S-314), by said model identification module (110), the brand name and at least one of the product name and the OS code of the electronic device (10) from said received device information if the model name is not found and looking up, by said model identification module (110), the brand name and the extracted product name or OS code in the second lookup table to obtain the corresponding model name;
h. receiving (S-316), by an authenticity module (112) of said verification server (104), said model name of the electronic device (10);
i. extracting (S-318), by said authenticity module (112), the second set of information stored in said first lookup table corresponding to said received model name;
j. comparing (S-320), by said authenticity module (112), the first set of information contained in said device information with the extracted second set of information corresponding to said received model name to generate a binary value for each hardware component of the electronic device (10); and
k. analysing (S-322), by said authenticity module (112), the binary values for the hardware components within the electronic device (10) using the corresponding pre-determined weights and a pre-determined threshold value to generate an authenticity result indicative of a determined authenticity of the electronic device (10).
24. The method (300) as claimed in claim 17, wherein the step of analysing, by said authenticity module (112), the binary values for the hardware components within the electronic device (10) comprises the following sub-steps:
a. receiving, by a computation module (112b) of said authenticity module (112), the binary value for each hardware component;
b. computing, by said computation module (112b), a first value for each hardware component based on said received binary value and the pre-determined weight corresponding to each hardware component obtained from the second lookup table;
c. performing, by a score generation module (112c) of said authenticity module (112), the summation of the first values associated with the hardware components within the electronic device (10) to generate an authenticity score indicative of the determined authenticity of the electronic device (10);
d. receiving, by a notification generation module (112d) of said authenticity module (112), said authenticity score; and
e. comparing, by said notification generation module (112d), the received authenticity score with a pre-determined threshold value to generate said authenticity result.
Dated this 27th day of July, 2021
_______________________________
MOHAN RAJKUMAR DEWAN, IN/PA – 25
of R.K.DEWAN & CO.
Authorized Agent of Applicant
TO,
THE CONTROLLER OF PATENTS
THE PATENT OFFICE, AT MUMBAI
, Description:THIS APPLICATION IS A PATENT OF ADDITION TO INDIAN PATENT APPLICATION NO. 201921054655 FILED ON DECEMBER 31st, 2019.
FIELD
The present invention relates to determination of authenticity of an electronic device. More particularly, the invention relates to a system and method for detecting whether an electronic device is fake or genuine.
DEFINITIONS
As used in the present disclosure, the following terms are generally intended to have the meaning as set forth below, except to the extent that the context in which they are used indicate otherwise.
Electronic device – The term “electronic device” hereinafter refers to a device whose authenticity is to be tested and may include a mobile phone, a laptop, a tablet, an iPad, a Personal Digital Assistant (PDA), a notebook, a net book, a smart device, a smart phone, a personal computer, a handheld device and the like, and generally any device which may execute compiled code and perform tests.
Communication system – The term “communication system” hereinafter refers to a means for transmitting and receiving data. The communication system may include, for example, the Internet, the World Wide Web, an intranet, cable (including fiber optic cable), magnetic communications, electromagnetic communications (including RF, microwave, and infrared communications), and electronic communications. Wireless communication means can support various wireless communication network protocols and technologies such as Near Field Communication (NFC), Wi-Fi, Bluetooth, 4G Long Term Evolution (LTE), Code Division Multiplexing Access (CDMA), Universal Mobile Telecommunication System (UMTS) and Global System for Mobile Telecommunication (GSM).
Operating system code (OS code) – The term “Operating system code” or “OS code” hereinafter refers to a short string or a codename used by an operating system to identify the model name of a device.
BACKGROUND
The background information herein below relates to the present disclosure but is not necessarily prior art.
It is a well-known fact that the prevalence and ease of availability of counterfeit products has helped the industries manufacturing such products earn huge profits. These industries are driven by the principle that products which are worth disproportionately more than the cost of their manufacture, such as electronic devices, may be counterfeited at a profit. In fact, manufacturers of proprietary products lose billions of dollars each year because of ease of availability of counterfeits. Further, with the advent of technology, the counterfeit goods may be produced at similar or identical appearance to the original. Hence, a manufacturer suffers from a continuous loss of sales as counterfeiting continues unchecked, because it is difficult or impossible to detect.
Currently, for determining whether an electronic device is counterfeit or original, most industries rely on a process that is manual to a great extent. Further, to check the authenticity of an electronic device, the device is usually dismantled, and the components of the device are tested individually. Additionally, if the interior components are of similar or identical appearance as the original, it may be difficult to ascertain if they are original or counterfeits.
One of the essential steps in determining the authenticity of an electronic device includes determining whether the technical details of components within the electronic device match with those of the original electronic device of the same brand and having the same model number. However, this kind of matching requires accurate identification of model name/number of the electronic device to be tested. Conventional systems lack accuracy in identification of electronic device model names, leading to improper determination of authenticity or false outcomes, which is not desired.
Therefore, there is a need in the art to introduce an easy to use, quantitative, accurate, reproduceable and logic-based system and method to evaluate the authenticity of the electronic device. Particularly, there is also an imperative need for a system and method for determining if the components of an electronic device are original, without having to dismantle the electronic device so as to maximize value, enhance efficiency and also achieve a high degree of accuracy.
OBJECTS
Some of the objects of the present disclosure, which at least one embodiment herein satisfies, are as follows:
It is an object of the present disclosure to ameliorate one or more problems of the prior part or to at least provide a useful alternative.
An object of the present disclosure is to provide a system for determining the authenticity of an electronic device and a method thereof.
Another object of the present disclosure is to provide a system for evaluating the authenticity of an electronic device that is accurate.
Still another object of the present disclosure to provide a system for determining the authenticity of the components of an electronic device without having to dismantle the electronic device.
Yet another object of the present disclosure is to provide a system for determining the authenticity of an electronic device that is easily reproduceable.
A further object of the present disclosure is to provide a system for determining the authenticity of an electronic device that gives quantitative and qualitative estimates of the genuineness of the electronic device.
Still another object of the present disclosure to provide a system for determining the authenticity of an electronic device that is reliable and efficient.
Other objects and advantages of the present disclosure will be more apparent from the following description, which is not intended to limit the scope of the present disclosure.
SUMMARY
The present disclosure envisages a system for determining the authenticity of an electronic device, the electronic device including a plurality of hardware components selected from the group consisting of display, processor, memory, camera, sensors, and battery. The system comprises an application installed and executed in an operating system of the electronic device, an intransient memory, and a verification server. The application comprises an input module and a data extraction module. The input module facilitates initiation of testing of the electronic device. Upon initiation of testing, the data extraction module reads device information from the operating system of the electronic device. The device information comprises a first set of information including technical details corresponding to the hardware components of the electronic device and a brand name of the electronic device and at least one of a model name, a product name and an operating system code (OS code) corresponding to a model name of the electronic device. The intransient memory receives and stores a database having a first lookup table comprising a list of electronic device brand names, a list of model names corresponding to each of the brand names, and a second set of information comprising details corresponding to the original equipment manufacturer (OEM) hardware components associated with each of the model names. The OEM hardware components’ details contained in the second set of information may include a range of acceptable values corresponding to one or more parameters associated with the hardware components. The verification server is communicatively coupled to the electronic device and the intransient memory. The verification server receives the device information from the application. The server comprises a repository, a model identification module, and an authenticity module. The repository stores a second lookup table comprising the list of electronic device brand names, the list of model names corresponding to each of the brand names, the list of hardware components, at least one of the OS code and the product name associated with each of the model names and a pre-determined weight associated with each hardware component. The model identification module extracts the model name from the received device information. If the model name is not found, the model identification module extracts the brand name and at least one of the product name and the OS code of the electronic device from the received device information. The model identification module cooperates with the repository to look up the brand name and the extracted product name or OS code in the second lookup table and obtain the corresponding model name. The authenticity module cooperates with the model identification module to receive the model name of the electronic device. The authenticity module comprises a comparator and an analyser. The comparator cooperates with the intransient memory and the repository to extract the second set of information stored in the first lookup table corresponding to the received model name and compare the first set of information contained in the device information with the extracted second set of information corresponding to the received model name to generate a binary value for each hardware component of the electronic device. The analyser cooperates with the comparator to receive the binary values for the hardware components within the electronic device and analyse the received binary values using the corresponding pre-determined weights and a pre-determined threshold value to generate an authenticity result indicative of a determined authenticity of the electronic device.
In an embodiment, the first set of information and the second set of information may comprise data selected from the group consisting of Random Access Memory (RAM) Size, primary camera resolution, secondary camera resolution, processor, number of cores, display Dots Per Inch (DPI), display height, display width, battery capacity, and data indicating presence or absence of magnetic rotation sensor, accelerometer, gyroscope, light, proximity sensor, step counter, rotation vector sensor, gravity sensor, linear acceleration sensor, and magnetic field sensor.
The first set of information and the second set of information may further comprise data indicating presence or absence of Global Positioning System (GPS), Near field Communication (NFC) capability, version code, board name, bootloader, kernel version, CPU Architecture, system uptime, and storage capacity.
In an embodiment, the first set of information and the second set of information are region-specific. In another embodiment, the first set of information and the second set of information are age specific.
In an embodiment, the first set of information further comprise protocol versions protocol versions supported by the hardware components of the electronic device.
In another embodiment, the first set of information and the second set of information comprise values corresponding to a plurality of performance measurement parameters associated with the hardware components of the electronic device. The performance measurement parameters include the read/write access speed of the RAM, the read/write access speed and data storage components, the Central Processing Unit (CPU) and Graphics Processing Unit (GPU) speed as measured by standard performance test algorithms, the latency of screen-write operations which may be controlled through camera inspection, raw image resolution, the speed of capture of any imaging equipment or camera included in the electronic device, battery charging speed and battery drain speeds under controlled current.
In an embodiment, the input module generates a graphical user interface and prompts the user to enter a unique identification number of the electronic device through the graphical user interface to initiate the testing of the electronic device. The application includes a validation module configured to receive the unique identification number from the input module and perform validation of the received unique identification number through an integrated electronic device brand database. The unique identification number includes a device identification number selected from the group consisting of International Mobile Equipment Identity (IMEI) number, Mobile Serial Number (MSN), Mobile Identification Number (MIN), Mobile Equipment Identifier (MEID), Equipment Serial Number (ESN), Unique Device Identifier (UDID), and Universally Unique Identifier (UUID).
In another embodiment, the verification server facilitates generation of a test initiation request and transmits the generated test initiation request to the application to facilitate the input module to initiate the testing of the electronic device.
In an embodiment, the application receives the authenticity result from the verification server and displays the received authenticity result to the user on a display screen of the electronic device.
In an embodiment, the analyser comprises a computation module, a score generation module, and a notification generation module. The computation module cooperates with the comparator to receive the binary value for each hardware component and further computes a first value for each hardware component based on the received binary value and the pre-determined weight corresponding to each hardware component obtained from the second lookup table. The score generation module cooperates with the computation module to perform summation of the first value associated with each hardware component within the electronic device to generate an authenticity score indicative of the determined authenticity of the electronic device. The notification generation module cooperates with the score generation module to receive the authenticity score and compares the received authenticity score with the pre-determined threshold value to generate the authenticity result. The authenticity result includes the authenticity score and a notification indicating whether the electronic device is genuine or fake.
In an embodiment, the verification server comprises a data logger, a learning module, and a probability determination module. The data logger stores the first set of information pertaining to the tested electronic devices and the corresponding authenticity result in the intransient memory. The learning module cooperates with the intransient memory to learn an association function from a dataset comprising at least one of the first set of information, the second set of information and the authenticity result for tested electronic devices. The probability determination module receives the device information of a new electronic device to be tested and cooperates with the learning module to compute a likelihood of correctness of the first set of information contained in the device information, based on the learned association function, to generate the authenticity result.
In an embodiment, the dataset includes a market value corresponding to the electronic devices, wherein the learned association function provides correlation between a plurality of combinations of technical details corresponding to the OEM hardware components and the market value of the electronic devices having said combinations. The learned association function extends the data related to the known device models already present in the intransient memory for the new or unknown device models.
In an embodiment, the verification server comprises a web scraper configured to scrape a pre-determined set of data sources to collect data relating to new electronic devices. The collected data may comprise brand name, model name and details regarding the hardware components contained in each of the new electronic devices. The web scraper normalizes the scraped data using machine learning techniques and stores the normalized data in the intransient memory.
Advantageously, the web scraper automatically scrapes the data sources periodically in pre-defined intervals of time.
The present disclosure further envisages a method for determining the authenticity of an electronic device.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWING
A system for determining the authenticity of an electronic device and a method thereof of the present disclosure will now be described with the help of the accompanying drawing, in which:
Figure 1 illustrates a block diagram of a system for determining the authenticity of an electronic device;
Figure 2 illustrates a detailed block diagram of the system of Figure 1;
Figures 3A, 3B and 3C illustrate a flow diagram of a method for determining the authenticity of an electronic device;
Figure 4 illustrates a flow chart of the method of Figures 3A, 3B and 3C, in accordance with an embodiment of the present disclosure; and
Figure 5 illustrates a flow chart of the method of Figures 3A, 3B and 3C, in accordance with another embodiment of the present disclosure.
LIST OF REFERENCE NUMERALS
100 – System
10 – Electronic device
20 – Data sources
102 – Repository
104 – Verification server
106 – Communication system
108 – Intransient memory
110 – Model identification module
112 – Authenticity module
112a – Comparator
112b – Computation module
112c – Score generation module
112d – Notification generation module
202 – Application
202a – Input module
202b – Data extraction module
202c – Validation module
204 – Web scraper
206 – Data logger
208 – Learning module
210 – Probability determination module
DETAILED DESCRIPTION
Embodiments, of the present disclosure, will now be described with reference to the accompanying drawing.
Embodiments are provided so as to thoroughly and fully convey the scope of the present disclosure to the person skilled in the art. Numerous details, are set forth, relating to specific components, and methods, to provide a complete understanding of embodiments of the present disclosure. It will be apparent to the person skilled in the art that the details provided in the embodiments should not be construed to limit the scope of the present disclosure. In some embodiments, well-known processes, well-known apparatus structures, and well-known techniques are not described in detail.
The terminology used, in the present disclosure, is only for the purpose of explaining a particular embodiment and such terminology shall not be considered to limit the scope of the present disclosure. As used in the present disclosure, the forms "a,” "an," and "the" may be intended to include the plural forms as well, unless the context clearly suggests otherwise. The terms "comprises," "comprising," “including,” and “having,” are open ended transitional phrases and therefore specify the presence of stated features, steps, operations, elements, modules, units and/or components, but do not forbid the presence or addition of one or more other features, steps, operations, elements, components, and/or groups thereof. The particular order of steps disclosed in the method and process of the present disclosure is not to be construed as necessarily requiring their performance as described or illustrated. It is also to be understood that additional or alternative steps may be employed.
As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed elements.
The terms first, second, third, etc., should not be construed to limit the scope of the present disclosure as the aforementioned terms may be only used to distinguish one element or component from another element or component. Terms such as first, second, third etc., when used herein do not imply a specific sequence or order unless clearly suggested by the present disclosure.
Currently, there is a widespread availability of counterfeit electronic products in the market. Counterfeit product manufacturers imitate all facets of a branded product’s appearance to make their products appear genuine. Counterfeit products raise a number of concerns for proprietary manufacturers. The sale of counterfeit products results in a loss of revenue of the original manufacturers. Further, if the counterfeit products are made of substandard quality, the customers lose their trust in the companies. This is only a small aspect of the problems caused by counterfeit products.
To address the above-mentioned problems, it is essential to have standard systems or methods to inspect the authenticity of electronic devices. Conventionally, most companies rely on a manual process for determining authenticity of electronic devices. Such processes take up a lot of time and are dependent on the skill of the persons testing the electronic devices. Currently, due to the advent of the technology, it has become very easy to manufacture counterfeit products of same or similar quality as the original products. Therefore, in such cases, determining the authenticity of products has become a huge challenge.
To overcome the above-mentioned drawbacks, the Indian patent application no. 201921054655 disclosed a rule-based or logic-based system and method for detecting the authenticity of an electronic device without having to dismantle the electronic device. However, it was found that the reliability of determination of authenticity greatly depends on the accuracy of identification of the model name/number of the electronic device to be tested.
To further address the problem of accuracy of the current systems, a system (hereinafter referred to as “system”) for determining the authenticity of an electronic device and a method (hereinafter referred to as “method”) thereof of the present disclosure is now being described with reference to Figure 1 through Figure 5.
Referring to Figures 1 and 2, the system 100 comprises an application 202, an intransient memory 108, and a verification server 104. The application 202 may be installed and executed in an operating system of the electronic device 10 to be tested. The electronic device 10 refers to any electrical, electronic, electromechanical or computing device. The electronic device 10 may include, but is not limited to, a mobile phone, a tablet, a smartphone, a laptop, a wearable device, a personal digital assistant and any such device obvious to a person skilled in the art. The electronic device 10 includes a plurality of hardware components such as display, processor, memory, camera, sensors, and battery. Although only a limited number of electronic devices 10 are shown in Figure 1, it will be understood by those of ordinary skill in the art that the block diagram shown in Figure 1 is merely illustrative and does not limit the number of the electronic devices 10 in the system 100. Similarly, although only one remote server 104 has been shown in Figure 1, multiple remote server components and multiple remote servers are encompassed by the present disclosure.
The application 202 installed in the electronic device 10 includes an input module 202a and a data extraction module 202b. The input module 202a is configured to facilitate initiation of testing of the electronic device 10. Upon initiation of testing, the data extraction module 202b is configured to read a device information from the operating system of the electronic device 10. The device information may comprise, but is not limited to, (i) a first set of information including technical details corresponding to the hardware components of the electronic device 10 and (ii) a brand name of the electronic device 10 and at least one of a model name, a product name and an operating system code (OS code) corresponding to a model name of the electronic device 10.
An exemplified pseudo code depicting the working of the data extraction module 202b is given below -
Start
Read (device information)
End
As used herein, the term “application 202” refers to an application program designed to perform a group of coordinated functions, tasks, or activities for the benefit of the user of the application 202 installed in the electronic device 10, including any application that uses at least one of the IP communication protocol and the non-IP communication protocol for transmission. In a preferred embodiment of the invention, the application 202 is an application that can generate a request on the electronic device 10 to determine the authenticity of the electronic device 10. The application 202 may be a mobile application, a web application, a desktop application, or a progressive web application.
The intransient memory 108 is configured to store a first lookup table comprising a list of electronic device brand names, a list of model names corresponding to each of the brand names, and a second set of information comprising details corresponding to the original equipment manufacturer (OEM) hardware components associated with each of the model names. In an embodiment, the OEM hardware components’ details contained in the second set of information includes an acceptable value corresponding to one or more parameters associated with the hardware components. Alternatively, the OEM hardware components’ details contained in the second set of information includes a range of acceptable values corresponding to the parameters associated with the hardware components.
The verification server 104 is communicatively coupled to the electronic device 10 and the intransient memory 108. In an embodiment, the application 202 on the electronic device 10 may transmit the request to determine the authenticity of the electronic device 10 to the verification server 104 using a communication system 106. The request may include the device information retrieved from the electronic device 10.
The verification server 104 may be configured to receive the device information from the application 202 via the communication system 106. The server 104 comprises a repository 102, a model identification module 110, and an authenticity module 112. The repository 102 is configured to store a second lookup table comprising the list of electronic device brand names, the list of model names corresponding to each of the brand names, the list of hardware components, at least one of the OS code and product name associated with each of the model names and a pre-determined weight associated with each hardware component.
The model identification module 110 is configured to extract the model name from the received device information. If the model name is not found in the device information, the model identification module 110 is configured to extract the brand name and at least one of the product name and the OS code of the electronic device 10 from the received device information and cooperate with the repository 102 to lookup the brand name and the extracted product name or OS code in the second lookup table and obtain the corresponding model name.
An exemplified pseudo code depicting the working of the model identification module 110 is given below -
Start
Read (Brand name)
Read (Model value)
If (model value == OS code or product name)
{
extract model name corresponding to the OS code or product name from a second lookup table;
send the extracted model name to the authenticity module;
}
Else
{
Send the model value to the authenticity module;
}
End
The authenticity module 112 is configured to cooperate with the model identification module 110 to receive the model name of the electronic device 10. The authenticity module 112 comprises a comparator 112a and an analyser. The comparator 112a is configured to cooperate with the intransient memory 108 and the repository 102 to extract the second set of information stored in the first lookup table corresponding to the received model name and compare the first set of information contained in the device information with the extracted second set of information corresponding to the received model name to generate a binary value for each hardware component of the electronic device 10. The analyser is configured to cooperate with the comparator 112a to receive the binary values for the hardware components within the electronic device 10 and analyse the received binary values using the corresponding pre-determined weights and a pre-determined threshold value to generate an authenticity result indicative of a determined authenticity of the electronic device 10. The application 202 is configured to receive the authenticity result from the verification server 104 via the communication system 106 and is further configured to display the received authenticity result to the user on a display screen of the electronic device 10. The application 202 displays the authenticity result to the user through the graphical user interface.
The authenticity result includes the authenticity score and a notification indicating whether the electronic device 10 is genuine or fake. As used herein, the authenticity score refers to a computed numeric, alphanumeric, symbol, color, graphic, percentage value for the electronic device 10 representing or depicting the authenticity of the electronic device 10.
The verification server 104 may be a centralized server or a decentralized server. The intransient memory 108 may be a part of the verification server 104 or alternatively, it may be remotely configured relative to the verification server 104.
In an embodiment, the first set of information and the second set of information comprise data selected from the group consisting of random access memory (RAM) size, primary camera resolution, secondary camera resolution, number of processor cores, display DPI (Dots Per Inch), display height, display width, battery capacity, and data indicating presence or absence of magnetic rotation sensor, accelerometer, gyroscope, light, proximity sensor, step counter, rotation vector sensor, gravity sensor, linear acceleration sensor, and magnetic field sensor. In another embodiment, the first set of information and the second set of information may further comprise data indicating presence or absence of Global Positioning System (GPS), Near field Communication (NFC) capability, version code, board name, bootloader, kernel version, CPU Architecture, system uptime, and storage capacity. In yet another embodiment, the first set of information and the second set of information may include a serial number of at least one hardware component or any unique identification number associated with the at least one hardware component of the electronic device 10. For example, the first set of information may comprise the unique manufacturing serial number of a camera in the electronic device 10. In another example, the first set of information may comprise the resolution of a camera of the electronic device 10.
In a further embodiment, the first set of information and the second set of information comprise protocol versions supported by the hardware components of the electronic device 10. As an example, this would specify the version of the IEEE 802.11 standard that the Wi-Fi module can run or the version of the Bluetooth protocol that the Bluetooth hardware supports. To those skilled in the art, it will be apparent that the same first set of information and the second set of information can also include supported video protocols, NFC protocols and other similar protocols.
In still further embodiment, the first set of information and the second set of information comprise values corresponding to a plurality of performance measurement parameters associated with the hardware components of the electronic device 10. The performance measurement parameters may include, but are not limited to, the read/write access speed of the RAM, the read/write access speed and data storage components, the Central Processing Unit (CPU) and Graphics Processing Unit (GPU) speed as measured by standard performance test algorithms, the latency of screen-write operations which may be controlled through camera inspection, raw image resolution, the speed of capture of any imaging equipment or camera included in the electronic device 10, battery charging speed and battery drain speeds under controlled current.
As used herein, the first set of information and the second set of information are not limited to the parameters described above and can further include additional data related to the performance, configuration or technical parameters of the electronic device 10 and the hardware components of the electronic device 10.
In an embodiment, the first set of information and the second set of information are region-specific. For example, the unique manufacturing serial number of a camera in the electronic device 10 may be peculiar to India. In another embodiment, the first set of information and the second set of information are age specific. For example, the performance parameters such as the battery capacity may be specific to the age of the electronic device 10. In this case, the intransient memory 108 may be configured to store multiple age-specific values of the performance parameter (e.g., battery capacity) for each device model. The analyser may be configured to determine the age of the electronic device 10 being tested and the current value of the aging parameter (i.e., battery capacity). The analyser may be further configured to compare the current value of battery capacity at the determined age of the device 10 with the value of battery capacity obtained from the intransient memory 108 for the same device model and at the same age as the determined age to generate the binary value.
In an embodiment, the input module 202a is configured to generate a graphical user interface and is further configured to prompt the user to enter a unique identification number of the electronic device 10 through the graphical user interface to initiate the testing of the electronic device 10. The application 202 includes a validation module 202c configured to receive the unique identification number from the input module 202a and perform validation of the received unique identification number through an integrated electronic device brand database. The unique identification number is a device identification number selected from the group consisting of, but not limited to, International Mobile Equipment Identity (IMEI) number, Mobile Serial Number (MSN), Mobile Identification Number (MIN), Mobile Equipment Identifier (MEID), Equipment Serial Number (ESN), Unique Device Identifier (UDID), and Universally Unique Identifier (UUID).
An exemplified pseudo code depicting the working of the validation module 202c is given below -
Start
Read (brand name of the electronic device)
Do
{
Establish communication with the brand database;
Validate the electronic device using unique identification number of the device;
}
While (reading the unique identification number of the device)
End
In another embodiment, the verification server 104 is configured to facilitate generation of a test initiation request and is further configured to transmit the generated test initiation request to the application 202. Upon receiving the test initiation request, the application 202 triggers the input module 202a to initiate the testing of the electronic device 10.
In an embodiment, the verification server 104 comprises a web scraper 204 configured to scrape a pre-determined set of data sources 20 to collect data relating to new electronic devices. The data may comprise, but is not limited to, brand name, model name and details regarding the hardware components contained in each of the new electronic devices. The web scraper 204 is configured to automatically scrape the data sources 20 periodically in pre-defined intervals of time. For example, the web scraper 204 may be configured to scrape data daily, weekly or once every month. The web scraper 204 normalizes the scraped data using machine learning techniques and stores the normalized data in the intransient memory 108. To normalize the scraped data, the web scraper 204 is configured to obtain the values corresponding to the parameters associated with the hardware components of the electronic devices 10 from various data sources 20. The values may be presented in different formats by the different data sources 20. The web scraper 204 is configured to recognize the values present in different formats and is further configured to determine a range or a distinct set of values that will be accepted as matching by the authenticity module 112. For example, a website may advertise that a camera of a particular device model has 48 MP resolution, while another website may advertise a different camera resolution value for the same model in a different format. So, the process of "normalizing" may involve two operations – (i) recognizing data from various input formats and (ii) determining an acceptable range or set of values for determination of authenticity.
An exemplified pseudo code depicting the working of the web scraper 204 is given below -
Start
Do
{
Normalize the received data;
Store the normalized data in intransient memory;
}
While (reading data associated with new electronic devices from pre-determined data sources)
End
In an embodiment, the verification server 104 includes a data logger 206, a learning module 208, and a probability determination module 210.
The data logger 206 is configured to store the first set of information pertaining to the tested electronic devices and the corresponding authenticity result in the intransient memory 108.
An exemplified pseudo code depicting the working of the data logger 206 is given below -
Start
Do
{
Store the first set of information pertaining to the tested electronic devices and the corresponding authenticity result in the intransient memory;
}
While (reading the first set of information and corresponding authenticity result)
End
The learning module 208 is configured to cooperate with the intransient memory 108 to learn an association function from a dataset comprising the first set of information, the second set of information and the authenticity result for tested electronic devices 10.
An exemplified pseudo code depicting the working of the learning module 208 is given below -
Start
Do
{
Learn association function from the dataset;
}
While (reading the dataset)
End
The probability determination module 210 is configured to receive the device information of a new electronic device to be tested and is further configured to cooperate with the learning module 208 to compute a likelihood of correctness of the first set of information contained in the device information, based on the learned association function, to generate the authenticity result.
An exemplified pseudo code depicting the working of the learning module 208 is given below -
Start
Do
{
compute a likelihood of correctness of a first set of information contained in a ‘device information’ based on the learned association function;
generate the authenticity result based on the determined likelihood of correction.
}
While (reading ‘device information’ of a new electronic device)
Output (authenticity result)
End
In an embodiment, the dataset includes a market value corresponding to the electronic devices, wherein the learned association function provides correlation between a plurality of combinations of technical details corresponding to the OEM hardware components and the market value of the electronic devices having said combinations. In an embodiment, the computation of likelihood of correctness of the first set of information as disclosed herein may be performed for all the electronic devices. In another embodiment, the computation of likelihood of correctness of the first set of information may be performed only for the devices for which at least a part of the second set of information is unknown. In this case, the learned association function extends the data related to the known device models already present in the intransient memory 108 for the new or unknown device models.
In an embodiment, the analyser comprises a computation module 112b, a score generation module 112c, and a notification generation module 112d. The analyser receives the binary values generated by the comparator 112a for each of the hardware components of the electronic device 10. In an embodiment, the binary value may be a positive value if the comparison results in a match of the values/details of the hardware components. In another embodiment, the binary value may be a negative value or null if the comparison does not result in a match of the values/details of the hardware components. For example, if the first set of information comprising the mAh capacity of the battery of the electronic device 10 matches the second set of information comprising the actual mAh capacity of the battery provided by an OEM of the battery, then the binary value may be one or a positive value. If the values do not match, then the binary value may be zero or a negative value. In another example, if the first set of information comprising the resolution associated with the camera of the electronic device 10 matches the second set of information comprising the resolution provided by an OEM of the camera, then the binary value may be 1. If the values do not match, then the binary value may be a zero. Conversely, in an alternate embodiment, if the values of camera resolution in first set of information and second set of information match, then the binary value may be zero or negative and if the values do not match, then the binary value may be one or positive.
The computation module 112b is configured to cooperate with the comparator 112a to receive the binary value for each hardware component and is further configured to compute a first value for each hardware component based on the received binary value and the pre-determined weight corresponding to each hardware component obtained from the second lookup table. As used herein, the pre-determined weight value assigned to at least one OEM hardware component of the electronic device 10 is a value representing the weight of the hardware component in determining the authenticity of the at least one OEM hardware component of the electronic device 10. The pre-determined weights for each of the hardware components may be pre-assigned based on the criticality of said components in determination of genuineness of the electronic device 10. In an embodiment, the first value for a hardware component may be a product of the binary value and the pre-determined weight for the hardware component of the electronic device 10. For example, the first value may be a product of the binary value of the camera and the pre-determined weight value of camera.
The score generation module 112c is configured to cooperate with the computation module 112b to perform summation of the first values associated with the hardware components within the electronic device 10 to generate an authenticity score indicative of the determined authenticity of the electronic device 10. For example, the authenticity score of the electronic device 10 may be a sum of the first value of the camera and the first value of the display screen of the electronic device 10. In an embodiment, when there is only one hardware component, then the authenticity score is equal to the first value of that hardware component of the electronic device 10.
The notification generation module 112d is configured to cooperate with the score generation module 112c to receive the authenticity score and is further configured to compare the received authenticity score with a pre-determined threshold value to generate the authenticity result.
In an embodiment, the electronic device 10 having an authenticity score of greater than equal to the pre-determined threshold value will be determined to be an authentic device and the electronic device 10 having an authenticity score of less than the pre-determined threshold value will be determined to be a fake device. In another embodiment, the electronic device 10 having an authenticity score of greater than equal to the pre-determined threshold value will be determined to be a fake device and the electronic device 10 having an authenticity score of less than the pre-determined threshold value will be determined to be an authentic device.
In an embodiment, the pre-determined threshold value is same across all the electronic devices. In another embodiment, the pre-determined threshold value is electronic device specific.
In an embodiment, the pre-determined weights and the pre-determined threshold value are pre-stored in the repository 102. The verification server 104 may allow authorized persons to define and modify the weights and the threshold values as per requirement.
An exemplified pseudo code depicting the working of the authenticity module 112 is given below -
Start
Read (first set of information)
Do
{
Extract “n”, where n = number of hardware components from the first set of information;
Extract second set of information corresponding to the “n” hardware components associated with the identified model name;
}
While (reading the model name)
Set hardware component counter to one
Do
{
If (second set of information == first set of information)
{
Output (binary value = 1)
}
Else
{
Output (binary value = 0)
}
Do
{
Output (first value of a hardware component = binary value of the hardware component x pre-assigned weight of the hardware component)
}
While (reading binary value of each hardware component)
}
While (hardware component counter is less than or equal to “n”)
Do
{
Output (authenticity score = summation of first values of hardware components)
}
While (reading first values of each hardware component)
If (authenticity score >= threshold value)
{
Write (“the electronic device is genuine”)
}
Else
{
Write (“the electronic device is fake”)
}
End
In an exemplary embodiment with reference to Figure 4, a request may be initiated on the application 202 installed in the electronic device 10 to determine the authenticity of the electronic device 10. Upon receipt of the request, the application 202 retrieves the details of the electronic device 10 such as brand name and at least one of product name, model name, and an operating system code corresponding to the model name. The application 202 further retrieves a first set of information from the OS of the electronic device 10, the first set of information comprising details related to at least one hardware component of the electronic device 10. For example, the first set of information may be the type of the display and the memory (RAM) size. The first set of information is then transmitted to the verification server 104 using the communication system 106.
Upon receipt of the first set of information, the verification server 104 identifies the model name of the electronic device 10 directly or by using the OS code or product name of the electronic device 10. After identification of the model name of the device 10, the verification server 104 retrieves a second set of information corresponding to the model name from the intransient memory 108, the second set of information comprising the details related to at least one OEM hardware component of the electronic device 10. For example, the second set of information may include the type of the display and the memory (RAM) size as defined by the OEM.
The verification server 104 then analyses the first set of information and second set of information to determine an authenticity result for the electronic device 10. The verification server 104 compares the first set of information and the second set of information to determine a binary value for each hardware component. For example, the verification server 104 may compare the first set of information comprising type of the display and the memory (RAM) size obtained from the electronic device 10 with the second set of information comprising type of the display and the memory (RAM) size obtained from the OEM details stored in the intransient memory 108. If the first set of information matches the second set of information, then the binary value may be a positive value, such as 1. If the values do not match, then the binary value may be a negative value or 0. Conversely, if the first set of information matches the second set of information, the binary value may be 0, otherwise the binary value may be 1. The verification server 104 then determines a first value for each hardware component of the electronic device 10. The first value is calculated by computing the product of the binary value and a pre-determined weight value assigned to the hardware component. For example, if the binary value of camera is found to be 1, then the first value may be the binary value of the camera times the pre-determined weight value assigned to the camera, say 30. Thereafter, the verification server 104 computes an authenticity score for the electronic device 10 based on the first values of the hardware components. For example, the authenticity score may be a sum of the first values of the camera and the battery of the electronic device 10.
The verification server 104 then determines the authenticity result by comparing the computed authenticity score with a pre-determined threshold value. The authenticity result of the electronic device 10 is then transmitted to the electronic device 10 via the communication system 106.
In another exemplary embodiment, there are five hardware components, i.e., display, processor, memory, camera, and battery in the electronic device 10. A weight is pre-assigned to each hardware component of the electronic device 10. A user initiates the testing of the electronic device 10 using the application 202. Upon receiving the testing request, the application 202 extracts the first set of information i.e., details related to the hardware components from the electronic device 10. The extracted first set of information is sent to the verification server 104 via the communication system 106. The verification server 104 retrieves the second set of information comprising OEM assigned details related to the hardware components from the intransient memory 108. The verification server 104 compares the first set of information with the second set of information to determine the binary value for each hardware component. For example, the following table (Table 1) shows determination of binary value for display, processor, memory, camera and battery of the electronic device 10.
Sr. No. Part/ hardware component Pre-assigned weight Data from mobile device Master (OEM) data Check Binary value
1. Display 30 OLED OLED MATCH 1
2. Processor 25 Snapdragon Snapdragon MATCH 1
3. Memory 20 8 GB RAM 8 GB RAM MATCH 1
4. Camera 15 16 MB 16 MB MATCH 1
5. Battery 10 3500 mAh 3500 mAh MATCH 1
Table 1
The verification server 104 computes the first value for each component by multiplying the binary value with the pre-assigned weights. Thus, the first value of display will be 30x1=30, the first value of processor will be 25x1=25, the first value of memory will be 20x1=20, the first value of camera will be 15x1=15 and the first value of battery will be 10x1=10.
Thereafter, the verification server 104 determines the authenticity score by summing all the first values. In this example, the authenticity score equals 30+25+20+15+10 = 100. The authenticity score is compared with a pre-determined threshold value, say 85, to obtain the authenticity result.
Since, the authenticity score in this case is greater than the threshold value, the authenticity result is “pass” or “not fake”. The authenticity result in transmitted to the application installed 202 in the electronic device 10. The application 202 displays the authenticity result to the user.
In yet another exemplary embodiment, the test is to be performed for the electronic device 10 having five hardware components, i.e., display, processor, memory, camera, and battery. A user initiates the testing of the electronic device 10 using the application 202. Upon receiving the testing request, the application 202 extracts the first set of information i.e., details related to the hardware components from the electronic device 10. The extracted first set of information is sent to the verification server 104 via the communication system 106. The verification server 104 retrieves the second set of information comprising OEM assigned details related to the hardware components from the intransient memory 108. The verification server 104 compares the first set of information with the second set of information to determine the binary value for each hardware component. For example, the following table shows determination of binary value for display, processor, memory, camera and battery of the electronic device 10. A weight pre-assigned to each hardware component of the electronic device 10 is also shown in the table 2 below.
Sr. No. Part/ hardware component Pre-assigned weight Data from mobile device Master (OEM) data Check Binary value
1. Display 30 OLED AMOLED NO MATCH 0
2. Processor 25 Snapdragon Intel NO MATCH 0
3. Memory 20 8 GB RAM 8 GB RAM MATCH 1
4. Camera 15 16 MB 16 MB MATCH 1
5. Battery 10 3500 mAh 3500 mAh MATCH 1
Table 2
The verification server 104 computes the first value for each component by multiplying the binary value with the pre-assigned weights. Thus, the first value of display will be 30x0=0, the first value of processor will be 25x0=0, the fist value of memory will be 20x1=20, the first value of camera will be 15x1=15 and the first value of battery will be 10x1=10.
Thereafter, the verification server 104 determines the authenticity score by summing all the first values. In this example, the authenticity score equals 20+15+10 = 45. The authenticity score is compared with a pre-determined threshold value, say 85, to obtain the authenticity result.
Since, the authenticity score in this case is lesser than the threshold value, the authenticity result is “fake”. The authenticity result in transmitted to the application installed 202 in the electronic device 10. The application 202 displays the authenticity result to the user.
In an alternate embodiment, the binary scores for hardware components may be determined as shown in table 3 below.
Sr. No. Part/ hardware component Pre-assigned weight Data from mobile device Master (OEM) data Check Binary value
1. Display 30 OLED AMOLED NO MATCH 1
2. Processor 25 Snapdragon Intel NO MATCH 1
3. Memory 20 8 GB RAM 8 GB RAM MATCH 0
4. Camera 15 16 MB 16 MB MATCH 0
5. Battery 10 3500 mAh 3500 mAh MATCH 0
Table 3
In this case, the verification server 104 computes the first value for each component by multiplying the binary value with the pre-assigned weights. Thus, the first value of display will be 30x1=1, the first value of processor will be 25x1=1, the fist value of memory will be 20x0=0, the first value of camera will be 15x1=0 and the first value of battery will be 10x0=0. Thereafter, the verification server 104 determines the authenticity score by summing all the first values. In this example, the authenticity score equals 30+25 = 55. The authenticity score is compared with a pre-determined threshold value, say 25, to obtain the authenticity result. In this example, the threshold value will be a lower threshold value. For the device to be declared as “genuine”, the authenticity score must be less than the pre-determined threshold value.
Here, the authenticity score is 55, which is greater than the threshold value of 25. Therefore, the authenticity result is “fake”. The authenticity result in transmitted to the application installed 202 in the electronic device 10. The application 202 displays the authenticity result to the user.
In still another exemplary embodiment with reference to Figure 5, in addition to the steps of Figure 4, the verification server 104 may be configured to determine a likelihood of correctness of the specification combination i.e., combination of technical details of hardware components as received from the electronic device 10. This determination may be made using an association function which is learned from a dataset comprising the first set of information, the second set of information and the authenticity result for tested electronic devices 10. For example, if the device 10 includes two hardware components i.e., memory and camera and the first set of information obtained from the electronic device 10 corresponding to the hardware components is “2GB RAM” and “32 MP camera”, the verification server 104 may determine that the likelihood of such combination of specification/technical details is very low. The verification server 104 may determine a score/value corresponding to the likelihood of combination of specification based on the association function. Thereafter, the verification server 104 may compare the determined value with the pre-determined threshold to generate the authenticity result. In this case, since the likelihood of combination of “2GB RAM” and “32 MP camera” is low, the verification server 104 may determine that the electronic device 10 is “fake”. Similarly, the verification server 104 may be configured to determine a monetary value of an identified electronic device (i.e., an identified device model) and may be further configured to determine, using the association function, whether the first set of information corresponding to the hardware components of the electronic device 10 are likely to be correct based on the monetary value of the electronic device 10. This is fundamentally based on the observation that a fraudulent device is likely to include at least one component of lesser quality, as the fraudster will inherently try to optimise profit.
In an embodiment, when the authenticity result is obtained from both the authenticity score and the likelihood of combination of specification, the verification server 104 may generate the authenticity result of “fake” if either of the scores is found to be below the pre-determined threshold value.
In addition to the above, the verification server 104 may be configured to periodically update the intransient memory 108 by retrieving OEM data corresponding to the electronic devices and its hardware components from various sources on the Internet.
As used herein, the “verification server” or “server” includes one or more processors, wherein processor refers to any logic circuitry for processing instructions. A server may include a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor, a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits, Field Programmable Gate Array circuits, any other type of integrated circuits, etc. The server 104 may perform signal coding data processing, input/output processing, and/or any other functionality that enables the working of the system according to the present disclosure.
The repository 102 may be configured to allow the processors of the server 104 to execute various processing functions envisages in the present disclosure. The repository 102 may include, but is not limited to, a volatile memory, non-volatile memory, a remote storage, a cloud storage, high-speed random-access memory and/or non-volatile memory, such as one or more magnetic disk storage devices, one or more optical storage devices, and/or flash memory (e.g., NAND, NOR) or a combination thereof. In some embodiments, repository 102 may further include memory remotely configured relative to the processors of the server 104.
The intransient memory 108 may include, but is not limited to, a volatile memory, non-volatile memory, a remote storage, a cloud storage, high-speed random-access memory and/or non-volatile memory, such as one or more magnetic disk storage devices, one or more optical storage devices, and/or flash memory (e.g., NAND, NOR) or a combination thereof. In some embodiments, intransient memory 108 may further include a memory remotely configured relative to the server 104 which may be connected to the electronic device 10 via a network. Embodiments of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The electronic device 10 includes a transceiver configured to transmit data to or receive data from the verification server 104.
The communication system 106 may be any wired or wireless communication network capable to transfer data packets between entities of that network such as such as a carrier network including circuit switched network, a public switched network, a CDN network, an LTE network, GSM network and UMTS network. In an embodiment, the communication network 106 may comprise of a network controller and a base station.
As used herein, a “graphical user interface” may be a user interface that allows a user of the electronic device 10 to interact with the electronic device 10 through graphical icons and visual indicators, such as secondary notation, and any combination thereof.
The hardware component of the electronic device 10 may be any hardware component or part of the electronic device 10 which is necessary for the effective functioning of the electronic device 10. For example, a hardware component 10 may be any one or more of, but is not limited to, display, processor(s), memory unit(s) such as GPU, CPU, camera(s), battery, sensor(s) such as light sensor, proximity sensor, accelerometer, barometer, compass, gyroscope, speaker(s), GPS, NFC, and Wi-Fi chip(s), antennas, mother board or any other such hardware component of the electronic device 10 which is necessary for the effective functioning of the electronic device 10.
In an embodiment, the application 202 may prompt the user to grant various permissions to read data relating to the hardware components from the operating system of the electronic device 10. The application 202 may read data related to only those components which are permitted to be read by the user. In an exemplary embodiment, the application 202 may request permission to access information regarding camera, Internet, network state, phone state, Wi-Fi state, Bluetooth, Flashlight, fine location, and coarse location, and permissions to read external storage, write on external storage, modify audio settings, record audio, change Wi-Fi state, and use biometric authenticity capability.
The present disclosure also envisages the method 300 for determining the authenticity of an electronic device 10, the electronic device 10 including a plurality of hardware components. Referring to Figures 3A, 3B and 3C, the method 300 comprises the following steps.
At step 302, the application 202 installed and executed in an operating system of the electronic device 10 to be tested facilitates initiation of testing of the electronic device 10.
At step 304, the application 202 reads a device information from the operating system of the electronic device 10 upon initiation of the testing of the electronic device 10, the device information comprising (i) a first set of information including technical details corresponding to the hardware components of the electronic device 10 and (ii) a brand name of the electronic device 10 and at least one of a model name, a product name and an operating system code (OS code) corresponding to a model name of the electronic device 10.
At step 306, a first lookup table is stored in a database of an intransient memory 108. The first lookup table comprises a list of electronic device brand names, a list of model names corresponding to each of the brand names, and a second set of information comprising details corresponding to the original equipment manufacturer (OEM) hardware components associated with each of the model names.
At step 308, a verification server 104 is enabled to communicate with the electronic device 10 and the intransient memory 108. The verification server 104 receives the device information from the application 202.
At step 310, A second lookup table is stored in a repository 102 of the verification server 104. The second lookup table comprises the list of electronic device brand names, the list of model names corresponding to each of the brand names, the list of hardware components, at least one of the OS code and product name associated with each of the model names and a pre-determined weight associated with each hardware component.
At step 312, a model identification module 110 of the verification server 104 extracts the model name from the received device information if the device information includes the model name.
At step 314, if the model name is not found in the device information, the model identification module 110 extracts the brand name and at least one of the product name and the OS code of the electronic device 10 from the received device information. Further, the model identification module 110 looks up the brand name and the extracted product name or OS code in the second lookup table to obtain the corresponding model name.
At step 316, an authenticity module 112 of the verification server 104 receives the model name of the electronic device 10.
At step 318, the authenticity module 112 extracts the second set of information stored in the first lookup table corresponding to the received model name.
At step 320, the authenticity module 112 compares the first set of information contained in the device information with the second set of information corresponding to the received model name to generate a binary value for each hardware component of the electronic device 10.
At step 322, the authenticity module 112 analyses the binary values for the hardware components within the electronic device 10 using the corresponding pre-determined weights and a pre-determined threshold value to generate an authenticity result indicative of a determined authenticity of the electronic device 10.
In an embodiment, the step of analysing, by the authenticity module 112, the binary values for the hardware components within the electronic device 10 comprises:
- receiving, by a computation module 112b of the authenticity module 112, the binary value for each hardware component;
- computing, by the computation module 112b, a first value for each hardware component based on the received binary value and the pre-determined weight corresponding to each hardware component obtained from the second lookup table;
- performing, by a score generation module 112c of the authenticity module 112, the summation of the first value associated with the hardware components within the electronic device 10 to generate an authenticity score indicative of the determined authenticity of the electronic device 10;
- receiving, by a notification generation module 112d of the authenticity module 112, the authenticity score; and
- comparing, by the notification generation module 112d, the received authenticity score with a pre-determined threshold value to generate the authenticity result.
TEST RESULTS -
The system 100 and the method 300 were tested on various electronic devices for determining their authenticity. A few examples of the actual devices which were found to be fake and genuine using the system 100 and method 300 of the present application are provided in the tables 4 and 5 below. The tables indicate the physical appearance of the electronic devices that were tested and the actual findings of the system 100 and method 300. The IMEI numbers of the electronic devices tested are masked for data privacy concerns.
- Physical Appearance Actual Findings Comments
IMEI Brand Model OS Brand Model OS
3555XXXXXXX1291 Samsung Note 10+ Android Samsung Note 10+ Android - Fake phone detected
3555 XXXXXXX 5318 Samsung Note 10+ Android Samsung Note 10+ Android - Fake phone detected
3592 XXXXXXX 1158 Samsung Note 10 Pro Android Samsung Note 10 Pro Android - Fake phone detected
3592 XXXXXXX 7563 Samsung A10s Android Samsung Galaxy A10s Android - Fake phone detected
3574 XXXXXXX 9512 Samsung Note 10 Android Samsung Note 10 Android - Fake phone detected
Table 4
- Physical Appearance Actual Findings Comments
IMEI Brand Model OS Brand Model OS -
8640 XXXXXXX 8258
8640 XXXXXXX 8266 MI Redmi 6 Pro Android MI Redmi 6 Pro Android Genuine
Table 5
The units, interfaces, modules, and/or components depicted in the figures and described herein may be present in the form of a hardware, a software and a combination thereof. Connection/s shown between these units/ components/ modules/ interfaces in the exemplary system architecture may interact with each other through various wired links, links, logical links and/or physical links. Further, the units/components/modules/interfaces may be connected in other possible ways.
The foregoing description of the embodiments has been provided for purposes of illustration and not intended to limit the scope of the present disclosure. Individual components of a particular embodiment are generally not limited to that particular embodiment, but are interchangeable. Such variations are not to be regarded as a departure from the present disclosure, and all such modifications are considered to be within the scope of the present disclosure.
TECHNICAL ADVANCEMENTS
The present disclosure described herein above has several technical advantages including, but not limited to, the realization of a system and method for determining the authenticity of a mobile that:
• is accurate;
• helps in determining the authenticity of the components of an electronic device without having to dismantle the electronic device;
• is easily reproduceable;
• gives quantitative and qualitative estimate of genuineness of the electronic device; and
• is reliable and efficient.
The embodiments herein and the various features and advantageous details thereof are explained with reference to the non-limiting embodiments in the following description. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the embodiments herein. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein may be practiced and to further enable those of skill in the art to practice the embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments herein.
The foregoing description of the specific embodiments so fully reveal the general nature of the embodiments herein that others can, by applying current knowledge, readily modify and/or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications should and are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Therefore, while the embodiments herein have been described in terms of preferred embodiments, those skilled in the art will recognize that the embodiments herein can be practiced with modification within the scope of the embodiments as described herein.
The use of the expression “at least” or “at least one” suggests the use of one or more elements or quantities, as the use may be in the embodiment of the disclosure to achieve one or more of the desired objects or results.
While considerable emphasis has been placed herein on the components and component parts of the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing from the principles of the disclosure. These and other changes in the preferred embodiment as well as other embodiments of the disclosure will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be interpreted merely as illustrative of the disclosure and not as a limitation.
| # | Name | Date |
|---|---|---|
| 1 | 202123033765-STATEMENT OF UNDERTAKING (FORM 3) [27-07-2021(online)].pdf | 2021-07-27 |
| 2 | 202123033765-PROOF OF RIGHT [27-07-2021(online)].pdf | 2021-07-27 |
| 3 | 202123033765-POWER OF AUTHORITY [27-07-2021(online)].pdf | 2021-07-27 |
| 4 | 202123033765-FORM 1 [27-07-2021(online)].pdf | 2021-07-27 |
| 5 | 202123033765-DRAWINGS [27-07-2021(online)].pdf | 2021-07-27 |
| 6 | 202123033765-DECLARATION OF INVENTORSHIP (FORM 5) [27-07-2021(online)].pdf | 2021-07-27 |
| 7 | 202123033765-COMPLETE SPECIFICATION [27-07-2021(online)].pdf | 2021-07-27 |
| 8 | 202123033765-Proof of Right [17-08-2021(online)].pdf | 2021-08-17 |
| 9 | Abstract1.jpg | 2022-02-11 |
| 10 | 202123033765-FORM 3 [02-08-2022(online)].pdf | 2022-08-02 |
| 11 | 202123033765-Request Letter-Correspondence [27-08-2022(online)].pdf | 2022-08-27 |
| 12 | 202123033765-Power of Attorney [27-08-2022(online)].pdf | 2022-08-27 |
| 13 | 202123033765-Covering Letter [27-08-2022(online)].pdf | 2022-08-27 |
| 14 | 202123033765 CORRESPONDANCE (IPO) WIPO DAS 02-09-2022.pdf | 2022-09-02 |
| 15 | 202123033765-FORM 3 [26-04-2023(online)].pdf | 2023-04-26 |
| 16 | 202123033765-FORM 18 [25-07-2024(online)].pdf | 2024-07-25 |