ChatGPT DeviceCheck registration failed(403, 500, 503) 실제로 통하는 해결법

DeviceCheckError는 iOS, Android, macOS에서 ChatGPT 로그인을 막는다. 날짜와 시간 확인이라는 안내는 거의 통하지 않는다. 각 코드의 의미, 브라우저 캐시로 풀리는 이유, 그리고 macOS의 UCRT 근본 원인.

ChatGPT DeviceCheck registration failed(403, 500, 503) 실제로 통하는 해결법

DeviceCheck 오류는 비밀번호가 확인되기도 전에 ChatGPT 로그인을 막고, 날짜와 시간에 관한 공식 안내는 그중 거의 아무것도 해결하지 못한다. 이 오류가 뜻하는 것은, 기기가 자신이 진짜 하드웨어임을 증명하는 토큰을 만들어내지 못했다는 것이다. 그건 기기와 애플·구글 사이의 대화이고, OpenAI는 “안 된다”는 통보를 받는 쪽일 뿐이다.

같은 계정이 웹사이트에서는 멀쩡히 로그인되는 이유가 그것이다. 이 글에서는 각 변형이 무엇을 뜻하는지, 그리고 실제로 사례를 해결한 방법들을 효과가 확인된 빈도 순으로 정리한다.

오류 계열:    DeviceCheckError / "DeviceCheck registration failed"
다른 형태:    Token generation failed · Preauth PlayIntegrity verification failed
              DeviceCheck token generation is unavailable (macOS)
따라붙는 코드: 403, 500, 503 — 전송 계층 코드이지 서로 다른 근본 원인이 아님
막히는 범위:  네이티브 앱 로그인만. 브라우저 로그인은 영향 없음.
근본 원인:    기기 증명이지, OpenAI 계정이 아님

출처는 OpenAI 자체 도움말 문서, OpenAI Developer Community 스레드, openai/codex 이슈 #33463이며 2026년 9월 6일에 확인했다.

DeviceCheck란 실제로 무엇인가

애플의 DeviceCheck와 구글의 Play Integrity는 앱이 OS 공급자에게 “이게 개조되지 않은 진짜 기기인가?”라고 묻게 해주는 장치다. OpenAI는 이를 이용해 에뮬레이터와 개조 단말에서의 대량 계정 생성을 막는다.

실패할 때의 흐름은 이렇다:

  1. 로그인을 누른다. 앱이 OS에 증명 토큰을 요청한다.
  2. OS가 토큰을 만들려 하며, 그 과정에서 애플이나 구글과 통신한다.
  3. 그 사슬의 어딘가가 끊어진다.
  4. 앱은 토큰을 받지 못하고, 따라서 자격 증명을 보내지도 않으며, 당신은 DeviceCheck 오류를 본다.

당신의 계정은 처음부터 끝까지 관여하지 않는다. 여기서 가장 쓸모 있는 인식이 바로 이것인데, 비밀번호 재설정, 계정 복구, 결제 관련 문의가 전부 무관하다는 게 여기서 곧바로 나오기 때문이다.

검색 결과에 나오는 403, 500, 503

사람들은 devicecheck registration failed (403), (500), (503)을 검색한다. 오류 문구에 그 숫자가 나오기 때문이다. 이들은 증명 호출이 반환한 HTTP 상태 코드일 뿐, 각각 다른 해결책을 가진 별개의 버그가 아니다:

  • 403 — 요청이 거절됐다. 대개 무결성 문제로, 개조된 기기이거나 엣지·WAF 계층이 클라이언트를 막는 경우다. 일부 iPhone 사례는 로그인 중 Cloudflare 검사로 귀결된다.
  • 500 / 503 — 증명 서비스가 실패했거나 사용할 수 없었다. 대개 공급자 측의 일시적 문제다.

503이 보이면 무언가를 바꾸기 전에 기다렸다 재시도하자. 403이 반복된다면 아래 기기 측 원인 중 하나일 가능성이 크다.

해결 1: 브라우저 캐시 지우기 (성공 보고가 가장 많음)

ChatGPT 앱은 로그인을 시스템 브라우저에 넘기기 때문에, 브라우저 캐시가 망가지면 웹사이트는 멀쩡한데 앱만 깨진다.

직관에 반해서 사람들이 건너뛰는데, 정작 가장 많은 사례를 해결하는 방법이 이것이다.

