Fix factory-reset for admin-less mode.
[gnuk/gnuk.git] / NEWS
1 Gnuk NEWS - User visible changes
2
3 * Major changes in Gnuk 1.2.4
4
5   Released 2017-05-12, by NIIBE Yutaka
6
7 ** Flash ROM security fix
8 The partial content of flash ROM might be exposed when scanning of
9 data object had a problem.  Added boundary check and changed layout of
10 flash ROM.
11
12
13 * Major changes in Gnuk 1.2.3
14
15   Released 2017-02-02, by NIIBE Yutaka
16
17 ** ECC key generation on the device
18 Bug fixed.
19
20 ** Upgrade of Chopstx
21 We use Chopstx 1.3.
22
23
24 * Major changes in Gnuk 1.2.2
25
26   Released 2016-10-15, by NIIBE Yutaka
27
28 ** Change of SELECT FILE behavior 
29 Gnuk used to reply AID upon SELECT FILE command.  Now, to be compatible
30 to original OpenPGP card, it returns nothing but status code of 9000.
31
32 ** Added feature of Factory Reset as compile time option
33 Original OpenPGP card has the feature, and Gnuk is now configurable to
34 support the feature.
35
36 ** Upgrade of Chopstx
37 We use Chopstx 1.2.
38
39
40 * Major changes in Gnuk 1.2.1
41
42   Released 2016-07-11, by NIIBE Yutaka
43
44 ** Upgrade of Chopstx
45 We use Chopstx 1.1.
46
47
48 * Major changes in Gnuk 1.2.0
49
50   Released 2016-05-20, by NIIBE Yutaka
51
52 ** Upgrade of Chopstx
53 We use Chopstx 0.11.
54
55 ** Support authentication status reset by VERIFY command.
56 This feature is described in the OpenPGPcard specification V2.2 and
57 V3.1, which allow user to reset authentication status.
58
59 ** S2K algorithm tweak to defeat "copycat" service of MCU.
60 Even if the existence of some services copying MCU, your private key
61 will not be controled by others, in some cases.
62
63 ** Bug fix for secp256k1 and NIST P-256.
64 Bugs in basic computation were fixed.
65
66 ** Bug fix for bignum routines.
67 Bignum routine update from upstream (failure doesn't occur for our RSA
68 computation, though).  Another fix for mpi_exp_mod.
69
70
71 * Major changes in Gnuk 1.1.9
72
73   Released 2015-09-18, by NIIBE Yutaka
74
75 ** Bug fix for Ed25519 and Curve25519
76 When registering key, wrong operations were not detected correctly.
77 This is fixed.
78
79
80 * Major changes in Gnuk 1.1.8
81
82   Released 2015-09-17, by NIIBE Yutaka
83
84 ** Upgrade of Chopstx
85 We use Chopstx 0.10, which supports Nitrokey-Start.
86
87 ** Card serial number
88 The way to determine a serial number of Gnuk Token for card has been
89 changed.  It uses the 96-bit unique bits of MCU, but the portion for
90 use is changed.
91
92 ** USB Reset handling
93 USB reset lets Gnuk Token restart.  It would not be perfect, when it's
94 during computation of some function, but most parts are protected by
95 Chopstx's feature of cancellation.
96
97
98 * Major changes in Gnuk 1.1.7
99
100   Released 2015-08-05, by NIIBE Yutaka
101
102 ** Upgrade of Chopstx
103 We use Chopstx 0.08, which supports STM32 Nucleo and ST Dongle.
104
105
106 * Major changes in Gnuk 1.1.6
107
108   Released 2015-07-21, by NIIBE Yutaka
109
110 ** USB SerialNumber String
111 The way to determine a serial number of Gnuk Token has been changed.
112 It uses the 96-bit unique bits of MCU, but the portion for use is
113 changed.
114
115 ** Upgrade of Chopstx
116 We use Chopstx 0.07, which supports STM32 Primer2 and CQ STARM, too.
117
118 ** Experimental Curve25519 support.
119
120 Gnuk can support Curve25519 (for decryption).  Note that this is
121 pretty much experimental, and subjects to change.  The low level code
122 is somehow stable, but there are no consensus in higer level.
123 Especially, OID in the key attribute would be changed in future.
124
125 ** No --enable-keygen option
126 It is now standard feature included always.  Note that it doesn't mean
127 this feature is stable now.  It is becoming stable, hopefully.
128
129
130 * Major changes in Gnuk 1.1.5
131
132   Released 2015-06-03, by NIIBE Yutaka
133
134 ** upgrade_by_passwd.py is not so noisy any more.
135 Since it's getting stable, no debug output any more.
136
137 ** Maple mini support.
138 Although its random number generation is not tested, Maple mini
139 support is added.
140
141 ** Windows interoperability fix.
142 1.1.x (0 to 4) didn't work with Windows because of INTERRUPT transfer.
143 It's fixed and it works now.
144
145 ** OpenPGPcard specification v3.0 compatibility.
146 OpenPGPcard specification v3.0 now include NIST curves (and other
147 curves) and ECDSA and ECDH operations are defined.  Gnuk follows
148 this specification.
149
150
151 * Major changes in Gnuk 1.1.4
152
153   Released 2014-12-15, by NIIBE Yutaka
154
155 ** Experimental RSA-4096 support.
156 Although it takes too long (more than 8.7 second), RSA-4096
157 is now implemented.
158
159 ** ECDH support.
160 ECDH is now supported.  You need development branch (master)
161 of GnuPG to use this feature.
162
163 ** ECDSA and EdDSA is not that experimental.
164 You don't need to edit DEFS variable in src/Makefile.
165
166 ** STM8S_DISCOVERY is not supported any more.
167 It's flash ROM size (64KiB) is a bit small to have all features of
168 Gnuk now.  If you manually edit code to limit the size of executable,
169 it still could run Gnuk, though.
170
171 ** configure's default target is now FST-01.
172 Receiving reports from those who complain default target, I
173 reconsidered.  Those who has Olimex STM32 H103 usually has JTAG
174 debugger, while FST-01 users don't.  So, to be safe, the default
175 target is now FST-01, instead of Olimex STM32 H103.
176
177
178 * Major changes in Gnuk 1.1.3
179
180   Released 2014-04-16, by NIIBE Yutaka
181
182 ** Experimental EdDSA support.
183 After configure, you can edit the DEFS variable in src/Makefile, so
184 that Gnuk can support EdDSA with Ed25519 (for authentication).  Note
185 that this is pretty much experimental, and subjects to change.
186
187
188 * Major changes in Gnuk 1.1.2
189
190   Released 2014-03-07, by NIIBE Yutaka
191
192 ** Experimental ECC support for secp256k1.
193 After configure, you can edit the DEFS variable in src/Makefile, so
194 that Gnuk can support ECDSA with NIST P256 (for authentication), and
195 ECDSA with secp256k1 (for signature).  Note that this is pretty much
196 experimental, and subjects to change.
197
198
199 * Major changes in Gnuk 1.1.1
200
201   Released 2013-12-25, by NIIBE Yutaka
202
203 ** Tools and test suite now work with PyUSB 1.0, too.
204 It only worked with PyUSB 0.4.3, but it works with PyUSB 1.0 too.
205
206 ** Improved RSA routine
207 Working memory for RSA computation is taken from stack instead of
208 malloc (mostly).
209
210
211 * Major changes in Gnuk 1.1.0
212
213   Released 2013-12-20, by NIIBE Yutaka
214
215 ** Overriding key import / generation (Incompatible Change)
216 Gnuk supports overriding key import or key generation even if keys are
217 already installed.  Note that it will result password reset of user.
218
219 ** RSA key generation improvement
220 Prime number generation is done by Fouque-Tibouchi method.
221
222 ** Security fix for RSA computation 
223 PolarSSL had a vulnerability against timing attack.  For detail,
224 please see:
225
226   http://www.gniibe.org/memo/development/gnuk/polarssl/polarssl-rsa-blinding
227
228 ** Improved RSA routine
229 RSA computation has been improved using MPI square routine.  Note that
230 you should not adopt this modification for general purpose computer,
231 as this change is weak against the Yarom/Falkner flush+reload cache
232 side-channel attack.
233
234 ** Upgrade of NeuG
235 The true random number generator was upgraded to the one of NeuG 1.0.
236
237 ** Replacement of kernel (thread library)
238 Instead of ChibiOS/RT, we now use Chopstx.
239
240 ** Removal of obsolete features
241 The feature named pin-dial, which is pin input with hardware
242 enhancement (with rotary encoder) is removed.
243
244
245 * Major changes in Gnuk 1.0.4
246
247   Released 2013-03-15, by NIIBE Yutaka
248
249 ** Relocatable reGNUal, really 
250 In 1.0.3, reGNUal was not fully relocatable.  It worked loaded on higher
251 address, but didn't work for lower address.  This was fixed.
252
253
254 * Major changes in Gnuk 1.0.3
255
256   Released 2013-03-14, by NIIBE Yutaka
257
258 ** Relocatable reGNUal
259 The upgrade helper, reGNUal, is now relocatable (other than the first
260 vector table).  It runs well when loaded at different address.  This
261 makes the upgrade procedure more stable.
262
263 ** Compilation by newer GNU Toolchain
264 Now, Gnuk can be compiled with newer GNU Toolchain, specifically GCC
265 4.7.x and GNU Binutils 2.22.  Old versions of Gnuk had problem for
266 ChibiOS_2.0.8/os/ports/GCC/ARMCMx/cmsis/core_cm3.c, which was fixed.
267
268 ** Data object 0x0073
269 Data object 0x0073 is now available.
270
271
272 * Major changes in Gnuk 1.0.2
273
274   Released 2013-02-15, by NIIBE Yutaka
275
276 ** Product string is now "Gnuk Token" (was: "FSIJ USB Token")
277 Since the USB ID Repository suggests not including vendor name
278 in product string, we changed the product string.
279
280 ** New tool (experimental): test/upgrade_by_passwd.py
281 This is the tool to install new firmware to Gnuk Token, provided
282 that it's just shipped from factory (and nothing changed).  It
283 authenticate as admin by factory setting, register a public key
284 for firmware upgrade, and then, does firmware upgrade.
285
286 ** tool/gnuk_upgrade.py supports '-k' option
287 It now supports RSA key on the host PC (not the one on the Token).
288
289 ** New tool: tool/get_raw_public_key.py
290 This is a script to dump raw data of RSA public key, which is useful
291 to register to Gnuk Token as a firmware upgrade key.
292
293 ** New tool: tool/gnuk_remove_keys_libusb.py
294 This tool is libusb version of gnuk_remove_keys.py.  Besides, a bug in
295 gnuk_remove_keys.py was fixed.
296
297 ** CCID protocol fix
298 When time extension is requested by Gnuk Token to host PC, argument
299 field was 0, which was wrong (but it works for most PC/SC
300 implementations and GnuPG internal driver).  Now it's 1, which means
301 1*BWT.
302
303 ** OpenPGP card protocol enhancement
304 Now, VERIFY command accepts empty data and returns remaining trial
305 counts, or 0x9000 (OK) when it's already authenticated.  This is
306 useful for application to synchronize card's authentication status.
307
308
309 * Major changes in Gnuk 1.0.1
310
311   Released 2012-08-03, by NIIBE Yutaka
312
313 ** USB SerialNumber String
314 In 1.0, it has a bug for USB SerialNumber String.  It has been fixed
315 in 1.0.1.
316
317
318 * Major changes in Gnuk 1.0
319
320   Released 2012-07-21, by NIIBE Yutaka
321
322 This is bug fixes only release.
323
324
325 * Major changes in Gnuk 0.21
326
327   Released 2012-07-06, by NIIBE Yutaka
328
329 ** Test suite
330 A functinality test suite is added under test/ directory.
331
332 ** New tool: stlinkv2.py
333 This tool is SWD flash ROM writer with ST-Link/V2.
334
335 ** New tool: usb_strings.py
336 This tool is to dump USB strings, which include revision detail and config
337 options.
338
339 ** Protection improvement (even when internal data is disclosed)
340 Even if PW1 and PW3 is same, content of encrypted DEK is different
341 now.
342
343
344 * Major changes in Gnuk 0.20
345
346   Released 2012-06-19, by NIIBE Yutaka
347
348 ** Key generation feature added
349 Finally, key generation is supported.  Note that it may be very slow.
350 It may take a few minutes (or more) to generate two or three keys,
351 when you are unlucky.
352
353 ** DnD pinentry support is deprecated
354 Once, DnD pinentry was considered a great feature, but it found that
355 it is difficult to remember moves of folders.
356
357 ** gnuk_upgrade.py assumes using another token for authentication
358 Use of another token for authentication is assumed now.  This is
359 incompatible change.  Note that when you upgrade a token of version
360 0.19 to 0.20 (or later), you need gnuk_upgrade.py of version 0.19.
361
362 ** KDF (Key Derivation Function) is now SHA-256
363 Keystring is now computed by SHA-256 (it was SHA1 before).
364
365 ** Protection improvements (even when internal data is disclosed)
366 Three improvements.  (1) Even if PW1 and Reset-code is same, content
367 of encrypted DEK is different now.  (2) DEK is now encrypted and
368 decrypted by keystring in ECB mode (it was just a kind of xor by
369 single block CFB mode).  (3) Key data plus checksum are encrypted in
370 CFB mode with initial vector (it will be able to switch OCB mode
371 easily).
372
373 ** LED display output change
374 LED display output by Gnuk is now more reactive.  It shows status code
375 when it gets GET_STATUS message of CCID.  When you communicate Gnuk by
376 internal CCID driver of GnuPG (instead of PC/SC), and enable
377 'debug-disable-ticker' option in .gnupg/scdaemon.conf, it is more
378 silent now.
379
380
381 * Major changes in Gnuk 0.19
382
383   Released 2012-06-06, by NIIBE Yutaka
384
385 ** Firmware upgrade feature
386 Firmware upgrade is now possible after the public key authentication
387 using EXTERNAL AUTHENTICATE command of ISO 7816.  Firmware upgrade is
388 done together with reGNUal, the firmware upgrade program.
389
390 ** System service blocks at the beginning of flash ROM.
391 Once flash ROM is protected, first 4-KiB cannot be modified.  Gnuk
392 use this area for "system service".  Note that this area will not
393 be able to be modified by firmware upgrade (or by any method).
394
395 ** New tool: gnuk_upgrade.py
396 The tool gnuk_upgrade.py is to do public key authentication using
397 gpg-agent and send reGNUal to Gnuk.  Then, we put new Gnuk binary
398 into the device with reGNUal.
399
400 ** USB strings for revision detail, configure options, and system service.
401 USB strings now have more information.  There are revision detail
402 string, configure options string, system service version string, as
403 well as vendor string and product string.  These strings could be
404 examined to check Gnuk Token.
405
406
407 * Major changes in Gnuk 0.18
408
409   Released 2012-05-15, by NIIBE Yutaka
410
411 ** New mandatory option '--vidpid' for configure
412 You must specify USB vendor ID and product ID for Gnuk.
413 The file GNUK_USB_DEVICE_ID lists valid USB device IDs.
414
415 ** New tool: gnuk_remove_keys.py
416 The tool gnuk_remove_keys.py is to remove all keys in Gnuk Token
417 and reset PW1 and RC (if any).
418
419 ** New USB stack
420 Gnuk used to use USB stack of USB-FS-Device_Lib by ST.  Now, it has
421 original implementation.  Hopefully, size and quality are improved.
422
423
424 * Major changes in Gnuk 0.17
425
426   Released 2012-02-02, by NIIBE Yutaka
427
428 ** USB CCID/ICCD protocol implementation change
429 Gnuk now only supports short APDU level exchange, not supporting
430 extended APDU level exchange.  Thus, Gnuk could be compatible to older
431 host side software implementation.
432
433 ** ISO 7816 SELECT command behavior is somewhat strict now
434 Old implementations do not check DF name for SELECT command.
435 This causes some trouble when Gnuk Token is identified as if it were
436 different card/token.  Now, DF name of OpenPGP card is checked.
437
438 ** USB CCID/ICCD low-level bug is fixed
439 When the size of command APDU data is just 49, the lower level packet
440 size is 64.  This is maximum size of BULK-OUT transfer packet, and
441 caused trouble in the past implementations.  Example is setting url
442 (0x5f50) as: http://www.gniibe.org/adpu-string-size-is-just-49
443 This is because the past implementations expect ZLP (zero length
444 packet).  Now, it has been fixed.  You can use any size of string.
445
446 ** CERT.3 Data Object (0x7f21) is now optional
447 As there's no valid use case for this data object and it does not
448 work as current version of GnuPG, this is now optional feature.
449 You can enable this data object by specifying --enable-certdo at
450 configure time.
451
452 ** With DnD pinentry, user can cancel pin input
453 Now, user can cancel pin input by unmounting device before finishing
454 DnD.
455
456 ** New tool: pinpadtest.py
457 The tool pinpadtest.py is PC/SC test tool for pinentry of pinpad with
458 OpenPGP card v2.
459
460
461 * Major changes in Gnuk 0.16
462
463   Released 2011-12-14, by NIIBE Yutaka
464
465 ** DnD pinentry support is added and it's default to pinentry support
466 DnD pinentry support doesn't require any hardware extension, but
467 emulates mass storage class device of USB.  User inputs pass phrase
468 by "drag and drop"-ing folders using file manager or something.
469
470 ** Bug fix for VERIFY for CHV2
471 With no keys, VERIFY command for CHV2 used to fail even if pass phrase
472 is correct.  It was intentional, because CHV2 verification would be
473 useless with no keys.  But there is a corner case for PRIVATE-DOs,
474 which may requires CHV2 verification.  Even though Gnuk doesn't
475 support any PRIVATE-DOs, it is good to be fixed.
476
477 ** Changed bcdUSB = 1.1
478 Gnuk device conforms to USB 2.0 full speed device, but when it was
479 2.0, some OS informs users, "you can connect the device to 2.0
480 compliant hub so that it can have better bandwidth", which is not
481 the case for full speed device.
482
483
484 * Major changes in Gnuk 0.15
485
486   Released 2011-11-24, by NIIBE Yutaka
487
488 ** New targets: FST_01 and FST_01_00
489 Flying Stone Technology's open hardware, Flying Stone Tiny 01 is
490 supported.
491
492 ** Flash writing tool for "DfuSe" is improved
493 Now, it supports holes and unaligned blocks in hex file.
494
495 ** Experimental PIN-pad support (by TV controller) change
496 Now, Gnuk has codetables for conversion from CIR code to ASCII code.
497 Note that only four controllers (of Dell, Sharp, Sony, and Toshiba)
498 are supported and tested.
499
500 ** It is possible for users to keep using OPENPGP_CARD_INITIAL_PW1
501 With a bug fix of verify_user_0, it's now possible.  Although it's not
502 recommended.
503
504 ** Important bug fix and a workaround
505 In version 0.14, __main_stack_size__ (for interrupt handler) was too
506 small for some cases.  This is fixed in 0.15.
507
508 In src/Makefile.in, added -mfix-cortex-m3-ldrd for correctly linking C
509 library for thumb2.  This is needed for newer summon-arm-toolchain.
510
511
512 * Major changes in Gnuk 0.14
513
514   Released 2011-10-07, by NIIBE Yutaka
515
516 ** Random number generator change
517 NeuG, Gniibe's True RNG implementation for STM32F103, has been
518 integrated to Gnuk.  It is not needed to put random number bytes
519 (generated by host) to Token any more.
520
521
522 * Major changes in Gnuk 0.13
523
524   Released 2011-06-15, by NIIBE Yutaka
525
526 ** Improved RSA routine.
527 About 20% speed improvement.
528
529 ** New tool: hub_ctrl.
530 It is a Python implementation ported from original C implementation.
531 It is useful for development of USB target if you have a good hub.
532 You can power off/on the port to reset Gnuk Token.
533
534
535 * Major changes in Gnuk 0.12
536
537   Released 2011-05-13, by NIIBE Yutaka
538
539 ** Admin-less mode is supported.
540 The OpenPGP card specification assumes existence of a security officer
541 (admin), who has privilege to manage the card.  On the other hand,
542 many use cases of Gnuk are admin == user.
543
544 Thus, Gnuk now supports "admin-less" mode.  In this mode, user can get
545 privilege with the password of PW1.
546
547 At the initialization of the card, Gnuk becomes compatible mode by
548 setting PW3.  Without setting PW3, it becomes "admin-less" mode
549 by setting PW1.
550
551 ** Important two bug fixes.
552 Gnuk (<= 0.11) has a bug which makes possible for attacker to change
553 user password to unknown state without knowing original password (when
554 no keys are loaded yet).  No, attacker could not steal your identity
555 (cannot sign or decrypt), but it would be possible to disturb you.
556
557 Gnuk (<= 0.11) has a bug which makes possible for attacker to guess
558 admin password easily.  When admin password is not set (the default
559 value of factory setting), failure of VERIFY doesn't increment error
560 counter in older versions.  Observing no increment of error counter,
561 attacker could know that admin password is the one of factory setting.
562
563 ** tool/gnuk_put_binary.py now uses pyscard.
564 Instead of PyUSB, it uses Python binding of PC/SC.  PyUSB version is
565 still available as tool/gnuk_put_binary_libusb.py.
566
567 ** Logo for Gnuk is updated.
568
569 ** Gnuk Sticker SVG is available.
570
571
572 * Major changes in Gnuk 0.11
573
574   Released 2011-04-15, by NIIBE Yutaka
575
576 This is bug fixes only release.
577
578
579 * Major changes in Gnuk 0.10
580
581   Released 2011-02-10, by NIIBE Yutaka
582
583 ** The executable can be installed to multiple devices.
584 So far, users of Gnuk should have not shared single executable among
585 multiple devices because the executable includes random bits (or
586 fixed serial number).  Now, random_bits and fixed serial number are
587 configured *after* compilation, we can install single executable image
588 to multiple devices.  Note that we need to configure random_bits for
589 each device.
590
591 ** Removed configure option: --with-fixed-serial
592 It is not compile time option any more.  After installation, we can
593 modify serial number in AID by tool/gnuk_put_binary.py.  Modification
594 is possible only once.  If you don't modify, Gnuk uses unique chip ID
595 of STM32 processor for AID.
596
597
598 * Major changes in Gnuk 0.9
599
600   Released 2011-02-01, by NIIBE Yutaka
601
602 ** Card Holder Certificate is supported (still this is experimental).
603 Gnuk can support card holder certificate now.  Note that GnuPG is not
604 ready yet.  The tool/gnuk_update_binary.py is for writing card holder
605 certificate to Gnuk Token.
606
607 ** Better interoperability to OpenSC.
608 Gnuk is not yet supported by OpenSC, but it could be.  With the
609 changes in Gnuk, it could be relatively easily possible to support
610 Gnuk Token by OpenSC with a few changes to libopensc/card-openpgp.c,
611 and libopensc/pkcs15-openpgp.c.
612
613 ** New board support "STBee"
614 STBee is a board by Strawberry Linux Co., Ltd., and it has
615 STM32F103VET6 on the board.  The chip is High Density CPU with 512KB
616 flash memory and many I/O.  If you want to connect sensor, display,
617 etc., this board would be a good candidate.
618
619 ** Experimental PIN-pad modification(unblock) support is added.
620 PIN-pad modification(unblock) is supported.
621
622
623 * Major changes in Gnuk 0.8
624
625   Released 2011-01-19, by NIIBE Yutaka
626
627 ** Experimental PIN-pad modification support is added.
628 PIN input using rotally encoder and push switch is tested with STBee
629 Mini.  By this hardware, PIN-pad modification is supported.
630
631
632 * Major changes in Gnuk 0.7
633
634   Released 2011-01-15, by NIIBE Yutaka
635
636 ** Bug fix only.
637 In version 0.6, a severe bug was introduced in usb-icc.c when adding a
638 work around for libccid 1.3.11.  The fix is one-liner, but it is worth
639 to release newer version.
640
641
642 * Major changes in Gnuk 0.6
643
644   Released 2011-01-14, by NIIBE Yutaka
645
646 ** Experimental PIN-pad support is added.
647 Local PIN-pad input is suppored for boards which have input hardware.
648 PIN input using consumer IR receive module is tested with STBee Mini
649 and STM8S Discovery.
650
651 ** USB device serial number is virtually unique now.
652 STM32F103 has 96-bit unique chip identifier.  We take advantage of
653 this, Gnuk Token has virtually unique USB serial number.
654
655 ** Card serial number is determined at run time by chip identifier.
656 Until version 0.5, card serial number was compile time option.  If we
657 used same binary for different devices, card serial number was same.
658 Now, we use STM32F103's 96-bit unique chip identifier for card serial
659 number (when you don't use --with-fixed-serial option).
660
661 ** More improved USB-CCID/ICCD implementation.
662 The changes in 0.5 was not that good for libccid 1.3.11, which has
663 small buffer (only 262-byte APDU).  Workaround for libccid 1.3.11 is
664 implemented.
665
666
667 * Major changes in Gnuk 0.5
668
669   Released 2010-12-13, by NIIBE Yutaka
670
671 ** LED blink
672 LED blink now shows status output of the card.  It shows the status of
673 CHV3, CHV2, and CHV1 when GPG is accessing the card.
674
675 ** New board support "STM8S Discovery"
676 ST-Link part (with STM32F103C8T6) of STM8S Discovery board is now supported.
677
678 ** Digital signing for SHA224/SHA256/SHA384/SHA512 digestInfo is now possible.
679
680 ** Fixes for password management
681 Now, you can allow the token to do digital signing multiple times with
682 single authentication.  You can use "forcesig" subcommand in card-edit
683 of GnuPG to enable the feature.
684
685 ** Key management changes
686 If you remove all keys, it is possible to import keys again.
687
688 ** More improved USB-CCID/ICCD implementation.
689 Gnuk works better with GPG's in-stock protocol stack.  You can do
690 digital signing (not decryption, key import, or get_public_key in
691 GPG2).  For decryption, key import and get_public_key, changes are
692 needed for GPG (scd/ccid-driver.c) to support the case of extended
693 APDU.  In short, you can sign with Gnuk by GPG.
694
695 ** Windows support.
696 Gnuk Token could run with GPG4WIN on MS Windows.  GPG4WIN runs with
697 "usbccid" driver and "winscard" driver.
698
699
700 * Major changes in Gnuk 0.4
701
702   Released 2010-11-09, by NIIBE Yutaka
703
704 ** New board support "STBee Mini".
705
706 ** Flash writing tool for "DfuSe" is included now.
707
708 ** Since Flash GC is now implemented, it can be used longer.
709
710
711 * Major changes in Gnuk 0.3
712
713   Released 2010-10-23, by NIIBE Yutaka
714
715 ** Now we have 'configure' script to select target.
716
717 ** Support system with DFU (Device Firmware Upgrade) downloader.
718
719 ** New board support "CQ STARM".
720
721 ** Improved USB-ICCD implementation.  Works fine with GPG's protocol stack.
722
723
724 * Major changes in Gnuk 0.2
725
726   Released 2010-09-13, by NIIBE Yutaka
727
728 ** With DEBUG=1, timeout is more than 3 seconds.
729
730 ** Flash ROM entries for random numbers are cleared after use. 
731
732 ** Board support "STM32 Primer 2" now works.
733  
734
735 * Major changes in Gnuk 0.1
736
737   Released 2010-09-10, by NIIBE Yutaka
738
739 ** Enabled force_chv1 (in the pw_status_bytes), so that the decipher works.
740
741 ** Support both of key for digital signing and key for decryption.
742
743 ** Decipher is supported.
744
745 ** New board support "STM32 Primer 2" is added by Kaz Kojima.
746
747 ** LED behavior is meaningful now.  "ON" during execution.
748
749 ** Fixed bcdCCID revision number.
750
751 ** Logo.
752
753
754 * Major changes in Gnuk 0.0
755
756   Released 2010-09-06, by NIIBE Yutaka
757
758 ** This is initial release.  Only it supports digital signing.
759
760 Local Variables:
761 mode: outline
762 End: