인터넷의 암호화란 무엇이며 어떻게 작동하는지 알아보자
암호화는 디지털 보안을 위한 중요한 기술로,
액세스하지 않는 사람들을 위해 데이터를 읽을 수 없는 형태로 변경하여 개인 정보를 보장합니다.
스키테일, 폴리비우스 스퀘어, 카이사르의 암호와 같은 역사적인 암호화 기술은
현대 암호화 시스템에 영향을 미쳤습니다.
오늘날 암호화는 매우 큰 숫자를 소수로 인수분해하는 알고리즘을 사용하여
작동하며 저장된 데이터를 보호하고 웹 사이트를 보호하며 디지털 통신을 보호합니다.
인터넷에서 사용되는 "암호화"라는 용어를 보신 적이 있을 것입니다.
그것은 우리가 가지고 있는 가장 중요한 기술일 것입니다.
안전한 브라우징에서 보안 이메일에 이르기까지 대부분의 디지털 보안 조치가 이에 달려 있습니다.
암호화가 없었다면, 우리는 개인 정보를 얻을 수 없었을 것입니다.
이것. 사이버 보안 인식 주간 기사는 다음과 관련하여 귀하에게 전달됩니다.
암호화란 무엇입니까?
암호화는 메시지나 데이터를 원래 형태로 되돌리는 방법을 아는 사람만 읽을 수 있도록
메시지나 데이터의 구성을 변경합니다.
다른 사람에게는 횡설수설하거나 의미 없는 문자와 기호 모음으로 보일 것입니다.
민감하거나 개인적인 정보를 보내는 경우에는 이 방법이 매우 유용합니다.
좋은 암호화 방식을 사용하면 해당 정보가 눈을 찌르는 것을 방지할 수 있습니다.
암호화 체계는 메시지 또는 데이터를 읽을 수 없도록 변경하는 방법만 설명합니다.
몇 가지 역사적 사례를 제시한 다음 오늘날 어떻게 진행되는지 논의하겠습니다.
스키테일
가장 이른 시기부터 사람들은 의도한 수신자 외에
다른 사람이 개인 메시지를 읽지 못하도록 하는 다양한 기술을 사용했습니다.
고대 그리스인들은 양피지 한 줄을 팽팽한 나선형으로 스키테일이라고 불리는 나무 막대에 감쌌습니다.
그들은 포장된 양피지 위에 막대 길이를 따라 메시지를 썼습니다.
감겨지지 않은 양피지에 적힌 글은 의미가 없었습니다.
메신저는 메시지를 읽는 수신자에게 양피지를 전달할 것입니다.
먼저 메시지를 자신의 것과 일치하는 낫에 감쌌습니다.
이것은 전치 암호의 한 형태입니다.
원시적인 기술이지만 현대 암호화 시스템에서 볼 수 있는 요소가 있습니다.
보내는 사람과 받는 사람 모두 암호화 체계가 무엇인지,
그리고 그것을 사용하는 방법을 미리 알아야 합니다.
그리고 그렇게 하려면 둘 다 일치하는 메커니즘이 필요합니다.
폴리비우스 광장
고대 그리스인들이 사용했던 또 다른 방법은 폴리비우스 광장을 사용했습니다.
이것은 5x5 또는 6x6 글자 격자였습니다.
편지는 게임 전함과 같은 좌표로 참조되었습니다.
첫 번째 줄의 첫 번째 글자는 "11", 두 번째 줄의 네 번째 글자는 "42" 등으로 코딩되었습니다.
물론 격자를 글자로 채우는 방법도 다양합니다.
글자의 레이아웃을 알지 못하면 해독이 어렵습니다.
이렇게 하면 레이아웃이 다른 여러 개의 정사각형으로 구성된 체계를 설정할 수 있습니다.
예를 들어, 7개의 정사각형을 만들고 요일마다 다른 정사각형을 사용할 수 있습니다.
여러 개의 알파벳을 사용하는 방식을 다알파벳 암호라고 합니다.
폴리비우스 사각형은 코드의 한 형태입니다.
코드는 문자(이 예에서는 숫자)로 다른 문자를 대체합니다. 암호는 글자를 다른 글자로 대체합니다.
카이사르의 암호
줄리어스 시저는 시저의 암호에 그의 이름을 붙였습니다.
암호화할 편지에서 설정된 거리만큼 떨어진 편지를 선택하기 위해 오프셋 또는 "회전"을 사용합니다.
만약 두 개의 오프셋을 사용한다면,
"A"는 "C"로, "D"는 "F"로 표기될 것입니다.
수신자는 자신이 받은 문자에서 오프셋을 차감하여
메시지를 해독하는 데 사용할 올바른 오프셋을 알아야 합니다.
"회전 13" 또는 "ROT13"으로 알려진 오프셋이 13인 시저 암호는
특별한 품질을 가지고 있습니다.
표준 영어 알파벳에는 26개의 문자가 있고, 13개는 정확히 두 번 26개로 나뉩니다.
이 오프셋을 사용하면 암호화 프로세스를 다시 수행할 수 있습니다.
두 번 암호화하면 원래 텍스트로 돌아갑니다.
Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ ROT13: NOPQRSTUVWXYZABCDEFGHIJKLM
맨 위 알파벳의 'GEEK' 글자를 골라 아래 알파벳의 일치하는 글자를 메모하면 'TRRX'가 나옵니다.
맨 위 알파벳의 "TRRX"로 다시 하면 맨 아래 알파벳의 "GEEK" 문자가 나옵니다.
프로그래밍 용어로 말하면 암호화 루틴만 작성하면 되기 때문에 문제가 간단해집니다.
해독 루틴이 필요하지 않습니다.
이것이 프로그램을 배우는 사람들에게 ROT13 구현을 작성하는 것이 일반적인 연습인 이유입니다.
ROT13은 일반적으로 매우 불량하고 낮은 등급의 암호화의 예로도 알려져 있습니다.
이 온라인 ROT13 엔진으로 직접 사용해 볼 수 있습니다.
"Alaska Nynfxn"을 입력한 다음 출력을 입력으로 다시 입력합니다.
그렇다면 암호화란 무엇입니까?
여기서 다룬 모든 예는 쉽게 깨질 수 있지만,
모든 예와 모든 형태의 암호화 간에 공유되는 공통 요소를 보여줍니다.
"평문"이라고 불리는 원본 데이터를 암호문이라고 하는
암호화된 버전으로 변환하려면 따라야 할 일련의 규칙이 있습니다.
그 일련의 규칙은 알고리즘입니다. 그리고 그것이 바로 암호화입니다.
개인 정보 보호를 위한 알고리즘입니다.
암호화는 오늘날 어떻게 작동합니까?
고대 그리스의 사람처럼 개인 데이터를 저장하거나 보내려는
디지털 시대의 사람은 어려움에 직면합니다.
권한이 없는 사람들이 데이터에 접근하는 것을 막기 위해 무엇을 할 수 있습니까?
그리고 그것을 안전하게 만들기 위해 무엇을 할 수 있습니까?
모든 오래된 시스템은 암호화 시스템에 대한 지식으로 극복할 수 있었습니다.
동일한 직경의 막대를 사용하면 스키테일 메시지를 읽을 수 있습니다.
시저의 암호는 메시지의 첫 부분에서 다른 오프셋을 시도함으로써 깨질 수 있습니다.
기껏해야 25개만 시도하면 됩니다.
폴리비우스 사각형은 사각형 내 글자의 레이아웃을 예측할 수 없기 때문에 더 큰 문제를 일으킵니다.
광장의 배치가 무엇인지 안다면, 그것은 도전적이지도 않습니다.
정사각형의 레이아웃을 전혀 모르면 암호문 자체를 연구하여 메시지를 해독해 볼 수 있습니다.
그것을 암호 분석이라고 합니다.
간단한 암호를 사용하면 문자 빈도표와 같은 보조 도구를 사용하여
어떤 암호문 문자가 어떤 평문 문자를 나타내는지 알아낼 수 있습니다.
안전한 암호화 체계는 그 체계의 역학에 대해 누가 알든 안전해야 하며 암호문은 암호 분석 공격을 견뎌야 합니다.
문자, 비트가 아님
강력한 디지털 방식은 직렬 암호처럼 문자와 문자를 한 번에 하나씩 사용할 수 없습니다.
그들은 한 번에 청크로 데이터를 통과하며 블록 암호라고 불립니다.
그들은 암호화 알고리즘 내부에 내장된 복잡한 수학적 변환의 규칙에 따라
각 블록 내부의 비트(모든 비트와 0)를 조작합니다.
알고리즘이 128비트의 블록 크기를 사용하면 128비트의 청크로 데이터를 처리할 수 있습니다.
마지막으로 처리할 청크가 128비트보다 작으면 128비트로 패딩됩니다.
사용 가능한 많은 블록 암호화 체계가 있습니다.
AES(Advanced Encryption Standard)는 미국 정부의 공식 암호화 표준입니다.
서로 다른 암호화 체계는 서로 다른 알고리즘과 블록 길이를 사용하고
서로 다른 조합의 수학적 변환을 사용합니다.
모든 것이 매우 철저하게 들리지만, 권한이 없는 사람이 암호화된
데이터를 해독하기 위해 동일한 암호화 방식을 사용하는 것을 어떻게 방지할 수 있습니까?
해시 문자열
특별한 경우를 먼저 살펴보도록 하겠습니다.
단방향 변환을 사용하여 데이터를 암호화할 수 있습니다.
결과 암호문을 평문으로 되돌릴 수 없기 때문에 ROT13과는 정반대입니다.
더 정확하게는 실제 기간 내에 암호를 해독할 수 없습니다.
이 유형의 암호화는 평문 문자열이 해시 또는 해시 문자열이라고 하는
암호문 문자열로 해시되는 해시 함수에 사용됩니다. 모든 해시 문자열의 길이는 동일합니다.
이것이 어떻게 유용합니까? 글쎄요, 보안 웹사이트는 일반 텍스트로 암호를 저장하지 않습니다.
암호가 해시되고 해시 문자열이 저장됩니다.
비밀번호가 유지되지 않습니다.
다음에 로그인하고 암호를 입력하면 해시되고 해시 문자열이
계정 세부 정보에 저장된 해시 문자열과 비교됩니다.
일치하면 입장할 수 있습니다.
암호를 잘못 입력하면 두 해시 문자열이 일치하지 않아 입력할 수 없습니다.
이를 통해 웹사이트는 비밀번호를 노출된 형태로 저장할 필요 없이 인증을 사용할 수 있습니다.
해킹을 당하면 암호가 손상되지 않습니다.
해싱 기술은 또한 해싱되기 전에 비밀번호에 소금이라고 불리는
고유한 무작위 데이터를 추가할 수 있습니다.
이는 두 명 이상의 사용자가 동일한 암호를 선택한 경우에도 모든 해시가 고유하다는 것을 의미합니다.
암호화는 무엇에 사용됩니까?
오늘날 암호화는 거의 모든 것에 사용됩니다(또는 적어도 그래야 합니다).
다음은 거의 매일 접하는 몇 가지 예입니다.
암호화된 스토리지 드라이브
권한이 없는 사람이 데이터를 해독하는 것을 막기 위해
누가 암호화하고 누가 암호를 해독할 수 있는지를 식별하는 키가 사용됩니다.
키는 복잡한 알고리즘에 의해 생성된 긴 바이트 시퀀스입니다.
일반적으로 크기는 128바이트에서 2048바이트 이상입니다.
키는 암호화 알고리즘이 평문을 암호화할 때 사용됩니다. 키 크기는 블록 크기와 무관합니다.
로컬에 저장된 데이터를 보호하기 위해 전체 하드 드라이브를 암호화할 수 있습니다.
암호화는 사용자의 로그인 ID에 연결되며 키는 자동으로 생성되어 자동으로 적용됩니다.
사용자는 키와 직접적인 상호 작용을 하지 않으며, 키를 다른 사람에게 보낼 필요는 없습니다.
키가 사용자의 로그인 ID에 연결되어 있으므로 컴퓨터에서
하드 드라이브를 제거하고 다른 컴퓨터에 연결하면 데이터에 대한 액세스가 허용되지 않습니다.
이러한 유형의 보호는 정적이거나 "정지 중인" 데이터를 보호합니다.
이것은 일반 컴퓨터에만 적용되는 것이 아닙니다. 현대 전화기의 스토리지도 암호화되어 있습니다.
휴대전화는 개인적이고 민감한 정보의 보고이기 때문에
휴대전화를 가져간 사람은 그 정보에 접근할 수 없습니다.
데이터를 전송해야 하는 경우 "전송 중" 데이터를 보호하는 방법을 고려해야 합니다.
보안 웹사이트
웹사이트에 연결해서 주소 표시줄에 자물쇠 기호가 보이면
안전한 웹사이트에 연결되어 있다는 것을 알고 있죠?
실제로 의미하는 것은 컴퓨터와 웹 사이트 간의 연결이 SSL/TLS 암호화를 사용하여 암호화된다는 것입니다.
좋은 일이지만 나머지 웹사이트의 보안을 확인하지는 않습니다.
웹 사이트는 암호를 일반 텍스트로 저장하고 데이터베이스의 기본 관리 암호를 사용할 수 있습니다.
하지만 적어도 자물쇠를 보면 웹사이트와의 통신이 암호화되어 있다는 것을 알 수 있습니다.
이 암호화는 브라우저와 웹 사이트가 여러 키로 동일한 암호화 방식을
사용하기 때문에 가능합니다.
연결 세션을 시작할 때 브라우저와 웹사이트가 공개 키를 교환합니다.
공개 키는 개인 키를 사용하여 암호화된 것을 해독할 수 있습니다.
브라우저와 웹 사이트는 공개 키를 교환한 다음 개인 키를 사용하여 암호화합니다.
연결의 각 끝에는 다른 끝의 공개 키가 있으므로 각 끝은 다른 끝에서 받은 정보를 해독할 수 있습니다.
개인 키는 절대 노출될 필요가 없습니다.
공개 키를 해제하는 것은 안전합니다. 공개 키는 데이터를 부정하게 암호화하는 데 사용할 수 없습니다.
따라서 웹 사이트의 공개 키 사본을 받더라도 개인 키가 없기 때문에 정품 웹 사이트를 사칭할 수 없습니다.
이것은 진정성에 대한 의문을 제기합니다.
웹사이트가 공개 키와 개인 키 쌍의 실제 소유자이며 어떻게든 정품 웹사이트에서
두 키를 모두 훔친 모방 사이트가 아니라는 것을 어떻게 알 수 있습니까?
인증서는 웹 사이트의 신원을 확인하는 데 사용됩니다.
인증 기관이 신청자의 신원을 확인한 후 발급합니다.
웹 사이트는 연결 세션을 시작할 때 인증서를 핸드셰이크의 일부로 전송하여
웹 브라우저가 인증서의 유효성을 검사할 수 있도록 합니다.
인증 기관에 연락하여 인증서에 대한 일부 정보를 해독함으로써 이 작업을 수행합니다.
이를 위해서는 더 많은 키가 필요합니다.
브라우저에는 설치 번들의 일부로 주요 인증 기관의 공개 키가 있습니다.
그리고 아직 더 많은 키가 관련되어 있습니다.
공개 키를 교환할 뿐만 아니라 브라우저와 웹 사이트는
고유한 세션 키를 생성하여 통신을 더욱 안전하게 보호합니다.
브라우저가 사이트의 진위 여부와 암호화 강도를 확인하면
주소 표시줄에 자물쇠를 놓습니다.
2023.10.12-Windows 11의 암호 및 패스워드를 제거하는 방법을 알아보자
2024.03.15-Wi-Fi 네트워크에 연결된 사용자를 확인하는 방법 알아보기
2023.08.21-와이파이, 메모리 등 잘못 알고 있는 기술 용어 7가지를 알아보자
2023.10.09-아이폰에서 오디오 녹음하는 방법을 알아보자
-
'IT 이것저것' 카테고리의 다른 글
GPU가 고장나거나 문제가 있을 때 주의해야 할 경고 신호 (0) | 2024.05.08 |
---|---|
Mac에서 잘못된 시간과 날짜가 표시되는 오류를 수정하는 8가지 방법 (0) | 2024.05.05 |
Mac에서 스크롤 스크린샷을 찍는 4가지 방법 알아보기 (0) | 2024.05.04 |
ChatGPT로 직접 짠 코딩을 개선하는 방법을 알아보자 (1) | 2024.05.03 |
인스타그램에서 최근에 본 릴스를 다시 찾아서 볼 수 있는 방법 (0) | 2024.04.22 |
댓글