[OpenAFS] Microsoft Changing Digital Signature Requirements

Jeffrey Altman jaltman@your-file-system.com
Sat, 04 Apr 2015 01:03:40 -0400


This is a cryptographically signed message in MIME format.

--------------ms070109090107080301020800
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 4/3/2015 3:39 PM, Dave Botsch wrote:
> Hi, Jeff.
>=20
> The updates are very very much appreciated. Certainly, these changes
> will make life interesting in the future.
>=20
> A couple of followup questions, if you know the answers...
>=20
> When MS implements the new signing changes, whenever that is, is it
> expected that existing installations of the AFS client will break? Or
> is it expected that those will break? Or that clients up to a certain
> version, even if not yet installed, will work?

I understand that the situation is very complex and confusing.  You can
be rest assured that any system you have today that is running a driver
that Your File System signed up to this point will continue to function
in the future.  Including if you upgrade such a Windows 7 system to
Windows 10 with the driver installed.  The problems are going to begin
once Windows 10 is released to manufacturing because drivers signed
after that point must be signed using the new process if they are going
to continue to function after a system is upgraded to Windows 10.

> Also, do you have to wait until MS "flips the switch" to be able to
> submit the client for the certification/review process? Or will you be
> able to do that earlier and get feedback with some sort of lead time?

As I wrote yesterday one of the complications is that there is no well
defined certification process for file systems.  If there was a
"Certified for Windows" logo that I could easily obtain for the AFS
redirector drivers I would have done so years ago.  Now there is a
Catch-22.  Drivers "must be certified in order to install on Windows
Server" but "no certification process for file systems".

There is no certification for file systems because the semantics of file
systems vary so much.  Just think about the varying capabilities of FAT
vs NTFS vs ReFS vs CDFS vs CIFS vs AFS vs AuriStor vs NFS3 vs NFS4.  It
would not be possible to define a single set of tests that could cover
all of them.

The first step is going to be working with Microsoft to define a set of
tests that must be passed and required features that must be implemented
in order to be certified.  The second step is going to be implementing
the tests and any new code or architectural changes that will be needed.
 Finally, the certification submission will consist of the execution
test results plus the drivers and any other supporting documentation.
This certification will be required for each new revision of the driver
to be signed by Microsoft.

To clarify, certification is not a process by which a driver and its
source code are given to a third party for analysis.  For example you
might be familiar with the FIPS 140-2 validation procedure for
cryptographic libraries.  This process is not like that.  For most
driver classes there exists a well defined set of tests and a functional
requirement list.  The tests are performed by the developer and the
results are submitted to Microsoft along with the driver for review.

Prior to signing a driver I suspect that Microsoft will also analyze the
driver to ensure the apis it is calling are sane, that the driver is not
self modifying, that it implements stack randomization, and other code
hardening features.  If I were Microsoft I would also examine the diffs
between drivers with the same name to ensure that the code is similar to
the prior submission.  If it isn't I would ask for additional details
before issuing a signature.

This isn't an answer to your question but I hope it explains the current
situation.

> Finally, does the certification process itself cost $$?

I think you are asking if there is a check that needs to be written to
Microsoft for each request to certify and sign a driver.  The answer to
that is "no".  However, there are many costs associated with getting to
the point where you can submit a driver to be certified and signed.

> I'm, of course, wondering if this change will be implemented with some
> sort of update we can block. So far, the only publicity w.r.t. signing
> I've heard from MS has been on web certs. So, I'm really surprised this=

> very major change hasn't been more publicized, yet.

Regarding publicity.  NIST deprecated SHA-1 for use in code signing
certificates at the end of 2013.  Microsoft announced on 14 November
2013 that SHA-1 would not longer be accepted for code signing after 31
December 2015.  As I mentioned on 28 March the Microsoft pushed the most
recent update to Windows 7 and Server 2008 R2 that adds support for
SHA-256 as part of the March 2015 Windows Update.  Blocking this update
will only prevent a driver signed with a SHA-256 certificate from
validating.

While Your File System is currently signing with a SHA-1 certificate the
new EV certificate we are receiving is SHA-256.  One question I have to
decide is whether it is worth the effort once the new signature program
is in place for Your File System to issue two versions of each installer
package:

 * one signed with the SHA-1 certificate for older systems

 * one signed with the EV SHA-256 certificate for everything else

Once we reach 2016 there will not be a choice because it will not be
possible to obtain or renew a SHA-256 Authenticode certificate.

> Again, thanks so much for the heads up.=20

