암호화 프리미티브
Cryptographic primitive암호화 프리미티브는 컴퓨터 보안 [1]시스템의 암호화 프로토콜을 구축하는 데 자주 사용되는 잘 확립된 저수준 암호화 알고리즘입니다.이러한 루틴에는 단방향 해시 함수 및 암호화 함수가 포함되지만 이에 한정되지 않습니다.
근거
암호화 시스템을 만들 때 설계자는 암호화 원형을 가장 기본적인 구성 요소로 사용합니다.따라서 암호화 프리미티브는 정밀하게 정의되고 신뢰성이 높은 방법으로 하나의 매우 구체적인 작업을 수행하도록 설계되어 있습니다.
암호화 프리미티브는 빌딩 블록으로 사용되기 때문에 매우 신뢰성이 높고, 즉 사양에 따라 수행되어야 합니다.예를 들어, 암호화 루틴이 다음과 같은 경우에만 깨질 수 있다고 주장하는 경우X컴퓨터 조작의 수, 그리고 그 수는, 보다 큰폭으로 적은 수로 망가져 있습니다.X그럼 그 암호화 프리미티브는 실패했군요암호화 프리미티브가 실패하면 이를 사용하는 거의 모든 프로토콜이 취약해집니다.암호화 루틴을 작성하는 것은 매우 어렵고 신뢰성 테스트에 오랜 시간이 걸리기 때문에 새로운 암호화 시스템의 요구에 맞게 새로운 암호화 프리미티브를 설계하는 것은 본질적으로 합리적이지 않습니다.그 이유는 다음과 같습니다.
- 설계자는 암호 원소와 관련된 수학적 및 실제적 고려사항에 적합하지 않을 수 있습니다.
- 새로운 암호화 프리미티브를 설계하는 것은 시간이 많이 걸리고 오류가 발생하기 쉬우며 해당 분야의 전문가도 마찬가지입니다.
- 이 분야의 알고리즘은 설계뿐만 아니라 암호학자 커뮤니티에 의한 테스트도 필요로 하기 때문에 설계 관점에서 암호화 루틴이 양호해 보여도 오류가 있을 수 있습니다.이러한 정밀 조사에 성공하면 알고리즘이 실제로 사용하기에 충분히 안전하다는 확신을 얻을 수 있습니다.암호화 프리미티브에 대한 보안 증명은 일반적으로 사용할 수 없습니다.
암호화 프리미티브는 프로그래밍 언어와 어떤 면에서 유사합니다.컴퓨터 프로그래머는 새로운 프로그램을 작성하는 동안 새로운 프로그래밍 언어를 발명하는 경우가 거의 없습니다.대신, 이미 확립된 프로그래밍 언어 중 하나를 사용하여 프로그래밍합니다.
암호화 프리미티브는 TLS, SSL, SSH 등 모든 암호화 시스템의 구성 요소 중 하나입니다.암호화 시스템 설계자는 보안을 확실하게 증명할 수 있는 위치에 있지 않으므로 사용하는 기본 요소를 안전한 것으로 간주해야 합니다.프로토콜에서 사용할 수 있는 최상의 프리미티브를 선택하면 일반적으로 사용 가능한 최상의 보안을 제공합니다.단, 구성상의 약점은 모든 암호 시스템에서 발생할 수 있으며 이를 피하는 것은 설계자의 책임입니다.
암호화 프리미티브의 조합
암호화 원형은 그 자체로 매우 제한적입니다.암호화 시스템이라고는 할 수 없습니다.예를 들어, 베어 암호화 알고리즘은 인증 메커니즘이나 명시적인 메시지 무결성 검사를 제공하지 않습니다.보안 프로토콜과 결합된 경우에만 둘 이상의 보안 요구 사항을 해결할 수 있습니다.예를 들어 부호화되었을 뿐만 아니라, 팅커링으로부터 보호되고 있는(즉, 기밀로 보호되어 완전성이 보호되고 있는) 메시지를 송신하기 위해서, DES등의 부호화 루틴과 SHA-1등의 해시 루틴을 조합해 사용할 수 있습니다.공격자가 암호화 키를 모를 경우 메시지 다이제스트 값이 유효하도록 메시지를 수정할 수 없습니다.
암호화 기본 요소를 결합하여 보안 프로토콜을 만드는 것 자체가 전문화됩니다.대부분의 악용 가능한 오류(암호 시스템의 불안정성)는 원시 요소의 설계 오류(항상 신중하게 선택되었다고 가정)가 아니라 잘못된 프로토콜 설계와 버그가 있거나 충분히 주의하지 않은 구현 방식 때문입니다.프로토콜의 수학적 분석은 이 글의 시점에서는 [citation needed]성숙하지 않다.BAN 로직 등 자동화된 방법으로 검증할 수 있는 기본적인 속성이 몇 가지 있습니다.완전 검증 방법(예: SPI 미적분)도 있지만 매우 번거롭고 자동화할 수 없다.프로토콜 설계는 깊은 지식과 많은 연습을 필요로 하는 기술입니다. 그럼에도 불구하고 실수는 흔합니다.실제 시스템의 예시는 OpenSSL 취약성 뉴스 페이지에서 확인할 수 있습니다.
일반적으로 사용되는 프리미티브
- 단방향 해시 함수(일방향 압축 함수라고도 함) - 메시지의 해시 값을 줄입니다(SHA-256 등).
- 대칭 키 암호화: 복호화 가능한 암호 텍스트를 부호화에 사용한 것과 같은 키(AES 등)로 변환합니다.
- 공개키 암호화: 복호화 가능한 암호문을 인코딩에 사용되는 다른 키(RSA 등)로 변환합니다.
- 디지털 서명: 메시지 작성자 확인
- 혼합 네트워크: 많은 사용자로부터의 통신을 풀링하여 발신자 정보를 익명화합니다.
- 개인 정보 검색 - 서버가 요청된 항목을 인식하지 않고 데이터베이스 정보를 가져옵니다.
- 커밋 스킴: 선택한 값을 다른 사람에게 숨기면서 커밋할 수 있습니다.나중에 공개할 수 있습니다.
- 암호화로 보호된 의사 난수 생성기
「 」를 참조해 주세요.
레퍼런스
- ^ Editor, CSRC Content. "Cryptographic primitive - Glossary CSRC". csrc.nist.gov. Retrieved 2021-09-19.
{{cite web}}:last=범용명(도움말)이 있습니다.
- Levente Buttyann, Istvann Vajda : Kriptografia és alkalmazashai (크립토그래피와 그 응용 프로그램), Typeotex 2004, ISBN 963-9548-13-8
- Menezes, Alfred J: 응용 암호 핸드북, CRC Press, ISBN 0-8493-8523-7, 1996년 10월, 816페이지.
- Crypto101은 암호 입문 과정으로 모든 연령과 기술 수준의 프로그래머가 무료로 이용할 수 있습니다.