iPhone: 기본 브라우저만이 아니라 Safari와 Chrome 양쪽 캐시를 지운다.

  • 설정 → Safari → 방문 기록 및 웹 사이트 데이터 지우기
  • Chrome → ⋯ → 인터넷 사용 기록 삭제

Android: 기본 브라우저를 Chrome으로 바꾸고 다시 시도한다. Brave나 커스텀 브라우저에서 옮기자마자 해결된 보고가 여럿 있다.

몇 달을 실패하던 어느 커뮤니티 보고자는 Safari와 Chrome 캐시를 모두 지운 뒤 “it magically started working perfectly.”(마법처럼 완벽하게 작동하기 시작했다)라고 적었다. 원리는, 로그인이 백그라운드에서 시스템 브라우저를 거쳐 진행되므로 브라우저의 상태가 곧 앱의 상태라는 것이다.

해결 2: 대기 중인 OS 업데이트 설치 후 재시동

설치되지 못한 보안 업데이트는 기록으로 확인된 원인이다.

어떤 iPhone 사례에서는 Wi-Fi 변경, 핫스팟, 재설치, 시크릿 모드, 로그아웃 후 재로그인까지 다 해봤지만 아무것도 통하지 않았다. 실제 원인은 저장 공간 부족으로 막혀 있던 iOS 업데이트였다. 공간을 확보하고 설치한 뒤 재부팅하자 로그인이 즉시 됐다.

설정 → 일반 → 소프트웨어 업데이트에서 신속 보안 대응을 포함해 대기 중인 것을 모두 설치하고, 재시동한 다음 다시 시도하자. 보안 구성 요소가 오래되면 로그인 시 엣지 계층이 기기를 거절할 수 있다.

해결 3: 기기 무결성 (그리고 재시도가 소용없는 이유)

기기가 루팅되거나 탈옥돼 있다면, DeviceCheck 실패는 설계대로 동작하는 모습이다. OpenAI 도움말 문서는 이를 직접 언급한다: “Modifications like rooting or jailbreaking may cause this error.”(루팅이나 탈옥 같은 변경이 이 오류를 유발할 수 있습니다.)

시간을 가장 많이 잡아먹는 세부는 같은 문서 안에 있다. 무결성 검사 결과는 최대 24시간까지 캐시될 수 있다. 즉 근본 문제를 고치고 곧바로 재시도하면, 캐시된 실패를 상대로 시험하는 셈이 된다. 재시도 전에 앱 데이터를 지우자.

Magisk를 쓰는 루팅 안드로이드에서는 커뮤니티의 대처가 Play Integrity Fix 모듈을 넣고 재부팅하는 것이다. 그건 의도적으로 실패하도록 만든 검사를 우회하는 방법이니, 그 점을 감안해서 다루자.

해결 4: 앱과 Play 서비스 데이터 지우기 (Android)

영향이 작은 순서대로:

  1. 설정 → 앱 → ChatGPT → 저장용량 → 캐시 삭제
  2. 같은 화면 → 데이터 삭제 (로그아웃됨)
  3. 설정 → 앱 → Play 스토어 → 데이터 삭제
  4. 설정 → 앱 → Google Play 서비스 → 캐시 삭제

그다음 재부팅하고 다시 시도한다. 네 가지를 한꺼번에 해도 되지만 원인에 대해서는 아무것도 알 수 없다. 순서대로 가면 몇 분 더 걸릴 뿐이고 원인을 특정할 수 있다.

해결 5: macOS의 “DeviceCheck Token Generation Is Unavailable”

이 변형은 위의 모든 해결법과 근본 원인이 다르고, 위의 어떤 방법으로도 풀리지 않는다.

macOS에서의 증상은 뚜렷하다. 인증은 성공하고, 앱이 실행되며 세션까지 복원되는데, 그다음 채팅이 실패한다. openai/codex 이슈 #33463의 진단 정보를 보면 시스템 로그는 이렇다:

failed to do a bootstrap look-up: xpc_error=[3: No such process]
Could not find service "com.apple.devicecheckd" in domain for system

preauth_cookie_failed=APIClient.DeviceCheckError: Token generation failed
MobileActivation.ErrorDomain Code=-4 "UCRT is unavailable."
devicecheckd: Failed to fetch client certificate.

