non reprogrammable gate array as aposed to field reprogrammable gate array - Page 1
Forum section: electronics / beginners

author: Capernicus
author_rank: Frequent Contributor
timestamp: December 27, 2021, 08:09:44 pm
content: So I have an FPGA project right, but Its important to me to make sure ppl cant hack it at a later date, after I release the product.Is there a kind of programmable gate array, similar to FPGA's. (And perhaps even uses the same programming software) But once u've "baked" the gates, they are that way indefinitely onward?

author: Benta
author_rank: Super Contributor
timestamp: December 27, 2021, 08:30:09 pm
content: It's called a CPLD.

author: dferyance
author_rank: Regular Contributor
timestamp: December 27, 2021, 08:41:50 pm
content: You want to sell someone something but put restrictions on how they use and modify it? Are you going to tell prospective customers about this up-front or is it a fun surprise for them to discover?You could always go the ASIC route. But if the snarky tone isn't enough indication, I don't think you should be thinking along these lines. Make the best product you can. If someone can modify it to be even better for themselves, why would you be bothered? It would be a case of succeeding in areas you didn't even imagine. If you don't want someone to be able to modify your product, don't sell it to them.If it is just some small glue logic instead of a large FPGA design, greenpak has OTP devices that are customizable. But nothing prevents someone from desoldering your chip and putting in a differently programmed one instead.

author: rstofer
author_rank: Super Contributor
timestamp: December 27, 2021, 08:44:40 pm
content: For Xilinx 7 Series, you can use encryption:https://www.xilinx.com/support/documentation/application_notes/xapp1239-fpga-bitstream-encryption.pdf

author: Capernicus
author_rank: Frequent Contributor
timestamp: December 27, 2021, 08:44:59 pm
content: Why security? I agree with you that its a pissoff in general for the consumer's ur selling it to.Its a robot. And I have to make sure it operates as intended, and not any other way.For example if a self driving car is reprogrammed, it can be used as an autonomous car bomb. So its no good that way.To do the job properly, you have to make sure nothing is modifiable at a later date, by anyone!Sure I could not worry about it, but I may as well do the best job I can.The guy that built the passenger jet's autonomous flight system used in the 9/11 plane bombing couldnt be bothered, hell the whole thing was open-source anyway.

author: Benta
author_rank: Super Contributor
timestamp: December 27, 2021, 09:03:55 pm
content: Quote from: dferyance on December 27, 2021, 08:41:50 pmWhoa, whoa, take it easy.Using an FPGA or CPLD is no different to using 74HC logic. People can't change those either. Hardware is not necessarily Open Source. Neither is Firmware.Capernicus' motivation that people meddling with things is unwanted is fully understandable.

author: dferyance
author_rank: Regular Contributor
timestamp: December 27, 2021, 09:39:56 pm
content: Quote from: Benta on December 27, 2021, 09:03:55 pmThere is a big difference between something being difficult to modify due to design tradeoffs and something being difficult to modify due to the designer specifically trying to foil you. The latter is unexpected and should be advertised. If I buy a robot, I might not have the expectation that the manufacture made it easy to modify. But no one expects it to be designed as to prevent modification.

author: Capernicus
author_rank: Frequent Contributor
timestamp: December 27, 2021, 10:06:38 pm
content: You can use it as a selling point. * uncompromisable controller system . sounds flash to me. =)

author: NorthernWing
author_rank: Contributor
timestamp: December 28, 2021, 02:07:47 pm
content: QuoteNo sane person working on a commercial product is going to specifically ignore the security on their programmable devices because the end customer might be upset by you protecting the hardware from third party tampering. I work in industrial controls and not only do we need to protect the firmware on our devices from being dumped and cloned, it's a matter of safety and liability that we avoid the lawsuit when a third-party modification blows up someone's plant with a few kilovolts sent somewhere unexpected. The court doesn't understand what an FPGA bitstream is, only that your product was able to be reconfigured and caused X to happen. Sure they'll probably lose in the end, but it costs time and money to fight that. Hardware doesn't have to be open source and even if that can be reverse-engineered, the firmware on basically any MCU/FPGA ever implemented is just going to be a secured binary blob that you don't have access to.Anyway, I'd say the best you'll do is either a flash-based CPLD/FPGA (Lattice MachXO2, Microsemi SmartFusion/Iglooo, Altera MAX, etc) programmed out-of-system with security enabled, or just a regular old FPGA that supports bitstream encryption like most of the Xilinx 7-series. These will guarantee that they at least won't have access to the firmware load... at that point, you could still have someone desolder the FPGA/configuration flash and substitute their own, but without a bitstream it's pretty much useless. I guess if you really wanted to ruin someone's day you could pot the whole thing with a solid resin compound to stop that.

