15P by GN⁺ 1일전 | ★ favorite | 댓글 4개
  • 자주 인증을 요구하는 정책은 실질적인 보안 강화 효과 없이 사용자 불편함만 초래함
  • MFA 피로 공격 등 최신 보안 위협 증가로 인해 반복 인증이 오히려 취약점이 될 수 있음
  • 운영체제의 화면 잠금 기능과 실시간 접근 정책 업데이트가 더 효과적인 보호 수단임
  • 민감한 작업 직전에만 추가 인증이 필요하며, 임의의 짧은 로그인 주기는 불필요함
  • 현대적 접근 통제 방식은 사용자를 방해하지 않고 자동적이고 신속하게 정책을 적용함

자주 인증이 보안을 강화하지 않는 이유

반복 인증이 초래하는 문제점

  • 작업 흐름 중 세션이 만료되어 자주 패스워드와 MFA(다중 인증) 를 반복 입력하는 과정에서 생산성 저하 현상 발생
  • 초기에는 패스워드만 재입력하면 되었으나, MFA 단계가 추가되면서 시간 소모와 사용자의 불만 심화됨
  • MFA 요청 빈도가 높아질수록 MFA 피로 공격(MFA fatigue attacks) 의 성공 가능성도 높아짐
  • 과거에는 패스워드 자주 변경이나 짧은 세션 만료 주기가 효과적인 보안책으로 여겨졌으나, 최신 가이드라인에서는 오히려 역효과로 평가함
  • 보안은 로그인 주기가 아니라, 접근 권한의 관리 및 정책 변경이 얼마나 신속하게 반영되는가에 달려 있음

인증 방식의 본질

  • 인증은 주로 두 가지 중 하나를 증명하는 방식임
    • 기기 소유 증명: Windows Hello PIN, YubiKey, 스마트카드 등 물리적으로 기기를 갖고 있는지 확인
    • 본인 증명: 패스워드, Face ID, Touch ID 등 해당 사용자인지 식별
  • Identity Provider(IdP)의 주된 역할은 신원 확인에 집중함
  • Face ID, Touch ID, Windows Hello 등은 기기 소유 증명과 본인 증명을 동시에 처리하는 통합 시스템으로 보안성이 높음
  • 관리자들이 정책 변경이 즉시 반영되지 않을 것이라는 불안감 때문에 세션 만료를 짧게 설정하는 경우가 많음

실제 보안 위협과 인증의 역할

  • 대부분의 공격자는 원격 피싱을 통해 공격을 시도하며, 패스워드 탈취가 매우 쉬움
  • 원격 공격에 대비해 이차 인증(예: YubiKey) 사용이 중요한 방어 수단임
  • 기기 분실, 도난 등 물리적 공격 발생 시, 보통 이미 화면이 잠금 상태임
  • 오히려 자주 로그인할수록 공격자가 자격 증명 탈취 기회가 늘어나 보안에 악영향을 미침

운영체제와 웹 서비스의 역할

  • 최신 운영체제는 화면 잠금 기능으로 사용자가 자리를 비우면 자동으로 시스템을 보호함
  • 추가 인증 빈도 증가와 같은 사용자 불편 대신 자동 잠금 정책 적용이 바람직함
  • 공유 컴퓨터가 아닌 이상, 짧은 웹 세션 만료는 옛날 인터넷 카페 환경의 유물에 불과함
  • 민감한 서비스(예: 인터넷 뱅킹) 외에는 부적절한 세션 만료시간 정책이 오히려 보안성과 사용성 모두 저하시킴

