DOI QR코드

DOI QR Code

A Study on the Security Analysis of iCloud Passwords for Windows Application through User Credentials Decryption

iCloud Passwords for Windows 애플리케이션의 사용자 크리덴셜 복호화를 통한 보안성 분석 연구

  • Received : 2026.03.20
  • Accepted : 2026.05.27
  • Published : 2026.06.30

Abstract

Password manager applications require security analysis because their centralized management of user credentials can make them a single point of failure. To support the expansion of cross-platform services, Apple provides credential management service in Windows environments through the iCloud Passwords for Windows application. However, hardware-based security models such as the Secure Enclave on Apple platforms cannot be applied to the Windows environment, which could lead to a security gap between the two platforms. Although analyzing the security architecture of applications is necessary, related research is still insufficient. In this paper, we analyze the application's security architecture and verify the consistency of decrypted credentials. Furthermore, we identify vulnerabilities in the security architecture, present threat models and attack scenarios, and propose measures to strengthen security to address these issues. We expect that our research will enable the Windows environment to achieve a level of security equivalent to that of the Apple platform.

패스워드 관리 애플리케이션은 사용자 크리덴셜을 중앙 집중식으로 관리하는 특성으로 인해 단일 실패 지점으로 작용할 수 있어 보안성 분석이 요구된다. Apple의 경우, 크로스 플랫폼 서비스의 확산에 따라 iCloud Passwords for Windows 애플리케이션으로 Windows 환경에서도 크리덴셜 관리 기능을 제공하고 있다. 그러나 Apple 플랫폼의 Secure Enclave와 같은 하드웨어 기반 보안 모델은 Windows 환경에 적용할 수 없어 플랫폼 간 보안 공백이 발생할 수 있다. 이에 해당 애플리케이션의 보안 구조에 대한 분석이 필요하나, 현재까지 관련 연구가 미흡하다. 따라서 본 논문에서는 해당 애플리케이션의 보안 구조를 분석하고 복호화된 크리덴셜의 정합성을 검증하였다. 또한, 보안 구조에 존재하는 취약점을 식별하고 위협 모델 및 공격 시나리오를 제시하였으며, 이를 해결하기 위한 보안성 강화 방안을 제안하였다. 본 논문을 통해 Windows 환경에서도 Apple 플랫폼과 동등한 수준의 보안성을 확보할 수 있을 것으로 기대된다.

Keywords

I. 서론

IT 기술의 발전과 디지털 전환의 가속화로 개인이 관리해야 할 계정 정보가 급증하고 있다. 동시에 하드웨어 연산 능력의 향상으로 무차별 대입 공격 등 계정 탈취 위협이 증가하고 있다. 고도화된 계정 탈취 위협에 대응하고자 NIST, KISA 등 주요 보안기관은 높은 복잡도를 갖는 패스워드 사용을 권고하고 있다[1, 2]. 그러나 이는 사용자에게 ‘패스워드 피로’ 현상을 유발하여 다수의 사이트에서 동일한 패스워드를 재사용하게 만드는 원인이 된다[3]. 이러한 문제를 해결하기 위해 패스워드 관리 애플리케이션이 등장하였다. 패스워드 관리 애플리케이션은 사용자의 크리덴셜을 중앙 집중식으로 암호화하여 보관하고, 자동으로 입력해 주는 기능을 제공함으로써 보안성과 편의성을 모두 충족시킨다. 그러나 사용자의 크리덴셜을 중앙 집중식으로 관리하는 특성은 단일 실패 지점1)으로 작용할 수 있다. 실제로 2025년 8월 공개된 제로데이 취약점 분석에서는 11종의 패스워드 관리 애플리케이션에서 공격자가 사용자 크리덴셜을 탈취할 수 있음이 확인되었다[4]. 이처럼 패스워드 관리 애플리케이션은 크리덴셜 보호를 목적으로 설계되었음에도 보안 취약점에 노출될 수 있으므로 각 애플리케이션의 보안성을 분석할 필요가 있다.