author: gnuarm
author_rank: Super Contributor
timestamp: December 28, 2021, 03:46:23 pm
content: Quote from: Capernicus on December 27, 2021, 08:09:44 pmThe answer depends on exactly what you mean by "hacking". As others have said, there's always a way to "hack" a design and make it do something it wasn't designed to do.If you want an FPGA that once programmed, becomes an ASIC, forever unalterable, I don't know a solution other than a fuse based CPLD as others have said.Short of that you can use a device which is one time programmable, but also includes configuration RAM. The Lattice iCE40 are like this. So your design is protected (to some degree), but if the user has access to the programming interface such as JTAG, they can download to the RAM and usurp your device. However, this would require attachment of a JTAG cable every time the FPGA is booted or other mods to connect a ROM device to provide the configuration data via a hardware hack like a piggy back board.I don't see how encryption would help at all. That is intended to prevent access to the bit stream for reverse engineering which does not seem to be your concern at all. I'm not current on bit stream encryption, but I think that does not prevent the device from being programmed in another mode like from a programming cable. This is usually done by a small number of pins pulled high or low.At one time Xilinx had a "Hard" something or other option where your design would be put into an ASIC with guaranteed compatibility to the Xililnx part. I think Altera had this option as well. Xilinx realized they could get a similar cost savings by simply testing a standard FPGA against the customer's design rather than ~100%. So I don't think they do the ASIC equivalent anymore. They quoted me prices which turned out to be a minimum charge of $100,000 regardless of quantity. I had to ask for several quotes at different quantities before I figured that out on my own rather than them just explaining that. lol I don't know what Altera does these days.

author: dmills
author_rank: Super Contributor
timestamp: December 28, 2021, 04:08:09 pm
content: You can encrypt the bitstream and either store the AES key in the FPGA in a memory location that cannot be read back, thus preventing easy cloning of the device because there is no (easy) way to copy the decryption key out of the chip when reversing it. You can also generate a bitstream unique to a specific chip based on the device serial number which will ONLY work with that one specific part (Pain in the arse for series production however).Much like processors these things have various ways to protect the bitstream from being copied and used to produce clones, with varying levels of effectiveness.IIRC Lattice (and others) have some flash based FPGAs that don't store the bitstream on an external device and almost certainly have the ability to have a readout prevention bit set.

author: gnuarm
author_rank: Super Contributor
timestamp: December 28, 2021, 04:16:20 pm
content: Quote from: dmills on December 28, 2021, 04:08:09 pmI don't think he is worried about people cloning the robot. He is worried about people loading new designs into the robots he built and sold. This is a bit harder to do with as much certainty as protecting the bit stream.

author: rstofer
author_rank: Super Contributor
timestamp: December 28, 2021, 04:44:31 pm
content: It's my understanding that for the Xilinx 7 series, if you choose to enable encryption by way of the eFuses, once the device is programmed, it can't be reprogrammed without a matching key and the key internal to the FPGA can't be reached from the fabric. It's one and done!That doesn't prevent someone from replacing the device completely but then it's a different physical device and even having the original bitstream is no help without the encryption key.The good news is that the key can also be stored in battery-backed memory and if the coin-cell (or whatever) is removed, the key disappears and the existing bitstream with encryption will no longer work but a complete naked bitstream could be used. That would be helpful during development and testing.Xilinx has it pretty well covered.Of course, for crypto, it is equally useful for the bitstream to disappear on power failure with no Platform Flash on the system to store the bitstream. The comm specialists come around and reprogram the device following a power failure. Disappearing encryption keys is a good thing in this application.