한 보고자는 HTTP 401도, 403도, TLS 실패도 없음을 확인했다. 실패는 인증 이후 초기화 중에 일어난다. Secure Enclave 키 생성과 증명 단계는 성공하며, 실패하는 것은 MobileActivation이 DeviceCheck에 필요한 클라이언트 인증서를 공급하는 부분이다.

그 스레드에서 해결된 것:

  • 단순 재부팅. 구버전 앱을 쓰던 보고자 두 명에게 효과가 있었다.
  • macOS 업데이트 후 재시동. 끈질긴 사례 하나는 26.5 → 26.6과 여러 차례의 앱 업데이트를 견뎌내다가, 26.6.1에서 재시동하자 복구됐다. 로그는 Performing UCRT OOB. Successfully performed UCRT OOB.로 바뀌었고 devicecheckd가 즉시 새 증명 인증서를 받아왔다.
  • 같은 보고자는 Apple 계정 비밀번호도 바꿨고, 어느 쪽이 효과였는지는 본인도 구분하지 못했다.

소용없던 것: macOS 사용자 계정 새로 만들기(증상이 따라왔다), 그리고 ‘나의 찾기’ 켜고 끄기.

이 증상에 걸렸다면 먼저 macOS를 업데이트하고 재시동하자. 애플 쪽 인증서 문제이므로 ChatGPT 재설치는 지렛대가 되지 못한다.

깨져 있는 동안 무엇을 할까

브라우저로 로그인하자. 웹 앱은 기기 증명을 요구하지 않으며, 그래서 네이티브 앱이 안 될 때도 계속 동작한다. 이 주제의 모든 커뮤니티 스레드가 웹사이트는 영향이 없음을 확인해준다.

이메일과 비밀번호로 가입했다면 앱에서 Google, Microsoft, Apple 로그인을 시도하지 말자. 방식을 섞으면 그 자체로 별개의 실패가 생긴다. 가입할 때 쓴 방식을 그대로 쓰자.

소비자용 앱이 아니라 API가 필요하다면, DeviceCheck는 경로에 아예 없다. API 키는 베어러 토큰으로 인증하고 기기 증명을 전혀 거치지 않으므로, 이 종류의 오류는 일어날 수 없다:

curl -X POST https://api.ofox.io/v1/chat/completions \
  -H "Authorization: Bearer $OFOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-5.6-sol",
    "messages": [{"role": "user", "content": "..."}]
  }'

이건 이 문제의 우회책이 아니라 다른 제품이다. 정말 필요했던 것이 프로그래밍 방식 접근이었을 때만 알아둘 가치가 있다.

해결되지 않는 것들

여러 번 시도했지만 소용없었던 조치들을 스레드에서 모았다. 건너뛰어도 된다:

  • 앱 재설치. 자주 시도되지만 해결되는 일은 드물고, macOS에서는 원인이 애플 인증서 체인에 있으니 해결책이 될 수도 없다.
  • 비밀번호 재설정과 계정 복구. 자격 증명은 아예 전송되지 않는다. 실패는 그 앞 단계에서 일어난다.
  • Wi-Fi에서 셀룰러로 전환. 네트워크가 실제로 증명 엔드포인트를 막고 있다면 가끔 통하지만, 목록에서는 한참 아래다.
  • 뭔가 바꾸고 곧바로 재시도. 무결성 판정은 최대 24시간 캐시된다. 앱 데이터를 지우지 않으면 낡은 결과를 다시 읽는 것뿐이다.

하나 더, 완전성을 위해. 방화벽이 원인이 될 수도 있다. 어느 macOS 사용자는 Little Snitch에서 ChatGPT의 특정 연결 네 개를 허용해 해결했다. 앱별 방화벽을 쓰고 있다면, 이 페이지의 무엇보다 먼저 그것부터 확인하자.

관련 오류

문제가 증명이 아니라 인증 쪽이라면, 아래는 원인도 해법도 다른 별개의 실패다:

출처

공식 원인과 24시간 무결성 캐시에 관한 언급은 OpenAI 도움말 문서에서 가져왔다. macOS의 devicecheckd / UCRT 진단 정보와 복구 경위는 openai/codex 이슈 #33463에서 인용했다. 나머지 해결법은 보고자가 효과를 확인한 OpenAI Developer Community 스레드에서 모은 것으로, 공급사가 문서화한 해법이 아니라 커뮤니티 보고다. 또한 그중 어느 것도 우리가 직접 재현한 것이 아니다. DeviceCheck 실패는 개별 기기 상태에 좌우되며 원할 때 안정적으로 재현할 수 없다.