Apple 플랫폼의 경우, 키체인2)을 기반으로 설계된 Passwords 애플리케이션을 통해 사용자 크리덴셜을 관리한다. 해당 플랫폼은 독자적 하드웨어 보안 모델인 Secure Enclave를 기반으로 강력한 접근통제와 암호화 기능을 제공하여 높은 보안성을 유지하고 있다[5]. 한편, 크로스 플랫폼 서비스의 확산에 따라, Apple 생태계에서 관리하던 크리덴셜을 Windows 등 타 플랫폼에서도 활용해야 하는 수요가 증가하였다. 이에 Apple은 iCloud Passwords for Windows 애플리케이션을 제공하여, 사용자가 Apple 플랫폼에 저장된 크리덴셜을 Windows 환경에서도 확인하고 사용할 수 있도록 지원하고 있다. 그러나 하드웨어 기반의 보안 모델이 적용되는 Apple 플랫폼과 달리, Windows 환경에서는 소프트웨어 수준의 보안 구성 요소에 의존하는 비중이 높다. 이러한 플랫폼 간의 차이는 구조적 보안 공백을 발생시킬 수 있으나, 현재까지 iCloud Passwords for Windows 애플리케이션의 보안성에 대한 상세한 분석은 미흡하다.

본 논문에서는 암호화된 데이터 저장 위치 및 구조, 암호화 과정 등 iCloud Passwords for Windows 애플리케이션에 적용된 보안 구조를 분석하고자 한다. 또한, 분석한 보안 구조에 존재하는 취약점을 식별하고, 대응 방안을 제시하여 패스워드 관리 애플리케이션 보안성 향상에 기여하고자 한다. 본 논문의 구성은 다음과 같다. 2장에서는 관련 연구와 배경지식을 정리한다. 3장에서는 보안 구조를 분석하고 복호화된 크리덴셜의 정합성을 검증한다. 4장에서는 보안성 분석을 진행하며, 5장에서는 보안성 분석을 바탕으로 보안 강화 및 대응 방안을 제시한다. 마지막으로 6장에서는 결론으로 마무리한다.

II. 관련 연구 및 배경지식

2.1 관련 연구

패스워드 관리 애플리케이션에 관한 연구는 지속적으로 진행되고 있다. Gallus 등은 패스워드 관리 애플리케이션 10종에 대한 보안 표준 준수 여부를 조사하였다[6]. Oesch 등은 13종의 패스워드 관리 애플리케이션의 보안성을 평가하고, 주요 데이터가 암호화되지 않는 취약성이 있음을 보였다[7]. 김한결 등은 안드로이드 환경의 패스워드 관리 애플리케이션 4종을 분석하여 암호화된 패스워드의 복호화 방안을 제시하였고, OWASP (The Open Web Application Security Project) Mobile TOP 103)을 기준으로 취약 요소를 파악하였다[8]. 박준성 등은 크롬 브라우저의 구글 패스워드 관리 애플리케이션 암복호화 과정 및 데이터 저장 구조를 분석하였다[9].

iCloud 및 키체인에 관한 연구도 다양하게 수행되고 있다. 김재욱 등은 iCloud Passwords for Windows에서 2단계 인증을 우회하는 방안을 제시하였다[10]. Oestreicher 등은 Mac OS X 환경에서 iCloud 동기화 시 생성되는 아티팩트를 분석하였고, 데이터의 무결성을 검증하였다[11]. Kyeongsik 등은 Mac OS X 환경에서 메모리 분석을 통해 키체인의 마스터키를 추출하였다[12]. Teufl 등은 iOS 환경에서의 암호화 및 백업 시스템을 분석하여 백업된 일부 키체인 항목이 사용자 패스워드 기반으로 암호화되어 있음을 밝혔다[13].

패스워드 관리 애플리케이션, iCloud와 키체인에 관한 연구는 지속되고 있으나, iCloud Passwords for Windows 애플리케이션의 보안 구조 및 보안성을 분석한 연구는 현재까지 진행된 바 없다.

2.2 관련 연구

본 논문에서 크리덴셜은 인증 과정에서 사용되는 정보를 포괄하는 상위 개념으로 사용한다. 이 중 패스워드는 사용자가 기억하거나 입력하는 텍스트 기반 인증 정보에 해당한다. 본 연구는 iCloud Passwords for Windows 애플리케이션에 저장된 사용자 크리덴셜 중 패스워드 기반 항목의 저장 구조와 복호화 가능성 분석에 초점을 둔다.