author: Jan Audio
author_rank: Frequent Contributor
timestamp: December 30, 2021, 03:23:08 pm
content: Whats so special ?. they tend to replace the complete firmware, the whole chip, when modifieing, making it work should not be hard just control the connected hardware.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: December 30, 2021, 03:37:28 pm
content: QuoteWhat's the difference between a user modifying the FPGA, and doing any other hardware modification, like unsoldering the FPGA and replacing it, or just replacing the whole board?Chances are there's an MCU in there somewhere and the FPGA gets configured by it, so whatever you implement to stop unauthorised firmware updates (signatures etc.) would cover the FPGA config.Also, unlike hacking firmware, modifying FPGA bitstreams isn't generally practical, so if you are not concerned about simple copying, there isn't really much need to protect the FPGA, as any "hacking" would mean re-desinging the whole thing from scratch.You could implement a challenge-response thing using a function in the FPGA to verify that the FPGA code is something you created. but if someone was prepared to go that far, chances are they'd be messing with the firmware as well.QuoteThat is simply not possible.

author: Capernicus
author_rank: Frequent Contributor
timestamp: December 31, 2021, 01:00:28 pm
content: Quote from: mikeselectricstuff on December 30, 2021, 03:37:28 pmHi Mike! =)Using a CPLD, makes it harder for them to benefit from the *EXACT* algorythms I'm using for computer vision and motor development system. (which is entirely software.) Sure, if they are as good a software company as OPENAI for example, they wont even need the code I write to make a robot, because their AI is better than mine anyway, what I'm doing is making it harder for less able people to reconfigure the motivation of the system. (which I have distinct bars to stop the robot from doing certain things, which I cannot allow, cause my robot has a definite use case, and I dont want anything but what I want to happen, when I release it to the public.)If they can make a robot from scratch, they wont need to even bother using my system at all. (Total board replacement for example.) But I just want to make sure they cannot use my! code! to do anything I dont want it to do.Its just the AI im protecting, the rest (like the leg actuators, and other intellectual property) ppl can reverse engineer all they want, I dont mind. All that i'm prepared to lose, I dont care. Just not the software.Theres tonnes of robot bodies out there, but software to get them to move is more rare, all the money on the price tag is going to the software, not the hardware.If they can get a microscope out to go hack into the CPLD, I guess if they go to that extent, they can have it, but It may be easier for them to just work out their own AI system instead, because Its quite difficult now to even bother going for the theft/reappropriation, and lots of ppl cant do it.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: December 31, 2021, 04:04:03 pm
content: By the way, if you want a more FPGA-sized device with onboard memory, Lattice XO2 or XO3 may be worth a look

author: gnuarm
author_rank: Super Contributor
timestamp: December 31, 2021, 04:46:16 pm
content: Quote from: Capernicus on December 31, 2021, 01:00:28 pmIf you are trying to protect the IP you need to encrypt the bit stream. No other way does that. l thought you were trying to prevent someone from loading a new bit stream into your hardware which could make it look like it was your product with all the issues it may have.QuoteOk, that's what I thought you were saying. So you are or are not trying to protect your bit stream? If the Xilinx encryption works as someone indicated, not allowing ANY bit stream that doesn't match the encryption (on a permanent basis) would accomplish both goals.QuoteOk, now you are back to talking about protecting the IP.QuoteThere are Chinese companies that specialize in this and it's not actually that hard. You can read flash contents and even read hardwire connections in a chip. If you really want to understand the issues I would suggest posting about this in the comp.arch.fpga newsgroup.https://groups.google.com/g/comp.arch.fpgaSome very knowledgeable people post there.

author: jmelson
author_rank: Super Contributor
timestamp: December 31, 2021, 05:52:42 pm
content: Quote from: Capernicus on December 31, 2021, 01:00:28 pmWell, the NSA has some techniques. If you open the inner shield of some crypto devices, a spring-loaded spear smashes the exposed silicon chip(s).Jon

author: james_s
author_rank: Super Contributor
timestamp: December 31, 2021, 06:11:20 pm
content: Quote from: NorthernWing on December 28, 2021, 02:07:47 pmI have developed a couple of commercial products, one of which is a device that gets mounted on utility poles and I have never protected the firmware. There are a couple of reasons for this, one is these products are niche enough that I would be extremely surprised if anyone ever tried to clone them and if they did I would take that as the sincerest form of flattery. The other is that no sane customer is going to dump the raw firmware image, attempt to modify it and put it back into the device. If they do modify it and something goes wrong that is their problem, I can't stop somebody from trying to modify the product they purchased and the fact that I do not take active steps to block them does not mean I advocate or endorse such modification. Protecting the firmware is overrated and in many cases actually motivates me to attempt to crack it whereas normally I wouldn't bother.

