쉬운·기술사전비유로 이해하는 AI·개발 용어
API와 연결

암호화

Encryption

신용카드 번호를 인터넷으로 전송하면, 목적지까지 가는 동안 수없이 많은 서버를 거쳐요. 그 중간 어딘가에 암호화가 없다면 누구든 내용을 들여다볼 수 있어요.

암호화 개념 다이어그램

신용카드 번호를 인터넷으로 전송하면, 그 데이터는 목적지까지 가는 동안 수없이 많은 서버를 거쳐요. 암호화 덕분에, 그 중간 어딘가에 앉아 있는 낯선 사람에게는 카드 번호 대신 의미 없는 문자 뭉치만 보여요.

암호화란 정보를 뒤섞어 올바른 열쇠 없이는 해독할 수 없는 상태로 만드는 거예요. 읽을 수 있는 텍스트를 자물쇠에 통과시키면 의미 없는 문자열이 나오고, 중간에서 누가 가로채더라도 그냥 잡음일 뿐이에요. 반대편에 있는, 짝이 맞는 열쇠를 가진 사람만이 원래 내용을 읽을 수 있어요. 그 사이의 모든 이에게는 그저 노이즈예요.

가장 익숙한 비유는 잠긴 일기장이에요. 누구든 선반에서 꺼낼 수 있지만, 열쇠 없이는 페이지가 아무 의미도 없어요. 뒤섞는 방식은 실제 수학이지, 눈속임이 아니에요. 그래서 좋은 암호화는 공격자가 잠긴 버전을 손에 쥐고 있어도 버텨내요. 억지로 열려면 현실적으로 불가능한 시간과 연산 능력이 필요하거든요.

의식하지 못한 채 매일 마주치고 있어요:

API 토큰 같은 시크릿(secret)은 전송 중에도, 데이터베이스에 저장될 때도 암호화가 가장 필요한 대상이에요. 시크릿을 평문으로 저장하는 건 전형적인 실수예요. 파일을 한 번이라도 들여다본 사람이 전부 가져갈 수 있으니까요. (비밀번호는 암호화의 사촌인 '해싱(hashing)'으로 처리돼요. 복원 자체가 불가능하게 뒤섞어서, 사이트는 실제 비밀번호를 저장하지 않고도 내가 입력한 값이 맞는지 확인할 수 있어요.) 암호화는 탈취된 데이터베이스를 재앙 대신 잠긴 일기장 더미로 바꿔놓아요.

한 가지 명확한 한계는 기억해두는 게 좋아요. 암호화는 데이터를 보호할 뿐, 열쇠를 보호하지는 않아요. 누군가 열쇠를 훔치거나, 그럴듯하게 꾸민 가짜 페이지에 비밀번호를 입력해서 열쇠를 넘겨준다면, 세상에서 가장 강력한 자물쇠도 그냥 열려요. 실제 침해 사고는 대부분 수학을 뚫는 게 아니라, 열쇠를 손쉽게 얻는 방식으로 일어나요.

암호화는 열쇠를 가진 사람만 읽을 수 있도록 데이터를 뒤섞는 거예요. 브라우저 주소창의 자물쇠이고, 가로채인 메시지가 그냥 잡음인 이유예요. 자물쇠는 강하게, 열쇠는 신중하게.