2.2.1 iCloud Passwords for Windows 애플리케이션

iCloud Passwords for Windows 애플리케이션은 Apple 플랫폼의 키체인 기반 크리덴셜 관리 기능을 Windows 환경에서도 사용할 수 있도록 제공되는 애플리케이션이다. 사용자가 Apple 플랫폼에서 저장한 크리덴셜을 Windows 환경에서 조회하고, 웹 브라우저에 자동으로 입력할 수 있도록 지원한다. 또한, Windows 환경에서 크리덴셜의 추가, 수정 및 삭제가 가능하며, 변경된 내용은 Apple 플랫폼으로 동기화된다. Fig. 1.과 같이 iCloud Passwords 애플리케이션은 iCloud Storage를 매개로 플랫폼 간 크리덴셜 동기화를 수행하며, 동기화된 크리덴셜은 로컬 환경에 암호화하여 저장한다.

JBBHCB_2026_v36n3_895_3_f0001.png 이미지

Fig. 1. Synchronization Architecture of iCloud Passwords Application

2.2.2 CNG (Cryptography API: Next Generation)

CNG는 Windows Vista 이후 도입된 차세대 암호화 프레임워크이다. 모듈화된 키 저장소 제공자(Key Storage Provider, KSP)를 통해 다양한 암호 알고리즘과 키 관리 기능을 유연하게 확장할 수 있다[14]. CNG는 크게 두 가지 인터페이스로 구성되는데, 대칭·비대칭 암호 연산을 담당하는 BCrypt 함수군과, 키 생성·보관·불러오기·삭제와 같은 키 관리 작업을 수행하는 NCrypt 함수군으로 구분된다[15, 16]. NCrypt 함수군은 Microsoft Software KSP와 같은 소프트웨어 KSP뿐 아니라 Microsoft Platform Crypto Provider와 같은 TPM(Trusted Platform Module) 기반의 하드웨어 KSP에서도 동일한 방식으로 키를 안전하게 관리하도록 지원한다[17, 18].

III. iCloud Passwords for Windows 애플리케이션 보안 구조 분석

본 장에서는 iCloud Passwords for Windows 애플리케이션이 사용자 크리덴셜을 보호하기 위해 적용하고 있는 보안 구조를 분석한다. 암호화된 데이터의 저장 위치 및 구조를 파악하고, 암호화 과정을 분석한다. 이를 바탕으로 암호화된 크리덴셜의 복호화 방안을 제시하며, 복호화된 크리덴셜의 정합성을 검증한다. 연구를 진행한 환경 및 도구는 Table 1.과 같으며, 상세 과정은 Fig. 2.와 같다.

Table 1. Experiment Setup

JBBHCB_2026_v36n3_895_3_t0001.png 이미지

JBBHCB_2026_v36n3_895_4_f0001.png 이미지

Fig. 2. Decryption Process of Encrypted Credentials

3.1 data 컬럼 구조 분석

iCloud Passwords for Windows 애플리케이션은 동기화된 사용자 크리덴셜을 %AppData%\AppleComputer\Keychains 경로의 Keychain-2.db 파일 내에 암호화하여 저장한다. 데이터베이스에 저장된 데이터를 분석한 결과, 사용자 크리덴셜과 관련된 데이터는 inet 테이블의 data 컬럼에 저장되어 있음을 확인하였다. data 컬럼의 0~11 오프셋에는 AAD (Additional Associated Data)가 존재한다. 12~51 오프셋에는 KEK (Key Encryption Key)로 암호화된 DEK (Data Encryption Key)가 저장된다. 이후 오프셋에는 DEK로 암호화된 크리덴셜이 저장되며, data 컬럼의 최하위 16-byte는 AES-GCM Tag에 해당한다. data 컬럼 구조는 Fig. 3.과 같다.

JBBHCB_2026_v36n3_895_4_f0002.png 이미지

Fig. 3. Structure of data Column in inet Table

이와 같이 크리덴셜은 DEK로 암호화되고, DEK는 KEK로 암호화되어 저장된다. 따라서 크리덴셜을 복호화하기 위해서는 우선 KEK를 이용하여 DEK를 복호화해야 한다.

3.2 암호화된 DEK 복호화 방안