author: james_s
author_rank: Super Contributor
timestamp: December 31, 2021, 06:13:56 pm
content: Quote from: jmelson on December 31, 2021, 05:52:42 pmNothing is impossible to crack, it is only possible to make it more difficult. I would bet there is a way to immobilize that spear once you know where it is, and that can be accomplished by xraying the device or just strip down a sacrificial part. Fill it with resin, distort it mechanically, freeze it to make the spring brittle or heat it until it loses its springiness, there's always a way if someone is sufficiently motivated and equipped.

author: gnuarm
author_rank: Super Contributor
timestamp: December 31, 2021, 06:23:13 pm
content: Quote from: james_s on December 31, 2021, 06:13:56 pmTrust me, that's not the only protection and they have thought of everything you will think of. A friend told me of a container to prevent a shipped device from being tampered with. Yeah, even after he told me of all the protections, there was no way I could think of to get past them all. I'm not sure he even knew all the protections. He probably couldn't talk about them all if he did.A spy has to have their secrets.

author: Capernicus
author_rank: Frequent Contributor
timestamp: December 31, 2021, 06:32:31 pm
content: If you were going to make it impossible to crack, if you make the asic yourself, there would be more ways to secure it than this.I dont care about it this ROS (robotic operating system) much, but I still want to have a go at securing it (the method) for practice, for when if I make one I really do need to protect.

author: gnuarm
author_rank: Super Contributor
timestamp: December 31, 2021, 06:40:22 pm
content: Quote from: Capernicus on December 31, 2021, 06:32:31 pmPerhaps you could explain exactly what occurrences you wish to protect against. I still don't know if it is theft of the IP in the bit stream or someone loading their bit stream into your hardware or both.

author: Capernicus
author_rank: Frequent Contributor
timestamp: December 31, 2021, 06:59:50 pm
content: I just want to make sure it runs that one exact program, and no modified version of the program.

author: james_s
author_rank: Super Contributor
timestamp: December 31, 2021, 07:22:34 pm
content: Quote from: gnuarm on December 31, 2021, 06:23:13 pmI didn't claim I could crack it, all I'm saying is it can be cracked, with sufficient effort and resources somebody can do it, no matter how carefully it is designed they have overlooked something.

author: gnuarm
author_rank: Super Contributor
timestamp: January 01, 2022, 03:35:21 am
content: Quote from: Capernicus on December 31, 2021, 06:59:50 pmOk, I appreciate that you are trying to be clear, but I'm not sure what is meant by "modified version of the program". If someone gets their hands on your bit stream they would have a lot more work to reverse engineer it into something they could modify. So this is an unlikely, although possible thing to do with conventional FPGAs loaded from an external serial Flash. It is only a bit harder to access the bit stream from chips with internal flash unless the download can be disabled permanently in which case it would be very difficult. So this is about someone downloading the bit stream. Are you trying to prevent that even though it is very difficult to reverse engineer the bit stream?Or are you talking about preventing the loading of a spurious bit stream into the FPGA in your device? This would include a modified copy of your bit stream or a functionally similar bit stream generated any other way such as a clean room implementation (using specs for your device and a fresh implementation from start) or just an entirely different design.

author: gnuarm
author_rank: Super Contributor
timestamp: January 01, 2022, 03:40:00 am
content: Quote from: james_s on December 31, 2021, 07:22:34 pmI understand, but I don't agree that there is always a way to crack any protection since there are always limits on the manner of approach or the funds available or even the time available. Cracking encryption is an example. Yes, every cipher can be cracked by exhaustive testing of all possible keys, but there may not be enough time in the universe to accomplish that.Likewise a physical means of protection can be designed so there is no effective way of bypassing it without an excessive expenditure or damage to the thing being accessed. Not every system has a flaw.

