Security notes / Unsorted: Difference between revisions

From Helpful
Jump to navigation Jump to search
mNo edit summary
 
(3 intermediate revisions by the same user not shown)
Line 254: Line 254:




==Side note: Asymmetric v.s. symmetric keys==
==Side notes==
===Asymmetric v.s. symmetric keys===


Some systems have a '''single key''', that can be used both to encode and decode - which we would call '''symmetric encryption'''.
<!--
Aside from some potential weaknesses about ''how'' that key is used, there is a more fundamental thing to think about.
-->


Simpler systems had symmetric keys, meaning that the encoding and decoding key was the same.


Yes, it allows encryption in both ways.


But only if both parties trust each other ''mutually''.


This allows encryption in both ways -- and that both parties have to trust each other ''mutually''.
Everyone with that one key can do all the writing messages, and reading,
so that key must stay secret -- but it you never really trusted the other party, then arguably it never ''was''.


You have to trust neither will accidentally or purposefully leak the key, because that key means all possible abilities
If hat key ever gets accidentally or purposefully leaked elsewhere,
including
: writing messages now probably means 'impersonating any party involved',
: reading received encrypted data from, current or past
: and reading messages potentially means 'reading all messages, past and future'.
: imitating the other side's data




Sharing the same key between more than two is as weak as the weakest link.
In some ways, two is usually the limit that ''you'' would prefer.




Public-private key have upsides beyond fixing this, but there are many situations where this is the ''main'' thing:
even the strength of its encryption can be entirely secondary that you don't share all abilities from the get-go.


 
Consider:
 
: you can only write messages with the private key
 
: you can read messages with the public key
That's usually fine between two parties, but sharing the same key between more than two is as weak as the weakest link. Again,
: reading all parties' encrypted data from, current or past
: imitating all parties involved
 
 
This is arguably the largest problem that public-private key systems target (there are other upsides):
: given the public key of someone's (public,private) keypair, it is nearly  ''impossible'' to calculate the private one
: given the public key of someone's (public,private) keypair, it is nearly  ''impossible'' to calculate the private one
: ideally even with any number of encrypted messages
...which is why it isn't a problem to hand out the public key.  
...which is why it isn't a problem to hand the public ones out.  
 
 
 
 





Latest revision as of 14:42, 15 May 2024

Security related stuff.


Linux - PAM notes · SELinux

Securing services


A little more practical


More techincal waffling

Message signing notes · Hashing notes ·
Auth - identity and auth notes
Encryption - Encryption notes · public key encryption notes · data-at-rest encryption ·pre-boot authentication · encrypted connections

Unsorted - · Anonymization notes · website security notes · integrated security hardware · Glossary · unsorted

This article/section is a stub — some half-sorted notes, not necessarily checked, not necessarily correct. Feel free to ignore, or tell me about it.


Pre-boot authentication

https://en.wikipedia.org/wiki/Pre-boot_authentication

Nonce

Challenge/response

JSON Web Signature, Encryption, Tokens

This article/section is a stub — some half-sorted notes, not necessarily checked, not necessarily correct. Feel free to ignore, or tell me about it.

GSSAPI notes

GSSAPI is a IETF standard to make it easier for various software to do various strong auth, e.g. Kerberos.

It also allows various other auth schemes to be plugged into it.


Which also makes it potentially interesting for SSO setups within an organisation.


(not unlike SASL, which can include GSSAPI)


It's used by things like OpenSSH,

NaCl

There are two security related things called NaCl - which are completely unrelated to each other.

(There are also other things called salt, like automation software Salt (a.k.a. Saltstack)


NaCl as in libsodium

Google NaCl

Side notes

Asymmetric v.s. symmetric keys

Some systems have a single key, that can be used both to encode and decode - which we would call symmetric encryption.


Yes, it allows encryption in both ways.

But only if both parties trust each other mutually.

Everyone with that one key can do all the writing messages, and reading, so that key must stay secret -- but it you never really trusted the other party, then arguably it never was.

If hat key ever gets accidentally or purposefully leaked elsewhere,

writing messages now probably means 'impersonating any party involved',
and reading messages potentially means 'reading all messages, past and future'.


Sharing the same key between more than two is as weak as the weakest link. In some ways, two is usually the limit that you would prefer.


Public-private key have upsides beyond fixing this, but there are many situations where this is the main thing: even the strength of its encryption can be entirely secondary that you don't share all abilities from the get-go.

Consider:

you can only write messages with the private key
you can read messages with the public key
given the public key of someone's (public,private) keypair, it is nearly impossible to calculate the private one

...which is why it isn't a problem to hand out the public key.