database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
ㆍLDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
LDAP Q&A 589 게시물 읽기
No. 589
답변 감사합니다.
작성자
lriss
작성일
2001-05-21 14:40
조회수
8,032

답변 감사합니다. 도움이 많이 되었습니다.

>>김경하 님께서 쓰시길<<

 

:: 복호화가 불가능한 걸로 알고 있습니다.

:: 복호화가 가능할려면 Key가 있어야 하는데, Key가 있으면 또 그 Key는 어떻게 관리해야 하는가 하는

:: 문제가 생기죠.

:: (그 Key가 노출된다면 모든 비밀번호가 노출되는게 됩니다 -> 보안의 취약점)

:: 그래서, 비밀번호 같은 경우에는 복호화가 가능한 암호화가 아니라,

:: 단방향 암호화(보통 Hash 함수 같은 걸 많이 씁니다)를 해서, 복호화가 불가능하게 저장합니다.

::

:: Netscape LDAP의 경우 userPassword에서 UNIX Crypt나 SHA-1 알고리즘으로 단방향 암호화해서 저장하

:: 는 걸로 알고 있습니다.(옵션으로 선택 가능)

::

:: 암호를 확인하는 방식은 2가지가 있는데, 보통 첫번째 방법을 씁니다.

::

:: 첫번째는 Bind를 시도해서 성공여부로 인증을 하는 겁니다.

:: 해당 사용자의 ID/PW로 LDAP에 Bind해서 LDAP_SUCCESS가 떨어지면 비밀번호가 맞다고 보는 거죠.

:: 그런데, 이경우 보통 사용자는 ID정보만 입력하지만 실제 LDAP에 BIND할때는 DN을 사용하게 됩니다.

:: 그래서, 보통은 Anonymous나 관리자로 LDAP에 bind해서 해당 id를 검색하여 해당 id가 존재하는지 여

:: 부를 판단한후 그 id에 해당하는 DN을 가져온 후 다시 DN과 사용자가 입력한 비밀번호로 bind를 시도해

:: 서 성공여부를 확인하는 거죠.

:: 1. 관리자로 Bind

:: 2. ldap_search( ..., "(uid=xxx)", ... );

:: 3. ldap_get_dn()

:: 4. ldap_bind( DN, 비밀번호, )

:: -> SUCCESS : 인증성공

:: 5. ...

::

:: (*) 주의 : LDAP API 에서 비밀번호나 ID 중 하나가 NULL인 경우 무조건 Anonymous bind로 인식하기

:: 때문에 사용자가 입력한 비밀번호가 NULL이 아닌지 반드시 사전에 체크해야 합니다.

::

::

:: 두번째는 LDAP에서 위의 UNIX Crypt나 SHA-1 중 어느 알고리즘으로 되어 있는지 확인한 후 사용자가

:: 입력한 비밀번호를 같은 알고리즘으로 단방향 암호화 한 후에 LDAP에 있는 userPassword랑 비교하는 거

:: 죠.

:: 여기서 주의할 점은 Netscape LDAP의 경우 userPassword를 ldap_get_value()할 경우,

:: 암호화 방식에 따라 {CRYPT}나 {SHA}라는 문자라 딸려 오기 땜에 반드시 이부분을 떼어낸 값이랑 비교

:: 해야 합니다.

::

:: 그럼...

::

::

:: >>lriss 님께서 쓰시길<<

::

:: :: ldap에서 기본적으로 지원하는 attribute 중 하나인 userpassword를 기본적으로 제공하는 암호화

:: 방

:: :: 식으로 암호화를 시켰는데 나중에 복호화를 시켜서 보거나 비교를 할려면 어떻게 해야 합니까? 메

:: 소드

:: :: 를 지원하지는 않는지요? jndi로 구현을 할려고 하는데 어떻게 해야 할지 몰라서 글을 올립니다.

:: :: 답변 부탁 드립니다.

[Top]
No.
제목
작성자
작성일
조회
595[질문]사용자 추가시에 에러 ldap_sasl_interactive_bind_s: No such attribute 가 생깁니다
soulkiss
2001-05-23
8241
596┕>Re: [질문]사용자 추가시에 에러 ldap_sasl_interactive_bind_s: No such attribute 가 생깁니다
심도선
2001-05-23 09:56:23
9046
597 ┕>Re: Re: [질문]사용자 추가시에 에러 ldap_sasl_interactive_bind_s: No such attribute 가 생깁니다
soulkiss
2001-05-23 10:06:54
8606
599  ┕>Re: Re: Re: [질문]사용자 추가시에 에러 ldap_sasl_interactive_bind_s: No such attribute 가 생깁니다
심도선
2001-05-23 11:01:04
9007
600   ┕>Re: Re: Re: Re: [질문]사용자 추가시에 에러 ldap_sasl_interactive_bind_s: No such attribute 가 생깁니다
soulkiss
2001-05-23 11:14:05
9231
602┕>openLdap은 잘 모르겠지만 개체를 add 할때..
하만복
2001-05-23 15:00:14
8614
592스키마 구성을 할 때
심도선
2001-05-22
8020
593┕>도움이 되실지..
하만복
2001-05-22 19:42:42
8531
594 ┕>근데 사랑넷도 등록이 되어 있네여 +_+
하만복
2001-05-22 20:16:03
8524
598 ┕>Re: 윗글에 덧붙여서..
심도선
2001-05-23 10:45:55
8354
605  ┕>oid 가 없으면...
하만복
2001-05-23 17:38:17
8306
615   ┕>Re: oid 가 없으면...
심도선
2001-05-25 10:12:24
8402
607  ┕>Re: Re: 윗글에 덧붙여서..
김경하
2001-05-24 12:05:51
8567
588Wheel이라는 분이 저에게 질문한 내용입니다. 답변은 빨간색으로
송상준
2001-05-20
7174
585userpassword에 대해서
lriss
2001-05-18
7227
586┕>Re: userpassword에 대해서
김경하
2001-05-18 10:22:19
8810
589 ┕>답변 감사합니다.
lriss
2001-05-21 14:40:45
8032
583제가 프로그램의 세계에 연재를 5월 - 8월까지 합니다.
송상준
2001-05-17
6118
584┕>Re: 제가 프로그램의 세계에 연재를 5월 - 8월까지 합니다.
유주열
2001-05-17 19:34:15
6856
582JavaLDAP을 사용하여 보았습니다. 후기(근오씨는 자료를 넘 잘 찾는다. 방법 좀 알려줘요)
송상준
2001-05-17
5727
587┕>Re: JavaLDAP을 사용하여 보았습니다. 후기(근오씨는 자료를 넘 잘 찾는다. 방법 좀 알려줘요)
박근오
2001-05-18 13:55:28
6480
581SUN서버에 LDAP1.x설치 성공. ^^
송지훈
2001-05-17
5600
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다