DEK는 CNG의 NCrypt 함수군을 통해 복호화할 수 있으며, KEK는 Microsoft Software KSP에 ‘Key2WrapEncryptionKey’라는 이름으로 저장되어 있음을 확인하였다. NCrypt_IV는 KEK 파일의 수정 시각을 MD5 해싱하여 생성한다. NCrypt_IV를 설정한 후 KEK 핸들과 암호화된 DEK의 상위 32-byte를 NCryptDecrypt 함수에 전달하여 복호화된 DEK를 획득할 수 있다.

3.3 암호화된 크리덴셜 복호화 방안

3.2절에서 획득한 DEK를 이용하여 암호화된 크리덴셜을 복호화할 수 있다. 크리덴셜은 AES-256-GCM 알고리즘으로 암호화되어 있으며, Nonce는 0으로 초기화된 12-byte이고, GCM_IV는 소스코드 내 하드코딩된 값을 사용하고 있음을 확인하였다. GCM Tag는 암호화된 크리덴셜의 하위 16-byte이다. 이러한 파라미터와 함께 AAD, DEK를 이용하여 AES-256-GCM 복호화 알고리즘을 수행하면 복호화된 크리덴셜을 획득할 수 있다.

3.4 크리덴셜 내 주요 데이터 식별

3.3절의 과정을 통해 복호화한 크리덴셜은 키-값 구조 형태를 가지고 있다. 해당 데이터는 Identifier를 키로 사용하여 각 크리덴셜에 필요한 세부 속성을 정의하고 있으며, 상세 데이터 구조는 Table 2.와 같다.

Table 2. Data Structure of Credentials

JBBHCB_2026_v36n3_895_5_t0001.png 이미지

본 데이터 구조의 핵심은 agrp가 v_data에 저장된 데이터의 성격을 정의하는 구분자 역할을 수행한다는 점이다. 즉, v_data는 고정된 것이 아니라 agrp에 따라 다르게 해석되어야 한다. agrp가 ‘com.apple.password-manager’인 경우, v_data에는 크리덴셜명, URL, 사용자가 작성한 메모 등 계정 패스워드가 아닌 메타데이터가 저장된다. agrp가 ‘com.apple.cfnetwork’인 경우 v_data에는 사용자가 저장한 계정 패스워드가 평문으로 저장된다. 이때 acct는 해당 패스워드와 쌍을 이루는 계정 아이디 역할을 한다.

3.5 크리덴셜 정합성 검증

3.4절에서 식별한 크리덴셜이 실제 값과 일치하는지 검증하기 위해, Apple 플랫폼에서의 iCloud Passwords 애플리케이션에 저장된 크리덴셜과 비교하였다 Fig. 4. (a)는 실제 iPhone의 Passwords 애플리케이션 메뉴에서 확인된 크리덴셜이다. (b)는 Windows 환경에서 iCloud 동기화를 통해 iCloud Passwords for Windows 애플리케이션에서 확인된 크리덴셜이며, (c)는 본 논문에서 복호화를 통해 획득한 크리덴셜이다. 비교 결과, (c)의 계정 아이디와 패스워드 정보가 (a), (b)에 표시된 정보와 정확히 일치함을 확인하였다.

JBBHCB_2026_v36n3_895_5_f0001.png 이미지

Fig. 4. Comparison of User Interfaces and Decrypted data Column

IV. iCloud Passwords for Windows 애플리케이션 보안성 분석

Apple 플랫폼은 하드웨어 기반 보안 모델을 통해 사용자 크리덴셜 암호화 키를 격리한다. 그러나 해당 보안 모델이 적용될 수 없는 Windows 환경에서는 운영체제가 제공하는 소프트웨어 기반의 보안 구성 요소에 의존하게 된다. 이러한 환경에서 적절한 보안 구성이 이루어지지 않을 경우, OWASP Top 104)에서 경고하는 암호화 오류(Cryptographic Failures)에 의한 취약점이 발생할 수 있다[19] (Fig. 5.)

JBBHCB_2026_v36n3_895_6_f0001.png 이미지

Fig. 5. Process of Security Analysis

4.1 잘못된 IV 사용으로 인한 암호학적 안전성 저하