author: Capernicus
author_rank: Frequent Contributor
timestamp: January 01, 2022, 04:31:51 am
content: Quote from: gnuarm on January 01, 2022, 03:35:21 amSo even if I use an FPGA - its still safe. Is that what your trying to tell me. That if they read the code in the programmer they probably wont be up to hacking it anyway?If I use a CPLD is basicly a ROM right... Its fixed and cannot be modified after its being programmed, (so theres no bit stream to intercept.) thats what I'm after, and the fact its miniaturized.I think that you can possibly get some x-ray visual or something of it, but its better than nothing.Quote from: gnuarm on January 01, 2022, 03:35:21 amThat would help too, if you could stop that, because they'd have to upload their version of it after. But if it was just a whole program change to something completely different I dont care, as long as they dont get my code!!! =) Robot bodies are just easy to me, Getting them to move is the hard bit. Thats the bit I want to protect.

author: gnuarm
author_rank: Super Contributor
timestamp: January 01, 2022, 07:14:47 am
content: Quote from: Capernicus on January 01, 2022, 04:31:51 amYeah, the only FPGA I know of that has had its bit stream reverse engineered is the iCE40 from Lattice which was done by a team to facilitate development of open source tools. I'm not saying it can't be done by professionals who specialize in this, but it takes a lot of effort.QuoteI'm not sure that is true, it may depend on the particular device. In the old days CPLDs has programmable fuses that were one time programmed. I think they use Flash in CPLDs now so they can be erased. But there may be some that either are only one time programmable, or that may have a "fuse" that once blown, no longer allows programming.QuoteTo prevent someone from uploading a new bit stream requires that the FPGA have this as a feature. Either a "fuse" that prevents reprogramming or it sounds like the Xilinx encryption might do the job. You can check on the iCE40 devices. They have one time programmable memory (ROM) on the chip as well as RAM. The ROM is loaded into the RAM on power up. A JTAG cable can program either, but there might be one of those fuses that prevents using JTAG to load configuration to the RAM. Then the part will work like a ROM based device. You will need to check the data sheet to make sure it works this way. Or look for an app note that talks about this. There are also some parts from Microsemi (they bought an FPGA company who's name I forget). In fact, Microsemi may have been bought by Microchip. They have "anti-fuse" parts that are one time programmable, period. I'm pretty sure they will work just like you want. Once on the board and programmed, they can't be read or changed if that's how to configure it when programmed.

author: Capernicus
author_rank: Frequent Contributor
timestamp: January 01, 2022, 07:38:05 am
content: Ive got a question.Are there any small low LUT count devices that are more secure than these CPLD's? (Like old school PAL's?)That doesnt sound very pleasing to me, if these CPLD's arent that secure after all.Cause I could put a heap of small ones down that are properly non-programmable instead of one big one, and it takes up more space, slight more of an annoyance, but it would still work out for me, and its not quite as price performance probably but its about the same.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: January 01, 2022, 10:51:21 am
content: Quote from: Capernicus on January 01, 2022, 07:38:05 amHard to compare security between devices as manufacturers won't talk about it. Greenpak is probably the smallest CPLD-like device.You should probably put more time into getting your device actually working rather than worrying about hypotheticals like this.

author: gnuarm
author_rank: Super Contributor
timestamp: January 01, 2022, 05:22:45 pm
content: Quote from: mikeselectricstuff on January 01, 2022, 10:51:21 amI don't know what you mean they won't talk about security??? They brag about it and write white papers on it. It's a selling feature if they actually have any security features.At this point it's still not completely clear what the OP is truly worried about, so I'm going to recommend he uses one of the Xilinx parts with an encryption key assuming this prevents loading of any bit stream that isn't encrypted.The funny thing about using encryption is that it is much easier to attack encryption if you have plain text to match the encrypted text. Bit streams have headers and framing bits which would constitute known plain text. I wonder how they work around that?

author: gnuarm
author_rank: Super Contributor
timestamp: January 01, 2022, 05:24:03 pm
content: Oh, they simply don't encrypt the headers and framing bits!!! Duh!

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: January 01, 2022, 06:40:12 pm
content: Quote from: gnuarm on January 01, 2022, 05:22:45 pmI meant code protection specifically - since Microchip got bitten by the 16C84 debacle, most manufacturers won't make any guarantees about code security as they risk getting sued if it gets broken and someone's code gets compromised

author: gnuarm
author_rank: Super Contributor
timestamp: January 02, 2022, 03:26:53 am
content: Quote from: mikeselectricstuff on January 01, 2022, 06:40:12 pmTalking about it and making guarantees are two different things. I'm not familiar with the "16C84 debacle".

