12
Cartão de Cidadão Security and authentication Bruno Duarte – ei07136 Pedro Barbosa – ei08036 Rúben Veloso – ei11001

Cartão de Cidadão Security and authentication Bruno Duarte – ei07136 Pedro Barbosa – ei08036 Rúben Veloso – ei11001

Embed Size (px)

Citation preview

Page 1: Cartão de Cidadão Security and authentication Bruno Duarte – ei07136 Pedro Barbosa – ei08036 Rúben Veloso – ei11001

Cartão de Cidadão

Security and authentication

Bruno Duarte – ei07136Pedro Barbosa – ei08036Rúben Veloso – ei11001

Page 2: Cartão de Cidadão Security and authentication Bruno Duarte – ei07136 Pedro Barbosa – ei08036 Rúben Veloso – ei11001

The "cartão de cidadão"

Physical and digital document that identifies citizens

Simplify usage of public services via telephone or internet

Objective

Page 3: Cartão de Cidadão Security and authentication Bruno Duarte – ei07136 Pedro Barbosa – ei08036 Rúben Veloso – ei11001

What is it?

- SmartCard:

- Incorporated microprocessor;

- Allows cryptographic processing;

- Allows storage;

- Fulfill international standards.

Page 4: Cartão de Cidadão Security and authentication Bruno Duarte – ei07136 Pedro Barbosa – ei08036 Rúben Veloso – ei11001

Official Applications

Similar application on Windows and Linux

Page 5: Cartão de Cidadão Security and authentication Bruno Duarte – ei07136 Pedro Barbosa – ei08036 Rúben Veloso – ei11001

Cards Architecture

Page 6: Cartão de Cidadão Security and authentication Bruno Duarte – ei07136 Pedro Barbosa – ei08036 Rúben Veloso – ei11001

Authentication

eID PT PKCS#11- Library to develop applications for “cartão do cidadão”;

- Simpler interface;

- Available for Java and .NET;

- Developed above PKCS#11.

- Appropriated for smartcards;

- Cryptography patterns(RSA Laboratories);

- Support for most used cryptographic methods (RSA, X.509, ...);

- Low Level interaction.

Page 7: Cartão de Cidadão Security and authentication Bruno Duarte – ei07136 Pedro Barbosa – ei08036 Rúben Veloso – ei11001

SOD Files• PTEID_GetCertificates();

• PTEID_GetADDR();

• PTEID_GetPins();

• PTEID_SetSOCAs() – define certificates location;

• PTEID_SetSODCheckin() – defines usage of above function.

Basic security principles

Page 8: Cartão de Cidadão Security and authentication Bruno Duarte – ei07136 Pedro Barbosa – ei08036 Rúben Veloso – ei11001

Developed examples

- Java Application using

eidPT;

- Application .NET C#

Using eidPT;

- Microsoft Office signature

method test

Page 9: Cartão de Cidadão Security and authentication Bruno Duarte – ei07136 Pedro Barbosa – ei08036 Rúben Veloso – ei11001

.NET C#

- Data read;

- Address read and

validation;

- SWatcher.

Page 10: Cartão de Cidadão Security and authentication Bruno Duarte – ei07136 Pedro Barbosa – ei08036 Rúben Veloso – ei11001

Java

- Data read;

- Data read and

validation;

Page 11: Cartão de Cidadão Security and authentication Bruno Duarte – ei07136 Pedro Barbosa – ei08036 Rúben Veloso – ei11001

Possibles failures

Vulnerabilities:

- key loggers;

- Applications not using official library;

- Trojans;

- No evident failures with the system;

- The reported error was not reproduced (PKCS#11);

Page 12: Cartão de Cidadão Security and authentication Bruno Duarte – ei07136 Pedro Barbosa – ei08036 Rúben Veloso – ei11001

Conclusions

- Manual vs Digital signatures;

- System is generally well conceived;

- People need to be aware of vulnerabilities and try to avoid it