AES와 같이 검증된 표준 암호 알고리즘은 차분 및 선형 공격과 같은 수학적 분석 기법에 충분한 안전성을 보장한다. 이는 암호화 키와 IV의 유일성 및 무작위성이 전제되었을 때만 유효하다. 분석 결과, iCloud Passwords for Windows 애플리케이션은 이러한 전제 조건을 충족시키지 못하였다. 먼저, DEK 복호화 과정의 NCrypt_IV는 키 파일의 마지막 수정 시각을 시드로 생성되며, 크리덴셜 복호화 과정의 GCM_IV와 Nonce는 소스코드 내 하드코딩된 고정값을 사용하고 있다. NIST SP 800-38D 가이드라인에 따르면, AES-GCM 모드에서 IV가 재사용될 경우 해당 알고리즘의 보안 보증(Security Assurance)은 무효화된다. 이에 따라 데이터의 기밀성과 무결성을 모두 상실하게 된다[20]. 이러한 위험성으로 인해 FIPS 140-3 등 주요 보안 표준에서는 GCM 모드 사용 시 IV의 유일성 보장을 필수 요구사항으로 규정하고 있다[21]. 따라서, 검증된 암호 알고리즘을 사용하고 있음에도 불구하고, 잘못된 IV 관리 방식으로 인해 암호 알고리즘의 안전성을 보장할 수 없다.

4.2 소프트웨어 기반 키 저장소의 사용자 인증 부재

안전한 키 저장소는 내부 시스템조차 신뢰하지 않는 제로 트러스트 보안 모델을 기반으로 설계되어야 한다. 공격자가 시스템 권한을 탈취하여 내부에 침투한 상황에서도 암호화 키에 접근하기 위해서는 사용자의 프레즌스5) 확인과 같은 지속적인 검증 절차가 강제되어야 한다. 실제로 Apple 플랫폼의 보안 모델은 공격자가 기기의 제어권을 획득했더라도 키체인 데이터에 접근하려면 생체 인증이나 패스워드 재입력 같은 사용자 프레즌스 확인을 강제한다. 즉, 정상적인 사용자의 개입 없이는 키 사용이 불가능한 구조로 되어 있다. 반면, iCloud Passwords for Windows 애플리케이션은 Microsoft Software KSP를 사용함으로써 이러한 방어 체계가 부재함을 확인하였다. 분석 결과, 사용자 인터페이스상에서는 사용자 프레즌스를 요구하나, 실제 데이터를 복호화하는 API 호출 단계에서는 이러한 인증 절차를 강제하지 않는다. Windows CNG API는 기본적으로 현재 로그인된 세션의 권한을 신뢰하므로, 공격자가 악성코드를 통해 사용자 세션 내에서 API를 직접 호출할 경우, 시스템은 정당한 요청으로 간주한다. 이에 따라 공격자는 애플리케이션이 제공하는 사용자 프레즌스 확인을 거치지 않고 암호화 키를 사용하여 크리덴셜을 탈취할 수 있다.

4.3 위협 모델 및 공격 시나리오

앞서 4.1절과 4.2절에서 식별한 취약점이 실제 환경에서 악용되는 조건과 범위를 명확히 하기 위해, 본 절에서는 위협 모델(Threat Model)을 정의하고 이를 기반으로 한 대표적인 공격 시나리오를 제시한다. 본 위협 모델은 4장 도입부에서 언급한 OWASP 암호화 오류의 위협 범주에 부합한다.

4.3.1 위협 모델

본 논문에서 가정하는 공격자는 사용자 수준의 로컬 접근 권한을 확보한 상태에서 iCloud Passwords for Windows 애플리케이션에 저장된 사용자 크리덴셜을 탈취하고자 하는 주체이다. 본 위협 모델의 세부 가정은 다음과 같다.

• 공격자 목표

iCloud Passwords for Windows 애플리케이션에 저장된 사용자 크리덴셜의 평문 추출

• 공격자 능력

피해자 기기에서의 사용자 수준 코드 실행, %AppData%\Apple Computer\Keychains 경로 등 사용자 프로파일 영역에 대한 읽기 접근, 현재 사용자 세션 권한으로 Windows CNG API 호출, 애플리케이션 정적·동적 분석을 통한 키 핸들 명칭 및 복호화 절차 식별

• 사전 조건

