The concept seems valid, but the obscurity term should apply to the implementer, not the attacker. i.e. if you as the system designer don't understand how it all works under the covers then it's definitely a problem, but if the attacker doesn't, then it's good practice, because it adds another hurdle to clear.