Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро .NET
»
PAdES - TSP - 1.2.840.113549.1.9.16.1.4 - изменение даты в подписи
Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.07.2014(UTC) Сообщений: 108  Откуда: Москва Сказал(а) «Спасибо»: 25 раз
|
Добрый день. Я сейчас занимаюсь подписыванием PDF-документов по стандарту CADES_X_LONG_TYPE_1 на C# с использованием "КриптоПро". Все получается - документы подписываются и подписи проверяются (спасибо за хороший пример на этом форуме как все это можно сделать). Сейчас, в рамках тестирования, мне надо изобразить что-то вроде "хакерской атаки на подпись". Что я сделал - нашел в уже сформированной подписи ответ TSP: id-ct-TSTInfo (OID: 1.2.840.113549.1.9.16.1.4) и изменил в нем "genTime" (буквально один байт - структура ASN1 осталась абсолютно корректной - вьюверы на неё не ругаются). Было: "2014-07-22T07:42:04Z", стало "2014-01-22T07:42:04Z". После чего попытался проверить эту "испорченную" подпись при помощи вызова:
... csd.VerifyCades(signature, CADESCOM_CADES_TYPE.CADESCOM_CADES_X_LONG_TYPE_1, true); ...
--- к моему удивлению проверка прошла, подпись была признана правильной. Может я что-то не так понимаю? Так и задумывалось, что "genTime" из ответа TSP можно изменять как угодно и проверка на CADES_X_LONG_TYPE_1 будет проходить?
Я прикреплю "измененную" подпись к этому сообщению (изменен байт по смещению 9412). Вообще говоря, OID 1.2.840.113549.1.9.16.1.4 встречается три раза в подписи, получаемой при помощи "EnhanceCades", и в двух местах есть "genTime". Я пробовал менять в обоих - результат подпись валидна.
С уважением, Константин Ткачук.
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.07.2014(UTC) Сообщений: 108  Откуда: Москва Сказал(а) «Спасибо»: 25 раз
|
вот подпись в base64 (пришлось пересоздавть, была дата "2014-07-22T10:12:03Z", стала "2014-01-22T10:12:03Z" - изменен один байт по смещению 9412):
MIIxuQYJKoZIhvcNAQcCoIIxqjCCMaYCAQExDDAKBgYqhQMCAgkFADALBgkqhkiG9w0BBwGgggVE MIICQzCCAfCgAwIBAgIQaYQDKGqmWbpGNWItSd5f0zAKBgYqhQMCAgMFADBlMSAwHgYJKoZIhvcN AQkBFhFpbmZvQGNyeXB0b3Byby5ydTELMAkGA1UEBhMCUlUxEzARBgNVBAoTCkNSWVBUTy1QUk8x HzAdBgNVBAMTFlRlc3QgQ2VudGVyIENSWVBUTy1QUk8wHhcNMDkwNDA3MTIwMjE1WhcNMTQxMDA0 MDcwOTQxWjBlMSAwHgYJKoZIhvcNAQkBFhFpbmZvQGNyeXB0b3Byby5ydTELMAkGA1UEBhMCUlUx EzARBgNVBAoTCkNSWVBUTy1QUk8xHzAdBgNVBAMTFlRlc3QgQ2VudGVyIENSWVBUTy1QUk8wYzAc BgYqhQMCAhMwEgYHKoUDAgIjAQYHKoUDAgIeAQNDAARAAuT/0ab2nICa2ux/SnjBzC3T5Zbqy+0i MnmyAuLGfDXmdGQbCXcRjGc/D9DoI6Z+bTt/xMQo/SscaAEgoFzYeaN4MHYwCwYDVR0PBAQDAgHG MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFG2PXgXZX6yRF5QelZoFMDg3ehAqMBIGCSsGAQQB gjcVAQQFAgMCAAIwIwYJKwYBBAGCNxUCBBYEFHrJxwnbIByWlC/8Rq1tk9BeaRIOMAoGBiqFAwIC AwUAA0EAWHPSk7xjIbEOc3Lu8XK1G4u7yTsIu0xa8uGlNU+ZxNVSUnAm3a7QqSfptlt9b0T9Jk39 oWN0XHTYSXMKd3djTTCCAvkwggKooAMCAQICCiM8+wsAAgAIoBIwCAYGKoUDAgIDMGUxIDAeBgkq hkiG9w0BCQEWEWluZm9AY3J5cHRvcHJvLnJ1MQswCQYDVQQGEwJSVTETMBEGA1UEChMKQ1JZUFRP LVBSTzEfMB0GA1UEAxMWVGVzdCBDZW50ZXIgQ1JZUFRPLVBSTzAeFw0xNDA3MTAwODEyNDFaFw0x NDEwMDQwNzA5NDFaMDgxCzAJBgNVBAYTAlJVMRIwEAYDVQQKDAlDcnlwdG9Qcm8xFTATBgNVBAMM DFRlc3RVc2VyTmFtZTBjMBwGBiqFAwICEzASBgcqhQMCAiQABgcqhQMCAh4BA0MABEAmD4idCyB5 Kv6mVYAtvyI6XCzcKf6JAlc9UWY07vqQxEJIipfIX4tUnvioQIkh4TG8tPzNjs5El29LwMdzOf8N o4IBYzCCAV8wEwYDVR0lBAwwCgYIKwYBBQUHAwIwDgYDVR0PAQH/BAQDAgTwMB0GA1UdDgQWBBQO KrDpOv97IxpbuI3Mln1ofTnx2jAfBgNVHSMEGDAWgBRtj14F2V+skReUHpWaBTA4N3oQKjBVBgNV HR8ETjBMMEqgSKBGhkRodHRwOi8vd3d3LmNyeXB0b3Byby5ydS9DZXJ0RW5yb2xsL1Rlc3QlMjBD ZW50ZXIlMjBDUllQVE8tUFJPKDIpLmNybDCBoAYIKwYBBQUHAQEEgZMwgZAwMwYIKwYBBQUHMAGG J2h0dHA6Ly93d3cuY3J5cHRvcHJvLnJ1L29jc3BuYy9vY3NwLnNyZjBZBggrBgEFBQcwAoZNaHR0 cDovL3d3dy5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC9wa2ktc2l0ZV9UZXN0JTIwQ2VudGVyJTIw Q1JZUFRPLVBSTygyKS5jcnQwCAYGKoUDAgIDA0EAbmIOKl5SK4rLjKx2CGRJjuiVgotU2/z5lYyy UfAOROI5GKJZJTG5g6O7614wlFOlcjEuRJsvHedg136sW3n6tDGCLDwwgiw4AgEBMHMwZTEgMB4G CSqGSIb3DQEJARYRaW5mb0BjcnlwdG9wcm8ucnUxCzAJBgNVBAYTAlJVMRMwEQYDVQQKEwpDUllQ VE8tUFJPMR8wHQYDVQQDExZUZXN0IENlbnRlciBDUllQVE8tUFJPAgojPPsLAAIACKASMAoGBiqF AwICCQUAoIIBDDAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMC8GCSqGSIb3DQEJBDEiBCD7b5TS TBUz3nCwFqZTAuUAQ0UP5A6r5pbbeilZLkwjqzCBvgYLKoZIhvcNAQkQAi8xga4wgaswgagwgaUw CAYGKoUDAgIJBCDUI+rnjFeENKdT6n6/Sd6Jq2zS1Ei5pKpXqLknPMLmfTB3MGmkZzBlMSAwHgYJ KoZIhvcNAQkBFhFpbmZvQGNyeXB0b3Byby5ydTELMAkGA1UEBhMCUlUxEzARBgNVBAoTCkNSWVBU Ty1QUk8xHzAdBgNVBAMTFlRlc3QgQ2VudGVyIENSWVBUTy1QUk8CCiM8+wsAAgAIoBIwCgYGKoUD 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 DDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCBsAwHQYDVR0OBBYEFMqa5qm832sGW+AVaDkzr+vm LL/zMIGeBgNVHSMEgZYwgZOAFG2PXgXZX6yRF5QelZoFMDg3ehAqoWmkZzBlMSAwHgYJKoZIhvcN AQkBFhFpbmZvQGNyeXB0b3Byby5ydTELMAkGA1UEBhMCUlUxEzARBgNVBAoTCkNSWVBUTy1QUk8x HzAdBgNVBAMTFlRlc3QgQ2VudGVyIENSWVBUTy1QUk+CEGmEAyhqplm6RjViLUneX9MwXAYDVR0f BFUwUzBRoE+gTYZLaHR0cDovL3d3dy5jcnlwdG9wcm8ucnUvcmEvY2RwLzZkOGY1ZTA1ZDk1ZmFj OTExNzk0MWU5NTlhMDUzMDM4Mzc3YTEwMmEuY3JsMIHTBggrBgEFBQcBAQSBxjCBwzAzBggrBgEF BQcwAYYnaHR0cDovL3d3dy5jcnlwdG9wcm8ucnUvb2NzcG5jL29jc3Auc3JmMDEGCCsGAQUFBzAB hiVodHRwOi8vd3d3LmNyeXB0b3Byby5ydS9vY3NwL29jc3Auc3JmMFkGCCsGAQUFBzAChk1odHRw Oi8vd3d3LmNyeXB0b3Byby5ydS9jZXJ0ZW5yb2xsL3BraS1zaXRlX1Rlc3QlMjBDZW50ZXIlMjBD UllQVE8tUFJPKDIpLmNydDArBgNVHRAEJDAigA8yMDEzMDgxOTEwNTcwMFqBDzIwMTQxMTE5MTA1 NzAwWjAdBgNVHSAEFjAUMAgGBiqFA2RxATAIBgYqhQNkcQIwNAYFKoUDZG8EKwwp0JrRgNC40L/R gtC+0J/RgNC+IENTUCAo0LLQtdGA0YHQuNGPIDMuNikwggEzBgUqhQNkcASCASgwggEkDCsi0JrR gNC40L/RgtC+0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjRjyAzLjYpDFMi0KPQtNC+0YHRgtC+0LLQ tdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAICLQmtGA0LjQv9GC0L7Qn9GA0L4g0KPQpiIg0LLQtdGA 0YHQuNC4IDEuNQxP0KHQtdGA0YLQuNGE0LjQutCw0YIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNGP IOKEliDQodCkLzEyMS0xODU5INC+0YIgMTcuMDYuMjAxMgxP0KHQtdGA0YLQuNGE0LjQutCw0YIg 0YHQvtC+0YLQstC10YLRgdGC0LLQuNGPIOKEliDQodCkLzEyOC0xODIyINC+0YIgMDEuMDYuMjAx MjAIBgYqhQMCAgMDQQAlSZ0zitCJuRQ0rW7To5MIgXfIdQWTCoCv58i6L6kWlH5Kjq7pKaA+Wgzo VHNZFNHvn+UmojVh95v1r+/YYlcNMYICkzCCAo8CAQEwczBlMSAwHgYJKoZIhvcNAQkBFhFpbmZv QGNyeXB0b3Byby5ydTELMAkGA1UEBhMCUlUxEzARBgNVBAoTCkNSWVBUTy1QUk8xHzAdBgNVBAMT FlRlc3QgQ2VudGVyIENSWVBUTy1QUk8CCmEUFzAAAgACkgkwCgYGKoUDAgIJBQCgggG5MBoGCSqG SIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgOgA1xqjAJj+tsDf8CPnduHlu dQGLZJEvABON23nYvAkwgagGCyqGSIb3DQEJEAIMMYGYMIGVMIGSMIGPBBSwFH+OVosgDZS2h+XC att5wBXnjDB3MGmkZzBlMSAwHgYJKoZIhvcNAQkBFhFpbmZvQGNyeXB0b3Byby5ydTELMAkGA1UE BhMCUlUxEzARBgNVBAoTCkNSWVBUTy1QUk8xHzAdBgNVBAMTFlRlc3QgQ2VudGVyIENSWVBUTy1Q Uk8CCmEUFzAAAgACkgkwgb4GCyqGSIb3DQEJEAIvMYGuMIGrMIGoMIGlMAgGBiqFAwICCQQgHNjG RRNZn6QU8QzZfdK6KViOXUyDKTklEh6ErU7JZaQwdzBppGcwZTEgMB4GCSqGSIb3DQEJARYRaW5m b0BjcnlwdG9wcm8ucnUxCzAJBgNVBAYTAlJVMRMwEQYDVQQKEwpDUllQVE8tUFJPMR8wHQYDVQQD ExZUZXN0IENlbnRlciBDUllQVE8tUFJPAgphFBcwAAIAApIJMAoGBiqFAwICEwUABEDK8dlQPU9U t3qw5/FLKxD2YY0txN3JhDSC+frTY71iBvsKhznsqiIziwIESamEJLeAypCn09VbeiNE0r2PIs+7 MIILoAYLKoZIhvcNAQkQAhcxgguPMIILizCCAvkwggKooAMCAQICCiM8+wsAAgAIoBIwCAYGKoUD AgIDMGUxIDAeBgkqhkiG9w0BCQEWEWluZm9AY3J5cHRvcHJvLnJ1MQswCQYDVQQGEwJSVTETMBEG A1UEChMKQ1JZUFRPLVBSTzEfMB0GA1UEAxMWVGVzdCBDZW50ZXIgQ1JZUFRPLVBSTzAeFw0xNDA3 MTAwODEyNDFaFw0xNDEwMDQwNzA5NDFaMDgxCzAJBgNVBAYTAlJVMRIwEAYDVQQKDAlDcnlwdG9Q cm8xFTATBgNVBAMMDFRlc3RVc2VyTmFtZTBjMBwGBiqFAwICEzASBgcqhQMCAiQABgcqhQMCAh4B A0MABEAmD4idCyB5Kv6mVYAtvyI6XCzcKf6JAlc9UWY07vqQxEJIipfIX4tUnvioQIkh4TG8tPzN js5El29LwMdzOf8No4IBYzCCAV8wEwYDVR0lBAwwCgYIKwYBBQUHAwIwDgYDVR0PAQH/BAQDAgTw MB0GA1UdDgQWBBQOKrDpOv97IxpbuI3Mln1ofTnx2jAfBgNVHSMEGDAWgBRtj14F2V+skReUHpWa BTA4N3oQKjBVBgNVHR8ETjBMMEqgSKBGhkRodHRwOi8vd3d3LmNyeXB0b3Byby5ydS9DZXJ0RW5y b2xsL1Rlc3QlMjBDZW50ZXIlMjBDUllQVE8tUFJPKDIpLmNybDCBoAYIKwYBBQUHAQEEgZMwgZAw MwYIKwYBBQUHMAGGJ2h0dHA6Ly93d3cuY3J5cHRvcHJvLnJ1L29jc3BuYy9vY3NwLnNyZjBZBggr BgEFBQcwAoZNaHR0cDovL3d3dy5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC9wa2ktc2l0ZV9UZXN0 JTIwQ2VudGVyJTIwQ1JZUFRPLVBSTygyKS5jcnQwCAYGKoUDAgIDA0EAbmIOKl5SK4rLjKx2CGRJ juiVgotU2/z5lYyyUfAOROI5GKJZJTG5g6O7614wlFOlcjEuRJsvHedg136sW3n6tDCCAkMwggHw oAMCAQICEGmEAyhqplm6RjViLUneX9MwCgYGKoUDAgIDBQAwZTEgMB4GCSqGSIb3DQEJARYRaW5m b0BjcnlwdG9wcm8ucnUxCzAJBgNVBAYTAlJVMRMwEQYDVQQKEwpDUllQVE8tUFJPMR8wHQYDVQQD ExZUZXN0IENlbnRlciBDUllQVE8tUFJPMB4XDTA5MDQwNzEyMDIxNVoXDTE0MTAwNDA3MDk0MVow ZTEgMB4GCSqGSIb3DQEJARYRaW5mb0BjcnlwdG9wcm8ucnUxCzAJBgNVBAYTAlJVMRMwEQYDVQQK EwpDUllQVE8tUFJPMR8wHQYDVQQDExZUZXN0IENlbnRlciBDUllQVE8tUFJPMGMwHAYGKoUDAgIT MBIGByqFAwICIwEGByqFAwICHgEDQwAEQALk/9Gm9pyAmtrsf0p4wcwt0+WW6svtIjJ5sgLixnw1 5nRkGwl3EYxnPw/Q6COmfm07f8TEKP0rHGgBIKBc2HmjeDB2MAsGA1UdDwQEAwIBxjAPBgNVHRMB Af8EBTADAQH/MB0GA1UdDgQWBBRtj14F2V+skReUHpWaBTA4N3oQKjASBgkrBgEEAYI3FQEEBQID AgACMCMGCSsGAQQBgjcVAgQWBBR6yccJ2yAclpQv/EatbZPQXmkSDjAKBgYqhQMCAgMFAANBAFhz 0pO8YyGxDnNy7vFytRuLu8k7CLtMWvLhpTVPmcTVUlJwJt2u0Kkn6bZbfW9E/SZN/aFjdFx02Elz Cnd3Y00wggZDMIIF8qADAgECAgphKpDKAAIAApILMAgGBiqFAwICAzBlMSAwHgYJKoZIhvcNAQkB FhFpbmZvQGNyeXB0b3Byby5ydTELMAkGA1UEBhMCUlUxEzARBgNVBAoTCkNSWVBUTy1QUk8xHzAd BgNVBAMTFlRlc3QgQ2VudGVyIENSWVBUTy1QUk8wHhcNMTMwODE5MTEyMTAwWhcNMTQxMDA0MDcw OTAwWjCCAcUxGjAYBggqhQMDgQMBARIMMDA3NzEyMzQ1Njc4MSYwJAYDVQQDDB1EZW1vIE9DU1Ag T3BlcmF0b3IgKG5vIGNoZWNrKTEsMCoGA1UECwwj0J7RgtC00LXQuyDRgtC10YHRgtC40YDQvtCy 0LDQvdC40Y8xJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxJDAiBgNVBAwM G9Ci0LXRgdGC0LjRgNC+0LLRidC40LogT0NTUDEWMBQGBSqFA2QDEgsxMjM0NTY3ODkwMTEiMCAG A1UEKgwZ0KLQtdGB0YIg0KLQtdGB0YLQvtCy0LjRhzEVMBMGA1UEBAwM0KLQtdGB0YLQtdGAMRgw FgYFKoUDZAESDTEwMDc3MTIzNDU2NzgxMDAuBgNVBAkMJ9GD0LsuINCh0YPRidGR0LLRgdC60LjQ uSDQstCw0LssINC0LiAxODEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMRwwGgYDVQQIDBM3NyDQsy4g 0JzQvtGB0LrQstCwMQswCQYDVQQGEwJSVTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBjcnlwdG9w cm8ucnUwYzAcBgYqhQMCAhMwEgYHKoUDAgIjAQYHKoUDAgIeAQNDAARA5x0y2mTxnUVnOUGu37lU j1zsbwsOv5jEzJ7E/C5l/BbJC42mvc8pMEIsN0OAARd4bELopjxrZAn6dpPxz+vrh6OCAx4wggMa MBMGA1UdJQQMMAoGCCsGAQUFBwMJMA4GA1UdDwEB/wQEAwIGwDAdBgNVHQ4EFgQU6G9WqiERlWW9 2tz4tIfCVZCjJO8wgZ4GA1UdIwSBljCBk4AUbY9eBdlfrJEXlB6VmgUwODd6ECqhaaRnMGUxIDAe BgkqhkiG9w0BCQEWEWluZm9AY3J5cHRvcHJvLnJ1MQswCQYDVQQGEwJSVTETMBEGA1UEChMKQ1JZ UFRPLVBSTzEfMB0GA1UEAxMWVGVzdCBDZW50ZXIgQ1JZUFRPLVBST4IQaYQDKGqmWbpGNWItSd5f 0zBpBggrBgEFBQcBAQRdMFswWQYIKwYBBQUHMAKGTWh0dHA6Ly93d3cuY3J5cHRvcHJvLnJ1L2Nl cnRlbnJvbGwvcGtpLXNpdGVfVGVzdCUyMENlbnRlciUyMENSWVBUTy1QUk8oMikuY3J0MCsGA1Ud EAQkMCKADzIwMTMwODE5MTEyMTAwWoEPMjAxNDExMTkxMTIxMDBaMB0GA1UdIAQWMBQwCAYGKoUD ZHEBMAgGBiqFA2RxAjA0BgUqhQNkbwQrDCnQmtGA0LjQv9GC0L7Qn9GA0L4gQ1NQICjQstC10YDR gdC40Y8gMy42KTCCATMGBSqFA2RwBIIBKDCCASQMKyLQmtGA0LjQv9GC0L7Qn9GA0L4gQ1NQIiAo 0LLQtdGA0YHQuNGPIDMuNikMUyLQo9C00L7RgdGC0L7QstC10YDRj9GO0YnQuNC5INGG0LXQvdGC 0YAgItCa0YDQuNC/0YLQvtCf0YDQviDQo9CmIiDQstC10YDRgdC40LggMS41DE/QodC10YDRgtC4 0YTQuNC60LDRgiDRgdC+0L7RgtCy0LXRgtGB0YLQstC40Y8g4oSWINCh0KQvMTIxLTE4NTkg0L7R giAxNy4wNi4yMDEyDE/QodC10YDRgtC40YTQuNC60LDRgiDRgdC+0L7RgtCy0LXRgtGB0YLQstC4 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 UlUxIzAhBgkqhkiG9w0BCQEWFHN1cHBvcnRAY3J5cHRvcHJvLnJ1MGMwHAYGKoUDAgITMBIGByqF AwICIwEGByqFAwICHgEDQwAEQJmoiseI3rkJSrpqOSrEESJ/Z5Ctz9H5B+TEjnV2YlbaHTLgAeR9 3ythobyjPD6+3iOKqw/pbOG7wneAOv9J9USjggPZMIID1TAWBgNVHSUBAf8EDDAKBggrBgEFBQcD CDAOBgNVHQ8BAf8EBAMCBsAwHQYDVR0OBBYEFMqa5qm832sGW+AVaDkzr+vmLL/zMIGeBgNVHSME gZYwgZOAFG2PXgXZX6yRF5QelZoFMDg3ehAqoWmkZzBlMSAwHgYJKoZIhvcNAQkBFhFpbmZvQGNy eXB0b3Byby5ydTELMAkGA1UEBhMCUlUxEzARBgNVBAoTCkNSWVBUTy1QUk8xHzAdBgNVBAMTFlRl c3QgQ2VudGVyIENSWVBUTy1QUk+CEGmEAyhqplm6RjViLUneX9MwXAYDVR0fBFUwUzBRoE+gTYZL aHR0cDovL3d3dy5jcnlwdG9wcm8ucnUvcmEvY2RwLzZkOGY1ZTA1ZDk1ZmFjOTExNzk0MWU5NTlh MDUzMDM4Mzc3YTEwMmEuY3JsMIHTBggrBgEFBQcBAQSBxjCBwzAzBggrBgEFBQcwAYYnaHR0cDov L3d3dy5jcnlwdG9wcm8ucnUvb2NzcG5jL29jc3Auc3JmMDEGCCsGAQUFBzABhiVodHRwOi8vd3d3 LmNyeXB0b3Byby5ydS9vY3NwL29jc3Auc3JmMFkGCCsGAQUFBzAChk1odHRwOi8vd3d3LmNyeXB0 b3Byby5ydS9jZXJ0ZW5yb2xsL3BraS1zaXRlX1Rlc3QlMjBDZW50ZXIlMjBDUllQVE8tUFJPKDIp LmNydDArBgNVHRAEJDAigA8yMDEzMDgxOTEwNTcwMFqBDzIwMTQxMTE5MTA1NzAwWjAdBgNVHSAE FjAUMAgGBiqFA2RxATAIBgYqhQNkcQIwNAYFKoUDZG8EKwwp0JrRgNC40L/RgtC+0J/RgNC+IENT UCAo0LLQtdGA0YHQuNGPIDMuNikwggEzBgUqhQNkcASCASgwggEkDCsi0JrRgNC40L/RgtC+0J/R gNC+IENTUCIgKNCy0LXRgNGB0LjRjyAzLjYpDFMi0KPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQ uSDRhtC10L3RgtGAICLQmtGA0LjQv9GC0L7Qn9GA0L4g0KPQpiIg0LLQtdGA0YHQuNC4IDEuNQxP 0KHQtdGA0YLQuNGE0LjQutCw0YIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNGPIOKEliDQodCkLzEy MS0xODU5INC+0YIgMTcuMDYuMjAxMgxP0KHQtdGA0YLQuNGE0LjQutCw0YIg0YHQvtC+0YLQstC1 0YLRgdGC0LLQuNGPIOKEliDQodCkLzEyOC0xODIyINC+0YIgMDEuMDYuMjAxMjAIBgYqhQMCAgMD QQAlSZ0zitCJuRQ0rW7To5MIgXfIdQWTCoCv58i6L6kWlH5Kjq7pKaA+WgzoVHNZFNHvn+UmojVh 95v1r+/YYlcNMIICQzCCAfCgAwIBAgIQaYQDKGqmWbpGNWItSd5f0zAKBgYqhQMCAgMFADBlMSAw HgYJKoZIhvcNAQkBFhFpbmZvQGNyeXB0b3Byby5ydTELMAkGA1UEBhMCUlUxEzARBgNVBAoTCkNS WVBUTy1QUk8xHzAdBgNVBAMTFlRlc3QgQ2VudGVyIENSWVBUTy1QUk8wHhcNMDkwNDA3MTIwMjE1 WhcNMTQxMDA0MDcwOTQxWjBlMSAwHgYJKoZIhvcNAQkBFhFpbmZvQGNyeXB0b3Byby5ydTELMAkG A1UEBhMCUlUxEzARBgNVBAoTCkNSWVBUTy1QUk8xHzAdBgNVBAMTFlRlc3QgQ2VudGVyIENSWVBU Ty1QUk8wYzAcBgYqhQMCAhMwEgYHKoUDAgIjAQYHKoUDAgIeAQNDAARAAuT/0ab2nICa2ux/SnjB zC3T5Zbqy+0iMnmyAuLGfDXmdGQbCXcRjGc/D9DoI6Z+bTt/xMQo/SscaAEgoFzYeaN4MHYwCwYD VR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFG2PXgXZX6yRF5QelZoFMDg3ehAq MBIGCSsGAQQBgjcVAQQFAgMCAAIwIwYJKwYBBAGCNxUCBBYEFHrJxwnbIByWlC/8Rq1tk9BeaRIO MAoGBiqFAwICAwUAA0EAWHPSk7xjIbEOc3Lu8XK1G4u7yTsIu0xa8uGlNU+ZxNVSUnAm3a7QqSfp tlt9b0T9Jk39oWN0XHTYSXMKd3djTQ==
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 945  Откуда: Крипто-Про Поблагодарили: 116 раз в 105 постах
|
Здравствуйте! Объектный идентификатор "1.2.840.113549.1.9.16.1.4" на MSDN имеет 2 возможных применения: - Timestamp object identifier. szOID_TIMESTAMP_TOKEN "1.2.840.113549.1.9.16.1.4" - Counter signature of a signature. szOID_RFC3161_counterSign "1.2.840.113549.1.9.16.1.4" См. http://msdn.microsoft.co...ws/desktop/aa381133.aspxЕсть такой способ добавления штампа времени в сообщение - добавить его как "заверяющую" подпись. Такой способ широко используется Microsoft, но не используется в стандарте CAdES. Идентификаторы штампов времени, используемые в подписи формата CAdES-X Long Type 1, следующие: id-aa-signatureTimeStampToken OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 14} id-aa-ets-escTimeStamp OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 25} В приложенной вами подписи я не нашла ни одного атрибута со штампом времени в виде "заверяющей" подписи (возможно, просто пропустила). В любом случае, стандартная проверка подписи CAdES-X Long Type 1 не будет проверять такие атрибуты. Если вы хотите добавлять их в свою подпись, то и проверять их нужно отдельно. В целом, имитация "хакерской" атаки должна быть осмысленной. Вы можете добавлять к подписи неподписанные атрибуты и удалять их, не нарушая действительности самой подписи (вы же при этом не затрагиваете подписанное сообщение и подпись). Больше того, процесс "усовершенствования" подписи как раз и подразумевает добавление таких атрибутов.
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.07.2014(UTC) Сообщений: 108  Откуда: Москва Сказал(а) «Спасибо»: 25 раз
|
Добрый день, Елена.
После того как я установил сертификат TSP в LOCAL_MACHINE\Root и включил логирование через реестр - поведение "КриптоПРО" улучшилось - теперь на "неправильную" подпись выдается ошибка "Элемент не найден. (Исключение из HRESULT: 0x80070490)" (ну а правильная проходит валидацию). Вот фрагмент лога, который, видимо, проверяет "genTime":
правильная подпись: ... 00000397 0.27595174 [12236] cades.dll: {12528} /CChainValidationProcess::validateChain/ ChainValidation.h(1142) : #success# 00000398 0.27596864 [12236] cades.dll: {12528} /CadesMsgVerifySignatureImplNamespace::GetEarliestStamp/ cades.cpp(1317) : Stamp certificate verified 00000399 0.27736354 [12236] cades.dll: {12528} /CadesMsgVerifySignatureImplNamespace::GetEarliestStamp/ cades.cpp(1320) : Stamp verified 00000400 0.27813688 [12236] cades.dll: {12528} /CadesUtils::CalculateHash/ cadesutils.h(49) : Hash calculated 00000401 0.27820119 [12236] cades.dll: {12528} /CadesMsgVerifySignatureImplNamespace::GetEarliestStamp/ cades.cpp(1347) : Hash verified 00000402 0.27824765 [12236] cades.dll: {12528} /CadesMsgVerifySignatureImplNamespace::GetEarliestStamp/ cades.cpp(1348) : Stamp time: 20140722122643Z 00000403 0.27832344 [12236] cades.dll: {12528} /CadesMsgVerifySignatureImplNamespace::GetEarliestStamp/ cades.cpp(1363) : Earliest stamp time: 20140722122643Z 00000404 0.27836147 [12236] cades.dll: {12528} /CadesMsgEnhanceSignatureImplNamespace::ExtractSignature/ cades.cpp(531) : Signature extracted via CMSG_ENCRYPTED_DIGEST 00000405 0.27838019 [12236] cades.dll: {12528} /CadesMsgVerifySignatureImplNamespace::GetEarliestStamp/ cades.cpp(1221) : Looking for an earliest valid timestamp 00000406 0.27841851 [12236] cades.dll: {12528} /CadesMsgVerifySignatureImplNamespace::GetEarliestStamp/ cades.cpp(1237) : 1.2.840.113549.1.9.16.2.14 attribute found 00000407 0.27843422 [12236] cades.dll: {12528} /CadesMsgVerifySignatureImplNamespace::GetEarliestStamp/ cades.cpp(1241) : Value #0: 00000408 0.29215756 [12236] cades.dll: {12528} /CadesMsgGetCertificateValues/ cades.cpp(3354) : (hCryptMsg=0x05F6D8B0, dwSignatureIndex=0, ppCertificates=0x0039DE8C) ...
неправильная подпись (с одним измененным байтом): ... 00000397 0.30673698 [13036] cades.dll: {13032} /CChainValidationProcess::validateChain/ ChainValidation.h(1142) : #success# 00000398 0.30676234 [13036] cades.dll: {13032} /CadesMsgVerifySignatureImplNamespace::GetEarliestStamp/ cades.cpp(1317) : Stamp certificate verified 00000399 0.30813429 [13036] cades.dll: {13032} /CadesMsgVerifySignatureImplNamespace::GetEarliestStamp/ cades.cpp(1320) : Stamp verified 00000400 0.30894566 [13036] cades.dll: {13032} /CadesUtils::CalculateHash/ cadesutils.h(49) : Hash calculated 00000401 0.30897707 [13036] cades.dll: {13032} /CadesMsgVerifySignatureImplNamespace::GetEarliestStamp/ cades.cpp(1340) : Hash on data without tag and length encoded doesn't match 00000402 0.30899397 [13036] cades.dll: {13032} /CadesMsgVerifySignatureImplNamespace::GetEarliestStamp/ cades.cpp(1341) : Trying hash on data with tag ang length. 00000403 0.30978784 [13036] cades.dll: {13032} /CadesUtils::CalculateHash/ cadesutils.h(49) : Hash calculated 00000404 0.30984280 [13036] cades.dll: {13032} /CadesMsgVerifySignatureImplNamespace::GetEarliestStamp/ cades.cpp(1361) : No valid time stamps found in signature for attribute 00000405 0.31034598 [13036] cades.dll: {13032} /CadesVerifyDetachedMessage/ cades.cpp(2682) : COleException, m_sc=0x80070490 00000406 0.31037587 [13036] cades.dll: {13032} /CadesVerifyDetachedMessage/ cades.cpp(2694) : (res=0, GetLastError=0x80070490 00000407 0.31040183 [13036] cades.dll: {13032} /CadesFreeVerificationInfo/ cades.cpp(2710) : (pVerificationInfo=0x079F92B8) 00000408 0.31041932 [13036] cades.dll: {13032} /CadesFreeVerificationInfo/ cades.cpp(2738) : (res=1, GetLastError=0x80070490 ...
То есть все-таки "genTime" для TSP проверяется, но видимо существует некие условия когда "КриптоПРО" этого не делает...
С уважением, Константин Ткачук.
|
|
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро .NET
»
PAdES - TSP - 1.2.840.113549.1.9.16.1.4 - изменение даты в подписи
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close