피해자가 본 애플리케이션을 설치한 후 Apple 계정으로 로그인하였으며, 하나 이상의 크리덴셜이 동기화·저장된 상태

• 신뢰 가정

운영체제 자체는 변조되지 않은 것으로 가정하며, 본 공격에는 운영체제 권한 상승이 요구되지 않는 환경

• 범위 외

물리적 접근 없이 수행되는 원격 공격, iCloud 동기화에 대한 네트워크 수준 공격, 커널 또는 시스템 권한이 필요한 공격은 본 논문의 범위 밖

4.3.2 공격 시나리오

본 절에서는 앞서 정의한 위협 모델 하에서 본 취약점이 실제로 활용될 수 있는 정보탈취형 악성코드(InfoStealer)에 의한 크리덴셜 수집 시나리오를 제시한다. 사용자가 피싱 또는 위장 설치 파일 등을 통해 사용자 권한으로 동작하는 악성코드에 감염된 경우, 해당 악성코드는 호스트 정찰을 수행하고 본 애플리케이션의 데이터 파일 위치를 탐색한다. 이후 공격자는 사용자 세션 내에서 CNG API를 직접 호출함으로써 사용자 프레즌스 확인을 거치지 않고 KEK 핸들을 획득한다. 공격자는 획득한 KEK 핸들을 통해 3장에서 제안한 복호화 절차를 재현하여 저장된 크리덴셜을 평문으로 복원할 수 있다. 복원된 크리덴셜은 외부 서버로 유출되어 크리덴셜 스터핑(Credential Stuffing), 계정 탈취(Account Takeover) 등 후속 공격에 활용될 수 있다.

V. iCloud Passwords for Windows 애플리케이션 보안성 강화 방안

본 장에서는 4장에서 식별한 취약점에 대응하는 보안성 강화 방안 제시에 집중한다. 이를 위해 Windows 환경에서 기본적으로 제공하는 보안 기능을 활용하여 기밀성과 무결성을 보장할 수 있는 강화 방안을 Fig. 6.과 같이 제안한다.

JBBHCB_2026_v36n3_895_7_f0001.png 이미지

Fig. 6. Process of Security Enhancement

5.1 CSPRNG 기반의 난수 IV 적용 및 서버키 도입을 통한 암호학적 안전성 확보

검증된 암호 알고리즘의 안전성을 보장하기 위해서는 예측 불가능하고 유일한 IV의 생성 및 관리 방식을 적용해야 한다. 파일의 수정 시각이나 하드코딩된 값에 의존하는 방식은 공격자의 예측 가능성을 높이고, NIST SP 800-38D와 같은 표준 가이드라인을 위배하여 암호 체계를 무력화한다. 따라서 iCloud Passwords for Windows 애플리케이션은 IV 생성 시 BCryptGenRandom과 같이 운영체제 커널 수준에서 엔트로피 소스를 수집하여 난수를 생성하는 CSPRNG (Cryptographically Secure Pseudo-Random Number Generator)를 사용해야 한다. 또한, 생성된 난수는 가변적인 파일 시스템의 메타 데이터가 아닌, 암호화된 데이터의 헤더 영역에 기록하여 데이터와 함께 존재하는 구조로 변경되어야 한다.

CSPRNG 기반의 난수 IV 적용만으로는 로컬 시스템 공격에 대한 안전성을 보장하기 어렵다. 공격자가 기기를 물리적으로 점유하거나 분석할 수 있는 로컬 환경의 특성상, 복호화에 필요한 모든 요소가 로컬에 존재할 경우 역공학을 통해 데이터를 복호화할 수 있다. 따라서 인증된 사용자에게만 발급되는 서버키를 도입하여 키 파생 구조를 이원화해야 한다. 즉, DEK 생성 시 로컬에 존재하는 값뿐 아니라 서버로부터 전송받은 키값을 결합함으로써 더 높은 보안성을 확보할 수 있다. 이러한 서버 연동형 키 관리 구조를 적용하면, 공격자가 로컬 데이터베이스 파일을 탈취하더라도 서버의 실시간 인증 없이는 복호화할 수 없으므로 기밀성을 강력하게 보장할 수 있다.

5.2 TPM 기반 키 격리 및 사용자 프레즌스 적용

