HTTP Digest 인증 설정 점검 (OpenAPI 3.0)

Digest 인증의 통신 보호와 암호 강도를 확인해야 하는 경우

설명

HTTP Digest는 암호를 그대로 보내지 않는 시도·응답 방식의 인증입니다. 하지만 HTTP 본문을 암호화하지 않으며, 약한 암호는 수집된 인증 값을 이용한 추측 공격에 취약할 수 있습니다.

잠재적 영향

HTTPS가 없으면 요청과 응답의 내용이 노출될 수 있고, 약한 암호가 추측되면 계정이 도용될 수 있습니다.

해결 방법

HTTPS를 적용하고 강한 암호와 지원되는 보안 알고리즘을 사용하세요. 서버·클라이언트의 Digest 지원을 확인하고, 필요한 권한 위임이나 호환성을 충족하지 못하면 OAuth2 같은 대안을 검토하세요.

예시

다음 발췌 예시는 Digest에서 OAuth2로 변경하는 선택지를 보여 줍니다. 모든 Digest 구성이 잘못된 것은 아니며, 변경하려면 실제 서버와 클라이언트의 지원이 필요합니다. 어느 방식이든 API 통신은 HTTPS로 보호하세요.

변경 전

json
{
  "openapi": "3.0.0",
  "components": {
    "securitySchemes": {
      "petstore_auth": {
        "type": "http",
        "scheme": "digest"
      }
    }
  }
}

변경 후

json
{
  "openapi": "3.0.0",
  "components": {
    "securitySchemes": {
      "petstore_auth": {
        "type": "oauth2",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://example.com/api/oauth/dialog",
            "tokenUrl": "https://example.com/api/oauth/token",
            "scopes": {
              "read:pets": "read your pets"
            }
          }
        }
      }
    }
  }
}

참조