반응형

전체 글 101

해시는 암호화가 아니다 - 일방향과 양방향 암호화의 차이

보안 점검 질의서에 "비밀번호는 암호화하여 저장합니까?"라는 항목이 있으면, 답변란에 "예, SHA-256으로 암호화"라고 적힌 경우를 흔히 봅니다. 반대로 주민등록번호 칸에 "SHA-256 적용"이라고 적어 놓고, 화면에서는 번호를 다시 보여 줘야 해서 담당자가 곤란해지는 경우도 있습니다. 둘 다 해시와 암호화를 같은 것으로 본 데서 생기는 혼란이에요. 「개인정보의 안전성 확보조치 기준」(개인정보보호위원회고시 제2026-9호, 시행 2026. 7. 1.) 제7조제1항 단서도 "비밀번호를 저장하는 경우에는 복호화되지 아니하도록 일방향 암호화하여 저장하여야 한다."라고 적고 있어서, 해시가 '일방향 암호화'로 불립니다. 여기에 실무에서는 일반 암호화를 흔히 '양방향 암호화'라고 부르니 '암호화'라는 말 하..

보안 2026.10.09

봉오리 - 질문에 답하면 하루가 정리되는 AI 일기를 만들었습니다

일기를 써 보겠다고 노트를 펴면 첫 줄에서 막히는 경우가 많습니다. 오늘 뭘 했는지는 떠오르는데, 그래서 어땠는지는 잘 안 써지거든요. 누가 옆에서 "그때 기분이 어땠어요?" 하고 한 번만 물어봐 주면 술술 나올 텐데요. 그 역할을 대신해 주는 서비스를 직접 만들었습니다. AI가 질문을 건네고 내가 답하는 방식의 일기, 봉오리(https://bongori.app) 입니다. 이번 글에서는 어떻게 쓰는지, 어떤 기능이 있는지, 그리고 보안 일을 하는 사람으로서 가장 신경 쓴 "기록을 어떻게 지키는가"까지 차례로 보여 드릴게요.빈 페이지 대신 질문으로 시작하는 일기봉오리의 핵심은 단순합니다. 내가 먼저 쓰는 게 아니라, 질문에 답하면서 씁니다.질문 하나를 고릅니다. 오늘의 질문이나 '하루 돌아보기', '불안 ..

정보 2026.10.08

개인정보 안전조치 의무 - 법 제29조, 시행령, 고시는 어떻게 연결되나

보안 점검 결과서를 받으면 "개인정보의 안전성 확보조치 기준 제8조 미준수" 같은 문장이 적혀 있습니다. 그런데 정작 개인정보 보호법을 펴 보면 안전조치에 관한 조문은 제29조 한 줄뿐이에요. 접속기록을 몇 년 보관하라는 숫자도, 어떤 정보를 암호화하라는 목록도 법에는 없습니다. 그 숫자들은 법이 시행령에, 시행령이 고시에 넘긴 결과입니다. 이 연결 고리를 한 번 잡아 두면 점검 지적 하나를 받았을 때 "이게 법 위반인가, 권고인가"를 스스로 판단할 수 있게 됩니다.이 글은 2026년 10월 6일 국가법령정보센터에서 확인한 시행 중 조문을 기준으로 합니다.법 제29조에서 고시까지 이어지는 세 단계 (근거 규정)출발점은 법 제29조입니다.개인정보처리자는 개인정보가 유출등이 되지 아니하도록 내부 관리계획 수..

보안 2026.10.08

리눅스 계정 보안 점검 - UID 0, 빈 패스워드, 안 쓰는 계정 찾기

서버 취약점 점검 결과표를 받으면 계정 관리 항목이 거의 빠지지 않고 들어 있습니다. 퇴사자 계정이 그대로 있다, 테스트 계정에 비밀번호가 없다, root 말고도 UID가 0인 계정이 있다. 하나같이 고치는 데 1분도 안 걸리는 문제인데, 서버가 수십 대가 되면 아무도 들여다보지 않습니다. 그 틈에 침입자가 이름만 그럴듯한 UID 0 계정을 하나 남겨 두면, 계정 목록을 훑어보는 것만으로는 눈치채기 어렵습니다. 결론부터 말하면 이 세 가지는 파일 두 개와 awk 한 줄씩이면 전부 찾을 수 있습니다./etc/passwd와 /etc/shadow에서 볼 칸 (개념)리눅스 계정 정보는 두 파일에 나뉘어 있습니다. /etc/passwd는 누구나 읽을 수 있는 계정 목록이고, /etc/shadow는 root만 읽을..

보안 2026.10.07

대칭키 vs 비대칭키 - 왜 둘 중 하나만 쓰지 않을까

암호화 요건 회의에서 자주 나오는 질문이 있습니다. "공개키 암호가 더 안전하다던데, 그냥 RSA로 전부 암호화하면 안 되나요?" 반대로 "AES 하나면 충분한데 인증서는 왜 필요하냐"는 질문도 나옵니다. 둘 다 그럴듯하지만, 실제로 해 보면 RSA는 1MB 파일 하나도 한 번에 못 담고, AES는 키를 상대에게 건네는 순간부터 막힙니다. 그래서 TLS, 이메일 암호화, 파일 암호화 도구는 거의 예외 없이 둘을 섞어 씁니다. 결론부터 말하면 둘은 경쟁 관계가 아니라 서로의 약점을 메우는 짝이고, 그 이유는 OpenSSL 명령 몇 줄이면 숫자로 확인할 수 있습니다.키 하나 vs 키 한 쌍, 무엇이 다른가 (개념)대칭키는 잠그는 열쇠와 여는 열쇠가 같습니다. 집 열쇠를 복사해 가족에게 나눠 주는 방식이에요...

보안 2026.10.06

암호키 생명주기 - 생성·보관·교체·폐기를 OpenSSL로 따라가기

보안 점검에서 흔히 지적되는 사례가 있습니다. 데이터는 AES-256으로 잘 암호화해 놓고, 정작 키는 설정 파일에 평문으로 적어 둔 경우입니다. 암호문과 키가 같은 서버, 같은 백업에 있다면 자물쇠와 열쇠를 한 상자에 담아 둔 셈이에요. 암호화의 성패는 알고리즘이 아니라 키를 언제 만들고, 어디에 두고, 언제 버릴지에서 갈립니다. 키 한 벌이 태어나서 파기될 때까지를 OpenSSL로 직접 따라가 보면, 키가 새는 지점은 생각보다 뻔한 곳에 있습니다.키도 태어나고 은퇴한다, NIST의 키 상태 (개념)NIST SP 800-57 Part 1 Rev. 5는 키가 거치는 상태를 여섯 가지로 나눕니다.상태의미Pre-activation생성됐지만 아직 사용 승인 전Active암호화와 복호화 모두 가능Suspende..

보안 2026.10.05

OpenSSL 인증서 명령 모음 - 키·CSR·인증서 확인과 변환

인증서 교체 작업을 맡으면 보통 압축 파일 하나를 받습니다. 열어 보면 .key, .csr, .crt, .pem, .pfx가 섞여 있고, 어떤 건 텍스트인데 어떤 건 열면 깨진 글자만 나옵니다. 여기서 파일을 잘못 고르면 서버가 안 뜨거나, 떠도 일부 클라이언트에서만 "신뢰할 수 없는 인증서" 경고가 납니다. 인증서 장애는 대부분 기술이 어려워서가 아니라 파일이 뭔지 확인하지 않고 넣어서 생깁니다. 그 확인을 전부 OpenSSL 명령 몇 줄로 끝낼 수 있다면, 교체 작업이 훨씬 덜 무섭지 않을까요?인증서 파일들의 관계 (개념)인증서 발급은 네 가지 재료로 이뤄집니다.파일정체외부에 줘도 되나개인키 (.key)서버만 갖는 비밀 값절대 안 됨CSR (.csr)공개키 + 도메인 정보, 개인키로 서명한 발급 신청..

보안 2026.10.02

리눅스 인증 로그 읽기 - auth.log로 무차별 대입 흔적 찾기

공인 IP로 SSH 포트를 열어 둔 서버에 들어가 인증 로그를 열어 보면, 처음 보는 계정 이름으로 로그인 실패가 수백 줄씩 쌓여 있는 경우가 흔합니다. admin, test, oracle 같은 이름들이죠. 대부분은 인터넷 전체를 훑는 자동화 스캐너가 남긴 흔적이라 그냥 넘기기 쉽습니다. 문제는 그 수백 줄 사이에 진짜로 성공한 한 줄이 섞여 있을 때입니다. 그 한 줄을 골라내는 눈이 있는지가 서버 담당자와 보안담당자를 가르는 차이예요. 로그 한 줄 한 줄이 무슨 뜻인지부터 시작해서, 공격 패턴을 집계하고 자동으로 막는 데까지 가 보겠습니다.인증 로그는 어디에, 어떻게 쌓이나 (개념)리눅스에서 SSH 로그인, sudo, su, 계정 생성 같은 인증 관련 이벤트는 syslog의 auth·authpriv 분..

보안 2026.10.01

올드하다는 말을 듣고 일기 앱을 다 갈아엎었습니다 - 하루카드

앱을 쓰던 분에게 이런 말을 들었습니다. "전통은 좋은데 좀 올드해요. 고상한 것보다 예쁜 게 좋은데." 듣고 나서 제 폰으로 앱을 열어 봤습니다. 화면 위쪽에 질문 카드가 하나 있고, 그 아래로는 아무것도 없었습니다. 절반이 빈 종이였어요.만들 때는 "여백이 있어야 차분하다"고 생각했는데, 남의 눈으로 보니 그냥 덜 만든 화면이었습니다. 오늘은 그 말을 듣고 화면을 전부 다시 짠 이야기를 정리해 볼게요.무엇이 문제였나UI를 처음부터 다시 보기로 하고, 화면마다 문제를 적어 봤습니다. 열 개가 나왔는데 그중 셋이 컸습니다.오늘 화면 아래쪽 절반이 비어 있다지난 기록 목록에 날짜와 질문만 있고 내가 쓴 글이 안 보인다표지 그림을 배경에 30%로 깔아 뒀는데, 하필 글자 뒤라서 그림도 글도 손해다세 번째가 ..

정보 2026.09.25

파이썬 독학 Day 2 - 문자열 슬라이싱, f-string, 연산자 완전 정리 (10일 완성 시리즈)

Day 1에서 "input()은 항상 문자열을 돌려준다" 는 얘기로 글을 마쳤다. 그럼 자연스럽게 다음 질문이 나온다. 그 문자열로 뭘 할 수 있는데?오늘이 그 답이다. 문자열을 자르고, 다듬고, 원하는 모양으로 출력하는 법, 그리고 값을 계산하고 비교하는 연산자까지 다룬다.솔직히 말하면 문자열 처리는 "기초 문법"이라고 하기엔 실무 비중이 너무 크다. 로그에서 날짜 잘라내기, 파일명에서 확장자 확인하기, 보고서 숫자에 천 단위 콤마 찍기 — 전부 오늘 배우는 내용으로 해결된다.이 시리즈는 평일 10일, 하루 한 편. 처음 배우는 분은 필수 파트만, 문법을 아는 분은 심화 파트까지. 글 마지막에 실습 문제와 해답 파일(zip)을 첨부한다.그리고 오늘도 함정이 하나 있다. 문자열 메서드는 원본을 바꾸지 않..