소프트웨어 기반 키 저장소의 한계와 사용자 인증 우회 문제를 해결하기 위해서는 제로 트러스트 원칙을 구현할 수 있는 하드웨어 기반 모듈의 도입이 필수적이다. Windows 환경에서 Apple의 Secure Enclave와 유사한 보안 수준을 달성하기 위해, 하드웨어 기반 보안 칩인 TPM을 활용한 키 격리와 접근 제어 정책의 결합을 제안한다.

첫 번째로는 키 저장소의 물리적 격리이다. 기존의 Microsoft Software KSP를 Microsoft Platform Crypto Provider로 대체하여 암호화 키를 운영체제 메모리가 아닌 TPM 칩 내부에 격리 보관해야 한다. 이를 통해 메모리 덤프나 오프라인 공격으로부터 키를 보호할 수 있다. 두 번째로는 TPM 키 사용에 대한 사용자 프레즌스 강제이다. 하드웨어에 격리된 키더라도 API 호출 권한에 대한 검증이 없다면 악용될 소지가 있다. 따라서 키 생성 및 저장 시 ‘NCRYPT_UI_POLICY’ 속성을 적용하여 API 호출 단계에서의 접근 제어를 강화해야 한다. 해당 정책을 적용하면 API 호출 단계에서 인증 절차가 강제되므로, 공격자의 악의적인 접근 시도로부터 크리덴셜을 안전하게 보호할 수 있다. Windows 환경에서는 Windows Hello 생체 인증이나 PIN 입력을 통해 사용자 프레즌스 검증을 실질적으로 구현할 수 있다.

VI. 결론

패스워드 관리 애플리케이션은 사용자 크리덴셜 관리에서 보안성과 편의성을 만족시키기 위해 등장하였다. 이에 Apple은 키체인을 기반으로 한 Passwords 애플리케이션을 제공하고 있다. 해당 애플리케이션은 Apple 플랫폼에서 동작하도록 설계되었으나, 사용자의 편의와 확장성을 위해 iCloud Passwords for Windows 애플리케이션 또한 지원하고 있다. 그러나 하드웨어 기반 보안 모델이 적용되는 Apple 플랫폼과 달리, Windows 환경의 보안 구조 차이로 인한 보안 공백이 발생할 우려가 있다. 따라서 본 논문에서는 iCloud Passwords for Windows 애플리케이션의 보안 구조를 분석하고 보안성을 평가하였다.

보안 구조 분석 결과, 암호화된 데이터 내부의 ‘agrp’를 통해 실제 계정 패스워드와 메타데이터를 구분하였으며, 이를 바탕으로 평문 형태의 사용자 크리덴셜을 온전하게 복원할 수 있음을 입증하였다. 보안성 분석 결과, 데이터 암호화 과정에서 파일 수정 시각이나 하드코딩된 값을 IV로 사용하는 등 NIST SP 800-38D와 같은 주요 보안 표준에 대한 준수가 미흡하였다. 또한, 키 관리 측면에서도 소프트웨어 기반의 KSP에 의존하고 있어, 악성코드나 공격자가 사용자 프레즌스 검증 없이 API 호출만으로 암호화 키에 접근할 수 있는 구조적 취약성이 발견되었다. 이는 공격자가 로컬 접근 권한만으로 사용자의 모든 크리덴셜을 탈취할 수 있는 치명적인 위협이 된다.

본 논문에서는 두 가지 대응 방안을 제안하였다. 첫째, CSPRNG 기반의 난수 IV 사용과 서버키 도입을 통해 암호학적 안전성을 강화하고 로컬 공격을 방어해야 한다. 둘째, 제로 트러스트 보안 모델 실현을 위해 TPM 기반 키 격리를 선행해야 하고, ‘NCRYPT_UI_POLICY’ 적용을 통해 API 호출시 사용자 프레즌스를 강제해야 한다. 한편, 본 논문에서 식별한 보안 취약점은 조정된 취약점 공개 (CVD, Coordinated Vulnerability Disclosure) 원칙에 따라 Apple에 사전 보고되었으며, 본 논문 제출 시점 기준 벤더 측의 검토가 진행 중이다. 본 논문 결과를 통해 향후 패스워드 관리 애플리케이션이 Windows 환경에서도 Apple 플랫폼과 동등한 수준의 보안성을 확보하여, 플랫폼 간 일관된 보안 수준을 유지할 수 있을 것으로 기대된다. 또한, 본 논문은 디지털 포렌식 관점에서도 의의를 갖는다. 본 연구에서 제시한 iCloud Passwords for Windows 애플리케이션의 보안 구조 분석 결과는 아티팩트 분석의 기초 자료로 활용될 수 있으며, 향후 Windows 환경에서 iCloud Passwords 관련 디지털 증거의 식별 및 해석에 기여할 수 있다.

