Site icon Tacogrammer

Cryptography

Key Stretching

https://en.wikipedia.org/wiki/Key_stretching

암호키 위탁(Key Escrow)

키(주로 비밀키)를 공인된 기관(주로 정부)에 맡기는 행위. 전화기가 개통될 때 클리퍼 칩등을 사용해 키를 에스크로 업체에 맡기고 법원에서 허가가 있을 때 열어볼 수 있도록 하기 위함인데 PGP로 떠오른 정부기관의 감청 능력에 대한 우려를 잠재우기 위해 나온 개념인데 반발이 심해 key recovery로 대체되었다.

Key Escrow – 영문 위키

암호키 위탁 – 네이버 지식 백과

ECDSA

Why is elliptic curve cryptography not widely used, compared to RSA?

ECDSA: The digital signature algorithm of a better internet

Why is elliptic curve cryptography not widely used, compared to RSA?

What key exchange mechanism should be used in TLS?

PFS perfect forward secrecy

현재 비밀키를 탈취당하거나 해도 이전 데이터 교환 등에서 사용했던 세션 키는 위험에 빠지지 않도록 하는 키 교환 프로토콜의 특징 중 하나. 이 특징을 지원하기 위해서는 세션키의 수명을 짧게 만들어서 탈취당해도 공격 가능 시간을 줄이는 것인데 많은 계산 능력을 요구하게 된다.

TLS 1.3은 중간에 키가 탈취당하면 꼼짝없이 Forward secrecy를 잃어 버리게 되는 RSA대신ephemeral Diffie–Hellman을 유일한 키 교환 방법으로 사용한다. (중국이 도입을 거절하는 이유가 여기 있다)

https://en.wikipedia.org/wiki/Forward_secrecy

https://blog.cloudflare.com/rfc-8446-aka-tls-1-3/

Key derivation function

https://en.wikipedia.org/wiki/Key_derivation_function

Index of coincidence

https://en.wikipedia.org/wiki/Index_of_coincidence

Bcrypt

https://codahale.com/how-to-safely-store-a-password/

https://stackoverflow.com/questions/6832445/how-can-bcrypt-have-built-in-salts

RSA

Why RSA encryption can return different results with C# and Java?

Diffie-Hellman

디피헬먼을 쓰는 이유는 RSA등 asymmetric algorithm,은 Public Key Infrastructure(PKI)가 깔려있다는 전제하에 사용이 가능하기 때문(HTTPS).
Public Key를 얻지 않아도 되는 좀더 편리한 DH를 사용(SSH)
보안적인 측면에서는 RSA로 키를 교환하는게 더 안전

X.509

https://en.wikipedia.org/wiki/X.509

PKCS

https://blog.naver.com/PostView.nhn?blogId=jjaiwook79&logNo=30097958614&redirect=Dlog&widgetTypeCall=true

ASCII armor

ASCII armor is a binary-to-textual encoding converter. ASCII armor is a feature of a type of encryption called pretty good privacy (PGP). ASCII armor involves encasing encrypted messaging in ASCII so that they can be sent in a standard messaging format such as email.

https://en.wikipedia.org/wiki/Binary-to-text_encoding#ASCII_armor

Public key fingerprint

https://en.wikipedia.org/wiki/Public_key_fingerprint

CRL

https://en.wikipedia.org/wiki/Certificate_revocation_list

https://security.stackexchange.com/questions/127988/who-is-responsible-for-revoking-a-certificate

Root Certificate

https://en.wikipedia.org/wiki/Root_certificate

https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.1.0/com.ibm.mq.sec.doc/q009880_.htm

OCSP(Online Certificate Status Protocol)

X.905인증서의 폐지 여부를 알아내기 위해 사용되는 인터넷 프로토콜. CRL보다 적은 데이터를 반환하기 때문에 네트워크나 클라이언트 부담이 적다. 다만 브라우저에서 HTTPS사이트에 접근 하기 전에 추가적인 요청이 필요하고 사용자가 어떤 사이트에 접근하는지 CA가 알게 된다는 단점이 있다. 그래서 나온 것이 OCSP Stapling인데 사용자와 HTTPS 핸드쉐이크 전에 미리 사이트가 CA로부터 사인된 OCSP 응답을 생성하도록 한다. 이렇게 생성한 응답은 제일 처음 클라이언트와 핸드쉐이크 시에 전송한다. 만약 사이트가 OCSP응답을 지원하지 않는다면? 일반 OCSP 프로토콜로 폴백한다.

OCSP – 영문위키

OCSP Stapling in Firefox

https://blog.cloudflare.com/high-reliability-ocsp-stapling/

Does Apple really log every App you run?

Signal Protocol

메시져등의 E2E 암호화에 사용되는 프로토콜. Forward Secrecy 를 지키기 위해서 메시지 마다 키를 변경하는 ratchet 이라는 알고리즘을 사용한다.

에드워드 스노든이 지지하는 프로토콜. 이 프로토클을 자체 구현한 Open Whisper Systems 메신져도 있는데 최근이름을 Signal로 변경했다

Signal Protocol – 영문위키

What Is the Signal Encryption Protocol? – Wired

관련 글

네이버 애플리케이션의 전자 서명 원리

Exit mobile version