I should also point out that there is no guarantee that Microsoft will
be willing to certify OpenAFS because it might not be possible for
OpenAFS to satisfy the agreed upon requirements.  One example of a
potential requirement is support for UNC Hardening.  UNC Hardening was
introduced by MS15-011 in February 2015.  It is an architectural change
to how file systems work to prevent man in the middle attacks against
the Group Policy Service but is also relevant for protecting roaming
profiles and redirected folders.

It would be perfectly reasonable for Microsoft to require any network
file system that supports roaming profiles and redirected folders to
also support UNC Hardening.  But there is no point in implementing UNC
hardening for OpenAFS because the hardening guarantees cannot be
enforced by AFS.

The reason I attend Microsoft's IFS PlugFests is be aware of the
requirements for new OS releases and to build the personal relationships
necessary to jump hurdles such as this one.  I have begun a
conversation.  It is going to be some time before I know where it will en=
d.

Jeffrey Altman



--------------ms070109090107080301020800
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIINXTCC
BkIwggUqoAMCAQICEDirAC//rpa3Vv85Wvtd5xswDQYJKoZIhvcNAQEFBQAwgcoxCzAJBgNV
BAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0
aG9yaXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMSBQdWJsaWMgUHJp
bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTExMDkwMTAwMDAwMFoXDTIx
MDgzMTIzNTk1OVowgaYxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3Jh
dGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEeMBwGA1UECxMVUGVyc29u
YSBOb3QgVmFsaWRhdGVkMTcwNQYDVQQDEy5TeW1hbnRlYyBDbGFzcyAxIEluZGl2aWR1YWwg
U3Vic2NyaWJlciBDQSAtIEc0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxuwn
/R1j9DsdisHTHMjIgoa2uEqGkqqBXHLKMA0vnkEiVzAhJZCao/SsKsaIF4ZhchN2LuwDyyeb
jyCAN+DkitpVplAP/LlcI2mJQqG6H6/vDvmkyQrx+DeyxtmSSq5937hEH5u6P4wG/tgjT0hR
I2pghKjuJy9g35byGiqMPI8AzE/L+iCOvDX24fCatgXz/B0/xhR7DtryBeTTgwKmxWlwtKnk
VunbHVz0pjbia7UeKi3cvrvuOgSwMAitX2hsxr0GloiE5+apZC28ODC7iCbDZ2ZmtLR3+cCh
xw5y72bi5bnK4POFdzWY3tQcsP5mceI4y258T0BV65fZqBge7QIDAQABo4ICRDCCAkAwOAYI
KwYBBQUHAQEELDAqMCgGCCsGAQUFBzABhhxodHRwOi8vcGtpLW9jc3AudmVyaXNpZ24uY29t
MBIGA1UdEwEB/wQIMAYBAf8CAQAwbAYDVR0gBGUwYzBhBgtghkgBhvhFAQcXATBSMCYGCCsG
AQUFBwIBFhpodHRwOi8vd3d3LnN5bWF1dGguY29tL2NwczAoBggrBgEFBQcCAjAcGhpodHRw
Oi8vd3d3LnN5bWF1dGguY29tL3JwYTA0BgNVHR8ELTArMCmgJ6AlhiNodHRwOi8vY3JsLnZl
cmlzaWduLmNvbS9wY2ExLWczLmNybDAOBgNVHQ8BAf8EBAMCAQYwKQYDVR0RBCIwIKQeMBwx
GjAYBgNVBAMTEVZlcmlTaWduTVBLSS0yLTk3MB0GA1UdDgQWBBSt+cOTci21uShh5KTXYNXE
Cl4aATCB8QYDVR0jBIHpMIHmoYHQpIHNMIHKMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVy
aVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsT
MShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBD
BgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBB
dXRob3JpdHkgLSBHM4IRAItbdVaEVIULAM+vOEjOsaQwDQYJKoZIhvcNAQEFBQADggEBANaP
wdqbiPKzbE0fWC+6AVFddMFG6MO4e5/WQPHv/zK6iWvADjRDn6SZ5qTwXUgzYoWFYf4jiCKM
YJsrnGVJlMSiOCRIpVylUEto6WIip5PomSJuPVu7EEIOH0x1RzRWCY/4vYw881y70pZwVHBi
Te/REL6dSCxe7IZrB4LwPeElJygs4BZ2HrP95WKW0oo9Xyuu+1zCE7dlY8s0dkOf1oeZq26t
lcEAP0Yngf813iMOQ9wUXzL5yinvwlIw9ZnduYH4OiUgjYJo8rkhhXRmBOGGORYy8i3WKqjJ
3tkAAk/jGCDFpYFWtpXe04Kt+HslvmR8LqC6cCz4+XXidE0HbYQwggcTMIIF+6ADAgECAhAW
xDBJuKAcJVa7b+TJhwvEMA0GCSqGSIb3DQEBBQUAMIGmMQswCQYDVQQGEwJVUzEdMBsGA1UE
ChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNVBAsTFlN5bWFudGVjIFRydXN0IE5ldHdv
cmsxHjAcBgNVBAsTFVBlcnNvbmEgTm90IFZhbGlkYXRlZDE3MDUGA1UEAxMuU3ltYW50ZWMg
Q2xhc3MgMSBJbmRpdmlkdWFsIFN1YnNjcmliZXIgQ0EgLSBHNDAeFw0xNDEyMTgwMDAwMDBa
Fw0xNTEyMTkyMzU5NTlaMIHOMS4wLAYDVQQDDCVQZXJzb25hIE5vdCBWYWxpZGF0ZWQgLSAx
NDE4ODgyMzg2MTAyMSswKQYJKoZIhvcNAQkBFhxqYWx0bWFuQHlvdXItZmlsZS1zeXN0ZW0u
Y29tMQ8wDQYDVQQLDAZTL01JTUUxHjAcBgNVBAsMFVBlcnNvbmEgTm90IFZhbGlkYXRlZDEf
MB0GA1UECwwWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEdMBsGA1UECgwUU3ltYW50ZWMgQ29y
cG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCteTFLbuPm2vx85lH2
Y6LHdMIqcKQPN9m4XYVTe0L8ZvMvnJ1YQ720ET52CF18RYdTc4to92+ffdmjWlBedK4YtLam
htsUkJ6WL3krwNVTYfeej0wgF9kVQ2FI8XTNngxnJ2CRkQX4Z9/1TI4wTkSNcAw5T0Y2HKM9
4p7wAJOefl+3oPwxXn338w8T7LsfwS9FOADZ8uRItv/J7S8BJEP0XtjZZlBoSyqQ4qxl5PtI
uybHVdwoo2PlK8LxU6r8Vcje1+OXmc5VoCBlXiYDWHl/wSDtZEWR6431/az1Z45n1AHHber2
G+Ijb0nF4RLiiFMkyJl3qx+46wqcqWrjrRxDAgMBAAGjggMRMIIDDTAMBgNVHRMBAf8EAjAA
MA4GA1UdDwEB/wQEAwIFoDAgBgNVHSUBAf8EFjAUBggrBgEFBQcDBAYIKwYBBQUHAwIwHQYD
VR0OBBYEFBUlv/9jizZz4uwaFtPzwdX6FsqwMCcGA1UdEQQgMB6BHGphbHRtYW5AeW91ci1m
aWxlLXN5c3RlbS5jb20wHwYDVR0jBBgwFoAUrfnDk3IttbkoYeSk12DVxApeGgEwggErBggr
BgEFBQcBAQSCAR0wggEZMIIBFQYIKwYBBQUHMAKGggEHbGRhcDovL2RpcmVjdG9yeS52ZXJp
c2lnbi5jb20vQ04lMjAlM0QlMjBTeW1hbnRlYyUyMENsYXNzJTIwMSUyMEluZGl2aWR1YWwl
MjBTdWJzY3JpYmVyJTIwQ0ElMjAtJTIwRzQlMkMlMjBPVSUyMCUzRCUyMFBlcnNvbmElMjBO
b3QlMjBWYWxpZGF0ZWQlMkMlMjBPVSUyMCUzRCUyMFN5bWFudGVjJTIwVHJ1c3QlMjBOZXR3
b3JrJTJDJTIwTyUyMCUzRCUyMFN5bWFudGVjJTIwQ29ycG9yYXRpb24lMkMlMjBDJTIwJTNE
JTIwVVM/Y0FDZXJ0aWZpY2F0ZTtiaW5hcnkwXQYDVR0fBFYwVDBSoFCgToZMaHR0cDovL3Br
aS1jcmwuc3ltYXV0aC5jb20vY2FfNTYxYzEwMzY5MGM5N2E2OTI0N2EwZWYwNzFhYzgxYWYv
TGF0ZXN0Q1JMLmNybDBsBgNVHSAEZTBjMGEGC2CGSAGG+EUBBxcBMFIwJgYIKwYBBQUHAgEW
Gmh0dHA6Ly93d3cuc3ltYXV0aC5jb20vY3BzMCgGCCsGAQUFBwICMBwaGmh0dHA6Ly93d3cu
c3ltYXV0aC5jb20vcnBhMCsGCmCGSAGG+EUBEAMEHTAbBhJghkgBhvhFARABAgIEAYbHzm8W
BTEwOTIyMDkGCmCGSAGG+EUBEAUEKzApAgEAFiRhSFIwY0hNNkx5OXdhMmt0Y21FdWMzbHRZ
WFYwYUM1amIyMD0wDQYJKoZIhvcNAQEFBQADggEBAJIvoMatM56/QjaVAlEUbeWZNOPkwuiC
gaaekWJi1h33fAVfdF+WZqh7dF4hBNalyPuxRcyZX7HxuPyBc3ajDCqew9MlmCJ3Cm4Co3fZ
Yh50OX4jnem2RmpHeKbJW6zUjZcAGqV6DPMl04kgrI2whJX7729HoRyUPwZS7CZSRFZO147X
2+/JogDYKffa/+q5AwgrHYvdECHxc3Iz9KnHSmit+DhWS9t+XxE0gHr3sW7zwcQ/GYyrJ3s3
VdWHTjM+3iGFeTOI06h1aBgFR/+8fTmuZXZz9+OdWVar0Crt9bn0cFN3u00Q6YAyjYhRnbXy
zYVIOS4oJmRoK79p/xodeDUxggRSMIIETgIBATCBuzCBpjELMAkGA1UEBhMCVVMxHTAbBgNV
BAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3
b3JrMR4wHAYDVQQLExVQZXJzb25hIE5vdCBWYWxpZGF0ZWQxNzA1BgNVBAMTLlN5bWFudGVj
IENsYXNzIDEgSW5kaXZpZHVhbCBTdWJzY3JpYmVyIENBIC0gRzQCEBbEMEm4oBwlVrtv5MmH
C8QwCQYFKw4DAhoFAKCCAmswGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0B
CQUxDxcNMTUwNDA0MDUwMzQwWjAjBgkqhkiG9w0BCQQxFgQUH4F+1SRm0bCPP6tjNvoYj1fh
618wbAYJKoZIhvcNAQkPMV8wXTALBglghkgBZQMEASowCwYJYIZIAWUDBAECMAoGCCqGSIb3
DQMHMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0D
AgIBKDCBzAYJKwYBBAGCNxAEMYG+MIG7MIGmMQswCQYDVQQGEwJVUzEdMBsGA1UEChMUU3lt
YW50ZWMgQ29ycG9yYXRpb24xHzAdBgNVBAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxHjAc
BgNVBAsTFVBlcnNvbmEgTm90IFZhbGlkYXRlZDE3MDUGA1UEAxMuU3ltYW50ZWMgQ2xhc3Mg
MSBJbmRpdmlkdWFsIFN1YnNjcmliZXIgQ0EgLSBHNAIQFsQwSbigHCVWu2/kyYcLxDCBzgYL
KoZIhvcNAQkQAgsxgb6ggbswgaYxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBD
b3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEeMBwGA1UECxMV
UGVyc29uYSBOb3QgVmFsaWRhdGVkMTcwNQYDVQQDEy5TeW1hbnRlYyBDbGFzcyAxIEluZGl2
aWR1YWwgU3Vic2NyaWJlciBDQSAtIEc0AhAWxDBJuKAcJVa7b+TJhwvEMA0GCSqGSIb3DQEB
AQUABIIBAA/LdoeV8iW/hxVnOQR9xwZ8THCK4fCpoGAZaq+A2G74d6kIAmxWd/WsbTFAM/xI
OqSEo6IvxiTGUcZO1PFkCNyWYvGDQUzCYso/eg442HqM1pz/Kk3zpNWw9uX5Y855znDEy2+5
8Hc6QDJHTvD+NarAiJ0Vsg7Xs0iWiFzYm0ny3g7wqocEstlzCIurdd+u1Qf2J/Ywzxq6l4ch
GC3EWy0UE4+3exd+2xSK2QJtHZheiHkJGeFsq50AdVxOL1wFUOL/+0/+W5MtQFkEGO4if1+0
Fm+hYYEUnkLNp7TkFgMaG/pY8OuqL4Lhac4RvTxshHBHgNZJZZrSsXmYYwv4De0AAAAAAAA=
--------------ms070109090107080301020800--