Dear Fellow Monks
I have'nt been around the monastery lately becasuse I made the transition from College to Work. But we are a windows only shop. Now learning the new skills for my job made me realize that there are a few things that MS Windows does well and mabye I can use them for my projects in Perl
Overview
Windows 2000 has a service called Active Directory and it allows one computer ( or a set of them ) called Domain controllers. They maintain a master list of all passwords user informaiton and other related information like what their home accounts should be.
I am working on developing a Active Directory like system for CGI where different servers can talk to my server and get user information though port 80/HTTP using LWP and a few other modules
There will be for this example two computers the Client and the Server. In Windows terminology the client is the workstation and the server is the Domain Controller.
My intention is twofold first to figure out how to make this work using an all Perl solution and secondly by having it talk to another Web server it could use ASP to work with the actual Windows Active Directory structure allowing a mixing of Windows Workstations and Perl/CGI web applications.
My Idea
Have client computer send HTTP Post request to server telling it to start session. IP is checked and if confirmed returns an HTML/XML page with the public half of an asymetric key cypher.
Send the users password and username via XML using the cypher as well as a random password for sending the desired user information ( active directory ) back as a block cypher.
Verify the users name and password and then using the blowfish cypher send the users information back to the client.
Considerations
A Blowfish cypher maps to the full binary output set so it needs to be coded to prevent transmission problems with the HTTP protocol. I have developed code that implements this method of "Glyphing" or character remapping. I covered the mathematical concepts in a UG class Dr. Sutherland's Notes And mapping 128 bit set to two smaller sets of two characters elminates this problem. In addition is allows the entire string to be sent as one long non-HTML encoded string through the Internet.
Secondly the random number generator rand() cannot be used fot this as it is not truly random. Luckally CPAN has a few random number generators that do such a thing.
The Questions
1. So has anyone done this before?
2. I need to find information on which version of Blowfish and which aysmetric cypher to use. I have read the Crypt::Blowfish man pages and I am so lost. If any of you know if someone who has either sample code posted or a tutorial for either? I tried google and did not get much
3. I read the tutorial on IBM's site for using PERL and XML any other good tutorials you could recommend that are aimed at the beginner XML user and not a programming god?</P
Thanks for any advice you can give
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.