Linux cpuinfo serial means6/15/2023 ![]() arch_perfmon: Intel Architectural PerfMon.constant_tsc: TSC ticks at a constant rate.Transmeta-defined CPU features, CPUID level 0x80860001 3dnow: 3DNow! (AMD vector instructions, competing with Intel's SSE1).lm: Long Mode ( x86-64: amd64, also known as Intel 64, i.e.rdtscp: Read Time-Stamp Counter and Processor ID.pdpe1gb: One GB pages (allows hugepagesz=1G).syscall: SYSCALL (Fast System Call) and SYSRET (Return From Fast System Call).See also Wikipedia and table 2-23 in Intel Advanced Vector Extensions Programming Reference pbe: Pending Break Enable (PBE# pin) wakeup supportĪMD-defined CPU features, CPUID level 0x80000001.ia64: Intel Itanium Architecture 64-bit (not to be confused with Intel's 64-bit x86 architecture with flag x86-64 or "AMD64" bit indicated by flag lm).tm: Automatic clock control (Thermal Monitor).acpi: ACPI via MSR (temperature monitoring and clock speed modulation).dts: Debug Store (buffer for debugging and profiling instructions).cmov: CMOV instructions (conditional move) (also FCMOV).pge: Page Global Enable (global bit in PDEs and PTEs).cx8: CMPXCHG8 instruction (64-bit compare-and-swap).pae: Physical Address Extensions (support for more than 4GB of RAM).msr: Model-Specific Registers (RDMSR, WRMSR).pse: Page Size Extensions (4MB memory pages).fpu: Onboard FPU (floating point support).See also Wikipedia and table 2-27 in Intel Advanced Vector Extensions Programming Reference Intel-defined CPU features, CPUID level 0x00000001 (edx) The full listing is in the kernel source, in the file arch/x86/include/asm/cpufeatures.h. Most of the other features are only of interest to compiler or kernel authors. ![]() a hypervisor (announced as such)? hypervisor.Hardware virtualization (VMX/AMD-V)? vmx (Intel), svm (AMD).In other words, your workstation, laptop or server.) FAQ: Do I have… Read it directly from either the firmware or the otp, as those both require a great deal more effort to spoof, though likely still not impossible.(32-bit a.k.a. You can see the last line is the Serial number, that should be easy to parse, even for a beginnerĪnd, as already discussed above, can be spoofed by someone with a small amount of Linux knowledge creating a custom kernel module. There's little you can do to avoid that level of dedication.įeatures : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 A hash mechanism on the serial number is considered sufficient to protect the codec licences within the firmware, although admittedly that is a little harder to reverse engineer as it isn't running on the ARM.Ī determined hacker will disassemble your code and find the conditional jump between pass and fail of your crypto check and make it always go the "success" route. ![]() It all depends on how much money and effort you want to expend in locking down your project. Just keep that private key private or the whole system falls down. A read of the datasheet and Wikipedia will give you more details. There are a various libraries available for them, but as I understand it you'll program a private key into the device (write only), and your code has the corresponding public key to run a hash of some data and verify that it is a chip you have programmed. You could use an I2C crypto module such as those from Atmel. How would you stop someone copying the contents of the EEPROM and putting it on a cloned board? There's nothing unique in having a single I2C EEPROM. Printf("%s\n", PSN) //compare with: lshw | grep serial:īrekee12 wrote:Why do not put an eeprom onto the i2cbus with your special code it is much simpler. xxxx-xxxx-xxxx-xxxx-XXXX-XXXXĬhar PSN //24 Hex digits, 5 '-' separators, and a '\0' Sprintf(PSN, "%s-%C%C%C%C-%C%C%C%C", PSN, str, str, str, str, str, str, str, str) ?x=3 gives least significant 64 bits in edx and ecx Sprintf(PSN, "%C%C%C%C-%C%C%C%C", str, str, str, str, str, str, str, str) ?x=1 gives most significant 32 bits in eax
0 Comments
Leave a Reply. |