Log in

View Full Version : Gedanken experiment - an uncrackable architecture


TBone
October 29th, 2004, 12:51
Ok, long post here, but what the hell.

If you aren't familiar with the term, a "gedanken experiment" is a theoretical experiment carried out in your head (gedanken is the German word for "thought", or so I'm told). I'm not sure who coined the phrase - some attribute it to Einstein, but I suspect it could have been any of the famous German scientists who immigrated to the U.S. during WW2.

Anyway, what got me to thinking about this is quantum cryptography. Well, actually it started with the Diffie-Hellman-Merkle key exchange. The idea that two people can exchange a piece of secret information in a non-secret way demolished a fundamental principle in cryptography that had existed for hundreds (if not thousands) of years. And now we've had an even more startling revelation that by clever use of the uncertainty principle, we can devise a system that allows people to exchange information in a way that makes eavesdropping absolutely impossible by the known laws of physics.

So, my gedanken experiment is this: is there a way to design a computing architecture which is truly uncrackable? The underlying assumption has always been that this impossible because the code must be executed at the processor, where the end user can observe it. If you look a little closer at the premise, what we're really saying is:

If the code is executed by the processor, then the user can observe it.

But what if that's not true? It sounds crazy to suggest that you could execute code without looking at it, but quantum physics is full of situations where simply looking at something completely changes its behavior. Can we design a computing machine that only works right when no one is looking at it? What sort of properties would such as system have to posses in order to work?

I think the first necessary arrangement is that the code is stored at a remote location, and delivered to the computer only as-needed. We can transfer it from the code store to the computer across a quantumly encrypted channel, which we already know how to do over reasonably long distances. Likewise, the computer should be designed so that it never stores any data outside of the execution unit. Data which needs to be stored for later use would need to be sent back to the code store, again using a quantum encryption channel. Obviously, a computer with no local memory is highly impractical for current designs. But this is just a thought experiment, we don't have to be practical, just possible .

Interestingly enough, the speed penalty of transfering data across long distances becomes much less problematic if we utilize massively parallel processing. If you've read some of Richard Feynman's excellent musings on nanotechnology, you'll see that this is an area in which nanotech shows great potential. Which dovetails in to another property of an uncrackable computer in an interesting unification.

Such a computer would have to be very small. So far we've protected the code from observation from it's storage location to the execution unit, and vice versa. But the much more difficult and unknown task of protecting the execution unit itself from observation remains. Present day circuits are no good for this. They're simply too big. The uncertainty principle and most other quantum effects tend to average out and become negligable in large scale systems. We need a system that's small enough for these effects to become a dominant "force". We have to go down to the atomic and sub-atomic level.

It's here that I get stuck. The general trend in designing such tiny circuits is tha they have to be able to withstand all the random perturbations that occur on such small scale. For example, it's necessary to implement reversable logic gates which will reproduce the original arguments should the flow of the circuit be reversed. But for our system to work, we need the circuits to be in a sense, nondurable. We need the behavior of the circuits to change when observed.

So, does anyone want to take a crack () at this? Can you come up with a general scheme for a system that can only function correctly when you don't look at it?

nikolatesla20
October 29th, 2004, 14:49
I find my penis tends to function more correctly if I don't look at it.



The problem with any "protection", even one that can change while you observe it, is that it eventually needs to communicate with the outside world, after all, if it doesn't do that, then whats the point?

The weaknesses then, are in the outside communication chain, not in the process itself. As one advances in reverse code engineering, they begin to become enlightened to that fact.


-nt20

Woodmann
October 29th, 2004, 16:15
Howdy,

It was a few years back when I stated that we would be working at a ring level of -3. ring level 0 we know. Ring level -1 would be voice, ring level -2 would be fingerprint and ring level -3 would be retinal/optical nerve.

So, we could build a rig that could only interact with our own thoughts.
(sounds like a movie that has already been made)

nikola raises the point that if it needs to access the outside world, we will have a problem.
If this rig only works with our own thought patterns, how would one "hook" into the "neural network" ?
Since everything is encrypted EXCEPT our thoughts, think radio waves,
could this be "cracked/hacked/stolen?


Remember, anything is possible in this experiment

Woodmann