author: Capernicus
author_rank: Frequent Contributor
timestamp: January 02, 2022, 11:11:24 am
content: Quote from: mikeselectricstuff on January 01, 2022, 06:40:12 pmYou could be right I think, the more they make public about security the less secure it is.e.g. its hard to find documentation about video codeks, because they dont want you to know how to load the files, otherwise they arent secure anymore.Its a hard issue everyone has to deal with, I wouldn't be suprised if its 300 times more complicated using secure gate arrays than normal FPGA use.... maybe I'll end up having to do something else.Its definitely true Javascript is a lot tougher to learn when it comes to using the "barred tools" that enable hackers to destroy the internet. Its pointlessly difficult. I actually gave up "signed java apps" and just went back to good old c executables cause it was getting too pointlessly tricky.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: January 02, 2022, 11:14:26 am
content: Quote from: gnuarm on January 02, 2022, 03:26:53 amIt turned out that you could easily bypass the code security by simply increasing either Vcc or Vpp ( Don't recall which).It didn't occur to them that someone would try operating the device outside its absolute max ratings.Since then they have put this in all their datasheetsQuote

author: Capernicus
author_rank: Frequent Contributor
timestamp: January 02, 2022, 11:50:21 am
content: I could make it all TTL.Using gates like this->https://au.mouser.com/ProductDetail/ROHM-Semiconductor/BU4S71G2-TR?qs=4kLU8WoGk0vdq%252BUG5eCmtA%3D%3D&mgh=1&vip=1&gclid=Cj0KCQiAt8WOBhDbARIsANQLp9762Is5A66Bu_6WEQzyYswCa6JOZJWXmrO2Oj65Y3Mx4LlMij413SMaArDBEALw_wcBit costs $2000 for 6000 of them, maybe ill need twice that, its a bit expensive.Problem is its not miniaturized so possibly its pretty easy to bypass the circuit and change what the robot target is...Is there anything you could do to stop ppl tampering with it? Cause to do it this way, you lose the micro-scale security and its easier to bodge around with it without needing a microscope to do it.

author: gnuarm
author_rank: Super Contributor
timestamp: January 02, 2022, 04:32:23 pm
content: Quote from: Capernicus on January 02, 2022, 11:11:24 amThat is called "Security through Obscurity" and is considered bogus by the pros. Better to have the entire world trying to hack your design so that you find the weaknesses than to only have the hackers find the shortcomings and take advantage of them.

author: Capernicus
author_rank: Frequent Contributor
timestamp: January 02, 2022, 04:35:02 pm
content: Quote from: gnuarm on January 02, 2022, 04:32:23 pmTrue, that would be an ideal form of security... but still a password only works if you keep it a secret, and theres no point securing open-source hardware/inventions at all!! because they can just make it from scratch, without tampering with anything.It has to be new, and better, otherwise possibly no point securing. You have to keep your design docs a secret as well! is what I mean.

author: gnuarm
author_rank: Super Contributor
timestamp: January 02, 2022, 04:43:29 pm
content: Quote from: Capernicus on January 02, 2022, 11:50:21 amI'm not sure you are serious about this or if you are kidding. If you really want to use discrete logic you can do a lot better than single gates. Getting the bugs out will be a tremendous task as each update requires modification to the board.QuoteIf you want to prevent someone from physically altering the board you will have a very hard time with that. Potting the board provides some protection but every potting compound I know of can be removed with difficulty. Maybe concrete? Or put the board in a steel box with a combination lock or...Why are you so concerned someone will make mods to your designs? I've never met anyone with this degree of concern who wasn't working for the government.I think the best thing you can do is to use the encrypted FPGAs, but more than one and have them communicate through encrypted links/handshake. Decompose the design so every function is spread across different FPGAs. It will be harder to figure out what each function does. The design can be stored in a single Flash chip and daisy chain fed to each FPGA.

author: Capernicus
author_rank: Frequent Contributor
timestamp: January 02, 2022, 04:54:05 pm
content: The TTL design could be fully tested in an FPGA program, so theres no wierd bug finding in hardware to do, just make sure its all together right before u get it assembled.Quote from: gnuarm on January 02, 2022, 04:43:29 pmHa, that sounds like a good idea. Maybe I have to think of something wierd... If I could make it so the logic breaks when u try to crack it open?If you make the pcb out of something thats really piss weak, compared to the concrete, you can make it so the board will break if they try to get it open.Its actually the connection of the gates that makes it do what it does, if they fall apart into lots of pieces, hopefully they cant put it backtogether again.A gate by itself is meaningless.I know I seem like a joker, but the security is important in this case in my mind... If your releasing a professional AAA video game, no-one would ever suspect it where-ever you go, but that doesnt stop you from securin' it!

author: gnuarm
author_rank: Super Contributor
timestamp: January 02, 2022, 05:31:28 pm
content: Quote from: Capernicus on January 02, 2022, 04:54:05 pmI see you have never constructed a TTL level design.Quote from: Capernicus on January 02, 2022, 04:54:05 pmYeah, I just don't know what the use case is for this. Trying to protect as design from government level analysis is unlikely to provide a viable product. There are amazing techniques out there to figure out what a system does. They can recover crypto keys by analyzing the power consumption! So they install a key and the complement of the key, or maybe they have an engine with a complement engine so the power consumption is always constant (I can't recall which is important, storing the key or using the key).

