KWallet

KWallet
KDE 지갑 관리자
KWallet Interface.PNG
개발자KDE
안정된 릴리스
21.12.3 2022-03-03
저장소github.com/KDE/kwallet
기입처주로 C++(Qt), 일부 C
운영 체제크로스 플랫폼
유형
면허증.다양[a] LGPL
웹 사이트apps.kde.org/kwalletmanager5/

KDE 지갑 관리자(KWallet)는 UNIX 스타일 운영 체제용 C++로 작성된 무료 오픈 소스 암호 관리 소프트웨어입니다.KDE 지갑 관리자는 Linux 기반 OS에서 실행되며 암호화된 암호를 KDE [1]지갑에 저장하는 것이 주요 기능입니다.KDE 지갑 매니저(KWallet)의 주요 기능은 비밀번호나 ID와 같은 사용자의 자격 증명을 수집하고 Blowfish 대칭 블록 암호 알고리즘이나 GNU Privacy Guard 암호화를 통해 암호화하는 것입니다.

인스톨

KDE 지갑 관리자(KWallet)를 사용하려면 Linux 기반 OS와 KDE 소프트웨어 컴파일 데스크톱 환경(예: KUBUNTU)[2]이 필요합니다.

브라우저 확장 기능

KDE 지갑 관리자(KWallet)는 Chrome, Firefox, Opera 및 Edge를 포함한 다양한 웹 브라우저와 통합할 수 있습니다.

Goole Chrome 또는 Chromium에서 KWallet(KWallet) 통합을 사용하려면 사용자가 인수를 사용하여 프로그램을 실행해야 합니다.--password-store=kwallet5또는--password-store=detect를 클릭합니다.[3]

파이어폭스에서도 스탠드아론 애드온을 사용할 수 있습니다.이 추가 기능을 통해 사용자는 기본 Firefox 암호 관리자 대신 KWallet(KWallet)을 통해 내부적으로 암호를 저장할 수 있습니다.

KDE(Kesktop Environment)의 공식 웹 브라우저인 Konqueror는 중요한 암호를 암호화하여 저장하는 KDE 지갑 관리자(KWallet)를 제공합니다.

KWallet에서 데이터를 검색하는 예제 코드