자주 묻는 질문

ChatGPT의 DeviceCheck registration failed는 무슨 뜻인가요?
앱이 기기 증명 토큰을 만들지 못해서 OpenAI가 이 기기가 진짜인지 확인할 수 없고, 그래서 자격 증명을 확인하기도 전에 로그인을 막는다는 뜻입니다. DeviceCheck는 애플의 기기 무결성 API이고 안드로이드에서는 Play Integrity가 대응됩니다. 문제는 기기와 애플·구글 사이의 관계에 있지 OpenAI 계정과는 무관합니다. 같은 계정이 브라우저에서는 멀쩡히 로그인되는 이유가 그것입니다.
OpenAI는 왜 날짜와 시간을 확인하라고 하나요?
증명 토큰이 시간에 민감해서 시계가 크게 어긋나면 실제로 깨지기 때문입니다. 진짜 원인이긴 하지만 드뭅니다. 실제 사례 대부분은 오래된 브라우저 캐시, 설치되지 않은 OS 업데이트, 무결성 검사를 통과하지 못하는 개조 기기, 혹은 macOS에서 깨진 devicecheckd 인증서 때문입니다. 시계를 자동으로 맞춘 다음에는 재시도를 반복하지 말고 아래 원인들로 넘어가세요.
iPhone에서 DeviceCheck 오류는 어떻게 고치나요?
먼저 Safari와 Chrome의 캐시를 지우세요. ChatGPT 앱은 로그인을 시스템 브라우저에 넘기기 때문에, 브라우저 캐시가 망가지면 웹사이트는 멀쩡한데 앱만 안 됩니다. 그다음 대기 중인 iOS 업데이트를 설치하고 재시동하세요. 저장 공간 부족으로 설치되지 못한 보안 업데이트가 원인이었던 사례가 여럿 있습니다. 그래도 안 되면 브라우저로 로그인하고, 지금 실패하는 것과 다른 로그인 방식을 쓰세요.
Android에서 DeviceCheck 오류는 어떻게 고치나요?
기본 브라우저를 바꾸고 다시 시도하세요. 로그인이 기본 브라우저로 넘어가기 때문에, 안드로이드에서는 Brave나 커스텀 브라우저에서 Chrome으로 옮겨 해결된 사례가 많습니다. 그다음 ChatGPT 앱의 캐시와 데이터를 지우고, Play 스토어와 Play 서비스 데이터도 지우세요. 기기가 루팅됐다면 Play Integrity는 설계대로 실패합니다. 그건 버그가 아니라 원인입니다.
macOS의 DeviceCheck token generation is unavailable는 무엇 때문인가요?
ChatGPT가 아니라 애플의 증명 체인이 깨진 것입니다. openai/codex 이슈 #33463의 로그를 보면 devicecheckd가 com.apple.devicecheckd에 도달하지 못하고, 이어서 MobileActivation error code -4, UCRT is unavailable, Failed to fetch client certificate가 나옵니다. 인증 자체는 성공하며 401도 403도 없습니다. 실패는 로그인 이후 초기화 중에 일어납니다. 보고자들은 macOS를 업데이트하고 재시동해 복구했고, 그중 한 명은 Apple 계정 비밀번호도 바꿨습니다.
탈옥이나 루팅한 기기가 DeviceCheck 오류를 일으키나요?
네, OpenAI가 직접 그렇게 말합니다. 도움말 문서는 기기 무결성을 원인 중 하나로 들고 루팅이나 탈옥이 이 오류를 유발할 수 있다고 적고 있습니다. 또한 무결성 검사 결과가 최대 24시간까지 캐시될 수 있다고 경고하므로, 재시도 전에 앱 데이터를 지우지 않으면 오래된 판정을 상대로 시험하는 셈이 됩니다.
DeviceCheck가 깨진 동안에도 ChatGPT를 쓸 수 있나요?
쓸 수 있습니다. 브라우저로 로그인하세요. 웹 앱은 기기 증명을 요구하지 않기 때문에 네이티브 앱이 안 될 때도 계속 동작합니다. 소비자용 앱이 아니라 API가 필요하다면 api.ofox.ai 같은 OpenAI 호환 게이트웨이는 전혀 영향이 없습니다. API 키는 DeviceCheck를 아예 거치지 않기 때문입니다.