XML�f�W�^��������XML�Í��FWeb�T�[�r�X�̃Z�L�����e�B�i2�j

» 2002�N07��24�� 00��00�� ���J
[��ؗD���C�G���g���X�g�W���p��]

�@�u��1��@Web�T�[�r�X�̃Z�L�����e�B�T�v�v�́AWeb�T�[�r�X�E�Z�L�����e�B�̃t���[�����[�N�̊T�v���q�ׂ��B�����Web�T�[�r�X�E�Z�L�����e�B�̍ł���{�ƂȂ�XML�f�W�^��������XML�Í��ɂ‚��ďq�ׂ�BXML�f�W�^��������XML�Í��͏]����ASN.1�Œ�`���ꂽCMS�����t�H�[�}�b�g��CMS�Í��t�H�[�}�b�g��1�ɔ�ׂ�XML�����Ƃ̐e�a���������A�_��ȏ�����Í������”\�ƂȂ�B

��1 CMS

�Í����b�Z�[�W�\���iCryptographic Message Syntax�FRFC2630�j���߂��W����ASN.1�Œ�`����f�W�^��������Í����b�Z�[�W�̍\�����K�肵�Ă���B


XML�f�W�^������

��XML�f�W�^�������̓���

�@W3C��XML�Ƀf�W�^�������𖄂ߍ��ނ��߂̕W������Ƃ�IETF�Ƃ̃W���C���g�ōs���AXML Digital Signature�W����RFC3075��2���߂��BXML�f�W�^�������́A�����A���S���Y���A�ؖ����⏐���̃^�O���߁A�C�ӂ̃f�[�^�ɑ΂��鏐���̂ق��AXML�����̎w�肵���G�������g��R���e���g�ɑ΂��ď�����t���邱�Ƃ��”\�ɂ��Ă���B

�@XML�f�W�^�������ɂ́A�ȉ��̓���������B

  • �����ΏہA�����A���S���Y���⏐���l����яؖ����Ȃǂ�XML�̕��@�œ��ꂵ�ĕ\���ł���B
  • �f�W�^��������XML�^�O�t������ł���AASN.1�\���ɔ�ׂĕ�����₷���B
  • �C�ӂ̃f�[�^�t�@�C����XML�����̑S�̂����ł͂Ȃ��AXML�����̈ꕔ�ɑ΂��Ă�������t���邱�Ƃ��ł��A���������⑽�d�����Ȃǂ̕��G�ȗv���ɑΉ��ł���B
  • XML�����ŎQ�Ƃ���Í��A���S���Y���Ȃǂ̃I�u�W�F�N�g�̎��ʎq�́AASN.1��OID�iObject Identifier�j���w�肷��̂ɑ΂��āAW3C�ȂǂŒ�߂Ă���URI���Q�Ƃ���B

��2

RFC3075�@XML-Signature Syntax and Processing

http://www.ietf.org/rfc/rfc3075.txt?number=3075

W3C XML Signature WG

http://www.w3.org/Signature/


��XML�����̍\��

�@XML�����́A�w�肵�������Ώۂɑ΂���f�W�^�������ł���B�܂��A�����Ώۂ̃_�C�W�F�X�g�l�i�n�b�V���l�j�����߁A�_�C�W�F�X�g�l���q�v�f�Ƃ���XML�������v�f�ɓ���A����ɂ��̏������v�f�ɑ΂��ă_�C�W�F�X�g�l�Ə����l���v�Z���}������B�Q��URI�Ŏw�肳��鏐���Ώۂ̃f�[�^��XML�����ł������ꍇ�A�_�C�W�F�X�g�l���v�Z����O�ɂ���XML�����̐��K���iCanonicalization�FC14N�j���s���K�v������B�����XML�����ł͓��e�������ł����Ă�XML�\���ɑ}�����ꂽ�󔒕�������s�Ȃǂ��C�ӂɉ����ƕ\�����قȂ�A���ʂƂ��ă_�C�W�F�X�g�l���ς��A�����l���قȂ��Ă��܂�����ł���BXML�����̐��K��������W3C�̃f�W�^���������[�N�O���[�v�iWG�j��IETF�ŕW�������s���Ă���iRFC3076�j�B

�@XML�����ɂ͌����iKeyInfo�j�v�f���w�肷�邱�Ƃ��ł��A�����ɕK�v�Ȃ珐�����،����w�肵�A���̌��J���ؖ����Ƃ���X.509�ؖ����Ȃǂ��������Ƃ��ł���B

�@XML�f�W�^�������͉��L�̂悤��Signature�v�f�Ƃ��ċL�q�����B

�@�����ŁA�g?�h��0�܂���1�A�g+�h��1�܂���1�ȏ�A�g*�h��0�܂���0�ȏ���Ӗ����A��!--xxx--���̕����͊e�v�f�̃R�����g�ł���B

<Signature ID?>�@�@�@�@�@�@�@�@<!-- XML�����v�f -->
�@�@<SignedInfo>�@�@�@�@�@�@�@�@�@�@<!--�������v�f>
�@�@�@�@<CanonicalizationMethod/>�@<!--�����Ώې��K���A���S���Y���v�f-->
�@�@�@�@<SignatureMethod/> �@�@�@�@�@�@<!--�����A���S���Y���v�f-->
�@�@�@�@(<Reference (URI=)? > �@�@�@�@�@<!--�Q�Ɨv�f�iURI�͏����Ώۂ̎��ʎq�j-->
�@�@�@�@�@�@(<Transforms>)? �@�@�@�@�@�@�@ �@<!--���K���ϊ��v���Z�X�v�f-->
�@�@�@�@�@�@<DigestMethod>�@�@�@�@�@�@�@�@�@<!--�_�C�W�F�X�g�v�Z�A���S���Y���v�f-->
�@�@�@�@�@�@<DigestValue>
�@�@�@�@�@�@�@�@�@�@ <!--�����Ώۂ̃_�C�W�F�X�g�l�v�f-->
�@�@�@�@</Reference>)+�@�@�@�@�@�@�@�@�@ <!-- 1�ˆȏ�̎Q�Ɨv�f-->

�@�@</SignedInfo>
�@�@<SignatureValue>�@�@�@�@�@�@�@ <!--�����l�v�f-->
�@�@(<KeyInfo> �@�@�@�@�@�@�@�@�@�@�@ <!--�����v�f�F�I�v�V����-->
�@�@�@�@<KeyValue>�@�@�@�@�@�@�@�@�@�@�@<!--���،��v�f-->
�@�@�@�@<X.509Data>�@�@�@�@�@�@�@�@�@�@ <!-- X.509�ؖ����v�f-->
�@�@ </KeyInfo>)?
�@�@(<Object ID?>)*�@�@�@�@�@�@�@�@<!-- XML�����Ώۗv�f>�F�I�v�V����-->
</Signature>
�}1�@XML�����̍\��

��XML�����̎��

�@XML�����ɂ�URI�Ŏ��������Ώۂ̎w����@�̈Ⴂ�ňȉ��̂悤��3�‚̏����`��������B

  • Detached����
    �����Ώۗv�f�Ə����v�f���Ɨ����������`���isibling elements�j�ł���B
    Detached�����́A�����Ώۃf�[�^�ɔC�ӂ̓d�q�t�@�C���iWord�AExcel�AMPEG�摜�f�[�^�AXML�����Ȃǁj���w�肵�āA�����Ώۃf�[�^��XML���������Ƃ͓Ɨ������O���l�b�g���[�N�⃍�[�J���t�@�C���ɒu�����Ƃ��ł���B�܂�XML��������XML�����v�f��XML�����Ώۗv�f�����ɔz�u�����邱�Ƃ��ł���B
  • Enveloped����
    �����v�f�������Ώۗv�f�̎q�v�f�ƂȂ鏐���`���ł���B
    Enveloped�����͓��������ɕ����l�̏�����t����Ȃǂ̗p�r�ɓK���Ă���B
  • Enveloping����
    �����v�f�������Ώۗv�f�̐e�v�f�ƂȂ鏐���`���ł���B
    Enveloping�����͏����Ώۗv�f���܂����`���ŁA��ẪJ���e�̂悤�ɏ��߂̈�t�����������J���e�ɁA���̈�t���V���������Y���������݂̂ɏ����������Ă����悤�ȗp�r�ɓK���Ă���B
}2@XML̎ �}2�@XML�����̎��

��XML�����̐�������

  • �Q�Ɨv�f�̐���
  • �I���W�i���̏����Ώۂɑ΂��āAXML�ϊ��v���Z�X�v�f�iTransforms element�F���K���ϊ��j��K�p���āA�����Ώۂ𐶐�����B
  • �����Ώۂ̃_�C�W�F�X�g�l���v�Z����B
  • �Q�Ɨv�f�iReference element�j�𐶐�����B�Q�Ɨv�f�͏����Ώێ��ʎqURI�i�I�v�V�����j�AXML���K���ϊ��v���Z�X�v�f�i�I�v�V�����j�A�_�C�W�F�X�g�A���S���Y���v�f�ƃ_�C�W�F�X�g�l�v�f���܂ށB
  • �����v�f�̐���
  • �����A���S���Y���iSignatureMethod�j�A���K���A���S���Y���iCanonicalizationMethod�j�A�Q�Ɨv�f�iReference element�j���w�肵�āA�������v�f�iSignedInfo element�j�𐶐�����B
  • ���K���A���S���Y���ɂ�鐳�K�����s������A�����A���S���Y���Ɋ�Â��āA�������v�f�ɑ΂��鏐���l�iSignatureValue�j���v�Z����B
  • �I�v�V�����Ƃ��ď������؂̂��߂Ɍ����v�f�iKeyInfo�j��������B����ɂ͏������ؗp�̌��J����Base64�ŃG���R�[�h�����l�ƁAX.509�ؖ����Ȃǂ̏��������邱�Ƃ��ł���B
  • �I�v�V�����Ƃ��Ĕ폐���f�[�^�I�u�W�F�N�g�ƂȂ�I�u�W�F�N�g�v�f���w��ł���B�I�u�W�F�N�g�Ƃ��Ă͉摜�f�[�^�Ȃǃo�C�i����Base64�ŃG���R�[�h�������̂�MIME�I�u�W�F�N�g�Ȃǂ̃f�[�^�������w�肷��B
  • �����v�f�iSignature element�j���\������B

��XML�����̌��؏���

�@XML�����̌��؏����ɂ́A�Q�Ɨv�f���؂Ə������؂�2�‚̃X�e�b�v���܂܂��B�Q�Ɨv�f���؂ł́A�������v�f���̊e�Q�Ɨv�f�̃_�C�W�F�X�g�l�����؂���B�������؂ł́A�������v�f�ɑ΂��Čv�Z���ꂽ�Í��������l�����؂���B

�@���ӂ��ׂ��Ȃ̂́AXML�����͐��m�ɋL�q����Ă���ꍇ�ł��A�ꕔ�̏������؃A�v���P�[�V�����ł͌��؂ł��Ȃ����Ƃł���B������XML�f�W�^�������d�l�̃I�v�V��������������A����ȃA���S���Y�����܂܂�A�܂��͓��ʂȎ��ʎq�iURI�j���Q�Ƃ���ꍇ�A�������؃A�v���P�[�V�����͂��̏����ɑΉ��ł��Ȃ����Ƃ�����B

���Q�Ɨv�f�̌���

  • �������v�f�iSignedInfo�j�ɋL�ڂ���鐳�K���ϊ��⏐�����@�ŎQ�Ɨv�fURI�ɂ��w�肳�ꂽ�폐���f�[�^�Ə����l�����ؑΏۂɂȂ�B
  • �������v�f���̊e�Q�Ɨv�f�ɑ΂��āA���L�̎Q�Ɨv�f���؂��s���B
  • �����Ώۂ���肷��B�Ⴆ�΁A�Q�Ɨv�f���̏����Ώێ��ʎqURI���Q�Ƃ��A�I���W�i�������Ώۂ��擾����B�I���W�i�������ɑ΂��āAXML���K���ϊ��v���Z�X�v�fTransforms element��K�p�������ʂ��������ؑΏۂɂȂ�B
  • �Q�Ɨv�f���ɋL�q�����_�C�W�F�X�g�A���S���Y���iDigestMethod�j��p���āA�����Ώۂ̃_�C�W�F�X�g�l���v�Z����B
  • �v�Z���ʂƏ������v�f�iSignedInfo element�j���ɋL�q�����_�C�W�F�X�g�l���r����B�����A��v���Ȃ���΁A���؂͎��s�ƂȂ�B

�������̌���

  • KeyInfo element�܂��͊O�����\�[�X���献�����擾����B
  • �����v�f�iKeyInfo�j�ɂ���A�܂��́A���̂ق��̕��@�Ŏ擾�������J���ؖ����̗L���������؂���B
  • �����A���S���Y���ƌ����̗L���Ȍ��J�����g���āA�����l�𕜍����_�C�W�F�X�g�l�����߂�B
  • ���߂��_�C�W�F�X�g�l�Ə��������̃_�C�W�F�X�g�l���r���A���������؂���B

��XML�����̗�

�@�ȉ���Detached�����̗�������B���K���A���S���Y���A�����A���S���Y���A�Q�Ɨv�f�i�_�C�W�F�X�g�A���S���Y���A�_�C�W�F�X�g�l�j�A�����l����ь����Ȃǂ̗v�f�̎g�p���@��������Ă���B

[s01] <Signature
�@�@�@�@�@�@Id="MyFirstSignature"
�@�@�@�@�@�@xmlns="http://www.w3.org/2000/09/xmldsig#">
[s02] �@<SignedInfo>�@�@�@�@�@�@�@ <!--�������-->
[s03] �@�@<CanonicalizationMethod Algorithm=�@<!--���K���A���S���Y��-->
�@�@�@�@�@�@�@�@"http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
[s04] �@�@<SignatureMethod �@�@�@<!--�����A���S���Y�� DSA-SHA-1-->
�@�@�@�@�@�@�@�@Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1"/> �@
[s05] �@�@<Reference �@�@�@�@�@�@�@<!--�����Ώە��������L��URI���Q��-->
�@�@�@�@�@�@�@�@URI="http://www.w3.org/TR/2000/REC-xhtml1-20000126/">
[s06] �@�@�@<Transforms>
[s07] �@�@�@�@<Transform Algorithm=�@�@�@�@<!--���K���A���S���Y��-->
�@�@�@�@�@�@�@�@�@�@"http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
[s08] �@�@�@</Transforms>
[s09] �@�@�@<DigestMethod�@�@�@�@�@�@<!--�_�C�W�F�X�g�A���S���Y��-->
�@�@�@�@�@�@�@�@Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
[s10] �@�@�@<DigestValue>�@�@�@�@�@�@<!--�����Ώۂ̃_�C�W�F�X�g�l--��
�@�@�@�@�@�@�@�@j6lwx3rvEPO0vKtMup4NbeVu8nk=
�@�@�@�@�@�@�@</DigestValue>
[s11] �@�@</Reference>
[s12] �@</SignedInfo>
[s13] �@<SignatureValue> MC0CFFr... </SignatureValue>�@<!--�����l-->


[s14] �@ <KeyInfo>�@�@�@�@�@�@�@�@�@<!--�������،����-->
[s15a] �@�@<KeyValue>�@�@�@�@�@�@�@�@<!--���J���̒l-->
�@�@�@�@�@�@�@�@<RSA KeyValue>x5fd8jKn</RSA KeyValue>
�@�@�@�@�@�@ </KeyValue>
[s15b] �@�@<X.509Data>�@�@�@�@�@�@<!--X.509�ؖ�����Y�t-->
[s15c]�@�@�@�@<X.509SubjectName>cn=Suzuki,o=Entrust,c=JP</X.509SubjectName>
[s15d]�@�@�@�@<X.509Certificate>hy56Fd9XjKKu93m</X.509Certificate>
[s15e] �@�@</X.509Data>
[s16] �@ </KeyInfo>

[s17] </Signature>
�}3�@XML�����̗�
  • [s02�`12]�F���ۂ̏����ΏۂƂȂ鏐�����v�f�iSignedInfo element�j�B
    �������؂ɂ͏������v�f�ɑ΂��鏐���l�̌��؁A�������v�f���̊e�Q�Ɨv�f�_�C�W�F�X�g�l�̌��؂Ƃ���2�‚̌��؃v���Z�X���K�v�ł���B�����l���̂��̂͏������v�f�O�ɑ��݂���̂ɑ΂��āA�����l���v�Z���邽�߂̃A���S���Y���͏������v�f�Ɋ܂܂��B
  • [s03]�F�������v�f�̐��K���ɗp������A���S���Y�����L�q���鐳�K�����\�b�h�v�f�iCanonicalizationMethod element�j�B
    �������v�f�̃_�C�W�F�X�g�l���v�Z����O�ɁA���̐��K���A���S���Y�����g���āA�������v�f�iSignedInfo element�j�𐳋K������B
  • [s04]�F���K�����ꂽ�������v�f�iSignedInfo element�j���珐���l���v�Z����̂ɗp������A���S���Y�����L�q���鏐�����\�b�h�v�f(SignatureMethod element)�B
    �A���S���Y���̓_�C�W�F�X�g�A���S���Y���A���ˑ��A���S���Y������т��̂ق��̃A���S���Y���i��RSA-SHA1�j�̏W���ł���B�A�v���P�[�V�����̌݊��������߂邽�߂ɁAW3C��XML�����A�v���P�[�V�����̎����ɕK�{�ȃA���S���Y���A���E�A���S���Y���A�I�v�V�����̃A���S���Y������у��[�U�[����A���S���Y���̎d�l���K�肵�Ă���B
  • [s05�`11]�F�����Ώۂ̎Q�ƁA�_�C�W�F�X�g�A���S���Y���ƃ_�C�W�F�X�g�l���L�q����Q�Ɨv�f�iReference element�j�B
  • [s05]�F�Q�Ɨv�f��URI�����i�I�v�V�����j�Ƃ��āA�����Ώۂ̎Q��URI���L�q����B
  • [s06�`08]�F�����Ώۂ̃_�C�W�F�X�g�l���v�Z����O�ɁA�I���W�i���̏����Ώۂ̏����v���Z�X���L�q����ϊ��v���Z�X�v�f�i�I�v�V�����j�B
    �I���W�i���̏����Ώۂ̐��K���A�G���R�[�h�^�f�R�[�h�AXSLT�AXPath�Ȃǂ̃I�y���[�V�����d�l�͕ϊ��v���Z�X�v�f���ɋL�q�����B���̗v�f���L�q���Ȃ��ꍇ�A�I���W�i���̏����Ώۂɑ΂��Ē��ڃ_�C�W�F�X�g�l���v�Z���邱�ƂɂȂ�B
  • [s09]�F�����Ώۂ̕ϊ��v���Z�X�v�f�̓K�p��ɁA�_�C�W�F�X�g�l���v�Z����A���S���Y�����L�q����v�f�iDigestMethod element�j�B
  • [s10]�F�_�C�W�F�X�g�A���S���Y���Ɋ�Â��Čv�Z����鏐���Ώۂ̃_�C�W�F�X�g�l���L�q����v�f�iDigestValue element�j
  • [s14�`16]�F���������؂���ۂɎg���錮�̏����L�q����v�f�iKeyInfo elment�j�B
    ���̖��O�A���̒l�AX.509�ؖ����Ȃǂ̋L�q���������Ɋ܂܂��B�@

XML��

��XML�Í��̓���

�@XML�Í���W3C��3�ōŏI�I�Ȋ����Ƃ��Ă܂Ƃ߂��Ă�����̂ł���BXML�Í���XML�����Ɠ��l��ASN.1�̃t�@�C���x�[�X�̈Í����ɔ�ׂď_��ȗ��p���”\�ł���BXML�Í��̈Í����Ώۂ͔C�ӂ̃f�[�^�i��XML���܂ށj�̈Í����΂���ł͂Ȃ��A�C�ӂ�XML�̗v�f��R���e���g�̈Í������”\�ł���B�t�@�C���x�[�X�̈Í����̏ꍇ�ɂ́A�������s��Ȃ���Γ��e�ɉ���������Ă��邩������Ȃ����AXML�̗v�f���x���̈Í����ɂ���ĕ����̒��̖{���ɔ铽���ׂ������݂̂��Í������邱�Ƃ��”\�ŁA���̂ق��̕����͉“ǐ����ێ��ł���B����͗Ⴆ�΁A�������ȂǂŖ{���Ƀv���C�o�V�[�̕ی삪�K�v�ȃN���W�b�g�ԍ��̓��͗v�f�����݂̂�铽����Ȃǂ̗��p���”\�ɂȂ�B

�@XML�Í��́AXML�����Ɠ��l�Ɉȉ��̓���������B

  • �Í��ΏہA�Í��A���S���Y���⏐���l����яؖ����Ȃǂ�XML�̕��@�œ��ꂵ�ĕ\���ł���B
  • �Í��\����XML�^�O�t���ł���AASN.1�\���ɔ�ׂĕ�����₷���B
  • �C�ӂ̃f�[�^�t�@�C����XML�����̑S�̂����ł͂Ȃ��AXML�����̈ꕔ�ɑ΂��Ă̈Í������ł��A���l�Ȍ`���̈Í������̍쐬�ɏ_��ɑΉ��ł���B
  • XML�Í��ŎQ�Ƃ���Í��A���S���Y���Ȃǂ̃I�u�W�F�N�g�̎��ʎq�́AASN.1��OID�iObject Identifier�j���w�肷��̂ɑ΂��āAW3C�ȂǂŒ�߂Ă���URI���Q�Ƃ���B

��3 W3C XML Encryption WG http://www.w3.org/Encryption/2001/


��XML�Í��̍\��

�@XML�Í��̍\�����}4�Ɏ����悤��EncryptedData�Ŏw�肳���B

  • EncryptionMethod�͈Í��������w�肷����̂ŁA3DES-CBC��AES128-CBC�Ȃǂ̋��ʌ��A���S���Y�����w�肷��B
  • ds:KeyInfo��XML�����Œ�߂��������w�肷����̂ŁA�q�v�f��EncryptedKey�ŋ��ʌ������J���ňÍ����������f�[�^���w�肷��B�����Č��̖��́i���̏��L�Җ��j���w�肷��B
  • CipherData�v�f�ł͋��ʌ��ňÍ��������f�[�^��CipherValue�v�f��base64�ŃG���R�[�h�����l���u�����B
<EncryptedData Id? Type?>�@�@<!--���f�[�^�v�f-->
�@�@<EncryptionMethod/>?�@�@�@�@�@�@�@<!--�Í������A3DES��AES�Ȃǂ��w��-->
�@�@�i<ds:KeyInfo>�@�@�@�@�@�@�@�@�@�@�@�@ <!--XML�����i�����j�Ɠ��������v�f-->
�@�@�@�@<EncryptedKey>?�@�@�@�@�@�@�@�@ �@�@<!--���J���ňÍ����������ʌ��v�f-->
�@�@�@�@<ds:KeyName>?�@�@�@�@�@�@�@�@�@�@�@ <!--���̖��́i���̏��L�Җ��j-->
�@�@�@�@<ds:RetrievalMethod>?�@�@�@�@�@�@�@<!--�����̌������@�v�f-->
�@�@</ds:KeyInfo>�j?�@�@�@�@�@�@�@�@�@�@�@<!--�����v�f�F�I�v�V����-->

�@�@<CipherData>�@�@�@�@�@�@�@�@�@�@�@�@ <!--�����f�[�^�v�f-->
�@�@�@�@<CipherValue>?�@�@�@�@�@�@�@�@�@�@�@ <!--�Í������ꂽ�f�[�^�l-->
�@�@</CipherData> �@�@
</EncryptedData>
�}4�@XML���\��

�@�����Ŏ�����XML�Í��\���͗v�_�����������̂ŁA���ۂ͌����̓��e��Í��f�[�^�Ȃǂ��ԐڎQ�Ƃ�������@������B

��XML�Í��̏������@

�@�����ł̓I���W�i����XML�������ǂ̂悤�ɈÍ�������邩�����Ă݂悤�B�}5�ɃN���W�b�g�J�[�h���g�����x�����f�[�^��XML�����������B���F�̕�����CreditCard�v�f�ł���B

<?xml version='1.0'?>
<PaymentInfo xmlns='http://example.org/paymentv2'>
�@�@<Name>��؁@�D��</Name>

�@�@<CreditCard Limit='500,000' Currency='\'>
�@�@�@�@<Number>4019 2445 0277 5567</Number>
�@�@�@�@<Expiration>04/02</Expiration>
�@�@�@�@<Issuer>ABC��s</Issuer>
�@�@</CreditCard>

</PaymentInfo>
�}5�@�I���W�i����XML����

�@�Í��������������̓N���W�b�g�J�[�h�̃f�[�^�ŁACreditCard�v�f�S�̂�XML�Í����v���Z�b�T�ňÍ����������ʂ��}6�̂悤�ɂȂ�B�����ł�CreditCard�v�f��EncryptedData�v�f�ɒu���������A�Í������ꂽ�f�[�^��CipherData�v�f��CipherValue��Base64�ŃG���R�[�h����邱�ƂɂȂ�B

�@���̗��CreditCard�v�f�S�̂��Í����������̂����A�N���W�b�g�J�[�h�̔ԍ��i�R���e���g�j�݂̂��Í������邱�Ƃ��ł���B

<?xml version='1.0'?>
<PaymentInfo xmlns='http://example.org/paymentv2'>
�@�@ <Name>��ؗD��</Name>

�@�@<EncryptedData Type='http://www.w3.org/2001/04/xmlenc#Element'
�@�@�@xmlns='http://www.w3.org/2001/04/xmlenc#'>
�@�@�@�@<CipherData>
�@�@�@�@�@<CipherValue>A23B45C56</CipherValue>
�@�@�@�@</CipherData>
�@�@</EncryptedData>

</PaymentInfo>
�}6�@XML�Í����̗�

�@���̗�ł͈Í������̏��KeyInfo�����܂߂Ă��Ȃ��̂ŁA�������Í������邽�߂̋��ʌ��̃A���S���Y���⌮�̒l�͂��炩���ߒm���Ă��邱�ƂƂ��Ă���B

�@�����APKI�̊‹��ň���A�R�c���Y�̌��J�����g���ĕ����̈Í����̂��߂̋��ʌ����Í�������XML�Í����ɓY�t����ꍇ�́A�}7�̂悤��EncryptedData�v�f�̎q�v�f�ɕ����Í����̂��߂̋��ʌ��̃A���S���Y����EncriptionMethod���̎w��ƁA��KeyInfo���Ɉ���̌��J�������w�肷�邱�ƂɂȂ�B

<EncryptedData Id='ED' xmlns='http://www.w3.org/2001/04/xmlenc#'>
�@�@<EncryptionMethod <!--���ʌ�3DES-CBC���w��-->
�@�@�@�@Algorithm='http://www.w3.org/2001/04/xmlenc#3DES-cbc'/>
�@�@<!--���ʌ�3DES�������J��RSA�ňÍ���-->
�@�@<EncryptedKey Id='EK' xmlns='http://www.w3.org/2001/04/xmlenc#'>
�@�@�@�@<EncryptionMethod
<!--���J��RSA-PKCSv1.5���w��-->
�@�@�@�@�@�@Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
�@�@�@�@<ReferenceList>
�@�@�@�@�@�@<DataReference URI='#ED'/>
<!--���ʌ��ňÍ��������f�[�^�ւ̎Q��-->
�@�@�@�@</ReferenceList>
�@�@�@�@<ds:KeyInfo xmlns:ds='http://www.w3.org/2000/09/xmldsig#'>
�@�@�@�@�@�@<ds:KeyName>�R�c���Y</ds:KeyName>�@
�@<!--���J���̏��L�Җ�-->
�@�@�@�@</ds:KeyInfo>
�@�@�@�@<CipherData>
�@�@�@�@�@�@<CipherValue>xyzabc</CipherValue>
�@<!--3DES�������J���ňÍ���-->
�@�@�@�@</CipherData>
�@�@</EncryptedKey>

�@�@<ds:KeyInfo>
�@�@�@�@<xenc:EncKeyReference URI='#EK'/>�@�@<!--���Í��ւ̎Q��-->
�@�@</ds:KeyInfo>

�@�@<CipherData>
�@�@�@�@<CipherValue>DEADBEEF</CipherValue>�@<!--���������������l-->
�@�@</CipherData>
</EncryptedData>
�}7�@XML�Í������Ɍ��J���ŋ��ʌ����Í�������������Y�t

���Í��������ƕ�������

�@�����ł͈ȉ��̗p���p���邱�Ƃɂ���B

�@Application�FXML����(����)�v�����s���A�v���P�[�V����

�@Encryptor�FXML�����������s�����W���[��

�@Decryptor�FXML�Í����������ꂽXML�f�[�^�𕜍����郂�W���[��

������

�@EncryptedData�܂���EncryptedKey�v�f���\�����邽�߂�Encryptor�͈ȉ��̏������s���B

  • �f�[�^�Í����̃A���S���Y����I������
  • �����擾���i�����́AURI�Ȃǂ���j�Ads:KeyInfo��K�؂ɍ\������
    ���������̂��Í�������Ƃ��ɂ́Ads:KeyInfo �v�f�̎q�v�f�Ƃ���EncryptedKey�v�f��K�؂ɍ\������
  • �f�[�^���Í�������
    �Í����Ώۂ̗v�f�i�G�������g�j�܂��͓��e�i�R���e���g�j�𒼗񉻁i�V���A���C�Y�j���A�I�N�e�b�h��𓾂āA�I�������A���S���Y���Ǝ擾�������ł��̃I�N�e�b�h���Í�������
  • EncryptedType�iEncryptedData�܂���EncryptedKey�j�\�����\������
    �Í������ꂽ�f�[�^��CypherData�v�f��CypherValue�v�f��base64�ŃG���R�[�h���Ċi�[����B�����Í��f�[�^���O���ɒu���ꍇ��URI�ŎQ�Ƃ�����悤�ɂ���
  • EncryptedData�̏���
    �Í����Ώۂ��G�������g�܂��̓R���e���g�̏ꍇ�AEncryptor��EncryptedData�v�f��Application�ɕԂ��AApplication�������V����XML�����̃g�b�v���x���Ƃ��Ďg�����A�ق���XML�����ɑ}���ł���悤�ɂ���
    Application���G�������g�܂��̓R���e���g���w�肵�ĈÍ�����v������ꍇ�ɂ́AEncryptor�͎w�肳�ꂽ�G�������g�܂��̓R���e���g���폜��EncryptedData�v�f�Œu������
    �Í����Ώۂ��G�������g�܂��̓R���e���g�łȂ��ꍇ�AEncryptor��EncryptedData�v�f��Application�ɕԂ��AApplication�������V����XML�����̃g�b�v���x���Ƃ��Ďg�����A�ق���XML�����ɑ}���ł���悤�ɂ���

������

�@EncryptedData�܂���EncryptedKey�v�f�̈Í������ꂽ�f�[�^�𕜍����邽�߂�Decryptor�͈ȉ��̏������s���B

  • EncryptedData�܂���EncryptedKey�v�f���������A�A���S���Y����KeyInfo�̌���񂩂瓾��
  • ds:KeyInfo����f�[�^�Í������𓾂�B�����f�[�^�Í��������Í�������Ă����ꍇ�A�Ή����錮�𕜍����ē���
  • CypherData�v�f��CypherValue�ɂ���e�L�X�g��base64�Ńf�R�[�h���A�Í��f�[�^�𓾂ăf�[�^�Í������ŕ�������B
  • ���������G�������g�܂��̓R���e���g����������
    Decryptor�͕�������Type�i�G�������g�܂��̓R���e���g�j�̒l��Applicatio�ɕԂ����A����Application����w�肳�ꂽ��EncryptedData�v�f�𕜍������G�������g�܂��̓R���e���g�Œu������B
  • Type���w�肳��Ă��Ȃ����A�G�������g��R���e���g�łȂ��ꍇ�̏���
    ���������f�[�^��Application�ɕԂ��AApplication�����`�������s���B

���A���S���Y��

�@W3C��XML�Í��̎d�l�ɂ͈ȉ��̂悤�ȃA���S���Y�����K�{�Ƃ��Ďw�肳��Ă���B

  • �f�[�^�Í�(�u���b�N�Í�)
    �@�@3DES-CBC�AAES128-CBC�AAES256-CBC
  • ���z�z�A���S���Y���i���J���j
    �@�@RSA-PKCSv1.5�ARSA-OAEP
  • �����b�v
    �@�@CMS 3DES Key Wrap�AAES Key Wrap
  • ���b�Z�[�W�E�_�C�W�F�X�g�i�n�b�V���֐��j
    �@�@SHA-1�ASHA256�ASHA512

�����J���̗L��������

�@W3C��XML�Í��d�l�ɂ̓f�[�^�Í�������z�z���邽�߂ɗp������J���ɂ‚��ẮA���ꂪ���������J���ł��邱�Ƃ�O��ɂ��Ă���B�]����XML�Í��̗��p�҂́A���̌��J�������Đ�̐��������J���ł��邱�Ƃ����O�ɒ��ׂĂ����Ȃ���΂Ȃ�Ȃ��B���Ȃ킿�A���J���ؖ����̗L�������؂�ʓr�s���Ă����K�v������B���̂悤�Ȍ��؂�XML�Í��������s���A�v���P�[�V�������g�ōs��������ɏq�ׂ�XKMS�Ȃǂɏ��������邱�Ƃ��K�v�ł���B

��XML�����AXML�Í��̏����c�[��

�@�I���W�i����XML��������������XML������XML�Í��𐶐����邽�߂ɂ́AJava�v���O�����̃A�v���P�[�V�����Ȃǂ�XML�����AXML�Í��𐶐��ł���c�[���L�b�g���K�v�ł���B���̂悤�ȃc�[���L�b�g��IBM��Entrust�Ȃǂ��񋟂��Ă���B�����̃c�[���L�b�g�͏��������A�Í������΂���łȂ��APKI�̊‹��ƘA���������������؂�Í��̕������s���@�\���܂܂�Ă���B


�@�����Web�T�[�r�X�E�Z�L�����e�B�̊�{�ƂȂ�XML�f�W�^��������XML�Í��ɂ‚��ďq�ׂ��B�����Web�T�[�r�X�̃��b�Z�[�W���O�ɕK�{��SOAP��XML�Z�L�����e�B�Ō��Ǘ����O���T�[�o�ɔC����XKMS�ɂ‚��ĉ�����邱�Ƃɂ���B

�u��1���v��

�u��3���v��


Copyright © ITmedia, Inc. All Rights Reserved.

'; this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B