References

  1. National Institute of Standards and Technology, "Digital identity guidelines," NIST SP 800-63-4, Jun. 2017.
  2. KISA, "Password Selection and Usage Guide," Sep. 2019.
  3. Wikipedia, "Password fatigue," https://en.wikipedia.org/wiki/Password_fatigue.
  4. CybersecurityNews, "0-Day clickjacking vulnerabilities expose password managers to credentials theft," https://cybersecuritynews.com/0-day-clickjacking-vulnerabilities/, Aug. 2025.
  5. Apple, "Secure Enclave," Apple Platform Security, https://support.apple.com/ko-kr/guide/security/sec59b0b31ff/web, Dec. 2024.
  6. H. Gallus, N. Larrieu, and A. Oulhaci, "Password managers: security analysis and landscape," Proceedings of the 16th International Conference on Cyber Warfare and Security (ICCWS), pp. 68-76, Feb. 2021.
  7. S. Oesch, S. Ruoti, and K. Seamons, "The security of password managers," Proceedings of the 29th USENIX Security Symposium, pp. 469-486, Aug. 2020.
  8. Hangyeol Kim, Sinyoung Lee, Myungseo Park, "A Study on Key Data Decryption and Security Evaluation for Password Management Apps," Journal of Korea Institute of Information Security & Cryptology, 34(1), pp. 5-16, Feb. 2024.
  9. Junseong Park, Sangjin Lee, "A Study on Acquisition of Google Password Manager Data in Chrome Browser," Journal of Digital Forensics, 15(2), pp. 12-23, Jun. 2021. https://doi.org/10.22798/KDFS.2021.15.1.12
  10. Jaeuk Kim, Junho Kim, Jungheum Park, "A Study on extracting and utilizing iCloud authentication information in Windows environments," Journal of Digital Forensics, 18(2), pp. 36-50, Jun. 2024.
  11. L. Oestreicher, "Analyzing the iCloud and CloudKit artifacts on macOS," Digital Investigation, vol. 11, pp. S96-S104, Aug. 2014. https://doi.org/10.1016/j.diin.2014.05.006
  12. K. Lee, "Keychain analysis with MacOS X memory forensics," SANS Institute InfoSec Reading Room, Dec. 2014.
  13. P. Teufl, T. Zefferer, and C. Stromberger, "Insight into the iOS backup and restore process," Proceedings of the 10th International Conference on Availability, Reliability and Security (ARES), pp. 41-50, Aug. 2015.
  14. Microsoft, "CNG portal," https://learn.microsoft.com/en-us/windows/win32/seccng/cng-portal, Oct. 2025.
  15. Microsoft, "BCrypt functions," https://learn.microsoft.com/en-us/windows/win32/api/bcrypt/, Jul. 2025.
  16. Microsoft, "NCrypt functions," https://learn.microsoft.com/en-us/windows/win32/api/ncrypt/, Jul. 2025.
  17. Microsoft, "CNG key storage providers," https://learn.microsoft.com/en-us/windows/win32/seccertenroll/cng-key-storage-providers, Nov. 2024.
  18. Microsoft, "TPM key attestation," https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/tpm-key-attestation, Dec. 2025.
  19. OWASP, "OWASP Top 10: A04:2025-Cryptographic Failures" https://owasp.org/Top10/2025/A04_2025-Cryptographic_Failures/.
  20. M. Dworkin, "Recommendation for block cipher modes of operation: Galois/Counter Mode (GCM) and GMAC," NIST SP 800-38D, Nov. 2007.
  21. National Institute of Standards and Technology, "Security requirements for cryptographic modules," FIPS PUB 140-3, Mar. 2019.