omega_red
October 30th, 2004, 05:35
Quote:
[Originally Posted by Woodmann]
If this rig only works with our own thought patterns, how would one "hook" into the "neural network" ?
Since everything is encrypted EXCEPT our thoughts, think radio waves,
could this be "cracked/hacked/stolen?


Remember, anything is possible in this experiment

Woodmann


Thoughts are just electrochemical processes in brain's neurons, we can theoretically stick a probe to each neuron (nanotechnology?) and measure its state

naides
October 30th, 2004, 11:21
Quote:
[Originally Posted by nikolatesla20]I find my penis tends to function more correctly if I don't look at it.
-nt20


So there is a fundamental entaglement between Viagra and Heinsenberg's Principle??

JMI
October 31st, 2004, 11:58
Maybe nikolatesla20's only reporting that visualizing the project and contemplating reaching a satisfactory conclusion can bring on performance anxiety.

Regards,

mike
October 31st, 2004, 17:23
This might be relevant:
http://arxiv.org/abs/quant-ph/0303173

Woodmann
October 31st, 2004, 20:13
Nice dig Mike,

Damn quantum stuff is so.. so..... quantum ?? :P:

Woodmann

JMI
November 1st, 2004, 02:15
And you quantify it very well.

Regards,

disavowed
November 2nd, 2004, 00:34
Quote:
[Originally Posted by TBone]If the code is executed by the processor, then the user can observe it.
not necessarily. this isn't true on *nix systems for executables with flags -r-w+x (assuming we're not root, etc.)

Quote:
[Originally Posted by TBone]Can we design a computing machine that only works right when no one is looking at it? What sort of properties would such as system have to posses in order to work?
certainly. make if fail if photons leave the system. (btw, this is why it's impossible to observe a closed system from the outside)

SL0rd
November 3rd, 2004, 09:41
Quote:
[Originally Posted by TBone]
the computer should be designed so that it never stores any data outside of the execution unit.


I believe it cant avoid breaking the software, cause locally you have total control over the processor, you can instruct it to do whatever you want, its not you looking at the data but the processor itself, if the processor is a trusted object in the system whoever control it will be also a trusted element!

mike
November 3rd, 2004, 19:16
Another quantum protocol that might interest you is quantum cryptography. It allows communicating parties to detect eavesdropping, since eavesdropping messes up single photons.

There are more conventional protocols to consider, though, like secure function computation. You blind your input, send it to someone else who computes a function with that input, sends you the blinded result, and you unblind to get the true result.

You can also perform a secure computation protocol, where each step in the program is known to both parties, but each has a secret input where the only information that leaks is what you can learn from the output of the computation. If the program you are executing together is an interpreter and one of the parties' secret inputs is the program to be interpreted, then the other party will never know what is being computed.

tdennist
November 4th, 2004, 19:59
I don't have anything to add to the thread. I just wanted to say that you guys here on these message boards are some of the most intelligent people I've ever encountered.

I respect you all.

Silver
November 5th, 2004, 06:05
Quote:
You can also perform a secure computation protocol, where each step in the program is known to both parties, but each has a secret input where the only information that leaks is what you can learn from the output of the computation. If the program you are executing together is an interpreter and one of the parties' secret inputs is the program to be interpreted, then the other party will never know what is being computed.


I may be misunderstanding, but isn't that exactly what PKI & assymetric key encryption does?

mike
November 7th, 2004, 20:45
With asymmetric crypto, you are merely sending a message. In these protocols, you are computing a function of an input.

In the first, Alice only has a smartcard, but Bob has a desktop pc. Alice wants to compute f(x), but doesn't have the resources. Bob is willing to compute f(x) for her, but Alice doesn't want to tell Bob x. The protocol involves a secret function b that commutes with f and is easy to compute; that is, f(b(x))=b(f(x)). Alice sends Bob y=b(x). Bob computes f(y)=f(b(x))=b(f(x)), and sends it to Alice. Alice computes b'(b(f(x))) = f(x), where b'=inverse(b).

In the second, they trade off doing computations. Alice has a secret A and Bob has a secret B. They want to compute f(A,B), but neither is willing to reveal their secret.

See Schneier's Applied Crypto for some examples.