swift-security-skill은(는) 무엇을 하나요?
Apple 플랫폼에서 자격 증명 보안 저장 및 암호화를 위한 AI 에이전트 스킬 - Keychain Services, 생체 인증, CryptoKit 및 OWASP 준수 (iOS 13–26+)
개요
이 스킬은 AI 에이전트가 Apple 플랫폼 애플리케이션(iOS 13+, macOS, watchOS, tvOS)에서 안전한 자격 증명 저장소와 암호화 기능을 구현할 수 있도록 지원합니다. Keychain Services, LocalAuthentication, CryptoKit 등의 프레임워크를 다룹니다.
기능
- Keychain Services: 안전한 자격 증명(비밀번호, 토큰, 키) 저장 및 검색
- 생체 인증:
LocalAuthentication을 통한 Face ID 및 Touch ID 지원 - CryptoKit: 대칭/비대칭 암호화, 해싱(SHA-256 등), 키 교환
- OWASP 준수: OWASP 모바일 보안 검사 목록에 따른 권장 구현 패턴
사용 예시 (Swift)
Keychain에 비밀번호 저장
import Security
let password = "my_secret_password".data(using: .utf8)!
let query: [String: Any] = [
kSecClass as String: kSecClassGenericPassword,
kSecAttrAccount as String: "[email protected]",
kSecValueData as String: password
]
let status = SecItemAdd(query as CFDictionary, nil)
guard status == errSecSuccess else {
// 오류 처리
return
}
CryptoKit을 사용한 데이터 암호화
import CryptoKit
let key = SymmetricKey(size: .bits256)
let message = "민감한 데이터".data(using: .utf8)!
let sealedBox = try AES.GCM.seal(message, using: key)
let encryptedData = sealedBox.combined
플랫폼 지원
| 플랫폼 | 최소 버전 |
|---|---|
| iOS | 13.0 |
| macOS | 10.15 |
| watchOS | 6.0 |
| tvOS | 13.0 |
참고 자료
라이선스
MIT