효율적이고 사용자 친화적인 보안 모델

  • 민감 작업 전 즉시 인증(on-demand authentication)이 이상적임
  • Tailscale SSH의 check 모드, Slack Accessbot 등은 필요할 때 즉시 사용자 확인 기능 제공
  • 운영체제의 화면 잠금 강제를 병행하면 보안과 편의성의 균형 유지 가능
  • 연속적 보안 상태 점검(device posture check) 및 실시간 접근 통제가 사용자의 행동과 무관하게 자동으로 이루어짐
  • 예시:
    • 기기가 오프라인 상태이거나 분실, 보안 검사 실패 시 즉시 접근 권한 회수
    • 역할 변화 등 신분 변경 시 자동으로 접근 정책 업데이트
  • 사용자의 반복 인증을 강요하는 방식보다 실시간 자동화 방식이 훨씬 스마트하고 안전함

결론

  • 자주 로그인이 보안을 효과적으로 높이지 않으며, 오히려 암호 재사용, 피싱, MFA 피로 등으로 이어질 수 있음
  • 조용하고 자동화된 보안 체계가 최고의 보호책임
  • Tailscale은 적응형, 지능적, 실질적으로 도움이 되는 보안을 추구함
  • 사용자가 직접 로그인 주기를 조정하지 않아도, 필요한 순간 최소한의 인증 마찰만 발생하게 설계됨
  • Tailscale의 실시간 보안 점검 기능은 기타 앱에도 확장 적용되어, 레거시 시스템까지 안전하게 보호할 수 있음

참고 링크

HN 댓글에서도 나왔지만 빠르게 변화하는 IT 환경에 비해 꽉 막히고 오래된 표준을 바탕으로 이야기하는 보안 검사/규정 등이 발목을 잡는 면이 크죠. 일선에서는 다 알고 계신 이야기가 아닐지... ㅎㅎ

한국의 수많은 서비스들이 30일에 한 번씩 비밀번호를 재설정하라고 귀찮은 알림을 띄우죠.

개인정보 보안 의무로 수년간 강제했던 부분이라 매우 귀찮죠... ㅠㅠ

