Windows Vista Tips

Windows Vista Tips > Newsgroups > Windows Server > Server Security > Passwords, computer ID

Reply
Thread Tools Display Modes

Passwords, computer ID

 
 
Joseph M. Newcomer
Guest
Posts: n/a

 
      05-26-2009
I have a client that has some unusual needs about passwords.

The scenario, as best I can describe it, is something like this:
A physically secure domain server
Hundreds of client machines, including laptops

The basic idea, and I can't go into the reasons because of NDA, is
A client will contact the server and ask for an account password
A client will then use that password to call LogonUserW or
similar API requiring a password

This means that at the point of the call of the LogonUserW API, the password must be in
plaintext. During the transmittal from the server, it is heavily encrypted. The goal is
to extract the password from the Windows password database, convert it to plaintext,
encrypt it, send it down, decrypt it, and use it.

Yes, they are aware of vulnerability issues during the brief plaintext time, and for
reasons I cannot discuss, that is under control.

The problem is how to get the password decrypted back into plaintext from the Windows
password database. There are lots of articles explaining how to set up to use reversible
password encryption.

While there is a lot of talk about reversible password encryption, there is no discussion
of the algorithms or APIs required to actually do this. Anyone have any ideas? google
search and MSDN search are not turning up anything usable.

In addition, it would be nice if the client machine could present some "credentials" to
the host that the host could validate insofar as the machine ID. For example, if there
were some ID established when the client was joined to the domain, if this could be
retrieved by an API on the client and sent (heavily encrypted) to the server, then the
server could decrypt it and call some other API to validate that it was a valid ID for a
machine that was in the domain.

I have no experience in this area of Windows.

Any pointers would be appreciated.
thanks
joe
Joseph M. Newcomer [MVP]
email:
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
 
Reply With Quote
 
 
 
 
Joe Kaplan
Guest
Posts: n/a

 
      05-27-2009
AD does not provide any facility to access the password data
programmatically, even if reversible encryption is used. There is also no
documentation about this particular feature works or can be accessed by
applicationss that need the plaintext password (that I've been able to find
anyway).

You might be better off with a custom system that escrows the password in a
separate store. You could achieve this with ILM for example. It includes
an agent that runs on the domain controllers that captures the plaintext pwd
during password change operations and stores it in the central store for use
with sync to other directories. You could certainly write a custom piece to
then take this and dump the passwords into SQL or something.

A common mechanism to identify the machine itself is to use machine
certificates with a Windows PKI environment. You might consider an approach
based on that for the machine authentication requirement.

Joe K.

--
Joe Kaplan-MS MVP Directory Services Programming
Co-author of "The .NET Developer's Guide to Directory Services Programming"
http://www.directoryprogramming.net
"Joseph M. Newcomer" <> wrote in message
news:...
>I have a client that has some unusual needs about passwords.
>
> The scenario, as best I can describe it, is something like this:
> A physically secure domain server
> Hundreds of client machines, including laptops
>
> The basic idea, and I can't go into the reasons because of NDA, is
> A client will contact the server and ask for an account password
> A client will then use that password to call LogonUserW or
> similar API requiring a password
>
> This means that at the point of the call of the LogonUserW API, the
> password must be in
> plaintext. During the transmittal from the server, it is heavily
> encrypted. The goal is
> to extract the password from the Windows password database, convert it to
> plaintext,
> encrypt it, send it down, decrypt it, and use it.
>
> Yes, they are aware of vulnerability issues during the brief plaintext
> time, and for
> reasons I cannot discuss, that is under control.
>
> The problem is how to get the password decrypted back into plaintext from
> the Windows
> password database. There are lots of articles explaining how to set up to
> use reversible
> password encryption.
>
> While there is a lot of talk about reversible password encryption, there
> is no discussion
> of the algorithms or APIs required to actually do this. Anyone have any
> ideas? google
> search and MSDN search are not turning up anything usable.
>
> In addition, it would be nice if the client machine could present some
> "credentials" to
> the host that the host could validate insofar as the machine ID. For
> example, if there
> were some ID established when the client was joined to the domain, if this
> could be
> retrieved by an API on the client and sent (heavily encrypted) to the
> server, then the
> server could decrypt it and call some other API to validate that it was a
> valid ID for a
> machine that was in the domain.
>
> I have no experience in this area of Windows.
>
> Any pointers would be appreciated.
> thanks
> joe
> Joseph M. Newcomer [MVP]
> email:
> Web: http://www.flounder.com
> MVP Tips: http://www.flounder.com/mvp_tips.htm


 
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Allowing Accounts with Expired Passwords to Change Passwords flash Active Directory 3 05-15-2007 08:16 PM
Any way to have a non domain computer verify against the SBS user passwords? Pat Horridge Windows Small Business Server 1 04-26-2007 02:40 PM
Re: computer passwords Jorge Silva Active Directory 2 12-11-2006 09:26 PM
Changing Passwords/Synching Passwords for Remote Users Kevin Spinnato Active Directory 1 10-19-2006 01:04 PM
Computer Passwords Mike Server Security 4 09-15-2006 11:01 AM



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59