author: Capernicus
author_rank: Frequent Contributor
timestamp: January 02, 2022, 06:42:06 pm
content: If you really must know, its a robot, and i don't want it repurposed to something dangerous. Its supposed to not hurt anyone, but it can be reconfigured to do so.Its important. Complete board swapping it means they dont take advantage of my AI to do it, then I have no liability.Ive made plenty of hardware simulators before, its just truth tables in a web, I know what I'm doing there.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: January 02, 2022, 07:37:17 pm
content: Quote from: Capernicus on January 02, 2022, 06:42:06 pmIf someone modifies your product and makes it dangerous, that's their fault,not yours.Seriously, spend your time making a product and stop wasting brain-space worrying about unlikely scenarios like this.

author: KaneTW
author_rank: Frequent Contributor
timestamp: January 02, 2022, 07:50:59 pm
content: You are fighting a losing battle. If someone's determined enough, they will be able to modify it. Don't waste your time.Make a good product, and any aftermarket modifications will pretty much never be your fault.And if you want to get really paranoid: I'll take your board with the hypothetically perfectly secure FPGA, and solder a new FPGA on it. Nothing that indicates that wasn't the factory FPGA except the serial number, which can be scratched off. And civil cases are *not* beyond a reasonable doubt.PS: in fact, I'd argue by going overboard on security you're waving a red flag at hackers. I don't have the time nowadays, but someone putting excessive protection on something is basically an invitation to crack it wide open just 'cause.

author: Capernicus
author_rank: Frequent Contributor
timestamp: January 02, 2022, 09:08:39 pm
content: Quote from: mikeselectricstuff on January 02, 2022, 07:37:17 pmMaybe in a legal sense, but really? Its my fricken fault if it happens.Also, what if its not legal in Japan to own it? That has to stay UNMODIFIED in the system.Since Japs are so good at technology, they can make it them bloody selves, the amount of crap they put on us in this area pisses me off.

author: Bud
author_rank: Super Contributor
timestamp: January 02, 2022, 09:52:07 pm
content: You seem to confuse AI with IP....

author: Capernicus
author_rank: Frequent Contributor
timestamp: January 02, 2022, 09:58:41 pm
content: please explain. (ip?)

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: January 02, 2022, 11:12:38 pm
content: Quote from: Capernicus on January 02, 2022, 09:08:39 pmNo it isn't. It's the fault of the person who modifies it. As long as you have taken reasonable steps ( e.g. signed firmware updates).And if your product is something that's potentially dangerous, focus on making it safe when it's used correctly before worrying about what someone else might do

author: Capernicus
author_rank: Frequent Contributor
timestamp: January 02, 2022, 11:28:14 pm
content: As A.I. gradually increases in complexity, it becomes more weaponizable. Its ok for something like a roomba, theres no way that thing could be dangerous, but if the thing is doing the dishes for you, that thing is potentially fricken dangerous if they can repurpose the thing. Autonomous cars are in the same situation, thats why I thought openpilot (George Hotz) is such a bad idea just teaching everyone how to do it. But I guess its whats happening...

