← 04 TRACE무엇을 남겼는가
고치려다 열쇠를 부러뜨렸다
열쇠가 이상하게 저장돼 있어서 다시 넣었습니다. 넣는 도구가 열쇠를 중간에서 잘라 버렸고, 원래 것은 지워졌습니다.
이 쪽은 원문을 쉬운 말로 다시 쓴 판입니다. 저자가 쓴 문장은 원문 쪽에 있습니다. 이 판의 문장은 사람이 쓰지 않았습니다.
프로그램이 "너 누구야, 못 들어와"라고 했습니다.
이유를 물어봤지만 아무 말도 돌아오지 않았습니다. 빈 대답이었습니다.
열쇠가 이상한 모양으로 들어 있었다
컴퓨터에는 비밀을 넣어 두는 금고가 있습니다. 열쇠를 거기 넣어 뒀습니다.
금고에서 꺼내 보니 열쇠가 글자가 아니라 숫자 뭉치였습니다. 숫자를 하나씩 글자로 바꿔 보니 원래 열쇠의 앞부분이 나왔습니다.
넣을 때 실수로 줄바꿈 한 칸이 같이 들어갔던 것이 원인이었습니다. 그러면 이 금고는 글자 대신 숫자 뭉치로 돌려줍니다.
고치려다 부러뜨렸다
숫자를 글자로 되돌려서 금고에 다시 넣었습니다. 넣을 때 "화면에 안 보이게 입력하는 방식" 을 골랐습니다. 그게 더 안전해 보였으니까요.
그 방식은 128글자에서 잘립니다.
제 열쇠는 192글자였습니다. 64글자가 사라졌고, 원래 열쇠는 덮어써졌습니다. 열쇠를 새로 발급받아야 했습니다.
전에 다른 문서에 "안 보이게 입력하는 쪽이 안전하니 권한다" 고 적어 뒀었습니다. 그 조언은 이 128글자 한도를 확인하지 않은 것이었습니다.
안전한 쪽을 골랐는데, 그 방법이 아무 말 없이 데이터를 잘랐습니다.
진짜 원인은 다른 데 있었다
생각해 보면 열쇠를 부러뜨린 건 결과였습니다.
원인은 왜 안 되는지 알려 주는 것이 없었다는 것입니다. 잘못될 수 있는 경우가 네 가지나 되는데, 화면에는 전부 똑같이 "너 누구야, 못 들어와" 하나로만 보였습니다.
- 열쇠 권한이 부족한 경우
- 열쇠가 128글자에서 잘린 경우
- 줄바꿈이 섞여 숫자 뭉치가 된 경우
- "이 방만 봐라" 목록이 비어 있는 경우
넷이 같은 얼굴을 하고 있으면 원인은 추측이 됩니다. 그리고 추측이 고치는 일을 부러뜨리는 일로 만들었습니다.
그래서 진단기를 만들었다
겪은 네 가지를 전부 알아보고, 바로 실행할 수 있는 명령까지 알려 주게 했습니다.
✖ 열쇠 모양: 숫자 뭉치로 보입니다 (386글자)
고치는 명령: (그대로 복사해서 붙이면 됨)
✖ 확인: 못 들어왔습니다
권한이 부족할 때는, 서버가 거절하면서 이미 알려 준 목록을 읽습니다. 빈 대답을 놓고 짐작하지 않습니다.
그리고 진단기는 열쇠를 어떤 형태로도 화면에 내보내지 않습니다. 앞 몇 글자조차 담지 않고 "맞다 / 아니다"로만 답합니다. 검사 도구가 답변에 열쇠 조각이 섞이지 않았는지까지 확인합니다.
못 고치는 것
열쇠를 금고에 넣는 그 순간, 값이 잠깐 다른 곳에서 보일 수 있습니다. 그걸 없애 주는 방법이 바로 안 보이게 입력하는 방식인데, 그건 128글자에서 자릅니다.
제 열쇠는 그보다 깁니다. 그래서 잠깐 보이는 쪽을 택하고, 그 사실을 적어 뒀습니다.
고치는 절차를 처음 써 보는 순간이 가장 위험합니다. 원래 것을 덮어쓰는 절차라면 더욱 그렇습니다.