I feel obligated to make the following disclaimer:
Yes, I am still a privacy advocate. I still teach crypto and train people in using privacy-preserving technologies. I also still don't trust any service that I can't kick because data I produce through them is the product and not the service. That said, Google and Google Glass don't seem to be going away anytime soon. So, here are some of my thoughts on Glass.
If you've been bouncing around the consumer electronics set for a while you've undoubtedly heard of Glass, Google's foray into the red-headed stepchild of computer technology for …
Computer memory chips are manufactured identically to any other kind of integrated circuit. Wafers of ultra-pure silicon are selectively doped, masked with layer after layer of circuit diagrams, etched.. you get the picture. The extreme sensitivity of the process is one of the reasons behind the cost of microprocessors and memory these days. What if, however, there was a less touchy and expensive process? A research team lead by Der-Hsien Lien, a graduate student at the National University of Taiwan in Taipei figured out how to print memory circuitry on paper with an inkjet printer. The team fabricated a form …
Just last year around this time the company MC10 figured out how to fabricate small networks of sensors built out of flexible circuitry that stick to the skin of the wearer and collect biotelemetry. By sticking a single square of wavy, flexible circuitry someplace on your person you could keep a medical team appraised of certain aspects of your health. The tech curve, as always, moves like a roller coaster gone out of control... in the journal Nature Nanotechnology a research team at the Swiss Federal Institute of Technology improved upon the design and created flexible circuitry tattoos that can …
So, after all everything's said and done, you're probably asking yourself "Why would somebody go through all this trouble to build a computer from the ground up? It's never going to be as fast as one that you can buy, so what's the point?"
Ultimately, it comes down to what you're trying to accomplish. If you want the fastest possible CPU, tens of gigabytes of RAM, and four monitors so you can go raiding more efficiently chances are you have a threat model that doesn't approach the level of concern, paranoia, or security requirements that we assumed through the other …
Now our hypothetical trusted and open computing platform needs applications so you can get real work done. Text editors, scripting languages, officeware, and probably a desktop of some kind. To stick with our security practice of keeping systems as spare as possible, I recommend only installing applications and their dependencies as you need them. In the last post I suggested picking a package management system of some kind if one isn't already a core component of the OS that we recompiled and installed. If you get in the habit of building and using packages now you'll save yourself a lot …
Now we need an operating system for the trusted, open source computer. As previously mentioned, Windows and MacOSX are out because we can't audit the code, and it is known that weaponized 0-days are stockpiled by some agencies for the purpose of exploitation and remote manipulation of systems, and are also sold on the black and grey markets for varying amounts of money (hundreds to multiple thousands of dollars). It has been observed by experts many a time that software being open source is not a panacea for security. It does, however, mean that the code can be audited for …
After rethinking this post a little, I feel a need to caveat things: In a previous post in this series I mentioned the possibility of using an open source System On A Chip because it would simplify the construction process somewhat. I've been doing some more research and I'm not certain that all SoC's (if that is the direction a project like this would go in) require system firmware of the sort we're about to discuss. The Broadcom BCM2835 mentioned earlier, for example, has firmware on board that is sufficient to initialize the hardware and then try to load the …
This brings us right along to designing and fabricating the circuit boards that our bright, shiny new open source chips will plug into. This level of complexity is probably one of the best understood parts of the development process. Arguably electrical engineering has been around since the discovery of electricity, because a circuit of some kind is required to guide an electrical current to do useful work. You could make the case that the wet string that Benjamin Franklin's kite was tied to was one of the first electrical conductors (because the Baghdad battery hypothesis has too many holes in …
This brings us along to designs that are rather common even though we don't normally think of them as either common or systems. By this, I refer to SoC's - Systems On A Chip. As the name implies, they are full (or nearly so) computers implemented as single mother-huge silicon chips (relatively speaking). On the die you'll find a CPU or microcontroller, supporting electronics for same, an MMU, and enough interfaces to do whatever you want, be it plug in a USB keyboard and mouse, an Ethernet adapter, or a simple USB-to-serial converter circuit. An excellent example of a SoC is …
The next phase of the trusted open computer project is actually manufacturing usable integrated circuits that you can plug into a circuit board, apply power to, and use to do whatever it is that you do. In other words, processing information.
I hate to be a killjoy, but this is really hard. A vital question that we have to ask at this point is whether or not this is the point at which the project is pwnable by a determined third party. Fabbing integrated circuitry on silicon wafers is, to be gentle, a nontrivial process. Here are a couple of …