Hacker News 의견
  • 강제적인 비밀번호 주기적 변경이나 만료 정책이 더 큰 문제라고 생각함, 이런 정책이 자주 사람들을 계정 잠금 상태로 만들게 되고(예: 휴가 중 비밀번호가 만료되면), 그 다음에는 IT에게 직접 찾아가거나, 몇 시간씩 전화로 IT에 연락해 재설정 요청을 하거나, 잠금 안 된 동료를 통해서 연락하게 되는 번거로움이 생김
    많은(대부분의?) 기업들이 여전히 이런 정책을 적용 중인데, NIST에서는 이제 더 이상 임의 비밀번호 변경을 권장하지 않음
    NIST 공식 문서
    Microsoft 역시 비밀번호 만료는 더 해롭다며 권장하지 않음
    Microsoft 공식 문서
    그런데도 IT나 보안 쪽에서는 이런 권고안이 충분히 ‘권위 있는’ 것으로 받아들여지지 않는 것 같음, 게다가 여전히 이런 정책을 권장하는 가이드도 존재함

    • 가끔 무작위 사이트에 로그인할 때 강제로 비밀번호 재설정 요구가 뜨면, 시간 기반 만료 때문이 아니라 계정이 유출됐거나 침해됐던 게 아닐까 생각하게 됨
      사이트 운영자가 특정 계정들이 데이터 유출 리스트에 포함된 걸 알았다면, 다음 로그인 시 강제 비밀번호 변경을 요구하는 게 합리적인 대응이라고 생각함

    • 이걸 사이버 보안 담당자에게 이야기했더니, PCI 기준에서는 비밀번호 주기 변경이 요구되기 때문에 어떤 감사를 더 중요하게 생각하느냐에 따라 달라진다고 들음

    • 예전에 이런 정책이 너무 짜증나서, 매번 비밀번호 뒤에 알파벳 한 글자씩 a~z 순으로 붙이는 식으로 넘겼었음
      다행히 지금 다니는 회사에서는 같은 비밀번호 3년째 유지 중이라 만족

    • 내 비밀번호가 유출되지 않았는데도 제공자들이 주기적으로 바꾸라고 하는 건 말이 안 된다고 생각함
      이게 아직도 공식 표준처럼 적용되는 상황이 황당함

    • 결국 내 모든 계정은 1234abcd@ 패턴만 사용하는 상황

  • Apple 제품 때문에 정말 불편함을 느낌
    이 패턴이 모든 Apple 제품에 다 적용되는 걸 확인함
    Mac에서 TouchID로 설정하고, App Store에서 Apple 계정 로그인 후 앱을 설치하려고 하면 계속해서 비밀번호 입력하라는 창이 뜸, TouchID로 인증 가능할 텐데도 매번 비밀번호를 요구함
    무료 앱 설치 시에도 동일한데 정말 불필요한 절차라 생각
    이 패턴이 배우자 iPhone에서도 종종 나타남
    폰을 초기화하고 다시 세팅할 때 특히 Apple 비밀번호 재입력이 반복적으로 요구됨
    TouchID로 충분히 보안된 상황인데도 계속 이런 식이라 답답함

    • Apple 서비스에 비-Apple 기기에서 접근하면 더 심각한 불편함이 발생
      icloud.com에 로그인할 때마다 "이 기기 신뢰"를 눌러도 다음날이면 또 비밀번호+1회용 코드 2중 인증 과정을 반복
      Face ID가 결제나 앱 설치 중 실패하면 PIN으로 대체하지 않고 꼭 Apple 계정 전체 비밀번호를 입력하게 만들고, 암호관리자 앱을 열 수도 없는 구조
      결제대에서 이런 상황 겪으면 정말 난감한 경험

    • TouchID로 구매 승인을 사용할 수 있도록 설정이 되어 있는지 확실히 확인해야 함
      (Settings > Touch ID & Password로 들어가서 설정 필요)
      만약 이걸 안 해놨으면 비밀번호 입력 요구가 계속될 수 있음
      재시작 후 딱 한 번 인증 정도만 필요하고, 그 이후에는 TouchID로 대부분 인증 가능하다는 경험

    • Mac에 iPhone을 연결해 동기화할 때마다 "이 기기를 신뢰하시겠습니까?" 창이 Mac과 iPhone 양쪽에서 뜨고 매번 "예"를 선택해도 다음 번 연결 때 다시 묻는 상황

    • SUDO 권한이 필요한 작업에서 재인증 요구가 나오는 건 자연스러운 일이라 생각
      이럴 땐 관련 작업을 묶어서 한 번만 인증하게 만들면 재인증 횟수를 줄일 수 있음

    • 아주 오래된 iPad를 아이가 사용 중인데, iOS 10.3이라 암호관리자 앱도 동작하지 않고, 브라우저 역시 32비트 앱이라 최신 웹사이트를 띄울 수도 없음
      그래서 App Store 쓸 때마다 50자 이상의 비밀번호를 매번 직접 입력해야 해서 너무 귀찮은 상황

  • 이런 기사들을 읽어야 하는 사람은 보안 감사를 하는 감사관들이라고 생각함
    이 사람들이 기대하는 기준이 변하지 않는 한, 많은 기업들이 산업 표준이라면서도 현실적으로는 어리석은 정책들을 계속 따라야 하는 상황
    특히 특정 분야의 소규모 기업들도 보안 감사에서 높은 점수를 받아야 해서 쓸모 없는 보안 절차를 다수 채택 중
    우리가 실제로 효과 없다고 아는 보안 수단이 최소 6개 이상 강제로 적용되는 중, 감사관들이 아직은 좀체 바꾸려 하지 않음

    • SOC2 감사를 받을 때 NIST 가이드라인을 꾸준히 제시해왔음
      링크를 보여주면 대부분 결국에는 NIST 기준을 수용함

    • Apple, Microsoft 양쪽 모두 회사 보안팀이 “내 기기 기억하기”, “이 기기 신뢰” 옵션을 비활성화하는 기업용 설정을 지원함
      감사관이나 CISO(최고 보안 책임자)는 무조건 체크리스트 위주로 감사를 하기 때문에, 실제로 보안성이 높아지는가는 전혀 중요하지 않고 감사에서 승인받는 게 더 중요하게 작동
      이런 설정들이 사용자 불편만 가중시키고 실제로는 현실 보안성만 오히려 악화시킴

  • Microsoft가 PC 게임도 이런 식으로 망쳤다고 생각
    Minecraft나 Master Chief Collection 같은 게임을 실행할 때마다 뜬금없이 재인증 창이 나올 걸 알고 미루게 됨
    이런 불편함 때문에 2FA(2단계 인증)도 계정에서 꺼버림
    이건 단순 게임일 뿐 계좌 인증도 아닌데, 제발 즐겁게 게임만 하게 해줬으면 하는 바람

    • Xbox에서도 무작위로 생성한 비밀번호로 매번 재인증하는 게 너무 비정상적이라 느낌
      최근에는 QR 코드를 스캔해서 인증하는 기능이 생겼다고는 하는데, 이런 시스템을 만든 사람이 실제 사용자 경험과 동떨어져 있다고 생각함
  • 글에서 거의 언급되지 않은 부분이 있음
    UX(사용자 경험)가 나쁘면 그 자체로 보안 취약점이 될 수 있다고 봄
    시스템이 평소에 비합리적으로 행동하면, 진짜 문제가 생겼을 때 사용자들이 변화나 이상 행동을 못 알아차릴 가능성 높음
    예를 들어 비밀번호 입력 요구가 너무 자주 나오면 습관적으로 입력하게 되고, 이럴 때 phishing(피싱) 같은 위험을 쉽게 걸러내지 못함
    또, OS에서 스타트업 프로그램이나 백그라운드에서 실행되는 의심스러운 코드 관리가 안 되면 악용도 쉬움
    평범한 보안 전문가들이 ‘인간 심리’를 중요한 변수로 거의 고려하지 않는 점도 문제고, 모든 게 체크리스트식이나 회사 입장 위주로 설계되는 경향도 문제
    제대로 된 제품 디자인만 하면 예방할 수 있는 실수인데, 제품·서비스 공급자가 규제 변화에 소비자보다 훨씬 적극적이라 개선이 잘 안 이루어지고 있음
    그래서 실제로는 규제 강화가 보안 성능에 도움이 된다고 생각하지만, 회사 입장에서는 자사 제품/서비스에 대한 규제를 아무도 반기지 않는 이상한 상황 발생

  • 자주 재인증 요구하는 시스템은 실질적으로 보안을 향상시키지 못함 (단, 아주 긴 만료 주기는 좀 예외)
    괜찮은 인증 시스템이라면 세션 만료나 명시적 세션 관리로 권한을 즉시 회수할 수 있는 역량이 핵심
    실제로는, 세션 권한을 취소했을 때 해당 세션이 신속하게 완전 만료돼 접근권을 모두 잃는 시점까지의 ‘지연’이 재인증 주기보다 훨씬 중요
    이건 인증 체계 구조와 구성 시스템이 많을수록 더 복잡해짐

    • 그래서 refresh token이 필요함
      실제 토큰은 정기적으로 만료되지만, 클라이언트가 새 토큰을 갱신할 수 있는 기회를 별도로 부여함
      토큰 회수는 새 토큰을 못 만들게 차단하는 방식으로 제어

    • 나도 비슷하게 생각함
      회사에서는 이중 단계 인증 방식을 쓰고 있음
      하루에 한두 번 ADFS + MFA로 keycloak에 로그인하고, 대부분의 시스템이 keycloak을 OIDC provider로 사용하며 10~15분 간격으로 토큰이 갱신
      그래서 대부분 하루에 한 번만 번거로운 인증 절차를 거치면 되며, 필요할 때 VPN으로 접속된 서비스의 접근을 15분 이내 전면 차단 가능
      정상 사용할 때는 이런 변화도 거의 티가 안 나는 게 장점임

    • 재인증을 위해서가 아니라 기존 토큰 갱신만 주기적으로 이뤄지면 됨
      인증(auth) 만료와 권한부여(authorization) 만료 시간을 분리하는 게 바람직

    • 자주 재인증을 시키면 오히려 사람들이 우회 방법을 찾게 됨
      비밀번호를 종이에 써두거나, Google Docs에 기록하거나, Yubikey에 아두이노+서보 모터를 달거나, 문자(SMS)를 이메일로 포워딩하거나, TOTP 코드를 Wechat으로 보내는 온갖 ‘꼼수’가 생김

    • 결국엔 불편한 인증 정책이 심해질수록 사용자들이 컴퓨터를 조금이라도 뜻대로 쓰기 위해 더 불안전한 우회책을 찾게 되는 딜레마

  • 기사에 ‘이제는 대부분의 OS에서 지문/얼굴 인증으로 잠금 해제가 가능해졌으니, 자리를 비울 땐 화면 잠금을 걸지 않을 이유가 없다’는 취지의 문구가 나오지만, 현실적으로 워크스테이션(데스크탑 PC)에서는 해당 사항이 매우 제한적임
    내가 30년간 현장 지원을 하며, 지문 인식기가 달린 데스크탑을 딱 1대밖에 본 적 없음
    카메라도 거의 없어서, 현재 내가 관리하는 5개 지점 PC 중 카메라가 달린 컴퓨터가 2%도 안 됨
    얼굴 인식은 사용자에게 불쾌감을 주는 추가적인 요인도 있음
    우리는 이미 비동의, 몰래 진행되는 얼굴 인식(감시카메라, 학교/회사/경찰 등) 때문에 불신이 커졌고, 이로 인한 불편함은 정당한 거라 생각
    장비가 내 소유여도 소프트웨어 회사들은 실제로는 도덕적 한계 없이 내 권한을 침범하는 방식으로 설계함
    그래서 보안 키가 워크스테이션에는 더 적합하다고 생각

  • 업계 IT 보안 정책은 “IBM을 사서 쓴 사람은 해고되지 않는다”라는 관념처럼, 모두가 남들이 하는 대로만 따라서 움직임
    실제로 시스템이 망가져 있든 말든 중요하지 않고, ‘책에 적혀 있는 대로’ 했다는 게 더 중요
    그런데 이 책(표준)이 30년 전에 만들어진 매우 부실한 것
    그래서 정보보안 책임자에게 3개월마다 비밀번호 바꿀 필요 없다는 주장을 설득하려면 엄청난 에너지가 듦

    • 적어도 주기적 비밀번호 변경 부분만큼은 최근 NIST 권고를 보여주며 저항할 수 있는 상황이 된 건 다행
  • 한 고객 기업에서는 모든 시스템에 30분 세션 제한이 걸려 있음
    Jira 자체도 원래 싫어했는데, 티켓 한번 보려 할 때마다 매번 로그인해야 해서 너무 불편
    그냥 일 대신 Hacker News만 보게 되는 악순환

    • 30분 걸려 무언가를 입력하고 제출한 순간 세션이 만료돼버리는 것만큼 허탈한 일이 없음
      요즘은 그래도 대부분의 서비스에서 내 작업 내용을 캐시로 보관해줘서 다행
  • SSO란 이름이 ‘SINGLE sign on’인데, 실제론 하염없이 반복 인증을 요구함
    왜 하루에도 수백 번 SSO 인증하라는 메시지를 봐야 하는지 의문

    • 휴대폰은 분실/도난 위험이 있으니 그렇다고 치고, 데스크탑은 여전히 공용 컴퓨터(예: 도서관)에서 로그아웃 안 하고 자리를 비우는 경우가 많음, 이 점을 많은 사용자가 인지하지 못함

    • 내가 기억하는 SSO의 의미는, 여러 시스템에 단일 ID로 로그인한다는 거였지, 로그인 행위를 한 번만 한다는 뜻은 아니었던 것으로 이해함