12 ms·
Another interesting part of the Raspberry Pi VideoCore blob is that it implements DRM for Raspberry Pi products: the Pi Camera V2 has an Atmel ATSHA204A CryptoA
by bri3d 5y ago
Another interesting part of the Raspberry Pi VideoCore blob is that it implements DRM for Raspberry Pi products: the Pi Camera V2 has an Atmel ATSHA204A CryptoAuthentication chip on it and uses an HMAC+nonce challenge/response system to authenticate with the VideoCore blob when it goes to bring up the CSI interface. Marcan42 dumped the keys from the VideoCore blob and documented the system a few years ago.
According to the Pi Foundation, this is because simple peripherals are too easy to clone and they need to recoup their investment in accessory design.
I was reminded of this while I was researching Twitter speculation yesterday that something similar is done for the DSI interface for displays. I wasn't able to substantiate this - the FKMS (FakeKMS/FirmwareKMS) and proprietary Raspberry Pi video drivers, where link negotiation and backlight control is done in the blob, do only support specific displays. However, it's unclear to me if this is due to driver support or an intentional lock-in. The open-source KMS driver (not yet usable on Raspberry Pi 4) where link negotiation and backlight control is done in the kernel, of course supports anything with a driver.
- ChuckNorris89 5y ago>According to the Pi Foundation, this is because simple peripherals are too easy to clone and they need to recoup their investment in accessory design. I find this completely fair, but then maybe don't call yourself a "charity" and an "open platform" and just be upfront that you need to lock down your hardware to recoup the investment.
- sokoloff 5y agoI don’t object to the use of “charity” nearly so much as “open platform” in this case. A charity that gives away some things but not other things is still a charity. A platform that is partially closed is not fully open.
- deleted 5y ago[deleted]
- nmstoker 5y agoThey've always been pretty clear about which parts that simply couldn't open up, due to restrictions beyond their control.
- zozbot234 5y agoIt would be way less of a problem if they would commit to removing the DRM by a certain date. At the very least, they should commit to doing that when they stop supporting the platform and making the proprietary addons to it.
- codedokode 5y agoNo, this is not fair. If making accessories is not profitable, then don't make them. Instead release the documentation and let others make the accessories.
- Wingy 5y agoI understand this as it being profitable to make and sell accessories, but not to engineer the accessories. The engineering is done in the hope of being able to sell the accessory. If they can't sell the accessory, the engineering investment is purely loss.
- megous 5y agoSo, not a charity...
- codeflo 5y agoYou do realize that most charities sell some things, right?
- megous 5y agoThey don't have to be profit oriented, though. They just have to balance the money flow.
- tjoff 5y agoAnd what is protecting your investment to ensure it is not a massive loss, if not balance their money flow?
- megous 5y agoAnyway, engineering things to manufacture them and sell for profit is not a charity. It's indistinguishable from normal business. Also Raspberry Pi SBCs and accessories are made by Raspberry Pi Trading Ltd, not by the foundation. If you look up FCC testing reports, it's all submitted by Rpi Trading. That's not charity even legally. https://blog.adafruit.com/2021/09/21/raspberry-pi-trading-ltd-raises-45m/ https://blog.adafruit.com/2021/09/21/raspberry-pi-trading-lt... Charity, right? You wouldn't know from their own website, because they seem to not publicize their business structure very much. My guess that it's similar to mozilla foundation/co split. Foundation does nothing about the products, it's just a public face. And corportaion does all the product work, and is very for profit.
- ethbr0 5y ago> then maybe don't call yourself a "charity" The Raspberry Pi Foundation is a charitable organization registered with the Charity Commission for England and Wales. [0] We can quibble over whether we think they're doing work in the best way, but by authoritative definitions they are a charity. [0] https://en.m.wikipedia.org/wiki/Raspberry_Pi_Foundation#Foundation https://en.m.wikipedia.org/wiki/Raspberry_Pi_Foundation#Foun...
- paulmd 5y agoThis is the part where HNers learn that simply being registered as a charity doesn't mean jack shit. Hospital systems that make billions of dollars a year of profit are charities! Companies that own billions of dollars of real estate holdings for no purpose except speculation are charities! Non-profit simply means that profits aren't paid out to shareholders. It doesn't mean you can't make enormous profits and accrue vast amounts of wealth.
- samhw 5y agoNotoriously in England, public schools are charities. My school made god knows how much by offering a few bursaries and thereby counting itself as a charity. My best friend's school, old Slough Comp, is possibly one of the greatest forces of anti-charity and anti-egalitarianism in the country and yet is still - IIRC - a charity. It means absolutely zero whatsoever. Perhaps other countries are different.
- stuaxo 5y agoFor people in the US "Public School" in the UK are actually private.
- akiselev 5y agoAnd "Slough Comp" is a tongue in cheek name for Eton College
- ChuckNorris89 5y ago
- Angostura 5y agoCan you name a charity which doesn’t cover its costs and manages to keep operating?
- MarcScott 5y agoThe Raspberry Pi Foundation is a charity. It just owns Raspberry Pi Limited which is a tech company. Don't confuse the two. RPL does the hardware and software stuff. RPF is focused purely on education and outreach work, and can do that because RPL provide the money.
- BlueTemplar 5y agoIf it were just the peripherals... https://news.ycombinator.com/item?id=31001880 https://news.ycombinator.com/item?id=31001880
- LeoPanthera 5y agoAccording to Google, the Pi Foundation explicitly does not call itself or the Pi a "open platform". The only hits are from the forum, where people are pointing out that it isn't.
- punnerud 5y agoIf the same key could be integrated into video stream, we could have a way to avoid deep fakes? Is the video manipulated? Calculate the hash/key, and use a public key lookup for RPi to verify. To avoid hacking of the key, embed every camera with a unique private key.
- gspr 5y agoWith a central authority to issue unique "authentic camera keys"? What dystopian nonsense you're suggesting! Because without such an authority, what's to stop the deepfake source from generating its own unique key? And we're back to square one.
- deleted 5y ago[deleted]
- dmurray 5y agoYou don't need a centralized authority. Every manufacturer can issue their own keys. I take a digitally signed photo and tell you "I took the photo with this tamper proof Canon camera, and I can prove it by taking more photos of any subject you ask for and signing them with the same key". If you worry that I made an authentic-looking counterfeit Canon camera (but you're satisfied I couldn't have extracted the private key from a real one), Canon can confirm that they sold a camera with that key.
- gspr 5y agoBut what prevents me from saying I'm a manufacturer of tamper proof gspr cameras, that just happen to generate deepfakes? Surely there will be enough cheap devices out there that not everyone can be expected to remember the names of venerable manufacturers? I personally have no idea who makes the camera in my phone. Anyway, the point is moot. The analog hole is still there, you'll just feed the pixels straight from the deep fake generator into the Really Real Tamper Proof Canon's CCD.
- digitallyfree 5y agoOne method would be to have a unique key burned into the image sensor by the manufacturer. That key will be in turn used to cryptographically sign the raw signal output from the sensor to verify that the image was indeed generated by that specific sensor. Now if the image is compressed, this is obviously moot. But for important documentation and the like, it's feasible to store the signed raw signal to confirm that the image was taken by that specific camera. Of course, this depends on the security of the keystore, the trustworthiness of the manufacturer, etc.
- nimbius 5y agopretty offtopic but i gave up on waiting for Pi to be open for anything more than business. their shady history of pushing microsoft repos (and crypto keys) without my consent in their Raspbian OS was the last straw. for those who arent amicable with such a 'charitable' definition of open, pine64 has existed for quite some time. the rock platform easily handles my docker workloads. https://www.pine64.org/rockpro64/ https://www.pine64.org/rockpro64/
- Sirened 5y agoI'd hardly argue that the RK3399 SoC is more "open" than any of the broadcom SoCs. You can't even _see_ the MMIO tables for the RK3399 without an NDA. This isn't different from Broadcom SoCs, but at least the Pi has a large community behind reverse engineering everything. The RK3399 is barely supported by non-Linux distributions (last I checked FreeBSD didn't even boot the A72 core cluster, just the A53s, which leaves a ton of perf on the table) because any work to support it requires either a) blackbox reverse engineering or b) mucking around with the patches vendors (who _do_ have NDA access) have submitted to Linux.
- octoberfranklin 5y ago> I'd hardly argue that the RK3399 SoC is more "open" than any of the broadcom SoCs. What? The gru-kevin chromebook (RK3399) can be booted without using a single binary blob, absolutely everything (even the arm trusted firmware) built from source. I use mine that way. I've never seen a laptop with a "broadcom SoC" that could make that claim. I think you've been deluded by a certain fruit pastry vendor's marketing budget. https://github.com/SolidHal/PrawnOS https://github.com/SolidHal/PrawnOS
- Sirened 5y agoI think we're coming at this from two different definitions of "open". There is a very large difference between "blobless Linux compatible" and "open hardware". Have you tried to use any of these SoCs on any OS other than Linux? Good luck lol, because as I said Rockchip has only really upstreamed support for this chip in Linux and has left everyone high and dry. This is why I specifically called out the issue of MMIO mappings. Seriously, try and scrounge up the addresses for the DMA engines on the RK3399. Or, hell, literally any information whatsoever about the UARTs. The primary place to find any of this is not in public vendor documentation but rather in the device trees Rockchip has submitted to Linux and the various drives different vendors have submitted. Device trees and digging through a pile of barely document C spaghetti is not a suitable replacement for actual documentation. I am coming at this primarily from the perspective of an OS developer. I am not particularly concerned with blobs and non-free code. I am, however, incredibly frustrated by the fact that I cannot do even very basic things with my hardware without spending hours going spelunking in the Linux kernel because vendors refuse to actually provide public documentation for the products they ship. There is a subtly annoying trend in the FOSS community to assume that Linux and Linux derivatives are the only operating systems worth caring about. An undocumented chip which ""runs Linux without blobs"", while perfectly great for Linux users, is not some wonderful thing for everyone who doesn't care about Linux. Frankly, I'd much prefer a blob-ful SoC if it meant I could actually do hardware bring up because a sprinkling of non-free components is much better than not supporting an entire platform.
- deleted 5y ago[deleted]
- dTal 5y agoDoesn't this mean the the Pi foundation has an incentive to discourage open firmware, since it will eliminate the enforcement for their DRM?
- bri3d 5y agoNot really. The firmware is basically protecting itself - the closed source firmware contains proprietary image processing code (ISP) for the camera which Pi Trading paid for, so it's only supposed be used with the Pi Camera. A complete open source re-implementation would either not support ISP, or would include a non-proprietary version of the same or similar code, at which point they shouldn't care.
- monocasa 5y agoThere's also protecting access to the hardware video codecs, in order to account for licensing fees. They might care about that if the MPEG-LA starts being a dick about it.
- bootloop 5y ago> Marcan42 dumped the keys from the VideoCore blob Certainly only the public keys are part of the blob or not? Only the accessories would need the private key embedded to answer the challenge.
- bri3d 5y agoIt’s HMAC, not PKI, so the key is symmetric. Why it was implemented this way in particular I’m not sure. https://gist.github.com/marcan/6dde73a9a0c917cd4fc9784a0a73efe3 https://gist.github.com/marcan/6dde73a9a0c917cd4fc9784a0a73e...