우리는 많은 타사 서비스에 액세스하는 데 사용되는 데스크톱 및 모바일 응용 프로그램을 보유하고 있습니다. 이러한 서비스에는 잠재적으로 중요한 정보 (예 : 인증 토큰)가 있고 일부 경우 일반 텍스트 사용자 이름/암호가 있습니다.원격 서비스의 민감한 사용자 정보 저장을위한 모범 사례
우리는 여러 컴퓨터와 장치에서 설정을 동기화하는 서비스를 제공하려고합니다. 즉, 우리가 제공하는 서비스에 로그인하면 그 정보는 로그인 한 모든 곳에서 동기화됩니다.
우리는 타사 응용 프로그램이 일반 텍스트 암호 사용을 중단하도록 할 방법이 없습니다.
우리가 생각 한 몇 가지 방법이 있습니다 :
적 암호를 보내거나 인증은 최대 토큰하지 마십시오.
사용자가 새 기기에 로그인하면 각 타사 서비스에 대해 기기를 다시 입력하거나 인증해야합니다.
장점 : 안전하고, 암호/토큰 손상 위험이 없습니다.
단점 : 사용자가 어려움.클라이언트 인증서 또는 하드웨어 토큰을 사용하여 중요한 정보를 암호화하십시오.
사용자가 로그인하려면 인증서/하드웨어 토큰을 제공해야합니다.
장점 : 매우 안전합니다.
단점 : 비영리 앱을 구현하기가 어렵다는 것은 막대한 장벽입니다.암호화 사용자가 새 장치에 사용자가 로그인, 그들은이 암호를 입력하라는 메시지가 표시됩니다
을 제공하는 암호를 사용하여 민감한 정보.
암호가 틀리면 다른 모든 장치를 다시 입력하거나 인증해야합니다.장점 : 사용자가 강력한 암호를 제공하면 안전합니다.
단점 : 사용자가 암호를 재설정하면 모든 타사 응용 프로그램에 대해 장치를 다시 인증해야합니다.Google 서버에서 중요한 정보를 암호화하십시오.
장점 : 사용자가 쉽게 사용할 수 있습니다.
단점 : 설정 테이블을 쥐고있는 사용자는 일반 텍스트보다 약간 더 효과적입니다.아무 것도 암호화하지 마십시오. (일반 텍스트 저장)
장점 : 사용자가 쉽게.
단점 : 모든 사용자의 암호/인증 토큰을 얻기 위해 DB를 점유하는 사람이라면 누구나 쉽게 사용할 수 있습니다.
내 질문 : 아직 고려하지 않은 더 나은 방법이 있습니까?