The Smart Card Software Development Kit contains APIs (application programming interfaces) and COM (Component Object Model) software to make any Windows 95, Windows NT 4.0, or NT 5.0 application able to use smart cards. The kit also works with Microsoft's upcoming Windows 98 operating system.
Microsoft is expected to make the developer kit also work for its Windows CE platform for handheld devices, although the timing is unclear.
Smart cards are plastic, credit-card size devices that contain a microchip. While commonly used in Europe, smart cards have yet to take hold in the United States. Analysts expect that to change in the coming year, as more hardware makers incorporate smart card readers into their PCs and PC hardware, such as keyboards. Also, financial institutions are adopting smart cards for use in new services.
Although capable of storing a variety of data, they have primarily been used in the United States in limited trials, mostly in the financial arena. The software system varies on cards and devices at the moment, although many manufacturers are incorporating Java, a sort of computer lingua franca, to promote interoperability.
Although Microsoft and Sun Microsystems (SUNW) rejected suggestions that Microsoft's SDK competes with the JavaCard initiative from Sun's JavaSoft business unit, one industry executive views Microsoft's move as competitive.
"I would view this as competing with JavaCard, but Microsoft might say it's complementary," said Catherine Allen, chief executive of a new industry consortium called Banking Industry Technology Secretariat, a division of the Bankers Roundtable. BITS, formed in April by the ten largest U.S. banks, is addressing banks' role in electronic commerce.
"There's a race on for who's going to dominate the operating system for smart cards," Allen added. Hardware vendors of both smart cards and readers are working with both Microsoft and JavaSoft, hedging their bets on the outcome of a technology battle.
"This SDK will work with any operating system on the card," said Microsoft's Karan Khanna, a product manager on Windows NT. "We work with JavaCard perfectly fine, an application would work just fine."
JavaSoft's David Spenhoff likewise downplayed any potential showdown over Microsoft's new toolkit.
"It doesn't really relate to the JavaCard spec at all. It seems to be about Microsoft making sure Windows applications can read smart card data," the JavaSoft director of product marketing said. "It's about what goes on the PC side. Java is what's running on the smart card."
Nor is Spenhoff worried that Microsoft might create its own operating system for smart cards." I've heard nothing that indicates they're working in that space." A public draft of the JavaCard 2.0 specification is due for publication next month.
Allen rated Microsoft's announcement as a plus for the smart card industry. "It's an example from large players of how smart cards will be integrated into a number of applications," she said.
Microsoft's SDK grows out the PC/SC Workgroup, convened by Microsoft a year ago to define how smart cards will work with PCs. The original group included smart card vendors Bull, Schlumberger, and Siemens, plus Hewlett-Packard.
Microsoft said the development kit will support smart cards at the device driver level for hardware and at the application level through device-independent APIs.
The kit can be downloaded from Microsoft's Web site.
As part of the Smart Card software development kit announcement, Microsoft said it has signed up 11 hardware makers to support smart cards on Windows, including IBM, HP, Gemplus, Schlumberger, and Litronic.
The PC/SC specification is posted at a Web site. The PC/SC Workgroup intends to transfer the protocols to an appropriate standardization body, but which one remains under discussion.
The PC/SC Workgroup also is working with the OpenCard Framework, a parallel group led by IBM to ensure compatibility of NCs and smart cards. Many NC manufacturers expect to use smart cards to authenticate the identity of users and enhance security.