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