인트 주된() {  인트 rc;  DCOPCent* 직류 = 신규 DCOPCent();  한다면 ( ! 직류->부착하다() )  {  인쇄(하드, "DCOP 연결 실패");  돌아가다 16;  }  KWallet::지갑* 지갑 = KWallet::지갑::지갑 열기("테스트 테스트 테스트");  한다면 ( 지갑 == 특수한 순서 )  {  인쇄물( "지갑을 열지 못했습니다.\n" );  돌아가다 17;  }  한다면 ( ! 지갑->hasFolder(하스폴더)("패스워드") )  돌아가다 18;  한다면( 0==지갑->set Folder(세트 폴더)("패스워드") )  돌아가다 20;  QString(QString) s = QString(QString)();  rc = 지갑->read Password(읽기 패스워드)( '테스트", s );  한다면 ( rc == 0 )  인쇄물( "-->%s<--\n", s.ASCII() );  돌아가다 0; } 

[4]

API

KDE 지갑 관리자의 API는 응용 프로그램이 KDE의 기본 프로세스 간 통신(IPC) 메커니즘인 데스크톱 통신 프로토콜(DCOP)을 통해 요청을 할 때 인증 이벤트를 트리거하여 응용 프로그램에 대한 암호 대화 상자를 표시합니다.이렇게 하면 KDE 데몬 프로세스에서 암호 대화 상자가 시작됩니다.사용자는 응용 프로그램을 종료하는 대화 상자를 취소하거나 암호 상자를 채우도록 선택할 수 있습니다.암호 상자가 채워지면 지갑이 자동으로 열립니다.KDE 지갑 관리자의 데스크톱 통신 프로토콜(DCOP)은 UNIX 로컬 [4]소켓을 통해 처리되는 프로세스 간 통신 프로토콜이므로 로컬에서만 액세스할 수 있습니다.

GUI

KDE 지갑 관리자의 GUI에서 사용자는 자신에게 할당된 모든 지갑과 암호를 관리할 수 있습니다.

KDE 지갑 관리자는 사용자가 지갑을 저장하거나 삭제할 수 있도록 하며 저장된 [4]암호에 액세스할 때 어떤 지갑 응용 프로그램이 검색되어야 하는지 식별할 수 있습니다.

다음은 사용자가 KDE 지갑 관리자(KWallet)의 GUI에서 수행할 수 있는 작업 목록입니다.

  • 새 지갑 만들기
  • 기본 지갑 변경
  • 지갑 잠금
  • 지갑에 비밀번호 저장
  • 지갑 비밀번호 잠금 해제
  • 지갑 정보 업데이트
  • 지갑에[4] 저장된 암호 보기

지갑

KWallet 지갑 관리

지갑은 KDE 지갑 관리자 소프트웨어에 사용되는 암호 저장소의 용어입니다.지갑은 사용자가 수동으로 만들거나 사용자가 KDE 데스크톱 환경이나 웹 사이트에서 암호를 입력할 때 대화 상자에 의해 제공됩니다.Wallet은 생성 후 다양한 비밀번호를 저장할 수 있으며 하나의 마스터 비밀번호로 제어됩니다.이렇게 하면 사용자는 다양한 비밀번호를 기억할 필요가 없고 지갑의 마스터 비밀번호를 하나 외우는 것만으로 비밀번호를 관리할 수 있습니다.기본 지갑의 이름은 "kdewallet"이며, 사용자는 필요에 따라 더 많은 월렛을 만들 수 있습니다.

지갑 관리

사용자는 자신의 KDE 지갑 관리자 창에서 지갑을 관리할 수 있습니다.지갑 포장이나 결합은 드래그 앤 드롭으로 할 수 있습니다.사용자가 플래시 드라이브 등의 다른 장소에 정보를 내보낼 경우 이 창에서 암호화된 데이터를 내보낼지 여부를 선택할 수 있습니다.마스터 비밀번호를 입력하면 암호화된 데이터를 비슷하게 가져올 수 있습니다.

지갑 선호도 설정도 가능하여 특정 지갑을 기본 지갑으로 설정할 수 있습니다.지갑 닫기 설정을 사용하면 다음 후 지갑을 닫을 수 있습니다.

  • 다음 기간 동안 사용하지 않을 때 닫기
  • 화면 보호기가 시작되면 닫기
  • 응용 프로그램에서 사용을 중지하면 닫기

비밀번호 암호화

KDE 지갑 관리자에 의해 저장된 데이터는 크게 두 가지 방법으로 암호화될 수 있습니다.GNU Privacy Guard(GnuPG 또는 GPG) 알고리즘은 GnuPG Made Easy 라이브러리가 사용자의 Linux 기반 OS에 설치되어 있는 경우 사용됩니다.그렇지 않으면 Blowfish 대칭 블록 암호 알고리즘이 사용됩니다.[5]

KWallet의 암호화 방식입니다.

복어 대칭 블록 암호 알고리즘

C++로 작성된 복어 소스 코드
/******** 복어.h*******/  #ifndef __BLOWFICH_H__ #정의__BLOWFICH_H___   # NUM_SUBKEYS 18 정의 #NUM_S_BOXES 4의 정의 #NUM_ENTRIES 256 정의  #정의 MAX_STRING 256 #정의 MAX_PASSWD 56// 448비트  // #BIG_ENDIAN 정의 // #정의 LITTLE_ENDIAN   #ifdef BIG_ENDIAN 구조 워드바이트 {  서명되어 있지 않다 인트 :8;  서명되어 있지 않다 인트 하나.:8;  서명되어 있지 않다 인트 두명:8;  서명되어 있지 않다 인트 세개:8; }; #엔디프  #정의 LITTLE_ENDIAN 구조 워드바이트 {  서명되어 있지 않다 인트 세개:8;  서명되어 있지 않다 인트 두명:8;  서명되어 있지 않다 인트 하나.:8;  서명되어 있지 않다 인트 :8; }; #엔디프  조합 단어 {  서명되어 있지 않다 인트 단어;  워드바이트 바이트; };  구조 DWord {  단어 워드0;  단어 워드1; };   학급 복어 { 사적인:   서명되어 있지 않다 인트 PA[NUM_SUBKEYS];   서명되어 있지 않다 인트 SB[NUM_S_BOXES][엔트리의 수];    무효 Gen_서브키( *);   인라인 무효 BF_En(단어 *,단어 *);   인라인 무효 BF_De(단어 *,단어 *);  일반의:   복어();   ~복어();    무효 리셋();   무효 Set_Passwd( * = 특수한 순서);   무효 암호화(무효 *,서명되어 있지 않다 인트);   무효 복호화(무효 *,서명되어 있지 않다 인트); };   #엔디프    /******** blowfish.cc********/  #실패하다 <오스트림>h> #실패하다 <문자열>h> #실패하다 복어.h"   #정의 F(x)(((SB[0][x.byte.zero]+ SB[1][x.byte.one])^ SB[2][x.byte.two]) + SB[3][x.바이트.세개])   무효 복어::Gen_서브키( *패스워드) {   서명되어 있지 않다 인트 i,j,=스트렌(패스워드);   단어 일하다.,특수한 순서,특수한 순서1;    한다면 ( > 0)   {  j = 0;     위해서 (i=0;i< >NUM_SUBKEYS;i++)     {  일하다..바이트. = 패스워드[(j++)%];  일하다..바이트.하나. = 패스워드[(j++)%];  일하다..바이트.두명 = 패스워드[(j++)%];    일하다..바이트.세개 = 패스워드[(j++)%];    PA[i] ^= 일하다..단어;   }   특수한 순서.단어 = 특수한 순서1.단어 = 0;       위해서 (i=0;i< >NUM_SUBKEYS;i+=2)    {    BF_En(&특수한 순서,&특수한 순서1);   PA[i] = 특수한 순서.단어;    PA[i+1] = 특수한 순서1.단어;   }      위해서 (j=0;j< >NUM_S_BOXES;j++)    위해서 (i=0;i< >엔트리의 수;i+=2)   {   BF_En(&특수한 순서,&특수한 순서1);   SB[j][i] = 특수한 순서.단어;   SB[j][i+1] = 특수한 순서1.단어;   }    }     일하다..단어 = 특수한 순서.단어 = 특수한 순서1.단어 = 0;    패스워드 = 특수한 순서;     = 0; }  무효 복어::BF_En(단어 *x1,단어 *x2) {   단어 w1=*x1,w2=*x2;    w1.단어 ^= PA[0];   w2.단어 ^= F(w1)^PA[1];       w1.단어 ^= F(w2)^PA[2];   w2.단어 ^= F(w1)^PA[3];       w1.단어 ^= F(w2)^PA[4];   w2.단어 ^= F(w1)^PA[5];       w1.단어 ^= F(w2)^PA[6];   w2.단어 ^= F(w1)^PA[7];       w1.단어 ^= F(w2)^PA[8];   w2.단어 ^= F(w1)^PA[9];       w1.단어 ^= F(w2)^PA[10];   w2.단어 ^= F(w1)^PA[11];      w1.단어 ^= F(w2)^PA[12];   w2.단어 ^= F(w1)^PA[13];      w1.단어 ^= F(w2)^PA[14];   w2.단어 ^= F(w1)^PA[15];      w1.단어 ^= F(w2)^PA[16];   w2.단어 ^= PA[17];    *x1 = w2;   *x2 = w1; }  무효 복어::BF_De(단어 *x1,단어 *x2) {   단어 w1=*x1,w2=*x2;    w1.단어 ^= PA[17];   w2.단어 ^= F(w1)^PA[16];      w1.단어 ^= F(w2)^PA[15];   w2.단어 ^= F(w1)^PA[14];      w1.단어 ^= F(w2)^PA[13];   w2.단어 ^= F(w1)^PA[12];      w1.단어 ^= F(w2)^PA[11];   w2.단어 ^= F(w1)^PA[10];      w1.단어 ^= F(w2)^PA[9];   w2.단어 ^= F(w1)^PA[8];       w1.단어 ^= F(w2)^PA[7];   w2.단어 ^= F(w1)^PA[6];       w1.단어 ^= F(w2)^PA[5];   w2.단어 ^= F(w1)^PA[4];       w1.단어 ^= F(w2)^PA[3];   w2.단어 ^= F(w1)^PA[2];       w1.단어 ^= F(w2)^PA[1];   w2.단어 ^= PA[0];    *x1 = w2;   *x2 = w1; }   복어::복어() {   리셋(); }  복어::~복어() {   리셋(); }   무효 복어::리셋() {   서명되어 있지 않다 인트 i,j;    서명되어 있지 않다 인트 PA_Init[NUM_SUBKEYS] =   {     0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344,     0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89,     0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c,     0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917,     0x9216d5d9, 0x8979fb1b   };    서명되어 있지 않다 인트 SB_Init[NUM_S_BOXES][엔트리의 수] =   {     0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7,     0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99,     0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16,     0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e,     0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee,     0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013,     0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef,     0x8e79dcb0, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e,     0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60,     0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440,     0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce,     0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a,     0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e,     0xafd6ba33, 0x6c24cf5c, 0x7a325381, 0x28958677,     0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193,     0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032,     0xef845d5d, 0xe98575b1, 0xdc262302, 0xeb651b88,     0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239,     0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e,     0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0,     0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3,     0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98,     0xa1f1651d, 0x39af0176, 0x66ca593e, 0x82430e88,     0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe,     0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6,     0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d,     0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b,     0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7,     0xe3fe501a, 0xb6794c3b, 0x976ce0bd, 0x04c006ba,     0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463,     0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f,     0x6dfc511f, 0x9b30952c, 0xcc814544, 0xaf5ebd09,     0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3,     0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb,     0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279,     0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8,     0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab,     0x323db5fa, 0xfd238760, 0x53317b48, 0x3e00df82,     0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db,     0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573,     0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0,     0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b,     0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790,     0xe1ddf2da, 0xa4cb7e33, 0x62fb1341, 0xcee4c6e8,     0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4,     0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0,     0xd08ed1d0, 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7,     0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c,     0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad,     0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1,     0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299,     0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9,     0x165fa266, 0x80957705, 0x93cc7314, 0x211a1477,     0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf,     0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49,     0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af,     0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa,     0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5,     0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41,     0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915,     0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400,     0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915,     0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664,     0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a,     0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623,     0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266,     0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1,     0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e,     0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6,     0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1,     0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e,     0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1,     0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737,     0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8,     0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff,     0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd,     0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701,     0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7,     0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41,     0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331,     0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf,     0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af,     0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e,     0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87,     0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c,     0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2,     0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16,     0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd,     0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b,     0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509,     0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e,     0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3,     0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f,     0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a,     0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4,     0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960,     0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66,     0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28,     0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802,     0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84,     0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510,     0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf,     0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14,     0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e,     0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50,     0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7,     0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8,     0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281,     0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99,     0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696,     0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128,     0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73,     0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0,     0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0,     0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105,     0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250,     0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3,     0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285,     0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00,     0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061,     0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb,     0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e,     0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735,     0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc,     0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9,     0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340,     0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20,     0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7,     0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934,     0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068,     0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af,     0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840,     0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45,     0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504,     0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a,     0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb,     0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee,     0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6,     0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42,     0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b,     0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2,     0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb,     0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527,     0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b,     0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33,     0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c,     0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3,     0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc,     0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17,     0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564,     0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b,     0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115,     0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922,     0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728,     0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0,     0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e,     0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37,     0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d,     0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804,     0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b,     0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3,     0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb,     0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d,     0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c,     0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350,     0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9,     0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a,     0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe,     0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d,     0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc,     0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f,     0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61,     0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2,     0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9,     0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2,     0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c,     0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e,     0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633,     0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10,     0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169,     0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52,     0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027,     0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5,     0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62,     0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634,     0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76,     0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24,     0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc,     0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4,     0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c,     0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837,     0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0,     0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b,     0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe,     0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b,     0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4,     0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8,     0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6,     0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304,     0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22,     0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4,     0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6,     0x2826a2f9, 0xa73a3ae1, 0x4ba99586, 0xef5562e9,     0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59,     0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593,     0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51,     0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28,     0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c,     0xe029ac71, 0xe019a5e6, 0x47b0acfd, 0xed93fa9b,     0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28,     0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c,     0x15056dd4, 0x88f46dba, 0x03a16125, 0x0564f0bd,     0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a,     0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319,     0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb,     0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f,     0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991,     0xea7a90c2, 0xfb3e7bce, 0x5121ce64, 0x774fbe32,     0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680,     0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166,     0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae,     0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb,     0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5,     0x72eacea8, 0xfa6484bb, 0x8d6612ae, 0xbf3c6f47,     0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370,     0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d,     0x4040cb08, 0x4eb4e2cc, 0x34d2466a, 0x0115af84,     0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048,     0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8,     0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd,     0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9,     0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7,     0x1a908749, 0xd44fbd9a, 0xd0dadecb, 0xd50ada38,     0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f,     0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c,     0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525,     0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1,     0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442,     0xe0ec6e0e, 0x1698db3b, 0x4c98a0be, 0x3278e964,     0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e,     0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8,     0xdf359f8d, 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d,     0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f,     0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299,     0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02,     0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc,     0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614,     0xe6c6c7bd, 0x327a140a, 0x45e1d006, 0xc3f27b9a,     0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6,     0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b,     0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0,     0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060,     0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e,     0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9,     0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f,     0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6   };    위해서 (i=0;i< >NUM_SUBKEYS;i++)     PA[i] = PA_Init[i];    위해서 (j=0;j< >NUM_S_BOXES;j++)     위해서 (i=0;i< >엔트리의 수;i++)       SB[j][i] = SB_Init[j][i]; }  무효 복어::Set_Passwd( *패스워드) {    New_Passwd[MAX_STRING];   서명되어 있지 않다 인트 i,;   한다면 (패스워드 == 특수한 순서)  {  하다  {  외치다 << > "\a비밀번호 입력: ";  .얻다(New_Passwd,MAX_STRING,'\n');   = 스트렌(New_Passwd);  }  하는 동안에 ( > MAX_PASSWD);  패스워드 = New_Passwd;   }   또 다른   = 스트렌(패스워드);    리셋();   한다면 ( > 0)  Gen_서브키(패스워드);    위해서 (i=0;i< >MAX_STRING;i++)     New_Passwd[i] = '\0';    패스워드 = 특수한 순서;     = 0; }  무효 복어::암호화(무효 *Ptr,서명되어 있지 않다 인트 N_바이트) {   서명되어 있지 않다 인트 i;   DWord *일하다.;    한다면 (N_바이트%8)   {     cerr << > "\a복어는 8바이트(64)의 배수로 입력해야 합니다. 비트) 로. 일하다..\n";     돌아가다;   }   N_바이트 /= 8;   일하다. = (DWord *)Ptr;    위해서 (i=0;i< >N_바이트;i++)   {     BF_En(&일하다.->워드0,&일하다.->워드1);     일하다.++;   }    일하다. = 특수한 순서; }  무효 복어::복호화(무효 *Ptr,서명되어 있지 않다 인트 N_바이트) {   서명되어 있지 않다 인트 i;   DWord *일하다.;    한다면 (N_바이트%8)   {     cerr << > "\a복어는 8바이트(64)의 배수로 입력해야 합니다. 비트) 로. 일하다..\n";     돌아가다;   }   N_바이트 /= 8;   일하다. = (DWord *)Ptr;   위해서 (i=0;i< >N_바이트;i++)   {     BF_De(&일하다.->워드0,&일하다.->워드1);     일하다.++;   }    일하다. = 특수한 순서; }    /******** BFtest.cc********/ #실패하다 <stdio.h> #실패하다 <오스트림>h> #실패하다 <stdlib.h> #실패하다 <time.h> #실패하다 복어.h"  #정의 BUFF_SIZE 1048576// 1 MB #NUM_TRIALS 100 정의   인트 시험(복어 *); 이중으로 하다 스피드(복어 *);   무효 주된() {  인트 결과;  이중으로 하다 속력을 내다;  복어 BF;   외치다 << > 복어 검증:;  한다면 (결과 = 시험(&BF))  {   외치다 << > "\a실패" << > (결과>0?"en":"de") << > "테스트 벡터 연결" << > 복근(결과) << > ;   돌아가다;  }  또 다른   외치다 << > '합격' << > ;   한다면 ((속력을 내다 = 스피드(&BF)) <=> 0)   외치다 << > "시험 시간이 부족하거나 뭔가 이상한 일이 일어났어요. << > ;  또 다른   외치다 << > "스루풋은" << > 속력을 내다 << > "MB/s" << > ; }   인트 시험(복어 *BF) {  서명되어 있지 않다 인트 i;  DWord 테스트_벡트;   *패스워드[2] = {"defghijklmnopqrstuvwxyz","존 골트가 누구야?"};  서명되어 있지 않다 인트 Clr0[2] = {0x424c4f57,0xfedcba98};  서명되어 있지 않다 인트 Clr1[2] = {0x46495348,0x76543210};  서명되어 있지 않다 인트 Crypt0[2] = {0x324ed0fe,0xcc91732b};  서명되어 있지 않다 인트 크립토[2] = {0xf413a203,0x8022f684};    위해서 (i=0;i< >2;i++)  {   테스트_벡트.워드0.단어 = Clr0[i];   테스트_벡트.워드1.단어 = Clr1[i];   BF->Set_Passwd(패스워드[i]);   BF->암호화((무효 *)&테스트_벡트,8);   한다면 (테스트_벡트.워드0.단어 != Crypt0[i]    테스트_벡트.워드1.단어 != 크립토[i])    돌아가다 (i+1);   BF->복호화((무효 *)&테스트_벡트,8);   한다면 (테스트_벡트.워드0.단어 != Clr0[i]    테스트_벡트.워드1.단어 != Clr1[i])    돌아가다 -(i+1);  }  돌아가다 0; }   이중으로 하다 스피드(복어 *BF) {   *버프;  서명되어 있지 않다 인트 i;  time_t 시작한다.,끝.;   버프 = 신규 [BUFF_SIZE];  한다면 (버프 == 특수한 순서)  {   cerr << > "\a테스트 버퍼의 메모리가 부족합니다.\n";   돌아가다 0;  }    srand(시랜드)(0);  위해서 (i=0;i< >BUFF_SIZE;i++)   버프[i] = 랜드()%256;  BF->Set_Passwd('이안찬');   시작한다. = 시간을(특수한 순서);  위해서 (i=0;i< >NUM_TRIALS;i++)   BF->암호화((무효 *)버프,BUFF_SIZE);  끝. = 시간을(특수한 순서);   삭제하다 []버프;  한다면 (끝.-시작한다. < > 10)   돌아가다 0;  또 다른   돌아가다 이중으로 하다(NUM_TRIALS)/(끝.-시작한다.); } 
[6]

KDE Wallet 관리자는 CBC 모드에서 Blowfish 대칭 블록 암호 알고리즘을 사용하여 지갑에 저장된 데이터를 암호화합니다.사용자의 정보를 보호하기 위해 SHA-1 해시 알고리즘을 사용하여 복어 암호화 데이터를 인증합니다.

KDE 지갑 관리자의 복어 암호화는 Khufu, RC5, DES, IDEA 및 Trip-DES에 비해 더 빠른 암호화를 제공합니다.복어는 32비트 마이크로프로세서에서 바이트당 18클럭 사이클의 속도로 암호화됩니다.

KDE Wallet manager의 Blowfish 알고리즘은 5k 이내에 메모리에서 실행할 수 있으며, 간단한 구조는 구현이 쉽고 알고리즘의 강도를 쉽게 파악할 수 있습니다.이 알고리즘은 키 길이가 가변적이며 448바이트까지 사용할 수 있으며 기본 워드 추가 및 비트 XOR [7]연산이 가능합니다.

GNU 프라이버시 가드 암호화

사용자는 GNU Privacy Guard(GnuPG 또는 GPG) 기반의 지갑을 생성하여 기밀 비밀번호를 저장할 수 있습니다.이를 위해서는 사용자가 GnuPG Made Easy 라이브러리를 설치해야 합니다.라이브러리가 설치되어 있고 소프트웨어가 GNU Privacy Guard(GnuPG 또는 GPG)를 발견하면 사용자는 새 [5]지갑에 사용할 키를 선택해야 합니다.GNU Privacy Guard 암호화 라이브러리에는 DSA/Blowfish 대칭 블록 암호 [8]알고리즘이 포함되어 있기 때문에 사용자는 Blowfish 대칭 블록 암호 알고리즘을 사용하여 암호를 암호화할 수 있습니다.

KDE 지갑 관리자의 보안

KDE 지갑 관리자(KWallet)를 사용하면 암호를 쉽게 관리할 수 있지만 사용자 시스템에 더 나은 보안 조건을 제공하지는 않습니다.공격자는 사용자의 다른 암호를 얻는 대신 사용자의 PC를 통해 사용자의 지갑에 대한 마스터 암호를 얻을 수 있습니다.

KDE 지갑 매니저(KWallet)의 암호화된 파일 디렉토리가 예측 가능한 파일에 있기 때문에 패스워드 관리 시스템 [4]자체를 대상으로 프로그램된 바이러스나 웜에 취약할 수 있습니다.

기존의 취약성

  • KDE Wallet Manager(KWallet)에서 사용되는 SHA-1 해시 함수가 암호화로 손상되었습니다.Google과 CWI Amsterdam은 동일한 SHA-1 다이제스트 2개가 서로 다른 PDF 콘텐츠를 표시한다는 것을 증명했습니다.마이크로소프트를 포함한 여러 회사는 SHA-1 지원을 중단했지만 KDE Wallet Manager(KWallet)는 4.13 이상 버전 또는 플러그 가능 인증 모듈과 함께 SHA512를 사용하거나 SHA-1 해시 함수를 사용합니다.
  • "KDE KWallet 5.12.6 이전 버전의 kwallet-pam은 로컬 사용자가 심볼링크 공격을 통해 임의 파일의 소유권을 획득할 수 있도록 합니다."
  • "fish protocol::stablishKDE kio-extras의 fish/fish.cpp에 있는 연결은 캐시를 만듭니다.사용자가 keep Password 옵션을 설정하지 않은 경우에도 인증 콜.이로 인해 의도하지 않은 비밀번호 KWallet이 저장될 수 있습니다."
  • KDE 애플리케이션 14.12.0 이전 KWallet에서 KWallettd는 암호 저장 시 CBC 모드가 아닌 ECB 모드가 포함된 Blowfish를 사용하기 때문에 공격자가 코드북 공격을 통해 암호를 추측하기 쉽습니다.
  • "SHA-1은 충돌에 대한 내성이 없기 때문에 컨텍스트 의존형 공격자가 스푸핑 공격을 쉽게 실행할 수 있습니다.주: 이 CVE는 이 SHA-1 문제를 참조하기 위한 공통 식별자를 제공하기 위해 존재하지만 식별자의 존재 자체는 기술 [9]권장 사항이 아닙니다."
  • "Simple Password Store 1.7.x에서 1.7.2보다 이전 버전인 password-store.sh에서 문제가 발견되었습니다.시그니처 검증 루틴에서는 GnuPG의 출력을 불완전한 정규 표현으로 해석하여 리모트 공격자가 컨피규레이션파일 및 확장 스크립트의 파일 서명을 스푸핑할 수 있도록 합니다.구성 파일을 수정하면 공격자가 제어 하에 추가 암호화 키를 주입하여 암호를 공격자에게 노출할 수 있습니다.확장 스크립트를 수정하면 공격자가 임의 코드를 [10]실행할 수 있습니다."
  • "GnuPG 2.2.21 및 2.2.22(및 Gpg4win 3.1.12)는 어레이 오버플로가 발생하여 공격자가 공격자의 OpenPGP 키를 가져오고 이 키에 AED 기본 설정이 있을 때 크래시 또는 지정되지 않은 다른 영향이 발생합니다.이 오버플로는 g10/key-check.c 오류로 인해 발생합니다.메모: GnuPG 2.3.x는 영향을 받지 않습니다.GnuPG 2.2.23은 고정 [11]버전입니다.
  • "SHA-1 알고리즘에서 발견된 충돌을 사용하여 인증서 서명을 위조할 수 있는 방법에 결함이 발견되었습니다.공격자는 이 취약성을 이용하여 위조된 인증서 서명을 만들 수 있습니다.이 문제는 2.2.18 [12]이전 버전의 GnuPG에 영향을 미칩니다.
  • 1.4.16 이전 GnuPG 1.x에서는 사이드 채널을 도입하는 특정 패턴의 도입 시퀀스를 사용하여 RSA 키를 생성합니다.이를 통해 물리적으로 근접한 공격자는 암호 해독 시 선택된 암호 공격 및 음향 암호 분석을 통해 RSA 키를 추출할 수 있습니다.주의: 응용 프로그램은 일반적으로 음향 측면 채널의 공격으로부터 자신을 보호할 것으로 예상되지 않습니다.이는 물리 디바이스의 책임이기 때문입니다.따라서 이런 유형의 이슈는 보통 CVE 식별자를 수신하지 않습니다.단, 이 문제에 대해 개발자는 GnuPG가 사이드 채널 내성을 제공하는 보안 정책을 지정하고 개발자가 지정한 보안 정책 위반은 CVE의 범위 [13]내에 있습니다.
  • GnuPG에서 사용되는 것처럼 Libksba의 ksba_oid_to_str 함수 1.3.2 이전의 정수 언더플로우를 통해 원격 공격자는 (1) S/MIME 메시지 또는 (2) ECC 기반 OpenPGP 데이터에서 조작된 OID를 통해 서비스 거부(크래시)를 발생시켜 버퍼 [14]오버플로를 트리거할 수 있습니다.
  • 「GnuPG 2.x ~ 2.0.16 의 GPGSM 의 kbx/keybox-blob.c 의 use-after-free 의 취약성에 의해, 리모트 공격자가 서비스 거부(크래시)를 발생시켜, 증명서를 Import 또는 검증할 때, 다수의 서브젝트 대체명을 가지는 증명서를 개입시켜 임의의 코드를 실행할 가능성이 있습니다.signature.[15]
  • 2.2.8 이전 GnuPG의 mainproc.c는 복호화 및 검증 액션 중에 원래 파일 이름을 잘못 처리하여 원격 공격자가 GnuPG가 파일 기술자 2로 보내는 출력을 "--status-fd 2" 옵션을 사용하는 다른 프로그램으로 스푸핑할 수 있도록 합니다.예를 들어 OpenPGP 데이터는 GOODIG 또는 VALIDSIG 상태 [16]코드와 함께 줄바꿈 문자를 포함하는 원래 파일 이름을 나타낼 수 있습니다."
  • OpenPGP의 무결성 검사 기능은 암호 피드백(CFB) 모드를 사용하여 암호화된 메시지를 처리할 때 메시지 블록의 첫 번째 2바이트가 알려진 경우 원격 공격자가 선택된 암호 공격을 통해 평문의 일부를 복구할 수 있으며 오라클 또는 기타 메커니즘이 무결성 검사 실패 여부를 판단할 수 있습니다.d.[17]
  • "GnuPG (gpg) 1.4 및 2.0의 openfile.c에 있는 ask_outfile_name 함수에 있는 히프 기반의 버퍼 오버플로는 공격자가 대화식으로 실행할 때 "C-escape" 확장이 포함된 메시지를 통해 임의 코드를 실행할 수 있으며, 이로 인해 [18]make_printable_string 함수가 프롬프트를 구성하는 동안 예상보다 긴 문자열을 반환할 수 있습니다."
  • "GnuPG 1.4.6 이전과 1.1.4 이전 GPGME는 명령줄에서 실행할 때 OpenPGP 메시지의 서명된 부분과 서명되지 않은 부분을 시각적으로 구별하지 않기 때문에 원격 공격자가 메시지 내용을 [19]탐지하지 않고 위조할 수 있습니다."
  • 2.2.8 이전 GnuPG의 mainproc.c는 복호화 및 검증 액션 중에 원래 파일 이름을 잘못 처리하여 원격 공격자가 GnuPG가 파일 기술자 2로 보내는 출력을 "--status-fd 2" 옵션을 사용하는 다른 프로그램으로 스푸핑할 수 있도록 합니다.예를 들어 OpenPGP 데이터는 GOODIG 또는 VALIDSIG 상태 [20]코드와 함께 줄바꿈 문자를 포함하는 원래 파일 이름을 나타낼 수 있습니다."
  • 또 1.5.6 이전, 1.6.6 이전, 1.6.x 이전, 1.7.x 이전과 1.4.21 이전 GnuPG의 난수 생성기 내 믹싱 함수 덕분에 공격자가 이전 4640비트에 [21]대한 지식을 활용해 160비트의 값을 쉽게 얻을 수 있다고 설명했다.
  • 1.4.19 이전 GnuPG, 2.0.27 이전 2.0.x 및 2.1.x 이전 GnuPG의 kbx/keybox-search.c에서는 비트 단위의 왼쪽 시프트가 적절히 처리되지 않습니다.이로 인해 리모트 공격자가 세공된 키링 파일을 통해 확장 및 중복되는 "memcp"[22]에 관련된 서비스 거부(잘못된 읽기 조작)를 발생시킬 수 있습니다.

메모들

  1. ^ LGPL-2.0 전용, LGPL-2.0 이후, LGPL-2.1 이후 및 LGPL-3.0 이후.

언급

  1. ^ Zhang, Jie; Luo, Xin; Akkaladevi, Somasheker; Ziegelmayer, Jennifer (2009). "Improving multiple-password recall: an empirical study". European Journal of Information Systems. 18 (2): 165–176. doi:10.1057/ejis.2009.9. ISSN 0960-085X.
  2. ^ Gray, Joshua; Franqueira, Virginia N. L.; Yu, Yijun (2016). "Forensically-Sound Analysis of Security Risks of Using Local Password Managers". 2016 IEEE 24th International Requirements Engineering Conference Workshops (REW). Beijing, China: IEEE: 114–121. doi:10.1109/REW.2016.034. ISBN 978-1-5090-3694-3.
  3. ^ Toman, Zinah Hussein; Toman, Sarah Hussein; Hazar, Manar Joundy (2019). "An In-Depth Comparison Of Software Frameworks For Developing Desktop Applications Using Web Technologies". Journal of Southwest Jiaotong University. 54 (4). doi:10.35741/issn.0258-2724.54.4.1. ISSN 0258-2724.
  4. ^ a b c d e Mulligan, J.; Elbirt, A. J. (2005). "Desktop Security and Usability Trade-Offs: An Evaluation of Password Management Systems". Information Systems Security. 14 (2): 10–19. doi:10.1201/1086/45241.14.2.20050501/88289.3. ISSN 1065-898X.
  5. ^ a b Dudášová, Ludmila; Vaculík, Martin; Procházka, Jakub (2021-12-29). "Psychologický kapitál v pracovní, klinické a školní psychologii: přehledová studie". Ceskoslovenska psychologie. 65 (6): 558–574. doi:10.51561/cspsych.65.6.558. ISSN 0009-062X.
  6. ^ "Schneier on Security: The Blowfish Encryption Algorithm". www.schneier.com. Retrieved 2022-05-27.
  7. ^ Mousa, A. (2005). "Data encryption performance based on Blowfish". 47th International Symposium ELMAR, 2005. IEEE. doi:10.1109/elmar.2005.193660.
  8. ^ Aghili, Hamed (2018-07-26), "Improving Security Using Blow Fish Algorithm on Deduplication Cloud Storage", Lecture Notes in Electrical Engineering, Singapore: Springer Singapore, pp. 723–731, ISBN 978-981-10-8671-7, retrieved 2022-05-27
  9. ^ "NVD - CVE-2005-4900". nvd.nist.gov. Retrieved 2022-05-27.Public Domain 이 문서에는 퍼블릭 도메인에 있는 이 소스로부터의 텍스트가 포함되어 있습니다..
  10. ^ "NVD - CVE-2018-12356". nvd.nist.gov. Retrieved 2022-05-27.Public Domain 이 문서에는 퍼블릭 도메인에 있는 이 소스로부터의 텍스트가 포함되어 있습니다..
  11. ^ "NVD - CVE-2020-25125". nvd.nist.gov. Retrieved 2022-05-27.Public Domain 이 문서에는 퍼블릭 도메인에 있는 이 소스로부터의 텍스트가 포함되어 있습니다..
  12. ^ "NVD - CVE-2019-14855". nvd.nist.gov. Retrieved 2022-05-27.Public Domain 이 문서에는 퍼블릭 도메인에 있는 이 소스로부터의 텍스트가 포함되어 있습니다..
  13. ^ "NVD - CVE-2013-4576". nvd.nist.gov. Retrieved 2022-05-27.Public Domain 이 문서에는 퍼블릭 도메인에 있는 이 소스로부터의 텍스트가 포함되어 있습니다..
  14. ^ "NVD - CVE-2014-9087". nvd.nist.gov. Retrieved 2022-05-27.Public Domain 이 문서에는 퍼블릭 도메인에 있는 이 소스로부터의 텍스트가 포함되어 있습니다..
  15. ^ "NVD - CVE-2010-2547". nvd.nist.gov. Retrieved 2022-05-27.Public Domain 이 문서에는 퍼블릭 도메인에 있는 이 소스로부터의 텍스트가 포함되어 있습니다..
  16. ^ "NVD - CVE-2018-12020". nvd.nist.gov. Retrieved 2022-05-27.Public Domain 이 문서에는 퍼블릭 도메인에 있는 이 소스로부터의 텍스트가 포함되어 있습니다..
  17. ^ "NVD - CVE-2005-0366". nvd.nist.gov. Retrieved 2022-05-27.Public Domain 이 문서에는 퍼블릭 도메인에 있는 이 소스로부터의 텍스트가 포함되어 있습니다..
  18. ^ "NVD - CVE-2006-6169". nvd.nist.gov. Retrieved 2022-05-27.Public Domain 이 문서에는 퍼블릭 도메인에 있는 이 소스로부터의 텍스트가 포함되어 있습니다..
  19. ^ "NVD - CVE-2007-1263". nvd.nist.gov. Retrieved 2022-05-27.Public Domain 이 문서에는 퍼블릭 도메인에 있는 이 소스로부터의 텍스트가 포함되어 있습니다..
  20. ^ "NVD - CVE-2018-12020". nvd.nist.gov. Retrieved 2022-05-27.Public Domain 이 문서에는 퍼블릭 도메인에 있는 이 소스로부터의 텍스트가 포함되어 있습니다..
  21. ^ "NVD - CVE-2016-6313". nvd.nist.gov. Retrieved 2022-05-27.Public Domain 이 문서에는 퍼블릭 도메인에 있는 이 소스로부터의 텍스트가 포함되어 있습니다..
  22. ^ "NVD - CVE-2015-1607". nvd.nist.gov. Retrieved 2022-05-27.Public Domain 이 문서에는 퍼블릭 도메인에 있는 이 소스로부터의 텍스트가 포함되어 있습니다..