[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]
During this period I was mainly involved in the final project report and the research paper works. I was able to receive the Java smart cards and reader together at the latter part of the second week and then started working on that, specially with the workstation application. There were several initial configurations needed to be done in order to use the Java card development environment which also uses Global platform and Open platform standards. There were many lessons provided with the card and reader, I had to follow them and learn the environment. Now we are reaching the final stages of the project and I’m about to work on the integration part of the smart card with the browser plugin.
I was in-charge for the report and research work and to coordinate them. So for the purpose I was preparing the basic frameworks and to divide the work among our group members. We’ve already completed first three chapters of the report and now everyone is working on their individual contribution parts. Also we’ve started the research paper works and hopefully complete them before the deadlines.
We had a meeting with our supervisor Dr.Chandana Gamage on 15th January 2009 and discussed several issues with him. We needed to get a public ip to deploy our authentication web service, had to discuss about the Java card issues, and discuss about other potential opportunities to publish papers and to present the project. These issues were raised in the meeting and our supervisor responded immediately.
[Work done from 15th December to 28th December 2008]
We presented our project to ICTA officials on 23rd December 2008 for the pre-selection competition for World Summit Award(WSA). We were doing initial preparations during the starting week of this period. We had a meeting with our supervisor prior to the presentation and discussed with him regarding the project progress and suggestions for the ICTA presentation. We all the group members attended and they were inspired by our ideas and the work done. After the succesful completion of the presentation, we had a meeting with our supervisor the very next day(24th December 2008) and updated him with the details.
Technically I was working on the workstation application which connects with CAD (Card Acceptance Device) and communicate with the Smart card via APDU commands. This application was partially finished and later couldn’t be proceeded until the Java card arrival. This was due to the reason that some of the functionalities can not be tested without the physical devices. The JCWDE and CREF simulators were useful for applet development and testing but for the workstation application no simulation was possible.
[Work done from 1st December to 14th December 2008]
For the last two week period I was working on Client terminal application and the RMI implementation to the eID Java Card application. I had to refer to the manual and read through online forums to get some idea to sort out the problem in hand. This is now almost done and I’m on the track to meet the local deadlines.
During this period we had a meeting with our project supervisor and discussed the progress of the project. We are also getting ready for the WSA competition and our project has already been proposed. Now we are getting ready for a presentation plus demonstration on next Wednesday as requested by ICTA regarding this WSA competition.
We’ve also purchased two Java Cards and One reader/writer and it is now being shipped. As soon as it is arrived we can further boost up the progress and complete the implementation within this month
[Work done from 17th November to 30th November 2008]
We had our 3rd formal evaluations of the project during this period. So that I was working very hard to achieve my own deadlines to produce a working model of the Java card applet. I finally succeeded in developing the applet with signing and verification implemented, but the terminal application and the client side development was in the halfway. Because of that I was able to demonstrate the applet, installing, converting to CAP (Converted Applet), and deployment only. Without the terminal, I couldn’t send different APDU’s and demonstrate the output. But anyway our Supervisor and Project Coordinator were satisfied with the progress. It seems like I’m wearing the Java CAP all these days…!
Earlier to the final 3rd Demonstration, we did a trial demonstration to our Supervisor Dr.Chandana Gamage and got his feedback to further improve the quality of the system and the demonstration.
We also had two meeting with our Supervisor during this period and also had a meeting with a WSO2 personnel Mr.Nandana. Hope these will be really helpful to make the final system more productive
[Work done from 3rd November to 16th November 2008]
For the last two week period I was busy with completing my modules for the demonstration. I was doing the development in the Java card environment, I had to develop an applet which will be deployed in a Java card as a CAP file. The methods defined in these applets can be accessed in two methods, message passing model and Remote method invocation method. I’m developing a terminal application which is a normal java program which will reside in the local machine and can communicate with the Java smart card. This is very essential as this is the main component which can help to demonstrate the functionality of Java card applet. Otherwise the applet can be converted to a CAP file and deployed to a Java card, but there is no way to check the functionalities.
We had a meeting with our project supervisor Dr.Chandana Gamage and discussed the progress of the project. During the meeting we finalized the deliverables of the project. We are still updating our blog at project website blog.project-eid.org with the latest updates and progresses of the project. The project website is also being updated periodically.
In addition to the meeting with the supervisor, we had several group discussions and exchanged ideas. Each one of us are responsible for clearly separated modules of the project, and also we have to interact within those modules. For this purpose each one of us should be aware of other’s work. For this purpose we are having online conferencing whenever needed.
[Work done from 20th October to 2nd November 2008]
For the last two week period I was working with Java card technology, which was not so familiar already. So I had to refer to many web resources to learn the basic concepts and programming techniques. The website belong to Sun microsystems on Javacard Technology was really helpful in finding the necessary information. I supposed to use the Javacard development kit (v 2.2.2) together with Apache ant for creating ant builds. Many information available on the web is mainly useful in credit card sort of programming problems, and I had to extract the useful information out of that and use in our eID domain.
Through continuous reading I found that we need to use applets in Javacard to implement additional functionalities. So I started writing the applet to be used in the eID smart card. Many of the functionalities are implemented and some additional functions have to be implemented after the completion of other components of the overall system, because those functions have to be called by those particular components and presently I don’t have enough information and specifications to implement them. Mainly because there is a desktop application which accesses the card also interacts with eID authentication Webservice. I need the policy and the message exchange formats to complete that part. But that is not such hard work compare to other components of the system.
Presently this implementation is only in Java Development Kit’s JCRE (Java Card Runtime Environment) and as soon as we get the actual Java Card we will implement this to that. We are making arrangements to buy a Java Card with card reader or USB Java Card. We are going to have two deliverables as the eID container. One will be smart card based and another one will be our own read only USB stick. The second option was suggested by our superviser and we are trying to build our own stick(We are not going to create electronic circuits, but going to make them read-only).
We had two meetings with our project superviser Dr.Chandana Gamage, in which we discussed several issues in the application development. Some of the architecture components had to be changed. So, We redesigned the architecture, discussed that with the superviser and confirmed that. We were adviced to have regular meetings with him to update the project progress.
Just after the first semester exams finished, I started the reading and implementation works in a smart card environment according to the decision made in the meeting with our project superviser. First I had to learn about the smart card basics, programming techniques and then set up the development environment. I went through several hardships in finding solutions in this phase, so I got many helps from many online forums.
After a lot of reading I decided to use Java card technology. It was not so familiar for me to work with that platform. Setting up the environment for the first time took me about a week. Presently I’m supposed to use the simulater available in JCDK (Java Card Development Kit). And also we are in the process of buying a USB smart stick or Smart card and reader from Singapore.
Presently I’m in the process of developing an applet to be used in the smart card. So I’ve identified the functions to be performed by the applet and designing the class architecture.
After the exams we had a group meeting for discussing issues with the web service development. We redesigned the architecture to overcome the problems. During this period we had several teleconferencings and discussed the issues. However we got some problems that had to be discussed with our superviser. So we decided to meet him when the semester starts.
We implemented a blog to our project website and I was working on migrating the old reports to that blog. We found that having this sort of blog will greately help us in the future. We decided to post a copy of all our weekly reports and other reports to this blog in the future.
The select method tells the JCRE if the applet is ready to process requests, by returning a true value. If the applet is not ready to accept processing requests, the select method returns a false value.
If an applet is selected and you want to select an applet with a different AID, the JCRE calls the currently selected applet’s deselect method.
Once an applet is selected all communications between the applet and the client application are sent to the process method
This method accepts an APDU object as a parameter. The APDU is sent from the client application to the java card applet, the client application then waits for a response APDU in return. For security reasons references to an APDU object are only allowed within a method, so an APDU must be passed in as a parameter to the method or stored in a local variable. This is to protect against the possibility of one Java Card applet accessing APDU data that belongs to another Java Card applet.
Other specific methods
- setBiometrics() – If needed
[Work done from 18th August to 31st August 2008]
During the last two weeks period we had two group meetings and one meeting with our Project supervisor Dr.Chandana Gamage. We discussed several issues regarding the deadlocks in our project development. We had a severe privacy violating issue with using USB memory stick as the eID container. So we’ve finally decided to go for an USB smart card option. We were doing a research on the topic ‘Privacy Enhanced Data Management in eID Systems”. We completed the research and released the draft paper. This paper was later uploaded to the moodle forum.
Then we completed the draft version of our design document, for this I took the responsibility of designing the Entire System Architecture and the Offline application development. I drew the necessary UML diagrams and we discussed about them in our group meetings. Finally we worked on finalizing the Design Document.
I was also reading about Anonymous Control Systems and found that it would be an interesting idea to implement that in our system to preserve the privacy of the users. There is the mathematical proof of this system, and a practical prototype ‘Idemix’ developed by IBM research lab, Zurich. This was a similar but not exact implementation of ACS. We decided to implement this in our System Architecture.