[WWDC 2018] 보안 암호 및 보안 코드 자동 입력
암호 자동 입력
지금까지의 암호 관리 및 입력
지금까지 비밀번호 관리는 사용자들에게 고민의 근원이었다.모든 서비스는 안전성이 높은 비밀번호를 준비해야 하지만 비밀번호 관리자를 사용해도 번거롭다.이에 따라 이번에는 비밀번호 걱정 없이 간단하고 안전하게 관리할 수 있게 됐다.
현재 많은 사용자가 iCloud Keychain을 사용하고 있습니다.애플 자체도 키카인에 접근할 수 없기 때문에 키카인의 관리는 생체 측정에 이어 안전하고 간단한 방법이다.이것은 iOS 12에서 더 간단해졌습니다.
iOS 12의 암호 관리 및 입력
새 계정 생성 화면에서 메일 표시줄에 초점을 맞출 때 사용자 이름을 알려 줍니다.요약은 지금까지 Keychain에 저장된 정보를 바탕으로 한다.
다음에 암호란에 초점을 맞출 때 안전성이 강한 암호 후보를 제시합니다.물론 이전 Keychain과 마찬가지로 다른 장치도 비밀번호를 계승하여 사용할 수 있다.몇 번의 클릭만으로 서명이 가능합니다.
이 프로그램에 다시 로그인하면 모든 서비스에 ID와 비밀번호의 후보 설정이 표시됩니다.이 버튼을 클릭하면 생체측정이 시작되며 생체측정에 성공하면 자동으로 ID, 비밀번호 표시줄을 입력한다.
팩스 인증 2개가 필요한 경우 텍스트 메시지를 받을 때 인증 코드가 키보드 위에 표시되며 해당 인증 코드를 클릭해서만 입력할 수 있다.
실현 방법
이 암호의 자동 입력 기술은 웹을 바탕으로 제작된 것이다.QuickTypebar (키보드의 후보 표시줄 보이기) 에 인증 정보를 표시하기 위해서는 입력란이 어떤 서비스인지 판단할 수 있도록 응용 프로그램과 필드가 대응해야 한다.관련은 매우 간단합니다. 응용된entitlements 파일과 서버 측의 인증 정보 파일을 조금만 바꾸면 됩니다.이것에 관해서는 WWDC 2017Introducing Password AutoFill for Apps에 소개됐는데, 이것도 볼 수 있다.
현지인 쪽에서 하는 일은Contenttypes의 설정이 있습니다.적절한 Field에 적합한 type을 지정합니다.let userTextField = UITextField()
userTextField.textContentType = .username
let passwordTextField = UITextField()
passwordTextField.textContentType = .password
AutoFill은 WKWebview에서도 지원됩니다.암호 관리자의 구체적인 실현 방법은 참고할 수 있다Implementing AutoFill Credential Provider Extensions.
새 계정으로 로그인하면 그 인증 정보를 저장하느냐는 질문을 받을 수 있습니다.여기에 저장하면 다른 디바이스인 Safari도 AutoFill의 혜택을 받을 수 있습니다.
암호 저장 프로세스
let userTextField = UITextField()
userTextField.textContentType = .username
let passwordTextField = UITextField()
passwordTextField.textContentType = .password
적응성 검사
비밀번호 저장 주변과 관련해서는 iOS 12에서 새롭지 않지만, 적용성을 확인하려면 다음과 같이 확인한다.
주안점
보안 높은 암호 자동 생성
서명 과정이 간단하고 안전하며 편리하다.사용자는 더 이상 번거로운 일을 고려하지 않고 몇 번만 클릭하면 된다.
보안 높은 암호 흐름 자동 생성
적응성 검사
※ 오토파일과 같은 항목
코드와 관련해서는 사용자 이름의 Field가 AutoFill과 동일하지만 iOS 12에 새로 등장하는
newPassword
에 암호를 지정해야 합니다.let newPasswordTextField = UITextField()
newPasswordTextField.textContentType = .newPassword
let confirmPasswordTextField = UITextField()
confirmPasswordTextField.textContentType = .newPassword
적절한 Field를 감지하기 위해 UItableView에 인증 화면을 만들려면 UITExt Field를 작은 구역에 설정해야 합니다.마음에 새기다
.username
및 .newPassword
형식을 동일한 화면에 구성암호 형식
let newPasswordTextField = UITextField()
…
let rulesDescriptor = "allowed: upper, lower, digit; required: [$];"
newPasswordTextField.passwordRules = UITextInputPasswordRules(descriptor: rulesDescriptor)
Password Rules Validation Tool라는 말이 있어서 사용해 볼 수 있어요.데모
Email의 TextField 지정
Content Type = Username
,Keyboard Type = E-mail Address
,Password의 TextField 지정Content Type = New Password
,Secure Text Entry = true
로 프레젠테이션을 표시합니다.대부분의 경우 여기까지만 설정하면 된다.그러나 이번 서비스는 비밀번호$
에 포함되어야 하기 때문에 검증 오류가 발생했습니다.이 경우 암호 생성 규칙을 수정해야 하므로 Password Rules Validation Tool 페이지로 이동하여 required
에 "$"를 지정합니다.형이 만들어진 출력은 UIKit용, HTML용입니다.이번에는 UIKit용 교재를 복사해 Storyboard-Password의 TextField-Password Rules 막대에 붙여 넣었다.주안점
보안 코드 자동 입력
텍스트 기반 보안 코드(예: 듀얼 인수 인증)를 자동으로 입력하려면 아래.oneTimeCode
와 시스템 키보드가 필요합니다.let securityCodeTextField = UITextField()
securityCodeTextField.textContentType = .oneTimeCode
보안 코드를 포함하는 메시지는 지원하는 모든 언어에 사용할 수 있습니다.
이 기능은 iOS뿐만 아니라 맥OS에서도 사용할 수 있으며 로컬뿐만 아니라 사파리에서도 사용할 수 있다.또 맥의 사파리에 보안코드가 필요할 때도 아이폰으로 받은 보안코드를 자동으로 입력할 수 있다.
AutoFill을 Safari에서 사용할 경우 다음 표에 따라 설정합니다.
Federated 인증
지금까지 Federated 인증을 사용하려는 상황에서 이런 표현이 나왔다.
버튼을 한 번만 누르면 사파리와 쿠키를 원활하게 공유할 수 있다.A Swebauthentication Session을 사용하면 다음과 같은 이점이 있습니다.
let securityCodeTextField = UITextField()
securityCodeTextField.textContentType = .oneTimeCode
지금까지 Federated 인증을 사용하려는 상황에서 이런 표현이 나왔다.
버튼을 한 번만 누르면 사파리와 쿠키를 원활하게 공유할 수 있다.A Swebauthentication Session을 사용하면 다음과 같은 이점이 있습니다.
사용법
import AuthenticationServices
guard let oauthURL = URL(string: "https://www.example.com/oauth/...") else {
return
}
self.authenticationSession = ASWebAuthenticationSession(url: oauthURL, callbackURLScheme: nil) { (callbackURL, error) in
guard error == nil, let callbackURL = callbackURL else {
// Process error.
return
}
// Process token.
}
self.authenticationSession.start()
새 암호 관리 기능
iCloud keychain에서는 다른 장치에서도 인증 정보를 공유할 수 있습니다.시리에게 "○○ 사이트 비밀번호 알려주세요"라고 말하면 상대방도 입력한다.
iOS 12에서는 앱의 비밀번호를 설정하는 페이지의 디자인이 변경돼 비밀번호 등을 복사할 수 있고, 에어드롭을 통해 비밀번호를 보낼 수도 있다.이것은 맥OS에서도 마찬가지다.
또 하나의 큰 변화가 있다.만약 여러 웹 페이지에서 같은 비밀번호를 사용했다면, 같은 비밀번호를 설정한 웹 페이지를 알려주시고, 이 화면에서 비밀번호를 변경할 수 있습니다.
tvOS에서도 오토파일로부터 혜택을 받을 수 있다.자세한 내용은 What's New in tvOS 12 참조할 수 있습니다.
총결산
첨부:관련 문서
Reference
이 문제에 관하여([WWDC 2018] 보안 암호 및 보안 코드 자동 입력), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/akatsuki174/items/04cefa5fe4439e118932텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)