파이썬 키링으로 비밀번호 저장


16

키 링 라이브러리 를 사용하여 파이썬 앱에 비밀번호를 저장하고 있습니다.

import keyring
keyring.set_password('My namespace', username, password)
keyring.get_password('My namespace', username)

그리고 이것은 매우 잘 작동합니다.

암호는 키 링에서 안전하고 암호화되어 있다고 가정합니다. 그러나 사용자 이름으로 가져올 수 있기 때문에 다른 앱이 동일한 작업을 수행하지 못하게하는 것은 무엇입니까?

보안 상 위험하지 않습니까, 아니면 뭔가 빠졌습니까?

답변:


14

키링 라이브러리는 데스크탑 환경의 표준 키링 (예 : 그놈 키링)을 사용 합니다. 이 키링은 로그인하자마자 잠금 해제됩니다. 예, 사용자가 실행하는 다른 응용 프로그램은 응용 프로그램과 함께 저장 한 암호에 액세스 할 수 있지만 이는 다른 사용자와 해당 응용 프로그램의 키 링 개념입니다. 하지 않았다.

" 그놈 키링 보안 철학 " 인용 :

보안 극장의 예는 보안 컨텍스트에서 실행중인 한 응용 프로그램 (예 : 사용자 세션)이 동일한 보안 컨텍스트에서 실행중인 다른 응용 프로그램의 정보를 유지할 수 있다는 환상을 제공합니다.

있습니다 username에서 set_password/ get_password기능은 응용 프로그램을 실행하는 사용자의 이름과 관련이 없습니다 (즉, 그 열쇠 고리 사용되는 사용자)하지만, 예를 들어 등 이메일 주소, 데이터베이스 이름 일 수를


답변 해주셔서 감사합니다. 그래서 암호를 저장하는 것은 위험 :이있을 수 있습니다
umpirsky

3
아니요, 비밀번호를 검색하는 사용자는 사용자 로그인 비밀번호를 알고 있거나 제공해야합니다. 자동 로그인을 설정 한 다음 앱을 실행하십시오. 로그인 비밀번호를 입력하지 않으면 저장된 비밀번호에 액세스 할 수 없습니다.
Javier Rivera

@umpirsky : 파일에 저장하는 것보다 위험하지 않습니다. 암호화 방법에 관계없이 해독 키는 어딘가에 저장하거나 제공해야합니다. 따라서 세션에서 어떤 앱 을 수행하든 액세스 할 수 있습니다.
MestreLion 2016 년

그놈 키링이없는 Ubuntu 서버에서 실행되는이 코드는 쉽게 액세스 할 수있는 Base64로 인코딩 된 값을 가진 파일로 대체됩니다.
고양이 남자는

그 링크는 죽은 것 같습니다.
AdamC
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.