PRF
암호화에서 PRF라는 용어는 일반적으로 키 생성, 데이터 난독화 등을 비롯한 다양한 목적에 사용되는 함수 유형인 PseudoRandom 함수를 나타냅니다.
한편, TLS(Transport Layer Security) 프로토콜의 맥락에서 PRF라는 용어는 키 자료 및 기타 암호화 값을 생성하는 데 사용되는 프로토콜 내에서 정의된 특정 기능을 나타내는 데 사용됩니다.
이 함수는 일반적으로 무작위로 나타나고 결합된 입력 및 비밀을 알지 못하는 한 예측하기 어려운 출력을 생성하도록 설계되었습니다.
이 함수의 출력은 실제로 프로토콜에서의 사용 맥락에서 의사 난수로 취급될 수 있습니다.
TLS에서의 PRF
의사 랜덤 함수 (PRF)
TLS에서는 PRF라고 하는 의사랜덤 함수를 사용해서 비밀을 확장하여 데이터 블록을 생성한다.
이 방식으로 키를 생성하고 점검한다
이렇게 하는 이유는 공유한 비밀 값이 작지만, 긴 데이터 블록을 만들고자 하는데 있다.
- A(0) = seed
- A(i) = HMAC_hash(secret, A(i-1))
아래는 TLS 함수 p_hash(secret, seed) 개요도이다.
데이터 확장 함수에서는 HMAC 알고리즘을 사용하는데 MD5나 SHA-1을 기본 해시 함수로 이용한다.
보면 알겠지만, 원하는 길이의 데이터를 생성하기 위해 p_hash는 필요한 만큼 반복해서 적용한다.
또한, PRF는 가능한 안전하게 만들기 위해 2개의 해시 알고리즘을 사용한다
PRF(secret, label, seed) = P_<hash>(secret, label∥seed))
의사 난수 함수(PRF)
고정된 길이 의사 난수 비트열을 생성하는데 사용되는 함수이다.
예로는 대칭 암호 키와 비표에 이용 된다.
생성되는 비트열만 다르지 PRNG와 PRF는 차이점이 없다
이 두 경우 모두 동일한 알고리즘을 사용할 수 있다. 모두 입력 값으로 종자가 필요하고 출력 된 값은 무작위성과 예측 불가능 성을 가져야 한다.
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
'Computer Science > Security' 카테고리의 다른 글
전송 모드 (0) | 2023.06.16 |
---|---|
IEEE 802 프로토콜 구조 (0) | 2023.06.14 |
TLS 지정 프로토콜 (0) | 2023.06.13 |
암호도구 (0) | 2023.06.10 |
IKE(Internet Key Management) (0) | 2023.06.10 |