[Work done from 12th January to 25th January 2009]
During first week of this two week period I was working with the integration of JCOP 41 Java Card and eID Browser Extension together with the eID Desktop Application. Before loading applets to the Java Card it was required to complete all the testing in order to aviod harm to the Cards due to malicious code execution. I was also setting up the JCOP tool environment to start the Card burning and further testing.
We also completed our draft report and had two meetings with our supervisor Dr.Chandana Gamage and discussed about the final project report and reasearch paper related issues. We got valuable feedbacks regarding some report chapters,also he gave his support to formulate some topics more professional.
Then in the meantime we were working in full force to complete those required documentations.
During this time period I was mainly working on our main research paper with the contribution of other team members. I also contributed to the final project report. As both of these were due submission on the 25th we mainly working on these two most of the time. We had two meetings with our supervisor Dr.Chandana Gamage and discussed about the final project report and research paper. These meeting were very helpful in shaping up our research paper.
We were also preparing application for couple of international competitions for which we are planning to participate, and we started initial informal communication with some of the organizers to discuss regarding application procedures and other related details.
During this two week period I mainly contributed to our Final Report with other team members. And we had two meetings with our our supervisor Dr.Chandana Gamage and discussed about the final project report and research paper. These meeting were very helpful in shaping up our research paper and the final report.
During last two weeks time period I was mainly participating with research papers and final project report writing works. Because of both reports submissions due on 25th January we were strictly contributing research papers and final project report writing. Also we had two meetings with our project supervisor Dr.Chandana Gamage and discussed about the final project report and research paper. Those meeting were adding more values to our Research papers and final project report.
Also last within week I did several modifications to eID authentication web service. They were about keeping logs about web service access, develop and integrate policy constrain analyzing module to the eID web service and also I did new modification to policy parsing module, which is making the eID system more dynamic and more scalable.
[Work done from 29th December 2008 to 11th January 2009]
This two week period I had work with several issues in our project :
- Successfully released the Beta version of the eID Desktop application and the eID Browse extension. For more details see here.
- Worked with the Relying-party Portal.
- Finalized the Policy String.
- Proposed to get a Public IP from Department and deploy the web services in that location.
- Started to wrote the Final report and Research paper.
- We had a meeting with our supervisor Dr.Chandana Gamage on 15th January 2009.
I’m happy to inform you that we are now ready to release the Beta version of the eID Browser extension and the eID Desktop application.
Our team has now overcomed from many problems and now successes with the objective of the eID Browser extension and the eID Desktop application. I’m so happy on this success of the Beta version objective as a coordinating member of the eID software team, And I would like to thanks Malalesena on this mater in behalf of the team.
And again I would like to update all the team members about the Beta version of the eID Browser extension and the eID Desktop application.
Objective of the Beta version :
eID Browser extension -
1 : Make a connection with Browser and the Rilain party.
2 : Display the Re lain Party Policy to the eID card holder in a customised way.
3 : Get the acceptance from the eID hard holder to accept the policy.
4 : Get the Pass-Phrase from the eID hard holder : Pass it to the eID Desktop application.
5 : Get the Output from the eID Desktop application.
6 : Send back the details to the Re lain party.
eID Desktop application-
1 : Get the Re lain party Policy from the eID Browser Extension : Tokenise the Re lain party Police : Send back the details of the Re lain party Policy to the eID Browser Extension.
2 : Get the Pass-Phrase from the from the eID Browser Extension.
3 : [ Signing and Encryption of the wanted data ] Dummy work. – [ Plan to cover in the next working model ]
4 : Make the connection with the eID Web Services.
5 : Waiting for the reply from the eID Web Services : Get the reply from the eID Web Services.
6 : Send back all the encrypted details to the eID Browser Extension.
Now we have covered all this objective in the Beta version with many successive battles with the client side and web services side. And now we can forward on the line towards the next version. I have some objectives to be finished with the next version working model. That is we need to finished the eID Desktop application with the completion of the proper signing and prober encryption in the client side (Object 3 in the Beta version full fill with the original working model) in the next version.
For that we need to do some work on the eID Java card. I hope if we finished that we can replace the dummy model with the original codes.
From the Software development team coordinate,
[Work done from 15th December to 28th December 2008]
During this two week period we were in the final stage development and also we had to participate in a competition out of the university and present our project. We had the national level selection presentation for the World Summit Award 2009 under the e-Business/e-Governance category at ICTA Sri Lanka on Tuesday, December 23, 2008. It was a successful presentation on our part where we were able to get external feedback from the panel which judged.
There after we had a formal meeting with our project supervisor on the 24th December where we discussed about the presentation for WSA 2009. And also we discussed about the research papers.
Meanwhile we had started to integrate the project components together which were developed by individuals. I had to work in the Malalasena’s web services to integrate with the client side application. We had many integration problem and we both tried to manage to integration successful.
Problems We had during the integration :
- String sensitive, XML tags has automatically converted to lower case, we first we had bad signing problem.
- Problems to load the external libraries in the eID client application. Then I used the class loader to load all external libraries.
- Signing of the XML string, it was a problem due to the Java security class in the client side.
I succeeded on solving these problems with several testing.
[Work done from 1st December to 14th December 2008]
Last two weeks I worked on the client side application. I’m facing many problems whit the LifeConnecter Java mechanism. Then I started integrate my works with the eID Web service. It was really very problematic thing and still I’m working on that. Meanwhile I’m also developing the eID Relying Party policy registration part as a web base application.
Our project has already been proposed. for the “World Summit Award (WSA)” competition and we were getting ready for that. Also we had a meeting with our project supervisor Dr. Chandana Gamage, where we discussed about the progress of the project and other project related matters.
[Work done from 17th November to 30th November 2008]
Last two weeks i worked on the eID client side application of the project. My main concern was on the eID client side Firefox browser based extension which take care of the Relying party policy and control the client side.
And we had several meetings with our project supervisor and discussed regarding the 3rd formal evaluation which was on the 27th November. And done the 3rd formal demonstration also in this week.
I think we did a lot during this time, and it seems I got less to say here as I feel my work would speak for me (just think so)
[Work done from 3rd November to 16th November 2008]
After started to work on the new architecture of the eID system, I started to worked on the browser extension and with the Desktop application. I created the Firefox extension to get the policy from the Re lain party and display it to the client in a formatted manner to get the confirmation from the client.
Then I have to pass the policy to the desktop allocation (that is not fully functioning ), to sign the policy by the client.
And now I’m working with the desktop application. And we are also updating out blog at blog.project-eid.org.
As we decides earlier I’m and malalasena have worked on developing the API for Digital Signature process & File and String symmetric Encryption/Decryption.
First I worked on the File encryption and decryption implementation. I got some codes that have been developed by Malalasena and I figure out and fixed the problems in that codes, that can be created during the encryption/ decryption section. And I extend it for the String encryption process. Then I finalized the full structured eID styled layout for the Encryption/Decryption API.
After that i moved on the API for the Digital Signature process. I found there are some Java Cryptography Architecture which is a framework for accessing and developing cryptographic functionality for the Java platform. A JCA provider implements the cryptographic functionalities like Digital Signatures and Message Digests. And I worked on JCA and the Asymmetric encryption algorithms like RSA.
But I realised that the RSA, DSA are computationally slower than symmetric encryption algorithms like AES. Then I figured out that is good practice to encrypt the actual message to be transmitted using a Symmetric key Algorithm and then encrypt the key used in the Symmetric Key Algorithm using an Asymmetric Key Algorithm.
That is let we take an Example : if one wants to transmit the message “Shayanthan Kanaganayagham is Here”, then first encrypt this message using a symmetric key ,say an 128 bit AES key like x7oSgDfAgWxEMiZE/0qYrg and then encrypt this key using an asymmetric key algorithm like RSA.
Then I used this algorithm to develpoe the above considurations. The algorithm below can be used for implementing public key cryptography in Java.
- Encrypt the message using a symmetric key.
- Concatenate the symmetric key + Hash of symmetric key + Hash of message.
- Encrypt the concatenated string using the receivers public key.
- Sign the data to be transmitted (Encrypted symmetric key + Hash of the key + Hash of message).
- Validate the Signature.
- Decrypt the message using Receiver private key to get the symmetric key.
- Validate the integrity of the key using the Hash of the key.
- Decrypt the actual message using the symmetric key which has been decrypted and parsed and checked for integrity.
- Compute MessageDigest of data.
- Validate if the Message Digest of the decrypted text matches the Message Digest of the Original Message.
After the exam, we had gathered two meeting with our supervisor Dr. Chandana Gamage. After our discussions with the supervisor, we had to change the system architecture. According to our previous architecture we planned to have the eID system in between the Reliant Party (RP) and the clients. For that architecture we identified there is the problem in the client authentication was services. We needed to redirect the request to the client to get his authentication details. So we identified that there is problem in the request redirection part because it is impossible to redirect the request in the web services.
There for I planned to develop a layer in between the Reliant party and the eID services. That layer help to redirect the request and get the client authentication details from the client.
But after the discussion with the supervisor, he didn’t suggest us to maintain that kind of architecture in the eID system. Then we planned another flexible architecture.
Then I started to find out the way to handle the message passing mechanism in between the client and eID card and the eID server. Then finally I found a solution to overcome that problem through the Java Applet. Through the Java Applet client and the eID server can communicate by using HTTP requests.
So finally we all are re planning the system architecture.
[Work done from 18th August to 31st August 2008]
During the last fortnight we gathered two group meetings. During that meeting we all focused on the prototype development and the Design document. We discussed the structure of the Design Document and divided the work load between us. Then we met with our supervisor Dr.Chandana Gamage and chat with him regarding the Design Document. He suggested us some format to do the design document. And also he gave some valuable points to do the project work.
And we talked with Dr.Chandana Gamage about the the physical eID card. We had the problem with the normal memory stick in the eID card with regarding the privacy. Because we had a severe privacy violating issue with using USB memory sticks as the eID container. So after the discussion with the supervisor we’ve finally decided to go for an USB smart card option.
And during this fortnight we were finalized the research on the topic ‘Privacy Enhanced Data Management in eID Systems” and post a draft paper in the moodle forum.
And I also developing the prototype for the web services using the WSFA and J2EE.