Posted: Tue Oct 31, 2006 6:13 pm
Fist lets define some terminology that you guy's have mention and some terminology that is related to this.
all information from http://en.wikipedia.org/wiki/
Public Key/asymmetric
In public key cryptography, the private key is kept secret, while the public key may be widely distributed. In a sense, one key "locks" a lock; while the other is required to unlock it. It should not be feasible to deduce the private key of a pair given the public key, and in high quality algorithms no such technique is known.
Bob and Alice have separate padlocks. First, Alice asks Bob to send his open padlock to her through regular mail, keeping his key to himself. When Alice receives it she uses it to lock a box containing her message, and sends the locked box to Bob. Bob can then unlock the box with his key and read the message from Alice. To reply, Bob must similarly get Alice's open padlock to lock the box before sending it back to her.
Digital signature
Digital signatures are often used in the context of public key infrastructure (PKI) schemes in which the public key used in the signature scheme is tied to a user by a digital identity certificate issued by a certificate authority, usually run by a third party commercial firm. PKI systems use asymmetric key cryptography to unbreakably bind user information (name, address, phone number, ...) to a public key; the underlying idea is closely akin to that of a notary endorsement. There are several digital signature schemes; most establish two complementary algorithms, one for signing and the other for checking the signature at some later time. The output of the signature process (in principle, these are bit strings, though they can be represented in many ways) is also called a digital signature.
CA(Certificate authority)
A CA will issue a public key certificate which states that the CA attests that the public key contained in the certificate belongs to the person, organization, server, or other entity noted in the certificate. A CA's obligation in such schemes is to verify an applicant's credentials, so that users (relying parties) can trust the information in the CA's certificates. The usual idea is that if the user trusts the CA and can verify the CA's signature, then they can also verify that a certain public key does indeed belong to whomever is identified in the certificate.
Now that we know what where talking about.
The problem with a system with only public key encryption is that you can not guarantee that who you are talking to is who you think it is and is susceptible to by a man-in-the-middle attack. A way to guarantee that you are talking to is to use Digital signatures. But this is still susceptible to by a man-in-the-middle attack. A way to stop this is to use a public CA, But with anything public it is also susceptible to corruption. A way to fix this is to make the CA private and only “tell” the computers who needs to know.
So how does this all fit into perspective,
When a system is installed, the certificate of the server is also installed. When the system is booted up it uses a SSL like protocol to find information about the server you make sure that it is who you want it to be, and if it is, it starts communicating to the server using the client/server public key.
This has some vulnerabilities, but what you now have to consider is how much security do you really need. If we needed all that security, we'd be all using quantum encryption.
all information from http://en.wikipedia.org/wiki/
Public Key/asymmetric
In public key cryptography, the private key is kept secret, while the public key may be widely distributed. In a sense, one key "locks" a lock; while the other is required to unlock it. It should not be feasible to deduce the private key of a pair given the public key, and in high quality algorithms no such technique is known.
Bob and Alice have separate padlocks. First, Alice asks Bob to send his open padlock to her through regular mail, keeping his key to himself. When Alice receives it she uses it to lock a box containing her message, and sends the locked box to Bob. Bob can then unlock the box with his key and read the message from Alice. To reply, Bob must similarly get Alice's open padlock to lock the box before sending it back to her.
Digital signature
Digital signatures are often used in the context of public key infrastructure (PKI) schemes in which the public key used in the signature scheme is tied to a user by a digital identity certificate issued by a certificate authority, usually run by a third party commercial firm. PKI systems use asymmetric key cryptography to unbreakably bind user information (name, address, phone number, ...) to a public key; the underlying idea is closely akin to that of a notary endorsement. There are several digital signature schemes; most establish two complementary algorithms, one for signing and the other for checking the signature at some later time. The output of the signature process (in principle, these are bit strings, though they can be represented in many ways) is also called a digital signature.
CA(Certificate authority)
A CA will issue a public key certificate which states that the CA attests that the public key contained in the certificate belongs to the person, organization, server, or other entity noted in the certificate. A CA's obligation in such schemes is to verify an applicant's credentials, so that users (relying parties) can trust the information in the CA's certificates. The usual idea is that if the user trusts the CA and can verify the CA's signature, then they can also verify that a certain public key does indeed belong to whomever is identified in the certificate.
Now that we know what where talking about.
The problem with a system with only public key encryption is that you can not guarantee that who you are talking to is who you think it is and is susceptible to by a man-in-the-middle attack. A way to guarantee that you are talking to is to use Digital signatures. But this is still susceptible to by a man-in-the-middle attack. A way to stop this is to use a public CA, But with anything public it is also susceptible to corruption. A way to fix this is to make the CA private and only “tell” the computers who needs to know.
So how does this all fit into perspective,
When a system is installed, the certificate of the server is also installed. When the system is booted up it uses a SSL like protocol to find information about the server you make sure that it is who you want it to be, and if it is, it starts communicating to the server using the client/server public key.
This has some vulnerabilities, but what you now have to consider is how much security do you really need. If we needed all that security, we'd be all using quantum encryption.
I don't think this is possible, for example, say that you take your hard dive out of the computer and use another OS that does not support all of your security mechanism can access your, even if it is encrypted on disk. Take Windows for example if you go to the windows directory you can actually decrypt all local users passwords by putting the windows hard drive into a Unix system. and using a cracking tool. My point to all of this is that if we try to make our software/systems secure, there is always going to be a bypass security.Brendan wrote: I need a good way to ensure my OS hasn't been tampered with since last boot (to prevent people replacing kernel modules with huge security holes) that doesn't involve asking an adminstrator for an "authorisation password" each time the computer is booted.