/ 개인키 / 공용키 / 암호 / 패스키 / 사용 / 보안 / security / secure / auth / authorization
passkey 와 private key 의 차이
패스키를 생성하는 것은 비밀번호를 만드는 것과 비슷하다.
password 에서 word 대신 key를 넣어서 만든 단어다. 즉, 이전에 어떤 단어word 를 이용했다면, 이젠 key 를 사용한단 이야기다.
우리가 site A 를 접속한다고 하면, 우리는 비밀번호를 넣고 login 을 하게 된다. 패스키를 사용하게 되면, 우리는 비번을 넣는 대신 private key 를 이용하게 된다.
ssh login 을 할 때 이미 많이 사용하던 방법이다. ssh login에서는 private key 내용이 저장된 파일을 지정해서 사용했다.(.pem)
이것이 패스키(passkey) 와 비슷하다고 볼 수 있다.
ssh login 에서도 비슷하지만, 패스키에서도 서버에 public key 가 저장돼 있게 된다. 그래서 private key(패스키도 private key이다)를 가지고 로그인을 할 수 있게 된다.
이 passkey는 각 웹사이트마다, 앱마다 다른 passkey를 생성하게 된다. 애플에서는 iCloud Keychain 에 이 passkey를 저장한다. 이 때 end-to-end encryption 을 하기에 누구도 알 수 없다고 이야기한다. [ref. 3] 그리고 이 passkey는 apple 기기에 동기화 된다.[ref. 4]
당연한 이야기겠지만, 그렇기에 웹사이트에서 패스키를 지원해야 한다.
그럼 이것이 이전의 private key 를 사용하는 것과 무엇이 다른가?
그것은 private key 의 생성과 보관에서 차이를 보인다.
생성
직접 생성할 필요가 없다. 웹사이트에서 passkey를 지원한다면, key를 생성하는 절차가 자동화 될 것이다. ref. 3 의 아이폰에서 passkey를 저장하는 시나리오를 보면 알겠지만, 계정이름을 적고 나면, passkey를 저장하기 위한 화면이 뜬다. 그 후 현재 아이폰에 저장하겠다고 선택하면 된다.
즉, passkey 는 당연히 누군가 생성해줬을 것이다. ref. 4에서 말하지만, os 가 app 또는 website 의 계정과 연관된 unique 한 암호화한 key pair 를 생성한다. 그리고 public key 는 서버에 저장되고, private key 는 local device 에 저장된다.
보관 및 사용
아이폰에 저장된 이후, 이 passkey 를 사용하기 위해서 touch ID 나 face ID 를 이용해서 authorize 한 이후(권한을 준 후), passkey 를 사용할 수 있게 된다. 그리고 이 passkey 는 app또는 website에 user를 authenticate(인증) 해준다.
Reference
- “비밀번호를 안전하고 편리하게 대체한다” 패스키의 이해 - ITWorld Korea, 2023-01-26
- [까다로운 IT] 애플∙구글∙MS 모두 도입하는 패스키, 비밀번호를 대체할 수 있을까? - Byline Network, 2022-06-17
- Sign in with passkeys on iPhone - Apple Support
- About the security of passkeys - Apple Support
- Google Online Security Blog: So long passwords, thanks for all the phish
댓글 없음:
댓글 쓰기