 |
 |
 |
 |
Java Card is, basically, a Java dialect
for programming smart cards. The Java Card programming
language (latest version: 2.1) is a subset of Java,
wherein certain data types such as long integers, floating-point
values and characters have been removed. In the Java
Card programming language, there are no threads,
and classes are not loaded dynamically. The language
has been extended with facilities for programming atomic
transactions and for specifying applet isolation and
sharing through interfaces. The possibility of downloading
code and executing it in a transparent manner is one
of the major interests in the Java language. However,
this practice raises serious problems regarding the
security of information, in particular confidentiality
and integrity. Java deals with these concerns, and others,
with a greater level of safety features in the language
(typing, verification of imported code, simple inheritance,
etc.). Though the language itself is considered safe,
but this declaration is still a debatable topic, more
so as there is no formally specified official definition
of the semantics of the language. The need for a formal
definition arises from the contradictory declarations
of type-safeness and the fact that Java integrates a
certain number of complex features, making the formalization
of the language essential. As the language have typical
characteristics, which have a direct impact on security
and for which the informal definitions are neither comprehensive
nor free from ambiguity.
|
 |
 |
 |
 |