author: I wanted a rude username
author_rank: Frequent Contributor
timestamp: January 02, 2022, 11:44:06 pm
content: Quote from: Capernicus on January 02, 2022, 11:28:14 pmUsers will find a way. Don't bame yourself.I agree the priority should be to bring the product to market. You probably have much more complex challenges ahead than this peripheral concern.

author: Capernicus
author_rank: Frequent Contributor
timestamp: January 03, 2022, 12:09:03 am
content: Quote from: I wanted a rude username on January 02, 2022, 11:44:06 pmRealisticly tho, without a complete reprogram that thing would do a pretty shit job at being a soldier. and then after the software is fixed (perhaps a little.) it wont be able to make it out the door frame because its useless mobility. May as well be a completely new robot after its finished being worked apon.So if you know how to do better, you dont have to tell a soul if you dont want to.

author: Capernicus
author_rank: Frequent Contributor
timestamp: January 03, 2022, 12:55:56 am
content: What if it was a smart rifle that only can be activated when one guy uses it and noone else? u dont want that tampered with!!!

author: Bud
author_rank: Super Contributor
timestamp: January 03, 2022, 01:12:35 am
content: Quote from: Capernicus on January 02, 2022, 09:58:41 pmIntellectual Property.

author: Capernicus
author_rank: Frequent Contributor
timestamp: January 03, 2022, 01:29:11 am
content: Quote from: Bud on January 03, 2022, 01:12:35 amwell what isnt that IMO.

author: gnuarm
author_rank: Super Contributor
timestamp: January 03, 2022, 02:13:26 am
content: Quote from: Capernicus on January 02, 2022, 06:42:06 pmIf they load a distinct design into your hardware... well you have no more liability than you describe above. So are you trying to prevent the loading of a distinct design, or them reverse engineering your design? They are totally different things or at least are prevented using different measures.

author: gnuarm
author_rank: Super Contributor
timestamp: January 03, 2022, 03:09:56 am
content: Quote from: Capernicus on January 02, 2022, 09:08:39 pmOf course it's not your fault if it happens. Even if you provided tools for someone to explore programming a robot, all you really need is a warning about the potential harm presented in appropriate format and location, etc. and you are off the hook 99.99%. Not 100% because as someone has pointed out there are no absolutes in the law and more so in civil law. By not providing tools and someone having to essentially jailbreak the robot it makes a very hard to prove a case that you were in any way negligent by not encrypting bit streams and snipping the programming pins and encapsulating the entire modules, etc.QuoteI have no idea what you are trying to say with this. Illegal to own what?

author: gnuarm
author_rank: Super Contributor
timestamp: January 03, 2022, 03:15:59 am
content: Quote from: Capernicus on January 03, 2022, 12:09:03 amYou have no imagination. The Roomba only needs to plug in to charge at the right time, blow the circuit it is in and kills the power to your iron lung. Or 10,000 Roombas do this at the exact same instant and blow the power to the city, the county, 100,000,000 Roombas blow the power across the country bringing the grid to it's knees causing nuclear missiles to be launched... well, maybe not nuke missiles, but the nuke power plants can't be shut down rapidly and would have to be scrammed meaning they are down for a week.Yeah, that could happen, seriously.

author: gnuarm
author_rank: Super Contributor
timestamp: January 03, 2022, 03:16:35 am
content: Quote from: Capernicus on January 03, 2022, 01:29:11 am

author: Capernicus
author_rank: Frequent Contributor
timestamp: January 03, 2022, 10:13:29 am
content: Quote from: gnuarm on January 03, 2022, 02:13:26 amI need to stop both of those, I just dont care if they swap the logic completely, I just dont want to be giving them any helping hand to getting their job done for them.Theres probably something I can do, the more from scratch I do it possibly the better the security is, because it isnt a commonplace generic technology anymore. and that would add some confusion to the situation.

author: gnuarm
author_rank: Super Contributor
timestamp: January 04, 2022, 11:24:06 am
content: Quote from: Capernicus on January 03, 2022, 10:13:29 amOk, I'm about to give up. You say you need to stop both, then you say you don't care about one. I don't understand what you are saying or you don't understand what I am saying.QuoteAll you need is the sort of security the Xilinx chips offer. Use the built in encryption and that will prevent both.